{"version":3,"sources":["webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./src/components/charts/BarChart.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/se.js"],"names":["global","factory","this","moment","uzLatn","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","week","dow","doy","ml","monthsParseExact","meridiemParse","meridiemHour","hour","meridiem","minute","isLower","cv","output","affix","exec","dayOfMonthOrdinalParse","ordinal","plural","n","translate","number","withoutSuffix","key","isFuture","result","is","fo","ja","eras","since","offset","name","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","input","match","parseInt","l","ll","lll","llll","isPM","now","period","monthsShortDot","monthsParse","monthsRegex","esDo","format","test","month","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdaysParseExact","hours","arMa","processRelativeTime","gomLatn","standalone","isFormat","frCh","enAu","b","suffixes","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","tr","minutes","a","c","da","tlPh","eu","th","translator","words","correctGrammaticalCase","wordKey","length","srCyrl","day","lastWeekDays","ocLnc","mt","symbolMap","pluralForm","plurals","pluralize","u","string","f","str","replace","arLy","preparse","postformat","reactiveProp","mixins","extends","Bar","props","chartData","Object","options","mounted","renderChart","responsive","maintainAspectRatio","scales","xAxes","stacked","gridLines","color","yAxes","legend","display","position","labels","boxWidth","lineWidth","word","num","forms","relativeTimeWithPlural","be","dataHandler","newData","oldData","chart","$data","_chart","newDatasetLabels","datasets","map","dataset","label","oldDatasetLabels","oldLabels","JSON","stringify","newLabels","forEach","i","oldDatasetKeys","keys","newDatasetKeys","deletionKeys","filter","indexOf","attribute","deletionKey","data","hasOwnProperty","$emit","xLabels","yLabels","update","destroy","reactiveData","watch","type","required","default","generateChart","chartId","chartType","render","createElement","style","styles","class","cssClasses","attrs","id","width","height","ref","String","Number","plugins","Array","_plugins","methods","addPlugin","plugin","push","generateLegend","$refs","canvas","getContext","beforeDestroy","Doughnut","Line","Radar","Bubble","ka","$0","$1","$2","ko","token","isUpper","numberMap","ku","bs","units","translateSeconds","translateSingular","special","lt","vi","me","af","uz","module","exports","e","createCommonjsModule","fn","getCjsExportFromNamespace","colorName","conversions","reverseKeywords","convert","rgb","channels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","Error","defineProperty","value","comparativeDistance","x","Math","pow","r","g","min","max","delta","rdif","gdif","bdif","v","diff","diffc","w","k","reversed","currentClosestKeyword","currentClosestDistance","distance","z","t1","t2","t3","val","sv","smin","lmin","hi","floor","p","q","t","sl","vmin","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","args","arguments","round","ansi","mult","rem","integer","toString","toUpperCase","substring","colorString","char","join","grayscale","hue","chroma","pure","mg","buildGraph","graph","models","len","parent","deriveBFS","fromModel","queue","current","pop","adjacents","adjacent","node","unshift","link","from","to","wrapConversion","toModel","path","cur","conversion","route","wrapRaw","wrappedFn","undefined","prototype","slice","call","wrapRounded","routes","routeModels","raw","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","rgba","per","hexAlpha","parseFloat","scale","alpha","isNaN","hsla","vals","hexDouble","reverseNames","Color","obj","valid","values","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","concat","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","dark","yiq","light","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","toJSON","clone","source","target","prop","console","error","spaces","maxes","getValues","space","charAt","capped","chans","sname","index","svalues","window","chartjsColor","helpers","noop","uid","isNullOrUndef","isArray","substr","isObject","isFinite","valueOrDefault","defaultValue","valueAtIndexOrDefault","callback","thisArg","apply","each","loopable","reverse","arrayEquals","a0","a1","ilen","v0","v1","klen","_merger","tval","sval","merge","_mergerIf","mergeIf","sources","merger","extend","assign","dst","src","inherits","extensions","ChartElement","constructor","Surrogate","__super__","_deprecated","scope","previous","warn","helpers_core","callCallback","array","item","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","clear","ctx","clearRect","roundedRect","radius","left","top","right","bottom","moveTo","arc","closePath","rect","drawPoint","rotation","xOffset","yOffset","size","cornerRadius","rad","save","drawImage","restore","beginPath","lineTo","SQRT1_2","fill","stroke","_isPointInArea","point","area","epsilon","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","defaults","_set","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","font","family","helpers_options","toLineHeight","matches","toPadding","_parseFont","globalDefaults","fontSize","fontFamily","lineHeight","fontStyle","resolve","inputs","context","info","cacheable","exports$2","_factorize","sort","log10","exponent","log","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","getAdapter","rtl","overrideTextDirection","direction","original","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","helpers_rtl","helpers$1","easing","math","interpolate","start","view","ease","actual","origin","c0","c1","Element","configuration","initialize","_type","hidden","pivot","_view","_model","_start","transition","tooltipPosition","hasValue","isNumber","core_element","exports$3","currentStep","numSteps","onAnimationProgress","onAnimationComplete","core_animation","get","set","animation","duration","onProgress","onComplete","core_animations","animations","request","addAnimation","lazy","startTime","Date","animating","requestAnimationFrame","cancelAnimation","findIndex","splice","requestAnimFrame","startDigest","advance","nextStep","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","configurable","enumerable","method","base","res","object","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","meta","getDataset","scalesOpts","xAxisID","yAxisID","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","_data","createMetaDataset","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","isExtensible","resyncElements","_configure","_config","_cachedDataOpts","easingValue","elements","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","hover","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","prev","numMeta","numData","insertElements","count","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","vm","inner","fullCircles","drawBorder","borderAlign","lineJoin","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","fillStyle","strokeStyle","valueOrDefault$1","line","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","_loop","previousItem","skip","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","abs","hitRadius","yRange","mouseY","pointStyle","element_point","inXRange","inYRange","padding","chartArea","defaultColor$2","isVertical","getBarBounds","x1","y1","half","swap","orig","v2","parseBorderSkipped","edge","borderSkipped","horizontal","parseBorderWidth","maxW","maxH","boundingRects","bounds","border","outer","skipX","skipY","rectangle","element_rectangle","rects","fillRect","Arc","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","_length","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","next","percent","end","mode","offsetGridLines","bar","controller_bar","scaleOpts","stack","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","center","_getStacks","last","metasets","_getMatchingVisibleMetas","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","imeta","ivalue","stackLength","_parseValue","range","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","tooltips","callbacks","title","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","NaN","_options","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","listItemSpan","list","document","setAttribute","appendChild","createTextNode","outerHTML","generateLabels","controller","text","onClick","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","j","isDatasetVisible","maxWidth","maxHeight","opts","ratioX","ratioY","offsetX","offsetY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains180","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","axis","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","ticks","defaultClip","toClip","controller_line","config","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controller_scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","handler","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","indexMode","items","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","pos","sortByWeight","wrapBoxes","boxes","box","layoutBoxes","setLayoutDims","layouts","params","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","vertical","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","handleMaxPadding","updatePos","change","getMargins","marginForPositions","positions","margin","fitBoxes","refit","changed","refitBoxes","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","platform_dom$1","__proto__","stylesheet","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","property","initCanvas","renderHeight","getAttribute","renderWidth","initial","displayWidth","aspectRatio","displayHeight","supportsEventListenerOptions","supports","addEventListener","eventListenerOptions","passive","addListener","removeListener","removeEventListener","createEvent","nativeEvent","fromNativeEvent","event","throttled","ticking","createDiv","cls","el","className","createResizer","maxSize","resizer","expand","shrink","_reset","scrollLeft","scrollTop","onScroll","bind","watchForRender","expando","proxy","renderProxy","animationName","reflow","offsetParent","classList","add","unwatchForRender","remove","addResizeListener","container","parentNode","clientWidth","insertBefore","firstChild","removeResizeListener","removeChild","injectCSS","rootNode","css","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","root","getRootNode","targetNode","host","getElementById","releaseContext","removeAttribute","proxies","addEvent","removeEvent","implementation","platform","core_plugins","_cacheId","register","unregister","idx","getAll","notify","hook","descriptor","descriptors","cache","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","enabled","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getTooltipSize","tooltip","body","combinedBodyLength","reduce","bodyItem","before","lines","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","active","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","rtlHelper","textBaseline","fillText","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","prefix","hasId","positionIsHorizontal","compare2Level","l1","l2","events","onHover","animationDuration","responsiveAnimationDuration","Chart","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","stop","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","order","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","Controller","types","configMerge","scaleMerge","core_helpers","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","collection","filterCallback","filtered","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","sign","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","loop","niceNum","niceFraction","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","evt","originalEvent","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","paddingLeft","paddingTop","paddingRight","paddingBottom","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","clientHeight","ch","currentStyle","forceRatio","pixelRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","thing","nestedThing","longest","gcLen","textWidth","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","abstract","DateAdapter","formats","parse","startOf","endOf","_create","override","members","_date","core_adapters","core_ticks","formatters","tickValue","logDelta","tickString","maxTick","logTick","numExponential","toExponential","numDecimal","toFixed","logarithmic","remain","valueOrDefault$a","sample","arr","numItems","increment","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","tickFont","nestedLabel","widest","highest","widths","heights","offsets","major","minor","valueAt","first","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","factors","factor","evenMajorSpacing","spacing","getMajorIndices","skipMajors","tick","ceil","majorStart","majorEnd","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","_ticks","_getLabels","beforeUpdate","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","widestLabelSize","highestLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","rawValue","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","avgMajorSpacing","maxTicksLimit","_tickSize","numMajorIndices","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","niceMin","niceMax","numSpaces","MIN_SPACING","stepSize","unit","maxNumSpaces","maxTicks","precision","rmin","rmax","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","exp","significand","tickVal","endExp","endSignificand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","textSize","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","extra","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","param","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","common","steps","second","quarter","year","UNITS","sorter","arrayUnique","hash","out","getMin","time","getMax","buildLookupTable","timestamps","distribution","table","lookup","mid","i0","i1","lo","interpolate$1","skey","tkey","span","toTimestamp","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","generate","timeOpts","unitStepSize","weekday","isoWeekday","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","date","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","formatter","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","category","radialLinear","FORMATS","_id","valueOf","amount","filler","propagate","mappers","visible","boundary","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","cx","cy","computeBoundary","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","p0","p1","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","dimension","blockSize","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","plugin_title","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","klass","cfg","toLowerCase","enCa","enGb","relativeTimeMr","mr","ne","zhMo","hm","0","12","13","40","tg","cs","ta","kn","arKw","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","lastDigit","firstDigit","lb","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","az","zhHk","ga","days","ur","esUs","tet","dv","weekEndings","hu","zhCn","te","ugCn","msMy","eo","sd","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","br","weekdaysParse","mi","mk","last2Digits","nb","kk","arTn","it","itCh","enNz","monthsShortWithDots","monthsShortWithoutDots","fy","enIl","sw","sk","yo","numbersPast","numbersFuture","verbalNumber","fi","arSa","bg","my","gl","es","invalidDate","isFunction","Function","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsNominative","monthsSubjective","pl","ar","bn","zhTw","ru","mn","ky","separator","ro","fr","arDz","bm","gomDeva","weekdaysCaseReplace","nounCase","nominative","accusative","genitive","processHoursFunction","uk","deAt","de","tzmLatn","jv","enSg","nn","relativeTimeWithSingular","relativeSeconds","lv","deCh","tzm","hookCallback","some","hooks","setHookCallback","hasOwnProp","isObjectEmpty","getOwnPropertyNames","isUndefined","isDate","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","_isValid","flags","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","fun","momentProperties","updateInProgress","copyConfig","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","arg","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","func","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","ww","_relativeTime","pastFuture","aliases","addUnitAlias","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","isLeapYear","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","_abbr","require","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","weeks","isoWeek","milliseconds","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","matcher","parts","cloneWithOffset","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","dur","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","suffix","zone","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","Symbol","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","he","sq","sr","tzl","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","tlh","bo","ptBr","fil","hyAm","ca","frCa","nlBe","gu","enIe","km","et","enIn","si","paIn","gd","nl","xPseudo","se"],"mappings":"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","file":"js/dashboard~workspace.4589ad2a.js","sourcesContent":["//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","import { Bar, mixins } from 'vue-chartjs'\nconst { reactiveProp } = mixins\n\nexport default {\n extends: Bar,\n mixins: [reactiveProp],\n props: {\n chartData: Object,\n options: Object,\n },\n mounted() {\n this.renderChart(this.chartData, {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n xAxes: [\n {\n stacked: true,\n gridLines: {\n color: 'rgba(242, 242, 243, 1)',\n },\n },\n ],\n yAxes: [\n {\n stacked: true,\n gridLines: {\n color: 'rgba(242, 242, 243, 1)',\n },\n },\n ],\n },\n legend: {\n display: true,\n position: 'top',\n labels: {\n boxWidth: 20,\n lineWidth: 0,\n },\n },\n ...this.options,\n })\n },\n}\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(\n '_'\n ),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","function dataHandler(newData, oldData) {\n if (oldData) {\n var chart = this.$data._chart;\n var newDatasetLabels = newData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldDatasetLabels = oldData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldLabels = JSON.stringify(oldDatasetLabels);\n var newLabels = JSON.stringify(newDatasetLabels);\n\n if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {\n newData.datasets.forEach(function (dataset, i) {\n var oldDatasetKeys = Object.keys(oldData.datasets[i]);\n var newDatasetKeys = Object.keys(dataset);\n var deletionKeys = oldDatasetKeys.filter(function (key) {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(function (deletionKey) {\n delete chart.data.datasets[i][deletionKey];\n });\n\n for (var attribute in dataset) {\n if (dataset.hasOwnProperty(attribute)) {\n chart.data.datasets[i][attribute] = dataset[attribute];\n }\n }\n });\n\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n this.$emit('labels:update');\n }\n\n if (newData.hasOwnProperty('xLabels')) {\n chart.data.xLabels = newData.xLabels;\n this.$emit('xlabels:update');\n }\n\n if (newData.hasOwnProperty('yLabels')) {\n chart.data.yLabels = newData.yLabels;\n this.$emit('ylabels:update');\n }\n\n chart.update();\n this.$emit('chart:update');\n } else {\n if (chart) {\n chart.destroy();\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n } else {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n}\n\nexport var reactiveData = {\n data: function data() {\n return {\n chartData: null\n };\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport var reactiveProp = {\n props: {\n chartData: {\n type: Object,\n required: true,\n default: function _default() {}\n }\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport default {\n reactiveData: reactiveData,\n reactiveProp: reactiveProp\n};","import Chart from 'chart.js';\nexport function generateChart(chartId, chartType) {\n return {\n render: function render(createElement) {\n return createElement('div', {\n style: this.styles,\n class: this.cssClasses\n }, [createElement('canvas', {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: 'canvas'\n })]);\n },\n props: {\n chartId: {\n default: chartId,\n type: String\n },\n width: {\n default: 400,\n type: Number\n },\n height: {\n default: 400,\n type: Number\n },\n cssClasses: {\n type: String,\n default: ''\n },\n styles: {\n type: Object\n },\n plugins: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n _chart: null,\n _plugins: this.plugins\n };\n },\n methods: {\n addPlugin: function addPlugin(plugin) {\n this.$data._plugins.push(plugin);\n },\n generateLegend: function generateLegend() {\n if (this.$data._chart) {\n return this.$data._chart.generateLegend();\n }\n },\n renderChart: function renderChart(data, options) {\n if (this.$data._chart) this.$data._chart.destroy();\n this.$data._chart = new Chart(this.$refs.canvas.getContext('2d'), {\n type: chartType,\n data: data,\n options: options,\n plugins: this.$data._plugins\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n }\n }\n };\n}\nexport var Bar = generateChart('bar-chart', 'bar');\nexport var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');\nexport var Doughnut = generateChart('doughnut-chart', 'doughnut');\nexport var Line = generateChart('line-chart', 'line');\nexport var Pie = generateChart('pie-chart', 'pie');\nexport var PolarArea = generateChart('polar-chart', 'polarArea');\nexport var Radar = generateChart('radar-chart', 'radar');\nexport var Bubble = generateChart('bubble-chart', 'bubble');\nexport var Scatter = generateChart('scatter-chart', 'scatter');\nexport default {\n Bar: Bar,\n HorizontalBar: HorizontalBar,\n Doughnut: Doughnut,\n Line: Line,\n Pie: Pie,\n PolarArea: PolarArea,\n Radar: Radar,\n Bubble: Bubble,\n Scatter: Scatter\n};","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (\n $0,\n $1,\n $2\n ) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","/*!\n * Chart.js v2.9.3\n * https://www.chartjs.org\n * (c) 2019 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\n/**\n * @namespace Chart.helpers\n */\nvar helpers = {\n\t/**\n\t * An empty function that can be used, for example, for optional callback.\n\t */\n\tnoop: function() {},\n\n\t/**\n\t * Returns a unique id, sequentially generated from a global variable.\n\t * @returns {number}\n\t * @function\n\t */\n\tuid: (function() {\n\t\tvar id = 0;\n\t\treturn function() {\n\t\t\treturn id++;\n\t\t};\n\t}()),\n\n\t/**\n\t * Returns true if `value` is neither null nor undefined, else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t * @since 2.7.0\n\t */\n\tisNullOrUndef: function(value) {\n\t\treturn value === null || typeof value === 'undefined';\n\t},\n\n\t/**\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t * @function\n\t */\n\tisArray: function(value) {\n\t\tif (Array.isArray && Array.isArray(value)) {\n\t\t\treturn true;\n\t\t}\n\t\tvar type = Object.prototype.toString.call(value);\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t},\n\n\t/**\n\t * Returns true if `value` is an object (excluding null), else returns false.\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t * @since 2.7.0\n\t */\n\tisObject: function(value) {\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\n\t},\n\n\t/**\n\t * Returns true if `value` is a finite number, else returns false\n\t * @param {*} value - The value to test.\n\t * @returns {boolean}\n\t */\n\tisFinite: function(value) {\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\n\t},\n\n\t/**\n\t * Returns `value` if defined, else returns `defaultValue`.\n\t * @param {*} value - The value to return if defined.\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\n\t * @returns {*}\n\t */\n\tvalueOrDefault: function(value, defaultValue) {\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\n\t},\n\n\t/**\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\n\t * @param {Array} value - The array to lookup for value at `index`.\n\t * @param {number} index - The index in `value` to lookup for value.\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\n\t * @returns {*}\n\t */\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\n\t},\n\n\t/**\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n\t * @param {function} fn - The function to call.\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @returns {*}\n\t */\n\tcallback: function(fn, args, thisArg) {\n\t\tif (fn && typeof fn.call === 'function') {\n\t\t\treturn fn.apply(thisArg, args);\n\t\t}\n\t},\n\n\t/**\n\t * Note(SB) for performance sake, this method should only be used when loopable type\n\t * is unknown or in none intensive code (not called often and small loopable). Else\n\t * it's preferable to use a regular for() loop and save extra function calls.\n\t * @param {object|Array} loopable - The object or array to be iterated.\n\t * @param {function} fn - The function to call for each item.\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\n\t */\n\teach: function(loopable, fn, thisArg, reverse) {\n\t\tvar i, len, keys;\n\t\tif (helpers.isArray(loopable)) {\n\t\t\tlen = loopable.length;\n\t\t\tif (reverse) {\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (helpers.isObject(loopable)) {\n\t\t\tkeys = Object.keys(loopable);\n\t\t\tlen = keys.length;\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n\t * @see https://stackoverflow.com/a/14853974\n\t * @param {Array} a0 - The array to compare\n\t * @param {Array} a1 - The array to compare\n\t * @returns {boolean}\n\t */\n\tarrayEquals: function(a0, a1) {\n\t\tvar i, ilen, v0, v1;\n\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\n\t\t\tv0 = a0[i];\n\t\t\tv1 = a1[i];\n\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (v0 !== v1) {\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t/**\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\n\t * @param {*} source - The value to clone.\n\t * @returns {*}\n\t */\n\tclone: function(source) {\n\t\tif (helpers.isArray(source)) {\n\t\t\treturn source.map(helpers.clone);\n\t\t}\n\n\t\tif (helpers.isObject(source)) {\n\t\t\tvar target = {};\n\t\t\tvar keys = Object.keys(source);\n\t\t\tvar klen = keys.length;\n\t\t\tvar k = 0;\n\n\t\t\tfor (; k < klen; ++k) {\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\n\t\t\t}\n\n\t\t\treturn target;\n\t\t}\n\n\t\treturn source;\n\t},\n\n\t/**\n\t * The default merger when Chart.helpers.merge is called without merger option.\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n\t * @private\n\t */\n\t_merger: function(key, target, source, options) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\n\t\t\thelpers.merge(tval, sval, options);\n\t\t} else {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Merges source[key] in target[key] only if target[key] is undefined.\n\t * @private\n\t */\n\t_mergerIf: function(key, target, source) {\n\t\tvar tval = target[key];\n\t\tvar sval = source[key];\n\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\n\t\t\thelpers.mergeIf(tval, sval);\n\t\t} else if (!target.hasOwnProperty(key)) {\n\t\t\ttarget[key] = helpers.clone(sval);\n\t\t}\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {object} target - The target object in which all sources are merged into.\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\n\t * @param {object} [options] - Merging options:\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\n\t * @returns {object} The `target` object.\n\t */\n\tmerge: function(target, source, options) {\n\t\tvar sources = helpers.isArray(source) ? source : [source];\n\t\tvar ilen = sources.length;\n\t\tvar merge, i, keys, klen, k;\n\n\t\tif (!helpers.isObject(target)) {\n\t\t\treturn target;\n\t\t}\n\n\t\toptions = options || {};\n\t\tmerge = options.merger || helpers._merger;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\tsource = sources[i];\n\t\t\tif (!helpers.isObject(source)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tkeys = Object.keys(source);\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\n\t\t\t\tmerge(keys[k], target, source, options);\n\t\t\t}\n\t\t}\n\n\t\treturn target;\n\t},\n\n\t/**\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\n\t * @param {object} target - The target object in which all sources are merged into.\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\n\t * @returns {object} The `target` object.\n\t */\n\tmergeIf: function(target, source) {\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\n\t},\n\n\t/**\n\t * Applies the contents of two or more objects together into the first object.\n\t * @param {object} target - The target object in which all objects are merged into.\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\n\t * @param {object} argN - Additional objects containing properties to merge in target.\n\t * @returns {object} The `target` object.\n\t */\n\textend: Object.assign || function(target) {\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\n\t\t\tmerger: function(key, dst, src) {\n\t\t\t\tdst[key] = src[key];\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n\t * Basic javascript inheritance based on the model created in Backbone.js\n\t */\n\tinherits: function(extensions) {\n\t\tvar me = this;\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\n\t\t\treturn me.apply(this, arguments);\n\t\t};\n\n\t\tvar Surrogate = function() {\n\t\t\tthis.constructor = ChartElement;\n\t\t};\n\n\t\tSurrogate.prototype = me.prototype;\n\t\tChartElement.prototype = new Surrogate();\n\t\tChartElement.extend = helpers.inherits;\n\n\t\tif (extensions) {\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\n\t\t}\n\n\t\tChartElement.__super__ = me.prototype;\n\t\treturn ChartElement;\n\t},\n\n\t_deprecated: function(scope, value, previous, current) {\n\t\tif (value !== undefined) {\n\t\t\tconsole.warn(scope + ': \"' + previous +\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n\t\t}\n\t}\n};\n\nvar helpers_core = helpers;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.callback instead.\n * @function Chart.helpers.callCallback\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n * @private\n */\nhelpers.callCallback = helpers.callback;\n\n/**\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\n * @function Chart.helpers.indexOf\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.indexOf = function(array, item, fromIndex) {\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\n};\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\n * @function Chart.helpers.getValueOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueOrDefault = helpers.valueOrDefault;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\n * @function Chart.helpers.getValueAtIndexOrDefault\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easingEffects\n * @see http://www.robertpenner.com/easing/\n */\nvar effects = {\n\tlinear: function(t) {\n\t\treturn t;\n\t},\n\n\teaseInQuad: function(t) {\n\t\treturn t * t;\n\t},\n\n\teaseOutQuad: function(t) {\n\t\treturn -t * (t - 2);\n\t},\n\n\teaseInOutQuad: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t;\n\t\t}\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\n\t},\n\n\teaseInCubic: function(t) {\n\t\treturn t * t * t;\n\t},\n\n\teaseOutCubic: function(t) {\n\t\treturn (t = t - 1) * t * t + 1;\n\t},\n\n\teaseInOutCubic: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\n\t},\n\n\teaseInQuart: function(t) {\n\t\treturn t * t * t * t;\n\t},\n\n\teaseOutQuart: function(t) {\n\t\treturn -((t = t - 1) * t * t * t - 1);\n\t},\n\n\teaseInOutQuart: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t * t;\n\t\t}\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\n\t},\n\n\teaseInQuint: function(t) {\n\t\treturn t * t * t * t * t;\n\t},\n\n\teaseOutQuint: function(t) {\n\t\treturn (t = t - 1) * t * t * t * t + 1;\n\t},\n\n\teaseInOutQuint: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * t * t * t * t * t;\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\n\t},\n\n\teaseInSine: function(t) {\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\n\t},\n\n\teaseOutSine: function(t) {\n\t\treturn Math.sin(t * (Math.PI / 2));\n\t},\n\n\teaseInOutSine: function(t) {\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\n\t},\n\n\teaseInExpo: function(t) {\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\n\t},\n\n\teaseOutExpo: function(t) {\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\n\t},\n\n\teaseInOutExpo: function(t) {\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\n\t\t}\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\n\t},\n\n\teaseInCirc: function(t) {\n\t\tif (t >= 1) {\n\t\t\treturn t;\n\t\t}\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\n\t},\n\n\teaseOutCirc: function(t) {\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\n\t},\n\n\teaseInOutCirc: function(t) {\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\n\t\t}\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\n\t},\n\n\teaseInElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t},\n\n\teaseOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (t === 1) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.3;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\n\t},\n\n\teaseInOutElastic: function(t) {\n\t\tvar s = 1.70158;\n\t\tvar p = 0;\n\t\tvar a = 1;\n\t\tif (t === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tif ((t /= 0.5) === 2) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (!p) {\n\t\t\tp = 0.45;\n\t\t}\n\t\tif (a < 1) {\n\t\t\ta = 1;\n\t\t\ts = p / 4;\n\t\t} else {\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\n\t\t}\n\t\tif (t < 1) {\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\n\t\t}\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\n\t},\n\teaseInBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn t * t * ((s + 1) * t - s);\n\t},\n\n\teaseOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\n\t},\n\n\teaseInOutBack: function(t) {\n\t\tvar s = 1.70158;\n\t\tif ((t /= 0.5) < 1) {\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n\t\t}\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n\t},\n\n\teaseInBounce: function(t) {\n\t\treturn 1 - effects.easeOutBounce(1 - t);\n\t},\n\n\teaseOutBounce: function(t) {\n\t\tif (t < (1 / 2.75)) {\n\t\t\treturn 7.5625 * t * t;\n\t\t}\n\t\tif (t < (2 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\n\t\t}\n\t\tif (t < (2.5 / 2.75)) {\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\n\t\t}\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\n\t},\n\n\teaseInOutBounce: function(t) {\n\t\tif (t < 0.5) {\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\n\t\t}\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\n\t}\n};\n\nvar helpers_easing = {\n\teffects: effects\n};\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\n * @function Chart.helpers.easingEffects\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\nvar RAD_PER_DEG = PI / 180;\nvar DOUBLE_PI = PI * 2;\nvar HALF_PI = PI / 2;\nvar QUARTER_PI = PI / 4;\nvar TWO_THIRDS_PI = PI * 2 / 3;\n\n/**\n * @namespace Chart.helpers.canvas\n */\nvar exports$1 = {\n\t/**\n\t * Clears the entire canvas associated to the given `chart`.\n\t * @param {Chart} chart - The chart for which to clear the canvas.\n\t */\n\tclear: function(chart) {\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\n\t},\n\n\t/**\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\n\t * given size (width, height) and the same `radius` for all corners.\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\n\t * @param {number} width - The rectangle's width.\n\t * @param {number} height - The rectangle's height.\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\n\t */\n\troundedRect: function(ctx, x, y, width, height, radius) {\n\t\tif (radius) {\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\n\t\t\tvar left = x + r;\n\t\t\tvar top = y + r;\n\t\t\tvar right = x + width - r;\n\t\t\tvar bottom = y + height - r;\n\n\t\t\tctx.moveTo(x, top);\n\t\t\tif (left < right && top < bottom) {\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\n\t\t\t} else if (left < right) {\n\t\t\t\tctx.moveTo(left, y);\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\n\t\t\t} else if (top < bottom) {\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\n\t\t\t} else {\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\n\t\t\t}\n\t\t\tctx.closePath();\n\t\t\tctx.moveTo(x, y);\n\t\t} else {\n\t\t\tctx.rect(x, y, width, height);\n\t\t}\n\t},\n\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\n\n\t\tif (style && typeof style === 'object') {\n\t\t\ttype = style.toString();\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n\t\t\t\tctx.save();\n\t\t\t\tctx.translate(x, y);\n\t\t\t\tctx.rotate(rad);\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n\t\t\t\tctx.restore();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (isNaN(radius) || radius <= 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.beginPath();\n\n\t\tswitch (style) {\n\t\t// Default includes circle\n\t\tdefault:\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'triangle':\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n\t\t\trad += TWO_THIRDS_PI;\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n\t\t\trad += TWO_THIRDS_PI;\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'rectRounded':\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\n\t\t\t// circle with `radius`. For more details, see the following PRs:\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\n\t\t\tcornerRadius = radius * 0.516;\n\t\t\tsize = radius - cornerRadius;\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'rect':\n\t\t\tif (!rotation) {\n\t\t\t\tsize = Math.SQRT1_2 * radius;\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\trad += QUARTER_PI;\n\t\t\t/* falls through */\n\t\tcase 'rectRot':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\tctx.closePath();\n\t\t\tbreak;\n\t\tcase 'crossRot':\n\t\t\trad += QUARTER_PI;\n\t\t\t/* falls through */\n\t\tcase 'cross':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\tbreak;\n\t\tcase 'star':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\trad += QUARTER_PI;\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\n\t\t\tbreak;\n\t\tcase 'line':\n\t\t\txOffset = Math.cos(rad) * radius;\n\t\t\tyOffset = Math.sin(rad) * radius;\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\n\t\t\tbreak;\n\t\tcase 'dash':\n\t\t\tctx.moveTo(x, y);\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n\t\t\tbreak;\n\t\t}\n\n\t\tctx.fill();\n\t\tctx.stroke();\n\t},\n\n\t/**\n\t * Returns true if the point is inside the rectangle\n\t * @param {object} point - The point to test\n\t * @param {object} area - The rectangle\n\t * @returns {boolean}\n\t * @private\n\t */\n\t_isPointInArea: function(point, area) {\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\n\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\n\t},\n\n\tclipArea: function(ctx, area) {\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n\t\tctx.clip();\n\t},\n\n\tunclipArea: function(ctx) {\n\t\tctx.restore();\n\t},\n\n\tlineTo: function(ctx, previous, target, flip) {\n\t\tvar stepped = target.steppedLine;\n\t\tif (stepped) {\n\t\t\tif (stepped === 'middle') {\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\n\t\t\t\tctx.lineTo(previous.x, target.y);\n\t\t\t} else {\n\t\t\t\tctx.lineTo(target.x, previous.y);\n\t\t\t}\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!target.tension) {\n\t\t\tctx.lineTo(target.x, target.y);\n\t\t\treturn;\n\t\t}\n\n\t\tctx.bezierCurveTo(\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\n\t\t\ttarget.x,\n\t\t\ttarget.y);\n\t}\n};\n\nvar helpers_canvas = exports$1;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\n * @namespace Chart.helpers.clear\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.clear = exports$1.clear;\n\n/**\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\n * @namespace Chart.helpers.drawRoundedRectangle\n * @deprecated since version 2.7.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.drawRoundedRectangle = function(ctx) {\n\tctx.beginPath();\n\texports$1.roundedRect.apply(exports$1, arguments);\n};\n\nvar defaults = {\n\t/**\n\t * @private\n\t */\n\t_set: function(scope, values) {\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\n\t}\n};\n\n// TODO(v3): remove 'global' from namespace. all default are global and\n// there's inconsistency around which options are under 'global'\ndefaults._set('global', {\n\tdefaultColor: 'rgba(0,0,0,0.1)',\n\tdefaultFontColor: '#666',\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n\tdefaultFontSize: 12,\n\tdefaultFontStyle: 'normal',\n\tdefaultLineHeight: 1.2,\n\tshowLines: true\n});\n\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\n\n/**\n * Converts the given font object into a CSS font string.\n * @param {object} font - A font object.\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */\nfunction toFontString(font) {\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\n\t\treturn null;\n\t}\n\n\treturn (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\n\n/**\n * @alias Chart.helpers.options\n * @namespace\n */\nvar helpers_options = {\n\t/**\n\t * Converts the given line height `value` in pixels for a specific font `size`.\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n\t * @since 2.7.0\n\t */\n\ttoLineHeight: function(value, size) {\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\n\t\tif (!matches || matches[1] === 'normal') {\n\t\t\treturn size * 1.2;\n\t\t}\n\n\t\tvalue = +matches[2];\n\n\t\tswitch (matches[3]) {\n\t\tcase 'px':\n\t\t\treturn value;\n\t\tcase '%':\n\t\t\tvalue /= 100;\n\t\t\tbreak;\n\t\t}\n\n\t\treturn size * value;\n\t},\n\n\t/**\n\t * Converts the given value into a padding object with pre-computed width/height.\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\n\t * else, if and object, use defined properties and sets undefined ones to 0.\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\n\t * @since 2.7.0\n\t */\n\ttoPadding: function(value) {\n\t\tvar t, r, b, l;\n\n\t\tif (helpers_core.isObject(value)) {\n\t\t\tt = +value.top || 0;\n\t\t\tr = +value.right || 0;\n\t\t\tb = +value.bottom || 0;\n\t\t\tl = +value.left || 0;\n\t\t} else {\n\t\t\tt = r = b = l = +value || 0;\n\t\t}\n\n\t\treturn {\n\t\t\ttop: t,\n\t\t\tright: r,\n\t\t\tbottom: b,\n\t\t\tleft: l,\n\t\t\theight: t + b,\n\t\t\twidth: l + r\n\t\t};\n\t},\n\n\t/**\n\t * Parses font options and returns the font object.\n\t * @param {object} options - A object that contains font options to be parsed.\n\t * @return {object} The font object.\n\t * @todo Support font.* options and renamed to toFont().\n\t * @private\n\t */\n\t_parseFont: function(options) {\n\t\tvar globalDefaults = core_defaults.global;\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\n\t\tvar font = {\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\n\t\t\tsize: size,\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\n\t\t\tweight: null,\n\t\t\tstring: ''\n\t\t};\n\n\t\tfont.string = toFontString(font);\n\t\treturn font;\n\t},\n\n\t/**\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\n\t * @param {Array} inputs - An array of values, falling back to the last value.\n\t * @param {object} [context] - If defined and the current value is a function, the value\n\t * is called with `context` as first argument and the result becomes the new input.\n\t * @param {number} [index] - If defined and the current value is an array, the value\n\t * at `index` become the new input.\n\t * @param {object} [info] - object to return information about resolution in\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\n\t * @since 2.7.0\n\t */\n\tresolve: function(inputs, context, index, info) {\n\t\tvar cacheable = true;\n\t\tvar i, ilen, value;\n\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\n\t\t\tvalue = inputs[i];\n\t\t\tif (value === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (context !== undefined && typeof value === 'function') {\n\t\t\t\tvalue = value(context);\n\t\t\t\tcacheable = false;\n\t\t\t}\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\n\t\t\t\tvalue = value[index];\n\t\t\t\tcacheable = false;\n\t\t\t}\n\t\t\tif (value !== undefined) {\n\t\t\t\tif (info && !cacheable) {\n\t\t\t\t\tinfo.cacheable = false;\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t}\n};\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */\nvar exports$2 = {\n\t/**\n\t * Returns an array of factors sorted from 1 to sqrt(value)\n\t * @private\n\t */\n\t_factorize: function(value) {\n\t\tvar result = [];\n\t\tvar sqrt = Math.sqrt(value);\n\t\tvar i;\n\n\t\tfor (i = 1; i < sqrt; i++) {\n\t\t\tif (value % i === 0) {\n\t\t\t\tresult.push(i);\n\t\t\t\tresult.push(value / i);\n\t\t\t}\n\t\t}\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\n\t\t\tresult.push(sqrt);\n\t\t}\n\n\t\tresult.sort(function(a, b) {\n\t\t\treturn a - b;\n\t\t}).pop();\n\t\treturn result;\n\t},\n\n\tlog10: Math.log10 || function(x) {\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\n\t\t// Check for whole powers of 10,\n\t\t// which due to floating point rounding error should be corrected.\n\t\tvar powerOf10 = Math.round(exponent);\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\n\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\n\t}\n};\n\nvar helpers_math = exports$2;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\n * @namespace Chart.helpers.log10\n * @deprecated since version 2.9.0\n * @todo remove at version 3\n * @private\n */\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\n\treturn {\n\t\tx: function(x) {\n\t\t\treturn rectX + rectX + width - x;\n\t\t},\n\t\tsetWidth: function(w) {\n\t\t\twidth = w;\n\t\t},\n\t\ttextAlign: function(align) {\n\t\t\tif (align === 'center') {\n\t\t\t\treturn align;\n\t\t\t}\n\t\t\treturn align === 'right' ? 'left' : 'right';\n\t\t},\n\t\txPlus: function(x, value) {\n\t\t\treturn x - value;\n\t\t},\n\t\tleftForLtr: function(x, itemWidth) {\n\t\t\treturn x - itemWidth;\n\t\t},\n\t};\n};\n\nvar getLtrAdapter = function() {\n\treturn {\n\t\tx: function(x) {\n\t\t\treturn x;\n\t\t},\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\n\t\t},\n\t\ttextAlign: function(align) {\n\t\t\treturn align;\n\t\t},\n\t\txPlus: function(x, value) {\n\t\t\treturn x + value;\n\t\t},\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\n\t\t\treturn x;\n\t\t},\n\t};\n};\n\nvar getAdapter = function(rtl, rectX, width) {\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\n};\n\nvar overrideTextDirection = function(ctx, direction) {\n\tvar style, original;\n\tif (direction === 'ltr' || direction === 'rtl') {\n\t\tstyle = ctx.canvas.style;\n\t\toriginal = [\n\t\t\tstyle.getPropertyValue('direction'),\n\t\t\tstyle.getPropertyPriority('direction'),\n\t\t];\n\n\t\tstyle.setProperty('direction', direction, 'important');\n\t\tctx.prevTextDirection = original;\n\t}\n};\n\nvar restoreTextDirection = function(ctx) {\n\tvar original = ctx.prevTextDirection;\n\tif (original !== undefined) {\n\t\tdelete ctx.prevTextDirection;\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\n\t}\n};\n\nvar helpers_rtl = {\n\tgetRtlAdapter: getAdapter,\n\toverrideTextDirection: overrideTextDirection,\n\trestoreTextDirection: restoreTextDirection,\n};\n\nvar helpers$1 = helpers_core;\nvar easing = helpers_easing;\nvar canvas = helpers_canvas;\nvar options = helpers_options;\nvar math = helpers_math;\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\n\tvar keys = Object.keys(model);\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\n\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\tkey = keys[i];\n\n\t\ttarget = model[key];\n\n\t\t// if a value is added to the model after pivot() has been called, the view\n\t\t// doesn't contain it, so let's initialize the view to the target value.\n\t\tif (!view.hasOwnProperty(key)) {\n\t\t\tview[key] = target;\n\t\t}\n\n\t\tactual = view[key];\n\n\t\tif (actual === target || key[0] === '_') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (!start.hasOwnProperty(key)) {\n\t\t\tstart[key] = actual;\n\t\t}\n\n\t\torigin = start[key];\n\n\t\ttype = typeof target;\n\n\t\tif (type === typeof origin) {\n\t\t\tif (type === 'string') {\n\t\t\t\tc0 = chartjsColor(origin);\n\t\t\t\tif (c0.valid) {\n\t\t\t\t\tc1 = chartjsColor(target);\n\t\t\t\t\tif (c1.valid) {\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\n\t\t\t\tview[key] = origin + (target - origin) * ease;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tview[key] = target;\n\t}\n}\n\nvar Element = function(configuration) {\n\thelpers$1.extend(this, configuration);\n\tthis.initialize.apply(this, arguments);\n};\n\nhelpers$1.extend(Element.prototype, {\n\t_type: undefined,\n\n\tinitialize: function() {\n\t\tthis.hidden = false;\n\t},\n\n\tpivot: function() {\n\t\tvar me = this;\n\t\tif (!me._view) {\n\t\t\tme._view = helpers$1.extend({}, me._model);\n\t\t}\n\t\tme._start = {};\n\t\treturn me;\n\t},\n\n\ttransition: function(ease) {\n\t\tvar me = this;\n\t\tvar model = me._model;\n\t\tvar start = me._start;\n\t\tvar view = me._view;\n\n\t\t// No animation -> No Transition\n\t\tif (!model || ease === 1) {\n\t\t\tme._view = helpers$1.extend({}, model);\n\t\t\tme._start = null;\n\t\t\treturn me;\n\t\t}\n\n\t\tif (!view) {\n\t\t\tview = me._view = {};\n\t\t}\n\n\t\tif (!start) {\n\t\t\tstart = me._start = {};\n\t\t}\n\n\t\tinterpolate(start, view, model, ease);\n\n\t\treturn me;\n\t},\n\n\ttooltipPosition: function() {\n\t\treturn {\n\t\t\tx: this._model.x,\n\t\t\ty: this._model.y\n\t\t};\n\t},\n\n\thasValue: function() {\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\n\t}\n});\n\nElement.extend = helpers$1.inherits;\n\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\n\tchart: null, // the animation associated chart instance\n\tcurrentStep: 0, // the current animation step\n\tnumSteps: 60, // default number of steps\n\teasing: '', // the easing to use for this animation\n\trender: null, // render function used by the animation service\n\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\n});\n\nvar core_animation = exports$3;\n\n// DEPRECATIONS\n\n/**\n * Provided for backward compatibility, use Chart.Animation instead\n * @prop Chart.Animation#animationObject\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n */\nObject.defineProperty(exports$3.prototype, 'animationObject', {\n\tget: function() {\n\t\treturn this;\n\t}\n});\n\n/**\n * Provided for backward compatibility, use Chart.Animation#chart instead\n * @prop Chart.Animation#chartInstance\n * @deprecated since version 2.6.0\n * @todo remove at version 3\n */\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\n\tget: function() {\n\t\treturn this.chart;\n\t},\n\tset: function(value) {\n\t\tthis.chart = value;\n\t}\n});\n\ncore_defaults._set('global', {\n\tanimation: {\n\t\tduration: 1000,\n\t\teasing: 'easeOutQuart',\n\t\tonProgress: helpers$1.noop,\n\t\tonComplete: helpers$1.noop\n\t}\n});\n\nvar core_animations = {\n\tanimations: [],\n\trequest: null,\n\n\t/**\n\t * @param {Chart} chart - The chart to animate.\n\t * @param {Chart.Animation} animation - The animation that we will animate.\n\t * @param {number} duration - The animation duration in ms.\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\n\t */\n\taddAnimation: function(chart, animation, duration, lazy) {\n\t\tvar animations = this.animations;\n\t\tvar i, ilen;\n\n\t\tanimation.chart = chart;\n\t\tanimation.startTime = Date.now();\n\t\tanimation.duration = duration;\n\n\t\tif (!lazy) {\n\t\t\tchart.animating = true;\n\t\t}\n\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\n\t\t\tif (animations[i].chart === chart) {\n\t\t\t\tanimations[i] = animation;\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tanimations.push(animation);\n\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\n\t\tif (animations.length === 1) {\n\t\t\tthis.requestAnimationFrame();\n\t\t}\n\t},\n\n\tcancelAnimation: function(chart) {\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\n\t\t\treturn animation.chart === chart;\n\t\t});\n\n\t\tif (index !== -1) {\n\t\t\tthis.animations.splice(index, 1);\n\t\t\tchart.animating = false;\n\t\t}\n\t},\n\n\trequestAnimationFrame: function() {\n\t\tvar me = this;\n\t\tif (me.request === null) {\n\t\t\t// Skip animation frame requests until the active one is executed.\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\n\t\t\t// and 'mouseout' events will trigger multiple renders.\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\n\t\t\t\tme.request = null;\n\t\t\t\tme.startDigest();\n\t\t\t});\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tstartDigest: function() {\n\t\tvar me = this;\n\n\t\tme.advance();\n\n\t\t// Do we have more stuff to animate?\n\t\tif (me.animations.length > 0) {\n\t\t\tme.requestAnimationFrame();\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tadvance: function() {\n\t\tvar animations = this.animations;\n\t\tvar animation, chart, numSteps, nextStep;\n\t\tvar i = 0;\n\n\t\t// 1 animation per chart, so we are looping charts here\n\t\twhile (i < animations.length) {\n\t\t\tanimation = animations[i];\n\t\t\tchart = animation.chart;\n\t\t\tnumSteps = animation.numSteps;\n\n\t\t\t// Make sure that currentStep starts at 1\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\n\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\n\n\t\t\tif (animation.currentStep >= numSteps) {\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\n\t\t\t\tchart.animating = false;\n\t\t\t\tanimations.splice(i, 1);\n\t\t\t} else {\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar resolve = helpers$1.options.resolve;\n\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\n\n/**\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\n */\nfunction listenArrayEvents(array, listener) {\n\tif (array._chartjs) {\n\t\tarray._chartjs.listeners.push(listener);\n\t\treturn;\n\t}\n\n\tObject.defineProperty(array, '_chartjs', {\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\tvalue: {\n\t\t\tlisteners: [listener]\n\t\t}\n\t});\n\n\tarrayEvents.forEach(function(key) {\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\n\t\tvar base = array[key];\n\n\t\tObject.defineProperty(array, key, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: function() {\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\n\t\t\t\tvar res = base.apply(this, args);\n\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\n\t\t\t\t\tif (typeof object[method] === 'function') {\n\t\t\t\t\t\tobject[method].apply(object, args);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn res;\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Removes the given array event listener and cleanup extra attached properties (such as\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\n */\nfunction unlistenArrayEvents(array, listener) {\n\tvar stub = array._chartjs;\n\tif (!stub) {\n\t\treturn;\n\t}\n\n\tvar listeners = stub.listeners;\n\tvar index = listeners.indexOf(listener);\n\tif (index !== -1) {\n\t\tlisteners.splice(index, 1);\n\t}\n\n\tif (listeners.length > 0) {\n\t\treturn;\n\t}\n\n\tarrayEvents.forEach(function(key) {\n\t\tdelete array[key];\n\t});\n\n\tdelete array._chartjs;\n}\n\n// Base class for all dataset controllers (line, bar, etc)\nvar DatasetController = function(chart, datasetIndex) {\n\tthis.initialize(chart, datasetIndex);\n};\n\nhelpers$1.extend(DatasetController.prototype, {\n\n\t/**\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\n\t * @type {Chart.core.element}\n\t */\n\tdatasetElementType: null,\n\n\t/**\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\n\t * @type {Chart.core.element}\n\t */\n\tdataElementType: null,\n\n\t/**\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\n\t * A derived controller may override this to resolve controller-specific options.\n\t * The keys defined here are for backward compatibility for legend styles.\n\t * @private\n\t */\n\t_datasetElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderCapStyle',\n\t\t'borderColor',\n\t\t'borderDash',\n\t\t'borderDashOffset',\n\t\t'borderJoinStyle',\n\t\t'borderWidth'\n\t],\n\n\t/**\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\n\t * A derived controller may override this to resolve controller-specific options.\n\t * The keys defined here are for backward compatibility for legend styles.\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'pointStyle'\n\t],\n\n\tinitialize: function(chart, datasetIndex) {\n\t\tvar me = this;\n\t\tme.chart = chart;\n\t\tme.index = datasetIndex;\n\t\tme.linkScales();\n\t\tme.addElements();\n\t\tme._type = me.getMeta().type;\n\t},\n\n\tupdateIndex: function(datasetIndex) {\n\t\tthis.index = datasetIndex;\n\t},\n\n\tlinkScales: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar chart = me.chart;\n\t\tvar scales = chart.scales;\n\t\tvar dataset = me.getDataset();\n\t\tvar scalesOpts = chart.options.scales;\n\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\n\t\t}\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\n\t\t}\n\t},\n\n\tgetDataset: function() {\n\t\treturn this.chart.data.datasets[this.index];\n\t},\n\n\tgetMeta: function() {\n\t\treturn this.chart.getDatasetMeta(this.index);\n\t},\n\n\tgetScaleForId: function(scaleID) {\n\t\treturn this.chart.scales[scaleID];\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.getMeta().yAxisID;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.getMeta().xAxisID;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScale: function() {\n\t\treturn this.getScaleForId(this._getValueScaleId());\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScale: function() {\n\t\treturn this.getScaleForId(this._getIndexScaleId());\n\t},\n\n\treset: function() {\n\t\tthis._update(true);\n\t},\n\n\t/**\n\t * @private\n\t */\n\tdestroy: function() {\n\t\tif (this._data) {\n\t\t\tunlistenArrayEvents(this._data, this);\n\t\t}\n\t},\n\n\tcreateMetaDataset: function() {\n\t\tvar me = this;\n\t\tvar type = me.datasetElementType;\n\t\treturn type && new type({\n\t\t\t_chart: me.chart,\n\t\t\t_datasetIndex: me.index\n\t\t});\n\t},\n\n\tcreateMetaData: function(index) {\n\t\tvar me = this;\n\t\tvar type = me.dataElementType;\n\t\treturn type && new type({\n\t\t\t_chart: me.chart,\n\t\t\t_datasetIndex: me.index,\n\t\t\t_index: index\n\t\t});\n\t},\n\n\taddElements: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar data = me.getDataset().data || [];\n\t\tvar metaData = meta.data;\n\t\tvar i, ilen;\n\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\n\t\t}\n\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\n\t},\n\n\taddElementAndReset: function(index) {\n\t\tvar element = this.createMetaData(index);\n\t\tthis.getMeta().data.splice(index, 0, element);\n\t\tthis.updateElement(element, index, true);\n\t},\n\n\tbuildOrUpdateElements: function() {\n\t\tvar me = this;\n\t\tvar dataset = me.getDataset();\n\t\tvar data = dataset.data || (dataset.data = []);\n\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\n\t\t// the internal meta data accordingly.\n\t\tif (me._data !== data) {\n\t\t\tif (me._data) {\n\t\t\t\t// This case happens when the user replaced the data array instance.\n\t\t\t\tunlistenArrayEvents(me._data, me);\n\t\t\t}\n\n\t\t\tif (data && Object.isExtensible(data)) {\n\t\t\t\tlistenArrayEvents(data, me);\n\t\t\t}\n\t\t\tme._data = data;\n\t\t}\n\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\n\t\t// any updates and so make sure that we handle number of datapoints changing.\n\t\tme.resyncElements();\n\t},\n\n\t/**\n\t * Returns the merged user-supplied and default dataset-level options\n\t * @private\n\t */\n\t_configure: function() {\n\t\tvar me = this;\n\t\tme._config = helpers$1.merge({}, [\n\t\t\tme.chart.options.datasets[me._type],\n\t\t\tme.getDataset(),\n\t\t], {\n\t\t\tmerger: function(key, target, source) {\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\n\t\t\t\t\thelpers$1._merger(key, target, source);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t},\n\n\t_update: function(reset) {\n\t\tvar me = this;\n\t\tme._configure();\n\t\tme._cachedDataOpts = null;\n\t\tme.update(reset);\n\t},\n\n\tupdate: helpers$1.noop,\n\n\ttransition: function(easingValue) {\n\t\tvar meta = this.getMeta();\n\t\tvar elements = meta.data || [];\n\t\tvar ilen = elements.length;\n\t\tvar i = 0;\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\telements[i].transition(easingValue);\n\t\t}\n\n\t\tif (meta.dataset) {\n\t\t\tmeta.dataset.transition(easingValue);\n\t\t}\n\t},\n\n\tdraw: function() {\n\t\tvar meta = this.getMeta();\n\t\tvar elements = meta.data || [];\n\t\tvar ilen = elements.length;\n\t\tvar i = 0;\n\n\t\tif (meta.dataset) {\n\t\t\tmeta.dataset.draw();\n\t\t}\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\telements[i].draw();\n\t\t}\n\t},\n\n\t/**\n\t * Returns a set of predefined style properties that should be used to represent the dataset\n\t * or the data if the index is specified\n\t * @param {number} index - data index\n\t * @return {IStyleInterface} style object\n\t */\n\tgetStyle: function(index) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar dataset = meta.dataset;\n\t\tvar style;\n\n\t\tme._configure();\n\t\tif (dataset && index === undefined) {\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\n\t\t} else {\n\t\t\tindex = index || 0;\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\n\t\t}\n\n\t\tif (style.fill === false || style.fill === null) {\n\t\t\tstyle.backgroundColor = style.borderColor;\n\t\t}\n\n\t\treturn style;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDatasetElementOptions: function(element, hover) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar datasetOpts = me._config;\n\t\tvar custom = element.custom || {};\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\n\t\tvar elementOptions = me._datasetElementOptions;\n\t\tvar values = {};\n\t\tvar i, ilen, key, readKey;\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataset: me.getDataset(),\n\t\t\tdatasetIndex: me.index,\n\t\t\thover: hover\n\t\t};\n\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\n\t\t\tkey = elementOptions[i];\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\n\t\t\tvalues[key] = resolve([\n\t\t\t\tcustom[readKey],\n\t\t\t\tdatasetOpts[readKey],\n\t\t\t\toptions[readKey]\n\t\t\t], context);\n\t\t}\n\n\t\treturn values;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDataElementOptions: function(element, index) {\n\t\tvar me = this;\n\t\tvar custom = element && element.custom;\n\t\tvar cached = me._cachedDataOpts;\n\t\tif (cached && !custom) {\n\t\t\treturn cached;\n\t\t}\n\t\tvar chart = me.chart;\n\t\tvar datasetOpts = me._config;\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\n\t\tvar elementOptions = me._dataElementOptions;\n\t\tvar values = {};\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: me.getDataset(),\n\t\t\tdatasetIndex: me.index\n\t\t};\n\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\n\t\tvar info = {cacheable: !custom};\n\n\t\tvar keys, i, ilen, key;\n\n\t\tcustom = custom || {};\n\n\t\tif (helpers$1.isArray(elementOptions)) {\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\n\t\t\t\tkey = elementOptions[i];\n\t\t\t\tvalues[key] = resolve([\n\t\t\t\t\tcustom[key],\n\t\t\t\t\tdatasetOpts[key],\n\t\t\t\t\toptions[key]\n\t\t\t\t], context, index, info);\n\t\t\t}\n\t\t} else {\n\t\t\tkeys = Object.keys(elementOptions);\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\t\tkey = keys[i];\n\t\t\t\tvalues[key] = resolve([\n\t\t\t\t\tcustom[key],\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\n\t\t\t\t\tdatasetOpts[key],\n\t\t\t\t\toptions[key]\n\t\t\t\t], context, index, info);\n\t\t\t}\n\t\t}\n\n\t\tif (info.cacheable) {\n\t\t\tme._cachedDataOpts = Object.freeze(values);\n\t\t}\n\n\t\treturn values;\n\t},\n\n\tremoveHoverStyle: function(element) {\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\n\t\tdelete element.$previousStyle;\n\t},\n\n\tsetHoverStyle: function(element) {\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\n\t\tvar index = element._index;\n\t\tvar custom = element.custom || {};\n\t\tvar model = element._model;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\telement.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth\n\t\t};\n\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_removeDatasetHoverStyle: function() {\n\t\tvar element = this.getMeta().dataset;\n\n\t\tif (element) {\n\t\t\tthis.removeHoverStyle(element);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_setDatasetHoverStyle: function() {\n\t\tvar element = this.getMeta().dataset;\n\t\tvar prev = {};\n\t\tvar i, ilen, key, keys, hoverOptions, model;\n\n\t\tif (!element) {\n\t\t\treturn;\n\t\t}\n\n\t\tmodel = element._model;\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\n\n\t\tkeys = Object.keys(hoverOptions);\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\tkey = keys[i];\n\t\t\tprev[key] = model[key];\n\t\t\tmodel[key] = hoverOptions[key];\n\t\t}\n\n\t\telement.$previousStyle = prev;\n\t},\n\n\t/**\n\t * @private\n\t */\n\tresyncElements: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar data = me.getDataset().data;\n\t\tvar numMeta = meta.data.length;\n\t\tvar numData = data.length;\n\n\t\tif (numData < numMeta) {\n\t\t\tmeta.data.splice(numData, numMeta - numData);\n\t\t} else if (numData > numMeta) {\n\t\t\tme.insertElements(numMeta, numData - numMeta);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tinsertElements: function(start, count) {\n\t\tfor (var i = 0; i < count; ++i) {\n\t\t\tthis.addElementAndReset(start + i);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataPush: function() {\n\t\tvar count = arguments.length;\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataPop: function() {\n\t\tthis.getMeta().data.pop();\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataShift: function() {\n\t\tthis.getMeta().data.shift();\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataSplice: function(start, count) {\n\t\tthis.getMeta().data.splice(start, count);\n\t\tthis.insertElements(start, arguments.length - 2);\n\t},\n\n\t/**\n\t * @private\n\t */\n\tonDataUnshift: function() {\n\t\tthis.insertElements(0, arguments.length);\n\t}\n});\n\nDatasetController.extend = helpers$1.inherits;\n\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\n\ncore_defaults._set('global', {\n\telements: {\n\t\tarc: {\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\n\t\t\tborderColor: '#fff',\n\t\t\tborderWidth: 2,\n\t\t\tborderAlign: 'center'\n\t\t}\n\t}\n});\n\nfunction clipArc(ctx, arc) {\n\tvar startAngle = arc.startAngle;\n\tvar endAngle = arc.endAngle;\n\tvar pixelMargin = arc.pixelMargin;\n\tvar angleMargin = pixelMargin / arc.outerRadius;\n\tvar x = arc.x;\n\tvar y = arc.y;\n\n\t// Draw an inner border by cliping the arc and drawing a double-width border\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n\tctx.beginPath();\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n\tif (arc.innerRadius > pixelMargin) {\n\t\tangleMargin = pixelMargin / arc.innerRadius;\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\n\t} else {\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\n\t}\n\tctx.closePath();\n\tctx.clip();\n}\n\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\n\tvar endAngle = arc.endAngle;\n\tvar i;\n\n\tif (inner) {\n\t\tarc.endAngle = arc.startAngle + TAU;\n\t\tclipArc(ctx, arc);\n\t\tarc.endAngle = endAngle;\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\n\t\t\tarc.endAngle += TAU;\n\t\t\tarc.fullCircles--;\n\t\t}\n\t}\n\n\tctx.beginPath();\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\n\tfor (i = 0; i < arc.fullCircles; ++i) {\n\t\tctx.stroke();\n\t}\n\n\tctx.beginPath();\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\n\tfor (i = 0; i < arc.fullCircles; ++i) {\n\t\tctx.stroke();\n\t}\n}\n\nfunction drawBorder(ctx, vm, arc) {\n\tvar inner = vm.borderAlign === 'inner';\n\n\tif (inner) {\n\t\tctx.lineWidth = vm.borderWidth * 2;\n\t\tctx.lineJoin = 'round';\n\t} else {\n\t\tctx.lineWidth = vm.borderWidth;\n\t\tctx.lineJoin = 'bevel';\n\t}\n\n\tif (arc.fullCircles) {\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\n\t}\n\n\tif (inner) {\n\t\tclipArc(ctx, arc);\n\t}\n\n\tctx.beginPath();\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n\tctx.closePath();\n\tctx.stroke();\n}\n\nvar element_arc = core_element.extend({\n\t_type: 'arc',\n\n\tinLabelRange: function(mouseX) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\n\t\t}\n\t\treturn false;\n\t},\n\n\tinRange: function(chartX, chartY) {\n\t\tvar vm = this._view;\n\n\t\tif (vm) {\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\n\t\t\tvar angle = pointRelativePosition.angle;\n\t\t\tvar distance = pointRelativePosition.distance;\n\n\t\t\t// Sanitise angle range\n\t\t\tvar startAngle = vm.startAngle;\n\t\t\tvar endAngle = vm.endAngle;\n\t\t\twhile (endAngle < startAngle) {\n\t\t\t\tendAngle += TAU;\n\t\t\t}\n\t\t\twhile (angle > endAngle) {\n\t\t\t\tangle -= TAU;\n\t\t\t}\n\t\t\twhile (angle < startAngle) {\n\t\t\t\tangle += TAU;\n\t\t\t}\n\n\t\t\t// Check if within the range of the open/close angle\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\n\n\t\t\treturn (betweenAngles && withinRadius);\n\t\t}\n\t\treturn false;\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\n\t\treturn {\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\n\n\t\treturn {\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\n\t\t};\n\t},\n\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\n\t\tvar arc = {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y,\n\t\t\tinnerRadius: vm.innerRadius,\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\n\t\t\tpixelMargin: pixelMargin,\n\t\t\tstartAngle: vm.startAngle,\n\t\t\tendAngle: vm.endAngle,\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\n\t\t};\n\t\tvar i;\n\n\t\tctx.save();\n\n\t\tctx.fillStyle = vm.backgroundColor;\n\t\tctx.strokeStyle = vm.borderColor;\n\n\t\tif (arc.fullCircles) {\n\t\t\tarc.endAngle = arc.startAngle + TAU;\n\t\t\tctx.beginPath();\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n\t\t\tctx.closePath();\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\n\t\t\t\tctx.fill();\n\t\t\t}\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\n\t\t}\n\n\t\tctx.beginPath();\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\n\t\tctx.closePath();\n\t\tctx.fill();\n\n\t\tif (vm.borderWidth) {\n\t\t\tdrawBorder(ctx, vm, arc);\n\t\t}\n\n\t\tctx.restore();\n\t}\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\n\nvar defaultColor = core_defaults.global.defaultColor;\n\ncore_defaults._set('global', {\n\telements: {\n\t\tline: {\n\t\t\ttension: 0.4,\n\t\t\tbackgroundColor: defaultColor,\n\t\t\tborderWidth: 3,\n\t\t\tborderColor: defaultColor,\n\t\t\tborderCapStyle: 'butt',\n\t\t\tborderDash: [],\n\t\t\tborderDashOffset: 0.0,\n\t\t\tborderJoinStyle: 'miter',\n\t\t\tcapBezierPoints: true,\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\n\t\t}\n\t}\n});\n\nvar element_line = core_element.extend({\n\t_type: 'line',\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar vm = me._view;\n\t\tvar ctx = me._chart.ctx;\n\t\tvar spanGaps = vm.spanGaps;\n\t\tvar points = me._children.slice(); // clone array\n\t\tvar globalDefaults = core_defaults.global;\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\n\t\tvar lastDrawnIndex = -1;\n\t\tvar closePath = me._loop;\n\t\tvar index, previous, currentVM;\n\n\t\tif (!points.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (me._loop) {\n\t\t\tfor (index = 0; index < points.length; ++index) {\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\n\t\t\t\t// If the line has an open path, shift the point array\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\n\t\t\t\t\tclosePath = spanGaps;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// If the line has a close path, add the first point again\n\t\t\tif (closePath) {\n\t\t\t\tpoints.push(points[0]);\n\t\t\t}\n\t\t}\n\n\t\tctx.save();\n\n\t\t// Stroke Line Options\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\n\n\t\t// IE 9 and 10 do not support line dash\n\t\tif (ctx.setLineDash) {\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\n\t\t}\n\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\n\n\t\t// Stroke Line\n\t\tctx.beginPath();\n\n\t\t// First point moves to it's starting position no matter what\n\t\tcurrentVM = points[0]._view;\n\t\tif (!currentVM.skip) {\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\tlastDrawnIndex = 0;\n\t\t}\n\n\t\tfor (index = 1; index < points.length; ++index) {\n\t\t\tcurrentVM = points[index]._view;\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\n\n\t\t\tif (!currentVM.skip) {\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\n\t\t\t\t\t// There was a gap and this is the first point after the gap\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\n\t\t\t\t} else {\n\t\t\t\t\t// Line to next point\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\n\t\t\t\t}\n\t\t\t\tlastDrawnIndex = index;\n\t\t\t}\n\t\t}\n\n\t\tif (closePath) {\n\t\t\tctx.closePath();\n\t\t}\n\n\t\tctx.stroke();\n\t\tctx.restore();\n\t}\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\n\nvar defaultColor$1 = core_defaults.global.defaultColor;\n\ncore_defaults._set('global', {\n\telements: {\n\t\tpoint: {\n\t\t\tradius: 3,\n\t\t\tpointStyle: 'circle',\n\t\t\tbackgroundColor: defaultColor$1,\n\t\t\tborderColor: defaultColor$1,\n\t\t\tborderWidth: 1,\n\t\t\t// Hover\n\t\t\thitRadius: 1,\n\t\t\thoverRadius: 4,\n\t\t\thoverBorderWidth: 1\n\t\t}\n\t}\n});\n\nfunction xRange(mouseX) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\n}\n\nfunction yRange(mouseY) {\n\tvar vm = this._view;\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\n}\n\nvar element_point = core_element.extend({\n\t_type: 'point',\n\n\tinRange: function(mouseX, mouseY) {\n\t\tvar vm = this._view;\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\n\t},\n\n\tinLabelRange: xRange,\n\tinXRange: xRange,\n\tinYRange: yRange,\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t},\n\n\tgetArea: function() {\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y,\n\t\t\tpadding: vm.radius + vm.borderWidth\n\t\t};\n\t},\n\n\tdraw: function(chartArea) {\n\t\tvar vm = this._view;\n\t\tvar ctx = this._chart.ctx;\n\t\tvar pointStyle = vm.pointStyle;\n\t\tvar rotation = vm.rotation;\n\t\tvar radius = vm.radius;\n\t\tvar x = vm.x;\n\t\tvar y = vm.y;\n\t\tvar globalDefaults = core_defaults.global;\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\n\n\t\tif (vm.skip) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Clipping for Points.\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\n\t\t}\n\t}\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\n\ncore_defaults._set('global', {\n\telements: {\n\t\trectangle: {\n\t\t\tbackgroundColor: defaultColor$2,\n\t\t\tborderColor: defaultColor$2,\n\t\t\tborderSkipped: 'bottom',\n\t\t\tborderWidth: 0\n\t\t}\n\t}\n});\n\nfunction isVertical(vm) {\n\treturn vm && vm.width !== undefined;\n}\n\n/**\n * Helper function to get the bounds of the bar regardless of the orientation\n * @param bar {Chart.Element.Rectangle} the bar\n * @return {Bounds} bounds of the bar\n * @private\n */\nfunction getBarBounds(vm) {\n\tvar x1, x2, y1, y2, half;\n\n\tif (isVertical(vm)) {\n\t\thalf = vm.width / 2;\n\t\tx1 = vm.x - half;\n\t\tx2 = vm.x + half;\n\t\ty1 = Math.min(vm.y, vm.base);\n\t\ty2 = Math.max(vm.y, vm.base);\n\t} else {\n\t\thalf = vm.height / 2;\n\t\tx1 = Math.min(vm.x, vm.base);\n\t\tx2 = Math.max(vm.x, vm.base);\n\t\ty1 = vm.y - half;\n\t\ty2 = vm.y + half;\n\t}\n\n\treturn {\n\t\tleft: x1,\n\t\ttop: y1,\n\t\tright: x2,\n\t\tbottom: y2\n\t};\n}\n\nfunction swap(orig, v1, v2) {\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\n\nfunction parseBorderSkipped(vm) {\n\tvar edge = vm.borderSkipped;\n\tvar res = {};\n\n\tif (!edge) {\n\t\treturn res;\n\t}\n\n\tif (vm.horizontal) {\n\t\tif (vm.base > vm.x) {\n\t\t\tedge = swap(edge, 'left', 'right');\n\t\t}\n\t} else if (vm.base < vm.y) {\n\t\tedge = swap(edge, 'bottom', 'top');\n\t}\n\n\tres[edge] = true;\n\treturn res;\n}\n\nfunction parseBorderWidth(vm, maxW, maxH) {\n\tvar value = vm.borderWidth;\n\tvar skip = parseBorderSkipped(vm);\n\tvar t, r, b, l;\n\n\tif (helpers$1.isObject(value)) {\n\t\tt = +value.top || 0;\n\t\tr = +value.right || 0;\n\t\tb = +value.bottom || 0;\n\t\tl = +value.left || 0;\n\t} else {\n\t\tt = r = b = l = +value || 0;\n\t}\n\n\treturn {\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\n\t};\n}\n\nfunction boundingRects(vm) {\n\tvar bounds = getBarBounds(vm);\n\tvar width = bounds.right - bounds.left;\n\tvar height = bounds.bottom - bounds.top;\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\n\n\treturn {\n\t\touter: {\n\t\t\tx: bounds.left,\n\t\t\ty: bounds.top,\n\t\t\tw: width,\n\t\t\th: height\n\t\t},\n\t\tinner: {\n\t\t\tx: bounds.left + border.l,\n\t\t\ty: bounds.top + border.t,\n\t\t\tw: width - border.l - border.r,\n\t\t\th: height - border.t - border.b\n\t\t}\n\t};\n}\n\nfunction inRange(vm, x, y) {\n\tvar skipX = x === null;\n\tvar skipY = y === null;\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\n\n\treturn bounds\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\n}\n\nvar element_rectangle = core_element.extend({\n\t_type: 'rectangle',\n\n\tdraw: function() {\n\t\tvar ctx = this._chart.ctx;\n\t\tvar vm = this._view;\n\t\tvar rects = boundingRects(vm);\n\t\tvar outer = rects.outer;\n\t\tvar inner = rects.inner;\n\n\t\tctx.fillStyle = vm.backgroundColor;\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\n\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\n\t\tctx.clip();\n\t\tctx.fillStyle = vm.borderColor;\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\n\t\tctx.fill('evenodd');\n\t\tctx.restore();\n\t},\n\n\theight: function() {\n\t\tvar vm = this._view;\n\t\treturn vm.base - vm.y;\n\t},\n\n\tinRange: function(mouseX, mouseY) {\n\t\treturn inRange(this._view, mouseX, mouseY);\n\t},\n\n\tinLabelRange: function(mouseX, mouseY) {\n\t\tvar vm = this._view;\n\t\treturn isVertical(vm)\n\t\t\t? inRange(vm, mouseX, null)\n\t\t\t: inRange(vm, null, mouseY);\n\t},\n\n\tinXRange: function(mouseX) {\n\t\treturn inRange(this._view, mouseX, null);\n\t},\n\n\tinYRange: function(mouseY) {\n\t\treturn inRange(this._view, null, mouseY);\n\t},\n\n\tgetCenterPoint: function() {\n\t\tvar vm = this._view;\n\t\tvar x, y;\n\t\tif (isVertical(vm)) {\n\t\t\tx = vm.x;\n\t\t\ty = (vm.y + vm.base) / 2;\n\t\t} else {\n\t\t\tx = (vm.x + vm.base) / 2;\n\t\t\ty = vm.y;\n\t\t}\n\n\t\treturn {x: x, y: y};\n\t},\n\n\tgetArea: function() {\n\t\tvar vm = this._view;\n\n\t\treturn isVertical(vm)\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\n\t},\n\n\ttooltipPosition: function() {\n\t\tvar vm = this._view;\n\t\treturn {\n\t\t\tx: vm.x,\n\t\t\ty: vm.y\n\t\t};\n\t}\n});\n\nvar elements = {};\nvar Arc = element_arc;\nvar Line = element_line;\nvar Point = element_point;\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\n\ncore_defaults._set('bar', {\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\t\t\toffset: true,\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\ttype: 'linear'\n\t\t}]\n\t}\n});\n\ncore_defaults._set('global', {\n\tdatasets: {\n\t\tbar: {\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9\n\t\t}\n\t}\n});\n\n/**\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\n * @private\n */\nfunction computeMinSampleSize(scale, pixels) {\n\tvar min = scale._length;\n\tvar prev, curr, i, ilen;\n\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\n\t}\n\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\n\t\tcurr = scale.getPixelForTick(i);\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\n\t\tprev = curr;\n\t}\n\n\treturn min;\n}\n\n/**\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\n * @private\n */\nfunction computeFitCategoryTraits(index, ruler, options) {\n\tvar thickness = options.barThickness;\n\tvar count = ruler.stackCount;\n\tvar curr = ruler.pixels[index];\n\tvar min = helpers$1.isNullOrUndef(thickness)\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\n\t\t: -1;\n\tvar size, ratio;\n\n\tif (helpers$1.isNullOrUndef(thickness)) {\n\t\tsize = min * options.categoryPercentage;\n\t\tratio = options.barPercentage;\n\t} else {\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\n\t\tsize = thickness * count;\n\t\tratio = 1;\n\t}\n\n\treturn {\n\t\tchunk: size / count,\n\t\tratio: ratio,\n\t\tstart: curr - (size / 2)\n\t};\n}\n\n/**\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\n * percentage options are 1), based on the previous and following categories. This mode\n * generates bars with different widths when data are not evenly spaced.\n * @private\n */\nfunction computeFlexCategoryTraits(index, ruler, options) {\n\tvar pixels = ruler.pixels;\n\tvar curr = pixels[index];\n\tvar prev = index > 0 ? pixels[index - 1] : null;\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\n\tvar percent = options.categoryPercentage;\n\tvar start, size;\n\n\tif (prev === null) {\n\t\t// first data: its size is double based on the next point or,\n\t\t// if it's also the last data, we use the scale size.\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n\t}\n\n\tif (next === null) {\n\t\t// last data: its size is also double based on the previous point.\n\t\tnext = curr + curr - prev;\n\t}\n\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\n\tsize = Math.abs(next - prev) / 2 * percent;\n\n\treturn {\n\t\tchunk: size / ruler.stackCount,\n\t\tratio: options.barPercentage,\n\t\tstart: start\n\t};\n}\n\nvar controller_bar = core_datasetController.extend({\n\n\tdataElementType: elements.Rectangle,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderSkipped',\n\t\t'borderWidth',\n\t\t'barPercentage',\n\t\t'barThickness',\n\t\t'categoryPercentage',\n\t\t'maxBarThickness',\n\t\t'minBarLength'\n\t],\n\n\tinitialize: function() {\n\t\tvar me = this;\n\t\tvar meta, scaleOpts;\n\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\n\n\t\tmeta = me.getMeta();\n\t\tmeta.stack = me.getDataset().stack;\n\t\tmeta.bar = true;\n\n\t\tscaleOpts = me._getIndexScale().options;\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar rects = me.getMeta().data;\n\t\tvar i, ilen;\n\n\t\tme._ruler = me.getRuler();\n\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\n\t\t\tme.updateElement(rects[i], i, reset);\n\t\t}\n\t},\n\n\tupdateElement: function(rectangle, index, reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar dataset = me.getDataset();\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\n\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\n\t\trectangle._datasetIndex = me.index;\n\t\trectangle._index = index;\n\t\trectangle._model = {\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderSkipped: options.borderSkipped,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\tdatasetLabel: dataset.label,\n\t\t\tlabel: me.chart.data.labels[index]\n\t\t};\n\n\t\tif (helpers$1.isArray(dataset.data[index])) {\n\t\t\trectangle._model.borderSkipped = null;\n\t\t}\n\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\n\n\t\trectangle.pivot();\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\n\t\tvar me = this;\n\t\tvar model = rectangle._model;\n\t\tvar vscale = me._getValueScale();\n\t\tvar base = vscale.getBasePixel();\n\t\tvar horizontal = vscale.isHorizontal();\n\t\tvar ruler = me._ruler || me.getRuler();\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\n\n\t\tmodel.horizontal = horizontal;\n\t\tmodel.base = reset ? base : vpixels.base;\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\n\t},\n\n\t/**\n\t * Returns the stacks based on groups and bar visibility.\n\t * @param {number} [last] - The dataset index\n\t * @returns {string[]} The list of stack IDs\n\t * @private\n\t */\n\t_getStacks: function(last) {\n\t\tvar me = this;\n\t\tvar scale = me._getIndexScale();\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\n\t\tvar stacked = scale.options.stacked;\n\t\tvar ilen = metasets.length;\n\t\tvar stacks = [];\n\t\tvar i, meta;\n\n\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\tmeta = metasets[i];\n\t\t\t// stacked | meta.stack\n\t\t\t// | found | not found | undefined\n\t\t\t// false | x | x | x\n\t\t\t// true | | x |\n\t\t\t// undefined | | x | x\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n\t\t\t\tstacks.push(meta.stack);\n\t\t\t}\n\t\t\tif (meta.index === last) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn stacks;\n\t},\n\n\t/**\n\t * Returns the effective number of stacks based on groups and bar visibility.\n\t * @private\n\t */\n\tgetStackCount: function() {\n\t\treturn this._getStacks().length;\n\t},\n\n\t/**\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\n\t * @param {number} [datasetIndex] - The dataset index\n\t * @param {string} [name] - The stack name to find\n\t * @returns {number} The stack index\n\t * @private\n\t */\n\tgetStackIndex: function(datasetIndex, name) {\n\t\tvar stacks = this._getStacks(datasetIndex);\n\t\tvar index = (name !== undefined)\n\t\t\t? stacks.indexOf(name)\n\t\t\t: -1; // indexOf returns -1 if element is not present\n\n\t\treturn (index === -1)\n\t\t\t? stacks.length - 1\n\t\t\t: index;\n\t},\n\n\t/**\n\t * @private\n\t */\n\tgetRuler: function() {\n\t\tvar me = this;\n\t\tvar scale = me._getIndexScale();\n\t\tvar pixels = [];\n\t\tvar i, ilen;\n\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\n\t\t}\n\n\t\treturn {\n\t\t\tpixels: pixels,\n\t\t\tstart: scale._startPixel,\n\t\t\tend: scale._endPixel,\n\t\t\tstackCount: me.getStackCount(),\n\t\t\tscale: scale\n\t\t};\n\t},\n\n\t/**\n\t * Note: pixel values are not clamped to the scale area.\n\t * @private\n\t */\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar scale = me._getValueScale();\n\t\tvar isHorizontal = scale.isHorizontal();\n\t\tvar datasets = chart.data.datasets;\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\n\t\tvar minBarLength = options.minBarLength;\n\t\tvar stacked = scale.options.stacked;\n\t\tvar stack = me.getMeta().stack;\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\n\t\tvar ilen = metasets.length;\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\n\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\n\t\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\t\timeta = metasets[i];\n\n\t\t\t\tif (imeta.index === datasetIndex) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (imeta.stack === stack) {\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\n\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\n\t\t\t\t\t\tstart += ivalue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbase = scale.getPixelForValue(start);\n\t\thead = scale.getPixelForValue(start + length);\n\t\tsize = head - base;\n\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\n\t\t\tsize = minBarLength;\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\n\t\t\t\thead = base - minBarLength;\n\t\t\t} else {\n\t\t\t\thead = base + minBarLength;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tsize: size,\n\t\t\tbase: base,\n\t\t\thead: head,\n\t\t\tcenter: head + size / 2\n\t\t};\n\t},\n\n\t/**\n\t * @private\n\t */\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\n\t\tvar me = this;\n\t\tvar range = options.barThickness === 'flex'\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\n\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n\t\tvar size = Math.min(\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\n\t\t\trange.chunk * range.ratio);\n\n\t\treturn {\n\t\t\tbase: center - size / 2,\n\t\t\thead: center + size / 2,\n\t\t\tcenter: center,\n\t\t\tsize: size\n\t\t};\n\t},\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar scale = me._getValueScale();\n\t\tvar rects = me.getMeta().data;\n\t\tvar dataset = me.getDataset();\n\t\tvar ilen = rects.length;\n\t\tvar i = 0;\n\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\n\t\t\t\trects[i].draw();\n\t\t\t}\n\t\t}\n\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDataElementOptions: function() {\n\t\tvar me = this;\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\n\t\tvar indexOpts = me._getIndexScale().options;\n\t\tvar valueOpts = me._getValueScale().options;\n\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\n\n\t\treturn values;\n\t}\n\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\nvar resolve$1 = helpers$1.options.resolve;\n\ncore_defaults._set('bubble', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\n\t\t\tposition: 'bottom',\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\nvar controller_bubble = core_datasetController.extend({\n\t/**\n\t * @protected\n\t */\n\tdataElementType: elements.Point,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'hoverBackgroundColor',\n\t\t'hoverBorderColor',\n\t\t'hoverBorderWidth',\n\t\t'hoverRadius',\n\t\t'hitRadius',\n\t\t'pointStyle',\n\t\t'rotation'\n\t],\n\n\t/**\n\t * @protected\n\t */\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar points = meta.data;\n\n\t\t// Update Points\n\t\thelpers$1.each(points, function(point, index) {\n\t\t\tme.updateElement(point, index, reset);\n\t\t});\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tupdateElement: function(point, index, reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar custom = point.custom || {};\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\n\t\tvar options = me._resolveDataElementOptions(point, index);\n\t\tvar data = me.getDataset().data[index];\n\t\tvar dsIndex = me.index;\n\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\n\n\t\tpoint._xScale = xScale;\n\t\tpoint._yScale = yScale;\n\t\tpoint._options = options;\n\t\tpoint._datasetIndex = dsIndex;\n\t\tpoint._index = index;\n\t\tpoint._model = {\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\thitRadius: options.hitRadius,\n\t\t\tpointStyle: options.pointStyle,\n\t\t\trotation: options.rotation,\n\t\t\tradius: reset ? 0 : options.radius,\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\tx: x,\n\t\t\ty: y,\n\t\t};\n\n\t\tpoint.pivot();\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(point) {\n\t\tvar model = point._model;\n\t\tvar options = point._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tpoint.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t\tradius: model.radius\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\n\t\tmodel.radius = options.radius + options.hoverRadius;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDataElementOptions: function(point, index) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar dataset = me.getDataset();\n\t\tvar custom = point.custom || {};\n\t\tvar data = dataset.data[index] || {};\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: dataset,\n\t\t\tdatasetIndex: me.index\n\t\t};\n\n\t\t// In case values were cached (and thus frozen), we need to clone the values\n\t\tif (me._cachedDataOpts === values) {\n\t\t\tvalues = helpers$1.extend({}, values);\n\t\t}\n\n\t\t// Custom radius resolution\n\t\tvalues.radius = resolve$1([\n\t\t\tcustom.radius,\n\t\t\tdata.r,\n\t\t\tme._config.radius,\n\t\t\tchart.options.elements.point.radius\n\t\t], context, index);\n\n\t\treturn values;\n\t}\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\n\nvar PI$1 = Math.PI;\nvar DOUBLE_PI$1 = PI$1 * 2;\nvar HALF_PI$1 = PI$1 / 2;\n\ncore_defaults._set('doughnut', {\n\tanimation: {\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\n\t\tanimateRotate: true,\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\n\t\tanimateScale: false\n\t},\n\thover: {\n\t\tmode: 'single'\n\t},\n\tlegendCallback: function(chart) {\n\t\tvar list = document.createElement('ul');\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\t\tvar i, ilen, listItem, listItemSpan;\n\n\t\tlist.setAttribute('class', chart.id + '-legend');\n\t\tif (datasets.length) {\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn list.outerHTML;\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t// toggle visibility of index if exists\n\t\t\t\tif (meta.data[index]) {\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// The percentage of the chart that we cut out of the middle.\n\tcutoutPercentage: 50,\n\n\t// The rotation of the chart, where the first data arc begins.\n\trotation: -HALF_PI$1,\n\n\t// The total circumference of the chart.\n\tcircumference: DOUBLE_PI$1,\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(tooltipItem, data) {\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\n\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\n\t\t\t\t\t// show value on first line of multiline label\n\t\t\t\t\t// need to clone because we are changing the value\n\t\t\t\t\tdataLabel = dataLabel.slice();\n\t\t\t\t\tdataLabel[0] += value;\n\t\t\t\t} else {\n\t\t\t\t\tdataLabel += value;\n\t\t\t\t}\n\n\t\t\t\treturn dataLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\nvar controller_doughnut = core_datasetController.extend({\n\n\tdataElementType: elements.Arc,\n\n\tlinkScales: helpers$1.noop,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'borderAlign',\n\t\t'hoverBackgroundColor',\n\t\t'hoverBorderColor',\n\t\t'hoverBorderWidth',\n\t],\n\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\n\tgetRingIndex: function(datasetIndex) {\n\t\tvar ringIndex = 0;\n\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\n\t\t\tif (this.chart.isDatasetVisible(j)) {\n\t\t\t\t++ringIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn ringIndex;\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar chartArea = chart.chartArea;\n\t\tvar opts = chart.options;\n\t\tvar ratioX = 1;\n\t\tvar ratioY = 1;\n\t\tvar offsetX = 0;\n\t\tvar offsetY = 0;\n\t\tvar meta = me.getMeta();\n\t\tvar arcs = meta.data;\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\n\t\tvar circumference = opts.circumference;\n\t\tvar chartWeight = me._getRingWeight(me.index);\n\t\tvar maxWidth, maxHeight, i, ilen;\n\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\n\t\tif (circumference < DOUBLE_PI$1) {\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\n\t\t\tvar endAngle = startAngle + circumference;\n\t\t\tvar startX = Math.cos(startAngle);\n\t\t\tvar startY = Math.sin(startAngle);\n\t\t\tvar endX = Math.cos(endAngle);\n\t\t\tvar endY = Math.sin(endAngle);\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\n\t\t\tratioX = (maxX - minX) / 2;\n\t\t\tratioY = (maxY - minY) / 2;\n\t\t\toffsetX = -(maxX + minX) / 2;\n\t\t\toffsetY = -(maxY + minY) / 2;\n\t\t}\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\n\t\t}\n\n\t\tchart.borderWidth = me.getMaxBorderWidth();\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\n\t\tchart.offsetX = offsetX * chart.outerRadius;\n\t\tchart.offsetY = offsetY * chart.outerRadius;\n\n\t\tmeta.total = me.calculateTotal();\n\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tme.updateElement(arcs[i], i, reset);\n\t\t}\n\t},\n\n\tupdateElement: function(arc, index, reset) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar chartArea = chart.chartArea;\n\t\tvar opts = chart.options;\n\t\tvar animationOpts = opts.animation;\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\n\t\tvar startAngle = opts.rotation; // non reset case handled later\n\t\tvar endAngle = opts.rotation; // non reset case handled later\n\t\tvar dataset = me.getDataset();\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\n\t\tvar options = arc._options || {};\n\n\t\thelpers$1.extend(arc, {\n\t\t\t// Utility\n\t\t\t_datasetIndex: me.index,\n\t\t\t_index: index,\n\n\t\t\t// Desired view properties\n\t\t\t_model: {\n\t\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\t\tborderColor: options.borderColor,\n\t\t\t\tborderWidth: options.borderWidth,\n\t\t\t\tborderAlign: options.borderAlign,\n\t\t\t\tx: centerX + chart.offsetX,\n\t\t\t\ty: centerY + chart.offsetY,\n\t\t\t\tstartAngle: startAngle,\n\t\t\t\tendAngle: endAngle,\n\t\t\t\tcircumference: circumference,\n\t\t\t\touterRadius: outerRadius,\n\t\t\t\tinnerRadius: innerRadius,\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\n\t\t\t}\n\t\t});\n\n\t\tvar model = arc._model;\n\n\t\t// Set correct angles if not resetting\n\t\tif (!reset || !animationOpts.animateRotate) {\n\t\t\tif (index === 0) {\n\t\t\t\tmodel.startAngle = opts.rotation;\n\t\t\t} else {\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\n\t\t\t}\n\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\n\t\t}\n\n\t\tarc.pivot();\n\t},\n\n\tcalculateTotal: function() {\n\t\tvar dataset = this.getDataset();\n\t\tvar meta = this.getMeta();\n\t\tvar total = 0;\n\t\tvar value;\n\n\t\thelpers$1.each(meta.data, function(element, index) {\n\t\t\tvalue = dataset.data[index];\n\t\t\tif (!isNaN(value) && !element.hidden) {\n\t\t\t\ttotal += Math.abs(value);\n\t\t\t}\n\t\t});\n\n\t\t/* if (total === 0) {\n\t\t\ttotal = NaN;\n\t\t}*/\n\n\t\treturn total;\n\t},\n\n\tcalculateCircumference: function(value) {\n\t\tvar total = this.getMeta().total;\n\t\tif (total > 0 && !isNaN(value)) {\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// gets the max border or hover width to properly scale pie charts\n\tgetMaxBorderWidth: function(arcs) {\n\t\tvar me = this;\n\t\tvar max = 0;\n\t\tvar chart = me.chart;\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\n\n\t\tif (!arcs) {\n\t\t\t// Find the outmost visible dataset\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n\t\t\t\tif (chart.isDatasetVisible(i)) {\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\t\tarcs = meta.data;\n\t\t\t\t\tif (i !== me.index) {\n\t\t\t\t\t\tcontroller = meta.controller;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!arcs) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tarc = arcs[i];\n\t\t\tif (controller) {\n\t\t\t\tcontroller._configure();\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\n\t\t\t} else {\n\t\t\t\toptions = arc._options;\n\t\t\t}\n\t\t\tif (options.borderAlign !== 'inner') {\n\t\t\t\tborderWidth = options.borderWidth;\n\t\t\t\thoverWidth = options.hoverBorderWidth;\n\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\n\t\t\t}\n\t\t}\n\t\treturn max;\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(arc) {\n\t\tvar model = arc._model;\n\t\tvar options = arc._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tarc.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\n\t},\n\n\t/**\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\n\t * @private\n\t */\n\t_getRingWeightOffset: function(datasetIndex) {\n\t\tvar ringWeightOffset = 0;\n\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\n\t\t\tif (this.chart.isDatasetVisible(i)) {\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\n\t\t\t}\n\t\t}\n\n\t\treturn ringWeightOffset;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getRingWeight: function(dataSetIndex) {\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\n\t},\n\n\t/**\n\t * Returns the sum of all visibile data set weights. This value can be 0.\n\t * @private\n\t */\n\t_getVisibleDatasetWeightTotal: function() {\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\n\t}\n});\n\ncore_defaults._set('horizontalBar', {\n\thover: {\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tposition: 'bottom'\n\t\t}],\n\n\t\tyAxes: [{\n\t\t\ttype: 'category',\n\t\t\tposition: 'left',\n\t\t\toffset: true,\n\t\t\tgridLines: {\n\t\t\t\toffsetGridLines: true\n\t\t\t}\n\t\t}]\n\t},\n\n\telements: {\n\t\trectangle: {\n\t\t\tborderSkipped: 'left'\n\t\t}\n\t},\n\n\ttooltips: {\n\t\tmode: 'index',\n\t\taxis: 'y'\n\t}\n});\n\ncore_defaults._set('global', {\n\tdatasets: {\n\t\thorizontalBar: {\n\t\t\tcategoryPercentage: 0.8,\n\t\t\tbarPercentage: 0.9\n\t\t}\n\t}\n});\n\nvar controller_horizontalBar = controller_bar.extend({\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.getMeta().xAxisID;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.getMeta().yAxisID;\n\t}\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\nvar resolve$2 = helpers$1.options.resolve;\nvar isPointInArea = helpers$1.canvas._isPointInArea;\n\ncore_defaults._set('line', {\n\tshowLines: true,\n\tspanGaps: false,\n\n\thover: {\n\t\tmode: 'label'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\ttype: 'category',\n\t\t\tid: 'x-axis-0'\n\t\t}],\n\t\tyAxes: [{\n\t\t\ttype: 'linear',\n\t\t\tid: 'y-axis-0'\n\t\t}]\n\t}\n});\n\nfunction scaleClip(scale, halfBorderWidth) {\n\tvar tickOpts = scale && scale.options.ticks || {};\n\tvar reverse = tickOpts.reverse;\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\n\treturn {\n\t\tstart: reverse ? max : min,\n\t\tend: reverse ? min : max\n\t};\n}\n\nfunction defaultClip(xScale, yScale, borderWidth) {\n\tvar halfBorderWidth = borderWidth / 2;\n\tvar x = scaleClip(xScale, halfBorderWidth);\n\tvar y = scaleClip(yScale, halfBorderWidth);\n\n\treturn {\n\t\ttop: y.end,\n\t\tright: x.end,\n\t\tbottom: y.start,\n\t\tleft: x.start\n\t};\n}\n\nfunction toClip(value) {\n\tvar t, r, b, l;\n\n\tif (helpers$1.isObject(value)) {\n\t\tt = value.top;\n\t\tr = value.right;\n\t\tb = value.bottom;\n\t\tl = value.left;\n\t} else {\n\t\tt = r = b = l = value;\n\t}\n\n\treturn {\n\t\ttop: t,\n\t\tright: r,\n\t\tbottom: b,\n\t\tleft: l\n\t};\n}\n\n\nvar controller_line = core_datasetController.extend({\n\n\tdatasetElementType: elements.Line,\n\n\tdataElementType: elements.Point,\n\n\t/**\n\t * @private\n\t */\n\t_datasetElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderCapStyle',\n\t\t'borderColor',\n\t\t'borderDash',\n\t\t'borderDashOffset',\n\t\t'borderJoinStyle',\n\t\t'borderWidth',\n\t\t'cubicInterpolationMode',\n\t\t'fill'\n\t],\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: {\n\t\tbackgroundColor: 'pointBackgroundColor',\n\t\tborderColor: 'pointBorderColor',\n\t\tborderWidth: 'pointBorderWidth',\n\t\thitRadius: 'pointHitRadius',\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\n\t\thoverBorderColor: 'pointHoverBorderColor',\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\n\t\thoverRadius: 'pointHoverRadius',\n\t\tpointStyle: 'pointStyle',\n\t\tradius: 'pointRadius',\n\t\trotation: 'pointRotation'\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar line = meta.dataset;\n\t\tvar points = meta.data || [];\n\t\tvar options = me.chart.options;\n\t\tvar config = me._config;\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\n\t\tvar i, ilen;\n\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\n\n\t\t// Update Line\n\t\tif (showLine) {\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\n\t\t\t\tconfig.lineTension = config.tension;\n\t\t\t}\n\n\t\t\t// Utility\n\t\t\tline._scale = me._yScale;\n\t\t\tline._datasetIndex = me.index;\n\t\t\t// Data\n\t\t\tline._children = points;\n\t\t\t// Model\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\n\n\t\t\tline.pivot();\n\t\t}\n\n\t\t// Update Points\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tme.updateElement(points[i], i, reset);\n\t\t}\n\n\t\tif (showLine && line._model.tension !== 0) {\n\t\t\tme.updateBezierControlPoints();\n\t\t}\n\n\t\t// Now pivot the point for animation\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tpoints[i].pivot();\n\t\t}\n\t},\n\n\tupdateElement: function(point, index, reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar custom = point.custom || {};\n\t\tvar dataset = me.getDataset();\n\t\tvar datasetIndex = me.index;\n\t\tvar value = dataset.data[index];\n\t\tvar xScale = me._xScale;\n\t\tvar yScale = me._yScale;\n\t\tvar lineModel = meta.dataset._model;\n\t\tvar x, y;\n\n\t\tvar options = me._resolveDataElementOptions(point, index);\n\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\n\n\t\t// Utility\n\t\tpoint._xScale = xScale;\n\t\tpoint._yScale = yScale;\n\t\tpoint._options = options;\n\t\tpoint._datasetIndex = datasetIndex;\n\t\tpoint._index = index;\n\n\t\t// Desired view properties\n\t\tpoint._model = {\n\t\t\tx: x,\n\t\t\ty: y,\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t// Appearance\n\t\t\tradius: options.radius,\n\t\t\tpointStyle: options.pointStyle,\n\t\t\trotation: options.rotation,\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\n\t\t\t// Tooltip\n\t\t\thitRadius: options.hitRadius\n\t\t};\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDatasetElementOptions: function(element) {\n\t\tvar me = this;\n\t\tvar config = me._config;\n\t\tvar custom = element.custom || {};\n\t\tvar options = me.chart.options;\n\t\tvar lineOptions = options.elements.line;\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\n\n\t\t// The default behavior of lines is to break at null values, according\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\n\t\t// This option gives lines the ability to span gaps\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\n\n\t\treturn values;\n\t},\n\n\tcalculatePointY: function(value, index, datasetIndex) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar yScale = me._yScale;\n\t\tvar sumPos = 0;\n\t\tvar sumNeg = 0;\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\n\n\t\tif (yScale.options.stacked) {\n\t\t\trightValue = +yScale.getRightValue(value);\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\n\t\t\tilen = metasets.length;\n\n\t\t\tfor (i = 0; i < ilen; ++i) {\n\t\t\t\tdsMeta = metasets[i];\n\t\t\t\tif (dsMeta.index === datasetIndex) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\n\t\t\t\t\tif (stackedRightValue < 0) {\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (rightValue < 0) {\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\n\t\t\t}\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\n\t\t}\n\t\treturn yScale.getPixelForValue(value);\n\t},\n\n\tupdateBezierControlPoints: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar meta = me.getMeta();\n\t\tvar lineModel = meta.dataset._model;\n\t\tvar area = chart.chartArea;\n\t\tvar points = meta.data || [];\n\t\tvar i, ilen, model, controlPoints;\n\n\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\tif (lineModel.spanGaps) {\n\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\treturn !pt._model.skip;\n\t\t\t});\n\t\t}\n\n\t\tfunction capControlPoint(pt, min, max) {\n\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t}\n\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\n\t\t\thelpers$1.splineCurveMonotone(points);\n\t\t} else {\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tmodel = points[i]._model;\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\n\t\t\t\t\tmodel,\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\n\t\t\t\t\tlineModel.tension\n\t\t\t\t);\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\n\t\t\t}\n\t\t}\n\n\t\tif (chart.options.elements.line.capBezierPoints) {\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\t\tmodel = points[i]._model;\n\t\t\t\tif (isPointInArea(model, area)) {\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\n\t\t\t\t\t}\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar meta = me.getMeta();\n\t\tvar points = meta.data || [];\n\t\tvar area = chart.chartArea;\n\t\tvar canvas = chart.canvas;\n\t\tvar i = 0;\n\t\tvar ilen = points.length;\n\t\tvar clip;\n\n\t\tif (me._showLine) {\n\t\t\tclip = meta.dataset._model.clip;\n\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\n\t\t\t});\n\n\t\t\tmeta.dataset.draw();\n\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\n\t\t}\n\n\t\t// Draw the points\n\t\tfor (; i < ilen; ++i) {\n\t\t\tpoints[i].draw(area);\n\t\t}\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(point) {\n\t\tvar model = point._model;\n\t\tvar options = point._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tpoint.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t\tradius: model.radius\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\n\t},\n});\n\nvar resolve$3 = helpers$1.options.resolve;\n\ncore_defaults._set('polarArea', {\n\tscale: {\n\t\ttype: 'radialLinear',\n\t\tangleLines: {\n\t\t\tdisplay: false\n\t\t},\n\t\tgridLines: {\n\t\t\tcircular: true\n\t\t},\n\t\tpointLabels: {\n\t\t\tdisplay: false\n\t\t},\n\t\tticks: {\n\t\t\tbeginAtZero: true\n\t\t}\n\t},\n\n\t// Boolean - Whether to animate the rotation of the chart\n\tanimation: {\n\t\tanimateRotate: true,\n\t\tanimateScale: true\n\t},\n\n\tstartAngle: -0.5 * Math.PI,\n\tlegendCallback: function(chart) {\n\t\tvar list = document.createElement('ul');\n\t\tvar data = chart.data;\n\t\tvar datasets = data.datasets;\n\t\tvar labels = data.labels;\n\t\tvar i, ilen, listItem, listItemSpan;\n\n\t\tlist.setAttribute('class', chart.id + '-legend');\n\t\tif (datasets.length) {\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\n\t\t\t\tif (labels[i]) {\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn list.outerHTML;\n\t},\n\tlegend: {\n\t\tlabels: {\n\t\t\tgenerateLabels: function(chart) {\n\t\t\t\tvar data = chart.data;\n\t\t\t\tif (data.labels.length && data.datasets.length) {\n\t\t\t\t\treturn data.labels.map(function(label, i) {\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttext: label,\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\n\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\t\t\t\tindex: i\n\t\t\t\t\t\t};\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tonClick: function(e, legendItem) {\n\t\t\tvar index = legendItem.index;\n\t\t\tvar chart = this.chart;\n\t\t\tvar i, ilen, meta;\n\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\n\t\t\t\tmeta = chart.getDatasetMeta(i);\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\n\t\t\t}\n\n\t\t\tchart.update();\n\t\t}\n\t},\n\n\t// Need to override these to give a nice default\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tlabel: function(item, data) {\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\n\t\t\t}\n\t\t}\n\t}\n});\n\nvar controller_polarArea = core_datasetController.extend({\n\n\tdataElementType: elements.Arc,\n\n\tlinkScales: helpers$1.noop,\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderColor',\n\t\t'borderWidth',\n\t\t'borderAlign',\n\t\t'hoverBackgroundColor',\n\t\t'hoverBorderColor',\n\t\t'hoverBorderWidth',\n\t],\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar dataset = me.getDataset();\n\t\tvar meta = me.getMeta();\n\t\tvar start = me.chart.options.startAngle || 0;\n\t\tvar starts = me._starts = [];\n\t\tvar angles = me._angles = [];\n\t\tvar arcs = meta.data;\n\t\tvar i, ilen, angle;\n\n\t\tme._updateRadius();\n\n\t\tmeta.count = me.countVisibleElements();\n\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\n\t\t\tstarts[i] = start;\n\t\t\tangle = me._computeAngle(i);\n\t\t\tangles[i] = angle;\n\t\t\tstart += angle;\n\t\t}\n\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\n\t\t\tme.updateElement(arcs[i], i, reset);\n\t\t}\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_updateRadius: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar chartArea = chart.chartArea;\n\t\tvar opts = chart.options;\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\n\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\n\t},\n\n\tupdateElement: function(arc, index, reset) {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar dataset = me.getDataset();\n\t\tvar opts = chart.options;\n\t\tvar animationOpts = opts.animation;\n\t\tvar scale = chart.scale;\n\t\tvar labels = chart.data.labels;\n\n\t\tvar centerX = scale.xCenter;\n\t\tvar centerY = scale.yCenter;\n\n\t\t// var negHalfPI = -0.5 * Math.PI;\n\t\tvar datasetStartAngle = opts.startAngle;\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\t\tvar startAngle = me._starts[index];\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\n\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\n\t\tvar options = arc._options || {};\n\n\t\thelpers$1.extend(arc, {\n\t\t\t// Utility\n\t\t\t_datasetIndex: me.index,\n\t\t\t_index: index,\n\t\t\t_scale: scale,\n\n\t\t\t// Desired view properties\n\t\t\t_model: {\n\t\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\t\tborderColor: options.borderColor,\n\t\t\t\tborderWidth: options.borderWidth,\n\t\t\t\tborderAlign: options.borderAlign,\n\t\t\t\tx: centerX,\n\t\t\t\ty: centerY,\n\t\t\t\tinnerRadius: 0,\n\t\t\t\touterRadius: reset ? resetRadius : distance,\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\n\t\t\t}\n\t\t});\n\n\t\tarc.pivot();\n\t},\n\n\tcountVisibleElements: function() {\n\t\tvar dataset = this.getDataset();\n\t\tvar meta = this.getMeta();\n\t\tvar count = 0;\n\n\t\thelpers$1.each(meta.data, function(element, index) {\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\n\t\t\t\tcount++;\n\t\t\t}\n\t\t});\n\n\t\treturn count;\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(arc) {\n\t\tvar model = arc._model;\n\t\tvar options = arc._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\n\n\t\tarc.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_computeAngle: function(index) {\n\t\tvar me = this;\n\t\tvar count = this.getMeta().count;\n\t\tvar dataset = me.getDataset();\n\t\tvar meta = me.getMeta();\n\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: me.chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: dataset,\n\t\t\tdatasetIndex: me.index\n\t\t};\n\n\t\treturn resolve$3([\n\t\t\tme.chart.options.elements.arc.angle,\n\t\t\t(2 * Math.PI) / count\n\t\t], context, index);\n\t}\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\ncore_defaults._set('pie', {\n\tcutoutPercentage: 0\n});\n\n// Pie charts are Doughnut chart with different defaults\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\n\ncore_defaults._set('radar', {\n\tspanGaps: false,\n\tscale: {\n\t\ttype: 'radialLinear'\n\t},\n\telements: {\n\t\tline: {\n\t\t\tfill: 'start',\n\t\t\ttension: 0 // no bezier in radar\n\t\t}\n\t}\n});\n\nvar controller_radar = core_datasetController.extend({\n\tdatasetElementType: elements.Line,\n\n\tdataElementType: elements.Point,\n\n\tlinkScales: helpers$1.noop,\n\n\t/**\n\t * @private\n\t */\n\t_datasetElementOptions: [\n\t\t'backgroundColor',\n\t\t'borderWidth',\n\t\t'borderColor',\n\t\t'borderCapStyle',\n\t\t'borderDash',\n\t\t'borderDashOffset',\n\t\t'borderJoinStyle',\n\t\t'fill'\n\t],\n\n\t/**\n\t * @private\n\t */\n\t_dataElementOptions: {\n\t\tbackgroundColor: 'pointBackgroundColor',\n\t\tborderColor: 'pointBorderColor',\n\t\tborderWidth: 'pointBorderWidth',\n\t\thitRadius: 'pointHitRadius',\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\n\t\thoverBorderColor: 'pointHoverBorderColor',\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\n\t\thoverRadius: 'pointHoverRadius',\n\t\tpointStyle: 'pointStyle',\n\t\tradius: 'pointRadius',\n\t\trotation: 'pointRotation'\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.chart.scale.id;\n\t},\n\n\tupdate: function(reset) {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar line = meta.dataset;\n\t\tvar points = meta.data || [];\n\t\tvar scale = me.chart.scale;\n\t\tvar config = me._config;\n\t\tvar i, ilen;\n\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\n\t\t\tconfig.lineTension = config.tension;\n\t\t}\n\n\t\t// Utility\n\t\tline._scale = scale;\n\t\tline._datasetIndex = me.index;\n\t\t// Data\n\t\tline._children = points;\n\t\tline._loop = true;\n\t\t// Model\n\t\tline._model = me._resolveDatasetElementOptions(line);\n\n\t\tline.pivot();\n\n\t\t// Update Points\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tme.updateElement(points[i], i, reset);\n\t\t}\n\n\t\t// Update bezier control points\n\t\tme.updateBezierControlPoints();\n\n\t\t// Now pivot the point for animation\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tpoints[i].pivot();\n\t\t}\n\t},\n\n\tupdateElement: function(point, index, reset) {\n\t\tvar me = this;\n\t\tvar custom = point.custom || {};\n\t\tvar dataset = me.getDataset();\n\t\tvar scale = me.chart.scale;\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\n\t\tvar options = me._resolveDataElementOptions(point, index);\n\t\tvar lineModel = me.getMeta().dataset._model;\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\n\n\t\t// Utility\n\t\tpoint._scale = scale;\n\t\tpoint._options = options;\n\t\tpoint._datasetIndex = me.index;\n\t\tpoint._index = index;\n\n\t\t// Desired view properties\n\t\tpoint._model = {\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\n\t\t\ty: y,\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\n\t\t\t// Appearance\n\t\t\tradius: options.radius,\n\t\t\tpointStyle: options.pointStyle,\n\t\t\trotation: options.rotation,\n\t\t\tbackgroundColor: options.backgroundColor,\n\t\t\tborderColor: options.borderColor,\n\t\t\tborderWidth: options.borderWidth,\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\n\n\t\t\t// Tooltip\n\t\t\thitRadius: options.hitRadius\n\t\t};\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_resolveDatasetElementOptions: function() {\n\t\tvar me = this;\n\t\tvar config = me._config;\n\t\tvar options = me.chart.options;\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\n\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\n\n\t\treturn values;\n\t},\n\n\tupdateBezierControlPoints: function() {\n\t\tvar me = this;\n\t\tvar meta = me.getMeta();\n\t\tvar area = me.chart.chartArea;\n\t\tvar points = meta.data || [];\n\t\tvar i, ilen, model, controlPoints;\n\n\t\t// Only consider points that are drawn in case the spanGaps option is used\n\t\tif (meta.dataset._model.spanGaps) {\n\t\t\tpoints = points.filter(function(pt) {\n\t\t\t\treturn !pt._model.skip;\n\t\t\t});\n\t\t}\n\n\t\tfunction capControlPoint(pt, min, max) {\n\t\t\treturn Math.max(Math.min(pt, max), min);\n\t\t}\n\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\n\t\t\tmodel = points[i]._model;\n\t\t\tcontrolPoints = helpers$1.splineCurve(\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\n\t\t\t\tmodel,\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\n\t\t\t\tmodel.tension\n\t\t\t);\n\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\n\t\t}\n\t},\n\n\tsetHoverStyle: function(point) {\n\t\tvar model = point._model;\n\t\tvar options = point._options;\n\t\tvar getHoverColor = helpers$1.getHoverColor;\n\n\t\tpoint.$previousStyle = {\n\t\t\tbackgroundColor: model.backgroundColor,\n\t\t\tborderColor: model.borderColor,\n\t\t\tborderWidth: model.borderWidth,\n\t\t\tradius: model.radius\n\t\t};\n\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\n\t}\n});\n\ncore_defaults._set('scatter', {\n\thover: {\n\t\tmode: 'single'\n\t},\n\n\tscales: {\n\t\txAxes: [{\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\n\t\t\ttype: 'linear', // scatter should not use a category axis\n\t\t\tposition: 'bottom'\n\t\t}],\n\t\tyAxes: [{\n\t\t\tid: 'y-axis-1',\n\t\t\ttype: 'linear',\n\t\t\tposition: 'left'\n\t\t}]\n\t},\n\n\ttooltips: {\n\t\tcallbacks: {\n\t\t\ttitle: function() {\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\n\t\t\t},\n\t\t\tlabel: function(item) {\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\n\t\t\t}\n\t\t}\n\t}\n});\n\ncore_defaults._set('global', {\n\tdatasets: {\n\t\tscatter: {\n\t\t\tshowLine: false\n\t\t}\n\t}\n});\n\n// Scatter charts use line controllers\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\n// the class, and so must be CamelCase in order to be correctly retrieved\n// by the controller in core.controller.js (`controllers[meta.type]`).\n\nvar controllers = {\n\tbar: controller_bar,\n\tbubble: controller_bubble,\n\tdoughnut: controller_doughnut,\n\thorizontalBar: controller_horizontalBar,\n\tline: controller_line,\n\tpolarArea: controller_polarArea,\n\tpie: controller_pie,\n\tradar: controller_radar,\n\tscatter: controller_scatter\n};\n\n/**\n * Helper function to get relative position for an event\n * @param {Event|IEvent} event - The event to get the position for\n * @param {Chart} chart - The chart\n * @returns {object} the event position\n */\nfunction getRelativePosition(e, chart) {\n\tif (e.native) {\n\t\treturn {\n\t\t\tx: e.x,\n\t\t\ty: e.y\n\t\t};\n\t}\n\n\treturn helpers$1.getRelativePosition(e, chart);\n}\n\n/**\n * Helper function to traverse all of the visible elements in the chart\n * @param {Chart} chart - the chart\n * @param {function} handler - the callback to execute for each visible item\n */\nfunction parseVisibleItems(chart, handler) {\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\n\tvar metadata, i, j, ilen, jlen, element;\n\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\n\t\tmetadata = metasets[i].data;\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\n\t\t\telement = metadata[j];\n\t\t\tif (!element._view.skip) {\n\t\t\t\thandler(element);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Helper function to get the items that intersect the event position\n * @param {ChartElement[]} items - elements to filter\n * @param {object} position - the point to be nearest to\n * @return {ChartElement[]} the nearest items\n */\nfunction getIntersectItems(chart, position) {\n\tvar elements = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (element.inRange(position.x, position.y)) {\n\t\t\telements.push(element);\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\n * @param {Chart} chart - the chart to look at elements from\n * @param {object} position - the point to be nearest to\n * @param {boolean} intersect - if true, only consider items that intersect the position\n * @param {function} distanceMetric - function to provide the distance between points\n * @return {ChartElement[]} the nearest items\n */\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\n\tvar minDistance = Number.POSITIVE_INFINITY;\n\tvar nearestItems = [];\n\n\tparseVisibleItems(chart, function(element) {\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar center = element.getCenterPoint();\n\t\tvar distance = distanceMetric(position, center);\n\t\tif (distance < minDistance) {\n\t\t\tnearestItems = [element];\n\t\t\tminDistance = distance;\n\t\t} else if (distance === minDistance) {\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\n\t\t\tnearestItems.push(element);\n\t\t}\n\t});\n\n\treturn nearestItems;\n}\n\n/**\n * Get a distance metric function for two points based on the\n * axis mode setting\n * @param {string} axis - the axis mode. x|y|xy\n */\nfunction getDistanceMetricForAxis(axis) {\n\tvar useX = axis.indexOf('x') !== -1;\n\tvar useY = axis.indexOf('y') !== -1;\n\n\treturn function(pt1, pt2) {\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n\t};\n}\n\nfunction indexMode(chart, e, options) {\n\tvar position = getRelativePosition(e, chart);\n\t// Default axis for index mode is 'x' to match old behaviour\n\toptions.axis = options.axis || 'x';\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\tvar elements = [];\n\n\tif (!items.length) {\n\t\treturn [];\n\t}\n\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\n\t\tvar element = meta.data[items[0]._index];\n\n\t\t// don't count items that are skipped (null data)\n\t\tif (element && !element._view.skip) {\n\t\t\telements.push(element);\n\t\t}\n\t});\n\n\treturn elements;\n}\n\n/**\n * @interface IInteractionOptions\n */\n/**\n * If true, only consider items that intersect the point\n * @name IInterfaceOptions#boolean\n * @type Boolean\n */\n\n/**\n * Contains interaction related functions\n * @namespace Chart.Interaction\n */\nvar core_interaction = {\n\t// Helper function for different modes\n\tmodes: {\n\t\tsingle: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar elements = [];\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\telements.push(element);\n\t\t\t\t\treturn elements;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn elements.slice(0, 1);\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.label\n\t\t * @deprecated since version 2.4.0\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\tlabel: indexMode,\n\n\t\t/**\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\n\t\t * @function Chart.Interaction.modes.index\n\t\t * @since v2.4.0\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tindex: indexMode,\n\n\t\t/**\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\n\t\t * @function Chart.Interaction.modes.dataset\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use during interaction\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tdataset: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\n\n\t\t\tif (items.length > 0) {\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\n\t\t\t}\n\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * @function Chart.Interaction.modes.x-axis\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\n\t\t * @todo remove at version 3\n\t\t * @private\n\t\t */\n\t\t'x-axis': function(chart, e) {\n\t\t\treturn indexMode(chart, e, {intersect: false});\n\t\t},\n\n\t\t/**\n\t\t * Point mode returns all elements that hit test based on the event position\n\t\t * of the event\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tpoint: function(chart, e) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\treturn getIntersectItems(chart, position);\n\t\t},\n\n\t\t/**\n\t\t * nearest mode returns the element closest to the point\n\t\t * @function Chart.Interaction.modes.intersect\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tnearest: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\toptions.axis = options.axis || 'xy';\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\n\t\t},\n\n\t\t/**\n\t\t * x mode returns the elements that hit-test at the current x coordinate\n\t\t * @function Chart.Interaction.modes.x\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\tx: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inXRange(position.x)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t},\n\n\t\t/**\n\t\t * y mode returns the elements that hit-test at the current y coordinate\n\t\t * @function Chart.Interaction.modes.y\n\t\t * @param {Chart} chart - the chart we are returning items from\n\t\t * @param {Event} e - the event we are find things at\n\t\t * @param {IInteractionOptions} options - options to use\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\n\t\t */\n\t\ty: function(chart, e, options) {\n\t\t\tvar position = getRelativePosition(e, chart);\n\t\t\tvar items = [];\n\t\t\tvar intersectsItem = false;\n\n\t\t\tparseVisibleItems(chart, function(element) {\n\t\t\t\tif (element.inYRange(position.y)) {\n\t\t\t\t\titems.push(element);\n\t\t\t\t}\n\n\t\t\t\tif (element.inRange(position.x, position.y)) {\n\t\t\t\t\tintersectsItem = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If we want to trigger on an intersect and we don't have any items\n\t\t\t// that intersect the position, return nothing\n\t\t\tif (options.intersect && !intersectsItem) {\n\t\t\t\titems = [];\n\t\t\t}\n\t\t\treturn items;\n\t\t}\n\t}\n};\n\nvar extend = helpers$1.extend;\n\nfunction filterByPosition(array, position) {\n\treturn helpers$1.where(array, function(v) {\n\t\treturn v.pos === position;\n\t});\n}\n\nfunction sortByWeight(array, reverse) {\n\treturn array.sort(function(a, b) {\n\t\tvar v0 = reverse ? b : a;\n\t\tvar v1 = reverse ? a : b;\n\t\treturn v0.weight === v1.weight ?\n\t\t\tv0.index - v1.index :\n\t\t\tv0.weight - v1.weight;\n\t});\n}\n\nfunction wrapBoxes(boxes) {\n\tvar layoutBoxes = [];\n\tvar i, ilen, box;\n\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n\t\tbox = boxes[i];\n\t\tlayoutBoxes.push({\n\t\t\tindex: i,\n\t\t\tbox: box,\n\t\t\tpos: box.position,\n\t\t\thorizontal: box.isHorizontal(),\n\t\t\tweight: box.weight\n\t\t});\n\t}\n\treturn layoutBoxes;\n}\n\nfunction setLayoutDims(layouts, params) {\n\tvar i, ilen, layout;\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\n\t\tlayout = layouts[i];\n\t\t// store width used instead of chartArea.w in fitBoxes\n\t\tlayout.width = layout.horizontal\n\t\t\t? layout.box.fullWidth && params.availableWidth\n\t\t\t: params.vBoxMaxWidth;\n\t\t// store height used instead of chartArea.h in fitBoxes\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\n\t}\n}\n\nfunction buildLayoutBoxes(boxes) {\n\tvar layoutBoxes = wrapBoxes(boxes);\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n\n\treturn {\n\t\tleftAndTop: left.concat(top),\n\t\trightAndBottom: right.concat(bottom),\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\n\t\tvertical: left.concat(right),\n\t\thorizontal: top.concat(bottom)\n\t};\n}\n\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\n\nfunction updateDims(chartArea, params, layout) {\n\tvar box = layout.box;\n\tvar maxPadding = chartArea.maxPadding;\n\tvar newWidth, newHeight;\n\n\tif (layout.size) {\n\t\t// this layout was already counted for, lets first reduce old size\n\t\tchartArea[layout.pos] -= layout.size;\n\t}\n\tlayout.size = layout.horizontal ? box.height : box.width;\n\tchartArea[layout.pos] += layout.size;\n\n\tif (box.getPadding) {\n\t\tvar boxPadding = box.getPadding();\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n\t}\n\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\n\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\n\t\tchartArea.w = newWidth;\n\t\tchartArea.h = newHeight;\n\n\t\t// return true if chart area changed in layout's direction\n\t\treturn layout.horizontal ? newWidth !== chartArea.w : newHeight !== chartArea.h;\n\t}\n}\n\nfunction handleMaxPadding(chartArea) {\n\tvar maxPadding = chartArea.maxPadding;\n\n\tfunction updatePos(pos) {\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n\t\tchartArea[pos] += change;\n\t\treturn change;\n\t}\n\tchartArea.y += updatePos('top');\n\tchartArea.x += updatePos('left');\n\tupdatePos('right');\n\tupdatePos('bottom');\n}\n\nfunction getMargins(horizontal, chartArea) {\n\tvar maxPadding = chartArea.maxPadding;\n\n\tfunction marginForPositions(positions) {\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\n\t\tpositions.forEach(function(pos) {\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n\t\t});\n\t\treturn margin;\n\t}\n\n\treturn horizontal\n\t\t? marginForPositions(['left', 'right'])\n\t\t: marginForPositions(['top', 'bottom']);\n}\n\nfunction fitBoxes(boxes, chartArea, params) {\n\tvar refitBoxes = [];\n\tvar i, ilen, layout, box, refit, changed;\n\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\n\t\tlayout = boxes[i];\n\t\tbox = layout.box;\n\n\t\tbox.update(\n\t\t\tlayout.width || chartArea.w,\n\t\t\tlayout.height || chartArea.h,\n\t\t\tgetMargins(layout.horizontal, chartArea)\n\t\t);\n\t\tif (updateDims(chartArea, params, layout)) {\n\t\t\tchanged = true;\n\t\t\tif (refitBoxes.length) {\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\n\t\t\t\t// -> we have to refit those\n\t\t\t\trefit = true;\n\t\t\t}\n\t\t}\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\n\t\t\trefitBoxes.push(layout);\n\t\t}\n\t}\n\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\n}\n\nfunction placeBoxes(boxes, chartArea, params) {\n\tvar userPadding = params.padding;\n\tvar x = chartArea.x;\n\tvar y = chartArea.y;\n\tvar i, ilen, layout, box;\n\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\n\t\tlayout = boxes[i];\n\t\tbox = layout.box;\n\t\tif (layout.horizontal) {\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\n\t\t\tbox.top = y;\n\t\t\tbox.bottom = y + box.height;\n\t\t\tbox.width = box.right - box.left;\n\t\t\ty = box.bottom;\n\t\t} else {\n\t\t\tbox.left = x;\n\t\t\tbox.right = x + box.width;\n\t\t\tbox.top = chartArea.top;\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\n\t\t\tbox.height = box.bottom - box.top;\n\t\t\tx = box.right;\n\t\t}\n\t}\n\n\tchartArea.x = x;\n\tchartArea.y = y;\n}\n\ncore_defaults._set('global', {\n\tlayout: {\n\t\tpadding: {\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tleft: 0\n\t\t}\n\t}\n});\n\n/**\n * @interface ILayoutItem\n * @prop {string} position - The position of the item in the chart layout. Possible values are\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\n * @prop {function} getPadding - Returns an object with padding on the edges\n * @prop {number} width - Width of item. Must be valid after update()\n * @prop {number} height - Height of item. Must be valid after update()\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\n */\n\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\n// It is this service's responsibility of carrying out that layout.\nvar core_layouts = {\n\tdefaults: {},\n\n\t/**\n\t * Register a box to a chart.\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\n\t * @param {Chart} chart - the chart to use\n\t * @param {ILayoutItem} item - the item to add to be layed out\n\t */\n\taddBox: function(chart, item) {\n\t\tif (!chart.boxes) {\n\t\t\tchart.boxes = [];\n\t\t}\n\n\t\t// initialize item with default values\n\t\titem.fullWidth = item.fullWidth || false;\n\t\titem.position = item.position || 'top';\n\t\titem.weight = item.weight || 0;\n\t\titem._layers = item._layers || function() {\n\t\t\treturn [{\n\t\t\t\tz: 0,\n\t\t\t\tdraw: function() {\n\t\t\t\t\titem.draw.apply(item, arguments);\n\t\t\t\t}\n\t\t\t}];\n\t\t};\n\n\t\tchart.boxes.push(item);\n\t},\n\n\t/**\n\t * Remove a layoutItem from a chart\n\t * @param {Chart} chart - the chart to remove the box from\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\n\t */\n\tremoveBox: function(chart, layoutItem) {\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n\t\tif (index !== -1) {\n\t\t\tchart.boxes.splice(index, 1);\n\t\t}\n\t},\n\n\t/**\n\t * Sets (or updates) options on the given `item`.\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\n\t * @param {ILayoutItem} item - the item to configure with the given options\n\t * @param {object} options - the new item options.\n\t */\n\tconfigure: function(chart, item, options) {\n\t\tvar props = ['fullWidth', 'position', 'weight'];\n\t\tvar ilen = props.length;\n\t\tvar i = 0;\n\t\tvar prop;\n\n\t\tfor (; i < ilen; ++i) {\n\t\t\tprop = props[i];\n\t\t\tif (options.hasOwnProperty(prop)) {\n\t\t\t\titem[prop] = options[prop];\n\t\t\t}\n\t\t}\n\t},\n\n\t/**\n\t * Fits boxes of the given chart into the given size by having each box measure itself\n\t * then running a fitting algorithm\n\t * @param {Chart} chart - the chart\n\t * @param {number} width - the width to fit into\n\t * @param {number} height - the height to fit into\n\t */\n\tupdate: function(chart, width, height) {\n\t\tif (!chart) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar layoutOptions = chart.options.layout || {};\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\n\n\t\tvar availableWidth = width - padding.width;\n\t\tvar availableHeight = height - padding.height;\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\n\t\tvar verticalBoxes = boxes.vertical;\n\t\tvar horizontalBoxes = boxes.horizontal;\n\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\n\t\t// Our canvas looks like the following.\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\n\t\t// B1 is the bottom axis\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\n\t\t// an error will be thrown.\n\t\t//\n\t\t// |----------------------------------------------------|\n\t\t// | T1 (Full Width) |\n\t\t// |----------------------------------------------------|\n\t\t// | | | T2 | |\n\t\t// | |----|-------------------------------------|----|\n\t\t// | | | C1 | | C2 | |\n\t\t// | | |----| |----| |\n\t\t// | | | | |\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\n\t\t// | | | | |\n\t\t// | | |----| |----| |\n\t\t// | | | C3 | | C4 | |\n\t\t// | |----|-------------------------------------|----|\n\t\t// | | | B1 | |\n\t\t// |----------------------------------------------------|\n\t\t// | B2 (Full Width) |\n\t\t// |----------------------------------------------------|\n\t\t//\n\n\t\tvar params = Object.freeze({\n\t\t\touterWidth: width,\n\t\t\touterHeight: height,\n\t\t\tpadding: padding,\n\t\t\tavailableWidth: availableWidth,\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\n\t\t\thBoxMaxHeight: availableHeight / 2\n\t\t});\n\t\tvar chartArea = extend({\n\t\t\tmaxPadding: extend({}, padding),\n\t\t\tw: availableWidth,\n\t\t\th: availableHeight,\n\t\t\tx: padding.left,\n\t\t\ty: padding.top\n\t\t}, padding);\n\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n\n\t\t// First fit vertical boxes\n\t\tfitBoxes(verticalBoxes, chartArea, params);\n\n\t\t// Then fit horizontal boxes\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\n\t\t\t// if the area changed, re-fit vertical boxes\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\n\t\t}\n\n\t\thandleMaxPadding(chartArea);\n\n\t\t// Finally place the boxes to correct coordinates\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\n\n\t\t// Move to opposite side of chart\n\t\tchartArea.x += chartArea.w;\n\t\tchartArea.y += chartArea.h;\n\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\n\n\t\tchart.chartArea = {\n\t\t\tleft: chartArea.left,\n\t\t\ttop: chartArea.top,\n\t\t\tright: chartArea.left + chartArea.w,\n\t\t\tbottom: chartArea.top + chartArea.h\n\t\t};\n\n\t\t// Finally update boxes in chartArea (radial scale for example)\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\n\t\t\tvar box = layout.box;\n\t\t\textend(box, chart.chartArea);\n\t\t\tbox.update(chartArea.w, chartArea.h);\n\t\t});\n\t}\n};\n\n/**\n * Platform fallback implementation (minimal).\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\n */\n\nvar platform_basic = {\n\tacquireContext: function(item) {\n\t\tif (item && item.canvas) {\n\t\t\t// Support for any object associated to a canvas (including a context2d)\n\t\t\titem = item.canvas;\n\t\t}\n\n\t\treturn item && item.getContext('2d') || null;\n\t}\n};\n\nvar platform_dom = \"/*\\n * DOM element rendering detection\\n * https://davidwalsh.name/detect-node-insertion\\n */\\n@keyframes chartjs-render-animation {\\n\\tfrom { opacity: 0.99; }\\n\\tto { opacity: 1; }\\n}\\n\\n.chartjs-render-monitor {\\n\\tanimation: chartjs-render-animation 0.001s;\\n}\\n\\n/*\\n * DOM element resizing detection\\n * https://github.com/marcj/css-element-queries\\n */\\n.chartjs-size-monitor,\\n.chartjs-size-monitor-expand,\\n.chartjs-size-monitor-shrink {\\n\\tposition: absolute;\\n\\tdirection: ltr;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\toverflow: hidden;\\n\\tpointer-events: none;\\n\\tvisibility: hidden;\\n\\tz-index: -1;\\n}\\n\\n.chartjs-size-monitor-expand > div {\\n\\tposition: absolute;\\n\\twidth: 1000000px;\\n\\theight: 1000000px;\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n.chartjs-size-monitor-shrink > div {\\n\\tposition: absolute;\\n\\twidth: 200%;\\n\\theight: 200%;\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\nvar CSS_PREFIX = 'chartjs-';\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\n\n/**\n * DOM event types -> Chart.js event types.\n * Note: only events with different types are mapped.\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\n */\nvar EVENT_TYPES = {\n\ttouchstart: 'mousedown',\n\ttouchmove: 'mousemove',\n\ttouchend: 'mouseup',\n\tpointerenter: 'mouseenter',\n\tpointerdown: 'mousedown',\n\tpointermove: 'mousemove',\n\tpointerup: 'mouseup',\n\tpointerleave: 'mouseout',\n\tpointerout: 'mouseout'\n};\n\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns {number} Size in pixels or undefined if unknown.\n */\nfunction readUsedSize(element, property) {\n\tvar value = helpers$1.getStyle(element, property);\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n\treturn matches ? Number(matches[1]) : undefined;\n}\n\n/**\n * Initializes the canvas style and render size without modifying the canvas display size,\n * since responsiveness is handled by the controller.resize() method. The config is used\n * to determine the aspect ratio to apply in case no explicit height has been specified.\n */\nfunction initCanvas(canvas, config) {\n\tvar style = canvas.style;\n\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\n\tvar renderHeight = canvas.getAttribute('height');\n\tvar renderWidth = canvas.getAttribute('width');\n\n\t// Chart.js modifies some canvas values that we want to restore on destroy\n\tcanvas[EXPANDO_KEY] = {\n\t\tinitial: {\n\t\t\theight: renderHeight,\n\t\t\twidth: renderWidth,\n\t\t\tstyle: {\n\t\t\t\tdisplay: style.display,\n\t\t\t\theight: style.height,\n\t\t\t\twidth: style.width\n\t\t\t}\n\t\t}\n\t};\n\n\t// Force canvas to display as block to avoid extra space caused by inline\n\t// elements, which would interfere with the responsive resize process.\n\t// https://github.com/chartjs/Chart.js/issues/2538\n\tstyle.display = style.display || 'block';\n\n\tif (renderWidth === null || renderWidth === '') {\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\n\t\tif (displayWidth !== undefined) {\n\t\t\tcanvas.width = displayWidth;\n\t\t}\n\t}\n\n\tif (renderHeight === null || renderHeight === '') {\n\t\tif (canvas.style.height === '') {\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\n\t\t\t// which one can be specified by the user but also by charts as default option\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\n\t\t} else {\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\n\t\t\tif (displayWidth !== undefined) {\n\t\t\t\tcanvas.height = displayHeight;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn canvas;\n}\n\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */\nvar supportsEventListenerOptions = (function() {\n\tvar supports = false;\n\ttry {\n\t\tvar options = Object.defineProperty({}, 'passive', {\n\t\t\t// eslint-disable-next-line getter-return\n\t\t\tget: function() {\n\t\t\t\tsupports = true;\n\t\t\t}\n\t\t});\n\t\twindow.addEventListener('e', null, options);\n\t} catch (e) {\n\t\t// continue regardless of error\n\t}\n\treturn supports;\n}());\n\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\n// https://github.com/chartjs/Chart.js/issues/4287\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\n\nfunction addListener(node, type, listener) {\n\tnode.addEventListener(type, listener, eventListenerOptions);\n}\n\nfunction removeListener(node, type, listener) {\n\tnode.removeEventListener(type, listener, eventListenerOptions);\n}\n\nfunction createEvent(type, chart, x, y, nativeEvent) {\n\treturn {\n\t\ttype: type,\n\t\tchart: chart,\n\t\tnative: nativeEvent || null,\n\t\tx: x !== undefined ? x : null,\n\t\ty: y !== undefined ? y : null,\n\t};\n}\n\nfunction fromNativeEvent(event, chart) {\n\tvar type = EVENT_TYPES[event.type] || event.type;\n\tvar pos = helpers$1.getRelativePosition(event, chart);\n\treturn createEvent(type, chart, pos.x, pos.y, event);\n}\n\nfunction throttled(fn, thisArg) {\n\tvar ticking = false;\n\tvar args = [];\n\n\treturn function() {\n\t\targs = Array.prototype.slice.call(arguments);\n\t\tthisArg = thisArg || this;\n\n\t\tif (!ticking) {\n\t\t\tticking = true;\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\n\t\t\t\tticking = false;\n\t\t\t\tfn.apply(thisArg, args);\n\t\t\t});\n\t\t}\n\t};\n}\n\nfunction createDiv(cls) {\n\tvar el = document.createElement('div');\n\tel.className = cls || '';\n\treturn el;\n}\n\n// Implementation based on https://github.com/marcj/css-element-queries\nfunction createResizer(handler) {\n\tvar maxSize = 1000000;\n\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\n\t// https://github.com/chartjs/Chart.js/issues/5902\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\n\n\texpand.appendChild(createDiv());\n\tshrink.appendChild(createDiv());\n\n\tresizer.appendChild(expand);\n\tresizer.appendChild(shrink);\n\tresizer._reset = function() {\n\t\texpand.scrollLeft = maxSize;\n\t\texpand.scrollTop = maxSize;\n\t\tshrink.scrollLeft = maxSize;\n\t\tshrink.scrollTop = maxSize;\n\t};\n\n\tvar onScroll = function() {\n\t\tresizer._reset();\n\t\thandler();\n\t};\n\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\n\n\treturn resizer;\n}\n\n// https://davidwalsh.name/detect-node-insertion\nfunction watchForRender(node, handler) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\tvar proxy = expando.renderProxy = function(e) {\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\n\t\t\thandler();\n\t\t}\n\t};\n\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\n\t\taddListener(node, type, proxy);\n\t});\n\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\n\t// is removed then added back immediately (same animation frame?). Accessing the\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\n\t// https://github.com/chartjs/Chart.js/issues/4737\n\texpando.reflow = !!node.offsetParent;\n\n\tnode.classList.add(CSS_RENDER_MONITOR);\n}\n\nfunction unwatchForRender(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar proxy = expando.renderProxy;\n\n\tif (proxy) {\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\n\t\t\tremoveListener(node, type, proxy);\n\t\t});\n\n\t\tdelete expando.renderProxy;\n\t}\n\n\tnode.classList.remove(CSS_RENDER_MONITOR);\n}\n\nfunction addResizeListener(node, listener, chart) {\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\n\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\n\t\tif (expando.resizer) {\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\n\t\t\tvar w = container ? container.clientWidth : 0;\n\t\t\tlistener(createEvent('resize', chart));\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\n\t\t\t\t// If the container size shrank during chart resize, let's assume\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\n\t\t\t\t// events are ignored during this whole 2 resize process.\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\n\t\t\t\t// twice in a frame (potential performance issue)\n\t\t\t\tlistener(createEvent('resize', chart));\n\t\t\t}\n\t\t}\n\t}));\n\n\t// The resizer needs to be attached to the node parent, so we first need to be\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\n\twatchForRender(node, function() {\n\t\tif (expando.resizer) {\n\t\t\tvar container = node.parentNode;\n\t\t\tif (container && container !== resizer.parentNode) {\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\n\t\t\t}\n\n\t\t\t// The container size might have changed, let's reset the resizer state.\n\t\t\tresizer._reset();\n\t\t}\n\t});\n}\n\nfunction removeResizeListener(node) {\n\tvar expando = node[EXPANDO_KEY] || {};\n\tvar resizer = expando.resizer;\n\n\tdelete expando.resizer;\n\tunwatchForRender(node);\n\n\tif (resizer && resizer.parentNode) {\n\t\tresizer.parentNode.removeChild(resizer);\n\t}\n}\n\n/**\n * Injects CSS styles inline if the styles are not already present.\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the