{"version":3,"sources":["webpack:////build/source/node_modules/lodash/_baseClone.js","webpack:////build/source/node_modules/@gitlab/ui/dist/tokens/build/js/tokens.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/button_group/button_group.js","webpack:////build/source/node_modules/lodash/isSet.js","webpack:////build/source/node_modules/ieee754/index.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/line/line.js","webpack:////build/source/node_modules/lodash/_initCloneByTag.js","webpack:////build/source/node_modules/lodash/_baseIsSet.js","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burn_charts.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/burn_chart_data.js","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burndown_chart.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/common_chart_options.js","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burndown_chart.vue?5962","webpack:///../../../ee/app/assets/javascripts/burndown_chart/components/burndown_chart.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burndown_chart.vue?6e84","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burnup_chart.vue?7aa3","webpack:///../../../ee/app/assets/javascripts/burndown_chart/components/burnup_chart.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burnup_chart.vue?cba2","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burnup_chart.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/constants.js","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/open_timebox_summary.vue?5090","webpack:///../../../ee/app/assets/javascripts/burndown_chart/components/open_timebox_summary.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/open_timebox_summary.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/timebox_summary_cards.vue?b4fa","webpack:///../../../ee/app/assets/javascripts/burndown_chart/components/timebox_summary_cards.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/timebox_summary_cards.vue?67d3","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/timebox_summary_cards.vue","webpack:///../../../ee/app/assets/javascripts/burndown_chart/components/burn_charts.vue","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burn_charts.vue?d6cb","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/components/burn_charts.vue?4b64","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/chart/chart.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/shared_components/charts/tooltip_default_format.js","webpack:////build/source/node_modules/lodash/_baseAssign.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/segmented_control/segmented_control.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/utils.js","webpack:////build/source/app/graphql/queries/burndown_chart/burnup.iteration.query.graphql","webpack:////build/source/node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:////build/source/node_modules/lodash/_cloneSymbol.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/constants.js","webpack:////build/source/app/graphql/queries/burndown_chart/burnup.milestone.query.graphql","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/legend/legend.js","webpack:////build/source/node_modules/isarray/index.js","webpack:////build/source/node_modules/lodash/_initCloneArray.js","webpack:////build/source/node_modules/lodash/isMap.js","webpack:////build/source/node_modules/lodash/_copySymbols.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/svgs/svg_paths.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/theme.js","webpack:////build/source/node_modules/@gitlab/ui/dist/utils/charts/config.js","webpack:////build/source/node_modules/lodash/cloneDeep.js","webpack:////build/source/node_modules/lodash/_copySymbolsIn.js","webpack:////build/source/node_modules/lodash/castArray.js","webpack:////build/source/node_modules/base64-js/index.js","webpack:////build/source/node_modules/lodash/_cloneDataView.js","webpack:////build/source/node_modules/lodash/_baseAssignIn.js","webpack:////build/source/ee/app/assets/javascripts/burndown_chart/graphql/iteration_issues_summary.query.graphql","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/tooltip/tooltip.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/charts/series_label/series_label.js","webpack:////build/source/node_modules/lodash/_baseIsMap.js","webpack:////build/source/node_modules/lodash/_cloneRegExp.js"],"names":["Stack","arrayEach","assignValue","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","getTag","initCloneArray","initCloneByTag","initCloneObject","isArray","isBuffer","isMap","isObject","isSet","keys","keysIn","cloneableTags","module","exports","baseClone","value","bitmask","customizer","key","object","stack","result","isDeep","isFlat","isFull","undefined","isArr","tag","isFunc","stacked","get","set","forEach","subValue","add","props","DATA_VIZ_GREEN_50","DATA_VIZ_GREEN_100","DATA_VIZ_GREEN_200","DATA_VIZ_GREEN_300","DATA_VIZ_GREEN_400","DATA_VIZ_GREEN_500","DATA_VIZ_GREEN_600","DATA_VIZ_GREEN_700","DATA_VIZ_GREEN_800","DATA_VIZ_GREEN_900","DATA_VIZ_GREEN_950","DATA_VIZ_AQUA_50","DATA_VIZ_AQUA_100","DATA_VIZ_AQUA_200","DATA_VIZ_AQUA_300","DATA_VIZ_AQUA_400","DATA_VIZ_AQUA_500","DATA_VIZ_AQUA_600","DATA_VIZ_AQUA_700","DATA_VIZ_AQUA_800","DATA_VIZ_AQUA_900","DATA_VIZ_AQUA_950","DATA_VIZ_BLUE_50","DATA_VIZ_BLUE_100","DATA_VIZ_BLUE_200","DATA_VIZ_BLUE_300","DATA_VIZ_BLUE_400","DATA_VIZ_BLUE_500","DATA_VIZ_BLUE_600","DATA_VIZ_BLUE_700","DATA_VIZ_BLUE_800","DATA_VIZ_BLUE_900","DATA_VIZ_BLUE_950","DATA_VIZ_MAGENTA_50","DATA_VIZ_MAGENTA_100","DATA_VIZ_MAGENTA_200","DATA_VIZ_MAGENTA_300","DATA_VIZ_MAGENTA_400","DATA_VIZ_MAGENTA_500","DATA_VIZ_MAGENTA_600","DATA_VIZ_MAGENTA_700","DATA_VIZ_MAGENTA_800","DATA_VIZ_MAGENTA_900","DATA_VIZ_MAGENTA_950","DATA_VIZ_ORANGE_50","DATA_VIZ_ORANGE_100","DATA_VIZ_ORANGE_200","DATA_VIZ_ORANGE_300","DATA_VIZ_ORANGE_400","DATA_VIZ_ORANGE_500","DATA_VIZ_ORANGE_600","DATA_VIZ_ORANGE_700","DATA_VIZ_ORANGE_800","DATA_VIZ_ORANGE_900","DATA_VIZ_ORANGE_950","WHITE","BLUE_500","GRAY_50","GRAY_100","GRAY_200","GRAY_300","GRAY_500","GRAY_600","GRAY_900","RED_500","__vue_script__","name","vertical","type","Boolean","required","default","__vue_component__","render","_h","this","$createElement","_self","_c","_g","class","attrs","$listeners","_t","staticRenderFns","baseIsSet","baseUnary","nodeUtil","nodeIsSet","read","buffer","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","i","d","s","NaN","Infinity","Math","pow","write","c","rt","abs","isNaN","floor","log","LN2","components","Chart","ChartLegend","ChartTooltip","inheritAttrs","data","Array","option","Object","thresholds","annotations","includeLegendAvgMax","formatTooltipText","Function","legendAverageText","String","legendMaxText","legendMinText","legendCurrentText","legendLayout","validator","layout","indexOf","showLegend","height","Number","chart","showAnnotationsTooltip","annotationsTooltipTitle","annotationsTooltipContent","annotationsTooltipPosition","left","top","computed","dataSeries","map","series","index","defaultColor","getColor","_series$type$color","_series$type","color","showSymbol","lineStyle","itemStyle","annotationSeries","defaultLineChartOptions","xAxis","axisPointer","show","label","formatter","axisTick","alignWithLabel","legend","mergedOptions","dataZoom","hasAnnotations","length","getOption","legendStyle","paddingLeft","compiledOptions","reduce","acc","push","off","onChartDataPointMouseOut","onChartDataPointMouseOver","methods","params","_params$data$tooltipD","title","content","tooltipData","on","$emit","event","toolTipFormatter","formatAnnotationsTooltipText","defaultAnnotationTooltipText","zrX","zrY","HEIGHT_AUTO_CLASSES","_obj","_vm","staticClass","$options","autoHeight","_b","options","onCreated","$attrs","_v","ref","scopedSlots","_u","fn","_s","proxy","_e","$scopedSlots","scope","style","seriesInfo","textStyle","cloneArrayBuffer","cloneDataView","cloneRegExp","cloneSymbol","cloneTypedArray","Ctor","constructor","isObjectLike","BurnChartData","events","startDate","dueDate","dateFormatMask","today","dateFormat","Date","now","endDate","localStartDate","localEndDate","processRawEvents","generateBurnupTimeseries","milestoneId","chartData","openIssuesCount","carriedIssuesCount","date","setDate","getDate","dateString","openedIssuesToday","filterAndSummarizeBurndownEvents","created_at","event_type","milestone_id","action","closedIssuesToday","count","burnupScope","generateBurndownTimeseries","openIssuesWeight","carriedIssuesWeight","weight","_this","filter","issues","total","issue","grid","containLabel","bottom","right","minInterval","axisLabel","axisLine","snap","yAxis","splitLine","tooltip","trigger","GlLineChart","issuesSelected","showTitle","loading","s__","zeroStart","firstNonZero","find","dataObj","idealData","__","silent","symbolSize","_merge","commonChartOptions","min","max","setChart","seriesData","n__","sprintf","burnupData","scopeCount","transform","completedCount","scopeWeight","completedWeight","val","completed","totalText","completedText","unit","apollo","query","summaryStatsQuery","variables","queryVariables","update","_data$this$namespaceT","_data$this$namespaceT2","_data$this$namespaceT3","open","namespaceType","openIssues","displayValue","assigned","assignedIssues","closed","closedIssues","error","fullPath","iterationId","WORKSPACE_GROUP","WORKSPACE_PROJECT","includes","id","isGroup","columns","percent","toFixed","$apollo","queries","cardBodyClass","cardClass","GlCard","GlSkeletonLoader","GlSprintf","_l","column","GlAlert","GlButton","GlButtonGroup","GlSegmentedControl","BurndownChart","BurnupChart","OpenTimeboxSummary","TimeboxSummaryCards","mixins","glFeatureFlagsMixin","iterationState","burndownEventsPath","showNewOldBurndownToggle","report","skip","BurnupQueryIteration","BurnupQueryMilestone","isIterationReport","_data$this$parent","_data$this$parent2","_stats$complete","_stats$incomplete","_stats$total","sparseBurnupData","parent","burnupTimeSeries","stats","padSparseBurnupData","complete","incomplete","useLegacyBurndown","isClosed","STATUS_CLOSED","issueButtonCategory","weightButtonCategory","issuesCount","pluckBurnupDataProperties","issuesWeight","filterBySelectedValue","fetchLegacyBurndownEvents","fetchedLegacyData","axios","then","burndownResponse","burndownEvents","burndownChartData","BurndownChartData","catch","createAlert","message","toggleLegacyBurndown","enabled","setIssueSelected","selected","_this2","_cloneDeep","unshift","lastDate","parse","lastItem","addMissingDates","current","prevDate","previousValues","currentDate","newDate","previousDate","gap","getDayDifference","nDaysAfter","handleFilterByChanged","filterByOptions","text","$event","openColumns","summaryLoading","sizeValidator","size","isFinite","directives","resizeObserver","disableTheme","width","groupId","renderer","responsive","debouncedHandleResize","handleResize","_options$toolbox","toolbox","increaseBy","_options$grid","increaseChartGridTop","watch","draw","setChartSize","$nextTick","$refs","__v_skip","group","handleClick","setOption","normalizedOptions","resize","rawName","expression","arg","SeriesLabel","tooltipContent","copyObject","source","requiredOptionPropType","disabled","optionProps","every","seriesHasAnnotations","arguments","_seriesData$ANNOTATIO","_seriesData$ANNOTATIO2","isDataPointAnnotation","componentType","doc","loc","definitionRefs","findOperation","definitions","element","def","refs","Set","collectFragmentReferences","node","kind","selectionSet","selections","selection","variableDefinitions","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","prevRefs","has","childRef","op","oneQuery","base64","ieee754","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","RangeError","Uint8Array","__proto__","prototype","encodingOrOffset","Error","allocUnsafe","from","TypeError","ArrayBuffer","array","byteOffset","byteLength","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","slice","fromString","obj","len","checked","copy","fromObject","assertSize","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","b","n","bidirectionalIndexOf","dir","arrayIndexOf","call","lastIndexOf","arr","indexSize","arrLength","valLength","buf","readUInt16BE","foundIndex","found","j","hexWrite","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","fromByteArray","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","global","foo","subarray","typedArraySupport","poolSize","_augment","Symbol","species","defineProperty","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","equals","inspect","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","toJSON","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","code","INVALID_BASE64_RE","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst","symbolProto","symbolValueOf","valueOf","symbol","ANNOTATIONS_SERIES_NAME","ANNOTATIONS_COMPONENT_TYPE","TOOLTIP_LEFT_OFFSET","TOOLTIP_TOP_OFFSET","LEGEND_LAYOUT_INLINE","LEGEND_LAYOUT_TABLE","LEGEND_AVERAGE_TEXT","LEGEND_CURRENT_TEXT","LEGEND_MIN_TEXT","LEGEND_MAX_TEXT","arrowSymbol","CHART_TYPE_BAR","CHART_TYPE_LINE","HEIGHT_AUTO_HORIZONTAL_LAYOUT_CLASSES","GlChartSeriesLabel","GlTruncate","is","getDom","averageText","currentText","minText","maxText","disabledSeries","lastActiveSeriesLabel","shouldApplyFadeClass","fontFamily","fontSize","suppressLastActiveSeriesLabelToggle","applyFadeClass","_seriesData$filter","sanitized","sanitizeSeriesData","seriesNameIsLong","seriesName","_ref","hasOneSeriesElement","isToggleDisabled","dispatchAction","_ref2","selectedSeriesLabels","entries","_ref3","isSelected","lastActiveSeriesLabelName","isDisabled","inlineLegendEl","scrollHeight","clientHeight","legendLayoutTypes","handleMouseEnter","handleMouseLeave","seriesAverage","seriesMax","seriesMin","seriesLast","input","baseIsMap","nodeIsMap","getSymbols","scrollHandleSvgPath","marqueeSelectionSvgPath","redoSvgPath","clearAllSvgPath","downloadSvgPath","themeName","heatmapHues","colorPaletteDefault","colorFromDefaultPalette","axes","margin","hideOverlap","nameGap","nameTextStyle","fontWeight","splitArea","areaStyle","isLineChartWithoutArea","some","createTheme","backgroundColor","markLine","markArea","borderColor","filterMode","brushSelect","dataBackground","opacity","fillerColor","handleIcon","handleStyle","handleSize","labelFormatter","itemSize","emphasis","iconStyle","borderWidth","textBackgroundColor","textBorderRadius","textPadding","itemGap","feature","zoom","back","icon","restore","saveAsImage","markPoint","normal","line","smooth","categoryAxis","valueAxis","logAxis","timeAxis","defaultAreaOpacity","defaultFontSize","defaultHeight","defaultWidth","validRenderers","toolboxHeight","nameLocation","boundaryGap","num","defaultChartOptions","gridWithSecondaryYAxis","annotationsYAxisCoords","GREATER_THAN","LESS_THAN","mergeSeriesToOptions","optSeries","mergeAnnotationAxisToOptions","dataZoomAdjustments","disabledBreakpoints","getBreakpointSize","minSpan","getDataZoomConfig","generateMarkArea","axis","generateMarkLines","getThresholdConfig","alert","threshold","operator","areas","NEGATIVE_INFINITY","lines","zlevel","getAnnotationsConfig","points","annotation","generateMarkPoints","parseAnnotations","symbolOffset","generateAnnotationSeries","yAxisIndex","generateBarSeries","_ref4","barMaxWidth","generateLineSeries","_ref5","getTooltipTitle","titleAxisName","_ref6","getTooltipContent","valueAxisName","yValue","_ref7","CLONE_DEEP_FLAG","getSymbolsIn","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","uint8","extraBytes","parts","len2","encodeChunk","lookup","output","dataView","GlPopover","TooltipDefaultFormat","placement","xOffset","yOffset","useDefaultTooltipFormatter","pointerPosition","isPointerInChart","debouncedMouseHandler","mouseHandler","getAttribute","marginTop","marginLeft","getZr","_options$xAxis","_options$xAxis$","_options$yAxis","_options$yAxis$","round","containPixel","assign","fixedPosition","targetStyle","targetId","shouldShowPopover","makePathRect","startX","startY","labelLineHeight","svgWidth","svgHeight","dashWidth","ceil","formatPixelDimension","svgYTranslationValue","getComputedStyle","lineHeight","parseFloat","dimension","pathContent","reFlags","regexp","exec","lastIndex"],"mappings":"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","file":"commons-pages.groups.iteration_cadences-pages.groups.milestones.show-pages.projects.iteration_cadenc-716ee932.dd5af82b.chunk.js","sourcesContent":["var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","/**\n * Do not edit directly, this file was auto-generated.\n */\n\nconst GL_ACTION_DISABLED_FOREGROUND_COLOR = '#89888d';\nconst GL_ACTION_DISABLED_BACKGROUND_COLOR = '#ececef';\nconst GL_ACTION_DISABLED_BORDER_COLOR = '#dcdcde';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_ACTION_SELECTED_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_ACTION_SELECTED_BACKGROUND_COLOR_ACTIVE = '#064787';\nconst GL_ACTION_SELECTED_BORDER_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_SELECTED_BORDER_COLOR_HOVER = '#0b5cad';\nconst GL_ACTION_SELECTED_BORDER_COLOR_FOCUS = '#0b5cad';\nconst GL_ACTION_SELECTED_BORDER_COLOR_ACTIVE = '#064787';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_DEFAULT = '#28272d';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_HOVER = '#28272d';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_FOCUS = '#28272d';\nconst GL_ACTION_NEUTRAL_FOREGROUND_COLOR_ACTIVE = '#28272d';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_DEFAULT = 'rgba(164, 163, 168, 0.0)';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_HOVER = 'rgba(164, 163, 168, 0.16)';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_FOCUS = 'rgba(164, 163, 168, 0.16)';\nconst GL_ACTION_NEUTRAL_BACKGROUND_COLOR_ACTIVE = 'rgba(83, 81, 88, 0.24)';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_NEUTRAL_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_ACTION_CONFIRM_FOREGROUND_COLOR_ACTIVE = '#033464';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_DEFAULT = 'rgba(99, 166, 233, 0.0)';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_HOVER = 'rgba(99, 166, 233, 0.16)';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_FOCUS = 'rgba(99, 166, 233, 0.16)';\nconst GL_ACTION_CONFIRM_BACKGROUND_COLOR_ACTIVE = 'rgba(11, 92, 173, 0.24)';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_CONFIRM_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_HOVER = '#ae1800';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_FOCUS = '#ae1800';\nconst GL_ACTION_DANGER_FOREGROUND_COLOR_ACTIVE = '#660e00';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_DEFAULT = 'rgba(245, 127, 108, 0.0)';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_HOVER = 'rgba(245, 127, 108, 0.16)';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_FOCUS = 'rgba(245, 127, 108, 0.16)';\nconst GL_ACTION_DANGER_BACKGROUND_COLOR_ACTIVE = 'rgba(174, 24, 0, 0.24)';\nconst GL_ACTION_DANGER_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_DANGER_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_DANGER_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_DANGER_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_HOVER = '#1068bf';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_FOCUS = '#1068bf';\nconst GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_ACTIVE = '#0b5cad';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_DEFAULT = '#626168';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_HOVER = '#4c4b51';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_FOCUS = '#4c4b51';\nconst GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_ACTIVE = '#3a383f';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_HOVER = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BACKGROUND_COLOR_SUBTLE = '#fbfafd';\nconst GL_BACKGROUND_COLOR_STRONG = '#ececef';\nconst GL_BACKGROUND_COLOR_DISABLED = '#fbfafd';\nconst GL_BACKGROUND_COLOR_OVERLAP = '#fff';\nconst GL_BACKGROUND_COLOR_SECTION = '#fff';\nconst GL_BACKGROUND_COLOR_OVERLAY = 'rgba(05, 05, 06, 0.24)';\nconst GL_BORDER_COLOR_DEFAULT = '#dcdcde';\nconst GL_BORDER_COLOR_SUBTLE = '#ececef';\nconst GL_BORDER_COLOR_STRONG = '#bfbfc3';\nconst GL_BORDER_COLOR_SECTION = '#dcdcde';\nconst GL_BORDER_COLOR_TRANSPARENT = 'transparent';\nconst GL_COLOR_ALPHA_0 = 'transparent';\nconst GL_COLOR_ALPHA_DARK_2 = 'rgba(05, 05, 06, 0.02)';\nconst GL_COLOR_ALPHA_DARK_4 = 'rgba(05, 05, 06, 0.04)';\nconst GL_COLOR_ALPHA_DARK_6 = 'rgba(05, 05, 06, 0.06)';\nconst GL_COLOR_ALPHA_DARK_8 = 'rgba(05, 05, 06, 0.08)';\nconst GL_COLOR_ALPHA_DARK_16 = 'rgba(05, 05, 06, 0.16)';\nconst GL_COLOR_ALPHA_DARK_24 = 'rgba(05, 05, 06, 0.24)';\nconst GL_COLOR_ALPHA_DARK_40 = 'rgba(05, 05, 06, 0.4)';\nconst GL_COLOR_ALPHA_LIGHT_2 = 'rgba(255, 255, 255, 0.02)';\nconst GL_COLOR_ALPHA_LIGHT_4 = 'rgba(255, 255, 255, 0.04)';\nconst GL_COLOR_ALPHA_LIGHT_6 = 'rgba(255, 255, 255, 0.06)';\nconst GL_COLOR_ALPHA_LIGHT_8 = 'rgba(255, 255, 255, 0.08)';\nconst GL_COLOR_ALPHA_LIGHT_16 = 'rgba(255, 255, 255, 0.16)';\nconst GL_COLOR_ALPHA_LIGHT_24 = 'rgba(255, 255, 255, 0.24)';\nconst GL_COLOR_ALPHA_LIGHT_36 = 'rgba(255, 255, 255, 0.36)';\nconst GL_COLOR_BLUE_50 = '#e9f3fc';\nconst GL_COLOR_BLUE_100 = '#cbe2f9';\nconst GL_COLOR_BLUE_200 = '#9dc7f1';\nconst GL_COLOR_BLUE_300 = '#63a6e9';\nconst GL_COLOR_BLUE_400 = '#428fdc';\nconst GL_COLOR_BLUE_500 = '#1f75cb';\nconst GL_COLOR_BLUE_600 = '#1068bf';\nconst GL_COLOR_BLUE_700 = '#0b5cad';\nconst GL_COLOR_BLUE_800 = '#064787';\nconst GL_COLOR_BLUE_900 = '#033464';\nconst GL_COLOR_BLUE_950 = '#002850';\nconst GL_COLOR_NEUTRAL_0 = '#fff';\nconst GL_COLOR_NEUTRAL_10 = '#fbfafd';\nconst GL_COLOR_NEUTRAL_50 = '#ececef';\nconst GL_COLOR_NEUTRAL_100 = '#dcdcde';\nconst GL_COLOR_NEUTRAL_200 = '#bfbfc3';\nconst GL_COLOR_NEUTRAL_300 = '#a4a3a8';\nconst GL_COLOR_NEUTRAL_400 = '#89888d';\nconst GL_COLOR_NEUTRAL_500 = '#737278';\nconst GL_COLOR_NEUTRAL_600 = '#626168';\nconst GL_COLOR_NEUTRAL_700 = '#4c4b51';\nconst GL_COLOR_NEUTRAL_800 = '#3a383f';\nconst GL_COLOR_NEUTRAL_900 = '#28272d';\nconst GL_COLOR_NEUTRAL_950 = '#18171d';\nconst GL_COLOR_NEUTRAL_1000 = '#050506';\nconst GL_COLOR_GREEN_50 = '#ecf4ee';\nconst GL_COLOR_GREEN_100 = '#c3e6cd';\nconst GL_COLOR_GREEN_200 = '#91d4a8';\nconst GL_COLOR_GREEN_300 = '#52b87a';\nconst GL_COLOR_GREEN_400 = '#2da160';\nconst GL_COLOR_GREEN_500 = '#108548';\nconst GL_COLOR_GREEN_600 = '#217645';\nconst GL_COLOR_GREEN_700 = '#24663b';\nconst GL_COLOR_GREEN_800 = '#0d532a';\nconst GL_COLOR_GREEN_900 = '#0a4020';\nconst GL_COLOR_GREEN_950 = '#072b15';\nconst GL_COLOR_ORANGE_50 = '#fdf1dd';\nconst GL_COLOR_ORANGE_100 = '#f5d9a8';\nconst GL_COLOR_ORANGE_200 = '#e9be74';\nconst GL_COLOR_ORANGE_300 = '#d99530';\nconst GL_COLOR_ORANGE_400 = '#c17d10';\nconst GL_COLOR_ORANGE_500 = '#ab6100';\nconst GL_COLOR_ORANGE_600 = '#9e5400';\nconst GL_COLOR_ORANGE_700 = '#8f4700';\nconst GL_COLOR_ORANGE_800 = '#703800';\nconst GL_COLOR_ORANGE_900 = '#5c2900';\nconst GL_COLOR_ORANGE_950 = '#421f00';\nconst GL_COLOR_PURPLE_50 = '#f4f0ff';\nconst GL_COLOR_PURPLE_100 = '#e1d8f9';\nconst GL_COLOR_PURPLE_200 = '#cbbbf2';\nconst GL_COLOR_PURPLE_300 = '#ac93e6';\nconst GL_COLOR_PURPLE_400 = '#9475db';\nconst GL_COLOR_PURPLE_500 = '#7b58cf';\nconst GL_COLOR_PURPLE_600 = '#694cc0';\nconst GL_COLOR_PURPLE_700 = '#5943b6';\nconst GL_COLOR_PURPLE_800 = '#453894';\nconst GL_COLOR_PURPLE_900 = '#2f2a6b';\nconst GL_COLOR_PURPLE_950 = '#232150';\nconst GL_COLOR_RED_50 = '#fcf1ef';\nconst GL_COLOR_RED_100 = '#fdd4cd';\nconst GL_COLOR_RED_200 = '#fcb5aa';\nconst GL_COLOR_RED_300 = '#f6806d';\nconst GL_COLOR_RED_400 = '#ec5941';\nconst GL_COLOR_RED_500 = '#dd2b0e';\nconst GL_COLOR_RED_600 = '#c91c00';\nconst GL_COLOR_RED_700 = '#ae1800';\nconst GL_COLOR_RED_800 = '#8d1300';\nconst GL_COLOR_RED_900 = '#660e00';\nconst GL_COLOR_RED_950 = '#4d0a00';\nconst GL_COLOR_THEME_INDIGO_10 = '#f8f8ff';\nconst GL_COLOR_THEME_INDIGO_50 = '#f1f1ff';\nconst GL_COLOR_THEME_INDIGO_100 = '#dbdbf8';\nconst GL_COLOR_THEME_INDIGO_200 = '#c7c7f2';\nconst GL_COLOR_THEME_INDIGO_300 = '#a2a2e6';\nconst GL_COLOR_THEME_INDIGO_400 = '#8181d7';\nconst GL_COLOR_THEME_INDIGO_500 = '#6666c4';\nconst GL_COLOR_THEME_INDIGO_600 = '#5252b5';\nconst GL_COLOR_THEME_INDIGO_700 = '#41419f';\nconst GL_COLOR_THEME_INDIGO_800 = '#303083';\nconst GL_COLOR_THEME_INDIGO_900 = '#222261';\nconst GL_COLOR_THEME_INDIGO_950 = '#14143d';\nconst GL_COLOR_THEME_BLUE_10 = '#e6ecf0';\nconst GL_COLOR_THEME_BLUE_50 = '#cdd8e3';\nconst GL_COLOR_THEME_BLUE_100 = '#b9cadc';\nconst GL_COLOR_THEME_BLUE_200 = '#a6bdd5';\nconst GL_COLOR_THEME_BLUE_300 = '#81a5c9';\nconst GL_COLOR_THEME_BLUE_400 = '#628eb9';\nconst GL_COLOR_THEME_BLUE_500 = '#4977a5';\nconst GL_COLOR_THEME_BLUE_600 = '#346596';\nconst GL_COLOR_THEME_BLUE_700 = '#235180';\nconst GL_COLOR_THEME_BLUE_800 = '#153c63';\nconst GL_COLOR_THEME_BLUE_900 = '#0b2640';\nconst GL_COLOR_THEME_BLUE_950 = '#04101c';\nconst GL_COLOR_THEME_LIGHT_BLUE_10 = '#eef3f7';\nconst GL_COLOR_THEME_LIGHT_BLUE_50 = '#dde6ee';\nconst GL_COLOR_THEME_LIGHT_BLUE_100 = '#c1d4e6';\nconst GL_COLOR_THEME_LIGHT_BLUE_200 = '#a0bedc';\nconst GL_COLOR_THEME_LIGHT_BLUE_300 = '#74a3d3';\nconst GL_COLOR_THEME_LIGHT_BLUE_400 = '#4f8bc7';\nconst GL_COLOR_THEME_LIGHT_BLUE_500 = '#3476b9';\nconst GL_COLOR_THEME_LIGHT_BLUE_600 = '#2268ae';\nconst GL_COLOR_THEME_LIGHT_BLUE_700 = '#145aa1';\nconst GL_COLOR_THEME_LIGHT_BLUE_800 = '#0e4d8d';\nconst GL_COLOR_THEME_LIGHT_BLUE_900 = '#0c4277';\nconst GL_COLOR_THEME_LIGHT_BLUE_950 = '#0a3764';\nconst GL_COLOR_THEME_GREEN_10 = '#eef4ef';\nconst GL_COLOR_THEME_GREEN_50 = '#dde9de';\nconst GL_COLOR_THEME_GREEN_100 = '#b1d6b5';\nconst GL_COLOR_THEME_GREEN_200 = '#8cc497';\nconst GL_COLOR_THEME_GREEN_300 = '#69af7d';\nconst GL_COLOR_THEME_GREEN_400 = '#499767';\nconst GL_COLOR_THEME_GREEN_500 = '#308258';\nconst GL_COLOR_THEME_GREEN_600 = '#25744c';\nconst GL_COLOR_THEME_GREEN_700 = '#1b653f';\nconst GL_COLOR_THEME_GREEN_800 = '#155635';\nconst GL_COLOR_THEME_GREEN_900 = '#0e4328';\nconst GL_COLOR_THEME_GREEN_950 = '#052e19';\nconst GL_COLOR_THEME_RED_10 = '#faf4f3';\nconst GL_COLOR_THEME_RED_50 = '#f4e9e7';\nconst GL_COLOR_THEME_RED_100 = '#ecd3d0';\nconst GL_COLOR_THEME_RED_200 = '#e3bab5';\nconst GL_COLOR_THEME_RED_300 = '#d59086';\nconst GL_COLOR_THEME_RED_400 = '#c66e60';\nconst GL_COLOR_THEME_RED_500 = '#ad4a3b';\nconst GL_COLOR_THEME_RED_600 = '#a13322';\nconst GL_COLOR_THEME_RED_700 = '#8f2110';\nconst GL_COLOR_THEME_RED_800 = '#761405';\nconst GL_COLOR_THEME_RED_900 = '#580d02';\nconst GL_COLOR_THEME_RED_950 = '#380700';\nconst GL_COLOR_THEME_LIGHT_RED_10 = '#fdf9f8';\nconst GL_COLOR_THEME_LIGHT_RED_50 = '#faf2f1';\nconst GL_COLOR_THEME_LIGHT_RED_100 = '#f6d9d5';\nconst GL_COLOR_THEME_LIGHT_RED_200 = '#ebada2';\nconst GL_COLOR_THEME_LIGHT_RED_300 = '#e07f6f';\nconst GL_COLOR_THEME_LIGHT_RED_400 = '#d36250';\nconst GL_COLOR_THEME_LIGHT_RED_500 = '#c24b38';\nconst GL_COLOR_THEME_LIGHT_RED_600 = '#b53a26';\nconst GL_COLOR_THEME_LIGHT_RED_700 = '#a02e1c';\nconst GL_COLOR_THEME_LIGHT_RED_800 = '#8b2212';\nconst GL_COLOR_THEME_LIGHT_RED_900 = '#751709';\nconst GL_COLOR_THEME_LIGHT_RED_950 = '#5c1105';\nconst GL_COLOR_BRAND_WHITE = '#fff';\nconst GL_COLOR_BRAND_CHARCOAL = '#171321';\nconst GL_COLOR_BRAND_ORANGE_01G = '#ffd1bf';\nconst GL_COLOR_BRAND_ORANGE_01P = '#fca326';\nconst GL_COLOR_BRAND_ORANGE_02P = '#fc6d26';\nconst GL_COLOR_BRAND_ORANGE_03P = '#e24329';\nconst GL_COLOR_BRAND_PURPLE_01G = '#ceb3ef';\nconst GL_COLOR_BRAND_PURPLE_01P = '#a989f5';\nconst GL_COLOR_BRAND_PURPLE_02P = '#7759c2';\nconst GL_COLOR_BRAND_GRAY_01 = '#d1d0d3';\nconst GL_COLOR_BRAND_GRAY_02 = '#a2a1a6';\nconst GL_COLOR_BRAND_GRAY_03 = '#74717a';\nconst GL_COLOR_BRAND_GRAY_04 = '#45424d';\nconst GL_COLOR_BRAND_GRAY_05 = '#2b2838';\nconst GL_COLOR_BRAND_PINK_01G = '#ffb9c9';\nconst DATA_VIZ_GREEN_50 = '#ddfab7';\nconst DATA_VIZ_GREEN_100 = '#c6ed94';\nconst DATA_VIZ_GREEN_200 = '#b0d97b';\nconst DATA_VIZ_GREEN_300 = '#94c25e';\nconst DATA_VIZ_GREEN_400 = '#81ac41';\nconst DATA_VIZ_GREEN_500 = '#619025';\nconst DATA_VIZ_GREEN_600 = '#4e7f0e';\nconst DATA_VIZ_GREEN_700 = '#366800';\nconst DATA_VIZ_GREEN_800 = '#275600';\nconst DATA_VIZ_GREEN_900 = '#1a4500';\nconst DATA_VIZ_GREEN_950 = '#133a03';\nconst DATA_VIZ_AQUA_50 = '#b5fefd';\nconst DATA_VIZ_AQUA_100 = '#93f2ef';\nconst DATA_VIZ_AQUA_200 = '#5edee3';\nconst DATA_VIZ_AQUA_300 = '#32c5d2';\nconst DATA_VIZ_AQUA_400 = '#00acc4';\nconst DATA_VIZ_AQUA_500 = '#0090b1';\nconst DATA_VIZ_AQUA_600 = '#007b9b';\nconst DATA_VIZ_AQUA_700 = '#006381';\nconst DATA_VIZ_AQUA_800 = '#00516c';\nconst DATA_VIZ_AQUA_900 = '#004059';\nconst DATA_VIZ_AQUA_950 = '#00344b';\nconst DATA_VIZ_BLUE_50 = '#e9ebff';\nconst DATA_VIZ_BLUE_100 = '#d2dcff';\nconst DATA_VIZ_BLUE_200 = '#b7c6ff';\nconst DATA_VIZ_BLUE_300 = '#97acff';\nconst DATA_VIZ_BLUE_400 = '#7992f5';\nconst DATA_VIZ_BLUE_500 = '#617ae2';\nconst DATA_VIZ_BLUE_600 = '#4e65cd';\nconst DATA_VIZ_BLUE_700 = '#3f51ae';\nconst DATA_VIZ_BLUE_800 = '#374291';\nconst DATA_VIZ_BLUE_900 = '#303470';\nconst DATA_VIZ_BLUE_950 = '#2a2b59';\nconst DATA_VIZ_MAGENTA_50 = '#ffe3eb';\nconst DATA_VIZ_MAGENTA_100 = '#ffccdb';\nconst DATA_VIZ_MAGENTA_200 = '#fcacc5';\nconst DATA_VIZ_MAGENTA_300 = '#f88aaf';\nconst DATA_VIZ_MAGENTA_400 = '#e86e9a';\nconst DATA_VIZ_MAGENTA_500 = '#cf4d81';\nconst DATA_VIZ_MAGENTA_600 = '#b93d71';\nconst DATA_VIZ_MAGENTA_700 = '#9a2e5d';\nconst DATA_VIZ_MAGENTA_800 = '#7c214f';\nconst DATA_VIZ_MAGENTA_900 = '#661e3a';\nconst DATA_VIZ_MAGENTA_950 = '#541d31';\nconst DATA_VIZ_ORANGE_50 = '#fae8d1';\nconst DATA_VIZ_ORANGE_100 = '#f5d6b3';\nconst DATA_VIZ_ORANGE_200 = '#eebd8c';\nconst DATA_VIZ_ORANGE_300 = '#e99b60';\nconst DATA_VIZ_ORANGE_400 = '#e07e41';\nconst DATA_VIZ_ORANGE_500 = '#c95d2e';\nconst DATA_VIZ_ORANGE_600 = '#b14f18';\nconst DATA_VIZ_ORANGE_700 = '#92430a';\nconst DATA_VIZ_ORANGE_800 = '#6f3500';\nconst DATA_VIZ_ORANGE_900 = '#5e2f05';\nconst DATA_VIZ_ORANGE_950 = '#4b2707';\nconst GL_ALERT_NEUTRAL_TITLE_COLOR = '#18171d';\nconst GL_ALERT_NEUTRAL_BACKGROUND_COLOR = '#ececef';\nconst GL_ALERT_NEUTRAL_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_NEUTRAL_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_INFO_TITLE_COLOR = '#18171d';\nconst GL_ALERT_INFO_BACKGROUND_COLOR = '#e9f3fc';\nconst GL_ALERT_INFO_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_INFO_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_SUCCESS_TITLE_COLOR = '#18171d';\nconst GL_ALERT_SUCCESS_BACKGROUND_COLOR = '#ecf4ee';\nconst GL_ALERT_SUCCESS_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_SUCCESS_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_WARNING_TITLE_COLOR = '#18171d';\nconst GL_ALERT_WARNING_BACKGROUND_COLOR = '#fdf1dd';\nconst GL_ALERT_WARNING_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_WARNING_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_ALERT_DANGER_TITLE_COLOR = '#18171d';\nconst GL_ALERT_DANGER_BACKGROUND_COLOR = '#fcf1ef';\nconst GL_ALERT_DANGER_BORDER_TOP_COLOR = 'transparent';\nconst GL_ALERT_DANGER_BORDER_BOTTOM_COLOR = 'transparent';\nconst GL_AVATAR_BORDER_COLOR_DEFAULT = 'rgba(05, 05, 06, 0.08)';\nconst GL_AVATAR_BORDER_COLOR_HOVER = 'rgba(05, 05, 06, 0.24)';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_RED = '#8d1300';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_PURPLE = '#453894';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_BLUE = '#064787';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_GREEN = '#0d532a';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_ORANGE = '#703800';\nconst GL_AVATAR_FALLBACK_TEXT_COLOR_NEUTRAL = '#3a383f';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_RED = '#fcb5aa3d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_PURPLE = '#cbbbf23d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_BLUE = '#9dc7f13d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_GREEN = '#91d4a83d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_ORANGE = '#e9be743d';\nconst GL_AVATAR_FALLBACK_BACKGROUND_COLOR_NEUTRAL = '#bfbfc33d';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_DEFAULT = '#ececef';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_HOVER = '#ececef';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_FOCUS = '#ececef';\nconst GL_BADGE_MUTED_BACKGROUND_COLOR_ACTIVE = '#dcdcde';\nconst GL_BADGE_MUTED_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_MUTED_BORDER_COLOR_HOVER = '#bfbfc3';\nconst GL_BADGE_MUTED_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_MUTED_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_MUTED_TEXT_COLOR_DEFAULT = '#626168';\nconst GL_BADGE_MUTED_TEXT_COLOR_HOVER = '#4c4b51';\nconst GL_BADGE_MUTED_TEXT_COLOR_FOCUS = '#4c4b51';\nconst GL_BADGE_MUTED_TEXT_COLOR_ACTIVE = '#3a383f';\nconst GL_BADGE_MUTED_ICON_COLOR_DEFAULT = '#737278';\nconst GL_BADGE_MUTED_ICON_COLOR_HOVER = '#626168';\nconst GL_BADGE_MUTED_ICON_COLOR_FOCUS = '#626168';\nconst GL_BADGE_MUTED_ICON_COLOR_ACTIVE = '#4c4b51';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_DEFAULT = '#dcdcde';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_HOVER = '#dcdcde';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_FOCUS = '#dcdcde';\nconst GL_BADGE_NEUTRAL_BACKGROUND_COLOR_ACTIVE = '#bfbfc3';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_HOVER = '#bfbfc3';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_NEUTRAL_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_DEFAULT = '#4c4b51';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_HOVER = '#3a383f';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_FOCUS = '#3a383f';\nconst GL_BADGE_NEUTRAL_TEXT_COLOR_ACTIVE = '#28272d';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_DEFAULT = '#737278';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_HOVER = '#626168';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_FOCUS = '#626168';\nconst GL_BADGE_NEUTRAL_ICON_COLOR_ACTIVE = '#4c4b51';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_DEFAULT = '#cbe2f9';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_HOVER = '#cbe2f9';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_FOCUS = '#cbe2f9';\nconst GL_BADGE_INFO_BACKGROUND_COLOR_ACTIVE = '#9dc7f1';\nconst GL_BADGE_INFO_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_INFO_BORDER_COLOR_HOVER = '#9dc7f1';\nconst GL_BADGE_INFO_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_INFO_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_INFO_TEXT_COLOR_DEFAULT = '#0b5cad';\nconst GL_BADGE_INFO_TEXT_COLOR_HOVER = '#064787';\nconst GL_BADGE_INFO_TEXT_COLOR_FOCUS = '#064787';\nconst GL_BADGE_INFO_TEXT_COLOR_ACTIVE = '#033464';\nconst GL_BADGE_INFO_ICON_COLOR_DEFAULT = '#1f75cb';\nconst GL_BADGE_INFO_ICON_COLOR_HOVER = '#1068bf';\nconst GL_BADGE_INFO_ICON_COLOR_FOCUS = '#1068bf';\nconst GL_BADGE_INFO_ICON_COLOR_ACTIVE = '#0b5cad';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_DEFAULT = '#c3e6cd';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_HOVER = '#c3e6cd';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_FOCUS = '#c3e6cd';\nconst GL_BADGE_SUCCESS_BACKGROUND_COLOR_ACTIVE = '#91d4a8';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_HOVER = '#91d4a8';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_SUCCESS_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_DEFAULT = '#24663b';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_HOVER = '#0d532a';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_FOCUS = '#0d532a';\nconst GL_BADGE_SUCCESS_TEXT_COLOR_ACTIVE = '#0a4020';\nconst GL_BADGE_SUCCESS_ICON_COLOR_DEFAULT = '#108548';\nconst GL_BADGE_SUCCESS_ICON_COLOR_HOVER = '#217645';\nconst GL_BADGE_SUCCESS_ICON_COLOR_FOCUS = '#217645';\nconst GL_BADGE_SUCCESS_ICON_COLOR_ACTIVE = '#24663b';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_DEFAULT = '#f5d9a8';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_HOVER = '#f5d9a8';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_FOCUS = '#f5d9a8';\nconst GL_BADGE_WARNING_BACKGROUND_COLOR_ACTIVE = '#e9be74';\nconst GL_BADGE_WARNING_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_WARNING_BORDER_COLOR_HOVER = '#e9be74';\nconst GL_BADGE_WARNING_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_WARNING_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_WARNING_TEXT_COLOR_DEFAULT = '#8f4700';\nconst GL_BADGE_WARNING_TEXT_COLOR_HOVER = '#703800';\nconst GL_BADGE_WARNING_TEXT_COLOR_FOCUS = '#703800';\nconst GL_BADGE_WARNING_TEXT_COLOR_ACTIVE = '#5c2900';\nconst GL_BADGE_WARNING_ICON_COLOR_DEFAULT = '#ab6100';\nconst GL_BADGE_WARNING_ICON_COLOR_HOVER = '#9e5400';\nconst GL_BADGE_WARNING_ICON_COLOR_FOCUS = '#9e5400';\nconst GL_BADGE_WARNING_ICON_COLOR_ACTIVE = '#8f4700';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_DEFAULT = '#fdd4cd';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_HOVER = '#fdd4cd';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_FOCUS = '#fdd4cd';\nconst GL_BADGE_DANGER_BACKGROUND_COLOR_ACTIVE = '#fcb5aa';\nconst GL_BADGE_DANGER_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_DANGER_BORDER_COLOR_HOVER = '#fcb5aa';\nconst GL_BADGE_DANGER_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_DANGER_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_DANGER_TEXT_COLOR_DEFAULT = '#ae1800';\nconst GL_BADGE_DANGER_TEXT_COLOR_HOVER = '#8d1300';\nconst GL_BADGE_DANGER_TEXT_COLOR_FOCUS = '#8d1300';\nconst GL_BADGE_DANGER_TEXT_COLOR_ACTIVE = '#660e00';\nconst GL_BADGE_DANGER_ICON_COLOR_DEFAULT = '#ae1800';\nconst GL_BADGE_DANGER_ICON_COLOR_HOVER = '#8d1300';\nconst GL_BADGE_DANGER_ICON_COLOR_FOCUS = '#8d1300';\nconst GL_BADGE_DANGER_ICON_COLOR_ACTIVE = '#660e00';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_DEFAULT = '#e1d8f9';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_HOVER = '#e1d8f9';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_FOCUS = '#e1d8f9';\nconst GL_BADGE_TIER_BACKGROUND_COLOR_ACTIVE = '#cbbbf2';\nconst GL_BADGE_TIER_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BADGE_TIER_BORDER_COLOR_HOVER = '#cbbbf2';\nconst GL_BADGE_TIER_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BADGE_TIER_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BADGE_TIER_TEXT_COLOR_DEFAULT = '#5943b6';\nconst GL_BADGE_TIER_TEXT_COLOR_HOVER = '#453894';\nconst GL_BADGE_TIER_TEXT_COLOR_FOCUS = '#453894';\nconst GL_BADGE_TIER_TEXT_COLOR_ACTIVE = '#2f2a6b';\nconst GL_BADGE_TIER_ICON_COLOR_DEFAULT = '#5943b6';\nconst GL_BADGE_TIER_ICON_COLOR_HOVER = '#453894';\nconst GL_BADGE_TIER_ICON_COLOR_FOCUS = '#453894';\nconst GL_BADGE_TIER_ICON_COLOR_ACTIVE = '#2f2a6b';\nconst GL_BANNER_INTRO_BORDER_COLOR = '#cbe2f9';\nconst GL_BANNER_PROMO_BACKGROUND_COLOR = '#f4f0ff';\nconst GL_BANNER_PROMO_BORDER_COLOR = '#e1d8f9';\nconst GL_BREADCRUMB_SEPARATOR_COLOR = '#89888d';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_BLUE = '#235180';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_DARK = '#737278';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_GREEN = '#1b653f';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_INDIGO = '#41419f';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHT = '#ececef';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTBLUE = '#4977a5';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTGREEN = '#308258';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTINDIGO = '#6666c4';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTRED = '#ad4a3b';\nconst GL_BROADCAST_BANNER_BACKGROUND_COLOR_RED = '#8f2110';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_BLUE = '#0b2640';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_DARK = '#4c4b51';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_GREEN = '#0e4328';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_INDIGO = '#222261';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHT = '#dcdcde';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTBLUE = '#235180';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTGREEN = '#1b653f';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTINDIGO = '#41419f';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTRED = '#8f2110';\nconst GL_BROADCAST_BANNER_BORDER_COLOR_RED = '#580d02';\nconst GL_BROADCAST_BANNER_ICON_COLOR_BLUE = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_DARK = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_GREEN = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_INDIGO = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHT = '#28272d';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTBLUE = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTGREEN = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTINDIGO = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_LIGHTRED = '#fff';\nconst GL_BROADCAST_BANNER_ICON_COLOR_RED = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_BLUE = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_DARK = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_GREEN = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_INDIGO = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHT = '#28272d';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTBLUE = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTGREEN = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTINDIGO = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTRED = '#fff';\nconst GL_BROADCAST_BANNER_TEXT_COLOR_RED = '#fff';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_DEFAULT = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_HOVER = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_FOCUS = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_ACTIVE = '#3a383f';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_HOVER = '#ececef';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_FOCUS = '#ececef';\nconst GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_ACTIVE = '#dcdcde';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_DEFAULT = '#bfbfc3';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_HOVER = '#89888d';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_FOCUS = '#89888d';\nconst GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_ACTIVE = '#626168';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_DEFAULT = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_HOVER = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_FOCUS = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_ACTIVE = '#28272d';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_DEFAULT = 'rgba(164, 163, 168, 0.0)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_HOVER = 'rgba(164, 163, 168, 0.16)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_FOCUS = 'rgba(164, 163, 168, 0.16)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_ACTIVE = 'rgba(83, 81, 88, 0.24)';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_HOVER = 'transparent';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_HOVER = '#1068bf';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_FOCUS = '#1068bf';\nconst GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_ACTIVE = '#0b5cad';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_DEFAULT = '#1068bf';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_HOVER = '#064787';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_FOCUS = '#064787';\nconst GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_HOVER = '#e9f3fc';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_FOCUS = '#e9f3fc';\nconst GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_ACTIVE = '#cbe2f9';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_DEFAULT = '#1f75cb';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_ACTIVE = '#033464';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_DEFAULT = 'rgba(99, 166, 233, 0.0)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_HOVER = 'rgba(99, 166, 233, 0.16)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_FOCUS = 'rgba(99, 166, 233, 0.16)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_ACTIVE = 'rgba(11, 92, 173, 0.24)';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_HOVER = 'transparent';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_HOVER = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_FOCUS = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_ACTIVE = '#fff';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_HOVER = '#c91c00';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_FOCUS = '#c91c00';\nconst GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_ACTIVE = '#8d1300';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_DEFAULT = '#c91c00';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_HOVER = '#8d1300';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_FOCUS = '#8d1300';\nconst GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_HOVER = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_FOCUS = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_HOVER = '#fcf1ef';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_FOCUS = '#fcf1ef';\nconst GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_ACTIVE = '#fdd4cd';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_HOVER = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_FOCUS = '#ae1800';\nconst GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_DEFAULT = '#dd2b0e';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_HOVER = '#ae1800';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_FOCUS = '#ae1800';\nconst GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_ACTIVE = '#660e00';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_DEFAULT = 'rgba(245, 127, 108, 0.0)';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_HOVER = 'rgba(245, 127, 108, 0.16)';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_FOCUS = 'rgba(245, 127, 108, 0.16)';\nconst GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_ACTIVE = 'rgba(174, 24, 0, 0.24)';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_DEFAULT = 'transparent';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_HOVER = 'transparent';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_FOCUS = 'transparent';\nconst GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_ACTIVE = 'transparent';\nconst GL_BUTTON_DASHED_BORDER_COLOR_DEFAULT = '#89888d';\nconst GL_BUTTON_DASHED_BORDER_COLOR_HOVER = '#89888d';\nconst GL_BUTTON_DASHED_BORDER_COLOR_FOCUS = '#89888d';\nconst GL_BUTTON_DASHED_BORDER_COLOR_ACTIVE = '#626168';\nconst GL_BUTTON_LINK_TEXT_COLOR_DEFAULT = '#0b5cad';\nconst GL_BUTTON_LINK_TEXT_COLOR_HOVER = '#0b5cad';\nconst GL_BUTTON_LINK_TEXT_COLOR_FOCUS = '#0b5cad';\nconst GL_BUTTON_LINK_TEXT_COLOR_ACTIVE = '#0b5cad';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_DEFAULT = '#3a383f';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_HOVER = '#3a383f';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_FOCUS = '#3a383f';\nconst GL_BUTTON_SELECTED_FOREGROUND_COLOR_ACTIVE = '#3a383f';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_HOVER = '#ececef';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_FOCUS = '#ececef';\nconst GL_BUTTON_SELECTED_BACKGROUND_COLOR_ACTIVE = '#dcdcde';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_DEFAULT = '#a4a3a8';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_HOVER = '#89888d';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_FOCUS = '#89888d';\nconst GL_BUTTON_SELECTED_BORDER_COLOR_ACTIVE = '#626168';\nconst GL_BUTTON_DISABLED_FOREGROUND_COLOR = '#737278';\nconst GL_BUTTON_DISABLED_BACKGROUND_COLOR = '#fbfafd';\nconst GL_BUTTON_DISABLED_BORDER_COLOR = '#dcdcde';\nconst GL_DATEPICKER_BACKGROUND_COLOR = '#fff';\nconst GL_DATEPICKER_DATE_TEXT_COLOR_SELECTED = '#fff';\nconst GL_DROPDOWN_BACKGROUND_COLOR = '#fff';\nconst GL_DROPDOWN_BORDER_COLOR = '#bfbfc3';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_DEFAULT = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_HOVER = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_FOCUS = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_ACTIVE = '#28272d';\nconst GL_DROPDOWN_OPTION_TEXT_COLOR_DISABLED = '#89888d';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_DEFAULT = '#1f75cb';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_HOVER = '#0b5cad';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_FOCUS = '#0b5cad';\nconst GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_ACTIVE = '#0b5cad';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_DEFAULT = 'rgba(164, 163, 168, 0.0)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_HOVER = 'rgba(164, 163, 168, 0.16)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_FOCUS = 'rgba(164, 163, 168, 0.16)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_ACTIVE = 'rgba(83, 81, 88, 0.24)';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_DEFAULT = '#ececef';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_HOVER = '#dcdcde';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_FOCUS = '#dcdcde';\nconst GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_ACTIVE = '#bfbfc3';\nconst GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_DEFAULT = '#ececef';\nconst GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_HOVER = '#dcdcde';\nconst GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_DEFAULT = '#dcdcde';\nconst GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_HOVER = '#bfbfc3';\nconst GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_DEFAULT = '#ececef';\nconst GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_HOVER = '#dcdcde';\nconst GL_ILLUSTRATION_STROKE_COLOR_DEFAULT = '#171321';\nconst GL_ILLUSTRATION_STROKE_WIDTH_DEFAULT = '0.125rem';\nconst GL_ILLUSTRATION_FILL_COLOR_DEFAULT = '#fff';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_NEUTRAL = '#aea5d6';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_SUCCESS = '#6fdac9';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_WARNING = '#fca326';\nconst GL_ILLUSTRATION_STATUS_FILL_COLOR_DANGER = '#ff9d73';\nconst GL_ILLUSTRATION_ACCENT_STROKE_COLOR_ORANGE = '#ff9d73';\nconst GL_ILLUSTRATION_ACCENT_STROKE_COLOR_TEAL = '#6fdac9';\nconst GL_ILLUSTRATION_ACCENT_STROKE_COLOR_STRONG = '#aea5d6';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_SUBTLE = '#d0c5e2';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_STRONG = '#aea5d6';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_ORANGE = '#ff9d73';\nconst GL_ILLUSTRATION_ACCENT_FILL_COLOR_TEAL = '#6fdac9';\nconst GL_ILLUSTRATION_BASE_FILL_COLOR = '#e7e4f2';\nconst GL_ILLUSTRATION_ISOMETRIC_STROKE_COLOR_DEFAULT = '#171321';\nconst GL_ILLUSTRATION_ISOMETRIC_STROKE_WIDTH_DEFAULT = '0.125rem';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_TOP_FILL_COLOR = '#c5f4ec';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_FRONT_FILL_COLOR = '#fff';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_SIDE_FILL_COLOR = '#6fdac9';\nconst GL_ILLUSTRATION_ISOMETRIC_GLYPH_SHADOW_FILL_COLOR = '#10b1b1';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_TOP_FILL_COLOR = '#ff9d73';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_FRONT_FILL_COLOR = '#ffc2a8';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_SIDE_FILL_COLOR = '#ff7b42';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_HIGHLIGHT_FILL_COLOR = '#fff';\nconst GL_ILLUSTRATION_ISOMETRIC_OBJECT_SHADOW_FILL_COLOR = '#e24329';\nconst GL_ILLUSTRATION_ISOMETRIC_ACCENT_TOP_FILL_COLOR = '#45424d';\nconst GL_ILLUSTRATION_ISOMETRIC_ACCENT_FRONT_FILL_COLOR = '#74717a';\nconst GL_ILLUSTRATION_ISOMETRIC_ACCENT_SIDE_FILL_COLOR = '#2b2838';\nconst GL_ILLUSTRATION_ISOMETRIC_BASE_TOP_FILL_COLOR = '#e7e4f2';\nconst GL_ILLUSTRATION_ISOMETRIC_BASE_FRONT_FILL_COLOR = '#d5d0e8';\nconst GL_ILLUSTRATION_ISOMETRIC_BASE_SIDE_FILL_COLOR = '#aea5d6';\nconst GL_LABEL_LIGHT_TEXT_COLOR = '#18171d';\nconst GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_DEFAULT = 'transparent';\nconst GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_HOVER = '#18171d';\nconst GL_LABEL_LIGHT_BUTTON_ICON_COLOR_DEFAULT = '#18171d';\nconst GL_LABEL_DARK_TEXT_COLOR = '#fff';\nconst GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_DEFAULT = 'transparent';\nconst GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_HOVER = '#fff';\nconst GL_LABEL_DARK_BUTTON_ICON_COLOR_DEFAULT = '#fff';\nconst GL_LABEL_SCOPED_TEXT_COLOR = '#18171d';\nconst GL_LABEL_SCOPED_BUTTON_BACKGROUND_COLOR_HOVER = '#18171d';\nconst GL_LABEL_SCOPED_BUTTON_ICON_COLOR_DEFAULT = '#18171d';\nconst GL_LABEL_SCOPED_BUTTON_ICON_COLOR_HOVER = '#fff';\nconst GL_LINK_MENTION_TEXT_COLOR_DEFAULT = '#0b5cad';\nconst GL_LINK_MENTION_TEXT_COLOR_CURRENT = '#703800';\nconst GL_LINK_MENTION_BACKGROUND_COLOR_DEFAULT = '#cbe2f9';\nconst GL_LINK_MENTION_BACKGROUND_COLOR_CURRENT = '#f5d9a8';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_DEFAULT = '#1f75cb';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_SUCCESS = '#108548';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_WARNING = '#ab6100';\nconst GL_PROGRESS_BAR_INDICATOR_COLOR_DANGER = '#dd2b0e';\nconst GL_PROGRESS_BAR_TRACK_COLOR = '#bfbfc3';\nconst GL_SKELETON_LOADER_BACKGROUND_COLOR = '#dcdcde';\nconst GL_SKELETON_LOADER_SHIMMER_COLOR = '#ececef';\nconst GL_SPINNER_TRACK_COLOR_DEFAULT = '#dcdcde';\nconst GL_SPINNER_TRACK_COLOR_LIGHT = '#3a383f';\nconst GL_SPINNER_SEGMENT_COLOR_DEFAULT = '#4c4b51';\nconst GL_SPINNER_SEGMENT_COLOR_LIGHT = '#bfbfc3';\nconst GL_TABLE_ROW_BACKGROUND_COLOR_HOVER = '#fbfafd';\nconst GL_TABLE_SORTING_ICON_COLOR = '#18171d';\nconst GL_TAB_SELECTED_INDICATOR_COLOR_DEFAULT = '#1f75cb';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_DEFAULT = '#626168';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_HOVER = '#4c4b51';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_FOCUS = '#4c4b51';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_ACTIVE = '#3a383f';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_DEFAULT = '#1f75cb';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_HOVER = '#1068bf';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_FOCUS = '#1068bf';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_ACTIVE = '#0b5cad';\nconst GL_TOGGLE_SWITCH_ICON_COLOR_DISABLED = '#ececef';\nconst GL_TOKEN_SELECTOR_TOKEN_CONTAINER_TOKEN_BACKGROUND_COLOR_FOCUS = '#a4a3a8';\nconst GL_TOKEN_FOREGROUND_COLOR = '#3a383f';\nconst GL_TOKEN_BACKGROUND_COLOR = '#dcdcde';\nconst GL_CONTROL_BACKGROUND_COLOR_DEFAULT = '#fff';\nconst GL_CONTROL_BACKGROUND_COLOR_DISABLED = '#fbfafd';\nconst GL_CONTROL_BACKGROUND_COLOR_CONCATENATION = '#fbfafd';\nconst GL_CONTROL_BACKGROUND_COLOR_READONLY = 'rgba(05, 05, 06, 0.02)';\nconst GL_CONTROL_BACKGROUND_COLOR_SELECTED_DEFAULT = '#1f75cb';\nconst GL_CONTROL_BACKGROUND_COLOR_SELECTED_HOVER = '#0b5cad';\nconst GL_CONTROL_BACKGROUND_COLOR_SELECTED_FOCUS = '#0b5cad';\nconst GL_CONTROL_BORDER_COLOR_DEFAULT = '#89888d';\nconst GL_CONTROL_BORDER_COLOR_HOVER = '#626168';\nconst GL_CONTROL_BORDER_COLOR_FOCUS = '#28272d';\nconst GL_CONTROL_BORDER_COLOR_DISABLED = '#dcdcde';\nconst GL_CONTROL_BORDER_COLOR_ERROR = '#dd2b0e';\nconst GL_CONTROL_BORDER_COLOR_SELECTED_DEFAULT = '#1f75cb';\nconst GL_CONTROL_BORDER_COLOR_SELECTED_HOVER = '#0b5cad';\nconst GL_CONTROL_BORDER_COLOR_SELECTED_FOCUS = '#0b5cad';\nconst GL_CONTROL_TEXT_COLOR_ERROR = '#c91c00';\nconst GL_CONTROL_TEXT_COLOR_VALID = '#217645';\nconst GL_CONTROL_PLACEHOLDER_COLOR = '#89888d';\nconst GL_CONTROL_INDICATOR_COLOR_SELECTED = '#fff';\nconst GL_CONTROL_INDICATOR_COLOR_DISABLED = '#737278';\nconst THEME_INDIGO_10 = '#f8f8ff';\nconst THEME_INDIGO_50 = '#f1f1ff';\nconst THEME_INDIGO_100 = '#dbdbf8';\nconst THEME_INDIGO_200 = '#c7c7f2';\nconst THEME_INDIGO_300 = '#a2a2e6';\nconst THEME_INDIGO_400 = '#8181d7';\nconst THEME_INDIGO_500 = '#6666c4';\nconst THEME_INDIGO_600 = '#5252b5';\nconst THEME_INDIGO_700 = '#41419f';\nconst THEME_INDIGO_800 = '#303083';\nconst THEME_INDIGO_900 = '#222261';\nconst THEME_INDIGO_950 = '#14143d';\nconst THEME_BLUE_10 = '#e6ecf0';\nconst THEME_BLUE_50 = '#cdd8e3';\nconst THEME_BLUE_100 = '#b9cadc';\nconst THEME_BLUE_200 = '#a6bdd5';\nconst THEME_BLUE_300 = '#81a5c9';\nconst THEME_BLUE_400 = '#628eb9';\nconst THEME_BLUE_500 = '#4977a5';\nconst THEME_BLUE_600 = '#346596';\nconst THEME_BLUE_700 = '#235180';\nconst THEME_BLUE_800 = '#153c63';\nconst THEME_BLUE_900 = '#0b2640';\nconst THEME_BLUE_950 = '#04101c';\nconst THEME_LIGHT_BLUE_10 = '#eef3f7';\nconst THEME_LIGHT_BLUE_50 = '#dde6ee';\nconst THEME_LIGHT_BLUE_100 = '#c1d4e6';\nconst THEME_LIGHT_BLUE_200 = '#a0bedc';\nconst THEME_LIGHT_BLUE_300 = '#74a3d3';\nconst THEME_LIGHT_BLUE_400 = '#4f8bc7';\nconst THEME_LIGHT_BLUE_500 = '#3476b9';\nconst THEME_LIGHT_BLUE_600 = '#2268ae';\nconst THEME_LIGHT_BLUE_700 = '#145aa1';\nconst THEME_LIGHT_BLUE_800 = '#0e4d8d';\nconst THEME_LIGHT_BLUE_900 = '#0c4277';\nconst THEME_LIGHT_BLUE_950 = '#0a3764';\nconst THEME_GREEN_10 = '#eef4ef';\nconst THEME_GREEN_50 = '#dde9de';\nconst THEME_GREEN_100 = '#b1d6b5';\nconst THEME_GREEN_200 = '#8cc497';\nconst THEME_GREEN_300 = '#69af7d';\nconst THEME_GREEN_400 = '#499767';\nconst THEME_GREEN_500 = '#308258';\nconst THEME_GREEN_600 = '#25744c';\nconst THEME_GREEN_700 = '#1b653f';\nconst THEME_GREEN_800 = '#155635';\nconst THEME_GREEN_900 = '#0e4328';\nconst THEME_GREEN_950 = '#052e19';\nconst THEME_RED_10 = '#faf4f3';\nconst THEME_RED_50 = '#f4e9e7';\nconst THEME_RED_100 = '#ecd3d0';\nconst THEME_RED_200 = '#e3bab5';\nconst THEME_RED_300 = '#d59086';\nconst THEME_RED_400 = '#c66e60';\nconst THEME_RED_500 = '#ad4a3b';\nconst THEME_RED_600 = '#a13322';\nconst THEME_RED_700 = '#8f2110';\nconst THEME_RED_800 = '#761405';\nconst THEME_RED_900 = '#580d02';\nconst THEME_RED_950 = '#380700';\nconst THEME_LIGHT_RED_10 = '#fdf9f8';\nconst THEME_LIGHT_RED_50 = '#faf2f1';\nconst THEME_LIGHT_RED_100 = '#f6d9d5';\nconst THEME_LIGHT_RED_200 = '#ebada2';\nconst THEME_LIGHT_RED_300 = '#e07f6f';\nconst THEME_LIGHT_RED_400 = '#d36250';\nconst THEME_LIGHT_RED_500 = '#c24b38';\nconst THEME_LIGHT_RED_600 = '#b53a26';\nconst THEME_LIGHT_RED_700 = '#a02e1c';\nconst THEME_LIGHT_RED_800 = '#8b2212';\nconst THEME_LIGHT_RED_900 = '#751709';\nconst THEME_LIGHT_RED_950 = '#5c1105';\nconst BLACK = '#050506';\nconst WHITE = '#fff';\nconst BLUE_50 = '#e9f3fc';\nconst BLUE_100 = '#cbe2f9';\nconst BLUE_200 = '#9dc7f1';\nconst BLUE_300 = '#63a6e9';\nconst BLUE_400 = '#428fdc';\nconst BLUE_500 = '#1f75cb';\nconst BLUE_600 = '#1068bf';\nconst BLUE_700 = '#0b5cad';\nconst BLUE_800 = '#064787';\nconst BLUE_900 = '#033464';\nconst BLUE_950 = '#002850';\nconst GRAY_10 = '#fbfafd';\nconst GRAY_50 = '#ececef';\nconst GRAY_100 = '#dcdcde';\nconst GRAY_200 = '#bfbfc3';\nconst GRAY_300 = '#a4a3a8';\nconst GRAY_400 = '#89888d';\nconst GRAY_500 = '#737278';\nconst GRAY_600 = '#626168';\nconst GRAY_700 = '#4c4b51';\nconst GRAY_800 = '#3a383f';\nconst GRAY_900 = '#28272d';\nconst GRAY_950 = '#18171d';\nconst GREEN_50 = '#ecf4ee';\nconst GREEN_100 = '#c3e6cd';\nconst GREEN_200 = '#91d4a8';\nconst GREEN_300 = '#52b87a';\nconst GREEN_400 = '#2da160';\nconst GREEN_500 = '#108548';\nconst GREEN_600 = '#217645';\nconst GREEN_700 = '#24663b';\nconst GREEN_800 = '#0d532a';\nconst GREEN_900 = '#0a4020';\nconst GREEN_950 = '#072b15';\nconst ORANGE_50 = '#fdf1dd';\nconst ORANGE_100 = '#f5d9a8';\nconst ORANGE_200 = '#e9be74';\nconst ORANGE_300 = '#d99530';\nconst ORANGE_400 = '#c17d10';\nconst ORANGE_500 = '#ab6100';\nconst ORANGE_600 = '#9e5400';\nconst ORANGE_700 = '#8f4700';\nconst ORANGE_800 = '#703800';\nconst ORANGE_900 = '#5c2900';\nconst ORANGE_950 = '#421f00';\nconst PURPLE_50 = '#f4f0ff';\nconst PURPLE_100 = '#e1d8f9';\nconst PURPLE_200 = '#cbbbf2';\nconst PURPLE_300 = '#ac93e6';\nconst PURPLE_400 = '#9475db';\nconst PURPLE_500 = '#7b58cf';\nconst PURPLE_600 = '#694cc0';\nconst PURPLE_700 = '#5943b6';\nconst PURPLE_800 = '#453894';\nconst PURPLE_900 = '#2f2a6b';\nconst PURPLE_950 = '#232150';\nconst RED_50 = '#fcf1ef';\nconst RED_100 = '#fdd4cd';\nconst RED_200 = '#fcb5aa';\nconst RED_300 = '#f57f6c';\nconst RED_400 = '#ec5941';\nconst RED_500 = '#dd2b0e';\nconst RED_600 = '#c91c00';\nconst RED_700 = '#ae1800';\nconst RED_800 = '#8d1300';\nconst RED_900 = '#660e00';\nconst RED_950 = '#4d0a00';\nconst BRAND_CHARCOAL = '#171321';\nconst BRAND_ORANGE_01 = '#fca326';\nconst BRAND_ORANGE_02 = '#fc6d26';\nconst BRAND_ORANGE_03 = '#e24329';\nconst BRAND_PURPLE_01 = '#a989f5';\nconst BRAND_PURPLE_02 = '#7759c2';\nconst BRAND_GRAY_01 = '#d1d0d3';\nconst BRAND_GRAY_02 = '#a2a1a6';\nconst BRAND_GRAY_03 = '#74717a';\nconst BRAND_GRAY_04 = '#45424d';\nconst BRAND_GRAY_05 = '#2b2838';\nconst T_GRAY_A_16 = 'rgba(05, 05, 06, 0.16)';\nconst T_GRAY_A_24 = 'rgba(05, 05, 06, 0.24)';\nconst T_GRAY_A_02 = 'rgba(05, 05, 06, 0.02)';\nconst T_GRAY_A_04 = 'rgba(05, 05, 06, 0.04)';\nconst T_GRAY_A_06 = 'rgba(05, 05, 06, 0.06)';\nconst T_GRAY_A_08 = 'rgba(05, 05, 06, 0.08)';\nconst T_WHITE_A_16 = 'rgba(255, 255, 255, 0.16)';\nconst T_WHITE_A_24 = 'rgba(255, 255, 255, 0.24)';\nconst T_WHITE_A_36 = 'rgba(255, 255, 255, 0.36)';\nconst T_WHITE_A_02 = 'rgba(255, 255, 255, 0.02)';\nconst T_WHITE_A_04 = 'rgba(255, 255, 255, 0.04)';\nconst T_WHITE_A_06 = 'rgba(255, 255, 255, 0.06)';\nconst T_WHITE_A_08 = 'rgba(255, 255, 255, 0.08)';\nconst GL_FEEDBACK_STRONG_BACKGROUND_COLOR = '#3a383f';\nconst GL_FEEDBACK_STRONG_TEXT_COLOR = '#fff';\nconst GL_FEEDBACK_STRONG_ICON_COLOR = '#fff';\nconst GL_FEEDBACK_STRONG_LINK_COLOR = '#63a6e9';\nconst GL_FEEDBACK_NEUTRAL_BACKGROUND_COLOR = '#ececef';\nconst GL_FEEDBACK_NEUTRAL_TEXT_COLOR = '#4c4b51';\nconst GL_FEEDBACK_NEUTRAL_ICON_COLOR = '#626168';\nconst GL_FEEDBACK_INFO_BACKGROUND_COLOR = '#e9f3fc';\nconst GL_FEEDBACK_INFO_TEXT_COLOR = '#0b5cad';\nconst GL_FEEDBACK_INFO_ICON_COLOR = '#1068bf';\nconst GL_FEEDBACK_SUCCESS_BACKGROUND_COLOR = '#ecf4ee';\nconst GL_FEEDBACK_SUCCESS_TEXT_COLOR = '#24663b';\nconst GL_FEEDBACK_SUCCESS_ICON_COLOR = '#217645';\nconst GL_FEEDBACK_WARNING_BACKGROUND_COLOR = '#fdf1dd';\nconst GL_FEEDBACK_WARNING_TEXT_COLOR = '#8f4700';\nconst GL_FEEDBACK_WARNING_ICON_COLOR = '#9e5400';\nconst GL_FEEDBACK_DANGER_BACKGROUND_COLOR = '#fcf1ef';\nconst GL_FEEDBACK_DANGER_TEXT_COLOR = '#ae1800';\nconst GL_FEEDBACK_DANGER_ICON_COLOR = '#c91c00';\nconst GL_FOCUS_RING_OUTER_COLOR = '#1f75cb';\nconst GL_FOCUS_RING_INNER_COLOR = '#fff';\nconst GL_ICON_COLOR_DEFAULT = '#4c4b51';\nconst GL_ICON_COLOR_SUBTLE = '#737278';\nconst GL_ICON_COLOR_STRONG = '#28272d';\nconst GL_ICON_COLOR_DISABLED = '#a4a3a8';\nconst GL_ICON_COLOR_LINK = '#0b5cad';\nconst GL_ICON_COLOR_INFO = '#0b5cad';\nconst GL_ICON_COLOR_WARNING = '#9e5400';\nconst GL_ICON_COLOR_DANGER = '#c91c00';\nconst GL_ICON_COLOR_SUCCESS = '#217645';\nconst GL_LINE_HEIGHT_12 = '0.75rem';\nconst GL_LINE_HEIGHT_16 = '1rem';\nconst GL_LINE_HEIGHT_20 = '1.25rem';\nconst GL_LINE_HEIGHT_24 = '1.5rem';\nconst GL_LINE_HEIGHT_28 = '1.75rem';\nconst GL_LINE_HEIGHT_32 = '2rem';\nconst GL_LINE_HEIGHT_36 = '2.25rem';\nconst GL_LINE_HEIGHT_42 = '2.625rem';\nconst GL_LINE_HEIGHT_44 = '2.75rem';\nconst GL_LINE_HEIGHT_52 = '3.25rem';\nconst GL_SHADOW_COLOR_DEFAULT = 'rgba(05, 05, 06, 0.16)';\nconst GL_STATUS_NEUTRAL_BACKGROUND_COLOR = '#dcdcde';\nconst GL_STATUS_NEUTRAL_TEXT_COLOR = '#4c4b51';\nconst GL_STATUS_NEUTRAL_ICON_COLOR = '#737278';\nconst GL_STATUS_INFO_BACKGROUND_COLOR = '#cbe2f9';\nconst GL_STATUS_INFO_TEXT_COLOR = '#0b5cad';\nconst GL_STATUS_INFO_ICON_COLOR = '#1f75cb';\nconst GL_STATUS_SUCCESS_BACKGROUND_COLOR = '#c3e6cd';\nconst GL_STATUS_SUCCESS_TEXT_COLOR = '#24663b';\nconst GL_STATUS_SUCCESS_ICON_COLOR = '#108548';\nconst GL_STATUS_WARNING_BACKGROUND_COLOR = '#f5d9a8';\nconst GL_STATUS_WARNING_TEXT_COLOR = '#8f4700';\nconst GL_STATUS_WARNING_ICON_COLOR = '#ab6100';\nconst GL_STATUS_DANGER_BACKGROUND_COLOR = '#fdd4cd';\nconst GL_STATUS_DANGER_TEXT_COLOR = '#ae1800';\nconst GL_STATUS_DANGER_ICON_COLOR = '#dd2b0e';\nconst GL_STATUS_BRAND_BACKGROUND_COLOR = '#e1d8f9';\nconst GL_STATUS_BRAND_TEXT_COLOR = '#5943b6';\nconst GL_STATUS_BRAND_ICON_COLOR = '#7b58cf';\nconst GL_TEXT_PRIMARY = '#28272d';\nconst GL_TEXT_SECONDARY = '#737278';\nconst GL_TEXT_TERTIARY = '#89888d';\nconst GL_TEXT_COLOR_DEFAULT = '#3a383f';\nconst GL_TEXT_COLOR_SUBTLE = '#626168';\nconst GL_TEXT_COLOR_STRONG = '#18171d';\nconst GL_TEXT_COLOR_HEADING = '#18171d';\nconst GL_TEXT_COLOR_LINK = '#0b5cad';\nconst GL_TEXT_COLOR_WARNING = '#9e5400';\nconst GL_TEXT_COLOR_DANGER = '#c91c00';\nconst GL_TEXT_COLOR_SUCCESS = '#217645';\nconst GL_TEXT_COLOR_DISABLED = '#89888d';\n\nexport { BLACK, BLUE_100, BLUE_200, BLUE_300, BLUE_400, BLUE_50, BLUE_500, BLUE_600, BLUE_700, BLUE_800, BLUE_900, BLUE_950, BRAND_CHARCOAL, BRAND_GRAY_01, BRAND_GRAY_02, BRAND_GRAY_03, BRAND_GRAY_04, BRAND_GRAY_05, BRAND_ORANGE_01, BRAND_ORANGE_02, BRAND_ORANGE_03, BRAND_PURPLE_01, BRAND_PURPLE_02, DATA_VIZ_AQUA_100, DATA_VIZ_AQUA_200, DATA_VIZ_AQUA_300, DATA_VIZ_AQUA_400, DATA_VIZ_AQUA_50, DATA_VIZ_AQUA_500, DATA_VIZ_AQUA_600, DATA_VIZ_AQUA_700, DATA_VIZ_AQUA_800, DATA_VIZ_AQUA_900, DATA_VIZ_AQUA_950, DATA_VIZ_BLUE_100, DATA_VIZ_BLUE_200, DATA_VIZ_BLUE_300, DATA_VIZ_BLUE_400, DATA_VIZ_BLUE_50, DATA_VIZ_BLUE_500, DATA_VIZ_BLUE_600, DATA_VIZ_BLUE_700, DATA_VIZ_BLUE_800, DATA_VIZ_BLUE_900, DATA_VIZ_BLUE_950, DATA_VIZ_GREEN_100, DATA_VIZ_GREEN_200, DATA_VIZ_GREEN_300, DATA_VIZ_GREEN_400, DATA_VIZ_GREEN_50, DATA_VIZ_GREEN_500, DATA_VIZ_GREEN_600, DATA_VIZ_GREEN_700, DATA_VIZ_GREEN_800, DATA_VIZ_GREEN_900, DATA_VIZ_GREEN_950, DATA_VIZ_MAGENTA_100, DATA_VIZ_MAGENTA_200, DATA_VIZ_MAGENTA_300, DATA_VIZ_MAGENTA_400, DATA_VIZ_MAGENTA_50, DATA_VIZ_MAGENTA_500, DATA_VIZ_MAGENTA_600, DATA_VIZ_MAGENTA_700, DATA_VIZ_MAGENTA_800, DATA_VIZ_MAGENTA_900, DATA_VIZ_MAGENTA_950, DATA_VIZ_ORANGE_100, DATA_VIZ_ORANGE_200, DATA_VIZ_ORANGE_300, DATA_VIZ_ORANGE_400, DATA_VIZ_ORANGE_50, DATA_VIZ_ORANGE_500, DATA_VIZ_ORANGE_600, DATA_VIZ_ORANGE_700, DATA_VIZ_ORANGE_800, DATA_VIZ_ORANGE_900, DATA_VIZ_ORANGE_950, GL_ACTION_CONFIRM_BACKGROUND_COLOR_ACTIVE, GL_ACTION_CONFIRM_BACKGROUND_COLOR_DEFAULT, GL_ACTION_CONFIRM_BACKGROUND_COLOR_FOCUS, GL_ACTION_CONFIRM_BACKGROUND_COLOR_HOVER, GL_ACTION_CONFIRM_BORDER_COLOR_ACTIVE, GL_ACTION_CONFIRM_BORDER_COLOR_DEFAULT, GL_ACTION_CONFIRM_BORDER_COLOR_FOCUS, GL_ACTION_CONFIRM_BORDER_COLOR_HOVER, GL_ACTION_CONFIRM_FOREGROUND_COLOR_ACTIVE, GL_ACTION_CONFIRM_FOREGROUND_COLOR_DEFAULT, GL_ACTION_CONFIRM_FOREGROUND_COLOR_FOCUS, GL_ACTION_CONFIRM_FOREGROUND_COLOR_HOVER, GL_ACTION_DANGER_BACKGROUND_COLOR_ACTIVE, GL_ACTION_DANGER_BACKGROUND_COLOR_DEFAULT, GL_ACTION_DANGER_BACKGROUND_COLOR_FOCUS, GL_ACTION_DANGER_BACKGROUND_COLOR_HOVER, GL_ACTION_DANGER_BORDER_COLOR_ACTIVE, GL_ACTION_DANGER_BORDER_COLOR_DEFAULT, GL_ACTION_DANGER_BORDER_COLOR_FOCUS, GL_ACTION_DANGER_BORDER_COLOR_HOVER, GL_ACTION_DANGER_FOREGROUND_COLOR_ACTIVE, GL_ACTION_DANGER_FOREGROUND_COLOR_DEFAULT, GL_ACTION_DANGER_FOREGROUND_COLOR_FOCUS, GL_ACTION_DANGER_FOREGROUND_COLOR_HOVER, GL_ACTION_DISABLED_BACKGROUND_COLOR, GL_ACTION_DISABLED_BORDER_COLOR, GL_ACTION_DISABLED_FOREGROUND_COLOR, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_ACTIVE, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_DEFAULT, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_FOCUS, GL_ACTION_NEUTRAL_BACKGROUND_COLOR_HOVER, GL_ACTION_NEUTRAL_BORDER_COLOR_ACTIVE, GL_ACTION_NEUTRAL_BORDER_COLOR_DEFAULT, GL_ACTION_NEUTRAL_BORDER_COLOR_FOCUS, GL_ACTION_NEUTRAL_BORDER_COLOR_HOVER, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_ACTIVE, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_DEFAULT, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_FOCUS, GL_ACTION_NEUTRAL_FOREGROUND_COLOR_HOVER, GL_ACTION_SELECTED_BACKGROUND_COLOR_ACTIVE, GL_ACTION_SELECTED_BACKGROUND_COLOR_DEFAULT, GL_ACTION_SELECTED_BACKGROUND_COLOR_FOCUS, GL_ACTION_SELECTED_BACKGROUND_COLOR_HOVER, GL_ACTION_SELECTED_BORDER_COLOR_ACTIVE, GL_ACTION_SELECTED_BORDER_COLOR_DEFAULT, GL_ACTION_SELECTED_BORDER_COLOR_FOCUS, GL_ACTION_SELECTED_BORDER_COLOR_HOVER, GL_ACTION_SELECTED_FOREGROUND_COLOR_ACTIVE, GL_ACTION_SELECTED_FOREGROUND_COLOR_DEFAULT, GL_ACTION_SELECTED_FOREGROUND_COLOR_FOCUS, GL_ACTION_SELECTED_FOREGROUND_COLOR_HOVER, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_FOCUS, GL_ACTION_STRONG_CONFIRM_BACKGROUND_COLOR_HOVER, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_ACTIVE, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_DEFAULT, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_FOCUS, GL_ACTION_STRONG_CONFIRM_BORDER_COLOR_HOVER, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_FOCUS, GL_ACTION_STRONG_CONFIRM_FOREGROUND_COLOR_HOVER, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_FOCUS, GL_ACTION_STRONG_NEUTRAL_BACKGROUND_COLOR_HOVER, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_ACTIVE, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_DEFAULT, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_FOCUS, GL_ACTION_STRONG_NEUTRAL_BORDER_COLOR_HOVER, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_ACTIVE, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_DEFAULT, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_FOCUS, GL_ACTION_STRONG_NEUTRAL_FOREGROUND_COLOR_HOVER, GL_ALERT_DANGER_BACKGROUND_COLOR, GL_ALERT_DANGER_BORDER_BOTTOM_COLOR, GL_ALERT_DANGER_BORDER_TOP_COLOR, GL_ALERT_DANGER_TITLE_COLOR, GL_ALERT_INFO_BACKGROUND_COLOR, GL_ALERT_INFO_BORDER_BOTTOM_COLOR, GL_ALERT_INFO_BORDER_TOP_COLOR, GL_ALERT_INFO_TITLE_COLOR, GL_ALERT_NEUTRAL_BACKGROUND_COLOR, GL_ALERT_NEUTRAL_BORDER_BOTTOM_COLOR, GL_ALERT_NEUTRAL_BORDER_TOP_COLOR, GL_ALERT_NEUTRAL_TITLE_COLOR, GL_ALERT_SUCCESS_BACKGROUND_COLOR, GL_ALERT_SUCCESS_BORDER_BOTTOM_COLOR, GL_ALERT_SUCCESS_BORDER_TOP_COLOR, GL_ALERT_SUCCESS_TITLE_COLOR, GL_ALERT_WARNING_BACKGROUND_COLOR, GL_ALERT_WARNING_BORDER_BOTTOM_COLOR, GL_ALERT_WARNING_BORDER_TOP_COLOR, GL_ALERT_WARNING_TITLE_COLOR, GL_AVATAR_BORDER_COLOR_DEFAULT, GL_AVATAR_BORDER_COLOR_HOVER, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_BLUE, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_GREEN, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_NEUTRAL, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_ORANGE, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_PURPLE, GL_AVATAR_FALLBACK_BACKGROUND_COLOR_RED, GL_AVATAR_FALLBACK_TEXT_COLOR_BLUE, GL_AVATAR_FALLBACK_TEXT_COLOR_GREEN, GL_AVATAR_FALLBACK_TEXT_COLOR_NEUTRAL, GL_AVATAR_FALLBACK_TEXT_COLOR_ORANGE, GL_AVATAR_FALLBACK_TEXT_COLOR_PURPLE, GL_AVATAR_FALLBACK_TEXT_COLOR_RED, GL_BACKGROUND_COLOR_DEFAULT, GL_BACKGROUND_COLOR_DISABLED, GL_BACKGROUND_COLOR_OVERLAP, GL_BACKGROUND_COLOR_OVERLAY, GL_BACKGROUND_COLOR_SECTION, GL_BACKGROUND_COLOR_STRONG, GL_BACKGROUND_COLOR_SUBTLE, GL_BADGE_DANGER_BACKGROUND_COLOR_ACTIVE, GL_BADGE_DANGER_BACKGROUND_COLOR_DEFAULT, GL_BADGE_DANGER_BACKGROUND_COLOR_FOCUS, GL_BADGE_DANGER_BACKGROUND_COLOR_HOVER, GL_BADGE_DANGER_BORDER_COLOR_ACTIVE, GL_BADGE_DANGER_BORDER_COLOR_DEFAULT, GL_BADGE_DANGER_BORDER_COLOR_FOCUS, GL_BADGE_DANGER_BORDER_COLOR_HOVER, GL_BADGE_DANGER_ICON_COLOR_ACTIVE, GL_BADGE_DANGER_ICON_COLOR_DEFAULT, GL_BADGE_DANGER_ICON_COLOR_FOCUS, GL_BADGE_DANGER_ICON_COLOR_HOVER, GL_BADGE_DANGER_TEXT_COLOR_ACTIVE, GL_BADGE_DANGER_TEXT_COLOR_DEFAULT, GL_BADGE_DANGER_TEXT_COLOR_FOCUS, GL_BADGE_DANGER_TEXT_COLOR_HOVER, GL_BADGE_INFO_BACKGROUND_COLOR_ACTIVE, GL_BADGE_INFO_BACKGROUND_COLOR_DEFAULT, GL_BADGE_INFO_BACKGROUND_COLOR_FOCUS, GL_BADGE_INFO_BACKGROUND_COLOR_HOVER, GL_BADGE_INFO_BORDER_COLOR_ACTIVE, GL_BADGE_INFO_BORDER_COLOR_DEFAULT, GL_BADGE_INFO_BORDER_COLOR_FOCUS, GL_BADGE_INFO_BORDER_COLOR_HOVER, GL_BADGE_INFO_ICON_COLOR_ACTIVE, GL_BADGE_INFO_ICON_COLOR_DEFAULT, GL_BADGE_INFO_ICON_COLOR_FOCUS, GL_BADGE_INFO_ICON_COLOR_HOVER, GL_BADGE_INFO_TEXT_COLOR_ACTIVE, GL_BADGE_INFO_TEXT_COLOR_DEFAULT, GL_BADGE_INFO_TEXT_COLOR_FOCUS, GL_BADGE_INFO_TEXT_COLOR_HOVER, GL_BADGE_MUTED_BACKGROUND_COLOR_ACTIVE, GL_BADGE_MUTED_BACKGROUND_COLOR_DEFAULT, GL_BADGE_MUTED_BACKGROUND_COLOR_FOCUS, GL_BADGE_MUTED_BACKGROUND_COLOR_HOVER, GL_BADGE_MUTED_BORDER_COLOR_ACTIVE, GL_BADGE_MUTED_BORDER_COLOR_DEFAULT, GL_BADGE_MUTED_BORDER_COLOR_FOCUS, GL_BADGE_MUTED_BORDER_COLOR_HOVER, GL_BADGE_MUTED_ICON_COLOR_ACTIVE, GL_BADGE_MUTED_ICON_COLOR_DEFAULT, GL_BADGE_MUTED_ICON_COLOR_FOCUS, GL_BADGE_MUTED_ICON_COLOR_HOVER, GL_BADGE_MUTED_TEXT_COLOR_ACTIVE, GL_BADGE_MUTED_TEXT_COLOR_DEFAULT, GL_BADGE_MUTED_TEXT_COLOR_FOCUS, GL_BADGE_MUTED_TEXT_COLOR_HOVER, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_ACTIVE, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_DEFAULT, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_FOCUS, GL_BADGE_NEUTRAL_BACKGROUND_COLOR_HOVER, GL_BADGE_NEUTRAL_BORDER_COLOR_ACTIVE, GL_BADGE_NEUTRAL_BORDER_COLOR_DEFAULT, GL_BADGE_NEUTRAL_BORDER_COLOR_FOCUS, GL_BADGE_NEUTRAL_BORDER_COLOR_HOVER, GL_BADGE_NEUTRAL_ICON_COLOR_ACTIVE, GL_BADGE_NEUTRAL_ICON_COLOR_DEFAULT, GL_BADGE_NEUTRAL_ICON_COLOR_FOCUS, GL_BADGE_NEUTRAL_ICON_COLOR_HOVER, GL_BADGE_NEUTRAL_TEXT_COLOR_ACTIVE, GL_BADGE_NEUTRAL_TEXT_COLOR_DEFAULT, GL_BADGE_NEUTRAL_TEXT_COLOR_FOCUS, GL_BADGE_NEUTRAL_TEXT_COLOR_HOVER, GL_BADGE_SUCCESS_BACKGROUND_COLOR_ACTIVE, GL_BADGE_SUCCESS_BACKGROUND_COLOR_DEFAULT, GL_BADGE_SUCCESS_BACKGROUND_COLOR_FOCUS, GL_BADGE_SUCCESS_BACKGROUND_COLOR_HOVER, GL_BADGE_SUCCESS_BORDER_COLOR_ACTIVE, GL_BADGE_SUCCESS_BORDER_COLOR_DEFAULT, GL_BADGE_SUCCESS_BORDER_COLOR_FOCUS, GL_BADGE_SUCCESS_BORDER_COLOR_HOVER, GL_BADGE_SUCCESS_ICON_COLOR_ACTIVE, GL_BADGE_SUCCESS_ICON_COLOR_DEFAULT, GL_BADGE_SUCCESS_ICON_COLOR_FOCUS, GL_BADGE_SUCCESS_ICON_COLOR_HOVER, GL_BADGE_SUCCESS_TEXT_COLOR_ACTIVE, GL_BADGE_SUCCESS_TEXT_COLOR_DEFAULT, GL_BADGE_SUCCESS_TEXT_COLOR_FOCUS, GL_BADGE_SUCCESS_TEXT_COLOR_HOVER, GL_BADGE_TIER_BACKGROUND_COLOR_ACTIVE, GL_BADGE_TIER_BACKGROUND_COLOR_DEFAULT, GL_BADGE_TIER_BACKGROUND_COLOR_FOCUS, GL_BADGE_TIER_BACKGROUND_COLOR_HOVER, GL_BADGE_TIER_BORDER_COLOR_ACTIVE, GL_BADGE_TIER_BORDER_COLOR_DEFAULT, GL_BADGE_TIER_BORDER_COLOR_FOCUS, GL_BADGE_TIER_BORDER_COLOR_HOVER, GL_BADGE_TIER_ICON_COLOR_ACTIVE, GL_BADGE_TIER_ICON_COLOR_DEFAULT, GL_BADGE_TIER_ICON_COLOR_FOCUS, GL_BADGE_TIER_ICON_COLOR_HOVER, GL_BADGE_TIER_TEXT_COLOR_ACTIVE, GL_BADGE_TIER_TEXT_COLOR_DEFAULT, GL_BADGE_TIER_TEXT_COLOR_FOCUS, GL_BADGE_TIER_TEXT_COLOR_HOVER, GL_BADGE_WARNING_BACKGROUND_COLOR_ACTIVE, GL_BADGE_WARNING_BACKGROUND_COLOR_DEFAULT, GL_BADGE_WARNING_BACKGROUND_COLOR_FOCUS, GL_BADGE_WARNING_BACKGROUND_COLOR_HOVER, GL_BADGE_WARNING_BORDER_COLOR_ACTIVE, GL_BADGE_WARNING_BORDER_COLOR_DEFAULT, GL_BADGE_WARNING_BORDER_COLOR_FOCUS, GL_BADGE_WARNING_BORDER_COLOR_HOVER, GL_BADGE_WARNING_ICON_COLOR_ACTIVE, GL_BADGE_WARNING_ICON_COLOR_DEFAULT, GL_BADGE_WARNING_ICON_COLOR_FOCUS, GL_BADGE_WARNING_ICON_COLOR_HOVER, GL_BADGE_WARNING_TEXT_COLOR_ACTIVE, GL_BADGE_WARNING_TEXT_COLOR_DEFAULT, GL_BADGE_WARNING_TEXT_COLOR_FOCUS, GL_BADGE_WARNING_TEXT_COLOR_HOVER, GL_BANNER_INTRO_BORDER_COLOR, GL_BANNER_PROMO_BACKGROUND_COLOR, GL_BANNER_PROMO_BORDER_COLOR, GL_BORDER_COLOR_DEFAULT, GL_BORDER_COLOR_SECTION, GL_BORDER_COLOR_STRONG, GL_BORDER_COLOR_SUBTLE, GL_BORDER_COLOR_TRANSPARENT, GL_BREADCRUMB_SEPARATOR_COLOR, GL_BROADCAST_BANNER_BACKGROUND_COLOR_BLUE, GL_BROADCAST_BANNER_BACKGROUND_COLOR_DARK, GL_BROADCAST_BANNER_BACKGROUND_COLOR_GREEN, GL_BROADCAST_BANNER_BACKGROUND_COLOR_INDIGO, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHT, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_BACKGROUND_COLOR_LIGHTRED, GL_BROADCAST_BANNER_BACKGROUND_COLOR_RED, GL_BROADCAST_BANNER_BORDER_COLOR_BLUE, GL_BROADCAST_BANNER_BORDER_COLOR_DARK, GL_BROADCAST_BANNER_BORDER_COLOR_GREEN, GL_BROADCAST_BANNER_BORDER_COLOR_INDIGO, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHT, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_BORDER_COLOR_LIGHTRED, GL_BROADCAST_BANNER_BORDER_COLOR_RED, GL_BROADCAST_BANNER_ICON_COLOR_BLUE, GL_BROADCAST_BANNER_ICON_COLOR_DARK, GL_BROADCAST_BANNER_ICON_COLOR_GREEN, GL_BROADCAST_BANNER_ICON_COLOR_INDIGO, GL_BROADCAST_BANNER_ICON_COLOR_LIGHT, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_ICON_COLOR_LIGHTRED, GL_BROADCAST_BANNER_ICON_COLOR_RED, GL_BROADCAST_BANNER_TEXT_COLOR_BLUE, GL_BROADCAST_BANNER_TEXT_COLOR_DARK, GL_BROADCAST_BANNER_TEXT_COLOR_GREEN, GL_BROADCAST_BANNER_TEXT_COLOR_INDIGO, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHT, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTBLUE, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTGREEN, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTINDIGO, GL_BROADCAST_BANNER_TEXT_COLOR_LIGHTRED, GL_BROADCAST_BANNER_TEXT_COLOR_RED, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_PRIMARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_ACTIVE, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_DEFAULT, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_FOCUS, GL_BUTTON_CONFIRM_PRIMARY_BORDER_COLOR_HOVER, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_PRIMARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_SECONDARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_ACTIVE, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_DEFAULT, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_FOCUS, GL_BUTTON_CONFIRM_SECONDARY_BORDER_COLOR_HOVER, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_SECONDARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_TERTIARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_ACTIVE, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_DEFAULT, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_FOCUS, GL_BUTTON_CONFIRM_TERTIARY_BORDER_COLOR_HOVER, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_CONFIRM_TERTIARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_PRIMARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_FOCUS, GL_BUTTON_DANGER_PRIMARY_BORDER_COLOR_HOVER, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_PRIMARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_SECONDARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_FOCUS, GL_BUTTON_DANGER_SECONDARY_BORDER_COLOR_HOVER, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_SECONDARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_TERTIARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_FOCUS, GL_BUTTON_DANGER_TERTIARY_BORDER_COLOR_HOVER, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DANGER_TERTIARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DASHED_BORDER_COLOR_ACTIVE, GL_BUTTON_DASHED_BORDER_COLOR_DEFAULT, GL_BUTTON_DASHED_BORDER_COLOR_FOCUS, GL_BUTTON_DASHED_BORDER_COLOR_HOVER, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_PRIMARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_FOCUS, GL_BUTTON_DEFAULT_PRIMARY_BORDER_COLOR_HOVER, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_PRIMARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_TERTIARY_BACKGROUND_COLOR_HOVER, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_ACTIVE, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_DEFAULT, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_FOCUS, GL_BUTTON_DEFAULT_TERTIARY_BORDER_COLOR_HOVER, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_FOCUS, GL_BUTTON_DEFAULT_TERTIARY_FOREGROUND_COLOR_HOVER, GL_BUTTON_DISABLED_BACKGROUND_COLOR, GL_BUTTON_DISABLED_BORDER_COLOR, GL_BUTTON_DISABLED_FOREGROUND_COLOR, GL_BUTTON_LINK_TEXT_COLOR_ACTIVE, GL_BUTTON_LINK_TEXT_COLOR_DEFAULT, GL_BUTTON_LINK_TEXT_COLOR_FOCUS, GL_BUTTON_LINK_TEXT_COLOR_HOVER, GL_BUTTON_SELECTED_BACKGROUND_COLOR_ACTIVE, GL_BUTTON_SELECTED_BACKGROUND_COLOR_DEFAULT, GL_BUTTON_SELECTED_BACKGROUND_COLOR_FOCUS, GL_BUTTON_SELECTED_BACKGROUND_COLOR_HOVER, GL_BUTTON_SELECTED_BORDER_COLOR_ACTIVE, GL_BUTTON_SELECTED_BORDER_COLOR_DEFAULT, GL_BUTTON_SELECTED_BORDER_COLOR_FOCUS, GL_BUTTON_SELECTED_BORDER_COLOR_HOVER, GL_BUTTON_SELECTED_FOREGROUND_COLOR_ACTIVE, GL_BUTTON_SELECTED_FOREGROUND_COLOR_DEFAULT, GL_BUTTON_SELECTED_FOREGROUND_COLOR_FOCUS, GL_BUTTON_SELECTED_FOREGROUND_COLOR_HOVER, GL_COLOR_ALPHA_0, GL_COLOR_ALPHA_DARK_16, GL_COLOR_ALPHA_DARK_2, GL_COLOR_ALPHA_DARK_24, GL_COLOR_ALPHA_DARK_4, GL_COLOR_ALPHA_DARK_40, GL_COLOR_ALPHA_DARK_6, GL_COLOR_ALPHA_DARK_8, GL_COLOR_ALPHA_LIGHT_16, GL_COLOR_ALPHA_LIGHT_2, GL_COLOR_ALPHA_LIGHT_24, GL_COLOR_ALPHA_LIGHT_36, GL_COLOR_ALPHA_LIGHT_4, GL_COLOR_ALPHA_LIGHT_6, GL_COLOR_ALPHA_LIGHT_8, GL_COLOR_BLUE_100, GL_COLOR_BLUE_200, GL_COLOR_BLUE_300, GL_COLOR_BLUE_400, GL_COLOR_BLUE_50, GL_COLOR_BLUE_500, GL_COLOR_BLUE_600, GL_COLOR_BLUE_700, GL_COLOR_BLUE_800, GL_COLOR_BLUE_900, GL_COLOR_BLUE_950, GL_COLOR_BRAND_CHARCOAL, GL_COLOR_BRAND_GRAY_01, GL_COLOR_BRAND_GRAY_02, GL_COLOR_BRAND_GRAY_03, GL_COLOR_BRAND_GRAY_04, GL_COLOR_BRAND_GRAY_05, GL_COLOR_BRAND_ORANGE_01G, GL_COLOR_BRAND_ORANGE_01P, GL_COLOR_BRAND_ORANGE_02P, GL_COLOR_BRAND_ORANGE_03P, GL_COLOR_BRAND_PINK_01G, GL_COLOR_BRAND_PURPLE_01G, GL_COLOR_BRAND_PURPLE_01P, GL_COLOR_BRAND_PURPLE_02P, GL_COLOR_BRAND_WHITE, GL_COLOR_GREEN_100, GL_COLOR_GREEN_200, GL_COLOR_GREEN_300, GL_COLOR_GREEN_400, GL_COLOR_GREEN_50, GL_COLOR_GREEN_500, GL_COLOR_GREEN_600, GL_COLOR_GREEN_700, GL_COLOR_GREEN_800, GL_COLOR_GREEN_900, GL_COLOR_GREEN_950, GL_COLOR_NEUTRAL_0, GL_COLOR_NEUTRAL_10, GL_COLOR_NEUTRAL_100, GL_COLOR_NEUTRAL_1000, GL_COLOR_NEUTRAL_200, GL_COLOR_NEUTRAL_300, GL_COLOR_NEUTRAL_400, GL_COLOR_NEUTRAL_50, GL_COLOR_NEUTRAL_500, GL_COLOR_NEUTRAL_600, GL_COLOR_NEUTRAL_700, GL_COLOR_NEUTRAL_800, GL_COLOR_NEUTRAL_900, GL_COLOR_NEUTRAL_950, GL_COLOR_ORANGE_100, GL_COLOR_ORANGE_200, GL_COLOR_ORANGE_300, GL_COLOR_ORANGE_400, GL_COLOR_ORANGE_50, GL_COLOR_ORANGE_500, GL_COLOR_ORANGE_600, GL_COLOR_ORANGE_700, GL_COLOR_ORANGE_800, GL_COLOR_ORANGE_900, GL_COLOR_ORANGE_950, GL_COLOR_PURPLE_100, GL_COLOR_PURPLE_200, GL_COLOR_PURPLE_300, GL_COLOR_PURPLE_400, GL_COLOR_PURPLE_50, GL_COLOR_PURPLE_500, GL_COLOR_PURPLE_600, GL_COLOR_PURPLE_700, GL_COLOR_PURPLE_800, GL_COLOR_PURPLE_900, GL_COLOR_PURPLE_950, GL_COLOR_RED_100, GL_COLOR_RED_200, GL_COLOR_RED_300, GL_COLOR_RED_400, GL_COLOR_RED_50, GL_COLOR_RED_500, GL_COLOR_RED_600, GL_COLOR_RED_700, GL_COLOR_RED_800, GL_COLOR_RED_900, GL_COLOR_RED_950, GL_COLOR_THEME_BLUE_10, GL_COLOR_THEME_BLUE_100, GL_COLOR_THEME_BLUE_200, GL_COLOR_THEME_BLUE_300, GL_COLOR_THEME_BLUE_400, GL_COLOR_THEME_BLUE_50, GL_COLOR_THEME_BLUE_500, GL_COLOR_THEME_BLUE_600, GL_COLOR_THEME_BLUE_700, GL_COLOR_THEME_BLUE_800, GL_COLOR_THEME_BLUE_900, GL_COLOR_THEME_BLUE_950, GL_COLOR_THEME_GREEN_10, GL_COLOR_THEME_GREEN_100, GL_COLOR_THEME_GREEN_200, GL_COLOR_THEME_GREEN_300, GL_COLOR_THEME_GREEN_400, GL_COLOR_THEME_GREEN_50, GL_COLOR_THEME_GREEN_500, GL_COLOR_THEME_GREEN_600, GL_COLOR_THEME_GREEN_700, GL_COLOR_THEME_GREEN_800, GL_COLOR_THEME_GREEN_900, GL_COLOR_THEME_GREEN_950, GL_COLOR_THEME_INDIGO_10, GL_COLOR_THEME_INDIGO_100, GL_COLOR_THEME_INDIGO_200, GL_COLOR_THEME_INDIGO_300, GL_COLOR_THEME_INDIGO_400, GL_COLOR_THEME_INDIGO_50, GL_COLOR_THEME_INDIGO_500, GL_COLOR_THEME_INDIGO_600, GL_COLOR_THEME_INDIGO_700, GL_COLOR_THEME_INDIGO_800, GL_COLOR_THEME_INDIGO_900, GL_COLOR_THEME_INDIGO_950, GL_COLOR_THEME_LIGHT_BLUE_10, GL_COLOR_THEME_LIGHT_BLUE_100, GL_COLOR_THEME_LIGHT_BLUE_200, GL_COLOR_THEME_LIGHT_BLUE_300, GL_COLOR_THEME_LIGHT_BLUE_400, GL_COLOR_THEME_LIGHT_BLUE_50, GL_COLOR_THEME_LIGHT_BLUE_500, GL_COLOR_THEME_LIGHT_BLUE_600, GL_COLOR_THEME_LIGHT_BLUE_700, GL_COLOR_THEME_LIGHT_BLUE_800, GL_COLOR_THEME_LIGHT_BLUE_900, GL_COLOR_THEME_LIGHT_BLUE_950, GL_COLOR_THEME_LIGHT_RED_10, GL_COLOR_THEME_LIGHT_RED_100, GL_COLOR_THEME_LIGHT_RED_200, GL_COLOR_THEME_LIGHT_RED_300, GL_COLOR_THEME_LIGHT_RED_400, GL_COLOR_THEME_LIGHT_RED_50, GL_COLOR_THEME_LIGHT_RED_500, GL_COLOR_THEME_LIGHT_RED_600, GL_COLOR_THEME_LIGHT_RED_700, GL_COLOR_THEME_LIGHT_RED_800, GL_COLOR_THEME_LIGHT_RED_900, GL_COLOR_THEME_LIGHT_RED_950, GL_COLOR_THEME_RED_10, GL_COLOR_THEME_RED_100, GL_COLOR_THEME_RED_200, GL_COLOR_THEME_RED_300, GL_COLOR_THEME_RED_400, GL_COLOR_THEME_RED_50, GL_COLOR_THEME_RED_500, GL_COLOR_THEME_RED_600, GL_COLOR_THEME_RED_700, GL_COLOR_THEME_RED_800, GL_COLOR_THEME_RED_900, GL_COLOR_THEME_RED_950, GL_CONTROL_BACKGROUND_COLOR_CONCATENATION, GL_CONTROL_BACKGROUND_COLOR_DEFAULT, GL_CONTROL_BACKGROUND_COLOR_DISABLED, GL_CONTROL_BACKGROUND_COLOR_READONLY, GL_CONTROL_BACKGROUND_COLOR_SELECTED_DEFAULT, GL_CONTROL_BACKGROUND_COLOR_SELECTED_FOCUS, GL_CONTROL_BACKGROUND_COLOR_SELECTED_HOVER, GL_CONTROL_BORDER_COLOR_DEFAULT, GL_CONTROL_BORDER_COLOR_DISABLED, GL_CONTROL_BORDER_COLOR_ERROR, GL_CONTROL_BORDER_COLOR_FOCUS, GL_CONTROL_BORDER_COLOR_HOVER, GL_CONTROL_BORDER_COLOR_SELECTED_DEFAULT, GL_CONTROL_BORDER_COLOR_SELECTED_FOCUS, GL_CONTROL_BORDER_COLOR_SELECTED_HOVER, GL_CONTROL_INDICATOR_COLOR_DISABLED, GL_CONTROL_INDICATOR_COLOR_SELECTED, GL_CONTROL_PLACEHOLDER_COLOR, GL_CONTROL_TEXT_COLOR_ERROR, GL_CONTROL_TEXT_COLOR_VALID, GL_DATEPICKER_BACKGROUND_COLOR, GL_DATEPICKER_DATE_TEXT_COLOR_SELECTED, GL_DROPDOWN_BACKGROUND_COLOR, GL_DROPDOWN_BORDER_COLOR, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_ACTIVE, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_DEFAULT, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_FOCUS, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_SELECTED_HOVER, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_ACTIVE, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_DEFAULT, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_FOCUS, GL_DROPDOWN_OPTION_BACKGROUND_COLOR_UNSELECTED_HOVER, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_ACTIVE, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_DEFAULT, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_FOCUS, GL_DROPDOWN_OPTION_INDICATOR_COLOR_SELECTED_HOVER, GL_DROPDOWN_OPTION_TEXT_COLOR_ACTIVE, GL_DROPDOWN_OPTION_TEXT_COLOR_DEFAULT, GL_DROPDOWN_OPTION_TEXT_COLOR_DISABLED, GL_DROPDOWN_OPTION_TEXT_COLOR_FOCUS, GL_DROPDOWN_OPTION_TEXT_COLOR_HOVER, GL_FEEDBACK_DANGER_BACKGROUND_COLOR, GL_FEEDBACK_DANGER_ICON_COLOR, GL_FEEDBACK_DANGER_TEXT_COLOR, GL_FEEDBACK_INFO_BACKGROUND_COLOR, GL_FEEDBACK_INFO_ICON_COLOR, GL_FEEDBACK_INFO_TEXT_COLOR, GL_FEEDBACK_NEUTRAL_BACKGROUND_COLOR, GL_FEEDBACK_NEUTRAL_ICON_COLOR, GL_FEEDBACK_NEUTRAL_TEXT_COLOR, GL_FEEDBACK_STRONG_BACKGROUND_COLOR, GL_FEEDBACK_STRONG_ICON_COLOR, GL_FEEDBACK_STRONG_LINK_COLOR, GL_FEEDBACK_STRONG_TEXT_COLOR, GL_FEEDBACK_SUCCESS_BACKGROUND_COLOR, GL_FEEDBACK_SUCCESS_ICON_COLOR, GL_FEEDBACK_SUCCESS_TEXT_COLOR, GL_FEEDBACK_WARNING_BACKGROUND_COLOR, GL_FEEDBACK_WARNING_ICON_COLOR, GL_FEEDBACK_WARNING_TEXT_COLOR, GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_DEFAULT, GL_FILTERED_SEARCH_TOKEN_DATA_BACKGROUND_COLOR_HOVER, GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_DEFAULT, GL_FILTERED_SEARCH_TOKEN_OPERATOR_BACKGROUND_COLOR_HOVER, GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_DEFAULT, GL_FILTERED_SEARCH_TOKEN_TYPE_BACKGROUND_COLOR_HOVER, GL_FOCUS_RING_INNER_COLOR, GL_FOCUS_RING_OUTER_COLOR, GL_ICON_COLOR_DANGER, GL_ICON_COLOR_DEFAULT, GL_ICON_COLOR_DISABLED, GL_ICON_COLOR_INFO, GL_ICON_COLOR_LINK, GL_ICON_COLOR_STRONG, GL_ICON_COLOR_SUBTLE, GL_ICON_COLOR_SUCCESS, GL_ICON_COLOR_WARNING, GL_ILLUSTRATION_ACCENT_FILL_COLOR_ORANGE, GL_ILLUSTRATION_ACCENT_FILL_COLOR_STRONG, GL_ILLUSTRATION_ACCENT_FILL_COLOR_SUBTLE, GL_ILLUSTRATION_ACCENT_FILL_COLOR_TEAL, GL_ILLUSTRATION_ACCENT_STROKE_COLOR_ORANGE, GL_ILLUSTRATION_ACCENT_STROKE_COLOR_STRONG, GL_ILLUSTRATION_ACCENT_STROKE_COLOR_TEAL, GL_ILLUSTRATION_BASE_FILL_COLOR, GL_ILLUSTRATION_FILL_COLOR_DEFAULT, GL_ILLUSTRATION_ISOMETRIC_ACCENT_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_ACCENT_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_ACCENT_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_BASE_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_BASE_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_BASE_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_SHADOW_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_GLYPH_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_FRONT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_HIGHLIGHT_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_SHADOW_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_SIDE_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_OBJECT_TOP_FILL_COLOR, GL_ILLUSTRATION_ISOMETRIC_STROKE_COLOR_DEFAULT, GL_ILLUSTRATION_ISOMETRIC_STROKE_WIDTH_DEFAULT, GL_ILLUSTRATION_STATUS_FILL_COLOR_DANGER, GL_ILLUSTRATION_STATUS_FILL_COLOR_NEUTRAL, GL_ILLUSTRATION_STATUS_FILL_COLOR_SUCCESS, GL_ILLUSTRATION_STATUS_FILL_COLOR_WARNING, GL_ILLUSTRATION_STROKE_COLOR_DEFAULT, GL_ILLUSTRATION_STROKE_WIDTH_DEFAULT, GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_DEFAULT, GL_LABEL_DARK_BUTTON_BACKGROUND_COLOR_HOVER, GL_LABEL_DARK_BUTTON_ICON_COLOR_DEFAULT, GL_LABEL_DARK_TEXT_COLOR, GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_DEFAULT, GL_LABEL_LIGHT_BUTTON_BACKGROUND_COLOR_HOVER, GL_LABEL_LIGHT_BUTTON_ICON_COLOR_DEFAULT, GL_LABEL_LIGHT_TEXT_COLOR, GL_LABEL_SCOPED_BUTTON_BACKGROUND_COLOR_HOVER, GL_LABEL_SCOPED_BUTTON_ICON_COLOR_DEFAULT, GL_LABEL_SCOPED_BUTTON_ICON_COLOR_HOVER, GL_LABEL_SCOPED_TEXT_COLOR, GL_LINE_HEIGHT_12, GL_LINE_HEIGHT_16, GL_LINE_HEIGHT_20, GL_LINE_HEIGHT_24, GL_LINE_HEIGHT_28, GL_LINE_HEIGHT_32, GL_LINE_HEIGHT_36, GL_LINE_HEIGHT_42, GL_LINE_HEIGHT_44, GL_LINE_HEIGHT_52, GL_LINK_MENTION_BACKGROUND_COLOR_CURRENT, GL_LINK_MENTION_BACKGROUND_COLOR_DEFAULT, GL_LINK_MENTION_TEXT_COLOR_CURRENT, GL_LINK_MENTION_TEXT_COLOR_DEFAULT, GL_PROGRESS_BAR_INDICATOR_COLOR_DANGER, GL_PROGRESS_BAR_INDICATOR_COLOR_DEFAULT, GL_PROGRESS_BAR_INDICATOR_COLOR_SUCCESS, GL_PROGRESS_BAR_INDICATOR_COLOR_WARNING, GL_PROGRESS_BAR_TRACK_COLOR, GL_SHADOW_COLOR_DEFAULT, GL_SKELETON_LOADER_BACKGROUND_COLOR, GL_SKELETON_LOADER_SHIMMER_COLOR, GL_SPINNER_SEGMENT_COLOR_DEFAULT, GL_SPINNER_SEGMENT_COLOR_LIGHT, GL_SPINNER_TRACK_COLOR_DEFAULT, GL_SPINNER_TRACK_COLOR_LIGHT, GL_STATUS_BRAND_BACKGROUND_COLOR, GL_STATUS_BRAND_ICON_COLOR, GL_STATUS_BRAND_TEXT_COLOR, GL_STATUS_DANGER_BACKGROUND_COLOR, GL_STATUS_DANGER_ICON_COLOR, GL_STATUS_DANGER_TEXT_COLOR, GL_STATUS_INFO_BACKGROUND_COLOR, GL_STATUS_INFO_ICON_COLOR, GL_STATUS_INFO_TEXT_COLOR, GL_STATUS_NEUTRAL_BACKGROUND_COLOR, GL_STATUS_NEUTRAL_ICON_COLOR, GL_STATUS_NEUTRAL_TEXT_COLOR, GL_STATUS_SUCCESS_BACKGROUND_COLOR, GL_STATUS_SUCCESS_ICON_COLOR, GL_STATUS_SUCCESS_TEXT_COLOR, GL_STATUS_WARNING_BACKGROUND_COLOR, GL_STATUS_WARNING_ICON_COLOR, GL_STATUS_WARNING_TEXT_COLOR, GL_TABLE_ROW_BACKGROUND_COLOR_HOVER, GL_TABLE_SORTING_ICON_COLOR, GL_TAB_SELECTED_INDICATOR_COLOR_DEFAULT, GL_TEXT_COLOR_DANGER, GL_TEXT_COLOR_DEFAULT, GL_TEXT_COLOR_DISABLED, GL_TEXT_COLOR_HEADING, GL_TEXT_COLOR_LINK, GL_TEXT_COLOR_STRONG, GL_TEXT_COLOR_SUBTLE, GL_TEXT_COLOR_SUCCESS, GL_TEXT_COLOR_WARNING, GL_TEXT_PRIMARY, GL_TEXT_SECONDARY, GL_TEXT_TERTIARY, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_ACTIVE, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_DEFAULT, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_FOCUS, GL_TOGGLE_SWITCH_ICON_COLOR_CHECKED_HOVER, GL_TOGGLE_SWITCH_ICON_COLOR_DISABLED, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_ACTIVE, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_DEFAULT, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_FOCUS, GL_TOGGLE_SWITCH_ICON_COLOR_UNCHECKED_HOVER, GL_TOKEN_BACKGROUND_COLOR, GL_TOKEN_FOREGROUND_COLOR, GL_TOKEN_SELECTOR_TOKEN_CONTAINER_TOKEN_BACKGROUND_COLOR_FOCUS, GRAY_10, GRAY_100, GRAY_200, GRAY_300, GRAY_400, GRAY_50, GRAY_500, GRAY_600, GRAY_700, GRAY_800, GRAY_900, GRAY_950, GREEN_100, GREEN_200, GREEN_300, GREEN_400, GREEN_50, GREEN_500, GREEN_600, GREEN_700, GREEN_800, GREEN_900, GREEN_950, ORANGE_100, ORANGE_200, ORANGE_300, ORANGE_400, ORANGE_50, ORANGE_500, ORANGE_600, ORANGE_700, ORANGE_800, ORANGE_900, ORANGE_950, PURPLE_100, PURPLE_200, PURPLE_300, PURPLE_400, PURPLE_50, PURPLE_500, PURPLE_600, PURPLE_700, PURPLE_800, PURPLE_900, PURPLE_950, RED_100, RED_200, RED_300, RED_400, RED_50, RED_500, RED_600, RED_700, RED_800, RED_900, RED_950, THEME_BLUE_10, THEME_BLUE_100, THEME_BLUE_200, THEME_BLUE_300, THEME_BLUE_400, THEME_BLUE_50, THEME_BLUE_500, THEME_BLUE_600, THEME_BLUE_700, THEME_BLUE_800, THEME_BLUE_900, THEME_BLUE_950, THEME_GREEN_10, THEME_GREEN_100, THEME_GREEN_200, THEME_GREEN_300, THEME_GREEN_400, THEME_GREEN_50, THEME_GREEN_500, THEME_GREEN_600, THEME_GREEN_700, THEME_GREEN_800, THEME_GREEN_900, THEME_GREEN_950, THEME_INDIGO_10, THEME_INDIGO_100, THEME_INDIGO_200, THEME_INDIGO_300, THEME_INDIGO_400, THEME_INDIGO_50, THEME_INDIGO_500, THEME_INDIGO_600, THEME_INDIGO_700, THEME_INDIGO_800, THEME_INDIGO_900, THEME_INDIGO_950, THEME_LIGHT_BLUE_10, THEME_LIGHT_BLUE_100, THEME_LIGHT_BLUE_200, THEME_LIGHT_BLUE_300, THEME_LIGHT_BLUE_400, THEME_LIGHT_BLUE_50, THEME_LIGHT_BLUE_500, THEME_LIGHT_BLUE_600, THEME_LIGHT_BLUE_700, THEME_LIGHT_BLUE_800, THEME_LIGHT_BLUE_900, THEME_LIGHT_BLUE_950, THEME_LIGHT_RED_10, THEME_LIGHT_RED_100, THEME_LIGHT_RED_200, THEME_LIGHT_RED_300, THEME_LIGHT_RED_400, THEME_LIGHT_RED_50, THEME_LIGHT_RED_500, THEME_LIGHT_RED_600, THEME_LIGHT_RED_700, THEME_LIGHT_RED_800, THEME_LIGHT_RED_900, THEME_LIGHT_RED_950, THEME_RED_10, THEME_RED_100, THEME_RED_200, THEME_RED_300, THEME_RED_400, THEME_RED_50, THEME_RED_500, THEME_RED_600, THEME_RED_700, THEME_RED_800, THEME_RED_900, THEME_RED_950, T_GRAY_A_02, T_GRAY_A_04, T_GRAY_A_06, T_GRAY_A_08, T_GRAY_A_16, T_GRAY_A_24, T_WHITE_A_02, T_WHITE_A_04, T_WHITE_A_06, T_WHITE_A_08, T_WHITE_A_16, T_WHITE_A_24, T_WHITE_A_36, WHITE };\n","import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'GlButtonGroup',\n props: {\n /**\n * When set, rendered the button group in vertical mode.\n */\n vertical: {\n type: Boolean,\n required: false,\n default: false\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g({class:!_vm.vertical ? 'btn-group' : 'btn-group-vertical',attrs:{\"role\":\"group\"}},_vm.$listeners),[_vm._t(\"default\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","import merge from 'lodash/merge';\nimport { GRAY_200 } from '../../../tokens/build/js/tokens';\nimport { symbolSize, lineStyle, getThresholdConfig, generateAnnotationSeries, defaultChartOptions, dataZoomAdjustments, mergeSeriesToOptions, mergeAnnotationAxisToOptions, grid } from '../../../utils/charts/config';\nimport { LEGEND_AVERAGE_TEXT, LEGEND_MAX_TEXT, LEGEND_MIN_TEXT, LEGEND_CURRENT_TEXT, LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE, HEIGHT_AUTO_CLASSES } from '../../../utils/charts/constants';\nimport { colorFromDefaultPalette } from '../../../utils/charts/theme';\nimport { seriesHasAnnotations, isDataPointAnnotation } from '../../../utils/charts/utils';\nimport Chart from '../chart/chart';\nimport ChartLegend from '../legend/legend';\nimport ChartTooltip from '../tooltip/tooltip';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n name: 'GlLineChart',\n components: {\n Chart,\n ChartLegend,\n ChartTooltip\n },\n inheritAttrs: false,\n props: {\n data: {\n type: Array,\n required: true\n },\n option: {\n type: Object,\n required: false,\n default: () => ({})\n },\n thresholds: {\n type: Array,\n required: false,\n default: () => []\n },\n annotations: {\n type: Array,\n required: false,\n default: () => []\n },\n includeLegendAvgMax: {\n type: Boolean,\n required: false,\n default: true\n },\n /**\n * Callback called when showing or refreshing a tooltip.\n * **Deprecated:** Use slots `#tooltip-title`, `#tooltip-content` or `#tooltip-value`.\n *\n * @deprecated Use slots `#tooltip-title`, `#tooltip-content` or `#tooltip-value`.\n */\n formatTooltipText: {\n type: Function,\n required: false,\n default: null\n },\n legendAverageText: {\n type: String,\n required: false,\n default: LEGEND_AVERAGE_TEXT\n },\n legendMaxText: {\n type: String,\n required: false,\n default: LEGEND_MAX_TEXT\n },\n legendMinText: {\n type: String,\n required: false,\n default: LEGEND_MIN_TEXT\n },\n legendCurrentText: {\n type: String,\n required: false,\n default: LEGEND_CURRENT_TEXT\n },\n legendLayout: {\n type: String,\n required: false,\n default: LEGEND_LAYOUT_INLINE,\n validator(layout) {\n return [LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE].indexOf(layout) !== -1;\n }\n },\n showLegend: {\n type: Boolean,\n required: false,\n default: true\n },\n /**\n * Sets the chart's height in pixels. Set to `\"auto\"` to use the height of the container.\n */\n height: {\n type: [Number, String],\n required: false,\n default: null\n }\n },\n data() {\n // Part of the tooltip related data can be\n // moved into the tooltip component.\n // Tracking that progress in\n // https://gitlab.com/gitlab-org/gitlab-ui/-/issues/618\n return {\n chart: null,\n showAnnotationsTooltip: false,\n annotationsTooltipTitle: '',\n annotationsTooltipContent: '',\n annotationsTooltipPosition: {\n left: '0',\n top: '0'\n }\n };\n },\n computed: {\n series() {\n const dataSeries = this.data.map((series, index) => {\n const defaultColor = colorFromDefaultPalette(index);\n const getColor = type => {\n var _series$type$color, _series$type;\n return (_series$type$color = (_series$type = series[type]) === null || _series$type === void 0 ? void 0 : _series$type.color) !== null && _series$type$color !== void 0 ? _series$type$color : defaultColor;\n };\n return merge({\n showSymbol: true,\n lineStyle: {\n color: getColor('lineStyle')\n },\n itemStyle: {\n color: getColor('itemStyle')\n }\n }, symbolSize, lineStyle, series, getThresholdConfig(this.thresholds));\n });\n // if annotation series exists, append it\n // along with data series\n if (this.annotationSeries) {\n return [...dataSeries, this.annotationSeries];\n }\n return dataSeries;\n },\n annotationSeries() {\n return generateAnnotationSeries(this.annotations);\n },\n options() {\n const defaultLineChartOptions = {\n xAxis: {\n axisPointer: {\n show: true,\n label: {\n formatter: this.formatTooltipText\n }\n },\n axisTick: {\n alignWithLabel: true,\n show: true,\n lineStyle: {\n color: GRAY_200\n }\n }\n },\n legend: {\n show: false\n }\n };\n const mergedOptions = merge({}, defaultChartOptions, defaultLineChartOptions, this.option, dataZoomAdjustments(this.option.dataZoom));\n // All chart options can be merged but series\n // needs to be handled specially\n return mergeSeriesToOptions(mergeAnnotationAxisToOptions(mergedOptions, this.hasAnnotations), this.series);\n },\n /**\n * Annotations currently are passed as series options in monitoring dashboard.\n * Once https://gitlab.com/gitlab-org/gitlab/-/issues/213390 is closed,\n * annotations will be passed as props and not as series options.\n *\n * For backward compatibility, we're having to check for both.\n */\n hasAnnotations() {\n return this.annotations.length !== 0 || seriesHasAnnotations(this.option.series);\n },\n shouldShowAnnotationsTooltip() {\n return this.chart && this.hasAnnotations;\n },\n compiledOptions() {\n return this.chart ? this.chart.getOption() : null;\n },\n legendStyle() {\n return {\n paddingLeft: `${grid.left}px`\n };\n },\n hasLegend() {\n return this.compiledOptions && this.showLegend;\n },\n seriesInfo() {\n return this.compiledOptions.series.reduce((acc, series, index) => {\n if (series.type === 'line') {\n acc.push({\n name: series.name,\n type: series.lineStyle.type,\n color: series.lineStyle.color || colorFromDefaultPalette(index),\n data: this.includeLegendAvgMax ? series.data.map(data => data[1]) : undefined\n });\n }\n return acc;\n }, []);\n },\n autoHeight() {\n return this.height === 'auto';\n }\n },\n beforeDestroy() {\n this.chart.off('mouseout', this.onChartDataPointMouseOut);\n this.chart.off('mouseover', this.onChartDataPointMouseOver);\n },\n methods: {\n defaultAnnotationTooltipText(params) {\n var _params$data$tooltipD;\n return {\n title: params.data.xAxis,\n content: (_params$data$tooltipD = params.data.tooltipData) === null || _params$data$tooltipD === void 0 ? void 0 : _params$data$tooltipD.content\n };\n },\n onCreated(chart) {\n // eCharts inbuild mouse events\n // https://echarts.apache.org/en/api.html#events.Mouse%20events\n // is used to attach listeners to markPoints. These listeners\n // are currently used for annotation arrows at the bottom of the chart.\n\n // Because data points and annotations arrows are in different\n // sections of the charts with their own mouseovers and mouseouts,\n // there shouldn't be an overlapping situation where both tooltips\n // are visible.\n\n if (this.hasAnnotations) {\n chart.on('mouseout', this.onChartDataPointMouseOut);\n chart.on('mouseover', this.onChartDataPointMouseOver);\n }\n this.chart = chart;\n this.$emit('created', chart);\n },\n onChartDataPointMouseOut() {\n this.showAnnotationsTooltip = false;\n },\n /**\n * Check if the hovered data point is an annotation\n * point to show the annotation tooltip.\n */\n onChartDataPointMouseOver(params) {\n if (isDataPointAnnotation(params)) {\n const {\n event\n } = params;\n const toolTipFormatter = this.formatAnnotationsTooltipText || this.defaultAnnotationTooltipText;\n const {\n title = '',\n content = ''\n } = toolTipFormatter(params);\n this.showAnnotationsTooltip = true;\n this.annotationsTooltipTitle = title;\n this.annotationsTooltipContent = content;\n this.annotationsTooltipPosition = {\n left: `${event.event.zrX}px`,\n top: `${event.event.zrY}px`\n };\n }\n }\n },\n HEIGHT_AUTO_CLASSES\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-relative\",class:( _obj = {}, _obj[_vm.$options.HEIGHT_AUTO_CLASSES] = _vm.autoHeight, _obj )},[_c('chart',_vm._g(_vm._b({class:{ 'gl-grow': _vm.autoHeight },attrs:{\"height\":_vm.height,\"options\":_vm.options},on:{\"created\":_vm.onCreated}},'chart',_vm.$attrs,false),_vm.$listeners)),_vm._v(\" \"),(_vm.shouldShowAnnotationsTooltip)?_c('chart-tooltip',{ref:\"annotationsTooltip\",attrs:{\"id\":\"annotationsTooltip\",\"show\":_vm.showAnnotationsTooltip,\"chart\":_vm.chart,\"top\":_vm.annotationsTooltipPosition.top,\"left\":_vm.annotationsTooltipPosition.left,\"placement\":\"bottom\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('div',[_vm._v(_vm._s(_vm.annotationsTooltipTitle))])]},proxy:true}],null,false,1889294429)},[_vm._v(\" \"),_c('div',[_vm._v(_vm._s(_vm.annotationsTooltipContent))])]):_vm._e(),_vm._v(\" \"),(_vm.chart)?_c('chart-tooltip',{ref:\"dataTooltip\",attrs:{\"chart\":_vm.chart,\"use-default-tooltip-formatter\":!_vm.formatTooltipText},scopedSlots:_vm._u([(_vm.$scopedSlots['tooltip-title'])?{key:\"title\",fn:function(scope){return [_vm._t(\"tooltip-title\",null,null,scope)]}}:null,(_vm.$scopedSlots['tooltip-content'])?{key:\"default\",fn:function(scope){return [_vm._t(\"tooltip-content\",null,null,scope)]}}:null,(_vm.$scopedSlots['tooltip-value'])?{key:\"tooltip-value\",fn:function(scope){return [_vm._t(\"tooltip-value\",null,null,scope)]}}:null],null,true)}):_vm._e(),_vm._v(\" \"),(_vm.hasLegend)?_c('chart-legend',{style:(_vm.legendStyle),attrs:{\"chart\":_vm.chart,\"series-info\":_vm.seriesInfo,\"text-style\":_vm.compiledOptions.textStyle,\"min-text\":_vm.legendMinText,\"max-text\":_vm.legendMaxText,\"average-text\":_vm.legendAverageText,\"current-text\":_vm.legendCurrentText,\"layout\":_vm.legendLayout}}):_vm._e()],1)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"burndown-header gl-flex gl-flex-wrap gl-items-center gl-gap-2\"},[_c('strong',{ref:\"filterLabel\"},[_vm._v(_vm._s(_vm.__('Display by')))]),_vm._v(\" \"),_c('gl-segmented-control',{attrs:{\"value\":_vm.filterBySelectedValue,\"options\":_vm.$options.filterByOptions},on:{\"input\":_vm.handleFilterByChanged}}),_vm._v(\" \"),(_vm.showNewOldBurndownToggle)?_c('gl-button-group',{staticClass:\"gl-pl-2\"},[_c('gl-button',{ref:\"newBurndown\",attrs:{\"selected\":!_vm.useLegacyBurndown},on:{\"click\":function($event){return _vm.toggleLegacyBurndown(false)}}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Fixed burndown chart'))+\"\\n \")]),_vm._v(\" \"),_c('gl-button',{ref:\"oldBurndown\",attrs:{\"selected\":_vm.useLegacyBurndown},on:{\"click\":function($event){return _vm.toggleLegacyBurndown(true)}}},[_vm._v(\"\\n \"+_vm._s(_vm.__('Legacy burndown chart'))+\"\\n \")])],1):_vm._e()],1),_vm._v(\" \"),(_vm.iterationId)?[(_vm.isClosed)?_c('timebox-summary-cards',{attrs:{\"columns\":_vm.columns,\"loading\":_vm.loading,\"total\":_vm.report.stats.total}}):_c('open-timebox-summary',{attrs:{\"full-path\":_vm.fullPath,\"iteration-id\":_vm.iterationId,\"namespace-type\":_vm.namespaceType,\"display-value\":_vm.displayValue},scopedSlots:_vm._u([{key:\"default\",fn:function({ columns: openColumns, loading: summaryLoading, total }){return [_c('timebox-summary-cards',{attrs:{\"columns\":openColumns,\"loading\":summaryLoading,\"total\":total}})]}}],null,false,2009107020)})]:_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[(_vm.error)?_c('gl-alert',{staticClass:\"col-12\",attrs:{\"variant\":\"danger\"},on:{\"dismiss\":function($event){_vm.error = null}}},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('burndown-chart',{staticClass:\"col-md-6\",attrs:{\"start-date\":_vm.startDate,\"due-date\":_vm.dueDate,\"open-issues-count\":_vm.issuesCount,\"open-issues-weight\":_vm.issuesWeight,\"issues-selected\":_vm.issuesSelected,\"loading\":_vm.loading}}),_vm._v(\" \"),_c('burnup-chart',{staticClass:\"col-md-6\",attrs:{\"start-date\":_vm.startDate,\"due-date\":_vm.dueDate,\"burnup-data\":_vm.burnupData,\"issues-selected\":_vm.issuesSelected,\"loading\":_vm.loading}})],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import dateFormat from '~/lib/dateformat';\n\nexport default class BurnChartData {\n constructor(events, startDate, dueDate) {\n this.dateFormatMask = 'yyyy-mm-dd';\n this.startDate = startDate;\n this.dueDate = dueDate;\n\n // determine when to stop burndown chart\n const today = dateFormat(Date.now(), this.dateFormatMask);\n this.endDate = today < this.dueDate ? today : this.dueDate;\n\n // Make sure we get the burndown chart local start and end dates! new Date()\n // and dateFormat() both convert the date at midnight UTC to the browser's\n // timezone, leading to incorrect chart start and end points. Using\n // new Date('YYYY-MM-DDTHH:MM:SS') gets the user's local date at midnight.\n\n this.localStartDate = new Date(`${this.startDate}T00:00:00`);\n this.localEndDate = new Date(`${this.endDate}T00:00:00`);\n\n this.events = this.processRawEvents(events);\n }\n\n generateBurnupTimeseries({ milestoneId } = {}) {\n const chartData = [];\n\n let openIssuesCount = 0;\n let carriedIssuesCount = 0;\n\n for (\n let date = this.localStartDate;\n date <= this.localEndDate;\n date.setDate(date.getDate() + 1)\n ) {\n const dateString = dateFormat(date, this.dateFormatMask);\n\n const openedIssuesToday = this.filterAndSummarizeBurndownEvents(\n (event) =>\n event.created_at === dateString &&\n event.event_type === 'milestone' &&\n event.milestone_id === milestoneId &&\n event.action === 'add',\n );\n\n const closedIssuesToday = this.filterAndSummarizeBurndownEvents(\n (event) =>\n event.created_at === dateString &&\n event.event_type === 'milestone' &&\n ((event.action === 'remove' && event.milestone_id === milestoneId) ||\n (event.action === 'add' && event.milestone_id !== milestoneId)),\n );\n\n openIssuesCount += openedIssuesToday.count - closedIssuesToday.count;\n\n if (openIssuesCount + carriedIssuesCount < 0) {\n carriedIssuesCount += openIssuesCount;\n\n openIssuesCount = 0;\n } else {\n openIssuesCount += carriedIssuesCount;\n\n carriedIssuesCount = 0;\n }\n\n chartData.push([dateString, openIssuesCount]);\n }\n\n return {\n burnupScope: chartData,\n };\n }\n\n generateBurndownTimeseries() {\n let openIssuesCount = 0;\n let openIssuesWeight = 0;\n\n let carriedIssuesCount = 0;\n let carriedIssuesWeight = 0;\n\n const chartData = [];\n\n for (\n let date = this.localStartDate;\n date <= this.localEndDate;\n date.setDate(date.getDate() + 1)\n ) {\n const dateString = dateFormat(date, this.dateFormatMask);\n\n const openedIssuesToday = this.filterAndSummarizeBurndownEvents(\n (event) =>\n event.created_at === dateString &&\n (event.action === 'created' || event.action === 'reopened'),\n );\n\n const closedIssuesToday = this.filterAndSummarizeBurndownEvents(\n (event) => event.created_at === dateString && event.action === 'closed',\n );\n\n openIssuesCount += openedIssuesToday.count - closedIssuesToday.count;\n openIssuesWeight += openedIssuesToday.weight - closedIssuesToday.weight;\n\n // Due to timezone differences or unforeseen bugs/errors in the source or\n // processed data, it is possible that we end up with a negative issue or\n // weight count on an given date. To mitigate this, we reset the current\n // date's counters to 0 and carry forward the negative count to a future\n // date until the total is positive again.\n if (openIssuesCount + carriedIssuesCount < 0 || openIssuesWeight + carriedIssuesWeight < 0) {\n carriedIssuesCount += openIssuesCount;\n carriedIssuesWeight += openIssuesWeight;\n\n openIssuesCount = 0;\n openIssuesWeight = 0;\n } else {\n openIssuesCount += carriedIssuesCount;\n openIssuesWeight += carriedIssuesWeight;\n\n carriedIssuesCount = 0;\n carriedIssuesWeight = 0;\n }\n\n chartData.push([dateString, openIssuesCount, openIssuesWeight]);\n }\n\n return chartData;\n }\n\n // Process raw milestone events:\n // 1. Set event creation date to milestone start date if created before milestone start\n // 2. Convert event creation datetime to date in local timezone\n processRawEvents(events) {\n return events.map((event) => ({\n ...event,\n created_at:\n dateFormat(event.created_at, this.dateFormatMask) < this.startDate\n ? this.startDate\n : dateFormat(event.created_at, this.dateFormatMask),\n }));\n }\n\n filterAndSummarizeBurndownEvents(filter) {\n const issues = this.events.filter(filter);\n\n return {\n count: issues.length,\n weight: issues.reduce((total, issue) => total + issue.weight, 0),\n };\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"data-testid\":\"burndown-chart\"}},[(_vm.showTitle)?_c('div',{staticClass:\"burndown-header gl-flex gl-items-center\"},[_c('h3',[_vm._v(_vm._s(_vm.__('Burndown chart')))])]):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('gl-line-chart',{staticClass:\"burndown-chart js-burndown-chart\",attrs:{\"responsive\":true,\"data\":_vm.dataSeries,\"option\":_vm.options,\"format-tooltip-text\":_vm.formatTooltipText,\"include-legend-avg-max\":false},on:{\"created\":_vm.setChart},scopedSlots:_vm._u([{key:\"tooltip-title\",fn:function(){return [_vm._v(_vm._s(_vm.tooltip.title))]},proxy:true},{key:\"tooltip-content\",fn:function(){return [_vm._v(_vm._s(_vm.tooltip.content))]},proxy:true}],null,false,2054089577)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import dateFormat from '~/lib/dateformat';\n\nconst msInOneDay = 60 * 60 * 24 * 1000;\n\nexport default {\n grid: {\n // TODO: containLabel doesn't currently work, so we also need to add grid\n // https://github.com/apache/incubator-echarts/issues/11773\n containLabel: true,\n top: 16,\n bottom: 16,\n left: 48,\n right: 48,\n },\n xAxis: {\n name: '',\n type: 'time',\n minInterval: msInOneDay,\n axisLabel: {\n formatter(value) {\n return dateFormat(value, 'dd mmm yyyy');\n },\n },\n axisLine: {\n show: true,\n },\n axisPointer: {\n snap: true,\n },\n },\n yAxis: {\n axisLine: {\n show: true,\n },\n splitLine: {\n show: false,\n },\n minInterval: 1,\n },\n tooltip: {\n trigger: 'item',\n formatter: () => '',\n },\n};\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./burndown_chart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./burndown_chart.vue?vue&type=script&lang=js\"","<script>\nimport { GlLineChart } from '@gitlab/ui/dist/charts';\nimport { merge } from 'lodash';\nimport dateFormat from '~/lib/dateformat';\nimport { __, n__, s__, sprintf } from '~/locale';\nimport commonChartOptions from './common_chart_options';\n\nexport default {\n components: {\n GlLineChart,\n },\n props: {\n startDate: {\n type: String,\n required: true,\n },\n dueDate: {\n type: String,\n required: true,\n },\n openIssuesCount: {\n type: Array,\n required: false,\n default: () => [],\n },\n openIssuesWeight: {\n type: Array,\n required: false,\n default: () => [],\n },\n issuesSelected: {\n type: Boolean,\n required: false,\n default: true,\n },\n showTitle: {\n type: Boolean,\n required: false,\n default: true,\n },\n loading: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n data() {\n return {\n tooltip: {\n title: '',\n content: '',\n },\n };\n },\n computed: {\n dataSeries() {\n const name = s__('BurndownChartLabel|Remaining');\n let data;\n\n if (this.issuesSelected) {\n data = this.openIssuesCount;\n } else {\n data = this.openIssuesWeight;\n }\n\n const series = [\n {\n name,\n data,\n },\n ];\n\n if (data.length > 0) {\n const zeroStart = [this.startDate, 0];\n const firstNonZero = data.find((dataObj) => dataObj[1] !== 0) || zeroStart;\n const idealStart = [this.startDate, firstNonZero[1]];\n const idealEnd = [this.dueDate, 0];\n const idealData = [idealStart, idealEnd];\n\n series.push({\n name: __('Guideline'),\n data: idealData,\n silent: true,\n symbolSize: 0,\n lineStyle: {\n color: '#ddd',\n type: 'dashed',\n },\n });\n }\n\n return series;\n },\n options() {\n return merge({}, commonChartOptions, {\n xAxis: {\n min: this.startDate,\n max: this.dueDate,\n },\n yAxis: {\n name: this.issuesSelected ? __('Issues') : __('Weight'),\n },\n });\n },\n },\n methods: {\n setChart(chart) {\n this.chart = chart;\n },\n formatTooltipText(params) {\n const [seriesData] = params.seriesData;\n if (!seriesData) {\n return;\n }\n\n this.tooltip.title = dateFormat(params.value, 'dd mmm yyyy');\n\n if (this.issuesSelected) {\n this.tooltip.content = n__('%d remaining', '%d remaining', seriesData.value[1]);\n } else {\n this.tooltip.content = sprintf(__('%{total} remaining issue weight'), {\n total: seriesData.value[1],\n });\n }\n },\n },\n};\n</script>\n\n<template>\n <div data-testid=\"burndown-chart\">\n <div v-if=\"showTitle\" class=\"burndown-header gl-flex gl-items-center\">\n <h3>{{ __('Burndown chart') }}</h3>\n </div>\n <gl-line-chart\n v-if=\"!loading\"\n :responsive=\"true\"\n class=\"burndown-chart js-burndown-chart\"\n :data=\"dataSeries\"\n :option=\"options\"\n :format-tooltip-text=\"formatTooltipText\"\n :include-legend-avg-max=\"false\"\n @created=\"setChart\"\n >\n <template #tooltip-title>{{ tooltip.title }}</template>\n <template #tooltip-content>{{ tooltip.content }}</template>\n </gl-line-chart>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./burndown_chart.vue?vue&type=template&id=765cab1b\"\nimport script from \"./burndown_chart.vue?vue&type=script&lang=js\"\nexport * from \"./burndown_chart.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./burnup_chart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./burnup_chart.vue?vue&type=script&lang=js\"","<script>\nimport { GlLineChart } from '@gitlab/ui/dist/charts';\nimport { merge } from 'lodash';\nimport dateFormat from '~/lib/dateformat';\nimport { __, n__, sprintf } from '~/locale';\nimport commonChartOptions from './common_chart_options';\n\nexport default {\n components: {\n GlLineChart,\n },\n props: {\n startDate: {\n type: String,\n required: true,\n },\n dueDate: {\n type: String,\n required: true,\n },\n issuesSelected: {\n type: Boolean,\n required: false,\n default: true,\n },\n burnupData: {\n type: Array,\n required: false,\n default: () => [],\n },\n loading: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n data() {\n return {\n tooltip: {\n title: '',\n content: '',\n },\n };\n },\n computed: {\n scopeCount() {\n return this.transform('scopeCount');\n },\n completedCount() {\n return this.transform('completedCount');\n },\n scopeWeight() {\n return this.transform('scopeWeight');\n },\n completedWeight() {\n return this.transform('completedWeight');\n },\n dataSeries() {\n const series = [\n {\n name: __('Total'),\n data: this.issuesSelected ? this.scopeCount : this.scopeWeight,\n },\n {\n name: __('Completed'),\n data: this.issuesSelected ? this.completedCount : this.completedWeight,\n },\n ];\n\n return series;\n },\n options() {\n return merge({}, commonChartOptions, {\n xAxis: {\n min: this.startDate,\n max: this.dueDate,\n },\n yAxis: {\n name: this.issuesSelected ? __('Issues') : __('Weight'),\n },\n });\n },\n },\n\n methods: {\n setChart(chart) {\n this.chart = chart;\n },\n // transform the object to a chart-friendly array of date + value\n transform(key) {\n return this.burnupData.map((val) => [val.date, val[key]]);\n },\n formatTooltipText(params) {\n const [total, completed] = params.seriesData;\n if (!total || !completed) {\n return;\n }\n\n this.tooltip.title = dateFormat(params.value, 'dd mmm yyyy');\n\n const count = total.value[1];\n const completedCount = completed.value[1];\n\n let totalText = n__('%d issue', '%d issues', count);\n let completedText = n__('%d completed issue', '%d completed issues', completedCount);\n\n if (!this.issuesSelected) {\n totalText = sprintf(__('%{count} total weight'), { count });\n completedText = sprintf(__('%{completedCount} completed weight'), { completedCount });\n }\n\n this.tooltip.total = totalText;\n this.tooltip.completed = completedText;\n },\n },\n};\n</script>\n\n<template>\n <div data-testid=\"burnup-chart\">\n <div class=\"burndown-header gl-flex gl-items-center\">\n <h3>{{ __('Burnup chart') }}</h3>\n </div>\n <gl-line-chart\n v-if=\"!loading\"\n :responsive=\"true\"\n class=\"js-burnup-chart\"\n :data=\"dataSeries\"\n :option=\"options\"\n :format-tooltip-text=\"formatTooltipText\"\n :include-legend-avg-max=\"false\"\n @created=\"setChart\"\n >\n <template #tooltip-title>{{ tooltip.title }}</template>\n <template #tooltip-content>\n <div>{{ tooltip.total }}</div>\n <div>{{ tooltip.completed }}</div>\n </template>\n </gl-line-chart>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./burnup_chart.vue?vue&type=template&id=23c0c4ae\"\nimport script from \"./burnup_chart.vue?vue&type=script&lang=js\"\nexport * from \"./burnup_chart.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"data-testid\":\"burnup-chart\"}},[_c('div',{staticClass:\"burndown-header gl-flex gl-items-center\"},[_c('h3',[_vm._v(_vm._s(_vm.__('Burnup chart')))])]),_vm._v(\" \"),(!_vm.loading)?_c('gl-line-chart',{staticClass:\"js-burnup-chart\",attrs:{\"responsive\":true,\"data\":_vm.dataSeries,\"option\":_vm.options,\"format-tooltip-text\":_vm.formatTooltipText,\"include-legend-avg-max\":false},on:{\"created\":_vm.setChart},scopedSlots:_vm._u([{key:\"tooltip-title\",fn:function(){return [_vm._v(_vm._s(_vm.tooltip.title))]},proxy:true},{key:\"tooltip-content\",fn:function(){return [_c('div',[_vm._v(_vm._s(_vm.tooltip.total))]),_vm._v(\" \"),_c('div',[_vm._v(_vm._s(_vm.tooltip.completed))])]},proxy:true}],null,false,1552705561)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const unit = {\n count: 'count',\n weight: 'weight',\n};\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./open_timebox_summary.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./open_timebox_summary.vue?vue&type=script&lang=js\"","<script>\nimport { WORKSPACE_GROUP, WORKSPACE_PROJECT } from '~/issues/constants';\nimport { __ } from '~/locale';\nimport { unit } from '../constants';\nimport summaryStatsQuery from '../graphql/iteration_issues_summary.query.graphql';\n\nexport default {\n apollo: {\n issues: {\n query: summaryStatsQuery,\n variables() {\n return this.queryVariables;\n },\n update(data) {\n return {\n open: data[this.namespaceType]?.openIssues?.[this.displayValue] || 0,\n assigned: data[this.namespaceType]?.assignedIssues?.[this.displayValue] || 0,\n closed: data[this.namespaceType]?.closedIssues?.[this.displayValue] || 0,\n };\n },\n error() {\n this.error = __('Error loading issues');\n },\n },\n },\n props: {\n fullPath: {\n type: String,\n required: true,\n },\n iterationId: {\n type: String,\n required: true,\n },\n namespaceType: {\n type: String,\n required: false,\n default: WORKSPACE_GROUP,\n validator: (value) => [WORKSPACE_GROUP, WORKSPACE_PROJECT].includes(value),\n },\n displayValue: {\n type: String,\n required: false,\n default: unit.count,\n validator: (val) => unit[val],\n },\n },\n data() {\n return {\n issues: {\n assigned: 0,\n open: 0,\n closed: 0,\n },\n };\n },\n computed: {\n queryVariables() {\n return {\n fullPath: this.fullPath,\n id: this.iterationId,\n isGroup: this.namespaceType === WORKSPACE_GROUP,\n weight: this.displayValue === unit.weight,\n };\n },\n columns() {\n return [\n {\n title: __('Completed'),\n value: this.issues.closed,\n },\n {\n title: __('Incomplete'),\n value: this.issues.assigned,\n },\n {\n title: __('Unstarted'),\n value: this.issues.open,\n },\n ];\n },\n total() {\n return this.issues.open + this.issues.assigned + this.issues.closed;\n },\n },\n methods: {\n percent(val) {\n if (!this.total) return 0;\n return ((val / this.total) * 100).toFixed(0);\n },\n },\n render() {\n return this.$scopedSlots.default({\n columns: this.columns,\n loading: this.$apollo.queries.issues.loading,\n total: this.total,\n });\n },\n};\n</script>\n","var render, staticRenderFns\nimport script from \"./open_timebox_summary.vue?vue&type=script&lang=js\"\nexport * from \"./open_timebox_summary.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./timebox_summary_cards.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./timebox_summary_cards.vue?vue&type=script&lang=js\"","<script>\nimport { GlCard, GlSkeletonLoader, GlSprintf } from '@gitlab/ui';\n\nexport default {\n cardBodyClass: 'gl-text-center gl-py-3 gl-text-size-h2',\n cardClass: 'gl-border-0 gl-mb-5',\n components: {\n GlCard,\n GlSkeletonLoader,\n GlSprintf,\n },\n props: {\n columns: {\n type: Array,\n required: false,\n default: () => [],\n },\n loading: {\n type: Boolean,\n required: true,\n },\n total: {\n type: Number,\n required: true,\n },\n },\n methods: {\n percent(val) {\n if (!this.total) return 0;\n return ((val / this.total) * 100).toFixed(0);\n },\n },\n};\n</script>\n\n<template>\n <div class=\"row gl-mt-6\">\n <div v-for=\"(column, index) in columns\" :key=\"index\" class=\"col-sm-4\">\n <gl-card :class=\"$options.cardClass\" :body-class=\"$options.cardBodyClass\">\n <gl-skeleton-loader v-if=\"loading\" :width=\"400\" :height=\"24\">\n <rect x=\"100\" y=\"4\" width=\"120\" height=\"20\" rx=\"4\" />\n <rect x=\"200\" y=\"4\" width=\"86\" height=\"20\" rx=\"4\" />\n </gl-skeleton-loader>\n <div v-else>\n <span class=\"gl-mr-2 gl-border-1 gl-border-default gl-pr-3 gl-border-r-solid\">\n {{ column.title }}\n <span class=\"gl-font-bold\"\n >{{ percent(column.value) }}<small class=\"gl-text-subtle\">%</small></span\n >\n </span>\n <gl-sprintf :message=\"__('%{count} of %{total}')\">\n <template #count>\n <span class=\"gl-font-bold\">{{ column.value }}</span>\n </template>\n <template #total>\n <span class=\"gl-font-bold\">{{ total }}</span>\n </template>\n </gl-sprintf>\n </div>\n </gl-card>\n </div>\n </div>\n</template>\n","import { render, staticRenderFns } from \"./timebox_summary_cards.vue?vue&type=template&id=31976b16\"\nimport script from \"./timebox_summary_cards.vue?vue&type=script&lang=js\"\nexport * from \"./timebox_summary_cards.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row gl-mt-6\"},_vm._l((_vm.columns),function(column,index){return _c('div',{key:index,staticClass:\"col-sm-4\"},[_c('gl-card',{class:_vm.$options.cardClass,attrs:{\"body-class\":_vm.$options.cardBodyClass}},[(_vm.loading)?_c('gl-skeleton-loader',{attrs:{\"width\":400,\"height\":24}},[_c('rect',{attrs:{\"x\":\"100\",\"y\":\"4\",\"width\":\"120\",\"height\":\"20\",\"rx\":\"4\"}}),_vm._v(\" \"),_c('rect',{attrs:{\"x\":\"200\",\"y\":\"4\",\"width\":\"86\",\"height\":\"20\",\"rx\":\"4\"}})]):_c('div',[_c('span',{staticClass:\"gl-mr-2 gl-border-1 gl-border-default gl-pr-3 gl-border-r-solid\"},[_vm._v(\"\\n \"+_vm._s(column.title)+\"\\n \"),_c('span',{staticClass:\"gl-font-bold\"},[_vm._v(_vm._s(_vm.percent(column.value))),_c('small',{staticClass:\"gl-text-subtle\"},[_vm._v(\"%\")])])]),_vm._v(\" \"),_c('gl-sprintf',{attrs:{\"message\":_vm.__('%{count} of %{total}')},scopedSlots:_vm._u([{key:\"count\",fn:function(){return [_c('span',{staticClass:\"gl-font-bold\"},[_vm._v(_vm._s(column.value))])]},proxy:true},{key:\"total\",fn:function(){return [_c('span',{staticClass:\"gl-font-bold\"},[_vm._v(_vm._s(_vm.total))])]},proxy:true}],null,true)})],1)],1)],1)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { GlAlert, GlButton, GlButtonGroup, GlSegmentedControl } from '@gitlab/ui';\nimport { cloneDeep } from 'lodash';\nimport BurnupQueryIteration from 'shared_queries/burndown_chart/burnup.iteration.query.graphql';\nimport BurnupQueryMilestone from 'shared_queries/burndown_chart/burnup.milestone.query.graphql';\nimport { createAlert } from '~/alert';\nimport { STATUS_CLOSED, WORKSPACE_GROUP } from '~/issues/constants';\nimport dateFormat from '~/lib/dateformat';\nimport axios from '~/lib/utils/axios_utils';\nimport { getDayDifference, nDaysAfter, newDate } from '~/lib/utils/datetime_utility';\nimport { __ } from '~/locale';\nimport glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';\nimport BurndownChartData from '../burn_chart_data';\nimport BurndownChart from './burndown_chart.vue';\nimport BurnupChart from './burnup_chart.vue';\nimport OpenTimeboxSummary from './open_timebox_summary.vue';\nimport TimeboxSummaryCards from './timebox_summary_cards.vue';\n\nexport const FILTER_BY_ISSUES = 'issues';\nexport const FILTER_BY_ISSUE_WEIGHT = 'issue_weight';\n\nexport default {\n components: {\n GlAlert,\n GlButton,\n GlButtonGroup,\n GlSegmentedControl,\n BurndownChart,\n BurnupChart,\n OpenTimeboxSummary,\n TimeboxSummaryCards,\n },\n mixins: [glFeatureFlagsMixin()],\n props: {\n startDate: {\n type: String,\n required: true,\n },\n dueDate: {\n type: String,\n required: true,\n },\n milestoneId: {\n type: String,\n required: false,\n default: '',\n },\n iterationId: {\n type: String,\n required: false,\n default: '',\n },\n iterationState: {\n type: String,\n required: false,\n default: '',\n },\n fullPath: {\n type: String,\n required: false,\n default: '',\n },\n namespaceType: {\n type: String,\n required: false,\n default: WORKSPACE_GROUP,\n },\n burndownEventsPath: {\n type: String,\n required: false,\n default: '',\n },\n showNewOldBurndownToggle: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n apollo: {\n report: {\n skip() {\n return !this.milestoneId && !this.iterationId;\n },\n query() {\n return this.iterationId ? BurnupQueryIteration : BurnupQueryMilestone;\n },\n variables() {\n const fullPath = this.isIterationReport ? { fullPath: this.fullPath } : {};\n\n return {\n iterationId: this.iterationId,\n milestoneId: this.milestoneId,\n weight: !this.issuesSelected,\n ...fullPath,\n };\n },\n update(data) {\n const sparseBurnupData = data[this.parent]?.report.burnupTimeSeries || [];\n const stats = data[this.parent]?.report?.stats || {};\n\n return {\n burnupData: this.padSparseBurnupData(sparseBurnupData),\n stats: {\n complete: stats.complete?.[this.displayValue] || 0,\n incomplete: stats.incomplete?.[this.displayValue] || 0,\n total: stats.total?.[this.displayValue] || 0,\n },\n };\n },\n error() {\n this.error = __('Error fetching burnup chart data');\n },\n },\n },\n data() {\n return {\n openIssuesCount: [],\n openIssuesWeight: [],\n issuesSelected: true,\n report: {\n burnupData: [],\n stats: {\n complete: 0,\n incomplete: 0,\n total: 0,\n },\n },\n useLegacyBurndown: false,\n error: '',\n };\n },\n computed: {\n loading() {\n return this.$apollo.queries.report.loading;\n },\n burnupData() {\n return this.report.burnupData;\n },\n isIterationReport() {\n return this.iterationId && !this.milestoneId;\n },\n columns() {\n return [\n {\n title: __('Completed'),\n value: this.report.stats.complete,\n },\n {\n title: __('Incomplete'),\n value: this.report.stats.incomplete,\n },\n ];\n },\n displayValue() {\n return this.issuesSelected ? 'count' : 'weight';\n },\n isClosed() {\n return this.iterationState === STATUS_CLOSED;\n },\n parent() {\n return this.iterationId ? 'iteration' : 'milestone';\n },\n issueButtonCategory() {\n return this.issuesSelected ? 'primary' : 'secondary';\n },\n weightButtonCategory() {\n return this.issuesSelected ? 'secondary' : 'primary';\n },\n issuesCount() {\n if (this.useLegacyBurndown) {\n return this.openIssuesCount;\n }\n return this.pluckBurnupDataProperties('scopeCount', 'completedCount');\n },\n issuesWeight() {\n if (this.useLegacyBurndown) {\n return this.openIssuesWeight;\n }\n return this.pluckBurnupDataProperties('scopeWeight', 'completedWeight');\n },\n filterBySelectedValue() {\n return this.issuesSelected ? FILTER_BY_ISSUES : FILTER_BY_ISSUE_WEIGHT;\n },\n },\n methods: {\n fetchLegacyBurndownEvents() {\n this.fetchedLegacyData = true;\n\n axios\n .get(this.burndownEventsPath)\n .then((burndownResponse) => {\n const burndownEvents = burndownResponse.data;\n const burndownChartData = new BurndownChartData(\n burndownEvents,\n this.startDate,\n this.dueDate,\n ).generateBurndownTimeseries();\n\n this.openIssuesCount = burndownChartData.map((d) => [d[0], d[1]]);\n this.openIssuesWeight = burndownChartData.map((d) => [d[0], d[2]]);\n })\n .catch(() => {\n this.fetchedLegacyData = false;\n createAlert({\n message: __('Error loading burndown chart data'),\n });\n });\n },\n pluckBurnupDataProperties(total, completed) {\n return this.burnupData.map((data) => {\n return [data.date, data[total] - data[completed]];\n });\n },\n toggleLegacyBurndown(enabled) {\n if (!this.fetchedLegacyData) {\n this.fetchLegacyBurndownEvents();\n }\n this.useLegacyBurndown = enabled;\n },\n setIssueSelected(selected) {\n this.issuesSelected = selected;\n },\n padSparseBurnupData(data) {\n // if we don't have data for the startDate, we still want to draw a point at 0\n // on the chart, so add an item to the start of the array\n const sparseBurnupData = cloneDeep(data);\n const hasDataForStartDate = sparseBurnupData.find((d) => d.date === this.startDate);\n\n if (!hasDataForStartDate) {\n sparseBurnupData.unshift({\n date: this.startDate,\n completedCount: 0,\n completedWeight: 0,\n scopeCount: 0,\n scopeWeight: 0,\n });\n }\n\n // chart runs to dueDate or the current date, whichever is earlier\n const lastDate = dateFormat(\n Math.min(Date.parse(this.dueDate), Date.parse(new Date())),\n 'yyyy-mm-dd',\n true, // use UTC\n );\n\n // similar to the startDate padding, if we don't have a value for the\n // last item in the array, we should add one. If no events occur on\n // a day then we don't get any data for that day in the response\n const hasDataForLastDate = sparseBurnupData.find((d) => d.date === lastDate);\n if (!hasDataForLastDate) {\n const lastItem = sparseBurnupData[sparseBurnupData.length - 1];\n sparseBurnupData.push({\n ...lastItem,\n date: lastDate,\n });\n }\n\n return sparseBurnupData.reduce(this.addMissingDates, []);\n },\n addMissingDates(acc, current) {\n const { date } = current;\n\n // we might not have data for every day in the timebox, as graphql\n // endpoint only returns days when events have happened\n // if the previous array item is >1 day, then fill in the gap\n // using the data from the previous entry.\n // example: [\n // { date: '2020-08-01', count: 10 }\n // { date: '2020-08-04', count: 12 }\n // ]\n // should be transformed to\n // example: [\n // { date: '2020-08-01', count: 10 }\n // { date: '2020-08-02', count: 10 }\n // { date: '2020-08-03', count: 10 }\n // { date: '2020-08-04', count: 12 }\n // ]\n\n // skip the start date since we have no previous values\n if (date !== this.startDate) {\n const { date: prevDate, ...previousValues } = acc[acc.length - 1] || {};\n\n const currentDate = newDate(date);\n const previousDate = newDate(prevDate);\n\n const gap = getDayDifference(previousDate, currentDate);\n\n for (let i = 1; i < gap; i += 1) {\n acc.push({\n date: dateFormat(nDaysAfter(previousDate, i), 'yyyy-mm-dd'),\n ...previousValues,\n });\n }\n }\n\n acc.push(current);\n\n return acc;\n },\n handleFilterByChanged(value) {\n this.setIssueSelected(value === FILTER_BY_ISSUES);\n },\n },\n filterByOptions: [\n { value: FILTER_BY_ISSUES, text: __('Issue count'), props: { 'data-testid': 'issue-button' } },\n {\n value: FILTER_BY_ISSUE_WEIGHT,\n text: __('Issue weight'),\n props: { 'data-testid': 'weight-button' },\n },\n ],\n};\n</script>\n\n<template>\n <div>\n <div class=\"burndown-header gl-flex gl-flex-wrap gl-items-center gl-gap-2\">\n <strong ref=\"filterLabel\">{{ __('Display by') }}</strong>\n <gl-segmented-control\n :value=\"filterBySelectedValue\"\n :options=\"$options.filterByOptions\"\n @input=\"handleFilterByChanged\"\n />\n\n <gl-button-group v-if=\"showNewOldBurndownToggle\" class=\"gl-pl-2\">\n <gl-button\n ref=\"newBurndown\"\n :selected=\"!useLegacyBurndown\"\n @click=\"toggleLegacyBurndown(false)\"\n >\n {{ __('Fixed burndown chart') }}\n </gl-button>\n <gl-button\n ref=\"oldBurndown\"\n :selected=\"useLegacyBurndown\"\n @click=\"toggleLegacyBurndown(true)\"\n >\n {{ __('Legacy burndown chart') }}\n </gl-button>\n </gl-button-group>\n </div>\n <template v-if=\"iterationId\">\n <timebox-summary-cards\n v-if=\"isClosed\"\n :columns=\"columns\"\n :loading=\"loading\"\n :total=\"report.stats.total\"\n />\n <open-timebox-summary\n v-else\n :full-path=\"fullPath\"\n :iteration-id=\"iterationId\"\n :namespace-type=\"namespaceType\"\n :display-value=\"displayValue\"\n >\n <template #default=\"{ columns: openColumns, loading: summaryLoading, total }\">\n <timebox-summary-cards :columns=\"openColumns\" :loading=\"summaryLoading\" :total=\"total\" />\n </template>\n </open-timebox-summary>\n </template>\n <div class=\"row\">\n <gl-alert v-if=\"error\" variant=\"danger\" class=\"col-12\" @dismiss=\"error = null\">\n {{ error }}\n </gl-alert>\n <burndown-chart\n :start-date=\"startDate\"\n :due-date=\"dueDate\"\n :open-issues-count=\"issuesCount\"\n :open-issues-weight=\"issuesWeight\"\n :issues-selected=\"issuesSelected\"\n :loading=\"loading\"\n class=\"col-md-6\"\n />\n <burnup-chart\n :start-date=\"startDate\"\n :due-date=\"dueDate\"\n :burnup-data=\"burnupData\"\n :issues-selected=\"issuesSelected\"\n :loading=\"loading\"\n class=\"col-md-6\"\n />\n </div>\n </div>\n</template>\n","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./burn_charts.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./burn_charts.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./burn_charts.vue?vue&type=template&id=59c6d19e\"\nimport script from \"./burn_charts.vue?vue&type=script&lang=js\"\nexport * from \"./burn_charts.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as echarts from 'echarts';\nimport { validRenderers, defaultWidth, defaultHeight, toolboxHeight } from '../../../utils/charts/config';\nimport { themeName, createTheme } from '../../../utils/charts/theme';\nimport { GlResizeObserverDirective } from '../../../directives/resize_observer/resize_observer';\nimport { debounceByAnimationFrame } from '../../../utils/utils';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\n\n/**\n * Allowed values by eCharts\n * https://echarts.apache.org/en/api.html#echartsInstance.resize\n */\nconst sizeValidator = size => Number.isFinite(size) || size === 'auto' || size == null;\nconst isChartWithToolbox = options => {\n var _options$toolbox;\n return Boolean(options === null || options === void 0 ? void 0 : (_options$toolbox = options.toolbox) === null || _options$toolbox === void 0 ? void 0 : _options$toolbox.show);\n};\nconst increaseChartGridTop = (options, increaseBy) => {\n var _options$grid;\n return {\n ...options,\n grid: {\n ...options.grid,\n top: ((options === null || options === void 0 ? void 0 : (_options$grid = options.grid) === null || _options$grid === void 0 ? void 0 : _options$grid.top) || 0) + increaseBy\n }\n };\n};\nvar script = {\n name: 'GlChart',\n directives: {\n resizeObserver: GlResizeObserverDirective\n },\n props: {\n /**\n * The ECharts configuration object.\n * https://echarts.apache.org/en/option.html#title\n */\n options: {\n type: Object,\n required: true\n },\n /**\n * Warning: this prop is deprecated and will soon be removed\n * Please do not utilize `disableTheme` for formatting\n * Use the `options` prop to set desired echarts formatting\n */\n disableTheme: {\n type: Boolean,\n required: false,\n default: false\n },\n width: {\n type: [Number, String],\n required: false,\n default: null,\n validator: sizeValidator\n },\n /**\n * Sets the chart's height in pixels. Set to `\"auto\"` to use the height of the container.\n */\n height: {\n type: [Number, String],\n required: false,\n default: null,\n validator: sizeValidator\n },\n /**\n * An ECharts group id. Used to connect multiple charts.\n * https://echarts.apache.org/en/api.html#echarts.connect\n */\n groupId: {\n type: String,\n required: false,\n default: ''\n },\n /**\n * How the chart should be rendered. Valid options are 'canvas' or 'svg'.\n * https://echarts.apache.org/handbook/en/best-practices/canvas-vs-svg/\n */\n renderer: {\n type: String,\n required: false,\n default: 'svg',\n validator(renderer) {\n return validRenderers.includes(renderer);\n }\n },\n responsive: {\n type: Boolean,\n required: false,\n default: true\n }\n },\n data() {\n return {\n chart: null,\n debouncedHandleResize: debounceByAnimationFrame(this.handleResize)\n };\n },\n computed: {\n normalizedOptions() {\n return isChartWithToolbox(this.options) ? increaseChartGridTop(this.options, toolboxHeight) : this.options;\n }\n },\n watch: {\n options() {\n if (this.chart) {\n this.draw();\n }\n },\n width() {\n this.setChartSize();\n },\n height() {\n this.setChartSize();\n }\n },\n created() {\n if (!this.disableTheme) {\n echarts.registerTheme(themeName, createTheme(this.options));\n }\n },\n async mounted() {\n await this.$nextTick();\n const chart = echarts.init(this.$refs.chart, this.disableTheme ? null : themeName, {\n renderer: this.renderer,\n width: defaultWidth,\n height: defaultHeight\n });\n // FIXME: temporary workaround to ensure compatibility with @vue/compat\n // eslint-disable-next-line no-underscore-dangle\n chart.__v_skip = true;\n this.chart = chart;\n if (this.groupId.length) {\n this.chart.group = this.groupId;\n echarts.connect(this.groupId);\n }\n this.chart.on('click', this.handleClick);\n /**\n * Emitted after calling `echarts.init`\n */\n this.$emit('created', this.chart);\n this.draw();\n this.setChartSize();\n },\n beforeDestroy() {\n this.chart.off('click', this.handleClick);\n },\n methods: {\n draw() {\n this.chart.setOption(this.normalizedOptions);\n /**\n * Emitted after calling `echarts.setOption`\n */\n this.$emit('updated', this.chart);\n },\n setChartSize() {\n this.chart.resize({\n width: this.width || 'auto',\n height: this.height || defaultHeight\n });\n },\n handleClick(params) {\n /**\n * Emitted when clicked on a data item in the chart (e.g., a bar/column).\n *\n * @property {object} chart The chart instance\n * @property {object} params A params object, see also https://echarts.apache.org/en/api.html#events.Mouse%20events\n */\n this.$emit('chartItemClicked', {\n chart: this.chart,\n params\n });\n },\n handleResize() {\n this.chart.resize();\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"resize-observer\",rawName:\"v-resize-observer:[responsive]\",value:(_vm.debouncedHandleResize),expression:\"debouncedHandleResize\",arg:_vm.responsive}],ref:\"chart\"})};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import SeriesLabel from '../../charts/series_label/series_label';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'TooltipDefaultFormat',\n components: {\n SeriesLabel\n },\n props: {\n tooltipContent: {\n type: Object,\n required: true\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.tooltipContent),function(value,label){return _c('div',{key:(\"\" + label + (value.value)),staticClass:\"gl-charts-tooltip-default-format-series\"},[_c('series-label',{staticClass:\"gl-charts-tooltip-default-format-series-label\",attrs:{\"color\":value.color}},[_vm._v(\"\\n \"+_vm._s(label)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-charts-tooltip-default-format-series-value\"},[_vm._t(\"tooltip-value\",function(){return [_vm._v(_vm._s(value.value))]},{\"value\":value.value})],2)],1)}),0)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","import GlButtonGroup from '../button_group/button_group';\nimport GlButton from '../button/button';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst validateOptionsProp = options => {\n const requiredOptionPropType = {\n value: ['string', 'number', 'boolean'],\n disabled: ['boolean', 'undefined']\n };\n const optionProps = Object.keys(requiredOptionPropType);\n return options.every(option => {\n if (!option) {\n return false;\n }\n return optionProps.every(name => requiredOptionPropType[name].includes(typeof option[name]));\n });\n};\nvar script = {\n name: 'GlSegmentedControl',\n components: {\n GlButtonGroup,\n GlButton\n },\n props: {\n options: {\n type: Array,\n required: true,\n validator: validateOptionsProp\n },\n value: {\n type: [String, Number, Boolean],\n required: true\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-button-group',_vm._l((_vm.options),function(option){return _c('gl-button',_vm._b({key:option.value,attrs:{\"disabled\":!!option.disabled,\"selected\":_vm.value === option.value},on:{\"click\":function($event){return _vm.$emit('input', option.value)}}},'gl-button',option.props,false),[_vm._t(\"button-content\",function(){return [_vm._v(\"\\n \"+_vm._s(option.text)+\"\\n \")]},null,option)],2)}),1)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import { ANNOTATIONS_SERIES_NAME, ANNOTATIONS_COMPONENT_TYPE } from './constants';\n\n/**\n * Check if passed series has annotations related data.\n *\n * This is currently used in time series charts (area & line).\n *\n * @param {Array} series Array of series\n * @returns {Boolean}\n */\nconst seriesHasAnnotations = function () {\n let series = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return (series || []).filter(seriesData => {\n var _seriesData$ANNOTATIO, _seriesData$ANNOTATIO2;\n return seriesData.name === ANNOTATIONS_SERIES_NAME && ((_seriesData$ANNOTATIO = seriesData[ANNOTATIONS_COMPONENT_TYPE]) === null || _seriesData$ANNOTATIO === void 0 ? void 0 : (_seriesData$ANNOTATIO2 = _seriesData$ANNOTATIO.data) === null || _seriesData$ANNOTATIO2 === void 0 ? void 0 : _seriesData$ANNOTATIO2.length);\n }).length !== 0;\n};\n\n/**\n * Check if a data point is from an annotation series.\n *\n * This is triggered when hovered over time series charts.\n *\n * This is currently used in\n * @param {Object} params data point object\n * @returns {boolean}\n */\nconst isDataPointAnnotation = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return params.name === ANNOTATIONS_SERIES_NAME && params.componentType === ANNOTATIONS_COMPONENT_TYPE;\n};\n\n/**\n * Date formatter to make date strings more\n * readable.\n *\n * This is currently used in area and line charts\n * stories.\n *\n * @param {String} d date string\n * @returns {String}\n */\nconst timeSeriesDateFormatter = function () {\n let d = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n if (!d) {\n return '';\n }\n const date = new Date(d);\n const month = (date.getMonth() + 1).toString().padStart(2, '0');\n const day = date.getDate().toString().padStart(2, '0');\n return `${date.getFullYear()}-${month}-${day}`;\n};\n\nexport { isDataPointAnnotation, seriesHasAnnotations, timeSeriesDateFormatter };\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BurnupTimesSeriesIterationData\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iteration\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"report\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"burnupTimeSeries\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completedCount\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scopeCount\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completedWeight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scopeWeight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"stats\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"complete\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incomplete\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":890}};\n doc.loc.source = {\"body\":\"query BurnupTimesSeriesIterationData(\\n $iterationId: IterationID!\\n $weight: Boolean = false\\n $fullPath: String\\n) {\\n iteration(id: $iterationId) {\\n __typename\\n id\\n title\\n report(fullPath: $fullPath) {\\n __typename\\n burnupTimeSeries {\\n __typename\\n date\\n completedCount @skip(if: $weight)\\n scopeCount @skip(if: $weight)\\n completedWeight @include(if: $weight)\\n scopeWeight @include(if: $weight)\\n }\\n stats {\\n __typename\\n total {\\n __typename\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n complete {\\n __typename\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n incomplete {\\n __typename\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BurnupTimesSeriesIterationData\"] = oneQuery(doc, \"BurnupTimesSeriesIterationData\");\n \n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","/**\n * As of %12.10 all annotations are added as a decorations\n * by piggybacking a scatter series. The series should\n * have 'annotations' as name for the annotation tooltips\n * to work.\n *\n * More info here https://gitlab.com/gitlab-org/gitlab/-/merge_requests/28825\n *\n */\nconst ANNOTATIONS_SERIES_NAME = 'annotations';\n/**\n * Annotations have a line (markLine) and an arrow (markPoint).\n * When the markPoint is hovered, a tooltip is displayed to\n * show the annotation description.\n *\n * All markPoints have this component type\n */\nconst ANNOTATIONS_COMPONENT_TYPE = 'markPoint';\n\n/**\n * This is a slight offset that gets applied to the left\n * of the chart tooltips to ensure a correct position.\n */\nconst TOOLTIP_LEFT_OFFSET = 2;\n\n/**\n * This is a slight offset that gets applied to the left\n * of the chart tooltips to ensure a correct position.\n */\nconst TOOLTIP_TOP_OFFSET = 10;\n\n/**\n * These are the accepted values for the layout prop\n * of the chart legend component\n */\nconst LEGEND_LAYOUT_INLINE = 'inline';\nconst LEGEND_LAYOUT_TABLE = 'table';\n\n/**\n * Default values for the chart legend field labels\n */\nconst LEGEND_AVERAGE_TEXT = 'Avg';\nconst LEGEND_CURRENT_TEXT = 'Current';\nconst LEGEND_MIN_TEXT = 'Min';\nconst LEGEND_MAX_TEXT = 'Max';\n\n/**\n * These arrow symbols are used as markPoints under the annotations lines\n * within area and line charts. This icon doesn't exist in the svg\n * library yet. The below issue is to track the progress of the svg icon\n * https://gitlab.com/gitlab-org/gitlab-svgs/-/issues/118\n */\nconst arrowSymbol = 'path://m5 229 5 8h-10z';\n\n// Constants for the type property of charts\nconst CHART_TYPE_BAR = 'bar';\nconst CHART_TYPE_LINE = 'line';\n\n// Constants for height \"auto\"\nconst HEIGHT_AUTO_CLASSES = 'gl-chart-h-auto gl-flex gl-flex-col gl-h-full';\nconst HEIGHT_AUTO_HORIZONTAL_LAYOUT_CLASSES = 'gl-flex gl-h-full';\n\nexport { ANNOTATIONS_COMPONENT_TYPE, ANNOTATIONS_SERIES_NAME, CHART_TYPE_BAR, CHART_TYPE_LINE, HEIGHT_AUTO_CLASSES, HEIGHT_AUTO_HORIZONTAL_LAYOUT_CLASSES, LEGEND_AVERAGE_TEXT, LEGEND_CURRENT_TEXT, LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE, LEGEND_MAX_TEXT, LEGEND_MIN_TEXT, TOOLTIP_LEFT_OFFSET, TOOLTIP_TOP_OFFSET, arrowSymbol };\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BurnupTimesSeriesMilestoneData\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MilestoneID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"milestone\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"milestoneId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"report\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"burnupTimeSeries\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completedCount\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scopeCount\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"completedWeight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scopeWeight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"stats\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"complete\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incomplete\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":844}};\n doc.loc.source = {\"body\":\"query BurnupTimesSeriesMilestoneData($milestoneId: MilestoneID!, $weight: Boolean = false) {\\n milestone(id: $milestoneId) {\\n __typename\\n id\\n title\\n report {\\n __typename\\n burnupTimeSeries {\\n __typename\\n date\\n completedCount @skip(if: $weight)\\n scopeCount @skip(if: $weight)\\n completedWeight @include(if: $weight)\\n scopeWeight @include(if: $weight)\\n }\\n stats {\\n __typename\\n total {\\n __typename\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n complete {\\n __typename\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n incomplete {\\n __typename\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BurnupTimesSeriesMilestoneData\"] = oneQuery(doc, \"BurnupTimesSeriesMilestoneData\");\n \n","import * as echarts from 'echarts';\nimport { GRAY_200 } from '../../../tokens/build/js/tokens';\nimport { defaultFontSize } from '../../../utils/charts/config';\nimport { LEGEND_AVERAGE_TEXT, LEGEND_CURRENT_TEXT, LEGEND_MIN_TEXT, LEGEND_MAX_TEXT, LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE } from '../../../utils/charts/constants';\nimport { engineeringNotation, average } from '../../../utils/number_utils';\nimport GlTruncate from '../../utilities/truncate/truncate';\nimport GlChartSeriesLabel from '../series_label/series_label';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n name: 'GlChartLegend',\n components: {\n GlChartSeriesLabel,\n GlTruncate\n },\n props: {\n chart: {\n type: Object,\n required: true,\n validator(chart) {\n return Object.is(chart, echarts.getInstanceByDom(chart.getDom()));\n }\n },\n seriesInfo: {\n type: Array,\n required: true,\n validator(seriesInfo) {\n return seriesInfo.every(series => series.type && series.name && series.color);\n }\n },\n textStyle: {\n type: Object,\n required: false,\n default: () => ({})\n },\n /**\n * Text for data average (overridden by prop if needed for internationalization)\n */\n averageText: {\n type: String,\n required: false,\n default: LEGEND_AVERAGE_TEXT\n },\n currentText: {\n type: String,\n required: false,\n default: LEGEND_CURRENT_TEXT\n },\n minText: {\n type: String,\n required: false,\n default: LEGEND_MIN_TEXT\n },\n /**\n * Text for max amount (overridden by prop if needed for internationalization)\n */\n maxText: {\n type: String,\n required: false,\n default: LEGEND_MAX_TEXT\n },\n /**\n * Sets the display layout\n */\n layout: {\n type: String,\n required: false,\n default: LEGEND_LAYOUT_INLINE,\n validator(layout) {\n return [LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE].indexOf(layout) !== -1;\n }\n }\n },\n data() {\n return {\n disabledSeries: {},\n lastActiveSeriesLabel: null,\n shouldApplyFadeClass: false\n };\n },\n computed: {\n fontStyle() {\n return {\n fontFamily: this.textStyle.fontFamily || 'sans-serif',\n fontSize: `${this.textStyle.fontSize || defaultFontSize}px`\n };\n },\n hasOneSeriesElement() {\n return this.seriesInfo.length === 1;\n }\n },\n created() {\n this.chart.on('legendselectchanged', this.suppressLastActiveSeriesLabelToggle);\n },\n mounted() {\n this.applyFadeClass();\n },\n async updated() {\n await this.$nextTick();\n this.applyFadeClass();\n },\n beforeDestroy() {\n this.chart.off('legendselectchanged', this.suppressLastActiveSeriesLabelToggle);\n },\n methods: {\n sanitizeSeriesData(seriesData) {\n var _seriesData$filter;\n return (_seriesData$filter = seriesData === null || seriesData === void 0 ? void 0 : seriesData.filter(d => !Number.isNaN(d))) !== null && _seriesData$filter !== void 0 ? _seriesData$filter : [];\n },\n seriesAverage(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(average(...sanitized));\n },\n seriesMax(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(Math.max(...sanitized));\n },\n seriesMin(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(Math.min(...sanitized));\n },\n seriesLast(seriesData) {\n const sanitized = this.sanitizeSeriesData(seriesData);\n return engineeringNotation(sanitized[sanitized.length - 1]);\n },\n seriesNameIsLong(seriesName) {\n return seriesName.length > 120;\n },\n handleClick(_ref, key) {\n let {\n name,\n disabled\n } = _ref;\n if (this.hasOneSeriesElement || this.isToggleDisabled(name, disabled)) return;\n this.chart.dispatchAction({\n type: 'legendToggleSelect',\n name\n });\n this.disabledSeries = {\n ...this.disabledSeries,\n [key]: !this.disabledSeries[key]\n };\n },\n handleMouseEnter(name) {\n this.chart.dispatchAction({\n type: 'highlight',\n seriesName: name\n });\n },\n handleMouseLeave(name) {\n this.chart.dispatchAction({\n type: 'downplay',\n seriesName: name\n });\n },\n getColor(color, key) {\n return this.disabledSeries[key] ? GRAY_200 : color;\n },\n suppressLastActiveSeriesLabelToggle(_ref2) {\n let {\n selected\n } = _ref2;\n const selectedSeriesLabels = Object.entries(selected).filter(_ref3 => {\n let [, isSelected] = _ref3;\n return Boolean(isSelected);\n });\n this.lastActiveSeriesLabel = null;\n if (selectedSeriesLabels.length === 1) {\n const [lastActiveSeriesLabelName] = selectedSeriesLabels[0];\n this.lastActiveSeriesLabel = lastActiveSeriesLabelName;\n }\n },\n /**\n * Disables toggling legend if it is the last active one or if its data series\n * has a disabled property set to true\n * @param {String} name Series name\n * @param {Boolean} isDisabled Value of the series element's disabled property\n * @returns {boolean}\n */\n isToggleDisabled(name, isDisabled) {\n return name === this.lastActiveSeriesLabel || isDisabled;\n },\n applyFadeClass() {\n if (this.$refs.inlineLegendEl) {\n const {\n scrollHeight,\n clientHeight\n } = this.$refs.inlineLegendEl;\n this.shouldApplyFadeClass = scrollHeight > clientHeight;\n }\n }\n },\n legendLayoutTypes: {\n LEGEND_LAYOUT_INLINE,\n LEGEND_LAYOUT_TABLE\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-legend\",attrs:{\"data-testid\":\"gl-chart-legend\"}},[(_vm.layout === _vm.$options.legendLayoutTypes.LEGEND_LAYOUT_INLINE)?[_c('div',{ref:\"inlineLegendEl\",staticClass:\"gl-legend-inline\",class:{ 'gl-legend-b-fade': _vm.shouldApplyFadeClass }},_vm._l((_vm.seriesInfo),function(series,key){return _c('div',{key:key,staticClass:\"gl-legend-inline-series\",class:{\n 'gl-text-subtle': _vm.disabledSeries[key],\n 'gl-text-strong': !_vm.disabledSeries[key],\n 'gl-w-full': _vm.seriesNameIsLong(series.name),\n 'hover:!gl-cursor-not-allowed':\n _vm.hasOneSeriesElement || _vm.isToggleDisabled(series.name, series.disabled),\n },style:(_vm.fontStyle),attrs:{\"aria-disabled\":_vm.hasOneSeriesElement || _vm.isToggleDisabled(series.name, series.disabled),\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleClick(series, key)},\"mouseenter\":function($event){return _vm.handleMouseEnter(series.name)},\"mouseleave\":function($event){return _vm.handleMouseLeave(series.name)}}},[_c('gl-chart-series-label',{staticClass:\"gl-legend-inline-series-label\",class:{ 'gl-w-3/4': _vm.seriesNameIsLong(series.name) },attrs:{\"color\":_vm.getColor(series.color, key),\"type\":series.type}},[_c('gl-truncate',{staticClass:\"gl-font-bold\",attrs:{\"text\":series.name}})],1),_vm._v(\" \"),(series.data && series.data.length)?_c('span',{class:{ 'gl-whitespace-nowrap': _vm.seriesNameIsLong(series.name) }},[_vm._v(\"\\n \"+_vm._s(_vm.averageText)+\": \"+_vm._s(_vm.seriesAverage(series.data))+\" · \"+_vm._s(_vm.maxText)+\":\\n \"+_vm._s(_vm.seriesMax(series.data))+\"\\n \")]):_vm._e()],1)}),0)]:_vm._e(),_vm._v(\" \"),(_vm.layout === _vm.$options.legendLayoutTypes.LEGEND_LAYOUT_TABLE)?[_c('div',{staticClass:\"gl-legend-tabular gl-legend-b-fade\",style:(_vm.fontStyle)},[_c('header',{staticClass:\"gl-legend-tabular-header\"},[_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.minText))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.maxText))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.averageText))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-header-cell\"},[_vm._v(_vm._s(_vm.currentText))])]),_vm._v(\" \"),_c('section',{staticClass:\"gl-legend-tabular-body\"},_vm._l((_vm.seriesInfo),function(series,key){return _c('div',{key:key,staticClass:\"gl-legend-tabular-row\",class:{\n 'gl-text-subtle': _vm.disabledSeries[key],\n 'gl-text-strong': !_vm.disabledSeries[key],\n 'hover:!gl-cursor-not-allowed':\n _vm.hasOneSeriesElement || _vm.isToggleDisabled(series.name, series.disabled),\n },style:(_vm.fontStyle),attrs:{\"aria-disabled\":_vm.isToggleDisabled(series.name, series.disabled),\"role\":\"button\"},on:{\"click\":function($event){return _vm.handleClick(series, key)},\"mouseenter\":function($event){return _vm.handleMouseEnter(series.name)},\"mouseleave\":function($event){return _vm.handleMouseLeave(series.name)}}},[_c('div',{staticClass:\"gl-legend-tabular-title-cell\"},[_c('gl-chart-series-label',{style:(_vm.fontStyle),attrs:{\"color\":_vm.getColor(series.color, key),\"type\":series.type}},[_c('gl-truncate',{staticClass:\"gl-font-bold\",attrs:{\"text\":series.name}})],1)],1),_vm._v(\" \"),(_vm.sanitizeSeriesData(series.data).length)?[_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesMin(series.data)))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesMax(series.data)))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesAverage(series.data)))]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(_vm._s(_vm.seriesLast(series.data)))])]:[_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")]),_vm._v(\" \"),_c('div',{staticClass:\"gl-legend-tabular-details-cell\"},[_vm._v(\"-\")])]],2)}),0)])]:_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","const scrollHandleSvgPath = 'path://M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zM6 4a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1zm4 0a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z';\nconst marqueeSelectionSvgPath = 'path://M-6.251 -7L-7 -7L-7 -4.753A0.749 0.749 0 0 0 -5.502 -4.753L-5.502 -5.502L-4.753 -5.502A0.749 0.749 0 0 0 -4.753 -7L-6.251 -7ZM-6.251 -2.0067A0.749 0.749 0 0 1 -5.502 -1.2577L-5.502 1.239A0.749 0.749 0 1 1 -7 1.239L-7 -1.2577A0.749 0.749 0 0 1 -6.251 -2.0067ZM0.8455 0.8455L2.3505 4.3578L4.3578 2.3505L0.8455 0.8455ZM0.2883 -1.023L5.6251 1.264A0.9987 0.9987 0 0 1 5.9387 2.8888L4.943 3.8835L6.7616 5.703A0.749 0.749 0 1 1 5.703 6.7616L3.8835 4.943L2.8888 5.9387A0.9987 0.9987 0 0 1 1.264 5.6251L-1.023 0.2883C-1.3785 -0.5406 -0.5406 -1.3785 0.2883 -1.023ZM-6.251 6.9813L-7 6.9813L-7 4.7343A0.749 0.749 0 1 1 -5.502 4.7343L-5.502 5.4833L-4.753 5.4833A0.749 0.749 0 1 1 -4.753 6.9813L-6.251 6.9813ZM-2.0067 -6.251A0.749 0.749 0 0 1 -1.2577 -7L1.239 -7A0.749 0.749 0 1 1 1.239 -5.502L-1.2577 -5.502A0.749 0.749 0 0 1 -2.0067 -6.251ZM6.2323 -7L6.9813 -7L6.9813 -4.753A0.749 0.749 0 1 1 5.4833 -4.753L5.4833 -5.502L4.7343 -5.502A0.749 0.749 0 1 1 4.7343 -7L6.2323 -7Z';\nconst redoSvgPath = 'path://M1.8332 -6.7552A7.0001 7.0001 0 0 0 -5.6875 -4.082L-5.6875 -5.4689A0.6563 0.6563 0 0 0 -7 -5.4689L-7 -1.7501L-3.2812 -1.7501A0.6563 0.6563 0 0 0 -3.2812 -3.0626L-4.7923 -3.0626A5.6876 5.6876 0 1 1 -5.2526 2.1822A0.6563 0.6563 0 0 0 -6.4645 2.6853A7.0001 7.0001 0 1 0 1.8332 -6.7561Z';\nconst clearAllSvgPath = 'path://M-1.8332 -6.7552A7.0001 7.0001 0 0 1 5.6875 -4.082L5.6875 -5.4689A0.6563 0.6563 0 1 1 7 -5.4689L7 -1.7501L3.2812 -1.7501A0.6563 0.6563 0 1 1 3.2812 -3.0626L4.7923 -3.0626A5.6876 5.6876 0 1 0 5.2526 2.1822A0.6563 0.6563 0 1 1 6.4645 2.6853A7.0001 7.0001 0 1 1 -1.8332 -6.7561Z';\nconst downloadSvgPath = 'path://M3.78 -0.841A0.75 0.75 0 0 0 2.72 -0.841L0.75 1.129L0.75 -6.25A0.75 0.75 0 0 0 -0.75 -6.25L-0.75 1.129L-2.72 -0.841A0.75 0.75 0 0 0 -3.78 0.219L-0.53 3.469L0 4L0.53 3.47L3.78 0.22A0.75 0.75 0 0 0 3.78 -0.841ZM-5.5 1.75A0.75 0.75 0 0 0 -7 1.75L-7 5A2 2 0 0 0 -5 7L5 7A2 2 0 0 0 7 5L7 1.75A0.75 0.75 0 0 0 5.5 1.75L5.5 5A0.5 0.5 0 0 1 5 5.5L-5 5.5A0.5 0.5 0 0 1 -5.5 5L-5.5 1.75Z';\n\nexport { clearAllSvgPath, downloadSvgPath, marqueeSelectionSvgPath, redoSvgPath, scrollHandleSvgPath };\n","import { GRAY_600, GRAY_200, GRAY_50, GRAY_300, GRAY_100, DATA_VIZ_BLUE_200, DATA_VIZ_BLUE_400, DATA_VIZ_BLUE_600, DATA_VIZ_BLUE_800, GRAY_900, GRAY_500, DATA_VIZ_BLUE_500, DATA_VIZ_BLUE_900, DATA_VIZ_ORANGE_500, DATA_VIZ_ORANGE_600, DATA_VIZ_AQUA_500, DATA_VIZ_GREEN_600, DATA_VIZ_MAGENTA_500, DATA_VIZ_BLUE_700, DATA_VIZ_ORANGE_800, DATA_VIZ_AQUA_700, DATA_VIZ_GREEN_800, DATA_VIZ_MAGENTA_700, DATA_VIZ_ORANGE_950, DATA_VIZ_AQUA_900, DATA_VIZ_GREEN_950, DATA_VIZ_MAGENTA_900, DATA_VIZ_ORANGE_700, DATA_VIZ_AQUA_600, DATA_VIZ_GREEN_700, DATA_VIZ_MAGENTA_600, DATA_VIZ_ORANGE_900, DATA_VIZ_AQUA_800, DATA_VIZ_GREEN_900, DATA_VIZ_MAGENTA_800, DATA_VIZ_BLUE_950, DATA_VIZ_AQUA_950, DATA_VIZ_GREEN_500, DATA_VIZ_MAGENTA_950, DATA_VIZ_ORANGE_400, DATA_VIZ_GREEN_400, DATA_VIZ_BLUE_300, DATA_VIZ_ORANGE_200, DATA_VIZ_AQUA_300, DATA_VIZ_GREEN_200, DATA_VIZ_MAGENTA_300, DATA_VIZ_BLUE_100, DATA_VIZ_ORANGE_50, DATA_VIZ_AQUA_100, DATA_VIZ_GREEN_50, DATA_VIZ_MAGENTA_100, DATA_VIZ_ORANGE_300, DATA_VIZ_AQUA_400, DATA_VIZ_GREEN_300, DATA_VIZ_MAGENTA_400, DATA_VIZ_ORANGE_100, DATA_VIZ_AQUA_200, DATA_VIZ_GREEN_100, DATA_VIZ_MAGENTA_200, DATA_VIZ_BLUE_50, DATA_VIZ_AQUA_50, DATA_VIZ_MAGENTA_50, RED_500, WHITE } from '../../tokens/build/js/tokens';\nimport { scrollHandleSvgPath, marqueeSelectionSvgPath, redoSvgPath, clearAllSvgPath, downloadSvgPath } from '../svgs/svg_paths';\nimport { hexToRgba } from '../utils';\n\nconst GL_BORDER_RADIUS_BASE = '0.25rem';\nconst themeName = 'gitlab';\nconst heatmapHues = [GRAY_100, DATA_VIZ_BLUE_200, DATA_VIZ_BLUE_400, DATA_VIZ_BLUE_600, DATA_VIZ_BLUE_800];\nconst gaugeNeutralHues = [GRAY_900, GRAY_500];\nconst gaugeSafeHues = [DATA_VIZ_BLUE_500, DATA_VIZ_BLUE_900];\nconst gaugeWarningHue = DATA_VIZ_ORANGE_500;\n\n/**\n * The default palette is based on the Categorical data palette\n * Categorical data (also known as qualitative or thematic) uses hue to\n * differentiate qualitative data, and lightness to differentiate quantitive data.\n * More info: https://design.gitlab.com/data-visualization/color#categorical-data\n */\nconst colorPaletteDefault = [DATA_VIZ_BLUE_500, DATA_VIZ_ORANGE_600, DATA_VIZ_AQUA_500, DATA_VIZ_GREEN_600, DATA_VIZ_MAGENTA_500, DATA_VIZ_BLUE_700, DATA_VIZ_ORANGE_800, DATA_VIZ_AQUA_700, DATA_VIZ_GREEN_800, DATA_VIZ_MAGENTA_700, DATA_VIZ_BLUE_900, DATA_VIZ_ORANGE_950, DATA_VIZ_AQUA_900, DATA_VIZ_GREEN_950, DATA_VIZ_MAGENTA_900, DATA_VIZ_BLUE_600, DATA_VIZ_ORANGE_700, DATA_VIZ_AQUA_600, DATA_VIZ_GREEN_700, DATA_VIZ_MAGENTA_600, DATA_VIZ_BLUE_800, DATA_VIZ_ORANGE_900, DATA_VIZ_AQUA_800, DATA_VIZ_GREEN_900, DATA_VIZ_MAGENTA_800, DATA_VIZ_BLUE_950, DATA_VIZ_ORANGE_500, DATA_VIZ_AQUA_950, DATA_VIZ_GREEN_500, DATA_VIZ_MAGENTA_950];\nconst colorFromDefaultPalette = index => colorPaletteDefault[index % colorPaletteDefault.length];\nconst colorPaletteDark = [DATA_VIZ_BLUE_500, DATA_VIZ_ORANGE_400, DATA_VIZ_AQUA_500, DATA_VIZ_GREEN_400, DATA_VIZ_MAGENTA_500, DATA_VIZ_BLUE_300, DATA_VIZ_ORANGE_200, DATA_VIZ_AQUA_300, DATA_VIZ_GREEN_200, DATA_VIZ_MAGENTA_300, DATA_VIZ_BLUE_100, DATA_VIZ_ORANGE_50, DATA_VIZ_AQUA_100, DATA_VIZ_GREEN_50, DATA_VIZ_MAGENTA_100, DATA_VIZ_BLUE_400, DATA_VIZ_ORANGE_300, DATA_VIZ_AQUA_400, DATA_VIZ_GREEN_300, DATA_VIZ_MAGENTA_400, DATA_VIZ_BLUE_200, DATA_VIZ_ORANGE_100, DATA_VIZ_AQUA_200, DATA_VIZ_GREEN_100, DATA_VIZ_MAGENTA_200, DATA_VIZ_BLUE_50, DATA_VIZ_ORANGE_500, DATA_VIZ_AQUA_50, DATA_VIZ_GREEN_500, DATA_VIZ_MAGENTA_50];\nconst colorFromDarkPalette = index => colorPaletteDark[index % colorPaletteDark.length];\nconst axes = {\n axisLabel: {\n margin: 8,\n show: true,\n color: `var(--gray-600, ${GRAY_600})`,\n hideOverlap: true\n },\n axisLine: {\n show: false\n },\n axisPointer: {\n lineStyle: {\n type: 'solid',\n color: GRAY_600\n },\n label: {\n show: false\n }\n },\n axisTick: {\n show: true,\n alignWithLabel: true,\n lineStyle: {\n color: GRAY_200\n }\n },\n nameGap: 30,\n nameTextStyle: {\n fontWeight: 'bold'\n },\n splitLine: {\n lineStyle: {\n color: [GRAY_200]\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: [hexToRgba(GRAY_50, 0.3), hexToRgba(GRAY_300, 0.3)]\n }\n }\n};\nconst isLineChartWithoutArea = options => Array.isArray(options === null || options === void 0 ? void 0 : options.series) && options.series.some(series => series.type === 'line' && !series.areaStyle);\nconst createTheme = function () {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return {\n color: colorPaletteDefault,\n backgroundColor: 'transparent',\n textStyle: {\n color: `var(--gl-text-color, ${GRAY_900})`\n },\n markLine: {\n silent: true,\n symbol: 'none',\n label: {\n show: false\n },\n lineStyle: {\n color: RED_500,\n width: 1,\n type: 'dashed'\n }\n },\n markArea: {\n silent: true,\n itemStyle: {\n color: hexToRgba(RED_500, 0.1)\n }\n },\n dataZoom: {\n borderColor: 'transparent',\n filterMode: 'none',\n brushSelect: false,\n dataBackground: {\n lineStyle: {\n width: 2,\n color: GRAY_200,\n opacity: 1\n },\n // render unfilled zoom-graph if the series is a line chart without area styles\n // more details: https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/2364#note_666637306\n areaStyle: isLineChartWithoutArea(options) ? {} // Use empty object instead of null, see https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/2185#note_707711029 for more context\n : {\n color: GRAY_50,\n opacity: 1\n }\n },\n fillerColor: hexToRgba(GRAY_200, 0.23),\n handleIcon: scrollHandleSvgPath,\n handleStyle: {\n borderColor: 'transparent',\n color: GRAY_500\n },\n handleSize: '50%',\n labelFormatter: () => null,\n textStyle: {\n color: GRAY_600\n }\n },\n toolbox: {\n top: '-5',\n left: 'center',\n itemSize: 14,\n emphasis: {\n iconStyle: {\n borderWidth: 0,\n color: GRAY_900,\n textBackgroundColor: WHITE,\n textBorderRadius: GL_BORDER_RADIUS_BASE,\n textPadding: [8, 12]\n }\n },\n iconStyle: {\n color: GRAY_500,\n borderWidth: 0\n },\n itemGap: 8,\n feature: {\n dataZoom: {\n title: {\n zoom: 'Click to zoom in on a portion of the graph',\n back: 'Remove selection'\n },\n icon: {\n zoom: marqueeSelectionSvgPath,\n back: redoSvgPath\n }\n },\n restore: {\n title: 'Remove all selections and return chart to default state',\n icon: clearAllSvgPath\n },\n saveAsImage: {\n title: 'Save chart as an image',\n name: 'graph',\n icon: downloadSvgPath\n }\n }\n },\n markPoint: {\n label: {\n normal: {\n textStyle: {\n color: GRAY_50\n }\n },\n emphasis: {\n textStyle: {\n color: GRAY_50\n }\n }\n }\n },\n line: {\n itemStyle: {\n normal: {\n borderWidth: 1\n }\n },\n lineStyle: {\n normal: {\n width: 2\n }\n },\n symbolSize: '6',\n symbol: 'circle',\n showSymbol: false,\n smooth: false\n },\n categoryAxis: axes,\n valueAxis: axes,\n logAxis: axes,\n timeAxis: axes\n };\n};\n\nexport { colorFromDarkPalette, colorFromDefaultPalette, colorPaletteDark, colorPaletteDefault, createTheme, gaugeNeutralHues, gaugeSafeHues, gaugeWarningHue, heatmapHues, themeName };\n","import castArray from 'lodash/castArray';\nimport merge from 'lodash/merge';\nimport { BLUE_500 } from '../../tokens/build/js/tokens';\nimport { GlBreakpointInstance } from '../breakpoints';\nimport { columnOptions } from '../constants';\nimport { areDatesEqual } from '../datetime_utility';\nimport { engineeringNotation } from '../number_utils';\nimport { hexToRgba } from '../utils';\nimport { arrowSymbol, ANNOTATIONS_SERIES_NAME, CHART_TYPE_BAR, CHART_TYPE_LINE } from './constants';\n\nconst defaultAreaOpacity = 0.2;\nconst defaultFontSize = 12;\nconst defaultHeight = 400;\nconst defaultWidth = 300;\nconst validRenderers = ['canvas', 'svg'];\nconst toolboxHeight = 14;\nconst axes = {\n name: 'Value',\n type: 'value',\n nameLocation: 'center'\n};\nconst xAxis = merge({}, axes, {\n boundaryGap: false,\n splitLine: {\n show: false\n }\n});\nconst yAxis = merge({}, axes, {\n nameGap: 50,\n axisLabel: {\n formatter: num => engineeringNotation(num, 2)\n }\n});\nconst grid = {\n top: 16,\n bottom: 44,\n left: 64,\n right: 32\n};\nconst defaultChartOptions = {\n grid,\n xAxis,\n yAxis\n};\nconst gridWithSecondaryYAxis = {\n ...grid,\n right: 64\n};\nconst lineStyle = {\n symbol: 'circle',\n type: 'line',\n width: 2\n};\n\n/**\n * Annotations series consists of annotations lines\n * along with markers. Annotations co-exist with data\n * series but have their own virtual coords so that they stay put\n * irrespective of data series extents.\n */\nconst annotationsYAxisCoords = {\n min: 0,\n pos: 3,\n // 3% height of chart's grid\n max: 100,\n show: false\n};\nconst symbolSize = 6;\n\n/**\n * These comparison operators are currently in monitoring\n * charts that have alerting related data.\n *\n * {Array} Possible values for greater than\n */\nconst GREATER_THAN = ['>', '>'];\n\n/**\n * These comparison operators are currently in monitoring\n * charts that have alerting related data.\n *\n * {Array} Possible values for less than\n */\nconst LESS_THAN = ['<', '<'];\n\n/**\n * All default dataZoom configs will have slider & inside\n * (for reference, see https://gitlab.com/gitlab-org/gitlab-ui/issues/240)\n * Inside is disabled for larger viewports (lg and xl)\n * and is specifically to enable touch zoom for mobile devices\n * @param {Object} options\n */\nconst getDataZoomConfig = function () {\n let {\n filterMode = 'none'\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const disabledBreakpoints = ['lg', 'xl'];\n const disabled = disabledBreakpoints.includes(GlBreakpointInstance.getBreakpointSize());\n const minSpan = filterMode === 'none' ? 0.01 : null;\n return {\n grid: {\n bottom: 81\n },\n xAxis: {\n nameGap: 67\n },\n dataZoom: [{\n type: 'slider',\n bottom: 22,\n filterMode,\n minSpan\n }, {\n type: 'inside',\n filterMode,\n minSpan,\n disabled\n }]\n };\n};\n\n// All chart options can be merged but series\n// needs to be concatenated.\n// Series can be an object for single series or\n// an array of objects.\nconst mergeSeriesToOptions = function (options) {\n let series = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n const {\n series: optSeries = []\n } = options;\n return {\n ...options,\n series: [...castArray(series), ...castArray(optSeries)]\n };\n};\n\n/**\n * If an annotation series exists, the chart options should have an\n * array of yAxis settings so that the series can exist in its own\n * coordinate system without interfering with the data series\n *\n * @param {Object} options options to merge annotation series yAxis with\n * @param {Boolean} hasAnnotations if annotation series yAxis should be merged\n * @returns {Object} options\n */\nconst mergeAnnotationAxisToOptions = function (options) {\n let hasAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return {\n ...options,\n ...(hasAnnotations && {\n yAxis: [options.yAxis, annotationsYAxisCoords]\n })\n };\n};\nconst dataZoomAdjustments = dataZoom => {\n // handle cases where dataZoom is array and object.\n const useSlider = dataZoom && Array.isArray(dataZoom) ? dataZoom.length : Boolean(dataZoom);\n return useSlider ? getDataZoomConfig({\n filterMode: 'weakFilter'\n }) : [];\n};\n\n/**\n * Generate eCharts markArea arrays for thresholds and annotations.\n *\n * This method purposefully has no knowledge of comparison\n * operators used in thresholds as it is not necessary and instead\n * expects explict value bounds\n *\n * Examples:\n * { min: 7, max: 10 } => markArea from 7 to 10\n * { min: 1, max: 7 } => markArea from 1 to 7\n *\n * If min and max are equal it would be markLine and would be\n * generated by `generateMarkLines`\n *\n * @param {Object} threshold Threshold/Annotation object with min and max values\n * @param {String} axis markArea is generated against this axis\n * @returns {Array}\n */\nconst generateMarkArea = function (_ref) {\n let {\n min,\n max\n } = _ref;\n let axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'yAxis';\n return [{\n [axis]: min\n }, {\n [axis]: max\n }];\n};\n\n/**\n * Generate eCharts markLine objects for thresholds and annotations.\n *\n * This method purposefully has no knowledge of comparison\n * operators used in thresholds as it is not necessary and instead\n * expects explict value bounds\n *\n * In order to continue supporting existing thresholds format, min\n * is passed as undefined so the correct markLine object is generated.\n *\n * For annotations, min and max will be the same value.\n *\n * Threshold Examples:\n * { max: 7 } => markLine at 7\n *\n * Annotation Examples:\n * { min: 7, max: 7 } => markLine at 7\n *\n * @param {Object} threshold Threshold/Annotation object with min and max values\n * @param {String} axis markLine is generated against this axis\n * @returns {Object}\n */\nconst generateMarkLines = function (_ref2) {\n let {\n min,\n max\n } = _ref2;\n let axis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'yAxis';\n if (min) {\n return {\n [axis]: min\n };\n }\n return {\n [axis]: max\n };\n};\n\n/**\n * Generates markPoints that are placed under the markLines.\n *\n * These are used only in annotation lines. For annotation lines,\n * both min and max are same values so only one is enough to generate\n * the markPoint.\n *\n * @param {Object} annotation object\n * @return {Object}\n */\nconst generateMarkPoints = _ref3 => {\n let {\n min,\n tooltipData\n } = _ref3;\n return {\n name: 'annotations',\n xAxis: min,\n yAxis: 0,\n tooltipData\n };\n};\n\n/**\n * Generate set of markAreas and markLines to draw on charts\n * as alert thresholds.\n *\n * Alert thresholds always have a markLine associated with a markArea\n *\n * @param {Array} thresholds Array of alert thresholds\n * @returns {Object} markAreas and markLines\n */\nfunction getThresholdConfig(thresholds) {\n if (!thresholds.length) {\n return {};\n }\n const data = thresholds.reduce((acc, alert) => {\n const {\n threshold,\n operator\n } = alert;\n if (GREATER_THAN.includes(operator)) {\n acc.areas.push(generateMarkArea({\n min: threshold,\n max: Infinity\n }));\n } else if (LESS_THAN.includes(operator)) {\n acc.areas.push(generateMarkArea({\n min: Number.NEGATIVE_INFINITY,\n max: threshold\n }));\n }\n acc.lines.push(generateMarkLines({\n max: threshold\n }));\n return acc;\n }, {\n lines: [],\n areas: []\n });\n return {\n markLine: {\n data: data.lines\n },\n markArea: {\n data: data.areas,\n zlevel: -1\n }\n };\n}\n\n/**\n * This method is only for testing both markLines and markAreas\n * that are used for annotations.\n *\n * `getAnnotationsConfig` as of %12.10 supports only markLines.\n * But this method can generate lines, points and areas.\n *\n * @param {Array} annotations Array of annotation objects\n * @returns {Object} { areas, lines, points }\n */\nconst parseAnnotations = annotations => annotations.reduce((acc, annotation) => {\n // because only markLines are supported all cases will\n // satisfy this condition. This is more of a sanity check\n // until markAreas are supported.\n // https://gitlab.com/gitlab-org/gitlab/-/issues/212910\n if (areDatesEqual(annotation.min, annotation.max)) {\n acc.lines.push(generateMarkLines(annotation, 'xAxis'));\n acc.points.push(generateMarkPoints(annotation));\n return acc;\n }\n acc.areas.push(generateMarkArea(annotation, 'xAxis'));\n return acc;\n}, {\n areas: [],\n lines: [],\n points: []\n});\n\n/**\n * Generate set of markAreas and markLines to draw on charts\n * as annotations.\n *\n * Annotations as of %12.10 will only be markLines.\n * markAreas are not supported yet. They are generated by\n * `parseAnnotations` but not rendered.\n *\n * @param {Array} annotations Array of annotations\n * @returns {Object} { markLines }\n */\nconst getAnnotationsConfig = annotations => {\n if (!annotations.length) {\n return {};\n }\n\n // annotations parsing is moved out so that it can be tested\n // for markLines and markAreas.\n const {\n lines,\n points\n } = parseAnnotations(annotations);\n return {\n markLine: {\n lineStyle: {\n color: BLUE_500\n },\n silent: true,\n data: lines\n },\n markPoint: {\n itemStyle: {\n color: BLUE_500\n },\n symbol: arrowSymbol,\n symbolSize: '8',\n symbolOffset: [0, ' 60%'],\n data: points\n }\n };\n};\n\n/**\n * Given thresholds and annotations options, this method generates\n * an annotation series that co-exists along with the data series.\n *\n * yAxis option is useful in cases where multiple yAxis settings\n * are used in a chart. Currently, all of our charts have single\n * yAxis settings.\n *\n * @param {Object} params Thresholds, annotations and yAxis options\n * @returns {Object} Annotation series\n */\nconst generateAnnotationSeries = function (annotations) {\n let yAxisIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n if (!annotations.length) {\n return null;\n }\n return merge({\n name: ANNOTATIONS_SERIES_NAME,\n yAxisIndex,\n type: 'scatter',\n data: []\n }, getAnnotationsConfig(annotations));\n};\n\n/**\n * This method generates the data series and relevant defaults for a bar chart\n *\n * @param {Object} options\n * @param {string} options.name - xAxis name for the chart\n * @param {string} options.color - color to render the data series\n * @param {Array} options.data - data set to be rendered\n * @param {string} [options.stack] - controls how the stacked charts should render either `stacked` or `tiled`\n * @param {number} [options.yAxisIndex] - specifies the yAxis to use (if there are multiple)\n * @returns {Object} Bar chart series\n */\nconst generateBarSeries = _ref4 => {\n let {\n name,\n color,\n data = [],\n stack = columnOptions.stacked,\n yAxisIndex = 0\n } = _ref4;\n return {\n type: CHART_TYPE_BAR,\n name,\n data,\n stack,\n barMaxWidth: '50%',\n yAxisIndex,\n itemStyle: {\n color: hexToRgba(color, 0.2),\n borderColor: color,\n borderWidth: 1\n },\n emphasis: {\n itemStyle: {\n color: hexToRgba(color, 0.4)\n }\n }\n };\n};\n\n/**\n * This method generates the data series and relevant defaults for a line chart\n *\n * @param {Object} options\n * @param {string} options.name - xAxis name for the chart\n * @param {string} options.color - color to render the data series\n * @param {Array} options.data - data set to be rendered\n * @param {number} [options.yAxisIndex] - specifies the yAxis to use (if there are multiple)\n * @returns {Object} Line chart series\n */\nconst generateLineSeries = _ref5 => {\n let {\n name,\n color,\n data = [],\n yAxisIndex = 0\n } = _ref5;\n return {\n name,\n data,\n type: CHART_TYPE_LINE,\n yAxisIndex,\n lineStyle: {\n color\n },\n itemStyle: {\n color\n }\n };\n};\nconst getTooltipTitle = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n let titleAxisName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!params) return '';\n const title = params.seriesData.reduce((acc, _ref6) => {\n let {\n value\n } = _ref6;\n if (acc.includes(value[0])) {\n return acc;\n }\n return [...acc, value[0]];\n }, []).join(', ');\n return titleAxisName ? `${title} (${titleAxisName})` : title;\n};\nconst getTooltipContent = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n let valueAxisName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!params) {\n return {};\n }\n const {\n seriesData\n } = params;\n if (seriesData.length === 1) {\n const {\n value: [, yValue],\n seriesName\n } = seriesData[0];\n return {\n [valueAxisName || seriesName]: {\n value: yValue,\n color: '' // ignore color when showing a single series\n }\n };\n }\n return seriesData.reduce((acc, _ref7) => {\n let {\n value: [, yValue],\n seriesName,\n color\n } = _ref7;\n acc[seriesName] = {\n value: yValue,\n color\n };\n return acc;\n }, {});\n};\n\n/**\n * The method works well if tooltip content should be against y-axis values.\n * However, for bar charts, the tooltip should be against x-axis values.\n * This method should be updated to work with all types of visualizations.\n * https://gitlab.com/gitlab-org/gitlab-ui/-/issues/674\n *\n * @param {Object} params series data\n * @param {String} yAxisTitle y-axis title\n * @returns {Object} tooltip title and content\n * @deprecated Use getTooltipContent and getTooltipContent to obtain the tooltip\n */\nconst getDefaultTooltipContent = function (params) {\n let yAxisTitle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n const seriesDataLength = params.seriesData.length;\n const {\n xLabels,\n tooltipContent\n } = params.seriesData.reduce((acc, chartItem) => {\n const [title, value] = chartItem.value || [];\n // Let's use the y axis title as series name when only one series exists\n // This way, TooltipDefaultFormat will display the y axis title as label\n const seriesName = seriesDataLength === 1 && yAxisTitle ? yAxisTitle : chartItem.seriesName;\n const color = seriesDataLength === 1 ? '' : chartItem.color;\n acc.tooltipContent[seriesName] = {\n value,\n color\n };\n if (!acc.xLabels.includes(title)) {\n acc.xLabels.push(title);\n }\n return acc;\n }, {\n xLabels: [],\n tooltipContent: {}\n });\n return {\n xLabels,\n tooltipContent\n };\n};\n\nexport { annotationsYAxisCoords, axes, dataZoomAdjustments, defaultAreaOpacity, defaultChartOptions, defaultFontSize, defaultHeight, defaultWidth, generateAnnotationSeries, generateBarSeries, generateLineSeries, getAnnotationsConfig, getDataZoomConfig, getDefaultTooltipContent, getThresholdConfig, getTooltipContent, getTooltipTitle, grid, gridWithSecondaryYAxis, lineStyle, mergeAnnotationAxisToOptions, mergeSeriesToOptions, parseAnnotations, symbolSize, toolboxHeight, validRenderers, xAxis, yAxis };\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var isArray = require('./isArray');\n\n/**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\nfunction castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n}\n\nmodule.exports = castArray;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IterationIssuesSummary\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isGroup\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":true},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isGroup\"}}}]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"openIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"opened\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"none\",\"block\":false}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubgroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"assignedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"opened\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"any\",\"block\":false}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubgroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"closedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"closed\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"includeSubgroups\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"project\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"fullPath\"}}}],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"isGroup\"}}}]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"openIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"opened\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"none\",\"block\":false}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"assignedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"opened\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"assigneeId\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"any\",\"block\":false}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"closedIssues\"},\"name\":{\"kind\":\"Name\",\"value\":\"issues\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"iterationId\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}]}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"closed\"}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"skip\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"weight\"}}}]}]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1255}};\n doc.loc.source = {\"body\":\"query IterationIssuesSummary(\\n $fullPath: ID!\\n $id: ID!\\n $isGroup: Boolean = true\\n $weight: Boolean = false\\n) {\\n group(fullPath: $fullPath) @include(if: $isGroup) {\\n id\\n openIssues: issues(\\n iterationId: [$id]\\n state: opened\\n assigneeId: \\\"none\\\"\\n includeSubgroups: true\\n ) {\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n assignedIssues: issues(\\n iterationId: [$id]\\n state: opened\\n assigneeId: \\\"any\\\"\\n includeSubgroups: true\\n ) {\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n closedIssues: issues(iterationId: [$id], state: closed, includeSubgroups: true) {\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n }\\n project(fullPath: $fullPath) @skip(if: $isGroup) {\\n id\\n openIssues: issues(iterationId: [$id], state: opened, assigneeId: \\\"none\\\") {\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n assignedIssues: issues(iterationId: [$id], state: opened, assigneeId: \\\"any\\\") {\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n closedIssues: issues(iterationId: [$id], state: closed) {\\n count @skip(if: $weight)\\n weight @include(if: $weight)\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IterationIssuesSummary\"] = oneQuery(doc, \"IterationIssuesSummary\");\n \n","import * as echarts from 'echarts';\nimport { uid, debounceByAnimationFrame } from '../../../utils/utils';\nimport GlPopover from '../../base/popover/popover';\nimport { popoverPlacements } from '../../../utils/constants';\nimport { TOOLTIP_LEFT_OFFSET, TOOLTIP_TOP_OFFSET } from '../../../utils/charts/constants';\nimport { getTooltipTitle, getTooltipContent } from '../../../utils/charts/config';\nimport TooltipDefaultFormat from '../../shared_components/charts/tooltip_default_format';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n name: 'GlChartTooltip',\n components: {\n GlPopover,\n TooltipDefaultFormat\n },\n inheritAttrs: false,\n props: {\n chart: {\n type: Object,\n required: true,\n validator(chart) {\n return Object.is(chart, echarts.getInstanceByDom(chart.getDom()));\n }\n },\n id: {\n type: String,\n required: false,\n default: () => uid()\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `top` style property.\n */\n top: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `bottom` style property.\n */\n bottom: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `left` style property.\n */\n left: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Position of the popover respective to the chart.\n * Sets the `right` style property.\n */\n right: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Set to `true` to show, set to `false` to not show.\n * Set to `null` to show only when the mouse is in the chart.\n */\n show: {\n type: Boolean,\n required: false,\n default: null\n },\n /**\n * Popover placement\n */\n placement: {\n type: String,\n required: false,\n default: popoverPlacements.right\n },\n /**\n * Distance between the popover and the pointer when\n * no position is defined\n */\n xOffset: {\n type: Number,\n required: false,\n default: TOOLTIP_LEFT_OFFSET,\n validator(value) {\n // popover target must have a size of at least 1\n return value >= 1;\n }\n },\n /**\n * Distance between the popover and the pointer when\n * no position is defined\n */\n yOffset: {\n type: Number,\n required: false,\n default: TOOLTIP_TOP_OFFSET,\n validator(value) {\n // popover target must have a size of at least 1\n return value >= 1;\n }\n },\n /**\n * Set to true to use the default tooltip formatter.\n */\n useDefaultTooltipFormatter: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n pointerPosition: null,\n isPointerInChart: false,\n debouncedMouseHandler: debounceByAnimationFrame(this.mouseHandler),\n title: null,\n content: {},\n params: null\n };\n },\n computed: {\n targetId() {\n // if multiple tooltips are used in a chart component,\n // `this.id` can be used to uniquely identify them\n return `${this.chart.getDom().getAttribute('_echarts_instance_')}-tooltip-${this.id}`;\n },\n targetStyle() {\n // the target is a rectangular space between cursor and popover\n return {\n marginTop: `${-this.yOffset}px`,\n height: `${this.yOffset * 2}px`,\n marginLeft: `${-this.xOffset}px`,\n width: `${this.xOffset * 2}px`\n };\n },\n fixedPosition() {\n const {\n top,\n left,\n bottom,\n right\n } = this;\n if (top || left || bottom || right) {\n return {\n top,\n left,\n bottom,\n right\n };\n }\n return null;\n },\n shouldShowPopover() {\n if (this.show !== null) {\n return this.show;\n }\n return this.isPointerInChart;\n }\n },\n created() {\n this.chart.getZr().on('mousemove', this.debouncedMouseHandler);\n this.chart.getZr().on('mouseout', this.debouncedMouseHandler);\n if (this.useDefaultTooltipFormatter) {\n this.chart.setOption({\n xAxis: {\n axisPointer: {\n show: true,\n label: {\n formatter: params => {\n var _options$xAxis, _options$xAxis$, _options$yAxis, _options$yAxis$;\n const options = this.chart.getOption();\n const titleAxisName = (_options$xAxis = options.xAxis) === null || _options$xAxis === void 0 ? void 0 : (_options$xAxis$ = _options$xAxis[0]) === null || _options$xAxis$ === void 0 ? void 0 : _options$xAxis$.name;\n const valueAxisName = (_options$yAxis = options.yAxis) === null || _options$yAxis === void 0 ? void 0 : (_options$yAxis$ = _options$yAxis[0]) === null || _options$yAxis$ === void 0 ? void 0 : _options$yAxis$.name;\n this.title = getTooltipTitle(params, titleAxisName);\n this.content = getTooltipContent(params, valueAxisName);\n this.params = params;\n }\n }\n }\n }\n });\n }\n },\n beforeDestroy() {\n this.chart.getZr().off('mousemove', this.debouncedMouseHandler);\n this.chart.getZr().off('mouseout', this.debouncedMouseHandler);\n },\n methods: {\n mouseHandler(event) {\n let {\n zrX: x,\n zrY: y\n } = event.event;\n if (Number.isFinite(x) && Number.isFinite(y)) {\n x = Math.round(x);\n y = Math.round(y);\n this.pointerPosition = {\n left: `${x}px`,\n top: `${y}px`\n };\n this.isPointerInChart = this.chart.containPixel('grid', [x, y]);\n }\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.chart)?_c('div',{staticClass:\"gl-pointer-events-none\"},[_c('div',{staticClass:\"gl-chart-tooltip\",style:(Object.assign({}, (_vm.fixedPosition || _vm.pointerPosition), _vm.targetStyle)),attrs:{\"id\":_vm.targetId}}),_vm._v(\" \"),_c('gl-popover',_vm._b({attrs:{\"show\":_vm.shouldShowPopover,\"target\":_vm.targetId,\"container\":_vm.targetId,\"placement\":_vm.placement,\"triggers\":\"\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._t(\"title\",function(){return [_vm._v(_vm._s(_vm.title))]},null,{ title: _vm.title, params: _vm.params })]},proxy:true}],null,true)},'gl-popover',_vm.$attrs,false),[_vm._v(\" \"),_vm._t(\"default\",function(){return [_c('tooltip-default-format',{attrs:{\"tooltip-content\":_vm.content},scopedSlots:_vm._u([(_vm.$scopedSlots['tooltip-value'])?{key:\"tooltip-value\",fn:function(scope){return [_vm._t(\"tooltip-value\",null,null,scope)]}}:null],null,true)})]},null,{ content: _vm.content, params: _vm.params })],2)],1):_vm._e()};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n// eslint-disable-next-line max-params\nconst makePathRect = (startX, startY, width, height) => `M${startX},${startY}H${startX + width}V${startY + height}H${startX}Z`;\nvar script = {\n name: 'GlChartSeriesLabel',\n props: {\n color: {\n type: String,\n required: true\n },\n type: {\n type: String,\n required: false,\n default: 'solid'\n }\n },\n data() {\n return {\n labelLineHeight: 0\n };\n },\n computed: {\n pathContent() {\n const width = this.$options.svgWidth;\n const height = this.$options.svgHeight;\n if (this.type === 'dashed') {\n const dashWidth = Math.ceil(width / 3);\n const firstDash = makePathRect(0, 0, dashWidth, height);\n const secondDash = makePathRect(width - dashWidth, 0, dashWidth, height);\n return `${firstDash}${secondDash}`;\n }\n return makePathRect(0, 0, width, height);\n },\n svgStyles() {\n return {\n fill: this.color,\n transform: `translateY(${this.formatPixelDimension(this.svgYTranslationValue)})`,\n width: 'auto'\n };\n },\n svgYTranslationValue() {\n const value = this.labelLineHeight / 2 - this.$options.svgHeight / 2;\n return Math.round(value) || 0;\n }\n },\n mounted() {\n if (getComputedStyle && this.$refs.label) {\n const computedStyle = getComputedStyle(this.$refs.label);\n const lineHeight = computedStyle['line-height'].match(/(\\d+)px/);\n if (lineHeight !== null) {\n this.labelLineHeight = parseFloat(lineHeight[1]);\n }\n }\n },\n methods: {\n formatPixelDimension(dimension) {\n return `${dimension}px`;\n }\n },\n svgWidth: 16,\n svgHeight: 4\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"gl-series-label-container\"},[(_vm.color.length)?_c('div',{staticClass:\"gl-series-label-color\"},[_c('svg',{style:(_vm.svgStyles),attrs:{\"width\":_vm.formatPixelDimension(_vm.$options.svgWidth),\"height\":_vm.formatPixelDimension(_vm.$options.svgHeight)}},[_c('path',{attrs:{\"d\":_vm.pathContent}})])]):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"label\",staticClass:\"gl-series-label-text\"},[_vm._t(\"default\")],2)])};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n"],"sourceRoot":""}