Linux aries.aptans.com 4.18.0-348.20.1.lve.1.el8.x86_64 #1 SMP Wed Mar 16 08:45:39 EDT 2022 x86_64
Apache
: 135.181.142.107 | : 172.71.255.133
Cant Read [ /etc/named.conf ]
7.4.33
aja
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
aja /
moodledata /
localcache /
requirejs /
[ HOME SHELL ]
Name
Size
Permission
Action
14796ae68a9712c35cda5b4ca8ac14...
2.03
MB
-rw-rw-rw-
265bcba919ecae8a3eabd5a5177729...
2.03
MB
-rw-rw-rw-
2b27232b718e525d54b3ff43b927c6...
2.03
MB
-rw-rw-rw-
337e5daf544e3a4166364b9eb7c840...
2.03
MB
-rw-rw-rw-
37af87a341f8dab4c2e66944682315...
2.03
MB
-rw-rw-rw-
41feb10c5240dd5818aa13c9c62d0d...
2.03
MB
-rw-rw-rw-
554112893561976efc7368f0e82ec0...
2.03
MB
-rw-rw-rw-
65af62960badf86d1fc5514853b274...
2.03
MB
-rw-rw-rw-
69f8725793a26bdf8264745af502c3...
690.53
KB
-rw-rw-rw-
80f95e08193e35065c3bc8a1ce2fd6...
2.03
MB
-rw-rw-rw-
9b3c4467353442848ac6493a97a686...
295.88
KB
-rw-rw-rw-
a6de598f1808ec387671dafb63d313...
2.03
MB
-rw-rw-rw-
b05d4a21ef85d8a7bff44744b1763f...
2.03
MB
-rw-rw-rw-
b11fd55a65d094ff4b8c6a2f61c06f...
2.03
MB
-rw-rw-rw-
b1c92964cf897f371f312f801627c7...
2.03
MB
-rw-rw-rw-
bfcc85174955ed64b213cb8d535de6...
2.03
MB
-rw-rw-rw-
d8c9b0433acdcff664bf5cd050d485...
276.55
KB
-rw-rw-rw-
f3d6ccbfafb64d1026dd34c43d1959...
2.03
MB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : 9b3c4467353442848ac6493a97a6860ed2a7fcbd
function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}!function(f){if("object"===("undefined"==typeof exports?"undefined":_typeof(exports))&&"undefined"!=typeof module)module.exports=f();else if("function"==typeof define&&define.amd)define("core/chartjs-lazy",[],f);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Chart=f()}}((function(){return function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,(function(e){var n=t[o][1][e];return s(n||e)}),l,l.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module,exports){var colorNames=require(5);function getRgba(string){if(string){var rgb=[0,0,0],a=1,match=string.match(/^#([a-fA-F0-9]{3})$/i);if(match){match=match[1];for(var i=0;i<rgb.length;i++)rgb[i]=parseInt(match[i]+match[i],16)}else if(match=string.match(/^#([a-fA-F0-9]{6})$/i)){match=match[1];for(i=0;i<rgb.length;i++)rgb[i]=parseInt(match.slice(2*i,2*i+2),16)}else if(match=string.match(/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(i=0;i<rgb.length;i++)rgb[i]=parseInt(match[i+1]);a=parseFloat(match[4])}else if(match=string.match(/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i)){for(i=0;i<rgb.length;i++)rgb[i]=Math.round(2.55*parseFloat(match[i+1]));a=parseFloat(match[4])}else if(match=string.match(/(\w+)/)){if("transparent"==match[1])return[0,0,0,0];if(!(rgb=colorNames[match[1]]))return}for(i=0;i<rgb.length;i++)rgb[i]=scale(rgb[i],0,255);return a=a||0==a?scale(a,0,1):1,rgb[3]=a,rgb}}function getHsla(string){if(string){var match=string.match(/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(match){var alpha=parseFloat(match[4]);return[scale(parseInt(match[1]),0,360),scale(parseFloat(match[2]),0,100),scale(parseFloat(match[3]),0,100),scale(isNaN(alpha)?1:alpha,0,1)]}}}function getHwb(string){if(string){var match=string.match(/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/);if(match){var alpha=parseFloat(match[4]);return[scale(parseInt(match[1]),0,360),scale(parseFloat(match[2]),0,100),scale(parseFloat(match[3]),0,100),scale(isNaN(alpha)?1:alpha,0,1)]}}}function rgbaString(rgba,alpha){return void 0===alpha&&(alpha=void 0!==rgba[3]?rgba[3]:1),"rgba("+rgba[0]+", "+rgba[1]+", "+rgba[2]+", "+alpha+")"}function percentaString(rgba,alpha){return"rgba("+Math.round(rgba[0]/255*100)+"%, "+Math.round(rgba[1]/255*100)+"%, "+Math.round(rgba[2]/255*100)+"%, "+(alpha||rgba[3]||1)+")"}function hslaString(hsla,alpha){return void 0===alpha&&(alpha=void 0!==hsla[3]?hsla[3]:1),"hsla("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%, "+alpha+")"}function scale(num,min,max){return Math.min(Math.max(min,num),max)}function hexDouble(num){var str=num.toString(16).toUpperCase();return str.length<2?"0"+str:str}module.exports={getRgba:getRgba,getHsla:getHsla,getRgb:function(string){var rgba=getRgba(string);return rgba&&rgba.slice(0,3)},getHsl:function(string){var hsla=getHsla(string);return hsla&&hsla.slice(0,3)},getHwb:getHwb,getAlpha:function(string){var vals=getRgba(string);if(vals)return vals[3];if(vals=getHsla(string))return vals[3];if(vals=getHwb(string))return vals[3]},hexString:function(rgb){return"#"+hexDouble(rgb[0])+hexDouble(rgb[1])+hexDouble(rgb[2])},rgbString:function(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1)return rgbaString(rgba,alpha);return"rgb("+rgba[0]+", "+rgba[1]+", "+rgba[2]+")"},rgbaString:rgbaString,percentString:function(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1)return percentaString(rgba,alpha);var r=Math.round(rgba[0]/255*100),g=Math.round(rgba[1]/255*100),b=Math.round(rgba[2]/255*100);return"rgb("+r+"%, "+g+"%, "+b+"%)"},percentaString:percentaString,hslString:function(hsla,alpha){if(alpha<1||hsla[3]&&hsla[3]<1)return hslaString(hsla,alpha);return"hsl("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%)"},hslaString:hslaString,hwbString:function(hwb,alpha){void 0===alpha&&(alpha=void 0!==hwb[3]?hwb[3]:1);return"hwb("+hwb[0]+", "+hwb[1]+"%, "+hwb[2]+"%"+(void 0!==alpha&&1!==alpha?", "+alpha:"")+")"},keyword:function(rgb){return reverseNames[rgb.slice(0,3)]}};var reverseNames={};for(var name in colorNames)reverseNames[colorNames[name]]=name},{5:5}],2:[function(require,module,exports){var convert=require(4),string=require(1),Color=function Color(obj){return obj instanceof Color?obj:this instanceof Color?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void("string"==typeof obj?(vals=string.getRgba(obj))?this.setValues("rgb",vals):(vals=string.getHsla(obj))?this.setValues("hsl",vals):(vals=string.getHwb(obj))&&this.setValues("hwb",vals):"object"===_typeof(obj)&&(void 0!==(vals=obj).r||void 0!==vals.red?this.setValues("rgb",vals):void 0!==vals.l||void 0!==vals.lightness?this.setValues("hsl",vals):void 0!==vals.v||void 0!==vals.value?this.setValues("hsv",vals):void 0!==vals.w||void 0!==vals.whiteness?this.setValues("hwb",vals):void 0===vals.c&&void 0===vals.cyan||this.setValues("cmyk",vals)))):new Color(obj);var vals};(Color.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace("rgb",arguments)},hsl:function(){return this.setSpace("hsl",arguments)},hsv:function(){return this.setSpace("hsv",arguments)},hwb:function(){return this.setSpace("hwb",arguments)},cmyk:function(){return this.setSpace("cmyk",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var values=this.values;return 1!==values.alpha?values.hwb.concat([values.alpha]):values.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var values=this.values;return values.rgb.concat([values.alpha])},hslaArray:function(){var values=this.values;return values.hsl.concat([values.alpha])},alpha:function(val){return void 0===val?this.values.alpha:(this.setValues("alpha",val),this)},red:function(val){return this.setChannel("rgb",0,val)},green:function(val){return this.setChannel("rgb",1,val)},blue:function(val){return this.setChannel("rgb",2,val)},hue:function(val){return val&&(val=(val%=360)<0?360+val:val),this.setChannel("hsl",0,val)},saturation:function(val){return this.setChannel("hsl",1,val)},lightness:function(val){return this.setChannel("hsl",2,val)},saturationv:function(val){return this.setChannel("hsv",1,val)},whiteness:function(val){return this.setChannel("hwb",1,val)},blackness:function(val){return this.setChannel("hwb",2,val)},value:function(val){return this.setChannel("hsv",2,val)},cyan:function(val){return this.setChannel("cmyk",0,val)},magenta:function(val){return this.setChannel("cmyk",1,val)},yellow:function(val){return this.setChannel("cmyk",2,val)},black:function(val){return this.setChannel("cmyk",3,val)},hexString:function(){return string.hexString(this.values.rgb)},rgbString:function(){return string.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return string.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return string.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return string.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return string.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return string.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return string.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var rgb=this.values.rgb;return rgb[0]<<16|rgb[1]<<8|rgb[2]},luminosity:function(){for(var rgb=this.values.rgb,lum=[],i=0;i<rgb.length;i++){var chan=rgb[i]/255;lum[i]=chan<=.03928?chan/12.92:Math.pow((chan+.055)/1.055,2.4)}return.2126*lum[0]+.7152*lum[1]+.0722*lum[2]},contrast:function(color2){var lum1=this.luminosity(),lum2=color2.luminosity();return lum1>lum2?(lum1+.05)/(lum2+.05):(lum2+.05)/(lum1+.05)},level:function(color2){var contrastRatio=this.contrast(color2);return contrastRatio>=7.1?"AAA":contrastRatio>=4.5?"AA":""},dark:function(){var rgb=this.values.rgb;return(299*rgb[0]+587*rgb[1]+114*rgb[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var rgb=[],i=0;i<3;i++)rgb[i]=255-this.values.rgb[i];return this.setValues("rgb",rgb),this},lighten:function(ratio){var hsl=this.values.hsl;return hsl[2]+=hsl[2]*ratio,this.setValues("hsl",hsl),this},darken:function(ratio){var hsl=this.values.hsl;return hsl[2]-=hsl[2]*ratio,this.setValues("hsl",hsl),this},saturate:function(ratio){var hsl=this.values.hsl;return hsl[1]+=hsl[1]*ratio,this.setValues("hsl",hsl),this},desaturate:function(ratio){var hsl=this.values.hsl;return hsl[1]-=hsl[1]*ratio,this.setValues("hsl",hsl),this},whiten:function(ratio){var hwb=this.values.hwb;return hwb[1]+=hwb[1]*ratio,this.setValues("hwb",hwb),this},blacken:function(ratio){var hwb=this.values.hwb;return hwb[2]+=hwb[2]*ratio,this.setValues("hwb",hwb),this},greyscale:function(){var rgb=this.values.rgb,val=.3*rgb[0]+.59*rgb[1]+.11*rgb[2];return this.setValues("rgb",[val,val,val]),this},clearer:function(ratio){var alpha=this.values.alpha;return this.setValues("alpha",alpha-alpha*ratio),this},opaquer:function(ratio){var alpha=this.values.alpha;return this.setValues("alpha",alpha+alpha*ratio),this},rotate:function(degrees){var hsl=this.values.hsl,hue=(hsl[0]+degrees)%360;return hsl[0]=hue<0?360+hue:hue,this.setValues("hsl",hsl),this},mix:function(mixinColor,weight){var color2=mixinColor,p=void 0===weight?.5:weight,w=2*p-1,a=this.alpha()-color2.alpha(),w1=((w*a==-1?w:(w+a)/(1+w*a))+1)/2,w2=1-w1;return this.rgb(w1*this.red()+w2*color2.red(),w1*this.green()+w2*color2.green(),w1*this.blue()+w2*color2.blue()).alpha(this.alpha()*p+color2.alpha()*(1-p))},toJSON:function(){return this.rgb()},clone:function(){var value,type,result=new Color,source=this.values,target=result.values;for(var prop in source)source.hasOwnProperty(prop)&&(value=source[prop],"[object Array]"===(type={}.toString.call(value))?target[prop]=value.slice(0):"[object Number]"===type?target[prop]=value:console.error("unexpected color value:",value));return result}}).spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},Color.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},Color.prototype.getValues=function(space){for(var values=this.values,vals={},i=0;i<space.length;i++)vals[space.charAt(i)]=values[space][i];return 1!==values.alpha&&(vals.a=values.alpha),vals},Color.prototype.setValues=function(space,vals){var i,capped,values=this.values,spaces=this.spaces,maxes=this.maxes,alpha=1;if(this.valid=!0,"alpha"===space)alpha=vals;else if(vals.length)values[space]=vals.slice(0,space.length),alpha=vals[space.length];else if(void 0!==vals[space.charAt(0)]){for(i=0;i<space.length;i++)values[space][i]=vals[space.charAt(i)];alpha=vals.a}else if(void 0!==vals[spaces[space][0]]){var chans=spaces[space];for(i=0;i<space.length;i++)values[space][i]=vals[chans[i]];alpha=vals.alpha}if(values.alpha=Math.max(0,Math.min(1,void 0===alpha?values.alpha:alpha)),"alpha"===space)return!1;for(i=0;i<space.length;i++)capped=Math.max(0,Math.min(maxes[space][i],values[space][i])),values[space][i]=Math.round(capped);for(var sname in spaces)sname!==space&&(values[sname]=convert[space][sname](values[space]));return!0},Color.prototype.setSpace=function(space,args){var vals=args[0];return void 0===vals?this.getValues(space):("number"==typeof vals&&(vals=Array.prototype.slice.call(args)),this.setValues(space,vals),this)},Color.prototype.setChannel=function(space,index,val){var svalues=this.values[space];return void 0===val?svalues[index]:(val===svalues[index]||(svalues[index]=val,this.setValues(space,svalues)),this)},"undefined"!=typeof window&&(window.Color=Color),module.exports=Color},{1:1,4:4}],3:[function(require,module,exports){function rgb2hsl(rgb){var h,l,r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min;return max==min?h=0:r==max?h=(g-b)/delta:g==max?h=2+(b-r)/delta:b==max&&(h=4+(r-g)/delta),(h=Math.min(60*h,360))<0&&(h+=360),l=(min+max)/2,[h,100*(max==min?0:l<=.5?delta/(max+min):delta/(2-max-min)),100*l]}function rgb2hsv(rgb){var h,s,r=rgb[0],g=rgb[1],b=rgb[2],min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min;return s=0==max?0:delta/max*1e3/10,max==min?h=0:r==max?h=(g-b)/delta:g==max?h=2+(b-r)/delta:b==max&&(h=4+(r-g)/delta),(h=Math.min(60*h,360))<0&&(h+=360),[h,s,max/255*1e3/10]}function rgb2hwb(rgb){var r=rgb[0],g=rgb[1],b=rgb[2];return[rgb2hsl(rgb)[0],100*(1/255*Math.min(r,Math.min(g,b))),100*(b=1-1/255*Math.max(r,Math.max(g,b)))]}function rgb2cmyk(rgb){var k,r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255;return[100*((1-r-(k=Math.min(1-r,1-g,1-b)))/(1-k)||0),100*((1-g-k)/(1-k)||0),100*((1-b-k)/(1-k)||0),100*k]}function rgb2keyword(rgb){return reverseKeywords[JSON.stringify(rgb)]}function rgb2xyz(rgb){var r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255;return[100*(.4124*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.3576*(g=g>.04045?Math.pow((g+.055)/1.055,2.4):g/12.92)+.1805*(b=b>.04045?Math.pow((b+.055)/1.055,2.4):b/12.92)),100*(.2126*r+.7152*g+.0722*b),100*(.0193*r+.1192*g+.9505*b)]}function rgb2lab(rgb){var xyz=rgb2xyz(rgb),x=xyz[0],y=xyz[1],z=xyz[2];return y/=100,z/=108.883,x=(x/=95.047)>.008856?Math.pow(x,1/3):7.787*x+16/116,[116*(y=y>.008856?Math.pow(y,1/3):7.787*y+16/116)-16,500*(x-y),200*(y-(z=z>.008856?Math.pow(z,1/3):7.787*z+16/116))]}function hsl2rgb(hsl){var t1,t2,t3,rgb,val,h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100;if(0==s)return[val=255*l,val,val];t1=2*l-(t2=l<.5?l*(1+s):l+s-l*s),rgb=[0,0,0];for(var i=0;i<3;i++)(t3=h+1/3*-(i-1))<0&&t3++,t3>1&&t3--,val=6*t3<1?t1+6*(t2-t1)*t3:2*t3<1?t2:3*t3<2?t1+(t2-t1)*(2/3-t3)*6:t1,rgb[i]=255*val;return rgb}function hsv2rgb(hsv){var h=hsv[0]/60,s=hsv[1]/100,v=hsv[2]/100,hi=Math.floor(h)%6,f=h-Math.floor(h),p=255*v*(1-s),q=255*v*(1-s*f),t=255*v*(1-s*(1-f));v*=255;switch(hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}}function hwb2rgb(hwb){var i,v,f,n,h=hwb[0]/360,wh=hwb[1]/100,bl=hwb[2]/100,ratio=wh+bl;switch(ratio>1&&(wh/=ratio,bl/=ratio),f=6*h-(i=Math.floor(6*h)),0!=(1&i)&&(f=1-f),n=wh+f*((v=1-bl)-wh),i){default:case 6:case 0:r=v,g=n,b=wh;break;case 1:r=n,g=v,b=wh;break;case 2:r=wh,g=v,b=n;break;case 3:r=wh,g=n,b=v;break;case 4:r=n,g=wh,b=v;break;case 5:r=v,g=wh,b=n}return[255*r,255*g,255*b]}function cmyk2rgb(cmyk){var c=cmyk[0]/100,m=cmyk[1]/100,y=cmyk[2]/100,k=cmyk[3]/100;return[255*(1-Math.min(1,c*(1-k)+k)),255*(1-Math.min(1,m*(1-k)+k)),255*(1-Math.min(1,y*(1-k)+k))]}function xyz2rgb(xyz){var r,g,b,x=xyz[0]/100,y=xyz[1]/100,z=xyz[2]/100;return g=-.9689*x+1.8758*y+.0415*z,b=.0557*x+-.204*y+1.057*z,r=(r=3.2406*x+-1.5372*y+-.4986*z)>.0031308?1.055*Math.pow(r,1/2.4)-.055:r*=12.92,g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:g*=12.92,b=b>.0031308?1.055*Math.pow(b,1/2.4)-.055:b*=12.92,[255*(r=Math.min(Math.max(0,r),1)),255*(g=Math.min(Math.max(0,g),1)),255*(b=Math.min(Math.max(0,b),1))]}function xyz2lab(xyz){var x=xyz[0],y=xyz[1],z=xyz[2];return y/=100,z/=108.883,x=(x/=95.047)>.008856?Math.pow(x,1/3):7.787*x+16/116,[116*(y=y>.008856?Math.pow(y,1/3):7.787*y+16/116)-16,500*(x-y),200*(y-(z=z>.008856?Math.pow(z,1/3):7.787*z+16/116))]}function lab2xyz(lab){var x,y,z,y2,l=lab[0],a=lab[1],b=lab[2];return l<=8?y2=(y=100*l/903.3)/100*7.787+16/116:(y=100*Math.pow((l+16)/116,3),y2=Math.pow(y/100,1/3)),[x=x/95.047<=.008856?x=95.047*(a/500+y2-16/116)/7.787:95.047*Math.pow(a/500+y2,3),y,z=z/108.883<=.008859?z=108.883*(y2-b/200-16/116)/7.787:108.883*Math.pow(y2-b/200,3)]}function lab2lch(lab){var h,l=lab[0],a=lab[1],b=lab[2];return(h=360*Math.atan2(b,a)/2/Math.PI)<0&&(h+=360),[l,Math.sqrt(a*a+b*b),h]}function lab2rgb(args){return xyz2rgb(lab2xyz(args))}function lch2lab(lch){var hr,l=lch[0],c=lch[1];return hr=lch[2]/360*2*Math.PI,[l,c*Math.cos(hr),c*Math.sin(hr)]}function keyword2rgb(keyword){return cssKeywords[keyword]}module.exports={rgb2hsl:rgb2hsl,rgb2hsv:rgb2hsv,rgb2hwb:rgb2hwb,rgb2cmyk:rgb2cmyk,rgb2keyword:rgb2keyword,rgb2xyz:rgb2xyz,rgb2lab:rgb2lab,rgb2lch:function(args){return lab2lch(rgb2lab(args))},hsl2rgb:hsl2rgb,hsl2hsv:function(hsl){var h=hsl[0],s=hsl[1]/100,l=hsl[2]/100;if(0===l)return[0,0,0];return[h,100*(2*(s*=(l*=2)<=1?l:2-l)/(l+s)),100*((l+s)/2)]},hsl2hwb:function(args){return rgb2hwb(hsl2rgb(args))},hsl2cmyk:function(args){return rgb2cmyk(hsl2rgb(args))},hsl2keyword:function(args){return rgb2keyword(hsl2rgb(args))},hsv2rgb:hsv2rgb,hsv2hsl:function(hsv){var sl,l,h=hsv[0],s=hsv[1]/100,v=hsv[2]/100;return sl=s*v,[h,100*(sl=(sl/=(l=(2-s)*v)<=1?l:2-l)||0),100*(l/=2)]},hsv2hwb:function(args){return rgb2hwb(hsv2rgb(args))},hsv2cmyk:function(args){return rgb2cmyk(hsv2rgb(args))},hsv2keyword:function(args){return rgb2keyword(hsv2rgb(args))},hwb2rgb:hwb2rgb,hwb2hsl:function(args){return rgb2hsl(hwb2rgb(args))},hwb2hsv:function(args){return rgb2hsv(hwb2rgb(args))},hwb2cmyk:function(args){return rgb2cmyk(hwb2rgb(args))},hwb2keyword:function(args){return rgb2keyword(hwb2rgb(args))},cmyk2rgb:cmyk2rgb,cmyk2hsl:function(args){return rgb2hsl(cmyk2rgb(args))},cmyk2hsv:function(args){return rgb2hsv(cmyk2rgb(args))},cmyk2hwb:function(args){return rgb2hwb(cmyk2rgb(args))},cmyk2keyword:function(args){return rgb2keyword(cmyk2rgb(args))},keyword2rgb:keyword2rgb,keyword2hsl:function(args){return rgb2hsl(keyword2rgb(args))},keyword2hsv:function(args){return rgb2hsv(keyword2rgb(args))},keyword2hwb:function(args){return rgb2hwb(keyword2rgb(args))},keyword2cmyk:function(args){return rgb2cmyk(keyword2rgb(args))},keyword2lab:function(args){return rgb2lab(keyword2rgb(args))},keyword2xyz:function(args){return rgb2xyz(keyword2rgb(args))},xyz2rgb:xyz2rgb,xyz2lab:xyz2lab,xyz2lch:function(args){return lab2lch(xyz2lab(args))},lab2xyz:lab2xyz,lab2rgb:lab2rgb,lab2lch:lab2lch,lch2lab:lch2lab,lch2xyz:function(args){return lab2xyz(lch2lab(args))},lch2rgb:function(args){return lab2rgb(lch2lab(args))}};var cssKeywords={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},reverseKeywords={};for(var key in cssKeywords)reverseKeywords[JSON.stringify(cssKeywords[key])]=key},{}],4:[function(require,module,exports){var conversions=require(3),convert=function(){return new Converter};for(var func in conversions){convert[func+"Raw"]=function(func){return function(arg){return"number"==typeof arg&&(arg=Array.prototype.slice.call(arguments)),conversions[func](arg)}}(func);var pair=/(\w+)2(\w+)/.exec(func),from=pair[1],to=pair[2];(convert[from]=convert[from]||{})[to]=convert[func]=function(func){return function(arg){"number"==typeof arg&&(arg=Array.prototype.slice.call(arguments));var val=conversions[func](arg);if("string"==typeof val||void 0===val)return val;for(var i=0;i<val.length;i++)val[i]=Math.round(val[i]);return val}}(func)}var Converter=function(){this.convs={}};Converter.prototype.routeSpace=function(space,args){var values=args[0];return void 0===values?this.getValues(space):("number"==typeof values&&(values=Array.prototype.slice.call(args)),this.setValues(space,values))},Converter.prototype.setValues=function(space,values){return this.space=space,this.convs={},this.convs[space]=values,this},Converter.prototype.getValues=function(space){var vals=this.convs[space];if(!vals){var fspace=this.space,from=this.convs[fspace];vals=convert[fspace][space](from),this.convs[space]=vals}return vals},["rgb","hsl","hsv","cmyk","keyword"].forEach((function(space){Converter.prototype[space]=function(vals){return this.routeSpace(space,arguments)}})),module.exports=convert},{3:3}],5:[function(require,module,exports){module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],6:[function(require,module,exports){!function(global,factory){"object"===_typeof(exports)&&void 0!==module?module.exports=factory():global.moment=factory()}(this,(function(){var hookCallback;function hooks(){return hookCallback.apply(null,arguments)}function isArray(input){return input instanceof Array||"[object Array]"===Object.prototype.toString.call(input)}function isObject(input){return null!=input&&"[object Object]"===Object.prototype.toString.call(input)}function isUndefined(input){return void 0===input}function isNumber(input){return"number"==typeof input||"[object Number]"===Object.prototype.toString.call(input)}function isDate(input){return input instanceof Date||"[object Date]"===Object.prototype.toString.call(input)}function map(arr,fn){var i,res=[];for(i=0;i<arr.length;++i)res.push(fn(arr[i],i));return res}function hasOwnProp(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function extend(a,b){for(var i in b)hasOwnProp(b,i)&&(a[i]=b[i]);return hasOwnProp(b,"toString")&&(a.toString=b.toString),hasOwnProp(b,"valueOf")&&(a.valueOf=b.valueOf),a}function createUTC(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!0).utc()}function getParsingFlags(m){return null==m._pf&&(m._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),m._pf}var some$1=Array.prototype.some?Array.prototype.some:function(fun){for(var t=Object(this),len=t.length>>>0,i=0;i<len;i++)if(i in t&&fun.call(this,t[i],i,t))return!0;return!1};function isValid(m){if(null==m._isValid){var flags=getParsingFlags(m),parsedParts=some$1.call(flags.parsedDateParts,(function(i){return null!=i})),isNowValid=!isNaN(m._d.getTime())&&flags.overflow<0&&!flags.empty&&!flags.invalidMonth&&!flags.invalidWeekday&&!flags.nullInput&&!flags.invalidFormat&&!flags.userInvalidated&&(!flags.meridiem||flags.meridiem&&parsedParts);if(m._strict&&(isNowValid=isNowValid&&0===flags.charsLeftOver&&0===flags.unusedTokens.length&&void 0===flags.bigHour),null!=Object.isFrozen&&Object.isFrozen(m))return isNowValid;m._isValid=isNowValid}return m._isValid}function createInvalid(flags){var m=createUTC(NaN);return null!=flags?extend(getParsingFlags(m),flags):getParsingFlags(m).userInvalidated=!0,m}var momentProperties=hooks.momentProperties=[];function copyConfig(to,from){var i,prop,val;if(isUndefined(from._isAMomentObject)||(to._isAMomentObject=from._isAMomentObject),isUndefined(from._i)||(to._i=from._i),isUndefined(from._f)||(to._f=from._f),isUndefined(from._l)||(to._l=from._l),isUndefined(from._strict)||(to._strict=from._strict),isUndefined(from._tzm)||(to._tzm=from._tzm),isUndefined(from._isUTC)||(to._isUTC=from._isUTC),isUndefined(from._offset)||(to._offset=from._offset),isUndefined(from._pf)||(to._pf=getParsingFlags(from)),isUndefined(from._locale)||(to._locale=from._locale),momentProperties.length>0)for(i=0;i<momentProperties.length;i++)isUndefined(val=from[prop=momentProperties[i]])||(to[prop]=val);return to}var updateInProgress=!1;function Moment(config){copyConfig(this,config),this._d=new Date(null!=config._d?config._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===updateInProgress&&(updateInProgress=!0,hooks.updateOffset(this),updateInProgress=!1)}function isMoment(obj){return obj instanceof Moment||null!=obj&&null!=obj._isAMomentObject}function absFloor(number){return number<0?Math.ceil(number)||0:Math.floor(number)}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;return 0!==coercedNumber&&isFinite(coercedNumber)&&(value=absFloor(coercedNumber)),value}function compareArrays(array1,array2,dontConvert){var i,len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0;for(i=0;i<len;i++)(dontConvert&&array1[i]!==array2[i]||!dontConvert&&toInt(array1[i])!==toInt(array2[i]))&&diffs++;return diffs+lengthDiff}function warn(msg){!1===hooks.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+msg)}function deprecate(msg,fn){var firstTime=!0;return extend((function(){if(null!=hooks.deprecationHandler&&hooks.deprecationHandler(null,msg),firstTime){for(var arg,args=[],i=0;i<arguments.length;i++){if(arg="","object"===_typeof(arguments[i])){for(var key in arg+="\n["+i+"] ",arguments[0])arg+=key+": "+arguments[0][key]+", ";arg=arg.slice(0,-2)}else arg=arguments[i];args.push(arg)}warn(msg+"\nArguments: "+Array.prototype.slice.call(args).join("")+"\n"+(new Error).stack),firstTime=!1}return fn.apply(this,arguments)}),fn)}var deprecations={};function deprecateSimple(name,msg){null!=hooks.deprecationHandler&&hooks.deprecationHandler(name,msg),deprecations[name]||(warn(msg),deprecations[name]=!0)}function isFunction(input){return input instanceof Function||"[object Function]"===Object.prototype.toString.call(input)}function mergeConfigs(parentConfig,childConfig){var prop,res=extend({},parentConfig);for(prop in childConfig)hasOwnProp(childConfig,prop)&&(isObject(parentConfig[prop])&&isObject(childConfig[prop])?(res[prop]={},extend(res[prop],parentConfig[prop]),extend(res[prop],childConfig[prop])):null!=childConfig[prop]?res[prop]=childConfig[prop]:delete res[prop]);for(prop in parentConfig)hasOwnProp(parentConfig,prop)&&!hasOwnProp(childConfig,prop)&&isObject(parentConfig[prop])&&(res[prop]=extend({},res[prop]));return res}function Locale(config){null!=config&&this.set(config)}hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null;var keys$1=Object.keys?Object.keys:function(obj){var i,res=[];for(i in obj)hasOwnProp(obj,i)&&res.push(i);return res};var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+"s"]=aliases[shorthand]=unit}function normalizeUnits(units){return"string"==typeof units?aliases[units]||aliases[units.toLowerCase()]:void 0}function normalizeObjectUnits(inputObject){var normalizedProp,prop,normalizedInput={};for(prop in inputObject)hasOwnProp(inputObject,prop)&&(normalizedProp=normalizeUnits(prop))&&(normalizedInput[normalizedProp]=inputObject[prop]);return normalizedInput}var priorities={};function addUnitPriority(unit,priority){priorities[unit]=priority}function makeGetSet(unit,keepTime){return function(value){return null!=value?(set$1(this,unit,value),hooks.updateOffset(this,keepTime),this):get(this,unit)}}function get(mom,unit){return mom.isValid()?mom._d["get"+(mom._isUTC?"UTC":"")+unit]():NaN}function set$1(mom,unit,value){mom.isValid()&&mom._d["set"+(mom._isUTC?"UTC":"")+unit](value)}function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length;return(number>=0?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;"string"==typeof callback&&(func=function(){return this[callback]()}),token&&(formatTokenFunctions[token]=func),padded&&(formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}),ordinal&&(formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)})}function formatMoment(m,format){return m.isValid()?(format=expandFormat(format,m.localeData()),formatFunctions[format]=formatFunctions[format]||function(format){var i,length,input,array=format.match(formattingTokens);for(i=0,length=array.length;i<length;i++)formatTokenFunctions[array[i]]?array[i]=formatTokenFunctions[array[i]]:array[i]=(input=array[i]).match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"");return function(mom){var i,output="";for(i=0;i<length;i++)output+=isFunction(array[i])?array[i].call(mom,format):array[i];return output}}(format),formatFunctions[format](m)):m.localeData().invalidDate()}function expandFormat(format,locale){var i=5;function replaceLongDateFormatTokens(input){return locale.longDateFormat(input)||input}for(localFormattingTokens.lastIndex=0;i>=0&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}var match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchWord=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,regexes={};function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){return hasOwnProp(regexes,token)?regexes[token](config._strict,config._locale):new RegExp(regexEscape(token.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(matched,p1,p2,p3,p4){return p1||p2||p3||p4}))))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var tokens={};function addParseToken(token,callback){var i,func=callback;for("string"==typeof token&&(token=[token]),isNumber(callback)&&(func=function(input,array){array[callback]=toInt(input)}),i=0;i<token.length;i++)tokens[token[i]]=func}function addWeekParseToken(token,callback){addParseToken(token,(function(input,array,config,token){config._w=config._w||{},callback(input,config._w,config,token)}))}function addTimeToArrayFromToken(token,input,config){null!=input&&hasOwnProp(tokens,token)&&tokens[token](input,config._a,config,token)}var indexOf$1=Array.prototype.indexOf?Array.prototype.indexOf:function(o){var i;for(i=0;i<this.length;++i)if(this[i]===o)return i;return-1};function daysInMonth(year,month){return new Date(Date.UTC(year,month+1,0)).getUTCDate()}addFormatToken("M",["MM",2],"Mo",(function(){return this.month()+1})),addFormatToken("MMM",0,0,(function(format){return this.localeData().monthsShort(this,format)})),addFormatToken("MMMM",0,0,(function(format){return this.localeData().months(this,format)})),addUnitAlias("month","M"),addUnitPriority("month",8),addRegexToken("M",match1to2),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",(function(isStrict,locale){return locale.monthsShortRegex(isStrict)})),addRegexToken("MMMM",(function(isStrict,locale){return locale.monthsRegex(isStrict)})),addParseToken(["M","MM"],(function(input,array){array[1]=toInt(input)-1})),addParseToken(["MMM","MMMM"],(function(input,array,config,token){var month=config._locale.monthsParse(input,token,config._strict);null!=month?array[1]=month:getParsingFlags(config).invalidMonth=input}));var MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function handleStrictParse(monthName,format,strict){var i,ii,mom,llc=monthName.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],i=0;i<12;++i)mom=createUTC([2e3,i]),this._shortMonthsParse[i]=this.monthsShort(mom,"").toLocaleLowerCase(),this._longMonthsParse[i]=this.months(mom,"").toLocaleLowerCase();return strict?"MMM"===format?-1!==(ii=indexOf$1.call(this._shortMonthsParse,llc))?ii:null:-1!==(ii=indexOf$1.call(this._longMonthsParse,llc))?ii:null:"MMM"===format?-1!==(ii=indexOf$1.call(this._shortMonthsParse,llc))||-1!==(ii=indexOf$1.call(this._longMonthsParse,llc))?ii:null:-1!==(ii=indexOf$1.call(this._longMonthsParse,llc))||-1!==(ii=indexOf$1.call(this._shortMonthsParse,llc))?ii:null}function setMonth(mom,value){var dayOfMonth;if(!mom.isValid())return mom;if("string"==typeof value)if(/^\d+$/.test(value))value=toInt(value);else if(!isNumber(value=mom.localeData().monthsParse(value)))return mom;return dayOfMonth=Math.min(mom.date(),daysInMonth(mom.year(),value)),mom._d["set"+(mom._isUTC?"UTC":"")+"Month"](value,dayOfMonth),mom}function getSetMonth(value){return null!=value?(setMonth(this,value),hooks.updateOffset(this,!0),this):get(this,"Month")}var defaultMonthsShortRegex=matchWord;var defaultMonthsRegex=matchWord;function computeMonthsParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<12;i++)mom=createUTC([2e3,i]),shortPieces.push(this.monthsShort(mom,"")),longPieces.push(this.months(mom,"")),mixedPieces.push(this.months(mom,"")),mixedPieces.push(this.monthsShort(mom,""));for(shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),i=0;i<12;i++)shortPieces[i]=regexEscape(shortPieces[i]),longPieces[i]=regexEscape(longPieces[i]);for(i=0;i<24;i++)mixedPieces[i]=regexEscape(mixedPieces[i]);this._monthsRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i")}function daysInYear(year){return isLeapYear(year)?366:365}function isLeapYear(year){return year%4==0&&year%100!=0||year%400==0}addFormatToken("Y",0,0,(function(){var y=this.year();return y<=9999?""+y:"+"+y})),addFormatToken(0,["YY",2],0,(function(){return this.year()%100})),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),addUnitAlias("year","y"),addUnitPriority("year",1),addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],0),addParseToken("YYYY",(function(input,array){array[0]=2===input.length?hooks.parseTwoDigitYear(input):toInt(input)})),addParseToken("YY",(function(input,array){array[0]=hooks.parseTwoDigitYear(input)})),addParseToken("Y",(function(input,array){array[0]=parseInt(input,10)})),hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",!0);function createDate(y,m,d,h,M,s,ms){var date=new Date(y,m,d,h,M,s,ms);return y<100&&y>=0&&isFinite(date.getFullYear())&&date.setFullYear(y),date}function createUTCDate(y){var date=new Date(Date.UTC.apply(null,arguments));return y<100&&y>=0&&isFinite(date.getUTCFullYear())&&date.setUTCFullYear(y),date}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy;return-((7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7)+fwd-1}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var resYear,resDayOfYear,dayOfYear=1+7*(week-1)+(7+weekday-dow)%7+firstWeekOffset(year,dow,doy);return dayOfYear<=0?resDayOfYear=daysInYear(resYear=year-1)+dayOfYear:dayOfYear>daysInYear(year)?(resYear=year+1,resDayOfYear=dayOfYear-daysInYear(year)):(resYear=year,resDayOfYear=dayOfYear),{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var resWeek,resYear,weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1;return week<1?resWeek=week+weeksInYear(resYear=mom.year()-1,dow,doy):week>weeksInYear(mom.year(),dow,doy)?(resWeek=week-weeksInYear(mom.year(),dow,doy),resYear=mom.year()+1):(resYear=mom.year(),resWeek=week),{week:resWeek,year:resYear}}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addUnitAlias("week","w"),addUnitAlias("isoWeek","W"),addUnitPriority("week",5),addUnitPriority("isoWeek",5),addRegexToken("w",match1to2),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],(function(input,week,config,token){week[token.substr(0,1)]=toInt(input)}));addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,(function(format){return this.localeData().weekdaysMin(this,format)})),addFormatToken("ddd",0,0,(function(format){return this.localeData().weekdaysShort(this,format)})),addFormatToken("dddd",0,0,(function(format){return this.localeData().weekdays(this,format)})),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addUnitAlias("day","d"),addUnitAlias("weekday","e"),addUnitAlias("isoWeekday","E"),addUnitPriority("day",11),addUnitPriority("weekday",11),addUnitPriority("isoWeekday",11),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",(function(isStrict,locale){return locale.weekdaysMinRegex(isStrict)})),addRegexToken("ddd",(function(isStrict,locale){return locale.weekdaysShortRegex(isStrict)})),addRegexToken("dddd",(function(isStrict,locale){return locale.weekdaysRegex(isStrict)})),addWeekParseToken(["dd","ddd","dddd"],(function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);null!=weekday?week.d=weekday:getParsingFlags(config).invalidWeekday=input})),addWeekParseToken(["d","e","E"],(function(input,week,config,token){week[token]=toInt(input)}));var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)mom=createUTC([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase();return strict?"dddd"===format?-1!==(ii=indexOf$1.call(this._weekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf$1.call(this._shortWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf$1.call(this._minWeekdaysParse,llc))?ii:null:"dddd"===format?-1!==(ii=indexOf$1.call(this._weekdaysParse,llc))||-1!==(ii=indexOf$1.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf$1.call(this._minWeekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf$1.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf$1.call(this._weekdaysParse,llc))||-1!==(ii=indexOf$1.call(this._minWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf$1.call(this._minWeekdaysParse,llc))||-1!==(ii=indexOf$1.call(this._weekdaysParse,llc))||-1!==(ii=indexOf$1.call(this._shortWeekdaysParse,llc))?ii:null}var defaultWeekdaysRegex=matchWord;var defaultWeekdaysShortRegex=matchWord;var defaultWeekdaysMinRegex=matchWord;function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,minp,shortp,longp,minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<7;i++)mom=createUTC([2e3,1]).day(i),minp=this.weekdaysMin(mom,""),shortp=this.weekdaysShort(mom,""),longp=this.weekdays(mom,""),minPieces.push(minp),shortPieces.push(shortp),longPieces.push(longp),mixedPieces.push(minp),mixedPieces.push(shortp),mixedPieces.push(longp);for(minPieces.sort(cmpLenRev),shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),i=0;i<7;i++)shortPieces[i]=regexEscape(shortPieces[i]),longPieces[i]=regexEscape(longPieces[i]),mixedPieces[i]=regexEscape(mixedPieces[i]);this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function meridiem(token,lowercase){addFormatToken(token,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)}))}function matchMeridiem(isStrict,locale){return locale._meridiemParse}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,(function(){return this.hours()||24})),addFormatToken("hmm",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)})),addFormatToken("hmmss",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),addFormatToken("Hmm",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)})),addFormatToken("Hmmss",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),meridiem("a",!0),meridiem("A",!1),addUnitAlias("hour","h"),addUnitPriority("hour",13),addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2),addRegexToken("h",match1to2),addRegexToken("k",match1to2),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],3),addParseToken(["k","kk"],(function(input,array,config){var kInput=toInt(input);array[3]=24===kInput?0:kInput})),addParseToken(["a","A"],(function(input,array,config){config._isPm=config._locale.isPM(input),config._meridiem=input})),addParseToken(["h","hh"],(function(input,array,config){array[3]=toInt(input),getParsingFlags(config).bigHour=!0})),addParseToken("hmm",(function(input,array,config){var pos=input.length-2;array[3]=toInt(input.substr(0,pos)),array[4]=toInt(input.substr(pos)),getParsingFlags(config).bigHour=!0})),addParseToken("hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[3]=toInt(input.substr(0,pos1)),array[4]=toInt(input.substr(pos1,2)),array[5]=toInt(input.substr(pos2)),getParsingFlags(config).bigHour=!0})),addParseToken("Hmm",(function(input,array,config){var pos=input.length-2;array[3]=toInt(input.substr(0,pos)),array[4]=toInt(input.substr(pos))})),addParseToken("Hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[3]=toInt(input.substr(0,pos1)),array[4]=toInt(input.substr(pos1,2)),array[5]=toInt(input.substr(pos2))}));var globalLocale,getSetHour=makeGetSet("Hours",!0),baseConfig={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:{dow:0,doy:6},weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:/[ap]\.?m?\.?/i},locales={},localeFamilies={};function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function loadLocale(name){var oldLocale=null;if(!locales[name]&&void 0!==module&&module&&module.exports)try{oldLocale=globalLocale._abbr,require("./locale/"+name),getSetGlobalLocale(oldLocale)}catch(e){}return locales[name]}function getSetGlobalLocale(key,values){var data;return key&&(data=isUndefined(values)?getLocale(key):defineLocale(key,values))&&(globalLocale=data),globalLocale._abbr}function defineLocale(name,config){if(null!==config){var parentConfig=baseConfig;if(config.abbr=name,null!=locales[name])deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),parentConfig=locales[name]._config;else if(null!=config.parentLocale){if(null==locales[config.parentLocale])return localeFamilies[config.parentLocale]||(localeFamilies[config.parentLocale]=[]),localeFamilies[config.parentLocale].push({name:name,config:config}),null;parentConfig=locales[config.parentLocale]._config}return locales[name]=new Locale(mergeConfigs(parentConfig,config)),localeFamilies[name]&&localeFamilies[name].forEach((function(x){defineLocale(x.name,x.config)})),getSetGlobalLocale(name),locales[name]}return delete locales[name],null}function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return globalLocale;if(!isArray(key)){if(locale=loadLocale(key))return locale;key=[key]}return function(names){for(var j,next,locale,split,i=0;i<names.length;){for(j=(split=normalizeLocale(names[i]).split("-")).length,next=(next=normalizeLocale(names[i+1]))?next.split("-"):null;j>0;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&compareArrays(split,next,!0)>=j-1)break;j--}i++}return null}(key)}function checkOverflow(m){var overflow,a=m._a;return a&&-2===getParsingFlags(m).overflow&&(overflow=a[1]<0||a[1]>11?1:a[2]<1||a[2]>daysInMonth(a[0],a[1])?2:a[3]<0||a[3]>24||24===a[3]&&(0!==a[4]||0!==a[5]||0!==a[6])?3:a[4]<0||a[4]>59?4:a[5]<0||a[5]>59?5:a[6]<0||a[6]>999?6:-1,getParsingFlags(m)._overflowDayOfYear&&(overflow<0||overflow>2)&&(overflow=2),getParsingFlags(m)._overflowWeeks&&-1===overflow&&(overflow=7),getParsingFlags(m)._overflowWeekday&&-1===overflow&&(overflow=8),getParsingFlags(m).overflow=overflow),m}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((\-?\d+)/i;function configFromISO(config){var i,l,allowTime,dateFormat,timeFormat,tzFormat,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string);if(match){for(getParsingFlags(config).iso=!0,i=0,l=isoDates.length;i<l;i++)if(isoDates[i][1].exec(match[1])){dateFormat=isoDates[i][0],allowTime=!1!==isoDates[i][2];break}if(null==dateFormat)return void(config._isValid=!1);if(match[3]){for(i=0,l=isoTimes.length;i<l;i++)if(isoTimes[i][1].exec(match[3])){timeFormat=(match[2]||" ")+isoTimes[i][0];break}if(null==timeFormat)return void(config._isValid=!1)}if(!allowTime&&null!=timeFormat)return void(config._isValid=!1);if(match[4]){if(!tzRegex.exec(match[4]))return void(config._isValid=!1);tzFormat="Z"}config._f=dateFormat+(timeFormat||"")+(tzFormat||""),configFromStringAndFormat(config)}else config._isValid=!1}var basicRfcRegex=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;function configFromRFC2822(config){var string,match,dayFormat,dateFormat,timeFormat,timezone,timezoneIndex,timezones={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"};if(string=config._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),match=basicRfcRegex.exec(string)){if(dayFormat=match[1]?"ddd"+(5===match[1].length?", ":" "):"",dateFormat="D MMM "+(match[2].length>10?"YYYY ":"YY "),timeFormat="HH:mm"+(match[4]?":ss":""),match[1]){var momentDay=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(match[2]).getDay()];if(match[1].substr(0,3)!==momentDay)return getParsingFlags(config).weekdayMismatch=!0,void(config._isValid=!1)}switch(match[5].length){case 2:timezone=0===timezoneIndex?" +0000":((timezoneIndex="YXWVUTSRQPONZABCDEFGHIKLM".indexOf(match[5][1].toUpperCase())-12)<0?" -":" +")+(""+timezoneIndex).replace(/^-?/,"0").match(/..$/)[0]+"00";break;case 4:timezone=timezones[match[5]];break;default:timezone=timezones[" GMT"]}match[5]=timezone,config._i=match.splice(1).join("")," ZZ",config._f=dayFormat+dateFormat+timeFormat+" ZZ",configFromStringAndFormat(config),getParsingFlags(config).rfc2822=!0}else config._isValid=!1}function defaults(a,b,c){return null!=a?a:null!=b?b:c}function configFromArray(config){var i,date,currentDate,yearToUse,input=[];if(!config._d){for(currentDate=function(config){var nowValue=new Date(hooks.now());return config._useUTC?[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]:[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}(config),config._w&&null==config._a[2]&&null==config._a[1]&&function(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow;if(null!=(w=config._w).GG||null!=w.W||null!=w.E)dow=1,doy=4,weekYear=defaults(w.GG,config._a[0],weekOfYear(createLocal(),1,4).year),week=defaults(w.W,1),((weekday=defaults(w.E,1))<1||weekday>7)&&(weekdayOverflow=!0);else{dow=config._locale._week.dow,doy=config._locale._week.doy;var curWeek=weekOfYear(createLocal(),dow,doy);weekYear=defaults(w.gg,config._a[0],curWeek.year),week=defaults(w.w,curWeek.week),null!=w.d?((weekday=w.d)<0||weekday>6)&&(weekdayOverflow=!0):null!=w.e?(weekday=w.e+dow,(w.e<0||w.e>6)&&(weekdayOverflow=!0)):weekday=dow}week<1||week>weeksInYear(weekYear,dow,doy)?getParsingFlags(config)._overflowWeeks=!0:null!=weekdayOverflow?getParsingFlags(config)._overflowWeekday=!0:(temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),config._a[0]=temp.year,config._dayOfYear=temp.dayOfYear)}(config),null!=config._dayOfYear&&(yearToUse=defaults(config._a[0],currentDate[0]),(config._dayOfYear>daysInYear(yearToUse)||0===config._dayOfYear)&&(getParsingFlags(config)._overflowDayOfYear=!0),date=createUTCDate(yearToUse,0,config._dayOfYear),config._a[1]=date.getUTCMonth(),config._a[2]=date.getUTCDate()),i=0;i<3&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];for(;i<7;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];24===config._a[3]&&0===config._a[4]&&0===config._a[5]&&0===config._a[6]&&(config._nextDay=!0,config._a[3]=0),config._d=(config._useUTC?createUTCDate:createDate).apply(null,input),null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),config._nextDay&&(config._a[3]=24)}}function configFromStringAndFormat(config){if(config._f!==hooks.ISO_8601)if(config._f!==hooks.RFC_2822){config._a=[],getParsingFlags(config).empty=!0;var i,parsedInput,tokens,token,skipped,string=""+config._i,stringLength=string.length,totalParsedInputLength=0;for(tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[],i=0;i<tokens.length;i++)token=tokens[i],(parsedInput=(string.match(getParseRegexForToken(token,config))||[])[0])&&((skipped=string.substr(0,string.indexOf(parsedInput))).length>0&&getParsingFlags(config).unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),formatTokenFunctions[token]?(parsedInput?getParsingFlags(config).empty=!1:getParsingFlags(config).unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&getParsingFlags(config).unusedTokens.push(token);getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength,string.length>0&&getParsingFlags(config).unusedInput.push(string),config._a[3]<=12&&!0===getParsingFlags(config).bigHour&&config._a[3]>0&&(getParsingFlags(config).bigHour=void 0),getParsingFlags(config).parsedDateParts=config._a.slice(0),getParsingFlags(config).meridiem=config._meridiem,config._a[3]=function(locale,hour,meridiem){var isPm;if(null==meridiem)return hour;return null!=locale.meridiemHour?locale.meridiemHour(hour,meridiem):null!=locale.isPM?((isPm=locale.isPM(meridiem))&&hour<12&&(hour+=12),isPm||12!==hour||(hour=0),hour):hour}(config._locale,config._a[3],config._meridiem),configFromArray(config),checkOverflow(config)}else configFromRFC2822(config);else configFromISO(config)}function prepareConfig(config){var input=config._i,format=config._f;return config._locale=config._locale||getLocale(config._l),null===input||void 0===format&&""===input?createInvalid({nullInput:!0}):("string"==typeof input&&(config._i=input=config._locale.preparse(input)),isMoment(input)?new Moment(checkOverflow(input)):(isDate(input)?config._d=input:isArray(format)?function(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(0===config._f.length)return getParsingFlags(config).invalidFormat=!0,void(config._d=new Date(NaN));for(i=0;i<config._f.length;i++)currentScore=0,tempConfig=copyConfig({},config),null!=config._useUTC&&(tempConfig._useUTC=config._useUTC),tempConfig._f=config._f[i],configFromStringAndFormat(tempConfig),isValid(tempConfig)&&(currentScore+=getParsingFlags(tempConfig).charsLeftOver,currentScore+=10*getParsingFlags(tempConfig).unusedTokens.length,getParsingFlags(tempConfig).score=currentScore,(null==scoreToBeat||currentScore<scoreToBeat)&&(scoreToBeat=currentScore,bestMoment=tempConfig));extend(config,bestMoment||tempConfig)}(config):format?configFromStringAndFormat(config):function(config){var input=config._i;isUndefined(input)?config._d=new Date(hooks.now()):isDate(input)?config._d=new Date(input.valueOf()):"string"==typeof input?function(config){var matched=aspNetJsonRegex.exec(config._i);null===matched?(configFromISO(config),!1===config._isValid&&(delete config._isValid,configFromRFC2822(config),!1===config._isValid&&(delete config._isValid,hooks.createFromInputFallback(config)))):config._d=new Date(+matched[1])}(config):isArray(input)?(config._a=map(input.slice(0),(function(obj){return parseInt(obj,10)})),configFromArray(config)):isObject(input)?function(config){if(!config._d){var i=normalizeObjectUnits(config._i);config._a=map([i.year,i.month,i.day||i.date,i.hour,i.minute,i.second,i.millisecond],(function(obj){return obj&&parseInt(obj,10)})),configFromArray(config)}}(config):isNumber(input)?config._d=new Date(input):hooks.createFromInputFallback(config)}(config),isValid(config)||(config._d=null),config))}function createLocalOrUTC(input,format,locale,strict,isUTC){var res,c={};return!0!==locale&&!1!==locale||(strict=locale,locale=void 0),(isObject(input)&&function(obj){var k;for(k in obj)return!1;return!0}(input)||isArray(input)&&0===input.length)&&(input=void 0),c._isAMomentObject=!0,c._useUTC=c._isUTC=isUTC,c._l=locale,c._i=input,c._f=format,c._strict=strict,(res=new Moment(checkOverflow(prepareConfig(c))))._nextDay&&(res.add(1,"d"),res._nextDay=void 0),res}function createLocal(input,format,locale,strict){return createLocalOrUTC(input,format,locale,strict,!1)}hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",(function(config){config._d=new Date(config._i+(config._useUTC?" UTC":""))})),hooks.ISO_8601=function(){},hooks.RFC_2822=function(){};var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other<this?this:other:createInvalid()})),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",(function(){var other=createLocal.apply(null,arguments);return this.isValid()&&other.isValid()?other>this?this:other:createInvalid()}));function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return createLocal();for(res=moments[0],i=1;i<moments.length;++i)moments[i].isValid()&&!moments[i][fn](res)||(res=moments[i]);return res}var ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Duration(duration){var normalizedInput=normalizeObjectUnits(duration),years=normalizedInput.year||0,quarters=normalizedInput.quarter||0,months=normalizedInput.month||0,weeks=normalizedInput.week||0,days=normalizedInput.day||0,hours=normalizedInput.hour||0,minutes=normalizedInput.minute||0,seconds=normalizedInput.second||0,milliseconds=normalizedInput.millisecond||0;this._isValid=function(m){for(var key in m)if(-1===ordering.indexOf(key)||null!=m[key]&&isNaN(m[key]))return!1;for(var unitHasDecimal=!1,i=0;i<ordering.length;++i)if(m[ordering[i]]){if(unitHasDecimal)return!1;parseFloat(m[ordering[i]])!==toInt(m[ordering[i]])&&(unitHasDecimal=!0)}return!0}(normalizedInput),this._milliseconds=+milliseconds+1e3*seconds+6e4*minutes+1e3*hours*60*60,this._days=+days+7*weeks,this._months=+months+3*quarters+12*years,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(obj){return obj instanceof Duration}function absRound(number){return number<0?-1*Math.round(-1*number):Math.round(number)}function offset(token,separator){addFormatToken(token,0,0,(function(){var offset=this.utcOffset(),sign="+";return offset<0&&(offset=-offset,sign="-"),sign+zeroFill(~~(offset/60),2)+separator+zeroFill(~~offset%60,2)}))}offset("Z",":"),offset("ZZ",""),addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],(function(input,array,config){config._useUTC=!0,config._tzm=offsetFromString(matchShortOffset,input)}));var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(matcher,string){var matches=(string||"").match(matcher);if(null===matches)return null;var parts=((matches[matches.length-1]||[])+"").match(chunkOffset)||["-",0,0],minutes=60*parts[1]+toInt(parts[2]);return 0===minutes?0:"+"===parts[0]?minutes:-minutes}function cloneWithOffset(input,model){var res,diff;return model._isUTC?(res=model.clone(),diff=(isMoment(input)||isDate(input)?input.valueOf():createLocal(input).valueOf())-res.valueOf(),res._d.setTime(res._d.valueOf()+diff),hooks.updateOffset(res,!1),res):createLocal(input).local()}function getDateOffset(m){return 15*-Math.round(m._d.getTimezoneOffset()/15)}function isUtc(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}hooks.updateOffset=function(){};var aspNetRegex=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,isoRegex=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;function createDuration(input,key){var sign,ret,diffRes,duration=input,match=null;return isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:isNumber(input)?(duration={},key?duration[key]=input:duration.milliseconds=input):(match=aspNetRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[2])*sign,h:toInt(match[3])*sign,m:toInt(match[4])*sign,s:toInt(match[5])*sign,ms:toInt(absRound(1e3*match[6]))*sign}):(match=isoRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)}):null==duration?duration={}:"object"===_typeof(duration)&&("from"in duration||"to"in duration)&&(diffRes=function(base,other){var res;if(!base.isValid()||!other.isValid())return{milliseconds:0,months:0};other=cloneWithOffset(other,base),base.isBefore(other)?res=positiveMomentsDifference(base,other):((res=positiveMomentsDifference(other,base)).milliseconds=-res.milliseconds,res.months=-res.months);return res}(createLocal(duration.from),createLocal(duration.to)),(duration={}).ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),ret}function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={milliseconds:0,months:0};return res.months=other.month()-base.month()+12*(other.year()-base.year()),base.clone().add(res.months,"M").isAfter(other)&&--res.months,res.milliseconds=+other-+base.clone().add(res.months,"M"),res}function createAdder(direction,name){return function(val,period){var tmp;return null===period||isNaN(+period)||(deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),tmp=val,val=period,period=tmp),addSubtract(this,createDuration(val="string"==typeof val?+val:val,period),direction),this}}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);mom.isValid()&&(updateOffset=null==updateOffset||updateOffset,milliseconds&&mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding),days&&set$1(mom,"Date",get(mom,"Date")+days*isAdding),months&&setMonth(mom,get(mom,"Month")+months*isAdding),updateOffset&&hooks.updateOffset(mom,days||months))}createDuration.fn=Duration.prototype,createDuration.invalid=function(){return createDuration(NaN)};var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function locale(key){var newLocaleData;return void 0===key?this._locale._abbr:(null!=(newLocaleData=getLocale(key))&&(this._locale=newLocaleData),this)}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(key){return void 0===key?this.localeData():this.locale(key)}));function localeData(){return this._locale}function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter)}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;return null==input?weekOfYear(this,dow,doy).year:(week>(weeksTarget=weeksInYear(input,dow,doy))&&(week=weeksTarget),setWeekAll.call(this,input,week,weekday,dow,doy))}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);return this.year(date.getUTCFullYear()),this.month(date.getUTCMonth()),this.date(date.getUTCDate()),this}addFormatToken(0,["gg",2],0,(function(){return this.weekYear()%100})),addFormatToken(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addUnitAlias("weekYear","gg"),addUnitAlias("isoWeekYear","GG"),addUnitPriority("weekYear",1),addUnitPriority("isoWeekYear",1),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],(function(input,week,config,token){week[token.substr(0,2)]=toInt(input)})),addWeekParseToken(["gg","GG"],(function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input)})),addFormatToken("Q",0,"Qo","quarter"),addUnitAlias("quarter","Q"),addUnitPriority("quarter",7),addRegexToken("Q",match1),addParseToken("Q",(function(input,array){array[1]=3*(toInt(input)-1)})),addFormatToken("D",["DD",2],"Do","date"),addUnitAlias("date","D"),addUnitPriority("date",9),addRegexToken("D",match1to2),addRegexToken("DD",match1to2,match2),addRegexToken("Do",(function(isStrict,locale){return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient})),addParseToken(["D","DD"],2),addParseToken("Do",(function(input,array){array[2]=toInt(input.match(match1to2)[0])}));var getSetDayOfMonth=makeGetSet("Date",!0);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addUnitAlias("dayOfYear","DDD"),addUnitPriority("dayOfYear",4),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],(function(input,array,config){config._dayOfYear=toInt(input)})),addFormatToken("m",["mm",2],0,"minute"),addUnitAlias("minute","m"),addUnitPriority("minute",14),addRegexToken("m",match1to2),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],4);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addUnitAlias("second","s"),addUnitPriority("second",15),addRegexToken("s",match1to2),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],5);var token,getSetSecond=makeGetSet("Seconds",!1);for(addFormatToken("S",0,0,(function(){return~~(this.millisecond()/100)})),addFormatToken(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),addFormatToken(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),addFormatToken(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),addFormatToken(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),addFormatToken(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),addFormatToken(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),addUnitAlias("millisecond","ms"),addUnitPriority("millisecond",16),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3),token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(input,array){array[6]=toInt(1e3*("0."+input))}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);var getSetMillisecond=makeGetSet("Milliseconds",!1);addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");var proto=Moment.prototype;function preParsePostFormat(string){return string}proto.add=add,proto.calendar=function(time,formats){var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf("day"),format=hooks.calendarFormat(this,sod)||"sameElse",output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)))},proto.clone=function(){return new Moment(this)},proto.diff=function(input,units,asFloat){var that,zoneDelta,delta,output;return this.isValid()&&(that=cloneWithOffset(input,this)).isValid()?(zoneDelta=6e4*(that.utcOffset()-this.utcOffset()),"year"===(units=normalizeUnits(units))||"month"===units||"quarter"===units?(output=function(a,b){var adjust,wholeMonthDiff=12*(b.year()-a.year())+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,"months");adjust=b-anchor<0?(b-anchor)/(anchor-a.clone().add(wholeMonthDiff-1,"months")):(b-anchor)/(a.clone().add(wholeMonthDiff+1,"months")-anchor);return-(wholeMonthDiff+adjust)||0}(this,that),"quarter"===units?output/=3:"year"===units&&(output/=12)):(delta=this-that,output="second"===units?delta/1e3:"minute"===units?delta/6e4:"hour"===units?delta/36e5:"day"===units?(delta-zoneDelta)/864e5:"week"===units?(delta-zoneDelta)/6048e5:delta),asFloat?output:absFloor(output)):NaN},proto.endOf=function(units){return void 0===(units=normalizeUnits(units))||"millisecond"===units?this:("date"===units&&(units="day"),this.startOf(units).add(1,"isoWeek"===units?"week":units).subtract(1,"ms"))},proto.format=function(inputString){inputString||(inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var output=formatMoment(this,inputString);return this.localeData().postformat(output)},proto.from=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.fromNow=function(withoutSuffix){return this.from(createLocal(),withoutSuffix)},proto.to=function(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()},proto.toNow=function(withoutSuffix){return this.to(createLocal(),withoutSuffix)},proto.get=function(units){return isFunction(this[units=normalizeUnits(units)])?this[units]():this},proto.invalidAt=function(){return getParsingFlags(this).overflow},proto.isAfter=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(isUndefined(units)?"millisecond":units))?this.valueOf()>localInput.valueOf():localInput.valueOf()<this.clone().startOf(units).valueOf())},proto.isBefore=function(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(isUndefined(units)?"millisecond":units))?this.valueOf()<localInput.valueOf():this.clone().endOf(units).valueOf()<localInput.valueOf())},proto.isBetween=function(from,to,units,inclusivity){return("("===(inclusivity=inclusivity||"()")[0]?this.isAfter(from,units):!this.isBefore(from,units))&&(")"===inclusivity[1]?this.isBefore(to,units):!this.isAfter(to,units))},proto.isSame=function(input,units){var inputMs,localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units||"millisecond"))?this.valueOf()===localInput.valueOf():(inputMs=localInput.valueOf(),this.clone().startOf(units).valueOf()<=inputMs&&inputMs<=this.clone().endOf(units).valueOf()))},proto.isSameOrAfter=function(input,units){return this.isSame(input,units)||this.isAfter(input,units)},proto.isSameOrBefore=function(input,units){return this.isSame(input,units)||this.isBefore(input,units)},proto.isValid=function(){return isValid(this)},proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=function(){return extend({},getParsingFlags(this))},proto.set=function(units,value){if("object"===_typeof(units))for(var prioritized=function(unitsObj){var units=[];for(var u in unitsObj)units.push({unit:u,priority:priorities[u]});return units.sort((function(a,b){return a.priority-b.priority})),units}(units=normalizeObjectUnits(units)),i=0;i<prioritized.length;i++)this[prioritized[i].unit](units[prioritized[i].unit]);else if(isFunction(this[units=normalizeUnits(units)]))return this[units](value);return this},proto.startOf=function(units){switch(units=normalizeUnits(units)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===units&&this.weekday(0),"isoWeek"===units&&this.isoWeekday(1),"quarter"===units&&this.month(3*Math.floor(this.month()/3)),this},proto.subtract=subtract,proto.toArray=function(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]},proto.toObject=function(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}},proto.toDate=function(){return new Date(this.valueOf())},proto.toISOString=function(){if(!this.isValid())return null;var m=this.clone().utc();return m.year()<0||m.year()>9999?formatMoment(m,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):isFunction(Date.prototype.toISOString)?this.toDate().toISOString():formatMoment(m,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},proto.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var func="moment",zone="";this.isLocal()||(func=0===this.utcOffset()?"moment.utc":"moment.parseZone",zone="Z");var prefix="["+func+'("]',year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",suffix=zone+'[")]';return this.format(prefix+year+"-MM-DD[T]HH:mm:ss.SSS"+suffix)},proto.toJSON=function(){return this.isValid()?this.toISOString():null},proto.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},proto.unix=function(){return Math.floor(this.valueOf()/1e3)},proto.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},proto.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},proto.year=getSetYear,proto.isLeapYear=function(){return isLeapYear(this.year())},proto.weekYear=function(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},proto.isoWeekYear=function(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)},proto.quarter=proto.quarters=function(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)},proto.month=getSetMonth,proto.daysInMonth=function(){return daysInMonth(this.year(),this.month())},proto.week=proto.weeks=function(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")},proto.isoWeek=proto.isoWeeks=function(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")},proto.weeksInYear=function(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)},proto.isoWeeksInYear=function(){return weeksInYear(this.year(),1,4)},proto.date=getSetDayOfMonth,proto.day=proto.days=function(input){if(!this.isValid())return null!=input?this:NaN;var day=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=input?(input=function(input,locale){return"string"!=typeof input?input:isNaN(input)?"number"==typeof(input=locale.weekdaysParse(input))?input:null:parseInt(input,10)}(input,this.localeData()),this.add(input-day,"d")):day},proto.weekday=function(input){if(!this.isValid())return null!=input?this:NaN;var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")},proto.isoWeekday=function(input){if(!this.isValid())return null!=input?this:NaN;if(null!=input){var weekday=function(input,locale){return"string"==typeof input?locale.weekdaysParse(input)%7||7:isNaN(input)?null:input}(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)}return this.day()||7},proto.dayOfYear=function(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")},proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=function(input,keepLocalTime,keepMinutes){var localAdjust,offset=this._offset||0;if(!this.isValid())return null!=input?this:NaN;if(null!=input){if("string"==typeof input){if(null===(input=offsetFromString(matchShortOffset,input)))return this}else Math.abs(input)<16&&!keepMinutes&&(input*=60);return!this._isUTC&&keepLocalTime&&(localAdjust=getDateOffset(this)),this._offset=input,this._isUTC=!0,null!=localAdjust&&this.add(localAdjust,"m"),offset!==input&&(!keepLocalTime||this._changeInProgress?addSubtract(this,createDuration(input-offset,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?offset:getDateOffset(this)},proto.utc=function(keepLocalTime){return this.utcOffset(0,keepLocalTime)},proto.local=function(keepLocalTime){return this._isUTC&&(this.utcOffset(0,keepLocalTime),this._isUTC=!1,keepLocalTime&&this.subtract(getDateOffset(this),"m")),this},proto.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var tZone=offsetFromString(matchOffset,this._i);null!=tZone?this.utcOffset(tZone):this.utcOffset(0,!0)}return this},proto.hasAlignedHourOffset=function(input){return!!this.isValid()&&(input=input?createLocal(input).utcOffset():0,(this.utcOffset()-input)%60==0)},proto.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},proto.isLocal=function(){return!!this.isValid()&&!this._isUTC},proto.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=function(){return this._isUTC?"UTC":""},proto.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(input,keepLocalTime){return null!=input?("string"!=typeof input&&(input=-input),this.utcOffset(input,keepLocalTime),this):-this.utcOffset()})),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var c={};if(copyConfig(c,this),(c=prepareConfig(c))._a){var other=c._isUTC?createUTC(c._a):createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var proto$1=Locale.prototype;function get$1(format,index,field,setter){var locale=getLocale(),utc=createUTC().set(setter,index);return locale[field](utc,format)}function listMonthsImpl(format,index,field){if(isNumber(format)&&(index=format,format=void 0),format=format||"",null!=index)return get$1(format,index,field,"month");var i,out=[];for(i=0;i<12;i++)out[i]=get$1(format,i,field,"month");return out}function listWeekdaysImpl(localeSorted,format,index,field){"boolean"==typeof localeSorted?(isNumber(format)&&(index=format,format=void 0),format=format||""):(index=format=localeSorted,localeSorted=!1,isNumber(format)&&(index=format,format=void 0),format=format||"");var i,locale=getLocale(),shift=localeSorted?locale._week.dow:0;if(null!=index)return get$1(format,(index+shift)%7,field,"day");var out=[];for(i=0;i<7;i++)out[i]=get$1(format,(i+shift)%7,field,"day");return out}proto$1.calendar=function(key,mom,now){var output=this._calendar[key]||this._calendar.sameElse;return isFunction(output)?output.call(mom,now):output},proto$1.longDateFormat=function(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];return format||!formatUpper?format:(this._longDateFormat[key]=formatUpper.replace(/MMMM|MM|DD|dddd/g,(function(val){return val.slice(1)})),this._longDateFormat[key])},proto$1.invalidDate=function(){return this._invalidDate},proto$1.ordinal=function(number){return this._ordinal.replace("%d",number)},proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=function(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)},proto$1.pastFuture=function(diff,output){var format=this._relativeTime[diff>0?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)},proto$1.set=function(config){var prop,i;for(i in config)isFunction(prop=config[i])?this[i]=prop:this["_"+i]=prop;this._config=config,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},proto$1.months=function(m,format){return m?isArray(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(format)?"format":"standalone"][m.month()]:isArray(this._months)?this._months:this._months.standalone},proto$1.monthsShort=function(m,format){return m?isArray(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(format)?"format":"standalone"][m.month()]:isArray(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},proto$1.monthsParse=function(monthName,format,strict){var i,mom,regex;if(this._monthsParseExact)return handleStrictParse.call(this,monthName,format,strict);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),i=0;i<12;i++){if(mom=createUTC([2e3,i]),strict&&!this._longMonthsParse[i]&&(this._longMonthsParse[i]=new RegExp("^"+this.months(mom,"").replace(".","")+"$","i"),this._shortMonthsParse[i]=new RegExp("^"+this.monthsShort(mom,"").replace(".","")+"$","i")),strict||this._monthsParse[i]||(regex="^"+this.months(mom,"")+"|^"+this.monthsShort(mom,""),this._monthsParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"MMMM"===format&&this._longMonthsParse[i].test(monthName))return i;if(strict&&"MMM"===format&&this._shortMonthsParse[i].test(monthName))return i;if(!strict&&this._monthsParse[i].test(monthName))return i}},proto$1.monthsRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&isStrict?this._monthsStrictRegex:this._monthsRegex)},proto$1.monthsShortRegex=function(isStrict){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),isStrict?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&isStrict?this._monthsShortStrictRegex:this._monthsShortRegex)},proto$1.week=function(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week},proto$1.firstDayOfYear=function(){return this._week.doy},proto$1.firstDayOfWeek=function(){return this._week.dow},proto$1.weekdays=function(m,format){return m?isArray(this._weekdays)?this._weekdays[m.day()]:this._weekdays[this._weekdays.isFormat.test(format)?"format":"standalone"][m.day()]:isArray(this._weekdays)?this._weekdays:this._weekdays.standalone},proto$1.weekdaysMin=function(m){return m?this._weekdaysMin[m.day()]:this._weekdaysMin},proto$1.weekdaysShort=function(m){return m?this._weekdaysShort[m.day()]:this._weekdaysShort},proto$1.weekdaysParse=function(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,weekdayName,format,strict);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(mom=createUTC([2e3,1]).day(i),strict&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".",".?")+"$","i")),this._weekdaysParse[i]||(regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"dddd"===format&&this._fullWeekdaysParse[i].test(weekdayName))return i;if(strict&&"ddd"===format&&this._shortWeekdaysParse[i].test(weekdayName))return i;if(strict&&"dd"===format&&this._minWeekdaysParse[i].test(weekdayName))return i;if(!strict&&this._weekdaysParse[i].test(weekdayName))return i}},proto$1.weekdaysRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex)},proto$1.weekdaysShortRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},proto$1.weekdaysMinRegex=function(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},proto$1.isPM=function(input){return"p"===(input+"").toLowerCase().charAt(0)},proto$1.meridiem=function(hours,minutes,isLower){return hours>11?isLower?"pm":"PM":isLower?"am":"AM"},getSetGlobalLocale("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10;return number+(1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th")}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);return duration._milliseconds+=direction*other._milliseconds,duration._days+=direction*other._days,duration._months+=direction*other._months,duration._bubble()}function absCeil(number){return number<0?Math.floor(number):Math.ceil(number)}function daysToMonths(days){return 4800*days/146097}function monthsToDays(months){return 146097*months/4800}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asYears=makeAs("y");function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,M:11};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}var abs$1=Math.abs;function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var minutes,hours,seconds=abs$1(this._milliseconds)/1e3,days=abs$1(this._days),months=abs$1(this._months);minutes=absFloor(seconds/60),hours=absFloor(minutes/60),seconds%=60,minutes%=60;var Y=absFloor(months/12),M=months%=12,D=days,h=hours,m=minutes,s=seconds,total=this.asSeconds();return total?(total<0?"-":"")+"P"+(Y?Y+"Y":"")+(M?M+"M":"")+(D?D+"D":"")+(h||m||s?"T":"")+(h?h+"H":"")+(m?m+"M":"")+(s?s+"S":""):"P0D"}var proto$2=Duration.prototype;return proto$2.isValid=function(){return this._isValid},proto$2.abs=function(){var data=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),data.milliseconds=mathAbs(data.milliseconds),data.seconds=mathAbs(data.seconds),data.minutes=mathAbs(data.minutes),data.hours=mathAbs(data.hours),data.months=mathAbs(data.months),data.years=mathAbs(data.years),this},proto$2.add=function(input,value){return addSubtract$1(this,input,value,1)},proto$2.subtract=function(input,value){return addSubtract$1(this,input,value,-1)},proto$2.as=function(units){if(!this.isValid())return NaN;var days,months,milliseconds=this._milliseconds;if("month"===(units=normalizeUnits(units))||"year"===units)return days=this._days+milliseconds/864e5,months=this._months+daysToMonths(days),"month"===units?months:months/12;switch(days=this._days+Math.round(monthsToDays(this._months)),units){case"week":return days/7+milliseconds/6048e5;case"day":return days+milliseconds/864e5;case"hour":return 24*days+milliseconds/36e5;case"minute":return 1440*days+milliseconds/6e4;case"second":return 86400*days+milliseconds/1e3;case"millisecond":return Math.floor(864e5*days)+milliseconds;default:throw new Error("Unknown unit "+units)}},proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asYears=asYears,proto$2.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*toInt(this._months/12):NaN},proto$2._bubble=function(){var seconds,minutes,hours,years,monthsFromDays,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data;return milliseconds>=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0||(milliseconds+=864e5*absCeil(monthsToDays(months)+days),days=0,months=0),data.milliseconds=milliseconds%1e3,seconds=absFloor(milliseconds/1e3),data.seconds=seconds%60,minutes=absFloor(seconds/60),data.minutes=minutes%60,hours=absFloor(minutes/60),data.hours=hours%24,days+=absFloor(hours/24),months+=monthsFromDays=absFloor(daysToMonths(days)),days-=absCeil(monthsToDays(monthsFromDays)),years=absFloor(months/12),months%=12,data.days=days,data.months=months,data.years=years,this},proto$2.get=function(units){return units=normalizeUnits(units),this.isValid()?this[units+"s"]():NaN},proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=function(){return absFloor(this.days()/7)},proto$2.months=months,proto$2.years=years,proto$2.humanize=function(withSuffix){if(!this.isValid())return this.localeData().invalidDate();var locale=this.localeData(),output=function(posNegDuration,withoutSuffix,locale){var duration=createDuration(posNegDuration).abs(),seconds=round(duration.as("s")),minutes=round(duration.as("m")),hours=round(duration.as("h")),days=round(duration.as("d")),months=round(duration.as("M")),years=round(duration.as("y")),a=seconds<=thresholds.ss&&["s",seconds]||seconds<thresholds.s&&["ss",seconds]||minutes<=1&&["m"]||minutes<thresholds.m&&["mm",minutes]||hours<=1&&["h"]||hours<thresholds.h&&["hh",hours]||days<=1&&["d"]||days<thresholds.d&&["dd",days]||months<=1&&["M"]||months<thresholds.M&&["MM",months]||years<=1&&["y"]||["yy",years];return a[2]=withoutSuffix,a[3]=+posNegDuration>0,a[4]=locale,substituteTimeAgo.apply(null,a)}(this,!withSuffix,locale);return withSuffix&&(output=locale.pastFuture(+this,output)),locale.postformat(output)},proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",/[+-]?\d+(\.\d{1,3})?/),addParseToken("X",(function(input,array,config){config._d=new Date(1e3*parseFloat(input,10))})),addParseToken("x",(function(input,array,config){config._d=new Date(toInt(input))})),hooks.version="2.18.1",hookCallback=createLocal,hooks.fn=proto,hooks.min=function(){var args=[].slice.call(arguments,0);return pickBy("isBefore",args)},hooks.max=function(){var args=[].slice.call(arguments,0);return pickBy("isAfter",args)},hooks.now=function(){return Date.now?Date.now():+new Date},hooks.utc=createUTC,hooks.unix=function(input){return createLocal(1e3*input)},hooks.months=function(format,index){return listMonthsImpl(format,index,"months")},hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdays")},hooks.parseZone=function(){return createLocal.apply(null,arguments).parseZone()},hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=function(format,index){return listMonthsImpl(format,index,"monthsShort")},hooks.weekdaysMin=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysMin")},hooks.defineLocale=defineLocale,hooks.updateLocale=function(name,config){if(null!=config){var locale,parentConfig=baseConfig;null!=locales[name]&&(parentConfig=locales[name]._config),(locale=new Locale(config=mergeConfigs(parentConfig,config))).parentLocale=locales[name],locales[name]=locale,getSetGlobalLocale(name)}else null!=locales[name]&&(null!=locales[name].parentLocale?locales[name]=locales[name].parentLocale:null!=locales[name]&&delete locales[name]);return locales[name]},hooks.locales=function(){return keys$1(locales)},hooks.weekdaysShort=function(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysShort")},hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=function(roundingFunction){return void 0===roundingFunction?round:"function"==typeof roundingFunction&&(round=roundingFunction,!0)},hooks.relativeTimeThreshold=function(threshold,limit){return void 0!==thresholds[threshold]&&(void 0===limit?thresholds[threshold]:(thresholds[threshold]=limit,"s"===threshold&&(thresholds.ss=limit-1),!0))},hooks.calendarFormat=function(myMoment,now){var diff=myMoment.diff(now,"days",!0);return diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse"},hooks.prototype=proto,hooks}))},{}],7:[function(require,module,exports){var Chart=require(29)();Chart.helpers=require(45),require(27)(Chart),Chart.defaults=require(25),Chart.Element=require(26),Chart.elements=require(40),Chart.Interaction=require(28),Chart.platform=require(48),require(31)(Chart),require(22)(Chart),require(23)(Chart),require(24)(Chart),require(30)(Chart),require(33)(Chart),require(32)(Chart),require(35)(Chart),require(54)(Chart),require(52)(Chart),require(53)(Chart),require(55)(Chart),require(56)(Chart),require(57)(Chart),require(15)(Chart),require(16)(Chart),require(17)(Chart),require(18)(Chart),require(19)(Chart),require(20)(Chart),require(21)(Chart),require(8)(Chart),require(9)(Chart),require(10)(Chart),require(11)(Chart),require(12)(Chart),require(13)(Chart),require(14)(Chart);var plugins=[];plugins.push(require(49)(Chart),require(50)(Chart),require(51)(Chart)),Chart.plugins.register(plugins),Chart.platform.initialize(),module.exports=Chart,"undefined"!=typeof window&&(window.Chart=Chart),Chart.canvasHelpers=Chart.helpers.canvas},{10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,35:35,40:40,45:45,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,8:8,9:9}],8:[function(require,module,exports){module.exports=function(Chart){Chart.Bar=function(context,config){return config.type="bar",new Chart(context,config)}}},{}],9:[function(require,module,exports){module.exports=function(Chart){Chart.Bubble=function(context,config){return config.type="bubble",new Chart(context,config)}}},{}],10:[function(require,module,exports){module.exports=function(Chart){Chart.Doughnut=function(context,config){return config.type="doughnut",new Chart(context,config)}}},{}],11:[function(require,module,exports){module.exports=function(Chart){Chart.Line=function(context,config){return config.type="line",new Chart(context,config)}}},{}],12:[function(require,module,exports){module.exports=function(Chart){Chart.PolarArea=function(context,config){return config.type="polarArea",new Chart(context,config)}}},{}],13:[function(require,module,exports){module.exports=function(Chart){Chart.Radar=function(context,config){return config.type="radar",new Chart(context,config)}}},{}],14:[function(require,module,exports){module.exports=function(Chart){Chart.Scatter=function(context,config){return config.type="scatter",new Chart(context,config)}}},{}],15:[function(require,module,exports){var defaults=require(25),elements=require(40),helpers=require(45);defaults._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),defaults._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{position:"left",type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{callbacks:{title:function(item,data){var title="";return item.length>0&&(item[0].yLabel?title=item[0].yLabel:data.labels.length>0&&item[0].index<data.labels.length&&(title=data.labels[item[0].index])),title},label:function(item,data){return(data.datasets[item.datasetIndex].label||"")+": "+item.xLabel}},mode:"index",axis:"y"}}),module.exports=function(Chart){Chart.controllers.bar=Chart.DatasetController.extend({dataElementType:elements.Rectangle,initialize:function(){var meta,me=this;Chart.DatasetController.prototype.initialize.apply(me,arguments),(meta=me.getMeta()).stack=me.getDataset().stack,meta.bar=!0},update:function(reset){var i,ilen,rects=this.getMeta().data;for(this._ruler=this.getRuler(),i=0,ilen=rects.length;i<ilen;++i)this.updateElement(rects[i],i,reset)},updateElement:function(rectangle,index,reset){var me=this,chart=me.chart,meta=me.getMeta(),dataset=me.getDataset(),custom=rectangle.custom||{},rectangleOptions=chart.options.elements.rectangle;rectangle._xScale=me.getScaleForId(meta.xAxisID),rectangle._yScale=me.getScaleForId(meta.yAxisID),rectangle._datasetIndex=me.index,rectangle._index=index,rectangle._model={datasetLabel:dataset.label,label:chart.data.labels[index],borderSkipped:custom.borderSkipped?custom.borderSkipped:rectangleOptions.borderSkipped,backgroundColor:custom.backgroundColor?custom.backgroundColor:helpers.valueAtIndexOrDefault(dataset.backgroundColor,index,rectangleOptions.backgroundColor),borderColor:custom.borderColor?custom.borderColor:helpers.valueAtIndexOrDefault(dataset.borderColor,index,rectangleOptions.borderColor),borderWidth:custom.borderWidth?custom.borderWidth:helpers.valueAtIndexOrDefault(dataset.borderWidth,index,rectangleOptions.borderWidth)},me.updateElementGeometry(rectangle,index,reset),rectangle.pivot()},updateElementGeometry:function(rectangle,index,reset){var me=this,model=rectangle._model,vscale=me.getValueScale(),base=vscale.getBasePixel(),horizontal=vscale.isHorizontal(),ruler=me._ruler||me.getRuler(),vpixels=me.calculateBarValuePixels(me.index,index),ipixels=me.calculateBarIndexPixels(me.index,index,ruler);model.horizontal=horizontal,model.base=reset?base:vpixels.base,model.x=horizontal?reset?base:vpixels.head:ipixels.center,model.y=horizontal?ipixels.center:reset?base:vpixels.head,model.height=horizontal?ipixels.size:void 0,model.width=horizontal?void 0:ipixels.size},getValueScaleId:function(){return this.getMeta().yAxisID},getIndexScaleId:function(){return this.getMeta().xAxisID},getValueScale:function(){return this.getScaleForId(this.getValueScaleId())},getIndexScale:function(){return this.getScaleForId(this.getIndexScaleId())},getStackCount:function(last){var i,meta,chart=this.chart,stacked=this.getIndexScale().options.stacked,ilen=void 0===last?chart.data.datasets.length:last+1,stacks=[];for(i=0;i<ilen;++i)(meta=chart.getDatasetMeta(i)).bar&&chart.isDatasetVisible(i)&&(!1===stacked||!0===stacked&&-1===stacks.indexOf(meta.stack)||void 0===stacked&&(void 0===meta.stack||-1===stacks.indexOf(meta.stack)))&&stacks.push(meta.stack);return stacks.length},getStackIndex:function(datasetIndex){return this.getStackCount(datasetIndex)-1},getRuler:function(){var i,ilen,scale=this.getIndexScale(),stackCount=this.getStackCount(),datasetIndex=this.index,pixels=[],isHorizontal=scale.isHorizontal(),start=isHorizontal?scale.left:scale.top,end=start+(isHorizontal?scale.width:scale.height);for(i=0,ilen=this.getMeta().data.length;i<ilen;++i)pixels.push(scale.getPixelForValue(null,i,datasetIndex));return{pixels:pixels,start:start,end:end,stackCount:stackCount,scale:scale}},calculateBarValuePixels:function(datasetIndex,index){var i,imeta,ivalue,base,head,size,chart=this.chart,meta=this.getMeta(),scale=this.getValueScale(),datasets=chart.data.datasets,value=scale.getRightValue(datasets[datasetIndex].data[index]),stacked=scale.options.stacked,stack=meta.stack,start=0;if(stacked||void 0===stacked&&void 0!==stack)for(i=0;i<datasetIndex;++i)(imeta=chart.getDatasetMeta(i)).bar&&imeta.stack===stack&&imeta.controller.getValueScaleId()===scale.id&&chart.isDatasetVisible(i)&&(ivalue=scale.getRightValue(datasets[i].data[index]),(value<0&&ivalue<0||value>=0&&ivalue>0)&&(start+=ivalue));return base=scale.getPixelForValue(start),{size:size=((head=scale.getPixelForValue(start+value))-base)/2,base:base,head:head,center:head+size/2}},calculateBarIndexPixels:function(datasetIndex,index,ruler){var leftSampleSize,rightSampleSize,leftCategorySize,fullBarSize,size,options=ruler.scale.options,stackIndex=this.getStackIndex(datasetIndex),pixels=ruler.pixels,base=pixels[index],length=pixels.length,start=ruler.start,end=ruler.end;return 1===length?(leftSampleSize=base>start?base-start:end-base,rightSampleSize=base<end?end-base:base-start):(index>0&&(leftSampleSize=(base-pixels[index-1])/2,index===length-1&&(rightSampleSize=leftSampleSize)),index<length-1&&(rightSampleSize=(pixels[index+1]-base)/2,0===index&&(leftSampleSize=rightSampleSize))),size=(fullBarSize=((leftCategorySize=leftSampleSize*options.categoryPercentage)+rightSampleSize*options.categoryPercentage)/ruler.stackCount)*options.barPercentage,base-=leftCategorySize,base+=fullBarSize*stackIndex,{size:size=Math.min(helpers.valueOrDefault(options.barThickness,size),helpers.valueOrDefault(options.maxBarThickness,1/0)),base:base+=(fullBarSize-size)/2,head:base+size,center:base+size/2}},draw:function(){var chart=this.chart,scale=this.getValueScale(),rects=this.getMeta().data,dataset=this.getDataset(),ilen=rects.length,i=0;for(helpers.canvas.clipArea(chart.ctx,chart.chartArea);i<ilen;++i)isNaN(scale.getRightValue(dataset.data[i]))||rects[i].draw();helpers.canvas.unclipArea(chart.ctx)},setHoverStyle:function(rectangle){var dataset=this.chart.data.datasets[rectangle._datasetIndex],index=rectangle._index,custom=rectangle.custom||{},model=rectangle._model;model.backgroundColor=custom.hoverBackgroundColor?custom.hoverBackgroundColor:helpers.valueAtIndexOrDefault(dataset.hoverBackgroundColor,index,helpers.getHoverColor(model.backgroundColor)),model.borderColor=custom.hoverBorderColor?custom.hoverBorderColor:helpers.valueAtIndexOrDefault(dataset.hoverBorderColor,index,helpers.getHoverColor(model.borderColor)),model.borderWidth=custom.hoverBorderWidth?custom.hoverBorderWidth:helpers.valueAtIndexOrDefault(dataset.hoverBorderWidth,index,model.borderWidth)},removeHoverStyle:function(rectangle){var dataset=this.chart.data.datasets[rectangle._datasetIndex],index=rectangle._index,custom=rectangle.custom||{},model=rectangle._model,rectangleElementOptions=this.chart.options.elements.rectangle;model.backgroundColor=custom.backgroundColor?custom.backgroundColor:helpers.valueAtIndexOrDefault(dataset.backgroundColor,index,rectangleElementOptions.backgroundColor),model.borderColor=custom.borderColor?custom.borderColor:helpers.valueAtIndexOrDefault(dataset.borderColor,index,rectangleElementOptions.borderColor),model.borderWidth=custom.borderWidth?custom.borderWidth:helpers.valueAtIndexOrDefault(dataset.borderWidth,index,rectangleElementOptions.borderWidth)}}),Chart.controllers.horizontalBar=Chart.controllers.bar.extend({getValueScaleId:function(){return this.getMeta().xAxisID},getIndexScaleId:function(){return this.getMeta().yAxisID}})}},{25:25,40:40,45:45}],16:[function(require,module,exports){var defaults=require(25),elements=require(40),helpers=require(45);defaults._set("bubble",{hover:{mode:"single"},scales:{xAxes:[{type:"linear",position:"bottom",id:"x-axis-0"}],yAxes:[{type:"linear",position:"left",id:"y-axis-0"}]},tooltips:{callbacks:{title:function(){return""},label:function(item,data){var datasetLabel=data.datasets[item.datasetIndex].label||"",dataPoint=data.datasets[item.datasetIndex].data[item.index];return datasetLabel+": ("+item.xLabel+", "+item.yLabel+", "+dataPoint.r+")"}}}}),module.exports=function(Chart){Chart.controllers.bubble=Chart.DatasetController.extend({dataElementType:elements.Point,update:function(reset){var me=this,points=me.getMeta().data;helpers.each(points,(function(point,index){me.updateElement(point,index,reset)}))},updateElement:function(point,index,reset){var me=this,meta=me.getMeta(),custom=point.custom||{},xScale=me.getScaleForId(meta.xAxisID),yScale=me.getScaleForId(meta.yAxisID),options=me._resolveElementOptions(point,index),data=me.getDataset().data[index],dsIndex=me.index,x=reset?xScale.getPixelForDecimal(.5):xScale.getPixelForValue("object"===_typeof(data)?data:NaN,index,dsIndex),y=reset?yScale.getBasePixel():yScale.getPixelForValue(data,index,dsIndex);point._xScale=xScale,point._yScale=yScale,point._options=options,point._datasetIndex=dsIndex,point._index=index,point._model={backgroundColor:options.backgroundColor,borderColor:options.borderColor,borderWidth:options.borderWidth,hitRadius:options.hitRadius,pointStyle:options.pointStyle,radius:reset?0:options.radius,skip:custom.skip||isNaN(x)||isNaN(y),x:x,y:y},point.pivot()},setHoverStyle:function(point){var model=point._model,options=point._options;model.backgroundColor=helpers.valueOrDefault(options.hoverBackgroundColor,helpers.getHoverColor(options.backgroundColor)),model.borderColor=helpers.valueOrDefault(options.hoverBorderColor,helpers.getHoverColor(options.borderColor)),model.borderWidth=helpers.valueOrDefault(options.hoverBorderWidth,options.borderWidth),model.radius=options.radius+options.hoverRadius},removeHoverStyle:function(point){var model=point._model,options=point._options;model.backgroundColor=options.backgroundColor,model.borderColor=options.borderColor,model.borderWidth=options.borderWidth,model.radius=options.radius},_resolveElementOptions:function(point,index){var i,ilen,key,chart=this.chart,dataset=chart.data.datasets[this.index],custom=point.custom||{},options=chart.options.elements.point,resolve=helpers.options.resolve,data=dataset.data[index],values={},context={chart:chart,dataIndex:index,dataset:dataset,datasetIndex:this.index},keys=["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle"];for(i=0,ilen=keys.length;i<ilen;++i)values[key=keys[i]]=resolve([custom[key],dataset[key],options[key]],context,index);return values.radius=resolve([custom.radius,data?data.r:void 0,dataset.radius,options.radius],context,index),values}})}},{25:25,40:40,45:45}],17:[function(require,module,exports){var defaults=require(25),elements=require(40),helpers=require(45);defaults._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(chart){var text=[];text.push('<ul class="'+chart.id+'-legend">');var data=chart.data,datasets=data.datasets,labels=data.labels;if(datasets.length)for(var i=0;i<datasets[0].data.length;++i)text.push('<li><span style="background-color:'+datasets[0].backgroundColor[i]+'"></span>'),labels[i]&&text.push(labels[i]),text.push("</li>");return text.push("</ul>"),text.join("")},legend:{labels:{generateLabels:function(chart){var data=chart.data;return data.labels.length&&data.datasets.length?data.labels.map((function(label,i){var meta=chart.getDatasetMeta(0),ds=data.datasets[0],arc=meta.data[i],custom=arc&&arc.custom||{},valueAtIndexOrDefault=helpers.valueAtIndexOrDefault,arcOpts=chart.options.elements.arc;return{text:label,fillStyle:custom.backgroundColor?custom.backgroundColor:valueAtIndexOrDefault(ds.backgroundColor,i,arcOpts.backgroundColor),strokeStyle:custom.borderColor?custom.borderColor:valueAtIndexOrDefault(ds.borderColor,i,arcOpts.borderColor),lineWidth:custom.borderWidth?custom.borderWidth:valueAtIndexOrDefault(ds.borderWidth,i,arcOpts.borderWidth),hidden:isNaN(ds.data[i])||meta.data[i].hidden,index:i}})):[]}},onClick:function(e,legendItem){var i,ilen,meta,index=legendItem.index,chart=this.chart;for(i=0,ilen=(chart.data.datasets||[]).length;i<ilen;++i)(meta=chart.getDatasetMeta(i)).data[index]&&(meta.data[index].hidden=!meta.data[index].hidden);chart.update()}},cutoutPercentage:50,rotation:-.5*Math.PI,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return""},label:function(tooltipItem,data){var dataLabel=data.labels[tooltipItem.index],value=": "+data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];return helpers.isArray(dataLabel)?(dataLabel=dataLabel.slice())[0]+=value:dataLabel+=value,dataLabel}}}}),defaults._set("pie",helpers.clone(defaults.doughnut)),defaults._set("pie",{cutoutPercentage:0}),module.exports=function(Chart){Chart.controllers.doughnut=Chart.controllers.pie=Chart.DatasetController.extend({dataElementType:elements.Arc,linkScales:helpers.noop,getRingIndex:function(datasetIndex){for(var ringIndex=0,j=0;j<datasetIndex;++j)this.chart.isDatasetVisible(j)&&++ringIndex;return ringIndex},update:function(reset){var me=this,chart=me.chart,chartArea=chart.chartArea,opts=chart.options,arcOpts=opts.elements.arc,availableWidth=chartArea.right-chartArea.left-arcOpts.borderWidth,availableHeight=chartArea.bottom-chartArea.top-arcOpts.borderWidth,minSize=Math.min(availableWidth,availableHeight),offset={x:0,y:0},meta=me.getMeta(),cutoutPercentage=opts.cutoutPercentage,circumference=opts.circumference;if(circumference<2*Math.PI){var startAngle=opts.rotation%(2*Math.PI),endAngle=(startAngle+=2*Math.PI*(startAngle>=Math.PI?-1:startAngle<-Math.PI?1:0))+circumference,start={x:Math.cos(startAngle),y:Math.sin(startAngle)},end={x:Math.cos(endAngle),y:Math.sin(endAngle)},contains0=startAngle<=0&&endAngle>=0||startAngle<=2*Math.PI&&2*Math.PI<=endAngle,contains90=startAngle<=.5*Math.PI&&.5*Math.PI<=endAngle||startAngle<=2.5*Math.PI&&2.5*Math.PI<=endAngle,contains180=startAngle<=-Math.PI&&-Math.PI<=endAngle||startAngle<=Math.PI&&Math.PI<=endAngle,contains270=startAngle<=.5*-Math.PI&&.5*-Math.PI<=endAngle||startAngle<=1.5*Math.PI&&1.5*Math.PI<=endAngle,cutout=cutoutPercentage/100,min={x:contains180?-1:Math.min(start.x*(start.x<0?1:cutout),end.x*(end.x<0?1:cutout)),y:contains270?-1:Math.min(start.y*(start.y<0?1:cutout),end.y*(end.y<0?1:cutout))},max={x:contains0?1:Math.max(start.x*(start.x>0?1:cutout),end.x*(end.x>0?1:cutout)),y:contains90?1:Math.max(start.y*(start.y>0?1:cutout),end.y*(end.y>0?1:cutout))},size={width:.5*(max.x-min.x),height:.5*(max.y-min.y)};minSize=Math.min(availableWidth/size.width,availableHeight/size.height),offset={x:-.5*(max.x+min.x),y:-.5*(max.y+min.y)}}chart.borderWidth=me.getMaxBorderWidth(meta.data),chart.outerRadius=Math.max((minSize-chart.borderWidth)/2,0),chart.innerRadius=Math.max(cutoutPercentage?chart.outerRadius/100*cutoutPercentage:0,0),chart.radiusLength=(chart.outerRadius-chart.innerRadius)/chart.getVisibleDatasetCount(),chart.offsetX=offset.x*chart.outerRadius,chart.offsetY=offset.y*chart.outerRadius,meta.total=me.calculateTotal(),me.outerRadius=chart.outerRadius-chart.radiusLength*me.getRingIndex(me.index),me.innerRadius=Math.max(me.outerRadius-chart.radiusLength,0),helpers.each(meta.data,(function(arc,index){me.updateElement(arc,index,reset)}))},updateElement:function(arc,index,reset){var me=this,chart=me.chart,chartArea=chart.chartArea,opts=chart.options,animationOpts=opts.animation,centerX=(chartArea.left+chartArea.right)/2,centerY=(chartArea.top+chartArea.bottom)/2,startAngle=opts.rotation,endAngle=opts.rotation,dataset=me.getDataset(),circumference=reset&&animationOpts.animateRotate||arc.hidden?0:me.calculateCircumference(dataset.data[index])*(opts.circumference/(2*Math.PI)),innerRadius=reset&&animationOpts.animateScale?0:me.innerRadius,outerRadius=reset&&animationOpts.animateScale?0:me.outerRadius,valueAtIndexOrDefault=helpers.valueAtIndexOrDefault;helpers.extend(arc,{_datasetIndex:me.index,_index:index,_model:{x:centerX+chart.offsetX,y:centerY+chart.offsetY,startAngle:startAngle,endAngle:endAngle,circumference:circumference,outerRadius:outerRadius,innerRadius:innerRadius,label:valueAtIndexOrDefault(dataset.label,index,chart.data.labels[index])}});var model=arc._model;this.removeHoverStyle(arc),reset&&animationOpts.animateRotate||(model.startAngle=0===index?opts.rotation:me.getMeta().data[index-1]._model.endAngle,model.endAngle=model.startAngle+model.circumference),arc.pivot()},removeHoverStyle:function(arc){Chart.DatasetController.prototype.removeHoverStyle.call(this,arc,this.chart.options.elements.arc)},calculateTotal:function(){var value,dataset=this.getDataset(),meta=this.getMeta(),total=0;return helpers.each(meta.data,(function(element,index){value=dataset.data[index],isNaN(value)||element.hidden||(total+=Math.abs(value))})),total},calculateCircumference:function(value){var total=this.getMeta().total;return total>0&&!isNaN(value)?2*Math.PI*(value/total):0},getMaxBorderWidth:function(arcs){for(var borderWidth,hoverWidth,max=0,index=this.index,length=arcs.length,i=0;i<length;i++)borderWidth=arcs[i]._model?arcs[i]._model.borderWidth:0,max=(hoverWidth=arcs[i]._chart?arcs[i]._chart.config.data.datasets[index].hoverBorderWidth:0)>(max=borderWidth>max?borderWidth:max)?hoverWidth:max;return max}})}},{25:25,40:40,45:45}],18:[function(require,module,exports){var defaults=require(25),elements=require(40),helpers=require(45);defaults._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),module.exports=function(Chart){function lineEnabled(dataset,options){return helpers.valueOrDefault(dataset.showLine,options.showLines)}Chart.controllers.line=Chart.DatasetController.extend({datasetElementType:elements.Line,dataElementType:elements.Point,update:function(reset){var i,ilen,custom,me=this,meta=me.getMeta(),line=meta.dataset,points=meta.data||[],options=me.chart.options,lineElementOptions=options.elements.line,scale=me.getScaleForId(meta.yAxisID),dataset=me.getDataset(),showLine=lineEnabled(dataset,options);for(showLine&&(custom=line.custom||{},void 0!==dataset.tension&&void 0===dataset.lineTension&&(dataset.lineTension=dataset.tension),line._scale=scale,line._datasetIndex=me.index,line._children=points,line._model={spanGaps:dataset.spanGaps?dataset.spanGaps:options.spanGaps,tension:custom.tension?custom.tension:helpers.valueOrDefault(dataset.lineTension,lineElementOptions.tension),backgroundColor:custom.backgroundColor?custom.backgroundColor:dataset.backgroundColor||lineElementOptions.backgroundColor,borderWidth:custom.borderWidth?custom.borderWidth:dataset.borderWidth||lineElementOptions.borderWidth,borderColor:custom.borderColor?custom.borderColor:dataset.borderColor||lineElementOptions.borderColor,borderCapStyle:custom.borderCapStyle?custom.borderCapStyle:dataset.borderCapStyle||lineElementOptions.borderCapStyle,borderDash:custom.borderDash?custom.borderDash:dataset.borderDash||lineElementOptions.borderDash,borderDashOffset:custom.borderDashOffset?custom.borderDashOffset:dataset.borderDashOffset||lineElementOptions.borderDashOffset,borderJoinStyle:custom.borderJoinStyle?custom.borderJoinStyle:dataset.borderJoinStyle||lineElementOptions.borderJoinStyle,fill:custom.fill?custom.fill:void 0!==dataset.fill?dataset.fill:lineElementOptions.fill,steppedLine:custom.steppedLine?custom.steppedLine:helpers.valueOrDefault(dataset.steppedLine,lineElementOptions.stepped),cubicInterpolationMode:custom.cubicInterpolationMode?custom.cubicInterpolationMode:helpers.valueOrDefault(dataset.cubicInterpolationMode,lineElementOptions.cubicInterpolationMode)},line.pivot()),i=0,ilen=points.length;i<ilen;++i)me.updateElement(points[i],i,reset);for(showLine&&0!==line._model.tension&&me.updateBezierControlPoints(),i=0,ilen=points.length;i<ilen;++i)points[i].pivot()},getPointBackgroundColor:function(point,index){var backgroundColor=this.chart.options.elements.point.backgroundColor,dataset=this.getDataset(),custom=point.custom||{};return custom.backgroundColor?backgroundColor=custom.backgroundColor:dataset.pointBackgroundColor?backgroundColor=helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor,index,backgroundColor):dataset.backgroundColor&&(backgroundColor=dataset.backgroundColor),backgroundColor},getPointBorderColor:function(point,index){var borderColor=this.chart.options.elements.point.borderColor,dataset=this.getDataset(),custom=point.custom||{};return custom.borderColor?borderColor=custom.borderColor:dataset.pointBorderColor?borderColor=helpers.valueAtIndexOrDefault(dataset.pointBorderColor,index,borderColor):dataset.borderColor&&(borderColor=dataset.borderColor),borderColor},getPointBorderWidth:function(point,index){var borderWidth=this.chart.options.elements.point.borderWidth,dataset=this.getDataset(),custom=point.custom||{};return isNaN(custom.borderWidth)?!isNaN(dataset.pointBorderWidth)||helpers.isArray(dataset.pointBorderWidth)?borderWidth=helpers.valueAtIndexOrDefault(dataset.pointBorderWidth,index,borderWidth):isNaN(dataset.borderWidth)||(borderWidth=dataset.borderWidth):borderWidth=custom.borderWidth,borderWidth},updateElement:function(point,index,reset){var x,y,me=this,meta=me.getMeta(),custom=point.custom||{},dataset=me.getDataset(),datasetIndex=me.index,value=dataset.data[index],yScale=me.getScaleForId(meta.yAxisID),xScale=me.getScaleForId(meta.xAxisID),pointOptions=me.chart.options.elements.point;void 0!==dataset.radius&&void 0===dataset.pointRadius&&(dataset.pointRadius=dataset.radius),void 0!==dataset.hitRadius&&void 0===dataset.pointHitRadius&&(dataset.pointHitRadius=dataset.hitRadius),x=xScale.getPixelForValue("object"===_typeof(value)?value:NaN,index,datasetIndex),y=reset?yScale.getBasePixel():me.calculatePointY(value,index,datasetIndex),point._xScale=xScale,point._yScale=yScale,point._datasetIndex=datasetIndex,point._index=index,point._model={x:x,y:y,skip:custom.skip||isNaN(x)||isNaN(y),radius:custom.radius||helpers.valueAtIndexOrDefault(dataset.pointRadius,index,pointOptions.radius),pointStyle:custom.pointStyle||helpers.valueAtIndexOrDefault(dataset.pointStyle,index,pointOptions.pointStyle),backgroundColor:me.getPointBackgroundColor(point,index),borderColor:me.getPointBorderColor(point,index),borderWidth:me.getPointBorderWidth(point,index),tension:meta.dataset._model?meta.dataset._model.tension:0,steppedLine:!!meta.dataset._model&&meta.dataset._model.steppedLine,hitRadius:custom.hitRadius||helpers.valueAtIndexOrDefault(dataset.pointHitRadius,index,pointOptions.hitRadius)}},calculatePointY:function(value,index,datasetIndex){var i,ds,dsMeta,chart=this.chart,meta=this.getMeta(),yScale=this.getScaleForId(meta.yAxisID),sumPos=0,sumNeg=0;if(yScale.options.stacked){for(i=0;i<datasetIndex;i++)if(ds=chart.data.datasets[i],"line"===(dsMeta=chart.getDatasetMeta(i)).type&&dsMeta.yAxisID===yScale.id&&chart.isDatasetVisible(i)){var stackedRightValue=Number(yScale.getRightValue(ds.data[index]));stackedRightValue<0?sumNeg+=stackedRightValue||0:sumPos+=stackedRightValue||0}var rightValue=Number(yScale.getRightValue(value));return rightValue<0?yScale.getPixelForValue(sumNeg+rightValue):yScale.getPixelForValue(sumPos+rightValue)}return yScale.getPixelForValue(value)},updateBezierControlPoints:function(){var i,ilen,model,controlPoints,meta=this.getMeta(),area=this.chart.chartArea,points=meta.data||[];function capControlPoint(pt,min,max){return Math.max(Math.min(pt,max),min)}if(meta.dataset._model.spanGaps&&(points=points.filter((function(pt){return!pt._model.skip}))),"monotone"===meta.dataset._model.cubicInterpolationMode)helpers.splineCurveMonotone(points);else for(i=0,ilen=points.length;i<ilen;++i)model=points[i]._model,controlPoints=helpers.splineCurve(helpers.previousItem(points,i)._model,model,helpers.nextItem(points,i)._model,meta.dataset._model.tension),model.controlPointPreviousX=controlPoints.previous.x,model.controlPointPreviousY=controlPoints.previous.y,model.controlPointNextX=controlPoints.next.x,model.controlPointNextY=controlPoints.next.y;if(this.chart.options.elements.line.capBezierPoints)for(i=0,ilen=points.length;i<ilen;++i)(model=points[i]._model).controlPointPreviousX=capControlPoint(model.controlPointPreviousX,area.left,area.right),model.controlPointPreviousY=capControlPoint(model.controlPointPreviousY,area.top,area.bottom),model.controlPointNextX=capControlPoint(model.controlPointNextX,area.left,area.right),model.controlPointNextY=capControlPoint(model.controlPointNextY,area.top,area.bottom)},draw:function(){var chart=this.chart,meta=this.getMeta(),points=meta.data||[],area=chart.chartArea,ilen=points.length,i=0;for(helpers.canvas.clipArea(chart.ctx,area),lineEnabled(this.getDataset(),chart.options)&&meta.dataset.draw(),helpers.canvas.unclipArea(chart.ctx);i<ilen;++i)points[i].draw(area)},setHoverStyle:function(point){var dataset=this.chart.data.datasets[point._datasetIndex],index=point._index,custom=point.custom||{},model=point._model;model.radius=custom.hoverRadius||helpers.valueAtIndexOrDefault(dataset.pointHoverRadius,index,this.chart.options.elements.point.hoverRadius),model.backgroundColor=custom.hoverBackgroundColor||helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor,index,helpers.getHoverColor(model.backgroundColor)),model.borderColor=custom.hoverBorderColor||helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor,index,helpers.getHoverColor(model.borderColor)),model.borderWidth=custom.hoverBorderWidth||helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth,index,model.borderWidth)},removeHoverStyle:function(point){var me=this,dataset=me.chart.data.datasets[point._datasetIndex],index=point._index,custom=point.custom||{},model=point._model;void 0!==dataset.radius&&void 0===dataset.pointRadius&&(dataset.pointRadius=dataset.radius),model.radius=custom.radius||helpers.valueAtIndexOrDefault(dataset.pointRadius,index,me.chart.options.elements.point.radius),model.backgroundColor=me.getPointBackgroundColor(point,index),model.borderColor=me.getPointBorderColor(point,index),model.borderWidth=me.getPointBorderWidth(point,index)}})}},{25:25,40:40,45:45}],19:[function(require,module,exports){var defaults=require(25),elements=require(40),helpers=require(45);defaults._set("polarArea",{scale:{type:"radialLinear",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(chart){var text=[];text.push('<ul class="'+chart.id+'-legend">');var data=chart.data,datasets=data.datasets,labels=data.labels;if(datasets.length)for(var i=0;i<datasets[0].data.length;++i)text.push('<li><span style="background-color:'+datasets[0].backgroundColor[i]+'"></span>'),labels[i]&&text.push(labels[i]),text.push("</li>");return text.push("</ul>"),text.join("")},legend:{labels:{generateLabels:function(chart){var data=chart.data;return data.labels.length&&data.datasets.length?data.labels.map((function(label,i){var meta=chart.getDatasetMeta(0),ds=data.datasets[0],custom=meta.data[i].custom||{},valueAtIndexOrDefault=helpers.valueAtIndexOrDefault,arcOpts=chart.options.elements.arc;return{text:label,fillStyle:custom.backgroundColor?custom.backgroundColor:valueAtIndexOrDefault(ds.backgroundColor,i,arcOpts.backgroundColor),strokeStyle:custom.borderColor?custom.borderColor:valueAtIndexOrDefault(ds.borderColor,i,arcOpts.borderColor),lineWidth:custom.borderWidth?custom.borderWidth:valueAtIndexOrDefault(ds.borderWidth,i,arcOpts.borderWidth),hidden:isNaN(ds.data[i])||meta.data[i].hidden,index:i}})):[]}},onClick:function(e,legendItem){var i,ilen,meta,index=legendItem.index,chart=this.chart;for(i=0,ilen=(chart.data.datasets||[]).length;i<ilen;++i)(meta=chart.getDatasetMeta(i)).data[index].hidden=!meta.data[index].hidden;chart.update()}},tooltips:{callbacks:{title:function(){return""},label:function(item,data){return data.labels[item.index]+": "+item.yLabel}}}}),module.exports=function(Chart){Chart.controllers.polarArea=Chart.DatasetController.extend({dataElementType:elements.Arc,linkScales:helpers.noop,update:function(reset){var me=this,chart=me.chart,chartArea=chart.chartArea,meta=me.getMeta(),opts=chart.options,arcOpts=opts.elements.arc,minSize=Math.min(chartArea.right-chartArea.left,chartArea.bottom-chartArea.top);chart.outerRadius=Math.max((minSize-arcOpts.borderWidth/2)/2,0),chart.innerRadius=Math.max(opts.cutoutPercentage?chart.outerRadius/100*opts.cutoutPercentage:1,0),chart.radiusLength=(chart.outerRadius-chart.innerRadius)/chart.getVisibleDatasetCount(),me.outerRadius=chart.outerRadius-chart.radiusLength*me.index,me.innerRadius=me.outerRadius-chart.radiusLength,meta.count=me.countVisibleElements(),helpers.each(meta.data,(function(arc,index){me.updateElement(arc,index,reset)}))},updateElement:function(arc,index,reset){for(var me=this,chart=me.chart,dataset=me.getDataset(),opts=chart.options,animationOpts=opts.animation,scale=chart.scale,labels=chart.data.labels,circumference=me.calculateCircumference(dataset.data[index]),centerX=scale.xCenter,centerY=scale.yCenter,visibleCount=0,meta=me.getMeta(),i=0;i<index;++i)isNaN(dataset.data[i])||meta.data[i].hidden||++visibleCount;var datasetStartAngle=opts.startAngle,distance=arc.hidden?0:scale.getDistanceFromCenterForValue(dataset.data[index]),startAngle=datasetStartAngle+circumference*visibleCount,endAngle=startAngle+(arc.hidden?0:circumference),resetRadius=animationOpts.animateScale?0:scale.getDistanceFromCenterForValue(dataset.data[index]);helpers.extend(arc,{_datasetIndex:me.index,_index:index,_scale:scale,_model:{x:centerX,y:centerY,innerRadius:0,outerRadius:reset?resetRadius:distance,startAngle:reset&&animationOpts.animateRotate?datasetStartAngle:startAngle,endAngle:reset&&animationOpts.animateRotate?datasetStartAngle:endAngle,label:helpers.valueAtIndexOrDefault(labels,index,labels[index])}}),me.removeHoverStyle(arc),arc.pivot()},removeHoverStyle:function(arc){Chart.DatasetController.prototype.removeHoverStyle.call(this,arc,this.chart.options.elements.arc)},countVisibleElements:function(){var dataset=this.getDataset(),meta=this.getMeta(),count=0;return helpers.each(meta.data,(function(element,index){isNaN(dataset.data[index])||element.hidden||count++})),count},calculateCircumference:function(value){var count=this.getMeta().count;return count>0&&!isNaN(value)?2*Math.PI/count:0}})}},{25:25,40:40,45:45}],20:[function(require,module,exports){var defaults=require(25),elements=require(40),helpers=require(45);defaults._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}}),module.exports=function(Chart){Chart.controllers.radar=Chart.DatasetController.extend({datasetElementType:elements.Line,dataElementType:elements.Point,linkScales:helpers.noop,update:function(reset){var me=this,meta=me.getMeta(),line=meta.dataset,points=meta.data,custom=line.custom||{},dataset=me.getDataset(),lineElementOptions=me.chart.options.elements.line,scale=me.chart.scale;void 0!==dataset.tension&&void 0===dataset.lineTension&&(dataset.lineTension=dataset.tension),helpers.extend(meta.dataset,{_datasetIndex:me.index,_scale:scale,_children:points,_loop:!0,_model:{tension:custom.tension?custom.tension:helpers.valueOrDefault(dataset.lineTension,lineElementOptions.tension),backgroundColor:custom.backgroundColor?custom.backgroundColor:dataset.backgroundColor||lineElementOptions.backgroundColor,borderWidth:custom.borderWidth?custom.borderWidth:dataset.borderWidth||lineElementOptions.borderWidth,borderColor:custom.borderColor?custom.borderColor:dataset.borderColor||lineElementOptions.borderColor,fill:custom.fill?custom.fill:void 0!==dataset.fill?dataset.fill:lineElementOptions.fill,borderCapStyle:custom.borderCapStyle?custom.borderCapStyle:dataset.borderCapStyle||lineElementOptions.borderCapStyle,borderDash:custom.borderDash?custom.borderDash:dataset.borderDash||lineElementOptions.borderDash,borderDashOffset:custom.borderDashOffset?custom.borderDashOffset:dataset.borderDashOffset||lineElementOptions.borderDashOffset,borderJoinStyle:custom.borderJoinStyle?custom.borderJoinStyle:dataset.borderJoinStyle||lineElementOptions.borderJoinStyle}}),meta.dataset.pivot(),helpers.each(points,(function(point,index){me.updateElement(point,index,reset)}),me),me.updateBezierControlPoints()},updateElement:function(point,index,reset){var me=this,custom=point.custom||{},dataset=me.getDataset(),scale=me.chart.scale,pointElementOptions=me.chart.options.elements.point,pointPosition=scale.getPointPositionForValue(index,dataset.data[index]);void 0!==dataset.radius&&void 0===dataset.pointRadius&&(dataset.pointRadius=dataset.radius),void 0!==dataset.hitRadius&&void 0===dataset.pointHitRadius&&(dataset.pointHitRadius=dataset.hitRadius),helpers.extend(point,{_datasetIndex:me.index,_index:index,_scale:scale,_model:{x:reset?scale.xCenter:pointPosition.x,y:reset?scale.yCenter:pointPosition.y,tension:custom.tension?custom.tension:helpers.valueOrDefault(dataset.lineTension,me.chart.options.elements.line.tension),radius:custom.radius?custom.radius:helpers.valueAtIndexOrDefault(dataset.pointRadius,index,pointElementOptions.radius),backgroundColor:custom.backgroundColor?custom.backgroundColor:helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor,index,pointElementOptions.backgroundColor),borderColor:custom.borderColor?custom.borderColor:helpers.valueAtIndexOrDefault(dataset.pointBorderColor,index,pointElementOptions.borderColor),borderWidth:custom.borderWidth?custom.borderWidth:helpers.valueAtIndexOrDefault(dataset.pointBorderWidth,index,pointElementOptions.borderWidth),pointStyle:custom.pointStyle?custom.pointStyle:helpers.valueAtIndexOrDefault(dataset.pointStyle,index,pointElementOptions.pointStyle),hitRadius:custom.hitRadius?custom.hitRadius:helpers.valueAtIndexOrDefault(dataset.pointHitRadius,index,pointElementOptions.hitRadius)}}),point._model.skip=custom.skip?custom.skip:isNaN(point._model.x)||isNaN(point._model.y)},updateBezierControlPoints:function(){var chartArea=this.chart.chartArea,meta=this.getMeta();helpers.each(meta.data,(function(point,index){var model=point._model,controlPoints=helpers.splineCurve(helpers.previousItem(meta.data,index,!0)._model,model,helpers.nextItem(meta.data,index,!0)._model,model.tension);model.controlPointPreviousX=Math.max(Math.min(controlPoints.previous.x,chartArea.right),chartArea.left),model.controlPointPreviousY=Math.max(Math.min(controlPoints.previous.y,chartArea.bottom),chartArea.top),model.controlPointNextX=Math.max(Math.min(controlPoints.next.x,chartArea.right),chartArea.left),model.controlPointNextY=Math.max(Math.min(controlPoints.next.y,chartArea.bottom),chartArea.top),point.pivot()}))},setHoverStyle:function(point){var dataset=this.chart.data.datasets[point._datasetIndex],custom=point.custom||{},index=point._index,model=point._model;model.radius=custom.hoverRadius?custom.hoverRadius:helpers.valueAtIndexOrDefault(dataset.pointHoverRadius,index,this.chart.options.elements.point.hoverRadius),model.backgroundColor=custom.hoverBackgroundColor?custom.hoverBackgroundColor:helpers.valueAtIndexOrDefault(dataset.pointHoverBackgroundColor,index,helpers.getHoverColor(model.backgroundColor)),model.borderColor=custom.hoverBorderColor?custom.hoverBorderColor:helpers.valueAtIndexOrDefault(dataset.pointHoverBorderColor,index,helpers.getHoverColor(model.borderColor)),model.borderWidth=custom.hoverBorderWidth?custom.hoverBorderWidth:helpers.valueAtIndexOrDefault(dataset.pointHoverBorderWidth,index,model.borderWidth)},removeHoverStyle:function(point){var dataset=this.chart.data.datasets[point._datasetIndex],custom=point.custom||{},index=point._index,model=point._model,pointElementOptions=this.chart.options.elements.point;model.radius=custom.radius?custom.radius:helpers.valueAtIndexOrDefault(dataset.pointRadius,index,pointElementOptions.radius),model.backgroundColor=custom.backgroundColor?custom.backgroundColor:helpers.valueAtIndexOrDefault(dataset.pointBackgroundColor,index,pointElementOptions.backgroundColor),model.borderColor=custom.borderColor?custom.borderColor:helpers.valueAtIndexOrDefault(dataset.pointBorderColor,index,pointElementOptions.borderColor),model.borderWidth=custom.borderWidth?custom.borderWidth:helpers.valueAtIndexOrDefault(dataset.pointBorderWidth,index,pointElementOptions.borderWidth)}})}},{25:25,40:40,45:45}],21:[function(require,module,exports){require(25)._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(item){return"("+item.xLabel+", "+item.yLabel+")"}}}}),module.exports=function(Chart){Chart.controllers.scatter=Chart.controllers.line}},{25:25}],22:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45);defaults._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:helpers.noop,onComplete:helpers.noop}}),module.exports=function(Chart){Chart.Animation=Element.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),Chart.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(chart,animation,duration,lazy){var i,ilen,animations=this.animations;for(animation.chart=chart,lazy||(chart.animating=!0),i=0,ilen=animations.length;i<ilen;++i)if(animations[i].chart===chart)return void(animations[i]=animation);animations.push(animation),1===animations.length&&this.requestAnimationFrame()},cancelAnimation:function(chart){var index=helpers.findIndex(this.animations,(function(animation){return animation.chart===chart}));-1!==index&&(this.animations.splice(index,1),chart.animating=!1)},requestAnimationFrame:function(){var me=this;null===me.request&&(me.request=helpers.requestAnimFrame.call(window,(function(){me.request=null,me.startDigest()})))},startDigest:function(){var me=this,startTime=Date.now(),framesToDrop=0;me.dropFrames>1&&(framesToDrop=Math.floor(me.dropFrames),me.dropFrames=me.dropFrames%1),me.advance(1+framesToDrop);var endTime=Date.now();me.dropFrames+=(endTime-startTime)/me.frameDuration,me.animations.length>0&&me.requestAnimationFrame()},advance:function(count){for(var animation,chart,animations=this.animations,i=0;i<animations.length;)chart=(animation=animations[i]).chart,animation.currentStep=(animation.currentStep||0)+count,animation.currentStep=Math.min(animation.currentStep,animation.numSteps),helpers.callback(animation.render,[chart,animation],chart),helpers.callback(animation.onAnimationProgress,[animation],chart),animation.currentStep>=animation.numSteps?(helpers.callback(animation.onAnimationComplete,[animation],chart),chart.animating=!1,animations.splice(i,1)):++i}},Object.defineProperty(Chart.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(Chart.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(value){this.chart=value}})}},{25:25,26:26,45:45}],23:[function(require,module,exports){var defaults=require(25),helpers=require(45),Interaction=require(28),platform=require(48);module.exports=function(Chart){var plugins=Chart.plugins;function updateConfig(chart){var newOptions=chart.options;newOptions.scale?chart.scale.options=newOptions.scale:newOptions.scales&&newOptions.scales.xAxes.concat(newOptions.scales.yAxes).forEach((function(scaleOptions){chart.scales[scaleOptions.id].options=scaleOptions})),chart.tooltip._options=newOptions.tooltips}function positionIsHorizontal(position){return"top"===position||"bottom"===position}Chart.types={},Chart.instances={},Chart.controllers={},helpers.extend(Chart.prototype,{construct:function(item,config){var me=this;config=function(config){var data=(config=config||{}).data=config.data||{};return data.datasets=data.datasets||[],data.labels=data.labels||[],config.options=helpers.configMerge(defaults.global,defaults[config.type],config.options||{}),config}(config);var context=platform.acquireContext(item,config),canvas=context&&context.canvas,height=canvas&&canvas.height,width=canvas&&canvas.width;me.id=helpers.uid(),me.ctx=context,me.canvas=canvas,me.config=config,me.width=width,me.height=height,me.aspectRatio=height?width/height:null,me.options=config.options,me._bufferedRender=!1,me.chart=me,me.controller=me,Chart.instances[me.id]=me,Object.defineProperty(me,"data",{get:function(){return me.config.data},set:function(value){me.config.data=value}}),context&&canvas?(me.initialize(),me.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var me=this;return plugins.notify(me,"beforeInit"),helpers.retinaScale(me,me.options.devicePixelRatio),me.bindEvents(),me.options.responsive&&me.resize(!0),me.ensureScalesHaveIDs(),me.buildScales(),me.initToolTip(),plugins.notify(me,"afterInit"),me},clear:function(){return helpers.canvas.clear(this),this},stop:function(){return Chart.animationService.cancelAnimation(this),this},resize:function(silent){var me=this,options=me.options,canvas=me.canvas,aspectRatio=options.maintainAspectRatio&&me.aspectRatio||null,newWidth=Math.max(0,Math.floor(helpers.getMaximumWidth(canvas))),newHeight=Math.max(0,Math.floor(aspectRatio?newWidth/aspectRatio:helpers.getMaximumHeight(canvas)));if((me.width!==newWidth||me.height!==newHeight)&&(canvas.width=me.width=newWidth,canvas.height=me.height=newHeight,canvas.style.width=newWidth+"px",canvas.style.height=newHeight+"px",helpers.retinaScale(me,options.devicePixelRatio),!silent)){var newSize={width:newWidth,height:newHeight};plugins.notify(me,"resize",[newSize]),me.options.onResize&&me.options.onResize(me,newSize),me.stop(),me.update(me.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var options=this.options,scalesOptions=options.scales||{},scaleOptions=options.scale;helpers.each(scalesOptions.xAxes,(function(xAxisOptions,index){xAxisOptions.id=xAxisOptions.id||"x-axis-"+index})),helpers.each(scalesOptions.yAxes,(function(yAxisOptions,index){yAxisOptions.id=yAxisOptions.id||"y-axis-"+index})),scaleOptions&&(scaleOptions.id=scaleOptions.id||"scale")},buildScales:function(){var me=this,options=me.options,scales=me.scales={},items=[];options.scales&&(items=items.concat((options.scales.xAxes||[]).map((function(xAxisOptions){return{options:xAxisOptions,dtype:"category",dposition:"bottom"}})),(options.scales.yAxes||[]).map((function(yAxisOptions){return{options:yAxisOptions,dtype:"linear",dposition:"left"}})))),options.scale&&items.push({options:options.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),helpers.each(items,(function(item){var scaleOptions=item.options,scaleType=helpers.valueOrDefault(scaleOptions.type,item.dtype),scaleClass=Chart.scaleService.getScaleConstructor(scaleType);if(scaleClass){positionIsHorizontal(scaleOptions.position)!==positionIsHorizontal(item.dposition)&&(scaleOptions.position=item.dposition);var scale=new scaleClass({id:scaleOptions.id,options:scaleOptions,ctx:me.ctx,chart:me});scales[scale.id]=scale,scale.mergeTicksOptions(),item.isDefault&&(me.scale=scale)}})),Chart.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var me=this,types=[],newControllers=[];return helpers.each(me.data.datasets,(function(dataset,datasetIndex){var meta=me.getDatasetMeta(datasetIndex),type=dataset.type||me.config.type;if(meta.type&&meta.type!==type&&(me.destroyDatasetMeta(datasetIndex),meta=me.getDatasetMeta(datasetIndex)),meta.type=type,types.push(meta.type),meta.controller)meta.controller.updateIndex(datasetIndex);else{var ControllerClass=Chart.controllers[meta.type];if(void 0===ControllerClass)throw new Error('"'+meta.type+'" is not a chart type.');meta.controller=new ControllerClass(me,datasetIndex),newControllers.push(meta.controller)}}),me),newControllers},resetElements:function(){var me=this;helpers.each(me.data.datasets,(function(dataset,datasetIndex){me.getDatasetMeta(datasetIndex).controller.reset()}),me)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(config){var me=this;if(config&&"object"===_typeof(config)||(config={duration:config,lazy:arguments[1]}),updateConfig(me),!1!==plugins.notify(me,"beforeUpdate")){me.tooltip._data=me.data;var newControllers=me.buildOrUpdateControllers();helpers.each(me.data.datasets,(function(dataset,datasetIndex){me.getDatasetMeta(datasetIndex).controller.buildOrUpdateElements()}),me),me.updateLayout(),helpers.each(newControllers,(function(controller){controller.reset()})),me.updateDatasets(),plugins.notify(me,"afterUpdate"),me._bufferedRender?me._bufferedRequest={duration:config.duration,easing:config.easing,lazy:config.lazy}:me.render(config)}},updateLayout:function(){!1!==plugins.notify(this,"beforeLayout")&&(Chart.layoutService.update(this,this.width,this.height),plugins.notify(this,"afterScaleUpdate"),plugins.notify(this,"afterLayout"))},updateDatasets:function(){if(!1!==plugins.notify(this,"beforeDatasetsUpdate")){for(var i=0,ilen=this.data.datasets.length;i<ilen;++i)this.updateDataset(i);plugins.notify(this,"afterDatasetsUpdate")}},updateDataset:function(index){var meta=this.getDatasetMeta(index),args={meta:meta,index:index};!1!==plugins.notify(this,"beforeDatasetUpdate",[args])&&(meta.controller.update(),plugins.notify(this,"afterDatasetUpdate",[args]))},render:function(config){var me=this;config&&"object"===_typeof(config)||(config={duration:config,lazy:arguments[1]});var duration=config.duration,lazy=config.lazy;if(!1!==plugins.notify(me,"beforeRender")){var animationOptions=me.options.animation,onComplete=function(animation){plugins.notify(me,"afterRender"),helpers.callback(animationOptions&&animationOptions.onComplete,[animation],me)};if(animationOptions&&(void 0!==duration&&0!==duration||void 0===duration&&0!==animationOptions.duration)){var animation=new Chart.Animation({numSteps:(duration||animationOptions.duration)/16.66,easing:config.easing||animationOptions.easing,render:function(chart,animationObject){var easingFunction=helpers.easing.effects[animationObject.easing],currentStep=animationObject.currentStep,stepDecimal=currentStep/animationObject.numSteps;chart.draw(easingFunction(stepDecimal),stepDecimal,currentStep)},onAnimationProgress:animationOptions.onProgress,onAnimationComplete:onComplete});Chart.animationService.addAnimation(me,animation,duration,lazy)}else me.draw(),onComplete(new Chart.Animation({numSteps:0,chart:me}));return me}},draw:function(easingValue){var me=this;me.clear(),helpers.isNullOrUndef(easingValue)&&(easingValue=1),me.transition(easingValue),!1!==plugins.notify(me,"beforeDraw",[easingValue])&&(helpers.each(me.boxes,(function(box){box.draw(me.chartArea)}),me),me.scale&&me.scale.draw(),me.drawDatasets(easingValue),me.tooltip.draw(),plugins.notify(me,"afterDraw",[easingValue]))},transition:function(easingValue){for(var i=0,ilen=(this.data.datasets||[]).length;i<ilen;++i)this.isDatasetVisible(i)&&this.getDatasetMeta(i).controller.transition(easingValue);this.tooltip.transition(easingValue)},drawDatasets:function(easingValue){var me=this;if(!1!==plugins.notify(me,"beforeDatasetsDraw",[easingValue])){for(var i=(me.data.datasets||[]).length-1;i>=0;--i)me.isDatasetVisible(i)&&me.drawDataset(i,easingValue);plugins.notify(me,"afterDatasetsDraw",[easingValue])}},drawDataset:function(index,easingValue){var meta=this.getDatasetMeta(index),args={meta:meta,index:index,easingValue:easingValue};!1!==plugins.notify(this,"beforeDatasetDraw",[args])&&(meta.controller.draw(easingValue),plugins.notify(this,"afterDatasetDraw",[args]))},getElementAtEvent:function(e){return Interaction.modes.single(this,e)},getElementsAtEvent:function(e){return Interaction.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return Interaction.modes["x-axis"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,mode,options){var method=Interaction.modes[mode];return"function"==typeof method?method(this,e,options):[]},getDatasetAtEvent:function(e){return Interaction.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(datasetIndex){var dataset=this.data.datasets[datasetIndex];dataset._meta||(dataset._meta={});var meta=dataset._meta[this.id];return meta||(meta=dataset._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),meta},getVisibleDatasetCount:function(){for(var count=0,i=0,ilen=this.data.datasets.length;i<ilen;++i)this.isDatasetVisible(i)&&count++;return count},isDatasetVisible:function(datasetIndex){var meta=this.getDatasetMeta(datasetIndex);return"boolean"==typeof meta.hidden?!meta.hidden:!this.data.datasets[datasetIndex].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(datasetIndex){var id=this.id,dataset=this.data.datasets[datasetIndex],meta=dataset._meta&&dataset._meta[id];meta&&(meta.controller.destroy(),delete dataset._meta[id])},destroy:function(){var i,ilen,me=this,canvas=me.canvas;for(me.stop(),i=0,ilen=me.data.datasets.length;i<ilen;++i)me.destroyDatasetMeta(i);canvas&&(me.unbindEvents(),helpers.canvas.clear(me),platform.releaseContext(me.ctx),me.canvas=null,me.ctx=null),plugins.notify(me,"destroy"),delete Chart.instances[me.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var me=this;me.tooltip=new Chart.Tooltip({_chart:me,_chartInstance:me,_data:me.data,_options:me.options.tooltips},me)},bindEvents:function(){var me=this,listeners=me._listeners={},listener=function(){me.eventHandler.apply(me,arguments)};helpers.each(me.options.events,(function(type){platform.addEventListener(me,type,listener),listeners[type]=listener})),me.options.responsive&&(listener=function(){me.resize()},platform.addEventListener(me,"resize",listener),listeners.resize=listener)},unbindEvents:function(){var me=this,listeners=me._listeners;listeners&&(delete me._listeners,helpers.each(listeners,(function(listener,type){platform.removeEventListener(me,type,listener)})))},updateHoverStyle:function(elements,mode,enabled){var element,i,ilen,method=enabled?"setHoverStyle":"removeHoverStyle";for(i=0,ilen=elements.length;i<ilen;++i)(element=elements[i])&&this.getDatasetMeta(element._datasetIndex).controller[method](element)},eventHandler:function(e){var me=this,tooltip=me.tooltip;if(!1!==plugins.notify(me,"beforeEvent",[e])){me._bufferedRender=!0,me._bufferedRequest=null;var changed=me.handleEvent(e);changed|=tooltip&&tooltip.handleEvent(e),plugins.notify(me,"afterEvent",[e]);var bufferedRequest=me._bufferedRequest;return bufferedRequest?me.render(bufferedRequest):changed&&!me.animating&&(me.stop(),me.render(me.options.hover.animationDuration,!0)),me._bufferedRender=!1,me._bufferedRequest=null,me}},handleEvent:function(e){var changed,me=this,options=me.options||{},hoverOptions=options.hover;return me.lastActive=me.lastActive||[],"mouseout"===e.type?me.active=[]:me.active=me.getElementsAtEventForMode(e,hoverOptions.mode,hoverOptions),helpers.callback(options.onHover||options.hover.onHover,[e.native,me.active],me),"mouseup"!==e.type&&"click"!==e.type||options.onClick&&options.onClick.call(me,e.native,me.active),me.lastActive.length&&me.updateHoverStyle(me.lastActive,hoverOptions.mode,!1),me.active.length&&hoverOptions.mode&&me.updateHoverStyle(me.active,hoverOptions.mode,!0),changed=!helpers.arrayEquals(me.active,me.lastActive),me.lastActive=me.active,changed}}),Chart.Controller=Chart}},{25:25,28:28,45:45,48:48}],24:[function(require,module,exports){var helpers=require(45);module.exports=function(Chart){var arrayEvents=["push","pop","shift","splice","unshift"];function unlistenArrayEvents(array,listener){var stub=array._chartjs;if(stub){var listeners=stub.listeners,index=listeners.indexOf(listener);-1!==index&&listeners.splice(index,1),listeners.length>0||(arrayEvents.forEach((function(key){delete array[key]})),delete array._chartjs)}}Chart.DatasetController=function(chart,datasetIndex){this.initialize(chart,datasetIndex)},helpers.extend(Chart.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(chart,datasetIndex){this.chart=chart,this.index=datasetIndex,this.linkScales(),this.addElements()},updateIndex:function(datasetIndex){this.index=datasetIndex},linkScales:function(){var meta=this.getMeta(),dataset=this.getDataset();null===meta.xAxisID&&(meta.xAxisID=dataset.xAxisID||this.chart.options.scales.xAxes[0].id),null===meta.yAxisID&&(meta.yAxisID=dataset.yAxisID||this.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(scaleID){return this.chart.scales[scaleID]},reset:function(){this.update(!0)},destroy:function(){this._data&&unlistenArrayEvents(this._data,this)},createMetaDataset:function(){var type=this.datasetElementType;return type&&new type({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(index){var type=this.dataElementType;return type&&new type({_chart:this.chart,_datasetIndex:this.index,_index:index})},addElements:function(){var i,ilen,meta=this.getMeta(),data=this.getDataset().data||[],metaData=meta.data;for(i=0,ilen=data.length;i<ilen;++i)metaData[i]=metaData[i]||this.createMetaData(i);meta.dataset=meta.dataset||this.createMetaDataset()},addElementAndReset:function(index){var element=this.createMetaData(index);this.getMeta().data.splice(index,0,element),this.updateElement(element,index,!0)},buildOrUpdateElements:function(){var array,listener,me=this,dataset=me.getDataset(),data=dataset.data||(dataset.data=[]);me._data!==data&&(me._data&&unlistenArrayEvents(me._data,me),listener=me,(array=data)._chartjs?array._chartjs.listeners.push(listener):(Object.defineProperty(array,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[listener]}}),arrayEvents.forEach((function(key){var method="onData"+key.charAt(0).toUpperCase()+key.slice(1),base=array[key];Object.defineProperty(array,key,{configurable:!0,enumerable:!1,value:function(){var args=Array.prototype.slice.call(arguments),res=base.apply(this,args);return helpers.each(array._chartjs.listeners,(function(object){"function"==typeof object[method]&&object[method].apply(object,args)})),res}})}))),me._data=data),me.resyncElements()},update:helpers.noop,transition:function(easingValue){for(var meta=this.getMeta(),elements=meta.data||[],ilen=elements.length,i=0;i<ilen;++i)elements[i].transition(easingValue);meta.dataset&&meta.dataset.transition(easingValue)},draw:function(){var meta=this.getMeta(),elements=meta.data||[],ilen=elements.length,i=0;for(meta.dataset&&meta.dataset.draw();i<ilen;++i)elements[i].draw()},removeHoverStyle:function(element,elementOpts){var dataset=this.chart.data.datasets[element._datasetIndex],index=element._index,custom=element.custom||{},valueOrDefault=helpers.valueAtIndexOrDefault,model=element._model;model.backgroundColor=custom.backgroundColor?custom.backgroundColor:valueOrDefault(dataset.backgroundColor,index,elementOpts.backgroundColor),model.borderColor=custom.borderColor?custom.borderColor:valueOrDefault(dataset.borderColor,index,elementOpts.borderColor),model.borderWidth=custom.borderWidth?custom.borderWidth:valueOrDefault(dataset.borderWidth,index,elementOpts.borderWidth)},setHoverStyle:function(element){var dataset=this.chart.data.datasets[element._datasetIndex],index=element._index,custom=element.custom||{},valueOrDefault=helpers.valueAtIndexOrDefault,getHoverColor=helpers.getHoverColor,model=element._model;model.backgroundColor=custom.hoverBackgroundColor?custom.hoverBackgroundColor:valueOrDefault(dataset.hoverBackgroundColor,index,getHoverColor(model.backgroundColor)),model.borderColor=custom.hoverBorderColor?custom.hoverBorderColor:valueOrDefault(dataset.hoverBorderColor,index,getHoverColor(model.borderColor)),model.borderWidth=custom.hoverBorderWidth?custom.hoverBorderWidth:valueOrDefault(dataset.hoverBorderWidth,index,model.borderWidth)},resyncElements:function(){var meta=this.getMeta(),data=this.getDataset().data,numMeta=meta.data.length,numData=data.length;numData<numMeta?meta.data.splice(numData,numMeta-numData):numData>numMeta&&this.insertElements(numMeta,numData-numMeta)},insertElements:function(start,count){for(var i=0;i<count;++i)this.addElementAndReset(start+i)},onDataPush:function(){this.insertElements(this.getDataset().data.length-1,arguments.length)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(start,count){this.getMeta().data.splice(start,count),this.insertElements(start,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),Chart.DatasetController.extend=helpers.inherits}},{45:45}],25:[function(require,module,exports){var helpers=require(45);module.exports={_set:function(scope,values){return helpers.merge(this[scope]||(this[scope]={}),values)}}},{45:45}],26:[function(require,module,exports){var color=require(2),helpers=require(45);var Element=function(configuration){helpers.extend(this,configuration),this.initialize.apply(this,arguments)};helpers.extend(Element.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var me=this;return me._view||(me._view=helpers.clone(me._model)),me._start={},me},transition:function(ease){var me=this,model=me._model,start=me._start,view=me._view;return model&&1!==ease?(view||(view=me._view={}),start||(start=me._start={}),function(start,view,model,ease){var i,ilen,key,actual,origin,target,type,c0,c1,keys=Object.keys(model);for(i=0,ilen=keys.length;i<ilen;++i)if(target=model[key=keys[i]],view.hasOwnProperty(key)||(view[key]=target),(actual=view[key])!==target&&"_"!==key[0]){if(start.hasOwnProperty(key)||(start[key]=actual),origin=start[key],(type=_typeof(target))===_typeof(origin))if("string"===type){if((c0=color(origin)).valid&&(c1=color(target)).valid){view[key]=c1.mix(c0,ease).rgbString();continue}}else if("number"===type&&isFinite(origin)&&isFinite(target)){view[key]=origin+(target-origin)*ease;continue}view[key]=target}}(start,view,model,ease),me):(me._view=model,me._start=null,me)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return helpers.isNumber(this._model.x)&&helpers.isNumber(this._model.y)}}),Element.extend=helpers.inherits,module.exports=Element},{2:2,45:45}],27:[function(require,module,exports){var color=require(2),defaults=require(25),helpers=require(45);module.exports=function(Chart){function parseMaxStyle(styleValue,node,parentProperty){var valueInPixels;return"string"==typeof styleValue?(valueInPixels=parseInt(styleValue,10),-1!==styleValue.indexOf("%")&&(valueInPixels=valueInPixels/100*node.parentNode[parentProperty])):valueInPixels=styleValue,valueInPixels}function isConstrainedValue(value){return null!=value&&"none"!==value}function getConstraintDimension(domNode,maxStyle,percentageProperty){var view=document.defaultView,parentNode=domNode.parentNode,constrainedNode=view.getComputedStyle(domNode)[maxStyle],constrainedContainer=view.getComputedStyle(parentNode)[maxStyle],hasCNode=isConstrainedValue(constrainedNode),hasCContainer=isConstrainedValue(constrainedContainer),infinity=Number.POSITIVE_INFINITY;return hasCNode||hasCContainer?Math.min(hasCNode?parseMaxStyle(constrainedNode,domNode,percentageProperty):infinity,hasCContainer?parseMaxStyle(constrainedContainer,parentNode,percentageProperty):infinity):"none"}helpers.extend=function(base){for(var setFn=function(value,key){base[key]=value},i=1,ilen=arguments.length;i<ilen;i++)helpers.each(arguments[i],setFn);return base},helpers.configMerge=function(){return helpers.merge(helpers.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(key,target,source,options){var tval=target[key]||{},sval=source[key];"scales"===key?target[key]=helpers.scaleMerge(tval,sval):"scale"===key?target[key]=helpers.merge(tval,[Chart.scaleService.getScaleDefaults(sval.type),sval]):helpers._merger(key,target,source,options)}})},helpers.scaleMerge=function(){return helpers.merge(helpers.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(key,target,source,options){if("xAxes"===key||"yAxes"===key){var i,type,scale,slen=source[key].length;for(target[key]||(target[key]=[]),i=0;i<slen;++i)scale=source[key][i],type=helpers.valueOrDefault(scale.type,"xAxes"===key?"category":"linear"),i>=target[key].length&&target[key].push({}),!target[key][i].type||scale.type&&scale.type!==target[key][i].type?helpers.merge(target[key][i],[Chart.scaleService.getScaleDefaults(type),scale]):helpers.merge(target[key][i],scale)}else helpers._merger(key,target,source,options)}})},helpers.where=function(collection,filterCallback){if(helpers.isArray(collection)&&Array.prototype.filter)return collection.filter(filterCallback);var filtered=[];return helpers.each(collection,(function(item){filterCallback(item)&&filtered.push(item)})),filtered},helpers.findIndex=Array.prototype.findIndex?function(array,callback,scope){return array.findIndex(callback,scope)}:function(array,callback,scope){scope=void 0===scope?array:scope;for(var i=0,ilen=array.length;i<ilen;++i)if(callback.call(scope,array[i],i,array))return i;return-1},helpers.findNextWhere=function(arrayToSearch,filterCallback,startIndex){helpers.isNullOrUndef(startIndex)&&(startIndex=-1);for(var i=startIndex+1;i<arrayToSearch.length;i++){var currentItem=arrayToSearch[i];if(filterCallback(currentItem))return currentItem}},helpers.findPreviousWhere=function(arrayToSearch,filterCallback,startIndex){helpers.isNullOrUndef(startIndex)&&(startIndex=arrayToSearch.length);for(var i=startIndex-1;i>=0;i--){var currentItem=arrayToSearch[i];if(filterCallback(currentItem))return currentItem}},helpers.inherits=function(extensions){var me=this,ChartElement=extensions&&extensions.hasOwnProperty("constructor")?extensions.constructor:function(){return me.apply(this,arguments)},Surrogate=function(){this.constructor=ChartElement};return Surrogate.prototype=me.prototype,ChartElement.prototype=new Surrogate,ChartElement.extend=helpers.inherits,extensions&&helpers.extend(ChartElement.prototype,extensions),ChartElement.__super__=me.prototype,ChartElement},helpers.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n)},helpers.almostEquals=function(x,y,epsilon){return Math.abs(x-y)<epsilon},helpers.almostWhole=function(x,epsilon){var rounded=Math.round(x);return rounded-epsilon<x&&rounded+epsilon>x},helpers.max=function(array){return array.reduce((function(max,value){return isNaN(value)?max:Math.max(max,value)}),Number.NEGATIVE_INFINITY)},helpers.min=function(array){return array.reduce((function(min,value){return isNaN(value)?min:Math.min(min,value)}),Number.POSITIVE_INFINITY)},helpers.sign=Math.sign?function(x){return Math.sign(x)}:function(x){return 0===(x=+x)||isNaN(x)?x:x>0?1:-1},helpers.log10=Math.log10?function(x){return Math.log10(x)}:function(x){return Math.log(x)/Math.LN10},helpers.toRadians=function(degrees){return degrees*(Math.PI/180)},helpers.toDegrees=function(radians){return radians*(180/Math.PI)},helpers.getAngleFromPoint=function(centrePoint,anglePoint){var distanceFromXCenter=anglePoint.x-centrePoint.x,distanceFromYCenter=anglePoint.y-centrePoint.y,radialDistanceFromCenter=Math.sqrt(distanceFromXCenter*distanceFromXCenter+distanceFromYCenter*distanceFromYCenter),angle=Math.atan2(distanceFromYCenter,distanceFromXCenter);return angle<-.5*Math.PI&&(angle+=2*Math.PI),{angle:angle,distance:radialDistanceFromCenter}},helpers.distanceBetweenPoints=function(pt1,pt2){return Math.sqrt(Math.pow(pt2.x-pt1.x,2)+Math.pow(pt2.y-pt1.y,2))},helpers.aliasPixel=function(pixelWidth){return pixelWidth%2==0?0:.5},helpers.splineCurve=function(firstPoint,middlePoint,afterPoint,t){var previous=firstPoint.skip?middlePoint:firstPoint,current=middlePoint,next=afterPoint.skip?middlePoint:afterPoint,d01=Math.sqrt(Math.pow(current.x-previous.x,2)+Math.pow(current.y-previous.y,2)),d12=Math.sqrt(Math.pow(next.x-current.x,2)+Math.pow(next.y-current.y,2)),s01=d01/(d01+d12),s12=d12/(d01+d12),fa=t*(s01=isNaN(s01)?0:s01),fb=t*(s12=isNaN(s12)?0:s12);return{previous:{x:current.x-fa*(next.x-previous.x),y:current.y-fa*(next.y-previous.y)},next:{x:current.x+fb*(next.x-previous.x),y:current.y+fb*(next.y-previous.y)}}},helpers.EPSILON=Number.EPSILON||1e-14,helpers.splineCurveMonotone=function(points){var i,pointBefore,pointCurrent,pointAfter,alphaK,betaK,tauK,squaredMagnitude,deltaX,pointsWithTangents=(points||[]).map((function(point){return{model:point._model,deltaK:0,mK:0}})),pointsLen=pointsWithTangents.length;for(i=0;i<pointsLen;++i)if(!(pointCurrent=pointsWithTangents[i]).model.skip){if(pointBefore=i>0?pointsWithTangents[i-1]:null,(pointAfter=i<pointsLen-1?pointsWithTangents[i+1]:null)&&!pointAfter.model.skip){var slopeDeltaX=pointAfter.model.x-pointCurrent.model.x;pointCurrent.deltaK=0!==slopeDeltaX?(pointAfter.model.y-pointCurrent.model.y)/slopeDeltaX:0}!pointBefore||pointBefore.model.skip?pointCurrent.mK=pointCurrent.deltaK:!pointAfter||pointAfter.model.skip?pointCurrent.mK=pointBefore.deltaK:this.sign(pointBefore.deltaK)!==this.sign(pointCurrent.deltaK)?pointCurrent.mK=0:pointCurrent.mK=(pointBefore.deltaK+pointCurrent.deltaK)/2}for(i=0;i<pointsLen-1;++i)pointCurrent=pointsWithTangents[i],pointAfter=pointsWithTangents[i+1],pointCurrent.model.skip||pointAfter.model.skip||(helpers.almostEquals(pointCurrent.deltaK,0,this.EPSILON)?pointCurrent.mK=pointAfter.mK=0:(alphaK=pointCurrent.mK/pointCurrent.deltaK,betaK=pointAfter.mK/pointCurrent.deltaK,(squaredMagnitude=Math.pow(alphaK,2)+Math.pow(betaK,2))<=9||(tauK=3/Math.sqrt(squaredMagnitude),pointCurrent.mK=alphaK*tauK*pointCurrent.deltaK,pointAfter.mK=betaK*tauK*pointCurrent.deltaK)));for(i=0;i<pointsLen;++i)(pointCurrent=pointsWithTangents[i]).model.skip||(pointBefore=i>0?pointsWithTangents[i-1]:null,pointAfter=i<pointsLen-1?pointsWithTangents[i+1]:null,pointBefore&&!pointBefore.model.skip&&(deltaX=(pointCurrent.model.x-pointBefore.model.x)/3,pointCurrent.model.controlPointPreviousX=pointCurrent.model.x-deltaX,pointCurrent.model.controlPointPreviousY=pointCurrent.model.y-deltaX*pointCurrent.mK),pointAfter&&!pointAfter.model.skip&&(deltaX=(pointAfter.model.x-pointCurrent.model.x)/3,pointCurrent.model.controlPointNextX=pointCurrent.model.x+deltaX,pointCurrent.model.controlPointNextY=pointCurrent.model.y+deltaX*pointCurrent.mK))},helpers.nextItem=function(collection,index,loop){return loop?index>=collection.length-1?collection[0]:collection[index+1]:index>=collection.length-1?collection[collection.length-1]:collection[index+1]},helpers.previousItem=function(collection,index,loop){return loop?index<=0?collection[collection.length-1]:collection[index-1]:index<=0?collection[0]:collection[index-1]},helpers.niceNum=function(range,round){var exponent=Math.floor(helpers.log10(range)),fraction=range/Math.pow(10,exponent);return(round?fraction<1.5?1:fraction<3?2:fraction<7?5:10:fraction<=1?1:fraction<=2?2:fraction<=5?5:10)*Math.pow(10,exponent)},helpers.requestAnimFrame="undefined"==typeof window?function(callback){callback()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){return window.setTimeout(callback,1e3/60)},helpers.getRelativePosition=function(evt,chart){var mouseX,mouseY,e=evt.originalEvent||evt,canvas=evt.currentTarget||evt.srcElement,boundingRect=canvas.getBoundingClientRect(),touches=e.touches;touches&&touches.length>0?(mouseX=touches[0].clientX,mouseY=touches[0].clientY):(mouseX=e.clientX,mouseY=e.clientY);var paddingLeft=parseFloat(helpers.getStyle(canvas,"padding-left")),paddingTop=parseFloat(helpers.getStyle(canvas,"padding-top")),paddingRight=parseFloat(helpers.getStyle(canvas,"padding-right")),paddingBottom=parseFloat(helpers.getStyle(canvas,"padding-bottom")),width=boundingRect.right-boundingRect.left-paddingLeft-paddingRight,height=boundingRect.bottom-boundingRect.top-paddingTop-paddingBottom;return{x:mouseX=Math.round((mouseX-boundingRect.left-paddingLeft)/width*canvas.width/chart.currentDevicePixelRatio),y:mouseY=Math.round((mouseY-boundingRect.top-paddingTop)/height*canvas.height/chart.currentDevicePixelRatio)}},helpers.getConstraintWidth=function(domNode){return getConstraintDimension(domNode,"max-width","clientWidth")},helpers.getConstraintHeight=function(domNode){return getConstraintDimension(domNode,"max-height","clientHeight")},helpers.getMaximumWidth=function(domNode){var container=domNode.parentNode;if(!container)return domNode.clientWidth;var paddingLeft=parseInt(helpers.getStyle(container,"padding-left"),10),paddingRight=parseInt(helpers.getStyle(container,"padding-right"),10),w=container.clientWidth-paddingLeft-paddingRight,cw=helpers.getConstraintWidth(domNode);return isNaN(cw)?w:Math.min(w,cw)},helpers.getMaximumHeight=function(domNode){var container=domNode.parentNode;if(!container)return domNode.clientHeight;var paddingTop=parseInt(helpers.getStyle(container,"padding-top"),10),paddingBottom=parseInt(helpers.getStyle(container,"padding-bottom"),10),h=container.clientHeight-paddingTop-paddingBottom,ch=helpers.getConstraintHeight(domNode);return isNaN(ch)?h:Math.min(h,ch)},helpers.getStyle=function(el,property){return el.currentStyle?el.currentStyle[property]:document.defaultView.getComputedStyle(el,null).getPropertyValue(property)},helpers.retinaScale=function(chart,forceRatio){var pixelRatio=chart.currentDevicePixelRatio=forceRatio||window.devicePixelRatio||1;if(1!==pixelRatio){var canvas=chart.canvas,height=chart.height,width=chart.width;canvas.height=height*pixelRatio,canvas.width=width*pixelRatio,chart.ctx.scale(pixelRatio,pixelRatio),canvas.style.height=height+"px",canvas.style.width=width+"px"}},helpers.fontString=function(pixelSize,fontStyle,fontFamily){return fontStyle+" "+pixelSize+"px "+fontFamily},helpers.longestText=function(ctx,font,arrayOfThings,cache){var data=(cache=cache||{}).data=cache.data||{},gc=cache.garbageCollect=cache.garbageCollect||[];cache.font!==font&&(data=cache.data={},gc=cache.garbageCollect=[],cache.font=font),ctx.font=font;var longest=0;helpers.each(arrayOfThings,(function(thing){null!=thing&&!0!==helpers.isArray(thing)?longest=helpers.measureText(ctx,data,gc,longest,thing):helpers.isArray(thing)&&helpers.each(thing,(function(nestedThing){null==nestedThing||helpers.isArray(nestedThing)||(longest=helpers.measureText(ctx,data,gc,longest,nestedThing))}))}));var gcLen=gc.length/2;if(gcLen>arrayOfThings.length){for(var i=0;i<gcLen;i++)delete data[gc[i]];gc.splice(0,gcLen)}return longest},helpers.measureText=function(ctx,data,gc,longest,string){var textWidth=data[string];return textWidth||(textWidth=data[string]=ctx.measureText(string).width,gc.push(string)),textWidth>longest&&(longest=textWidth),longest},helpers.numberOfLabelLines=function(arrayOfThings){var numberOfLines=1;return helpers.each(arrayOfThings,(function(thing){helpers.isArray(thing)&&thing.length>numberOfLines&&(numberOfLines=thing.length)})),numberOfLines},helpers.color=color?function(value){return value instanceof CanvasGradient&&(value=defaults.global.defaultColor),color(value)}:function(value){return console.error("Color.js not found!"),value},helpers.getHoverColor=function(colorValue){return colorValue instanceof CanvasPattern?colorValue:helpers.color(colorValue).saturate(.5).darken(.1).rgbString()}}},{2:2,25:25,45:45}],28:[function(require,module,exports){var helpers=require(45);function getRelativePosition(e,chart){return e.native?{x:e.x,y:e.y}:helpers.getRelativePosition(e,chart)}function parseVisibleItems(chart,handler){var meta,i,j,ilen,jlen;for(i=0,ilen=chart.data.datasets.length;i<ilen;++i)if(chart.isDatasetVisible(i))for(j=0,jlen=(meta=chart.getDatasetMeta(i)).data.length;j<jlen;++j){var element=meta.data[j];element._view.skip||handler(element)}}function getIntersectItems(chart,position){var elements=[];return parseVisibleItems(chart,(function(element){element.inRange(position.x,position.y)&&elements.push(element)})),elements}function getNearestItems(chart,position,intersect,distanceMetric){var minDistance=Number.POSITIVE_INFINITY,nearestItems=[];return parseVisibleItems(chart,(function(element){if(!intersect||element.inRange(position.x,position.y)){var center=element.getCenterPoint(),distance=distanceMetric(position,center);distance<minDistance?(nearestItems=[element],minDistance=distance):distance===minDistance&&nearestItems.push(element)}})),nearestItems}function getDistanceMetricForAxis(axis){var useX=-1!==axis.indexOf("x"),useY=-1!==axis.indexOf("y");return function(pt1,pt2){var deltaX=useX?Math.abs(pt1.x-pt2.x):0,deltaY=useY?Math.abs(pt1.y-pt2.y):0;return Math.sqrt(Math.pow(deltaX,2)+Math.pow(deltaY,2))}}function indexMode(chart,e,options){var position=getRelativePosition(e,chart);options.axis=options.axis||"x";var distanceMetric=getDistanceMetricForAxis(options.axis),items=options.intersect?getIntersectItems(chart,position):getNearestItems(chart,position,!1,distanceMetric),elements=[];return items.length?(chart.data.datasets.forEach((function(dataset,datasetIndex){if(chart.isDatasetVisible(datasetIndex)){var element=chart.getDatasetMeta(datasetIndex).data[items[0]._index];element&&!element._view.skip&&elements.push(element)}})),elements):[]}module.exports={modes:{single:function(chart,e){var position=getRelativePosition(e,chart),elements=[];return parseVisibleItems(chart,(function(element){if(element.inRange(position.x,position.y))return elements.push(element),elements})),elements.slice(0,1)},label:indexMode,index:indexMode,dataset:function(chart,e,options){var position=getRelativePosition(e,chart);options.axis=options.axis||"xy";var distanceMetric=getDistanceMetricForAxis(options.axis),items=options.intersect?getIntersectItems(chart,position):getNearestItems(chart,position,!1,distanceMetric);return items.length>0&&(items=chart.getDatasetMeta(items[0]._datasetIndex).data),items},"x-axis":function(chart,e){return indexMode(chart,e,{intersect:!0})},point:function(chart,e){return getIntersectItems(chart,getRelativePosition(e,chart))},nearest:function(chart,e,options){var position=getRelativePosition(e,chart);options.axis=options.axis||"xy";var distanceMetric=getDistanceMetricForAxis(options.axis),nearestItems=getNearestItems(chart,position,options.intersect,distanceMetric);return nearestItems.length>1&&nearestItems.sort((function(a,b){var ret=a.getArea()-b.getArea();return 0===ret&&(ret=a._datasetIndex-b._datasetIndex),ret})),nearestItems.slice(0,1)},x:function(chart,e,options){var position=getRelativePosition(e,chart),items=[],intersectsItem=!1;return parseVisibleItems(chart,(function(element){element.inXRange(position.x)&&items.push(element),element.inRange(position.x,position.y)&&(intersectsItem=!0)})),options.intersect&&!intersectsItem&&(items=[]),items},y:function(chart,e,options){var position=getRelativePosition(e,chart),items=[],intersectsItem=!1;return parseVisibleItems(chart,(function(element){element.inYRange(position.y)&&items.push(element),element.inRange(position.x,position.y)&&(intersectsItem=!0)})),options.intersect&&!intersectsItem&&(items=[]),items}}}},{45:45}],29:[function(require,module,exports){require(25)._set("global",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),module.exports=function(){var Chart=function(item,config){return this.construct(item,config),this};return Chart.Chart=Chart,Chart}},{25:25}],30:[function(require,module,exports){var helpers=require(45);module.exports=function(Chart){function filterByPosition(array,position){return helpers.where(array,(function(v){return v.position===position}))}function sortByWeight(array,reverse){array.forEach((function(v,i){return v._tmpIndex_=i,v})),array.sort((function(a,b){var v0=reverse?b:a,v1=reverse?a:b;return v0.weight===v1.weight?v0._tmpIndex_-v1._tmpIndex_:v0.weight-v1.weight})),array.forEach((function(v){delete v._tmpIndex_}))}Chart.layoutService={defaults:{},addBox:function(chart,item){chart.boxes||(chart.boxes=[]),item.fullWidth=item.fullWidth||!1,item.position=item.position||"top",item.weight=item.weight||0,chart.boxes.push(item)},removeBox:function(chart,layoutItem){var index=chart.boxes?chart.boxes.indexOf(layoutItem):-1;-1!==index&&chart.boxes.splice(index,1)},configure:function(chart,item,options){for(var prop,props=["fullWidth","position","weight"],ilen=props.length,i=0;i<ilen;++i)prop=props[i],options.hasOwnProperty(prop)&&(item[prop]=options[prop])},update:function(chart,width,height){if(chart){var layoutOptions=chart.options.layout||{},padding=helpers.options.toPadding(layoutOptions.padding),leftPadding=padding.left,rightPadding=padding.right,topPadding=padding.top,bottomPadding=padding.bottom,leftBoxes=filterByPosition(chart.boxes,"left"),rightBoxes=filterByPosition(chart.boxes,"right"),topBoxes=filterByPosition(chart.boxes,"top"),bottomBoxes=filterByPosition(chart.boxes,"bottom"),chartAreaBoxes=filterByPosition(chart.boxes,"chartArea");sortByWeight(leftBoxes,!0),sortByWeight(rightBoxes,!1),sortByWeight(topBoxes,!0),sortByWeight(bottomBoxes,!1);var chartWidth=width-leftPadding-rightPadding,chartHeight=height-topPadding-bottomPadding,chartAreaHeight=chartHeight/2,verticalBoxWidth=(width-chartWidth/2)/(leftBoxes.length+rightBoxes.length),horizontalBoxHeight=(height-chartAreaHeight)/(topBoxes.length+bottomBoxes.length),maxChartAreaWidth=chartWidth,maxChartAreaHeight=chartHeight,minBoxSizes=[];helpers.each(leftBoxes.concat(rightBoxes,topBoxes,bottomBoxes),(function(box){var minSize,isHorizontal=box.isHorizontal();isHorizontal?(minSize=box.update(box.fullWidth?chartWidth:maxChartAreaWidth,horizontalBoxHeight),maxChartAreaHeight-=minSize.height):(minSize=box.update(verticalBoxWidth,chartAreaHeight),maxChartAreaWidth-=minSize.width),minBoxSizes.push({horizontal:isHorizontal,minSize:minSize,box:box})}));var maxHorizontalLeftPadding=0,maxHorizontalRightPadding=0,maxVerticalTopPadding=0,maxVerticalBottomPadding=0;helpers.each(topBoxes.concat(bottomBoxes),(function(horizontalBox){if(horizontalBox.getPadding){var boxPadding=horizontalBox.getPadding();maxHorizontalLeftPadding=Math.max(maxHorizontalLeftPadding,boxPadding.left),maxHorizontalRightPadding=Math.max(maxHorizontalRightPadding,boxPadding.right)}})),helpers.each(leftBoxes.concat(rightBoxes),(function(verticalBox){if(verticalBox.getPadding){var boxPadding=verticalBox.getPadding();maxVerticalTopPadding=Math.max(maxVerticalTopPadding,boxPadding.top),maxVerticalBottomPadding=Math.max(maxVerticalBottomPadding,boxPadding.bottom)}}));var totalLeftBoxesWidth=leftPadding,totalRightBoxesWidth=rightPadding,totalTopBoxesHeight=topPadding,totalBottomBoxesHeight=bottomPadding;helpers.each(leftBoxes.concat(rightBoxes),fitBox),helpers.each(leftBoxes,(function(box){totalLeftBoxesWidth+=box.width})),helpers.each(rightBoxes,(function(box){totalRightBoxesWidth+=box.width})),helpers.each(topBoxes.concat(bottomBoxes),fitBox),helpers.each(topBoxes,(function(box){totalTopBoxesHeight+=box.height})),helpers.each(bottomBoxes,(function(box){totalBottomBoxesHeight+=box.height})),helpers.each(leftBoxes.concat(rightBoxes),(function(box){var minBoxSize=helpers.findNextWhere(minBoxSizes,(function(minSize){return minSize.box===box})),scaleMargin={left:0,right:0,top:totalTopBoxesHeight,bottom:totalBottomBoxesHeight};minBoxSize&&box.update(minBoxSize.minSize.width,maxChartAreaHeight,scaleMargin)})),totalLeftBoxesWidth=leftPadding,totalRightBoxesWidth=rightPadding,totalTopBoxesHeight=topPadding,totalBottomBoxesHeight=bottomPadding,helpers.each(leftBoxes,(function(box){totalLeftBoxesWidth+=box.width})),helpers.each(rightBoxes,(function(box){totalRightBoxesWidth+=box.width})),helpers.each(topBoxes,(function(box){totalTopBoxesHeight+=box.height})),helpers.each(bottomBoxes,(function(box){totalBottomBoxesHeight+=box.height}));var leftPaddingAddition=Math.max(maxHorizontalLeftPadding-totalLeftBoxesWidth,0);totalLeftBoxesWidth+=leftPaddingAddition,totalRightBoxesWidth+=Math.max(maxHorizontalRightPadding-totalRightBoxesWidth,0);var topPaddingAddition=Math.max(maxVerticalTopPadding-totalTopBoxesHeight,0);totalTopBoxesHeight+=topPaddingAddition,totalBottomBoxesHeight+=Math.max(maxVerticalBottomPadding-totalBottomBoxesHeight,0);var newMaxChartAreaHeight=height-totalTopBoxesHeight-totalBottomBoxesHeight,newMaxChartAreaWidth=width-totalLeftBoxesWidth-totalRightBoxesWidth;newMaxChartAreaWidth===maxChartAreaWidth&&newMaxChartAreaHeight===maxChartAreaHeight||(helpers.each(leftBoxes,(function(box){box.height=newMaxChartAreaHeight})),helpers.each(rightBoxes,(function(box){box.height=newMaxChartAreaHeight})),helpers.each(topBoxes,(function(box){box.fullWidth||(box.width=newMaxChartAreaWidth)})),helpers.each(bottomBoxes,(function(box){box.fullWidth||(box.width=newMaxChartAreaWidth)})),maxChartAreaHeight=newMaxChartAreaHeight,maxChartAreaWidth=newMaxChartAreaWidth);var left=leftPadding+leftPaddingAddition,top=topPadding+topPaddingAddition;helpers.each(leftBoxes.concat(topBoxes),placeBox),left+=maxChartAreaWidth,top+=maxChartAreaHeight,helpers.each(rightBoxes,placeBox),helpers.each(bottomBoxes,placeBox),chart.chartArea={left:totalLeftBoxesWidth,top:totalTopBoxesHeight,right:totalLeftBoxesWidth+maxChartAreaWidth,bottom:totalTopBoxesHeight+maxChartAreaHeight},helpers.each(chartAreaBoxes,(function(box){box.left=chart.chartArea.left,box.top=chart.chartArea.top,box.right=chart.chartArea.right,box.bottom=chart.chartArea.bottom,box.update(maxChartAreaWidth,maxChartAreaHeight)}))}function fitBox(box){var minBoxSize=helpers.findNextWhere(minBoxSizes,(function(minBox){return minBox.box===box}));if(minBoxSize)if(box.isHorizontal()){var scaleMargin={left:Math.max(totalLeftBoxesWidth,maxHorizontalLeftPadding),right:Math.max(totalRightBoxesWidth,maxHorizontalRightPadding),top:0,bottom:0};box.update(box.fullWidth?chartWidth:maxChartAreaWidth,chartHeight/2,scaleMargin)}else box.update(minBoxSize.minSize.width,maxChartAreaHeight)}function placeBox(box){box.isHorizontal()?(box.left=box.fullWidth?leftPadding:totalLeftBoxesWidth,box.right=box.fullWidth?width-rightPadding:totalLeftBoxesWidth+maxChartAreaWidth,box.top=top,box.bottom=top+box.height,top=box.bottom):(box.left=left,box.right=left+box.width,box.top=totalTopBoxesHeight,box.bottom=totalTopBoxesHeight+maxChartAreaHeight,left=box.right)}}}}},{45:45}],31:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45);defaults._set("global",{plugins:{}}),module.exports=function(Chart){Chart.plugins={_plugins:[],_cacheId:0,register:function(plugins){var p=this._plugins;[].concat(plugins).forEach((function(plugin){-1===p.indexOf(plugin)&&p.push(plugin)})),this._cacheId++},unregister:function(plugins){var p=this._plugins;[].concat(plugins).forEach((function(plugin){var idx=p.indexOf(plugin);-1!==idx&&p.splice(idx,1)})),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(chart,hook,args){var i,descriptor,plugin,params,method,descriptors=this.descriptors(chart),ilen=descriptors.length;for(i=0;i<ilen;++i)if("function"==typeof(method=(plugin=(descriptor=descriptors[i]).plugin)[hook])&&((params=[chart].concat(args||[])).push(descriptor.options),!1===method.apply(plugin,params)))return!1;return!0},descriptors:function(chart){var cache=chart._plugins||(chart._plugins={});if(cache.id===this._cacheId)return cache.descriptors;var plugins=[],descriptors=[],config=chart&&chart.config||{},options=config.options&&config.options.plugins||{};return this._plugins.concat(config.plugins||[]).forEach((function(plugin){if(-1===plugins.indexOf(plugin)){var id=plugin.id,opts=options[id];!1!==opts&&(!0===opts&&(opts=helpers.clone(defaults.global.plugins[id])),plugins.push(plugin),descriptors.push({plugin:plugin,options:opts||{}}))}})),cache.descriptors=descriptors,cache.id=this._cacheId,descriptors}},Chart.pluginService=Chart.plugins,Chart.PluginBase=Element.extend({})}},{25:25,26:26,45:45}],32:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45),Ticks=require(34);function labelsFromTicks(ticks){var i,ilen,labels=[];for(i=0,ilen=ticks.length;i<ilen;++i)labels.push(ticks[i].label);return labels}function getLineValue(scale,index,offsetGridLines){var lineValue=scale.getPixelForTick(index);return offsetGridLines&&(lineValue-=0===index?(scale.getPixelForTick(1)-lineValue)/2:(lineValue-scale.getPixelForTick(index-1))/2),lineValue}defaults._set("scale",{display:!0,position:"left",offset:!1,gridLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:"rgba(0,0,0,0.25)",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:"",lineHeight:1.2,padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{}}}),module.exports=function(Chart){function computeTextSize(context,tick,font){return helpers.isArray(tick)?helpers.longestText(context,font,tick):context.measureText(tick).width}function parseFontOptions(options){var valueOrDefault=helpers.valueOrDefault,globalDefaults=defaults.global,size=valueOrDefault(options.fontSize,globalDefaults.defaultFontSize),style=valueOrDefault(options.fontStyle,globalDefaults.defaultFontStyle),family=valueOrDefault(options.fontFamily,globalDefaults.defaultFontFamily);return{size:size,style:style,family:family,font:helpers.fontString(size,style,family)}}function parseLineHeight(options){return helpers.options.toLineHeight(helpers.valueOrDefault(options.lineHeight,1.2),helpers.valueOrDefault(options.fontSize,defaults.global.defaultFontSize))}Chart.Scale=Element.extend({getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},getTicks:function(){return this._ticks},mergeTicksOptions:function(){var ticks=this.options.ticks;for(var key in!1===ticks.minor&&(ticks.minor={display:!1}),!1===ticks.major&&(ticks.major={display:!1}),ticks)"major"!==key&&"minor"!==key&&(void 0===ticks.minor[key]&&(ticks.minor[key]=ticks[key]),void 0===ticks.major[key]&&(ticks.major[key]=ticks[key]))},beforeUpdate:function(){helpers.callback(this.options.beforeUpdate,[this])},update:function(maxWidth,maxHeight,margins){var i,ilen,labels,label,ticks,tick,me=this;for(me.beforeUpdate(),me.maxWidth=maxWidth,me.maxHeight=maxHeight,me.margins=helpers.extend({left:0,right:0,top:0,bottom:0},margins),me.longestTextCache=me.longestTextCache||{},me.beforeSetDimensions(),me.setDimensions(),me.afterSetDimensions(),me.beforeDataLimits(),me.determineDataLimits(),me.afterDataLimits(),me.beforeBuildTicks(),ticks=me.buildTicks()||[],me.afterBuildTicks(),me.beforeTickToLabelConversion(),labels=me.convertTicksToLabels(ticks)||me.ticks,me.afterTickToLabelConversion(),me.ticks=labels,i=0,ilen=labels.length;i<ilen;++i)label=labels[i],(tick=ticks[i])?tick.label=label:ticks.push(tick={label:label,major:!1});return me._ticks=ticks,me.beforeCalculateTickRotation(),me.calculateTickRotation(),me.afterCalculateTickRotation(),me.beforeFit(),me.fit(),me.afterFit(),me.afterUpdate(),me.minSize},afterUpdate:function(){helpers.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){helpers.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var me=this;me.isHorizontal()?(me.width=me.maxWidth,me.left=0,me.right=me.width):(me.height=me.maxHeight,me.top=0,me.bottom=me.height),me.paddingLeft=0,me.paddingTop=0,me.paddingRight=0,me.paddingBottom=0},afterSetDimensions:function(){helpers.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){helpers.callback(this.options.beforeDataLimits,[this])},determineDataLimits:helpers.noop,afterDataLimits:function(){helpers.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){helpers.callback(this.options.beforeBuildTicks,[this])},buildTicks:helpers.noop,afterBuildTicks:function(){helpers.callback(this.options.afterBuildTicks,[this])},beforeTickToLabelConversion:function(){helpers.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var tickOpts=this.options.ticks;this.ticks=this.ticks.map(tickOpts.userCallback||tickOpts.callback,this)},afterTickToLabelConversion:function(){helpers.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){helpers.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var me=this,context=me.ctx,tickOpts=me.options.ticks,labels=labelsFromTicks(me._ticks),tickFont=parseFontOptions(tickOpts);context.font=tickFont.font;var labelRotation=tickOpts.minRotation||0;if(labels.length&&me.options.display&&me.isHorizontal())for(var cosRotation,originalLabelWidth=helpers.longestText(context,tickFont.font,labels,me.longestTextCache),labelWidth=originalLabelWidth,tickWidth=me.getPixelForTick(1)-me.getPixelForTick(0)-6;labelWidth>tickWidth&&labelRotation<tickOpts.maxRotation;){var angleRadians=helpers.toRadians(labelRotation);if(cosRotation=Math.cos(angleRadians),Math.sin(angleRadians)*originalLabelWidth>me.maxHeight){labelRotation--;break}labelRotation++,labelWidth=cosRotation*originalLabelWidth}me.labelRotation=labelRotation},afterCalculateTickRotation:function(){helpers.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){helpers.callback(this.options.beforeFit,[this])},fit:function(){var me=this,minSize=me.minSize={width:0,height:0},labels=labelsFromTicks(me._ticks),opts=me.options,tickOpts=opts.ticks,scaleLabelOpts=opts.scaleLabel,gridLineOpts=opts.gridLines,display=opts.display,isHorizontal=me.isHorizontal(),tickFont=parseFontOptions(tickOpts),tickMarkLength=opts.gridLines.tickMarkLength;if(minSize.width=isHorizontal?me.isFullWidth()?me.maxWidth-me.margins.left-me.margins.right:me.maxWidth:display&&gridLineOpts.drawTicks?tickMarkLength:0,minSize.height=isHorizontal?display&&gridLineOpts.drawTicks?tickMarkLength:0:me.maxHeight,scaleLabelOpts.display&&display){var deltaHeight=parseLineHeight(scaleLabelOpts)+helpers.options.toPadding(scaleLabelOpts.padding).height;isHorizontal?minSize.height+=deltaHeight:minSize.width+=deltaHeight}if(tickOpts.display&&display){var largestTextWidth=helpers.longestText(me.ctx,tickFont.font,labels,me.longestTextCache),tallestLabelHeightInLines=helpers.numberOfLabelLines(labels),lineSpace=.5*tickFont.size,tickPadding=me.options.ticks.padding;if(isHorizontal){me.longestLabelWidth=largestTextWidth;var angleRadians=helpers.toRadians(me.labelRotation),cosRotation=Math.cos(angleRadians),labelHeight=Math.sin(angleRadians)*largestTextWidth+tickFont.size*tallestLabelHeightInLines+lineSpace*(tallestLabelHeightInLines-1)+lineSpace;minSize.height=Math.min(me.maxHeight,minSize.height+labelHeight+tickPadding),me.ctx.font=tickFont.font;var firstLabelWidth=computeTextSize(me.ctx,labels[0],tickFont.font),lastLabelWidth=computeTextSize(me.ctx,labels[labels.length-1],tickFont.font);0!==me.labelRotation?(me.paddingLeft="bottom"===opts.position?cosRotation*firstLabelWidth+3:cosRotation*lineSpace+3,me.paddingRight="bottom"===opts.position?cosRotation*lineSpace+3:cosRotation*lastLabelWidth+3):(me.paddingLeft=firstLabelWidth/2+3,me.paddingRight=lastLabelWidth/2+3)}else tickOpts.mirror?largestTextWidth=0:largestTextWidth+=tickPadding+lineSpace,minSize.width=Math.min(me.maxWidth,minSize.width+largestTextWidth),me.paddingTop=tickFont.size/2,me.paddingBottom=tickFont.size/2}me.handleMargins(),me.width=minSize.width,me.height=minSize.height},handleMargins:function(){var me=this;me.margins&&(me.paddingLeft=Math.max(me.paddingLeft-me.margins.left,0),me.paddingTop=Math.max(me.paddingTop-me.margins.top,0),me.paddingRight=Math.max(me.paddingRight-me.margins.right,0),me.paddingBottom=Math.max(me.paddingBottom-me.margins.bottom,0))},afterFit:function(){helpers.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(rawValue){if(helpers.isNullOrUndef(rawValue))return NaN;if("number"==typeof rawValue&&!isFinite(rawValue))return NaN;if(rawValue)if(this.isHorizontal()){if(void 0!==rawValue.x)return this.getRightValue(rawValue.x)}else if(void 0!==rawValue.y)return this.getRightValue(rawValue.y);return rawValue},getLabelForIndex:helpers.noop,getPixelForValue:helpers.noop,getValueForPixel:helpers.noop,getPixelForTick:function(index){var me=this,offset=me.options.offset;if(me.isHorizontal()){var tickWidth=(me.width-(me.paddingLeft+me.paddingRight))/Math.max(me._ticks.length-(offset?0:1),1),pixel=tickWidth*index+me.paddingLeft;offset&&(pixel+=tickWidth/2);var finalVal=me.left+Math.round(pixel);return finalVal+=me.isFullWidth()?me.margins.left:0}var innerHeight=me.height-(me.paddingTop+me.paddingBottom);return me.top+index*(innerHeight/(me._ticks.length-1))},getPixelForDecimal:function(decimal){var me=this;if(me.isHorizontal()){var valueOffset=(me.width-(me.paddingLeft+me.paddingRight))*decimal+me.paddingLeft,finalVal=me.left+Math.round(valueOffset);return finalVal+=me.isFullWidth()?me.margins.left:0}return me.top+decimal*me.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var min=this.min,max=this.max;return this.beginAtZero?0:min<0&&max<0?max:min>0&&max>0?min:0},_autoSkip:function(ticks){var skipRatio,i,tick,maxTicks,me=this,isHorizontal=me.isHorizontal(),optionTicks=me.options.ticks.minor,tickCount=ticks.length,labelRotationRadians=helpers.toRadians(me.labelRotation),cosRotation=Math.cos(labelRotationRadians),longestRotatedLabel=me.longestLabelWidth*cosRotation,result=[];for(optionTicks.maxTicksLimit&&(maxTicks=optionTicks.maxTicksLimit),isHorizontal&&(skipRatio=!1,(longestRotatedLabel+optionTicks.autoSkipPadding)*tickCount>me.width-(me.paddingLeft+me.paddingRight)&&(skipRatio=1+Math.floor((longestRotatedLabel+optionTicks.autoSkipPadding)*tickCount/(me.width-(me.paddingLeft+me.paddingRight)))),maxTicks&&tickCount>maxTicks&&(skipRatio=Math.max(skipRatio,Math.floor(tickCount/maxTicks)))),i=0;i<tickCount;i++)tick=ticks[i],((skipRatio>1&&i%skipRatio>0||i%skipRatio==0&&i+skipRatio>=tickCount)&&i!==tickCount-1||helpers.isNullOrUndef(tick.label))&&delete tick.label,result.push(tick);return result},draw:function(chartArea){var me=this,options=me.options;if(options.display){var context=me.ctx,globalDefaults=defaults.global,optionTicks=options.ticks.minor,optionMajorTicks=options.ticks.major||optionTicks,gridLines=options.gridLines,scaleLabel=options.scaleLabel,isRotated=0!==me.labelRotation,isHorizontal=me.isHorizontal(),ticks=optionTicks.autoSkip?me._autoSkip(me.getTicks()):me.getTicks(),tickFontColor=helpers.valueOrDefault(optionTicks.fontColor,globalDefaults.defaultFontColor),tickFont=parseFontOptions(optionTicks),majorTickFontColor=helpers.valueOrDefault(optionMajorTicks.fontColor,globalDefaults.defaultFontColor),majorTickFont=parseFontOptions(optionMajorTicks),tl=gridLines.drawTicks?gridLines.tickMarkLength:0,scaleLabelFontColor=helpers.valueOrDefault(scaleLabel.fontColor,globalDefaults.defaultFontColor),scaleLabelFont=parseFontOptions(scaleLabel),scaleLabelPadding=helpers.options.toPadding(scaleLabel.padding),labelRotationRadians=helpers.toRadians(me.labelRotation),itemsToDraw=[],xTickStart="right"===options.position?me.left:me.right-tl,xTickEnd="right"===options.position?me.left+tl:me.right,yTickStart="bottom"===options.position?me.top:me.bottom-tl,yTickEnd="bottom"===options.position?me.top+tl:me.bottom;if(helpers.each(ticks,(function(tick,index){if(void 0!==tick.label){var lineWidth,lineColor,borderDash,borderDashOffset,tx1,ty1,tx2,ty2,x1,y1,x2,y2,labelX,labelY,label=tick.label;index===me.zeroLineIndex&&options.offset===gridLines.offsetGridLines?(lineWidth=gridLines.zeroLineWidth,lineColor=gridLines.zeroLineColor,borderDash=gridLines.zeroLineBorderDash,borderDashOffset=gridLines.zeroLineBorderDashOffset):(lineWidth=helpers.valueAtIndexOrDefault(gridLines.lineWidth,index),lineColor=helpers.valueAtIndexOrDefault(gridLines.color,index),borderDash=helpers.valueOrDefault(gridLines.borderDash,globalDefaults.borderDash),borderDashOffset=helpers.valueOrDefault(gridLines.borderDashOffset,globalDefaults.borderDashOffset));var textAlign="middle",textBaseline="middle",tickPadding=optionTicks.padding;if(isHorizontal){var labelYOffset=tl+tickPadding;"bottom"===options.position?(textBaseline=isRotated?"middle":"top",textAlign=isRotated?"right":"center",labelY=me.top+labelYOffset):(textBaseline=isRotated?"middle":"bottom",textAlign=isRotated?"left":"center",labelY=me.bottom-labelYOffset);var xLineValue=getLineValue(me,index,gridLines.offsetGridLines&&ticks.length>1);xLineValue<me.left&&(lineColor="rgba(0,0,0,0)"),xLineValue+=helpers.aliasPixel(lineWidth),labelX=me.getPixelForTick(index)+optionTicks.labelOffset,tx1=tx2=x1=x2=xLineValue,ty1=yTickStart,ty2=yTickEnd,y1=chartArea.top,y2=chartArea.bottom}else{var labelXOffset,isLeft="left"===options.position;optionTicks.mirror?(textAlign=isLeft?"left":"right",labelXOffset=tickPadding):(textAlign=isLeft?"right":"left",labelXOffset=tl+tickPadding),labelX=isLeft?me.right-labelXOffset:me.left+labelXOffset;var yLineValue=getLineValue(me,index,gridLines.offsetGridLines&&ticks.length>1);yLineValue<me.top&&(lineColor="rgba(0,0,0,0)"),yLineValue+=helpers.aliasPixel(lineWidth),labelY=me.getPixelForTick(index)+optionTicks.labelOffset,tx1=xTickStart,tx2=xTickEnd,x1=chartArea.left,x2=chartArea.right,ty1=ty2=y1=y2=yLineValue}itemsToDraw.push({tx1:tx1,ty1:ty1,tx2:tx2,ty2:ty2,x1:x1,y1:y1,x2:x2,y2:y2,labelX:labelX,labelY:labelY,glWidth:lineWidth,glColor:lineColor,glBorderDash:borderDash,glBorderDashOffset:borderDashOffset,rotation:-1*labelRotationRadians,label:label,major:tick.major,textBaseline:textBaseline,textAlign:textAlign})}})),helpers.each(itemsToDraw,(function(itemToDraw){if(gridLines.display&&(context.save(),context.lineWidth=itemToDraw.glWidth,context.strokeStyle=itemToDraw.glColor,context.setLineDash&&(context.setLineDash(itemToDraw.glBorderDash),context.lineDashOffset=itemToDraw.glBorderDashOffset),context.beginPath(),gridLines.drawTicks&&(context.moveTo(itemToDraw.tx1,itemToDraw.ty1),context.lineTo(itemToDraw.tx2,itemToDraw.ty2)),gridLines.drawOnChartArea&&(context.moveTo(itemToDraw.x1,itemToDraw.y1),context.lineTo(itemToDraw.x2,itemToDraw.y2)),context.stroke(),context.restore()),optionTicks.display){context.save(),context.translate(itemToDraw.labelX,itemToDraw.labelY),context.rotate(itemToDraw.rotation),context.font=itemToDraw.major?majorTickFont.font:tickFont.font,context.fillStyle=itemToDraw.major?majorTickFontColor:tickFontColor,context.textBaseline=itemToDraw.textBaseline,context.textAlign=itemToDraw.textAlign;var label=itemToDraw.label;if(helpers.isArray(label))for(var i=0,y=0;i<label.length;++i)context.fillText(""+label[i],0,y),y+=1.5*tickFont.size;else context.fillText(label,0,0);context.restore()}})),scaleLabel.display){var scaleLabelX,scaleLabelY,rotation=0,halfLineHeight=parseLineHeight(scaleLabel)/2;if(isHorizontal)scaleLabelX=me.left+(me.right-me.left)/2,scaleLabelY="bottom"===options.position?me.bottom-halfLineHeight-scaleLabelPadding.bottom:me.top+halfLineHeight+scaleLabelPadding.top;else{var isLeft="left"===options.position;scaleLabelX=isLeft?me.left+halfLineHeight+scaleLabelPadding.top:me.right-halfLineHeight-scaleLabelPadding.top,scaleLabelY=me.top+(me.bottom-me.top)/2,rotation=isLeft?-.5*Math.PI:.5*Math.PI}context.save(),context.translate(scaleLabelX,scaleLabelY),context.rotate(rotation),context.textAlign="center",context.textBaseline="middle",context.fillStyle=scaleLabelFontColor,context.font=scaleLabelFont.font,context.fillText(scaleLabel.labelString,0,0),context.restore()}if(gridLines.drawBorder){context.lineWidth=helpers.valueAtIndexOrDefault(gridLines.lineWidth,0),context.strokeStyle=helpers.valueAtIndexOrDefault(gridLines.color,0);var x1=me.left,x2=me.right,y1=me.top,y2=me.bottom,aliasPixel=helpers.aliasPixel(context.lineWidth);isHorizontal?(y1=y2="top"===options.position?me.bottom:me.top,y1+=aliasPixel,y2+=aliasPixel):(x1=x2="left"===options.position?me.right:me.left,x1+=aliasPixel,x2+=aliasPixel),context.beginPath(),context.moveTo(x1,y1),context.lineTo(x2,y2),context.stroke()}}}})}},{25:25,26:26,34:34,45:45}],33:[function(require,module,exports){var defaults=require(25),helpers=require(45);module.exports=function(Chart){Chart.scaleService={constructors:{},defaults:{},registerScaleType:function(type,scaleConstructor,scaleDefaults){this.constructors[type]=scaleConstructor,this.defaults[type]=helpers.clone(scaleDefaults)},getScaleConstructor:function(type){return this.constructors.hasOwnProperty(type)?this.constructors[type]:void 0},getScaleDefaults:function(type){return this.defaults.hasOwnProperty(type)?helpers.merge({},[defaults.scale,this.defaults[type]]):{}},updateScaleDefaults:function(type,additions){this.defaults.hasOwnProperty(type)&&(this.defaults[type]=helpers.extend(this.defaults[type],additions))},addScalesToLayout:function(chart){helpers.each(chart.scales,(function(scale){scale.fullWidth=scale.options.fullWidth,scale.position=scale.options.position,scale.weight=scale.options.weight,Chart.layoutService.addBox(chart,scale)}))}}}},{25:25,45:45}],34:[function(require,module,exports){var helpers=require(45);module.exports={generators:{linear:function(generationOptions,dataRange){var spacing,ticks=[];if(generationOptions.stepSize&&generationOptions.stepSize>0)spacing=generationOptions.stepSize;else{var niceRange=helpers.niceNum(dataRange.max-dataRange.min,!1);spacing=helpers.niceNum(niceRange/(generationOptions.maxTicks-1),!0)}var niceMin=Math.floor(dataRange.min/spacing)*spacing,niceMax=Math.ceil(dataRange.max/spacing)*spacing;generationOptions.min&&generationOptions.max&&generationOptions.stepSize&&helpers.almostWhole((generationOptions.max-generationOptions.min)/generationOptions.stepSize,spacing/1e3)&&(niceMin=generationOptions.min,niceMax=generationOptions.max);var numSpaces=(niceMax-niceMin)/spacing;numSpaces=helpers.almostEquals(numSpaces,Math.round(numSpaces),spacing/1e3)?Math.round(numSpaces):Math.ceil(numSpaces),ticks.push(void 0!==generationOptions.min?generationOptions.min:niceMin);for(var j=1;j<numSpaces;++j)ticks.push(niceMin+j*spacing);return ticks.push(void 0!==generationOptions.max?generationOptions.max:niceMax),ticks},logarithmic:function(generationOptions,dataRange){var exp,significand,ticks=[],valueOrDefault=helpers.valueOrDefault,tickVal=valueOrDefault(generationOptions.min,Math.pow(10,Math.floor(helpers.log10(dataRange.min)))),endExp=Math.floor(helpers.log10(dataRange.max)),endSignificand=Math.ceil(dataRange.max/Math.pow(10,endExp));0===tickVal?(exp=Math.floor(helpers.log10(dataRange.minNotZero)),significand=Math.floor(dataRange.minNotZero/Math.pow(10,exp)),ticks.push(tickVal),tickVal=significand*Math.pow(10,exp)):(exp=Math.floor(helpers.log10(tickVal)),significand=Math.floor(tickVal/Math.pow(10,exp)));do{ticks.push(tickVal),10===++significand&&(significand=1,++exp),tickVal=significand*Math.pow(10,exp)}while(exp<endExp||exp===endExp&&significand<endSignificand);var lastTick=valueOrDefault(generationOptions.max,tickVal);return ticks.push(lastTick),ticks}},formatters:{values:function(value){return helpers.isArray(value)?value:""+value},linear:function(tickValue,index,ticks){var delta=ticks.length>3?ticks[2]-ticks[1]:ticks[1]-ticks[0];Math.abs(delta)>1&&tickValue!==Math.floor(tickValue)&&(delta=tickValue-Math.floor(tickValue));var logDelta=helpers.log10(Math.abs(delta)),tickString="";if(0!==tickValue){var numDecimal=-1*Math.floor(logDelta);numDecimal=Math.max(Math.min(numDecimal,20),0),tickString=tickValue.toFixed(numDecimal)}else tickString="0";return tickString},logarithmic:function(tickValue,index,ticks){var remain=tickValue/Math.pow(10,Math.floor(helpers.log10(tickValue)));return 0===tickValue?"0":1===remain||2===remain||5===remain||0===index||index===ticks.length-1?tickValue.toExponential():""}}}},{45:45}],35:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45);defaults._set("global",{tooltips:{enabled:!0,custom:null,mode:"nearest",position:"average",intersect:!0,backgroundColor:"rgba(0,0,0,0.8)",titleFontStyle:"bold",titleSpacing:2,titleMarginBottom:6,titleFontColor:"#fff",titleAlign:"left",bodySpacing:2,bodyFontColor:"#fff",bodyAlign:"left",footerFontStyle:"bold",footerSpacing:2,footerMarginTop:6,footerFontColor:"#fff",footerAlign:"left",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:"#fff",displayColors:!0,borderColor:"rgba(0,0,0,0)",borderWidth:0,callbacks:{beforeTitle:helpers.noop,title:function(tooltipItems,data){var title="",labels=data.labels,labelCount=labels?labels.length:0;if(tooltipItems.length>0){var item=tooltipItems[0];item.xLabel?title=item.xLabel:labelCount>0&&item.index<labelCount&&(title=labels[item.index])}return title},afterTitle:helpers.noop,beforeBody:helpers.noop,beforeLabel:helpers.noop,label:function(tooltipItem,data){var label=data.datasets[tooltipItem.datasetIndex].label||"";return label&&(label+=": "),label+=tooltipItem.yLabel,label},labelColor:function(tooltipItem,chart){var view=chart.getDatasetMeta(tooltipItem.datasetIndex).data[tooltipItem.index]._view;return{borderColor:view.borderColor,backgroundColor:view.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:helpers.noop,afterBody:helpers.noop,beforeFooter:helpers.noop,footer:helpers.noop,afterFooter:helpers.noop}}}),module.exports=function(Chart){function mergeOpacity(colorString,opacity){var color=helpers.color(colorString);return color.alpha(opacity*color.alpha()).rgbaString()}function pushOrConcat(base,toPush){return toPush&&(helpers.isArray(toPush)?Array.prototype.push.apply(base,toPush):base.push(toPush)),base}function getBaseModel(tooltipOpts){var globalDefaults=defaults.global,valueOrDefault=helpers.valueOrDefault;return{xPadding:tooltipOpts.xPadding,yPadding:tooltipOpts.yPadding,xAlign:tooltipOpts.xAlign,yAlign:tooltipOpts.yAlign,bodyFontColor:tooltipOpts.bodyFontColor,_bodyFontFamily:valueOrDefault(tooltipOpts.bodyFontFamily,globalDefaults.defaultFontFamily),_bodyFontStyle:valueOrDefault(tooltipOpts.bodyFontStyle,globalDefaults.defaultFontStyle),_bodyAlign:tooltipOpts.bodyAlign,bodyFontSize:valueOrDefault(tooltipOpts.bodyFontSize,globalDefaults.defaultFontSize),bodySpacing:tooltipOpts.bodySpacing,titleFontColor:tooltipOpts.titleFontColor,_titleFontFamily:valueOrDefault(tooltipOpts.titleFontFamily,globalDefaults.defaultFontFamily),_titleFontStyle:valueOrDefault(tooltipOpts.titleFontStyle,globalDefaults.defaultFontStyle),titleFontSize:valueOrDefault(tooltipOpts.titleFontSize,globalDefaults.defaultFontSize),_titleAlign:tooltipOpts.titleAlign,titleSpacing:tooltipOpts.titleSpacing,titleMarginBottom:tooltipOpts.titleMarginBottom,footerFontColor:tooltipOpts.footerFontColor,_footerFontFamily:valueOrDefault(tooltipOpts.footerFontFamily,globalDefaults.defaultFontFamily),_footerFontStyle:valueOrDefault(tooltipOpts.footerFontStyle,globalDefaults.defaultFontStyle),footerFontSize:valueOrDefault(tooltipOpts.footerFontSize,globalDefaults.defaultFontSize),_footerAlign:tooltipOpts.footerAlign,footerSpacing:tooltipOpts.footerSpacing,footerMarginTop:tooltipOpts.footerMarginTop,caretSize:tooltipOpts.caretSize,cornerRadius:tooltipOpts.cornerRadius,backgroundColor:tooltipOpts.backgroundColor,opacity:0,legendColorBackground:tooltipOpts.multiKeyBackground,displayColors:tooltipOpts.displayColors,borderColor:tooltipOpts.borderColor,borderWidth:tooltipOpts.borderWidth}}Chart.Tooltip=Element.extend({initialize:function(){this._model=getBaseModel(this._options)},getTitle:function(){var me=this,opts=me._options,callbacks=opts.callbacks,beforeTitle=callbacks.beforeTitle.apply(me,arguments),title=callbacks.title.apply(me,arguments),afterTitle=callbacks.afterTitle.apply(me,arguments),lines=[];return lines=pushOrConcat(lines,beforeTitle),lines=pushOrConcat(lines,title),lines=pushOrConcat(lines,afterTitle)},getBeforeBody:function(){var lines=this._options.callbacks.beforeBody.apply(this,arguments);return helpers.isArray(lines)?lines:void 0!==lines?[lines]:[]},getBody:function(tooltipItems,data){var me=this,callbacks=me._options.callbacks,bodyItems=[];return helpers.each(tooltipItems,(function(tooltipItem){var bodyItem={before:[],lines:[],after:[]};pushOrConcat(bodyItem.before,callbacks.beforeLabel.call(me,tooltipItem,data)),pushOrConcat(bodyItem.lines,callbacks.label.call(me,tooltipItem,data)),pushOrConcat(bodyItem.after,callbacks.afterLabel.call(me,tooltipItem,data)),bodyItems.push(bodyItem)})),bodyItems},getAfterBody:function(){var lines=this._options.callbacks.afterBody.apply(this,arguments);return helpers.isArray(lines)?lines:void 0!==lines?[lines]:[]},getFooter:function(){var me=this,callbacks=me._options.callbacks,beforeFooter=callbacks.beforeFooter.apply(me,arguments),footer=callbacks.footer.apply(me,arguments),afterFooter=callbacks.afterFooter.apply(me,arguments),lines=[];return lines=pushOrConcat(lines,beforeFooter),lines=pushOrConcat(lines,footer),lines=pushOrConcat(lines,afterFooter)},update:function(changed){var i,len,element,xScale,yScale,index,datasetIndex,me=this,opts=me._options,existingModel=me._model,model=me._model=getBaseModel(opts),active=me._active,data=me._data,alignment={xAlign:existingModel.xAlign,yAlign:existingModel.yAlign},backgroundPoint={x:existingModel.x,y:existingModel.y},tooltipSize={width:existingModel.width,height:existingModel.height},tooltipPosition={x:existingModel.caretX,y:existingModel.caretY};if(active.length){model.opacity=1;var labelColors=[],labelTextColors=[];tooltipPosition=Chart.Tooltip.positioners[opts.position](active,me._eventPosition);var tooltipItems=[];for(i=0,len=active.length;i<len;++i)tooltipItems.push((element=active[i],xScale=void 0,yScale=void 0,index=void 0,datasetIndex=void 0,xScale=element._xScale,yScale=element._yScale||element._scale,index=element._index,datasetIndex=element._datasetIndex,{xLabel:xScale?xScale.getLabelForIndex(index,datasetIndex):"",yLabel:yScale?yScale.getLabelForIndex(index,datasetIndex):"",index:index,datasetIndex:datasetIndex,x:element._model.x,y:element._model.y}));opts.filter&&(tooltipItems=tooltipItems.filter((function(a){return opts.filter(a,data)}))),opts.itemSort&&(tooltipItems=tooltipItems.sort((function(a,b){return opts.itemSort(a,b,data)}))),helpers.each(tooltipItems,(function(tooltipItem){labelColors.push(opts.callbacks.labelColor.call(me,tooltipItem,me._chart)),labelTextColors.push(opts.callbacks.labelTextColor.call(me,tooltipItem,me._chart))})),model.title=me.getTitle(tooltipItems,data),model.beforeBody=me.getBeforeBody(tooltipItems,data),model.body=me.getBody(tooltipItems,data),model.afterBody=me.getAfterBody(tooltipItems,data),model.footer=me.getFooter(tooltipItems,data),model.x=Math.round(tooltipPosition.x),model.y=Math.round(tooltipPosition.y),model.caretPadding=opts.caretPadding,model.labelColors=labelColors,model.labelTextColors=labelTextColors,model.dataPoints=tooltipItems,tooltipSize=function(tooltip,model){var ctx=tooltip._chart.ctx,height=2*model.yPadding,width=0,body=model.body,combinedBodyLength=body.reduce((function(count,bodyItem){return count+bodyItem.before.length+bodyItem.lines.length+bodyItem.after.length}),0);combinedBodyLength+=model.beforeBody.length+model.afterBody.length;var titleLineCount=model.title.length,footerLineCount=model.footer.length,titleFontSize=model.titleFontSize,bodyFontSize=model.bodyFontSize,footerFontSize=model.footerFontSize;height+=titleLineCount*titleFontSize,height+=titleLineCount?(titleLineCount-1)*model.titleSpacing:0,height+=titleLineCount?model.titleMarginBottom:0,height+=combinedBodyLength*bodyFontSize,height+=combinedBodyLength?(combinedBodyLength-1)*model.bodySpacing:0,height+=footerLineCount?model.footerMarginTop:0,height+=footerLineCount*footerFontSize,height+=footerLineCount?(footerLineCount-1)*model.footerSpacing:0;var widthPadding=0,maxLineWidth=function(line){width=Math.max(width,ctx.measureText(line).width+widthPadding)};return ctx.font=helpers.fontString(titleFontSize,model._titleFontStyle,model._titleFontFamily),helpers.each(model.title,maxLineWidth),ctx.font=helpers.fontString(bodyFontSize,model._bodyFontStyle,model._bodyFontFamily),helpers.each(model.beforeBody.concat(model.afterBody),maxLineWidth),widthPadding=model.displayColors?bodyFontSize+2:0,helpers.each(body,(function(bodyItem){helpers.each(bodyItem.before,maxLineWidth),helpers.each(bodyItem.lines,maxLineWidth),helpers.each(bodyItem.after,maxLineWidth)})),widthPadding=0,ctx.font=helpers.fontString(footerFontSize,model._footerFontStyle,model._footerFontFamily),helpers.each(model.footer,maxLineWidth),{width:width+=2*model.xPadding,height:height}}(this,model),alignment=function(tooltip,size){var lf,rf,olf,orf,yf,model=tooltip._model,chart=tooltip._chart,chartArea=tooltip._chart.chartArea,xAlign="center",yAlign="center";model.y<size.height?yAlign="top":model.y>chart.height-size.height&&(yAlign="bottom");var midX=(chartArea.left+chartArea.right)/2,midY=(chartArea.top+chartArea.bottom)/2;"center"===yAlign?(lf=function(x){return x<=midX},rf=function(x){return x>midX}):(lf=function(x){return x<=size.width/2},rf=function(x){return x>=chart.width-size.width/2}),olf=function(x){return x+size.width>chart.width},orf=function(x){return x-size.width<0},yf=function(y){return y<=midY?"top":"bottom"},lf(model.x)?(xAlign="left",olf(model.x)&&(xAlign="center",yAlign=yf(model.y))):rf(model.x)&&(xAlign="right",orf(model.x)&&(xAlign="center",yAlign=yf(model.y)));var opts=tooltip._options;return{xAlign:opts.xAlign?opts.xAlign:xAlign,yAlign:opts.yAlign?opts.yAlign:yAlign}}(this,tooltipSize),backgroundPoint=function(vm,size,alignment){var x=vm.x,y=vm.y,caretSize=vm.caretSize,caretPadding=vm.caretPadding,cornerRadius=vm.cornerRadius,xAlign=alignment.xAlign,yAlign=alignment.yAlign,paddingAndSize=caretSize+caretPadding,radiusAndPadding=cornerRadius+caretPadding;return"right"===xAlign?x-=size.width:"center"===xAlign&&(x-=size.width/2),"top"===yAlign?y+=paddingAndSize:y-="bottom"===yAlign?size.height+paddingAndSize:size.height/2,"center"===yAlign?"left"===xAlign?x+=paddingAndSize:"right"===xAlign&&(x-=paddingAndSize):"left"===xAlign?x-=radiusAndPadding:"right"===xAlign&&(x+=radiusAndPadding),{x:x,y:y}}(model,tooltipSize,alignment)}else model.opacity=0;return model.xAlign=alignment.xAlign,model.yAlign=alignment.yAlign,model.x=backgroundPoint.x,model.y=backgroundPoint.y,model.width=tooltipSize.width,model.height=tooltipSize.height,model.caretX=tooltipPosition.x,model.caretY=tooltipPosition.y,me._model=model,changed&&opts.custom&&opts.custom.call(me,model),me},drawCaret:function(tooltipPoint,size){var ctx=this._chart.ctx,vm=this._view,caretPosition=this.getCaretPosition(tooltipPoint,size,vm);ctx.lineTo(caretPosition.x1,caretPosition.y1),ctx.lineTo(caretPosition.x2,caretPosition.y2),ctx.lineTo(caretPosition.x3,caretPosition.y3)},getCaretPosition:function(tooltipPoint,size,vm){var x1,x2,x3,y1,y2,y3,caretSize=vm.caretSize,cornerRadius=vm.cornerRadius,xAlign=vm.xAlign,yAlign=vm.yAlign,ptX=tooltipPoint.x,ptY=tooltipPoint.y,width=size.width,height=size.height;if("center"===yAlign)y2=ptY+height/2,"left"===xAlign?(x2=(x1=ptX)-caretSize,x3=x1,y1=y2+caretSize,y3=y2-caretSize):(x2=(x1=ptX+width)+caretSize,x3=x1,y1=y2-caretSize,y3=y2+caretSize);else if("left"===xAlign?(x1=(x2=ptX+cornerRadius+caretSize)-caretSize,x3=x2+caretSize):"right"===xAlign?(x1=(x2=ptX+width-cornerRadius-caretSize)-caretSize,x3=x2+caretSize):(x1=(x2=ptX+width/2)-caretSize,x3=x2+caretSize),"top"===yAlign)y2=(y1=ptY)-caretSize,y3=y1;else{y2=(y1=ptY+height)+caretSize,y3=y1;var tmp=x3;x3=x1,x1=tmp}return{x1:x1,x2:x2,x3:x3,y1:y1,y2:y2,y3:y3}},drawTitle:function(pt,vm,ctx,opacity){var title=vm.title;if(title.length){ctx.textAlign=vm._titleAlign,ctx.textBaseline="top";var i,len,titleFontSize=vm.titleFontSize,titleSpacing=vm.titleSpacing;for(ctx.fillStyle=mergeOpacity(vm.titleFontColor,opacity),ctx.font=helpers.fontString(titleFontSize,vm._titleFontStyle,vm._titleFontFamily),i=0,len=title.length;i<len;++i)ctx.fillText(title[i],pt.x,pt.y),pt.y+=titleFontSize+titleSpacing,i+1===title.length&&(pt.y+=vm.titleMarginBottom-titleSpacing)}},drawBody:function(pt,vm,ctx,opacity){var bodyFontSize=vm.bodyFontSize,bodySpacing=vm.bodySpacing,body=vm.body;ctx.textAlign=vm._bodyAlign,ctx.textBaseline="top",ctx.font=helpers.fontString(bodyFontSize,vm._bodyFontStyle,vm._bodyFontFamily);var xLinePadding=0,fillLineOfText=function(line){ctx.fillText(line,pt.x+xLinePadding,pt.y),pt.y+=bodyFontSize+bodySpacing};helpers.each(vm.beforeBody,fillLineOfText);var drawColorBoxes=vm.displayColors;xLinePadding=drawColorBoxes?bodyFontSize+2:0,helpers.each(body,(function(bodyItem,i){helpers.each(bodyItem.before,fillLineOfText),helpers.each(bodyItem.lines,(function(line){if(drawColorBoxes){ctx.fillStyle=mergeOpacity(vm.legendColorBackground,opacity),ctx.fillRect(pt.x,pt.y,bodyFontSize,bodyFontSize),ctx.lineWidth=1,ctx.strokeStyle=mergeOpacity(vm.labelColors[i].borderColor,opacity),ctx.strokeRect(pt.x,pt.y,bodyFontSize,bodyFontSize),ctx.fillStyle=mergeOpacity(vm.labelColors[i].backgroundColor,opacity),ctx.fillRect(pt.x+1,pt.y+1,bodyFontSize-2,bodyFontSize-2);var textColor=mergeOpacity(vm.labelTextColors[i],opacity);ctx.fillStyle=textColor}fillLineOfText(line)})),helpers.each(bodyItem.after,fillLineOfText)})),xLinePadding=0,helpers.each(vm.afterBody,fillLineOfText),pt.y-=bodySpacing},drawFooter:function(pt,vm,ctx,opacity){var footer=vm.footer;footer.length&&(pt.y+=vm.footerMarginTop,ctx.textAlign=vm._footerAlign,ctx.textBaseline="top",ctx.fillStyle=mergeOpacity(vm.footerFontColor,opacity),ctx.font=helpers.fontString(vm.footerFontSize,vm._footerFontStyle,vm._footerFontFamily),helpers.each(footer,(function(line){ctx.fillText(line,pt.x,pt.y),pt.y+=vm.footerFontSize+vm.footerSpacing})))},drawBackground:function(pt,vm,ctx,tooltipSize,opacity){ctx.fillStyle=mergeOpacity(vm.backgroundColor,opacity),ctx.strokeStyle=mergeOpacity(vm.borderColor,opacity),ctx.lineWidth=vm.borderWidth;var xAlign=vm.xAlign,yAlign=vm.yAlign,x=pt.x,y=pt.y,width=tooltipSize.width,height=tooltipSize.height,radius=vm.cornerRadius;ctx.beginPath(),ctx.moveTo(x+radius,y),"top"===yAlign&&this.drawCaret(pt,tooltipSize),ctx.lineTo(x+width-radius,y),ctx.quadraticCurveTo(x+width,y,x+width,y+radius),"center"===yAlign&&"right"===xAlign&&this.drawCaret(pt,tooltipSize),ctx.lineTo(x+width,y+height-radius),ctx.quadraticCurveTo(x+width,y+height,x+width-radius,y+height),"bottom"===yAlign&&this.drawCaret(pt,tooltipSize),ctx.lineTo(x+radius,y+height),ctx.quadraticCurveTo(x,y+height,x,y+height-radius),"center"===yAlign&&"left"===xAlign&&this.drawCaret(pt,tooltipSize),ctx.lineTo(x,y+radius),ctx.quadraticCurveTo(x,y,x+radius,y),ctx.closePath(),ctx.fill(),vm.borderWidth>0&&ctx.stroke()},draw:function(){var ctx=this._chart.ctx,vm=this._view;if(0!==vm.opacity){var tooltipSize={width:vm.width,height:vm.height},pt={x:vm.x,y:vm.y},opacity=Math.abs(vm.opacity<.001)?0:vm.opacity,hasTooltipContent=vm.title.length||vm.beforeBody.length||vm.body.length||vm.afterBody.length||vm.footer.length;this._options.enabled&&hasTooltipContent&&(this.drawBackground(pt,vm,ctx,tooltipSize,opacity),pt.x+=vm.xPadding,pt.y+=vm.yPadding,this.drawTitle(pt,vm,ctx,opacity),this.drawBody(pt,vm,ctx,opacity),this.drawFooter(pt,vm,ctx,opacity))}},handleEvent:function(e){var me=this,options=me._options,changed=!1;if(me._lastActive=me._lastActive||[],"mouseout"===e.type?me._active=[]:me._active=me._chart.getElementsAtEventForMode(e,options.mode,options),!(changed=!helpers.arrayEquals(me._active,me._lastActive)))return!1;if(me._lastActive=me._active,options.enabled||options.custom){me._eventPosition={x:e.x,y:e.y};var model=me._model;me.update(!0),me.pivot(),changed|=model.x!==me._model.x||model.y!==me._model.y}return changed}}),Chart.Tooltip.positioners={average:function(elements){if(!elements.length)return!1;var i,len,x=0,y=0,count=0;for(i=0,len=elements.length;i<len;++i){var el=elements[i];if(el&&el.hasValue()){var pos=el.tooltipPosition();x+=pos.x,y+=pos.y,++count}}return{x:Math.round(x/count),y:Math.round(y/count)}},nearest:function(elements,eventPosition){var i,len,nearestElement,x=eventPosition.x,y=eventPosition.y,minDistance=Number.POSITIVE_INFINITY;for(i=0,len=elements.length;i<len;++i){var el=elements[i];if(el&&el.hasValue()){var center=el.getCenterPoint(),d=helpers.distanceBetweenPoints(eventPosition,center);d<minDistance&&(minDistance=d,nearestElement=el)}}if(nearestElement){var tp=nearestElement.tooltipPosition();x=tp.x,y=tp.y}return{x:x,y:y}}}}},{25:25,26:26,45:45}],36:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45);defaults._set("global",{elements:{arc:{backgroundColor:defaults.global.defaultColor,borderColor:"#fff",borderWidth:2}}}),module.exports=Element.extend({inLabelRange:function(mouseX){var vm=this._view;return!!vm&&Math.pow(mouseX-vm.x,2)<Math.pow(vm.radius+vm.hoverRadius,2)},inRange:function(chartX,chartY){var vm=this._view;if(vm){for(var pointRelativePosition=helpers.getAngleFromPoint(vm,{x:chartX,y:chartY}),angle=pointRelativePosition.angle,distance=pointRelativePosition.distance,startAngle=vm.startAngle,endAngle=vm.endAngle;endAngle<startAngle;)endAngle+=2*Math.PI;for(;angle>endAngle;)angle-=2*Math.PI;for(;angle<startAngle;)angle+=2*Math.PI;var betweenAngles=angle>=startAngle&&angle<=endAngle,withinRadius=distance>=vm.innerRadius&&distance<=vm.outerRadius;return betweenAngles&&withinRadius}return!1},getCenterPoint:function(){var vm=this._view,halfAngle=(vm.startAngle+vm.endAngle)/2,halfRadius=(vm.innerRadius+vm.outerRadius)/2;return{x:vm.x+Math.cos(halfAngle)*halfRadius,y:vm.y+Math.sin(halfAngle)*halfRadius}},getArea:function(){var vm=this._view;return Math.PI*((vm.endAngle-vm.startAngle)/(2*Math.PI))*(Math.pow(vm.outerRadius,2)-Math.pow(vm.innerRadius,2))},tooltipPosition:function(){var vm=this._view,centreAngle=vm.startAngle+(vm.endAngle-vm.startAngle)/2,rangeFromCentre=(vm.outerRadius-vm.innerRadius)/2+vm.innerRadius;return{x:vm.x+Math.cos(centreAngle)*rangeFromCentre,y:vm.y+Math.sin(centreAngle)*rangeFromCentre}},draw:function(){var ctx=this._chart.ctx,vm=this._view,sA=vm.startAngle,eA=vm.endAngle;ctx.beginPath(),ctx.arc(vm.x,vm.y,vm.outerRadius,sA,eA),ctx.arc(vm.x,vm.y,vm.innerRadius,eA,sA,!0),ctx.closePath(),ctx.strokeStyle=vm.borderColor,ctx.lineWidth=vm.borderWidth,ctx.fillStyle=vm.backgroundColor,ctx.fill(),ctx.lineJoin="bevel",vm.borderWidth&&ctx.stroke()}})},{25:25,26:26,45:45}],37:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45),globalDefaults=defaults.global;defaults._set("global",{elements:{line:{tension:.4,backgroundColor:globalDefaults.defaultColor,borderWidth:3,borderColor:globalDefaults.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}}),module.exports=Element.extend({draw:function(){var index,current,previous,currentVM,vm=this._view,ctx=this._chart.ctx,spanGaps=vm.spanGaps,points=this._children.slice(),globalOptionLineElements=globalDefaults.elements.line,lastDrawnIndex=-1;for(this._loop&&points.length&&points.push(points[0]),ctx.save(),ctx.lineCap=vm.borderCapStyle||globalOptionLineElements.borderCapStyle,ctx.setLineDash&&ctx.setLineDash(vm.borderDash||globalOptionLineElements.borderDash),ctx.lineDashOffset=vm.borderDashOffset||globalOptionLineElements.borderDashOffset,ctx.lineJoin=vm.borderJoinStyle||globalOptionLineElements.borderJoinStyle,ctx.lineWidth=vm.borderWidth||globalOptionLineElements.borderWidth,ctx.strokeStyle=vm.borderColor||globalDefaults.defaultColor,ctx.beginPath(),lastDrawnIndex=-1,index=0;index<points.length;++index)current=points[index],previous=helpers.previousItem(points,index),currentVM=current._view,0===index?currentVM.skip||(ctx.moveTo(currentVM.x,currentVM.y),lastDrawnIndex=index):(previous=-1===lastDrawnIndex?previous:points[lastDrawnIndex],currentVM.skip||(lastDrawnIndex!==index-1&&!spanGaps||-1===lastDrawnIndex?ctx.moveTo(currentVM.x,currentVM.y):helpers.canvas.lineTo(ctx,previous._view,current._view),lastDrawnIndex=index));ctx.stroke(),ctx.restore()}})},{25:25,26:26,45:45}],38:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45),defaultColor=defaults.global.defaultColor;function xRange(mouseX){var vm=this._view;return!!vm&&Math.pow(mouseX-vm.x,2)<Math.pow(vm.radius+vm.hitRadius,2)}defaults._set("global",{elements:{point:{radius:3,pointStyle:"circle",backgroundColor:defaultColor,borderColor:defaultColor,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}}),module.exports=Element.extend({inRange:function(mouseX,mouseY){var vm=this._view;return!!vm&&Math.pow(mouseX-vm.x,2)+Math.pow(mouseY-vm.y,2)<Math.pow(vm.hitRadius+vm.radius,2)},inLabelRange:xRange,inXRange:xRange,inYRange:function(mouseY){var vm=this._view;return!!vm&&Math.pow(mouseY-vm.y,2)<Math.pow(vm.radius+vm.hitRadius,2)},getCenterPoint:function(){var vm=this._view;return{x:vm.x,y:vm.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var vm=this._view;return{x:vm.x,y:vm.y,padding:vm.radius+vm.borderWidth}},draw:function(chartArea){var vm=this._view,model=this._model,ctx=this._chart.ctx,pointStyle=vm.pointStyle,radius=vm.radius,x=vm.x,y=vm.y,color=helpers.color,ratio=0;vm.skip||(ctx.strokeStyle=vm.borderColor||defaultColor,ctx.lineWidth=helpers.valueOrDefault(vm.borderWidth,defaults.global.elements.point.borderWidth),ctx.fillStyle=vm.backgroundColor||defaultColor,void 0!==chartArea&&(model.x<chartArea.left||1.01*chartArea.right<model.x||model.y<chartArea.top||1.01*chartArea.bottom<model.y)&&(model.x<chartArea.left?ratio=(x-model.x)/(chartArea.left-model.x):1.01*chartArea.right<model.x?ratio=(model.x-x)/(model.x-chartArea.right):model.y<chartArea.top?ratio=(y-model.y)/(chartArea.top-model.y):1.01*chartArea.bottom<model.y&&(ratio=(model.y-y)/(model.y-chartArea.bottom)),ratio=Math.round(100*ratio)/100,ctx.strokeStyle=color(ctx.strokeStyle).alpha(ratio).rgbString(),ctx.fillStyle=color(ctx.fillStyle).alpha(ratio).rgbString()),helpers.canvas.drawPoint(ctx,pointStyle,radius,x,y))}})},{25:25,26:26,45:45}],39:[function(require,module,exports){var defaults=require(25),Element=require(26);function isVertical(bar){return void 0!==bar._view.width}function getBarBounds(bar){var x1,x2,y1,y2,vm=bar._view;if(isVertical(bar)){var halfWidth=vm.width/2;x1=vm.x-halfWidth,x2=vm.x+halfWidth,y1=Math.min(vm.y,vm.base),y2=Math.max(vm.y,vm.base)}else{var halfHeight=vm.height/2;x1=Math.min(vm.x,vm.base),x2=Math.max(vm.x,vm.base),y1=vm.y-halfHeight,y2=vm.y+halfHeight}return{left:x1,top:y1,right:x2,bottom:y2}}defaults._set("global",{elements:{rectangle:{backgroundColor:defaults.global.defaultColor,borderColor:defaults.global.defaultColor,borderSkipped:"bottom",borderWidth:0}}}),module.exports=Element.extend({draw:function(){var left,right,top,bottom,signX,signY,borderSkipped,ctx=this._chart.ctx,vm=this._view,borderWidth=vm.borderWidth;if(vm.horizontal?(left=vm.base,right=vm.x,top=vm.y-vm.height/2,bottom=vm.y+vm.height/2,signX=right>left?1:-1,signY=1,borderSkipped=vm.borderSkipped||"left"):(left=vm.x-vm.width/2,right=vm.x+vm.width/2,top=vm.y,signX=1,signY=(bottom=vm.base)>top?1:-1,borderSkipped=vm.borderSkipped||"bottom"),borderWidth){var barSize=Math.min(Math.abs(left-right),Math.abs(top-bottom)),halfStroke=(borderWidth=borderWidth>barSize?barSize:borderWidth)/2,borderLeft=left+("left"!==borderSkipped?halfStroke*signX:0),borderRight=right+("right"!==borderSkipped?-halfStroke*signX:0),borderTop=top+("top"!==borderSkipped?halfStroke*signY:0),borderBottom=bottom+("bottom"!==borderSkipped?-halfStroke*signY:0);borderLeft!==borderRight&&(top=borderTop,bottom=borderBottom),borderTop!==borderBottom&&(left=borderLeft,right=borderRight)}ctx.beginPath(),ctx.fillStyle=vm.backgroundColor,ctx.strokeStyle=vm.borderColor,ctx.lineWidth=borderWidth;var corners=[[left,bottom],[left,top],[right,top],[right,bottom]],startCorner=["bottom","left","top","right"].indexOf(borderSkipped,0);function cornerAt(index){return corners[(startCorner+index)%4]}-1===startCorner&&(startCorner=0);var corner=cornerAt(0);ctx.moveTo(corner[0],corner[1]);for(var i=1;i<4;i++)corner=cornerAt(i),ctx.lineTo(corner[0],corner[1]);ctx.fill(),borderWidth&&ctx.stroke()},height:function(){var vm=this._view;return vm.base-vm.y},inRange:function(mouseX,mouseY){var inRange=!1;if(this._view){var bounds=getBarBounds(this);inRange=mouseX>=bounds.left&&mouseX<=bounds.right&&mouseY>=bounds.top&&mouseY<=bounds.bottom}return inRange},inLabelRange:function(mouseX,mouseY){if(!this._view)return!1;var bounds=getBarBounds(this);return isVertical(this)?mouseX>=bounds.left&&mouseX<=bounds.right:mouseY>=bounds.top&&mouseY<=bounds.bottom},inXRange:function(mouseX){var bounds=getBarBounds(this);return mouseX>=bounds.left&&mouseX<=bounds.right},inYRange:function(mouseY){var bounds=getBarBounds(this);return mouseY>=bounds.top&&mouseY<=bounds.bottom},getCenterPoint:function(){var x,y,vm=this._view;return isVertical(this)?(x=vm.x,y=(vm.y+vm.base)/2):(x=(vm.x+vm.base)/2,y=vm.y),{x:x,y:y}},getArea:function(){var vm=this._view;return vm.width*Math.abs(vm.y-vm.base)},tooltipPosition:function(){var vm=this._view;return{x:vm.x,y:vm.y}}})},{25:25,26:26}],40:[function(require,module,exports){module.exports={},module.exports.Arc=require(36),module.exports.Line=require(37),module.exports.Point=require(38),module.exports.Rectangle=require(39)},{36:36,37:37,38:38,39:39}],41:[function(require,module,exports){var helpers=require(42);exports=module.exports={clear:function(chart){chart.ctx.clearRect(0,0,chart.width,chart.height)},roundedRect:function(ctx,x,y,width,height,radius){if(radius){var rx=Math.min(radius,width/2),ry=Math.min(radius,height/2);ctx.moveTo(x+rx,y),ctx.lineTo(x+width-rx,y),ctx.quadraticCurveTo(x+width,y,x+width,y+ry),ctx.lineTo(x+width,y+height-ry),ctx.quadraticCurveTo(x+width,y+height,x+width-rx,y+height),ctx.lineTo(x+rx,y+height),ctx.quadraticCurveTo(x,y+height,x,y+height-ry),ctx.lineTo(x,y+ry),ctx.quadraticCurveTo(x,y,x+rx,y)}else ctx.rect(x,y,width,height)},drawPoint:function(ctx,style,radius,x,y){var type,edgeLength,xOffset,yOffset,height,size;if("object"!==_typeof(style)||"[object HTMLImageElement]"!==(type=style.toString())&&"[object HTMLCanvasElement]"!==type){if(!(isNaN(radius)||radius<=0)){switch(style){default:ctx.beginPath(),ctx.arc(x,y,radius,0,2*Math.PI),ctx.closePath(),ctx.fill();break;case"triangle":ctx.beginPath(),height=(edgeLength=3*radius/Math.sqrt(3))*Math.sqrt(3)/2,ctx.moveTo(x-edgeLength/2,y+height/3),ctx.lineTo(x+edgeLength/2,y+height/3),ctx.lineTo(x,y-2*height/3),ctx.closePath(),ctx.fill();break;case"rect":size=1/Math.SQRT2*radius,ctx.beginPath(),ctx.fillRect(x-size,y-size,2*size,2*size),ctx.strokeRect(x-size,y-size,2*size,2*size);break;case"rectRounded":var offset=radius/Math.SQRT2,leftX=x-offset,topY=y-offset,sideSize=Math.SQRT2*radius;ctx.beginPath(),this.roundedRect(ctx,leftX,topY,sideSize,sideSize,radius/2),ctx.closePath(),ctx.fill();break;case"rectRot":size=1/Math.SQRT2*radius,ctx.beginPath(),ctx.moveTo(x-size,y),ctx.lineTo(x,y+size),ctx.lineTo(x+size,y),ctx.lineTo(x,y-size),ctx.closePath(),ctx.fill();break;case"cross":ctx.beginPath(),ctx.moveTo(x,y+radius),ctx.lineTo(x,y-radius),ctx.moveTo(x-radius,y),ctx.lineTo(x+radius,y),ctx.closePath();break;case"crossRot":ctx.beginPath(),xOffset=Math.cos(Math.PI/4)*radius,yOffset=Math.sin(Math.PI/4)*radius,ctx.moveTo(x-xOffset,y-yOffset),ctx.lineTo(x+xOffset,y+yOffset),ctx.moveTo(x-xOffset,y+yOffset),ctx.lineTo(x+xOffset,y-yOffset),ctx.closePath();break;case"star":ctx.beginPath(),ctx.moveTo(x,y+radius),ctx.lineTo(x,y-radius),ctx.moveTo(x-radius,y),ctx.lineTo(x+radius,y),xOffset=Math.cos(Math.PI/4)*radius,yOffset=Math.sin(Math.PI/4)*radius,ctx.moveTo(x-xOffset,y-yOffset),ctx.lineTo(x+xOffset,y+yOffset),ctx.moveTo(x-xOffset,y+yOffset),ctx.lineTo(x+xOffset,y-yOffset),ctx.closePath();break;case"line":ctx.beginPath(),ctx.moveTo(x-radius,y),ctx.lineTo(x+radius,y),ctx.closePath();break;case"dash":ctx.beginPath(),ctx.moveTo(x,y),ctx.lineTo(x+radius,y),ctx.closePath()}ctx.stroke()}}else ctx.drawImage(style,x-style.width/2,y-style.height/2,style.width,style.height)},clipArea:function(ctx,area){ctx.save(),ctx.beginPath(),ctx.rect(area.left,area.top,area.right-area.left,area.bottom-area.top),ctx.clip()},unclipArea:function(ctx){ctx.restore()},lineTo:function(ctx,previous,target,flip){if(target.steppedLine)return"after"===target.steppedLine&&!flip||"after"!==target.steppedLine&&flip?ctx.lineTo(previous.x,target.y):ctx.lineTo(target.x,previous.y),void ctx.lineTo(target.x,target.y);target.tension?ctx.bezierCurveTo(flip?previous.controlPointPreviousX:previous.controlPointNextX,flip?previous.controlPointPreviousY:previous.controlPointNextY,flip?target.controlPointNextX:target.controlPointPreviousX,flip?target.controlPointNextY:target.controlPointPreviousY,target.x,target.y):ctx.lineTo(target.x,target.y)}};helpers.clear=exports.clear,helpers.drawRoundedRectangle=function(ctx){ctx.beginPath(),exports.roundedRect.apply(exports,arguments),ctx.closePath()}},{42:42}],42:[function(require,module,exports){var id,helpers={noop:function(){},uid:(id=0,function(){return id++}),isNullOrUndef:function(value){return null==value},isArray:Array.isArray?Array.isArray:function(value){return"[object Array]"===Object.prototype.toString.call(value)},isObject:function(value){return null!==value&&"[object Object]"===Object.prototype.toString.call(value)},valueOrDefault:function(value,defaultValue){return void 0===value?defaultValue:value},valueAtIndexOrDefault:function(value,index,defaultValue){return helpers.valueOrDefault(helpers.isArray(value)?value[index]:value,defaultValue)},callback:function(fn,args,thisArg){if(fn&&"function"==typeof fn.call)return fn.apply(thisArg,args)},each:function(loopable,fn,thisArg,reverse){var i,len,keys;if(helpers.isArray(loopable))if(len=loopable.length,reverse)for(i=len-1;i>=0;i--)fn.call(thisArg,loopable[i],i);else for(i=0;i<len;i++)fn.call(thisArg,loopable[i],i);else if(helpers.isObject(loopable))for(len=(keys=Object.keys(loopable)).length,i=0;i<len;i++)fn.call(thisArg,loopable[keys[i]],keys[i])},arrayEquals:function(a0,a1){var i,ilen,v0,v1;if(!a0||!a1||a0.length!==a1.length)return!1;for(i=0,ilen=a0.length;i<ilen;++i)if(v0=a0[i],v1=a1[i],v0 instanceof Array&&v1 instanceof Array){if(!helpers.arrayEquals(v0,v1))return!1}else if(v0!==v1)return!1;return!0},clone:function(source){if(helpers.isArray(source))return source.map(helpers.clone);if(helpers.isObject(source)){for(var target={},keys=Object.keys(source),klen=keys.length,k=0;k<klen;++k)target[keys[k]]=helpers.clone(source[keys[k]]);return target}return source},_merger:function(key,target,source,options){var tval=target[key],sval=source[key];helpers.isObject(tval)&&helpers.isObject(sval)?helpers.merge(tval,sval,options):target[key]=helpers.clone(sval)},_mergerIf:function(key,target,source){var tval=target[key],sval=source[key];helpers.isObject(tval)&&helpers.isObject(sval)?helpers.mergeIf(tval,sval):target.hasOwnProperty(key)||(target[key]=helpers.clone(sval))},merge:function(target,source,options){var merge,i,keys,klen,k,sources=helpers.isArray(source)?source:[source],ilen=sources.length;if(!helpers.isObject(target))return target;for(merge=(options=options||{}).merger||helpers._merger,i=0;i<ilen;++i)if(source=sources[i],helpers.isObject(source))for(k=0,klen=(keys=Object.keys(source)).length;k<klen;++k)merge(keys[k],target,source,options);return target},mergeIf:function(target,source){return helpers.merge(target,source,{merger:helpers._mergerIf})}};module.exports=helpers,helpers.callCallback=helpers.callback,helpers.indexOf=function(array,item,fromIndex){return Array.prototype.indexOf.call(array,item,fromIndex)},helpers.getValueOrDefault=helpers.valueOrDefault,helpers.getValueAtIndexOrDefault=helpers.valueAtIndexOrDefault},{}],43:[function(require,module,exports){var helpers=require(42),effects={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return(t-=1)*t*t+1},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-((t-=1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return(t-=1)*t*t*t*t+1},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return 1-Math.cos(t*(Math.PI/2))},easeOutSine:function(t){return Math.sin(t*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t)-1)},easeInExpo:function(t){return 0===t?0:Math.pow(2,10*(t-1))},easeOutExpo:function(t){return 1===t?1:1-Math.pow(2,-10*t)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},easeInCirc:function(t){return t>=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var s=1.70158,p=0,a=1;return 0===t?0:1===t?1:(p||(p=.3),a<1?(a=1,s=p/4):s=p/(2*Math.PI)*Math.asin(1/a),-a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p))},easeOutElastic:function(t){var s=1.70158,p=0,a=1;return 0===t?0:1===t?1:(p||(p=.3),a<1?(a=1,s=p/4):s=p/(2*Math.PI)*Math.asin(1/a),a*Math.pow(2,-10*t)*Math.sin((t-s)*(2*Math.PI)/p)+1)},easeInOutElastic:function(t){var s=1.70158,p=0,a=1;return 0===t?0:2==(t/=.5)?1:(p||(p=.45),a<1?(a=1,s=p/4):s=p/(2*Math.PI)*Math.asin(1/a),t<1?a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p)*-.5:a*Math.pow(2,-10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p)*.5+1)},easeInBack:function(t){var s=1.70158;return t*t*((s+1)*t-s)},easeOutBack:function(t){var s=1.70158;return(t-=1)*t*((s+1)*t+s)+1},easeInOutBack:function(t){var s=1.70158;return(t/=.5)<1?t*t*((1+(s*=1.525))*t-s)*.5:.5*((t-=2)*t*((1+(s*=1.525))*t+s)+2)},easeInBounce:function(t){return 1-effects.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*effects.easeInBounce(2*t):.5*effects.easeOutBounce(2*t-1)+.5}};module.exports={effects:effects},helpers.easingEffects=effects},{42:42}],44:[function(require,module,exports){var helpers=require(42);module.exports={toLineHeight:function(value,size){var matches=(""+value).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!matches||"normal"===matches[1])return 1.2*size;switch(value=+matches[2],matches[3]){case"px":return value;case"%":value/=100}return size*value},toPadding:function(value){var t,r,b,l;return helpers.isObject(value)?(t=+value.top||0,r=+value.right||0,b=+value.bottom||0,l=+value.left||0):t=r=b=l=+value||0,{top:t,right:r,bottom:b,left:l,height:t+b,width:l+r}},resolve:function(inputs,context,index){var i,ilen,value;for(i=0,ilen=inputs.length;i<ilen;++i)if(void 0!==(value=inputs[i])&&(void 0!==context&&"function"==typeof value&&(value=value(context)),void 0!==index&&helpers.isArray(value)&&(value=value[index]),void 0!==value))return value}}},{42:42}],45:[function(require,module,exports){module.exports=require(42),module.exports.easing=require(43),module.exports.canvas=require(41),module.exports.options=require(44)},{41:41,42:42,43:43,44:44}],46:[function(require,module,exports){module.exports={acquireContext:function(item){return item&&item.canvas&&(item=item.canvas),item&&item.getContext("2d")||null}}},{}],47:[function(require,module,exports){var helpers=require(45),ANIMATION_START_EVENTS=["animationstart","webkitAnimationStart"],EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function readUsedSize(element,property){var value=helpers.getStyle(element,property),matches=value&&value.match(/^(\d+)(\.\d+)?px$/);return matches?Number(matches[1]):void 0}var eventListenerOptions=!!function(){var supports=!1;try{var options=Object.defineProperty({},"passive",{get:function(){supports=!0}});window.addEventListener("e",null,options)}catch(e){}return supports}()&&{passive:!0};function _addEventListener(node,type,listener){node.addEventListener(type,listener,eventListenerOptions)}function _removeEventListener(node,type,listener){node.removeEventListener(type,listener,eventListenerOptions)}function createEvent(type,chart,x,y,nativeEvent){return{type:type,chart:chart,native:nativeEvent||null,x:void 0!==x?x:null,y:void 0!==y?y:null}}function addResizeListener(node,listener,chart){var fn,thisArg,ticking,args,expando=node.$chartjs||(node.$chartjs={}),resizer=expando.resizer=function(handler){var resizer=document.createElement("div"),cls="chartjs-size-monitor",style="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;";resizer.style.cssText=style,resizer.className=cls,resizer.innerHTML='<div class="'+cls+'-expand" style="'+style+'"><div style="position:absolute;width:1000000px;height:1000000px;left:0;top:0"></div></div><div class="'+cls+'-shrink" style="'+style+'"><div style="position:absolute;width:200%;height:200%;left:0; top:0"></div></div>';var expand=resizer.childNodes[0],shrink=resizer.childNodes[1];resizer._reset=function(){expand.scrollLeft=1e6,expand.scrollTop=1e6,shrink.scrollLeft=1e6,shrink.scrollTop=1e6};var onScroll=function(){resizer._reset(),handler()};return _addEventListener(expand,"scroll",onScroll.bind(expand,"expand")),_addEventListener(shrink,"scroll",onScroll.bind(shrink,"shrink")),resizer}((fn=function(){if(expando.resizer)return listener(createEvent("resize",chart))},ticking=!1,args=[],function(){args=Array.prototype.slice.call(arguments),thisArg=thisArg||this,ticking||(ticking=!0,helpers.requestAnimFrame.call(window,(function(){ticking=!1,fn.apply(thisArg,args)})))}));!function(node,handler){var proxy=(node.$chartjs||(node.$chartjs={})).renderProxy=function(e){"chartjs-render-animation"===e.animationName&&handler()};helpers.each(ANIMATION_START_EVENTS,(function(type){_addEventListener(node,type,proxy)})),node.classList.add("chartjs-render-monitor")}(node,(function(){if(expando.resizer){var container=node.parentNode;container&&container!==resizer.parentNode&&container.insertBefore(resizer,container.firstChild),resizer._reset()}}))}function removeResizeListener(node){var expando=node.$chartjs||{},resizer=expando.resizer;delete expando.resizer,function(node){var expando=node.$chartjs||{},proxy=expando.renderProxy;proxy&&(helpers.each(ANIMATION_START_EVENTS,(function(type){_removeEventListener(node,type,proxy)})),delete expando.renderProxy),node.classList.remove("chartjs-render-monitor")}(node),resizer&&resizer.parentNode&&resizer.parentNode.removeChild(resizer)}module.exports={_enabled:"undefined"!=typeof window&&"undefined"!=typeof document,initialize:function(){var platform,css,style,keyframes="from{opacity:0.99}to{opacity:1}";css="@-webkit-keyframes chartjs-render-animation{"+keyframes+"}@keyframes chartjs-render-animation{"+keyframes+"}.chartjs-render-monitor{-webkit-animation:chartjs-render-animation 0.001s;animation:chartjs-render-animation 0.001s;}",style=(platform=this)._style||document.createElement("style"),platform._style||(platform._style=style,css="/* Chart.js */\n"+css,style.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(style)),style.appendChild(document.createTextNode(css))},acquireContext:function(item,config){"string"==typeof item?item=document.getElementById(item):item.length&&(item=item[0]),item&&item.canvas&&(item=item.canvas);var context=item&&item.getContext&&item.getContext("2d");return context&&context.canvas===item?(function(canvas,config){var style=canvas.style,renderHeight=canvas.getAttribute("height"),renderWidth=canvas.getAttribute("width");if(canvas.$chartjs={initial:{height:renderHeight,width:renderWidth,style:{display:style.display,height:style.height,width:style.width}}},style.display=style.display||"block",null===renderWidth||""===renderWidth){var displayWidth=readUsedSize(canvas,"width");void 0!==displayWidth&&(canvas.width=displayWidth)}if(null===renderHeight||""===renderHeight)if(""===canvas.style.height)canvas.height=canvas.width/(config.options.aspectRatio||2);else{var displayHeight=readUsedSize(canvas,"height");void 0!==displayWidth&&(canvas.height=displayHeight)}}(item,config),context):null},releaseContext:function(context){var canvas=context.canvas;if(canvas.$chartjs){var initial=canvas.$chartjs.initial;["height","width"].forEach((function(prop){var value=initial[prop];helpers.isNullOrUndef(value)?canvas.removeAttribute(prop):canvas.setAttribute(prop,value)})),helpers.each(initial.style||{},(function(value,key){canvas.style[key]=value})),canvas.width=canvas.width,delete canvas.$chartjs}},addEventListener:function(chart,type,listener){var canvas=chart.canvas;if("resize"!==type){var expando=listener.$chartjs||(listener.$chartjs={}),proxy=(expando.proxies||(expando.proxies={}))[chart.id+"_"+type]=function(event){listener(function(event,chart){var type=EVENT_TYPES[event.type]||event.type,pos=helpers.getRelativePosition(event,chart);return createEvent(type,chart,pos.x,pos.y,event)}(event,chart))};_addEventListener(canvas,type,proxy)}else addResizeListener(canvas,listener,chart)},removeEventListener:function(chart,type,listener){var canvas=chart.canvas;if("resize"!==type){var proxy=((listener.$chartjs||{}).proxies||{})[chart.id+"_"+type];proxy&&_removeEventListener(canvas,type,proxy)}else removeResizeListener(canvas)}},helpers.addEvent=_addEventListener,helpers.removeEvent=_removeEventListener},{45:45}],48:[function(require,module,exports){var helpers=require(45),basic=require(46),dom=require(47),implementation=dom._enabled?dom:basic;module.exports=helpers.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},implementation)},{45:45,46:46,47:47}],49:[function(require,module,exports){var defaults=require(25),elements=require(40),helpers=require(45);defaults._set("global",{plugins:{filler:{propagate:!0}}}),module.exports=function(){var mappers={dataset:function(source){var index=source.fill,chart=source.chart,meta=chart.getDatasetMeta(index),points=meta&&chart.isDatasetVisible(index)&&meta.dataset._children||[],length=points.length||0;return length?function(point,i){return i<length&&points[i]._view||null}:null},boundary:function(source){var boundary=source.boundary,x=boundary?boundary.x:null,y=boundary?boundary.y:null;return function(point){return{x:null===x?point.x:x,y:null===y?point.y:y}}}};function decodeFill(el,index,count){var target,model=el._model||{},fill=model.fill;if(void 0===fill&&(fill=!!model.backgroundColor),!1===fill||null===fill)return!1;if(!0===fill)return"origin";if(target=parseFloat(fill,10),isFinite(target)&&Math.floor(target)===target)return"-"!==fill[0]&&"+"!==fill[0]||(target=index+target),!(target===index||target<0||target>=count)&⌖switch(fill){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return fill;default:return!1}}function computeBoundary(source){var horizontal,model=source.el._model||{},scale=source.el._scale||{},fill=source.fill,target=null;if(isFinite(fill))return null;if("start"===fill?target=void 0===model.scaleBottom?scale.bottom:model.scaleBottom:"end"===fill?target=void 0===model.scaleTop?scale.top:model.scaleTop:void 0!==model.scaleZero?target=model.scaleZero:scale.getBasePosition?target=scale.getBasePosition():scale.getBasePixel&&(target=scale.getBasePixel()),null!=target){if(void 0!==target.x&&void 0!==target.y)return target;if("number"==typeof target&&isFinite(target))return{x:(horizontal=scale.isHorizontal())?target:null,y:horizontal?null:target}}return null}function resolveTarget(sources,index,propagate){var target,fill=sources[index].fill,visited=[index];if(!propagate)return fill;for(;!1!==fill&&-1===visited.indexOf(fill);){if(!isFinite(fill))return fill;if(!(target=sources[fill]))return!1;if(target.visible)return fill;visited.push(fill),fill=target.fill}return!1}function createMapper(source){var fill=source.fill,type="dataset";return!1===fill?null:(isFinite(fill)||(type="boundary"),mappers[type](source))}function isDrawable(point){return point&&!point.skip}function drawArea(ctx,curve0,curve1,len0,len1){var i;if(len0&&len1){for(ctx.moveTo(curve0[0].x,curve0[0].y),i=1;i<len0;++i)helpers.canvas.lineTo(ctx,curve0[i-1],curve0[i]);for(ctx.lineTo(curve1[len1-1].x,curve1[len1-1].y),i=len1-1;i>0;--i)helpers.canvas.lineTo(ctx,curve1[i],curve1[i-1],!0)}}return{id:"filler",afterDatasetsUpdate:function(chart,options){var meta,i,el,source,count=(chart.data.datasets||[]).length,propagate=options.propagate,sources=[];for(i=0;i<count;++i)source=null,(el=(meta=chart.getDatasetMeta(i)).dataset)&&el._model&&el instanceof elements.Line&&(source={visible:chart.isDatasetVisible(i),fill:decodeFill(el,i,count),chart:chart,el:el}),meta.$filler=source,sources.push(source);for(i=0;i<count;++i)(source=sources[i])&&(source.fill=resolveTarget(sources,i,propagate),source.boundary=computeBoundary(source),source.mapper=createMapper(source))},beforeDatasetDraw:function(chart,args){var meta=args.meta.$filler;if(meta){var ctx=chart.ctx,el=meta.el,view=el._view,points=el._children||[],mapper=meta.mapper,color=view.backgroundColor||defaults.global.defaultColor;mapper&&color&&points.length&&(helpers.canvas.clipArea(ctx,chart.chartArea),function(ctx,points,mapper,view,color,loop){var i,ilen,index,p0,p1,d0,d1,count=points.length,span=view.spanGaps,curve0=[],curve1=[],len0=0,len1=0;for(ctx.beginPath(),i=0,ilen=count+!!loop;i<ilen;++i)p1=mapper(p0=points[index=i%count]._view,index,view),d0=isDrawable(p0),d1=isDrawable(p1),d0&&d1?(len0=curve0.push(p0),len1=curve1.push(p1)):len0&&len1&&(span?(d0&&curve0.push(p0),d1&&curve1.push(p1)):(drawArea(ctx,curve0,curve1,len0,len1),len0=len1=0,curve0=[],curve1=[]));drawArea(ctx,curve0,curve1,len0,len1),ctx.closePath(),ctx.fillStyle=color,ctx.fill()}(ctx,points,mapper,view,color,el._loop),helpers.canvas.unclipArea(ctx))}}}}},{25:25,40:40,45:45}],50:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45);defaults._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(e,legendItem){var index=legendItem.datasetIndex,ci=this.chart,meta=ci.getDatasetMeta(index);meta.hidden=null===meta.hidden?!ci.data.datasets[index].hidden:null,ci.update()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(chart){var data=chart.data;return helpers.isArray(data.datasets)?data.datasets.map((function(dataset,i){return{text:dataset.label,fillStyle:helpers.isArray(dataset.backgroundColor)?dataset.backgroundColor[0]:dataset.backgroundColor,hidden:!chart.isDatasetVisible(i),lineCap:dataset.borderCapStyle,lineDash:dataset.borderDash,lineDashOffset:dataset.borderDashOffset,lineJoin:dataset.borderJoinStyle,lineWidth:dataset.borderWidth,strokeStyle:dataset.borderColor,pointStyle:dataset.pointStyle,datasetIndex:i}}),this):[]}}},legendCallback:function(chart){var text=[];text.push('<ul class="'+chart.id+'-legend">');for(var i=0;i<chart.data.datasets.length;i++)text.push('<li><span style="background-color:'+chart.data.datasets[i].backgroundColor+'"></span>'),chart.data.datasets[i].label&&text.push(chart.data.datasets[i].label),text.push("</li>");return text.push("</ul>"),text.join("")}}),module.exports=function(Chart){var layout=Chart.layoutService,noop=helpers.noop;function getBoxWidth(labelOpts,fontSize){return labelOpts.usePointStyle?fontSize*Math.SQRT2:labelOpts.boxWidth}function createNewLegendAndAttach(chart,legendOpts){var legend=new Chart.Legend({ctx:chart.ctx,options:legendOpts,chart:chart});layout.configure(chart,legend,legendOpts),layout.addBox(chart,legend),chart.legend=legend}return Chart.Legend=Element.extend({initialize:function(config){helpers.extend(this,config),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:noop,update:function(maxWidth,maxHeight,margins){var me=this;return me.beforeUpdate(),me.maxWidth=maxWidth,me.maxHeight=maxHeight,me.margins=margins,me.beforeSetDimensions(),me.setDimensions(),me.afterSetDimensions(),me.beforeBuildLabels(),me.buildLabels(),me.afterBuildLabels(),me.beforeFit(),me.fit(),me.afterFit(),me.afterUpdate(),me.minSize},afterUpdate:noop,beforeSetDimensions:noop,setDimensions:function(){var me=this;me.isHorizontal()?(me.width=me.maxWidth,me.left=0,me.right=me.width):(me.height=me.maxHeight,me.top=0,me.bottom=me.height),me.paddingLeft=0,me.paddingTop=0,me.paddingRight=0,me.paddingBottom=0,me.minSize={width:0,height:0}},afterSetDimensions:noop,beforeBuildLabels:noop,buildLabels:function(){var me=this,labelOpts=me.options.labels||{},legendItems=helpers.callback(labelOpts.generateLabels,[me.chart],me)||[];labelOpts.filter&&(legendItems=legendItems.filter((function(item){return labelOpts.filter(item,me.chart.data)}))),me.options.reverse&&legendItems.reverse(),me.legendItems=legendItems},afterBuildLabels:noop,beforeFit:noop,fit:function(){var me=this,opts=me.options,labelOpts=opts.labels,display=opts.display,ctx=me.ctx,globalDefault=defaults.global,valueOrDefault=helpers.valueOrDefault,fontSize=valueOrDefault(labelOpts.fontSize,globalDefault.defaultFontSize),fontStyle=valueOrDefault(labelOpts.fontStyle,globalDefault.defaultFontStyle),fontFamily=valueOrDefault(labelOpts.fontFamily,globalDefault.defaultFontFamily),labelFont=helpers.fontString(fontSize,fontStyle,fontFamily),hitboxes=me.legendHitBoxes=[],minSize=me.minSize,isHorizontal=me.isHorizontal();if(isHorizontal?(minSize.width=me.maxWidth,minSize.height=display?10:0):(minSize.width=display?10:0,minSize.height=me.maxHeight),display)if(ctx.font=labelFont,isHorizontal){var lineWidths=me.lineWidths=[0],totalHeight=me.legendItems.length?fontSize+labelOpts.padding:0;ctx.textAlign="left",ctx.textBaseline="top",helpers.each(me.legendItems,(function(legendItem,i){var width=getBoxWidth(labelOpts,fontSize)+fontSize/2+ctx.measureText(legendItem.text).width;lineWidths[lineWidths.length-1]+width+labelOpts.padding>=me.width&&(totalHeight+=fontSize+labelOpts.padding,lineWidths[lineWidths.length]=me.left),hitboxes[i]={left:0,top:0,width:width,height:fontSize},lineWidths[lineWidths.length-1]+=width+labelOpts.padding})),minSize.height+=totalHeight}else{var vPadding=labelOpts.padding,columnWidths=me.columnWidths=[],totalWidth=labelOpts.padding,currentColWidth=0,currentColHeight=0,itemHeight=fontSize+vPadding;helpers.each(me.legendItems,(function(legendItem,i){var itemWidth=getBoxWidth(labelOpts,fontSize)+fontSize/2+ctx.measureText(legendItem.text).width;currentColHeight+itemHeight>minSize.height&&(totalWidth+=currentColWidth+labelOpts.padding,columnWidths.push(currentColWidth),currentColWidth=0,currentColHeight=0),currentColWidth=Math.max(currentColWidth,itemWidth),currentColHeight+=itemHeight,hitboxes[i]={left:0,top:0,width:itemWidth,height:fontSize}})),totalWidth+=currentColWidth,columnWidths.push(currentColWidth),minSize.width+=totalWidth}me.width=minSize.width,me.height=minSize.height},afterFit:noop,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var me=this,opts=me.options,labelOpts=opts.labels,globalDefault=defaults.global,lineDefault=globalDefault.elements.line,legendWidth=me.width,lineWidths=me.lineWidths;if(opts.display){var cursor,ctx=me.ctx,valueOrDefault=helpers.valueOrDefault,fontColor=valueOrDefault(labelOpts.fontColor,globalDefault.defaultFontColor),fontSize=valueOrDefault(labelOpts.fontSize,globalDefault.defaultFontSize),fontStyle=valueOrDefault(labelOpts.fontStyle,globalDefault.defaultFontStyle),fontFamily=valueOrDefault(labelOpts.fontFamily,globalDefault.defaultFontFamily),labelFont=helpers.fontString(fontSize,fontStyle,fontFamily);ctx.textAlign="left",ctx.textBaseline="middle",ctx.lineWidth=.5,ctx.strokeStyle=fontColor,ctx.fillStyle=fontColor,ctx.font=labelFont;var boxWidth=getBoxWidth(labelOpts,fontSize),hitboxes=me.legendHitBoxes,isHorizontal=me.isHorizontal();cursor=isHorizontal?{x:me.left+(legendWidth-lineWidths[0])/2,y:me.top+labelOpts.padding,line:0}:{x:me.left+labelOpts.padding,y:me.top+labelOpts.padding,line:0};var itemHeight=fontSize+labelOpts.padding;helpers.each(me.legendItems,(function(legendItem,i){var textWidth=ctx.measureText(legendItem.text).width,width=boxWidth+fontSize/2+textWidth,x=cursor.x,y=cursor.y;isHorizontal?x+width>=legendWidth&&(y=cursor.y+=itemHeight,cursor.line++,x=cursor.x=me.left+(legendWidth-lineWidths[cursor.line])/2):y+itemHeight>me.bottom&&(x=cursor.x=x+me.columnWidths[cursor.line]+labelOpts.padding,y=cursor.y=me.top+labelOpts.padding,cursor.line++),function(x,y,legendItem){if(!(isNaN(boxWidth)||boxWidth<=0)){ctx.save(),ctx.fillStyle=valueOrDefault(legendItem.fillStyle,globalDefault.defaultColor),ctx.lineCap=valueOrDefault(legendItem.lineCap,lineDefault.borderCapStyle),ctx.lineDashOffset=valueOrDefault(legendItem.lineDashOffset,lineDefault.borderDashOffset),ctx.lineJoin=valueOrDefault(legendItem.lineJoin,lineDefault.borderJoinStyle),ctx.lineWidth=valueOrDefault(legendItem.lineWidth,lineDefault.borderWidth),ctx.strokeStyle=valueOrDefault(legendItem.strokeStyle,globalDefault.defaultColor);var isLineWidthZero=0===valueOrDefault(legendItem.lineWidth,lineDefault.borderWidth);if(ctx.setLineDash&&ctx.setLineDash(valueOrDefault(legendItem.lineDash,lineDefault.borderDash)),opts.labels&&opts.labels.usePointStyle){var radius=fontSize*Math.SQRT2/2,offSet=radius/Math.SQRT2,centerX=x+offSet,centerY=y+offSet;helpers.canvas.drawPoint(ctx,legendItem.pointStyle,radius,centerX,centerY)}else isLineWidthZero||ctx.strokeRect(x,y,boxWidth,fontSize),ctx.fillRect(x,y,boxWidth,fontSize);ctx.restore()}}(x,y,legendItem),hitboxes[i].left=x,hitboxes[i].top=y,function(x,y,legendItem,textWidth){var halfFontSize=fontSize/2,xLeft=boxWidth+halfFontSize+x,yMiddle=y+halfFontSize;ctx.fillText(legendItem.text,xLeft,yMiddle),legendItem.hidden&&(ctx.beginPath(),ctx.lineWidth=2,ctx.moveTo(xLeft,yMiddle),ctx.lineTo(xLeft+textWidth,yMiddle),ctx.stroke())}(x,y,legendItem,textWidth),isHorizontal?cursor.x+=width+labelOpts.padding:cursor.y+=itemHeight}))}},handleEvent:function(e){var me=this,opts=me.options,type="mouseup"===e.type?"click":e.type,changed=!1;if("mousemove"===type){if(!opts.onHover)return}else{if("click"!==type)return;if(!opts.onClick)return}var x=e.x,y=e.y;if(x>=me.left&&x<=me.right&&y>=me.top&&y<=me.bottom)for(var lh=me.legendHitBoxes,i=0;i<lh.length;++i){var hitBox=lh[i];if(x>=hitBox.left&&x<=hitBox.left+hitBox.width&&y>=hitBox.top&&y<=hitBox.top+hitBox.height){if("click"===type){opts.onClick.call(me,e.native,me.legendItems[i]),changed=!0;break}if("mousemove"===type){opts.onHover.call(me,e.native,me.legendItems[i]),changed=!0;break}}}return changed}}),{id:"legend",beforeInit:function(chart){var legendOpts=chart.options.legend;legendOpts&&createNewLegendAndAttach(chart,legendOpts)},beforeUpdate:function(chart){var legendOpts=chart.options.legend,legend=chart.legend;legendOpts?(helpers.mergeIf(legendOpts,defaults.global.legend),legend?(layout.configure(chart,legend,legendOpts),legend.options=legendOpts):createNewLegendAndAttach(chart,legendOpts)):legend&&(layout.removeBox(chart,legend),delete chart.legend)},afterEvent:function(chart,e){var legend=chart.legend;legend&&legend.handleEvent(e)}}}},{25:25,26:26,45:45}],51:[function(require,module,exports){var defaults=require(25),Element=require(26),helpers=require(45);defaults._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,lineHeight:1.2,padding:10,position:"top",text:"",weight:2e3}}),module.exports=function(Chart){var layout=Chart.layoutService,noop=helpers.noop;function createNewTitleBlockAndAttach(chart,titleOpts){var title=new Chart.Title({ctx:chart.ctx,options:titleOpts,chart:chart});layout.configure(chart,title,titleOpts),layout.addBox(chart,title),chart.titleBlock=title}return Chart.Title=Element.extend({initialize:function(config){helpers.extend(this,config),this.legendHitBoxes=[]},beforeUpdate:noop,update:function(maxWidth,maxHeight,margins){var me=this;return me.beforeUpdate(),me.maxWidth=maxWidth,me.maxHeight=maxHeight,me.margins=margins,me.beforeSetDimensions(),me.setDimensions(),me.afterSetDimensions(),me.beforeBuildLabels(),me.buildLabels(),me.afterBuildLabels(),me.beforeFit(),me.fit(),me.afterFit(),me.afterUpdate(),me.minSize},afterUpdate:noop,beforeSetDimensions:noop,setDimensions:function(){var me=this;me.isHorizontal()?(me.width=me.maxWidth,me.left=0,me.right=me.width):(me.height=me.maxHeight,me.top=0,me.bottom=me.height),me.paddingLeft=0,me.paddingTop=0,me.paddingRight=0,me.paddingBottom=0,me.minSize={width:0,height:0}},afterSetDimensions:noop,beforeBuildLabels:noop,buildLabels:noop,afterBuildLabels:noop,beforeFit:noop,fit:function(){var me=this,valueOrDefault=helpers.valueOrDefault,opts=me.options,display=opts.display,fontSize=valueOrDefault(opts.fontSize,defaults.global.defaultFontSize),minSize=me.minSize,lineCount=helpers.isArray(opts.text)?opts.text.length:1,lineHeight=helpers.options.toLineHeight(opts.lineHeight,fontSize),textSize=display?lineCount*lineHeight+2*opts.padding:0;me.isHorizontal()?(minSize.width=me.maxWidth,minSize.height=textSize):(minSize.width=textSize,minSize.height=me.maxHeight),me.width=minSize.width,me.height=minSize.height},afterFit:noop,isHorizontal:function(){var pos=this.options.position;return"top"===pos||"bottom"===pos},draw:function(){var me=this,ctx=me.ctx,valueOrDefault=helpers.valueOrDefault,opts=me.options,globalDefaults=defaults.global;if(opts.display){var maxWidth,titleX,titleY,fontSize=valueOrDefault(opts.fontSize,globalDefaults.defaultFontSize),fontStyle=valueOrDefault(opts.fontStyle,globalDefaults.defaultFontStyle),fontFamily=valueOrDefault(opts.fontFamily,globalDefaults.defaultFontFamily),titleFont=helpers.fontString(fontSize,fontStyle,fontFamily),lineHeight=helpers.options.toLineHeight(opts.lineHeight,fontSize),offset=lineHeight/2+opts.padding,rotation=0,top=me.top,left=me.left,bottom=me.bottom,right=me.right;ctx.fillStyle=valueOrDefault(opts.fontColor,globalDefaults.defaultFontColor),ctx.font=titleFont,me.isHorizontal()?(titleX=left+(right-left)/2,titleY=top+offset,maxWidth=right-left):(titleX="left"===opts.position?left+offset:right-offset,titleY=top+(bottom-top)/2,maxWidth=bottom-top,rotation=Math.PI*("left"===opts.position?-.5:.5)),ctx.save(),ctx.translate(titleX,titleY),ctx.rotate(rotation),ctx.textAlign="center",ctx.textBaseline="middle";var text=opts.text;if(helpers.isArray(text))for(var y=0,i=0;i<text.length;++i)ctx.fillText(text[i],0,y,maxWidth),y+=lineHeight;else ctx.fillText(text,0,0,maxWidth);ctx.restore()}}}),{id:"title",beforeInit:function(chart){var titleOpts=chart.options.title;titleOpts&&createNewTitleBlockAndAttach(chart,titleOpts)},beforeUpdate:function(chart){var titleOpts=chart.options.title,titleBlock=chart.titleBlock;titleOpts?(helpers.mergeIf(titleOpts,defaults.global.title),titleBlock?(layout.configure(chart,titleBlock,titleOpts),titleBlock.options=titleOpts):createNewTitleBlockAndAttach(chart,titleOpts)):titleBlock&&(Chart.layoutService.removeBox(chart,titleBlock),delete chart.titleBlock)}}}},{25:25,26:26,45:45}],52:[function(require,module,exports){module.exports=function(Chart){var DatasetScale=Chart.Scale.extend({getLabels:function(){var data=this.chart.data;return this.options.labels||(this.isHorizontal()?data.xLabels:data.yLabels)||data.labels},determineDataLimits:function(){var findIndex,me=this,labels=me.getLabels();me.minIndex=0,me.maxIndex=labels.length-1,void 0!==me.options.ticks.min&&(findIndex=labels.indexOf(me.options.ticks.min),me.minIndex=-1!==findIndex?findIndex:me.minIndex),void 0!==me.options.ticks.max&&(findIndex=labels.indexOf(me.options.ticks.max),me.maxIndex=-1!==findIndex?findIndex:me.maxIndex),me.min=labels[me.minIndex],me.max=labels[me.maxIndex]},buildTicks:function(){var me=this,labels=me.getLabels();me.ticks=0===me.minIndex&&me.maxIndex===labels.length-1?labels:labels.slice(me.minIndex,me.maxIndex+1)},getLabelForIndex:function(index,datasetIndex){var me=this,data=me.chart.data,isHorizontal=me.isHorizontal();return data.yLabels&&!isHorizontal?me.getRightValue(data.datasets[datasetIndex].data[index]):me.ticks[index-me.minIndex]},getPixelForValue:function(value,index){var valueCategory,me=this,offset=me.options.offset,offsetAmt=Math.max(me.maxIndex+1-me.minIndex-(offset?0:1),1);if(null!=value&&(valueCategory=me.isHorizontal()?value.x:value.y),void 0!==valueCategory||void 0!==value&&isNaN(index)){value=valueCategory||value;var idx=me.getLabels().indexOf(value);index=-1!==idx?idx:index}if(me.isHorizontal()){var valueWidth=me.width/offsetAmt,widthOffset=valueWidth*(index-me.minIndex);return offset&&(widthOffset+=valueWidth/2),me.left+Math.round(widthOffset)}var valueHeight=me.height/offsetAmt,heightOffset=valueHeight*(index-me.minIndex);return offset&&(heightOffset+=valueHeight/2),me.top+Math.round(heightOffset)},getPixelForTick:function(index){return this.getPixelForValue(this.ticks[index],index+this.minIndex,null)},getValueForPixel:function(pixel){var me=this,offset=me.options.offset,offsetAmt=Math.max(me._ticks.length-(offset?0:1),1),horz=me.isHorizontal(),valueDimension=(horz?me.width:me.height)/offsetAmt;return pixel-=horz?me.left:me.top,offset&&(pixel-=valueDimension/2),(pixel<=0?0:Math.round(pixel/valueDimension))+me.minIndex},getBasePixel:function(){return this.bottom}});Chart.scaleService.registerScaleType("category",DatasetScale,{position:"bottom"})}},{}],53:[function(require,module,exports){var defaults=require(25),helpers=require(45),Ticks=require(34);module.exports=function(Chart){var defaultConfig={position:"left",ticks:{callback:Ticks.formatters.linear}},LinearScale=Chart.LinearScaleBase.extend({determineDataLimits:function(){var me=this,opts=me.options,chart=me.chart,datasets=chart.data.datasets,isHorizontal=me.isHorizontal();function IDMatches(meta){return isHorizontal?meta.xAxisID===me.id:meta.yAxisID===me.id}me.min=null,me.max=null;var hasStacks=opts.stacked;if(void 0===hasStacks&&helpers.each(datasets,(function(dataset,datasetIndex){if(!hasStacks){var meta=chart.getDatasetMeta(datasetIndex);chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&void 0!==meta.stack&&(hasStacks=!0)}})),opts.stacked||hasStacks){var valuesPerStack={};helpers.each(datasets,(function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex),key=[meta.type,void 0===opts.stacked&&void 0===meta.stack?datasetIndex:"",meta.stack].join(".");void 0===valuesPerStack[key]&&(valuesPerStack[key]={positiveValues:[],negativeValues:[]});var positiveValues=valuesPerStack[key].positiveValues,negativeValues=valuesPerStack[key].negativeValues;chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&helpers.each(dataset.data,(function(rawValue,index){var value=+me.getRightValue(rawValue);isNaN(value)||meta.data[index].hidden||(positiveValues[index]=positiveValues[index]||0,negativeValues[index]=negativeValues[index]||0,opts.relativePoints?positiveValues[index]=100:value<0?negativeValues[index]+=value:positiveValues[index]+=value)}))})),helpers.each(valuesPerStack,(function(valuesForType){var values=valuesForType.positiveValues.concat(valuesForType.negativeValues),minVal=helpers.min(values),maxVal=helpers.max(values);me.min=null===me.min?minVal:Math.min(me.min,minVal),me.max=null===me.max?maxVal:Math.max(me.max,maxVal)}))}else helpers.each(datasets,(function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex);chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&helpers.each(dataset.data,(function(rawValue,index){var value=+me.getRightValue(rawValue);isNaN(value)||meta.data[index].hidden||((null===me.min||value<me.min)&&(me.min=value),(null===me.max||value>me.max)&&(me.max=value))}))}));me.min=isFinite(me.min)&&!isNaN(me.min)?me.min:0,me.max=isFinite(me.max)&&!isNaN(me.max)?me.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var maxTicks,tickOpts=this.options.ticks;if(this.isHorizontal())maxTicks=Math.min(tickOpts.maxTicksLimit?tickOpts.maxTicksLimit:11,Math.ceil(this.width/50));else{var tickFontSize=helpers.valueOrDefault(tickOpts.fontSize,defaults.global.defaultFontSize);maxTicks=Math.min(tickOpts.maxTicksLimit?tickOpts.maxTicksLimit:11,Math.ceil(this.height/(2*tickFontSize)))}return maxTicks},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(index,datasetIndex){return+this.getRightValue(this.chart.data.datasets[datasetIndex].data[index])},getPixelForValue:function(value){var pixel,me=this,start=me.start,rightValue=+me.getRightValue(value),range=me.end-start;return me.isHorizontal()?(pixel=me.left+me.width/range*(rightValue-start),Math.round(pixel)):(pixel=me.bottom-me.height/range*(rightValue-start),Math.round(pixel))},getValueForPixel:function(pixel){var me=this,isHorizontal=me.isHorizontal(),innerDimension=isHorizontal?me.width:me.height,offset=(isHorizontal?pixel-me.left:me.bottom-pixel)/innerDimension;return me.start+(me.end-me.start)*offset},getPixelForTick:function(index){return this.getPixelForValue(this.ticksAsNumbers[index])}});Chart.scaleService.registerScaleType("linear",LinearScale,defaultConfig)}},{25:25,34:34,45:45}],54:[function(require,module,exports){var helpers=require(45),Ticks=require(34);module.exports=function(Chart){var noop=helpers.noop;Chart.LinearScaleBase=Chart.Scale.extend({getRightValue:function(value){return"string"==typeof value?+value:Chart.Scale.prototype.getRightValue.call(this,value)},handleTickRangeOptions:function(){var me=this,tickOpts=me.options.ticks;if(tickOpts.beginAtZero){var minSign=helpers.sign(me.min),maxSign=helpers.sign(me.max);minSign<0&&maxSign<0?me.max=0:minSign>0&&maxSign>0&&(me.min=0)}var setMin=void 0!==tickOpts.min||void 0!==tickOpts.suggestedMin,setMax=void 0!==tickOpts.max||void 0!==tickOpts.suggestedMax;void 0!==tickOpts.min?me.min=tickOpts.min:void 0!==tickOpts.suggestedMin&&(null===me.min?me.min=tickOpts.suggestedMin:me.min=Math.min(me.min,tickOpts.suggestedMin)),void 0!==tickOpts.max?me.max=tickOpts.max:void 0!==tickOpts.suggestedMax&&(null===me.max?me.max=tickOpts.suggestedMax:me.max=Math.max(me.max,tickOpts.suggestedMax)),setMin!==setMax&&me.min>=me.max&&(setMin?me.max=me.min+1:me.min=me.max-1),me.min===me.max&&(me.max++,tickOpts.beginAtZero||me.min--)},getTickLimit:noop,handleDirectionalChanges:noop,buildTicks:function(){var me=this,tickOpts=me.options.ticks,maxTicks=me.getTickLimit(),numericGeneratorOptions={maxTicks:maxTicks=Math.max(2,maxTicks),min:tickOpts.min,max:tickOpts.max,stepSize:helpers.valueOrDefault(tickOpts.fixedStepSize,tickOpts.stepSize)},ticks=me.ticks=Ticks.generators.linear(numericGeneratorOptions,me);me.handleDirectionalChanges(),me.max=helpers.max(ticks),me.min=helpers.min(ticks),tickOpts.reverse?(ticks.reverse(),me.start=me.max,me.end=me.min):(me.start=me.min,me.end=me.max)},convertTicksToLabels:function(){var me=this;me.ticksAsNumbers=me.ticks.slice(),me.zeroLineIndex=me.ticks.indexOf(0),Chart.Scale.prototype.convertTicksToLabels.call(me)}})}},{34:34,45:45}],55:[function(require,module,exports){var helpers=require(45),Ticks=require(34);module.exports=function(Chart){var defaultConfig={position:"left",ticks:{callback:Ticks.formatters.logarithmic}},LogarithmicScale=Chart.Scale.extend({determineDataLimits:function(){var me=this,opts=me.options,tickOpts=opts.ticks,chart=me.chart,datasets=chart.data.datasets,valueOrDefault=helpers.valueOrDefault,isHorizontal=me.isHorizontal();function IDMatches(meta){return isHorizontal?meta.xAxisID===me.id:meta.yAxisID===me.id}me.min=null,me.max=null,me.minNotZero=null;var hasStacks=opts.stacked;if(void 0===hasStacks&&helpers.each(datasets,(function(dataset,datasetIndex){if(!hasStacks){var meta=chart.getDatasetMeta(datasetIndex);chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&void 0!==meta.stack&&(hasStacks=!0)}})),opts.stacked||hasStacks){var valuesPerStack={};helpers.each(datasets,(function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex),key=[meta.type,void 0===opts.stacked&&void 0===meta.stack?datasetIndex:"",meta.stack].join(".");chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&(void 0===valuesPerStack[key]&&(valuesPerStack[key]=[]),helpers.each(dataset.data,(function(rawValue,index){var values=valuesPerStack[key],value=+me.getRightValue(rawValue);isNaN(value)||meta.data[index].hidden||(values[index]=values[index]||0,opts.relativePoints?values[index]=100:values[index]+=value)})))})),helpers.each(valuesPerStack,(function(valuesForType){var minVal=helpers.min(valuesForType),maxVal=helpers.max(valuesForType);me.min=null===me.min?minVal:Math.min(me.min,minVal),me.max=null===me.max?maxVal:Math.max(me.max,maxVal)}))}else helpers.each(datasets,(function(dataset,datasetIndex){var meta=chart.getDatasetMeta(datasetIndex);chart.isDatasetVisible(datasetIndex)&&IDMatches(meta)&&helpers.each(dataset.data,(function(rawValue,index){var value=+me.getRightValue(rawValue);isNaN(value)||meta.data[index].hidden||((null===me.min||value<me.min)&&(me.min=value),(null===me.max||value>me.max)&&(me.max=value),0!==value&&(null===me.minNotZero||value<me.minNotZero)&&(me.minNotZero=value))}))}));me.min=valueOrDefault(tickOpts.min,me.min),me.max=valueOrDefault(tickOpts.max,me.max),me.min===me.max&&(0!==me.min&&null!==me.min?(me.min=Math.pow(10,Math.floor(helpers.log10(me.min))-1),me.max=Math.pow(10,Math.floor(helpers.log10(me.max))+1)):(me.min=1,me.max=10))},buildTicks:function(){var me=this,tickOpts=me.options.ticks,generationOptions={min:tickOpts.min,max:tickOpts.max},ticks=me.ticks=Ticks.generators.logarithmic(generationOptions,me);me.isHorizontal()||ticks.reverse(),me.max=helpers.max(ticks),me.min=helpers.min(ticks),tickOpts.reverse?(ticks.reverse(),me.start=me.max,me.end=me.min):(me.start=me.min,me.end=me.max)},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),Chart.Scale.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(index,datasetIndex){return+this.getRightValue(this.chart.data.datasets[datasetIndex].data[index])},getPixelForTick:function(index){return this.getPixelForValue(this.tickValues[index])},getPixelForValue:function(value){var innerDimension,pixel,range,me=this,start=me.start,newVal=+me.getRightValue(value),tickOpts=me.options.ticks;return me.isHorizontal()?(range=helpers.log10(me.end)-helpers.log10(start),0===newVal?pixel=me.left:(innerDimension=me.width,pixel=me.left+innerDimension/range*(helpers.log10(newVal)-helpers.log10(start)))):(innerDimension=me.height,0!==start||tickOpts.reverse?0===me.end&&tickOpts.reverse?(range=helpers.log10(me.start)-helpers.log10(me.minNotZero),pixel=newVal===me.end?me.top:newVal===me.minNotZero?me.top+.02*innerDimension:me.top+.02*innerDimension+.98*innerDimension/range*(helpers.log10(newVal)-helpers.log10(me.minNotZero))):0===newVal?pixel=tickOpts.reverse?me.top:me.bottom:(range=helpers.log10(me.end)-helpers.log10(start),innerDimension=me.height,pixel=me.bottom-innerDimension/range*(helpers.log10(newVal)-helpers.log10(start))):(range=helpers.log10(me.end)-helpers.log10(me.minNotZero),pixel=newVal===start?me.bottom:newVal===me.minNotZero?me.bottom-.02*innerDimension:me.bottom-.02*innerDimension-.98*innerDimension/range*(helpers.log10(newVal)-helpers.log10(me.minNotZero)))),pixel},getValueForPixel:function(pixel){var value,innerDimension,me=this,range=helpers.log10(me.end)-helpers.log10(me.start);return me.isHorizontal()?(innerDimension=me.width,value=me.start*Math.pow(10,(pixel-me.left)*range/innerDimension)):(innerDimension=me.height,value=Math.pow(10,(me.bottom-pixel)*range/innerDimension)/me.start),value}});Chart.scaleService.registerScaleType("logarithmic",LogarithmicScale,defaultConfig)}},{34:34,45:45}],56:[function(require,module,exports){var defaults=require(25),helpers=require(45),Ticks=require(34);module.exports=function(Chart){var globalDefaults=defaults.global,defaultConfig={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:Ticks.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(label){return label}}};function getValueCount(scale){var opts=scale.options;return opts.angleLines.display||opts.pointLabels.display?scale.chart.data.labels.length:0}function getPointLabelFontOptions(scale){var pointLabelOptions=scale.options.pointLabels,fontSize=helpers.valueOrDefault(pointLabelOptions.fontSize,globalDefaults.defaultFontSize),fontStyle=helpers.valueOrDefault(pointLabelOptions.fontStyle,globalDefaults.defaultFontStyle),fontFamily=helpers.valueOrDefault(pointLabelOptions.fontFamily,globalDefaults.defaultFontFamily);return{size:fontSize,style:fontStyle,family:fontFamily,font:helpers.fontString(fontSize,fontStyle,fontFamily)}}function determineLimits(angle,pos,size,min,max){return angle===min||angle===max?{start:pos-size/2,end:pos+size/2}:angle<min||angle>max?{start:pos-size-5,end:pos}:{start:pos,end:pos+size+5}}function getTextAlignForAngle(angle){return 0===angle||180===angle?"center":angle<180?"left":"right"}function fillText(ctx,text,position,fontSize){if(helpers.isArray(text))for(var y=position.y,spacing=1.5*fontSize,i=0;i<text.length;++i)ctx.fillText(text[i],position.x,y),y+=spacing;else ctx.fillText(text,position.x,position.y)}function adjustPointPositionForLabelHeight(angle,textSize,position){90===angle||270===angle?position.y-=textSize.h/2:(angle>270||angle<90)&&(position.y-=textSize.h)}function numberOrZero(param){return helpers.isNumber(param)?param:0}var LinearRadialScale=Chart.LinearScaleBase.extend({setDimensions:function(){var me=this,opts=me.options,tickOpts=opts.ticks;me.width=me.maxWidth,me.height=me.maxHeight,me.xCenter=Math.round(me.width/2),me.yCenter=Math.round(me.height/2);var minSize=helpers.min([me.height,me.width]),tickFontSize=helpers.valueOrDefault(tickOpts.fontSize,globalDefaults.defaultFontSize);me.drawingArea=opts.display?minSize/2-(tickFontSize/2+tickOpts.backdropPaddingY):minSize/2},determineDataLimits:function(){var me=this,chart=me.chart,min=Number.POSITIVE_INFINITY,max=Number.NEGATIVE_INFINITY;helpers.each(chart.data.datasets,(function(dataset,datasetIndex){if(chart.isDatasetVisible(datasetIndex)){var meta=chart.getDatasetMeta(datasetIndex);helpers.each(dataset.data,(function(rawValue,index){var value=+me.getRightValue(rawValue);isNaN(value)||meta.data[index].hidden||(min=Math.min(value,min),max=Math.max(value,max))}))}})),me.min=min===Number.POSITIVE_INFINITY?0:min,me.max=max===Number.NEGATIVE_INFINITY?0:max,me.handleTickRangeOptions()},getTickLimit:function(){var tickOpts=this.options.ticks,tickFontSize=helpers.valueOrDefault(tickOpts.fontSize,globalDefaults.defaultFontSize);return Math.min(tickOpts.maxTicksLimit?tickOpts.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*tickFontSize)))},convertTicksToLabels:function(){var me=this;Chart.LinearScaleBase.prototype.convertTicksToLabels.call(me),me.pointLabels=me.chart.data.labels.map(me.options.pointLabels.callback,me)},getLabelForIndex:function(index,datasetIndex){return+this.getRightValue(this.chart.data.datasets[datasetIndex].data[index])},fit:function(){var scale,largestPossibleRadius;this.options.pointLabels.display?function(scale){var i,textSize,pointPosition,plFont=getPointLabelFontOptions(scale),largestPossibleRadius=Math.min(scale.height/2,scale.width/2),furthestLimits={r:scale.width,l:0,t:scale.height,b:0},furthestAngles={};scale.ctx.font=plFont.font,scale._pointLabelSizes=[];var ctx,fontSize,label,valueCount=getValueCount(scale);for(i=0;i<valueCount;i++){pointPosition=scale.getPointPosition(i,largestPossibleRadius),ctx=scale.ctx,fontSize=plFont.size,label=scale.pointLabels[i]||"",textSize=helpers.isArray(label)?{w:helpers.longestText(ctx,ctx.font,label),h:label.length*fontSize+1.5*(label.length-1)*fontSize}:{w:ctx.measureText(label).width,h:fontSize},scale._pointLabelSizes[i]=textSize;var angleRadians=scale.getIndexAngle(i),angle=helpers.toDegrees(angleRadians)%360,hLimits=determineLimits(angle,pointPosition.x,textSize.w,0,180),vLimits=determineLimits(angle,pointPosition.y,textSize.h,90,270);hLimits.start<furthestLimits.l&&(furthestLimits.l=hLimits.start,furthestAngles.l=angleRadians),hLimits.end>furthestLimits.r&&(furthestLimits.r=hLimits.end,furthestAngles.r=angleRadians),vLimits.start<furthestLimits.t&&(furthestLimits.t=vLimits.start,furthestAngles.t=angleRadians),vLimits.end>furthestLimits.b&&(furthestLimits.b=vLimits.end,furthestAngles.b=angleRadians)}scale.setReductions(largestPossibleRadius,furthestLimits,furthestAngles)}(this):(scale=this,largestPossibleRadius=Math.min(scale.height/2,scale.width/2),scale.drawingArea=Math.round(largestPossibleRadius),scale.setCenterPoint(0,0,0,0))},setReductions:function(largestPossibleRadius,furthestLimits,furthestAngles){var radiusReductionLeft=furthestLimits.l/Math.sin(furthestAngles.l),radiusReductionRight=Math.max(furthestLimits.r-this.width,0)/Math.sin(furthestAngles.r),radiusReductionTop=-furthestLimits.t/Math.cos(furthestAngles.t),radiusReductionBottom=-Math.max(furthestLimits.b-this.height,0)/Math.cos(furthestAngles.b);radiusReductionLeft=numberOrZero(radiusReductionLeft),radiusReductionRight=numberOrZero(radiusReductionRight),radiusReductionTop=numberOrZero(radiusReductionTop),radiusReductionBottom=numberOrZero(radiusReductionBottom),this.drawingArea=Math.min(Math.round(largestPossibleRadius-(radiusReductionLeft+radiusReductionRight)/2),Math.round(largestPossibleRadius-(radiusReductionTop+radiusReductionBottom)/2)),this.setCenterPoint(radiusReductionLeft,radiusReductionRight,radiusReductionTop,radiusReductionBottom)},setCenterPoint:function(leftMovement,rightMovement,topMovement,bottomMovement){var me=this,maxRight=me.width-rightMovement-me.drawingArea,maxLeft=leftMovement+me.drawingArea,maxTop=topMovement+me.drawingArea,maxBottom=me.height-bottomMovement-me.drawingArea;me.xCenter=Math.round((maxLeft+maxRight)/2+me.left),me.yCenter=Math.round((maxTop+maxBottom)/2+me.top)},getIndexAngle:function(index){return index*(2*Math.PI/getValueCount(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(value){var me=this;if(null===value)return 0;var scalingFactor=me.drawingArea/(me.max-me.min);return me.options.ticks.reverse?(me.max-value)*scalingFactor:(value-me.min)*scalingFactor},getPointPosition:function(index,distanceFromCenter){var thisAngle=this.getIndexAngle(index)-Math.PI/2;return{x:Math.round(Math.cos(thisAngle)*distanceFromCenter)+this.xCenter,y:Math.round(Math.sin(thisAngle)*distanceFromCenter)+this.yCenter}},getPointPositionForValue:function(index,value){return this.getPointPosition(index,this.getDistanceFromCenterForValue(value))},getBasePosition:function(){var min=this.min,max=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:min<0&&max<0?max:min>0&&max>0?min:0)},draw:function(){var me=this,opts=me.options,gridLineOpts=opts.gridLines,tickOpts=opts.ticks,valueOrDefault=helpers.valueOrDefault;if(opts.display){var ctx=me.ctx,startAngle=this.getIndexAngle(0),tickFontSize=valueOrDefault(tickOpts.fontSize,globalDefaults.defaultFontSize),tickFontStyle=valueOrDefault(tickOpts.fontStyle,globalDefaults.defaultFontStyle),tickFontFamily=valueOrDefault(tickOpts.fontFamily,globalDefaults.defaultFontFamily),tickLabelFont=helpers.fontString(tickFontSize,tickFontStyle,tickFontFamily);helpers.each(me.ticks,(function(label,index){if(index>0||tickOpts.reverse){var yCenterOffset=me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]);if(gridLineOpts.display&&0!==index&&function(scale,gridLineOpts,radius,index){var ctx=scale.ctx;if(ctx.strokeStyle=helpers.valueAtIndexOrDefault(gridLineOpts.color,index-1),ctx.lineWidth=helpers.valueAtIndexOrDefault(gridLineOpts.lineWidth,index-1),scale.options.gridLines.circular)ctx.beginPath(),ctx.arc(scale.xCenter,scale.yCenter,radius,0,2*Math.PI),ctx.closePath(),ctx.stroke();else{var valueCount=getValueCount(scale);if(0===valueCount)return;ctx.beginPath();var pointPosition=scale.getPointPosition(0,radius);ctx.moveTo(pointPosition.x,pointPosition.y);for(var i=1;i<valueCount;i++)pointPosition=scale.getPointPosition(i,radius),ctx.lineTo(pointPosition.x,pointPosition.y);ctx.closePath(),ctx.stroke()}}(me,gridLineOpts,yCenterOffset,index),tickOpts.display){var tickFontColor=valueOrDefault(tickOpts.fontColor,globalDefaults.defaultFontColor);if(ctx.font=tickLabelFont,ctx.save(),ctx.translate(me.xCenter,me.yCenter),ctx.rotate(startAngle),tickOpts.showLabelBackdrop){var labelWidth=ctx.measureText(label).width;ctx.fillStyle=tickOpts.backdropColor,ctx.fillRect(-labelWidth/2-tickOpts.backdropPaddingX,-yCenterOffset-tickFontSize/2-tickOpts.backdropPaddingY,labelWidth+2*tickOpts.backdropPaddingX,tickFontSize+2*tickOpts.backdropPaddingY)}ctx.textAlign="center",ctx.textBaseline="middle",ctx.fillStyle=tickFontColor,ctx.fillText(label,0,-yCenterOffset),ctx.restore()}}})),(opts.angleLines.display||opts.pointLabels.display)&&function(scale){var ctx=scale.ctx,valueOrDefault=helpers.valueOrDefault,opts=scale.options,angleLineOpts=opts.angleLines,pointLabelOpts=opts.pointLabels;ctx.lineWidth=angleLineOpts.lineWidth,ctx.strokeStyle=angleLineOpts.color;var outerDistance=scale.getDistanceFromCenterForValue(opts.ticks.reverse?scale.min:scale.max),plFont=getPointLabelFontOptions(scale);ctx.textBaseline="top";for(var i=getValueCount(scale)-1;i>=0;i--){if(angleLineOpts.display){var outerPosition=scale.getPointPosition(i,outerDistance);ctx.beginPath(),ctx.moveTo(scale.xCenter,scale.yCenter),ctx.lineTo(outerPosition.x,outerPosition.y),ctx.stroke(),ctx.closePath()}if(pointLabelOpts.display){var pointLabelPosition=scale.getPointPosition(i,outerDistance+5),pointLabelFontColor=valueOrDefault(pointLabelOpts.fontColor,globalDefaults.defaultFontColor);ctx.font=plFont.font,ctx.fillStyle=pointLabelFontColor;var angleRadians=scale.getIndexAngle(i),angle=helpers.toDegrees(angleRadians);ctx.textAlign=getTextAlignForAngle(angle),adjustPointPositionForLabelHeight(angle,scale._pointLabelSizes[i],pointLabelPosition),fillText(ctx,scale.pointLabels[i]||"",pointLabelPosition,plFont.size)}}}(me)}}});Chart.scaleService.registerScaleType("radialLinear",LinearRadialScale,defaultConfig)}},{25:25,34:34,45:45}],57:[function(require,module,exports){var moment=require(6);moment="function"==typeof moment?moment:window.moment;var defaults=require(25),helpers=require(45),MIN_INTEGER=Number.MIN_SAFE_INTEGER||-9007199254740991,MAX_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991,INTERVALS={millisecond:{major:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{major:!0,size:1e3,steps:[1,2,5,10,30]},minute:{major:!0,size:6e4,steps:[1,2,5,10,30]},hour:{major:!0,size:36e5,steps:[1,2,3,6,12]},day:{major:!0,size:864e5,steps:[1,2,5]},week:{major:!1,size:6048e5,steps:[1,2,3,4]},month:{major:!0,size:2628e6,steps:[1,2,3]},quarter:{major:!1,size:7884e6,steps:[1,2,3,4]},year:{major:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(a,b){return a-b}function arrayUnique(items){var i,ilen,item,hash={},out=[];for(i=0,ilen=items.length;i<ilen;++i)hash[item=items[i]]||(hash[item]=!0,out.push(item));return out}function interpolate(table,skey,sval,tkey){var range=function(table,key,value){for(var mid,i0,i1,lo=0,hi=table.length-1;lo>=0&&lo<=hi;){if(i0=table[(mid=lo+hi>>1)-1]||null,i1=table[mid],!i0)return{lo:null,hi:i1};if(i1[key]<value)lo=mid+1;else{if(!(i0[key]>value))return{lo:i0,hi:i1};hi=mid-1}}return{lo:i1,hi:null}}(table,skey,sval),prev=range.lo?range.hi?range.lo:table[table.length-2]:table[0],next=range.lo?range.hi?range.hi:table[table.length-1]:table[1],span=next[skey]-prev[skey],ratio=span?(sval-prev[skey])/span:0,offset=(next[tkey]-prev[tkey])*ratio;return prev[tkey]+offset}function momentify(value,options){var parser=options.parser,format=options.parser||options.format;return"function"==typeof parser?parser(value):"string"==typeof value&&"string"==typeof format?moment(value,format):(value instanceof moment||(value=moment(value)),value.isValid()?value:"function"==typeof format?format(value):value)}function parse(input,scale){if(helpers.isNullOrUndef(input))return null;var options=scale.options.time,value=momentify(scale.getRightValue(input),options);return value.isValid()?(options.round&&value.startOf(options.round),value.valueOf()):null}function generate(min,max,minor,major,capacity,options){var time,timeOpts=options.time,stepSize=helpers.valueOrDefault(timeOpts.stepSize,timeOpts.unitStepSize),weekday="week"===minor&&timeOpts.isoWeekday,majorTicksEnabled=options.ticks.major.enabled,interval=INTERVALS[minor],first=moment(min),last=moment(max),ticks=[];for(stepSize||(stepSize=function(min,max,unit,capacity){var i,ilen,factor,range=max-min,interval=INTERVALS[unit],milliseconds=interval.size,steps=interval.steps;if(!steps)return Math.ceil(range/((capacity||1)*milliseconds));for(i=0,ilen=steps.length;i<ilen&&(factor=steps[i],!(Math.ceil(range/(milliseconds*factor))<=capacity));++i);return factor}(min,max,minor,capacity)),weekday&&(first=first.isoWeekday(weekday),last=last.isoWeekday(weekday)),first=first.startOf(weekday?"day":minor),(last=last.startOf(weekday?"day":minor))<max&&last.add(1,minor),time=moment(first),majorTicksEnabled&&major&&!weekday&&!timeOpts.round&&(time.startOf(major),time.add(~~((first-time)/(interval.size*stepSize))*stepSize,minor));time<last;time.add(stepSize,minor))ticks.push(+time);return ticks.push(+time),ticks}module.exports=function(Chart){var TimeScale=Chart.Scale.extend({initialize:function(){if(!moment)throw new Error("Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com");this.mergeTicksOptions(),Chart.Scale.prototype.initialize.call(this)},update:function(){var me=this,options=me.options;return options.time&&options.time.format&&console.warn("options.time.format is deprecated and replaced by options.time.parser."),Chart.Scale.prototype.update.apply(me,arguments)},getRightValue:function(rawValue){return rawValue&&void 0!==rawValue.t&&(rawValue=rawValue.t),Chart.Scale.prototype.getRightValue.call(this,rawValue)},determineDataLimits:function(){var i,j,ilen,jlen,data,timestamp,me=this,chart=me.chart,timeOpts=me.options.time,min=parse(timeOpts.min,me)||MAX_INTEGER,max=parse(timeOpts.max,me)||MIN_INTEGER,timestamps=[],datasets=[],labels=[];for(i=0,ilen=chart.data.labels.length;i<ilen;++i)labels.push(parse(chart.data.labels[i],me));for(i=0,ilen=(chart.data.datasets||[]).length;i<ilen;++i)if(chart.isDatasetVisible(i))if(data=chart.data.datasets[i].data,helpers.isObject(data[0]))for(datasets[i]=[],j=0,jlen=data.length;j<jlen;++j)timestamp=parse(data[j],me),timestamps.push(timestamp),datasets[i][j]=timestamp;else timestamps.push.apply(timestamps,labels),datasets[i]=labels.slice(0);else datasets[i]=[];labels.length&&(labels=arrayUnique(labels).sort(sorter),min=Math.min(min,labels[0]),max=Math.max(max,labels[labels.length-1])),timestamps.length&&(timestamps=arrayUnique(timestamps).sort(sorter),min=Math.min(min,timestamps[0]),max=Math.max(max,timestamps[timestamps.length-1])),min=min===MAX_INTEGER?+moment().startOf("day"):min,max=max===MIN_INTEGER?+moment().endOf("day")+1:max,me.min=Math.min(min,max),me.max=Math.max(min+1,max),me._horizontal=me.isHorizontal(),me._table=[],me._timestamps={data:timestamps,datasets:datasets,labels:labels}},buildTicks:function(){var i,ilen,timestamp,me=this,min=me.min,max=me.max,options=me.options,timeOpts=options.time,formats=timeOpts.displayFormats,capacity=me.getLabelCapacity(min),unit=timeOpts.unit||function(minUnit,min,max,capacity){var i,interval,factor,ilen=UNITS.length;for(i=UNITS.indexOf(minUnit);i<ilen-1;++i)if(factor=(interval=INTERVALS[UNITS[i]]).steps?interval.steps[interval.steps.length-1]:MAX_INTEGER,Math.ceil((max-min)/(factor*interval.size))<=capacity)return UNITS[i];return UNITS[ilen-1]}(timeOpts.minUnit,min,max,capacity),majorUnit=function(unit){for(var i=UNITS.indexOf(unit)+1,ilen=UNITS.length;i<ilen;++i)if(INTERVALS[UNITS[i]].major)return UNITS[i]}(unit),timestamps=[],ticks=[];switch(options.ticks.source){case"data":timestamps=me._timestamps.data;break;case"labels":timestamps=me._timestamps.labels;break;default:timestamps=generate(min,max,unit,majorUnit,capacity,options)}for("ticks"===options.bounds&×tamps.length&&(min=timestamps[0],max=timestamps[timestamps.length-1]),min=parse(timeOpts.min,me)||min,max=parse(timeOpts.max,me)||max,i=0,ilen=timestamps.length;i<ilen;++i)(timestamp=timestamps[i])>=min&×tamp<=max&&ticks.push(timestamp);return me.min=min,me.max=max,me._unit=unit,me._majorUnit=majorUnit,me._minorFormat=formats[unit],me._majorFormat=formats[majorUnit],me._table=function(timestamps,min,max,distribution){if("linear"===distribution||!timestamps.length)return[{time:min,pos:0},{time:max,pos:1}];var i,ilen,prev,curr,next,table=[],items=[min];for(i=0,ilen=timestamps.length;i<ilen;++i)(curr=timestamps[i])>min&&curr<max&&items.push(curr);for(items.push(max),i=0,ilen=items.length;i<ilen;++i)next=items[i+1],prev=items[i-1],curr=items[i],void 0!==prev&&void 0!==next&&Math.round((next+prev)/2)===curr||table.push({time:curr,pos:i/(ilen-1)});return table}(me._timestamps.data,min,max,options.distribution),me._offsets=function(table,ticks,min,max,options){var upper,lower,left=0,right=0;return options.offset&&ticks.length&&(options.time.min||(upper=ticks.length>1?ticks[1]:max,lower=ticks[0],left=(interpolate(table,"time",upper,"pos")-interpolate(table,"time",lower,"pos"))/2),options.time.max||(upper=ticks[ticks.length-1],lower=ticks.length>1?ticks[ticks.length-2]:min,right=(interpolate(table,"time",upper,"pos")-interpolate(table,"time",lower,"pos"))/2)),{left:left,right:right}}(me._table,ticks,min,max,options),function(values,majorUnit){var i,ilen,value,major,ticks=[];for(i=0,ilen=values.length;i<ilen;++i)value=values[i],major=!!majorUnit&&value===+moment(value).startOf(majorUnit),ticks.push({value:value,major:major});return ticks}(ticks,majorUnit)},getLabelForIndex:function(index,datasetIndex){var data=this.chart.data,timeOpts=this.options.time,label=data.labels&&index<data.labels.length?data.labels[index]:"",value=data.datasets[datasetIndex].data[index];return helpers.isObject(value)&&(label=this.getRightValue(value)),timeOpts.tooltipFormat&&(label=momentify(label,timeOpts).format(timeOpts.tooltipFormat)),label},tickFormatFunction:function(tick,index,ticks){var me=this,options=me.options,time=tick.valueOf(),majorUnit=me._majorUnit,majorFormat=me._majorFormat,majorTime=tick.clone().startOf(me._majorUnit).valueOf(),majorTickOpts=options.ticks.major,major=majorTickOpts.enabled&&majorUnit&&majorFormat&&time===majorTime,label=tick.format(major?majorFormat:me._minorFormat),tickOpts=major?majorTickOpts:options.ticks.minor,formatter=helpers.valueOrDefault(tickOpts.callback,tickOpts.userCallback);return formatter?formatter(label,index,ticks):label},convertTicksToLabels:function(ticks){var i,ilen,labels=[];for(i=0,ilen=ticks.length;i<ilen;++i)labels.push(this.tickFormatFunction(moment(ticks[i].value),i,ticks));return labels},getPixelForOffset:function(time){var me=this,size=me._horizontal?me.width:me.height,start=me._horizontal?me.left:me.top,pos=interpolate(me._table,"time",time,"pos");return start+size*(me._offsets.left+pos)/(me._offsets.left+1+me._offsets.right)},getPixelForValue:function(value,index,datasetIndex){var time=null;if(void 0!==index&&void 0!==datasetIndex&&(time=this._timestamps.datasets[datasetIndex][index]),null===time&&(time=parse(value,this)),null!==time)return this.getPixelForOffset(time)},getPixelForTick:function(index){var ticks=this.getTicks();return index>=0&&index<ticks.length?this.getPixelForOffset(ticks[index].value):null},getValueForPixel:function(pixel){var me=this,size=me._horizontal?me.width:me.height,start=me._horizontal?me.left:me.top,pos=(size?(pixel-start)/size:0)*(me._offsets.left+1+me._offsets.left)-me._offsets.right,time=interpolate(me._table,"pos",pos,"time");return moment(time)},getLabelWidth:function(label){var ticksOpts=this.options.ticks,tickLabelWidth=this.ctx.measureText(label).width,angle=helpers.toRadians(ticksOpts.maxRotation),cosRotation=Math.cos(angle),sinRotation=Math.sin(angle);return tickLabelWidth*cosRotation+helpers.valueOrDefault(ticksOpts.fontSize,defaults.global.defaultFontSize)*sinRotation},getLabelCapacity:function(exampleTime){var me=this;me._minorFormat=me.options.time.displayFormats.millisecond;var exampleLabel=me.tickFormatFunction(moment(exampleTime),0,[]),tickLabelWidth=me.getLabelWidth(exampleLabel),innerWidth=me.isHorizontal()?me.width:me.height;return Math.floor(innerWidth/tickLabelWidth)}});Chart.scaleService.registerScaleType("time",TimeScale,{position:"bottom",distribution:"linear",bounds:"data",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}})}},{25:25,45:45,6:6}]},{},[7])(7)}));
Close