1 !
function(t,e){
"function"==typeof define&&define.amd?define([
"moment"],e):
"object"==typeof exports?module.exports=e.call(t,require(
"moment")):t.Chart=e.call(t,t.moment)}(this,function(t){
37 return!
function e(t,i,a){
function s(n,r){
if(!i[n]){
if(!t[n]){var h=
"function"==typeof require&&require;
if(!r&&h)
return h(n,!0);
if(o)
return o(n,!0);var l=
new Error(
"Cannot find module '"+n+
"'");
throw l.code=
"MODULE_NOT_FOUND",l}var c=i[n]={exports:{}};t[n][0].call(c.exports,
function(e){var i=t[n][1][e];
return s(i?i:e)},c,c.exports,e,t,i,a)}
return i[n].exports}
for(var o=
"function"==typeof require&&require,n=0;n<a.length;n++)s(a[n]);
return s}({1:[
function(t,e,i){!
function(){var i=t(
"color-convert"),a=t(
"color-string"),s=
function(t){
if(t instanceof s)
return t;
if(!(
this instanceof s))
return new s(t);
if(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},
"string"==typeof t){var e=a.getRgba(t);
if(e)this.setValues(
"rgb",e);
else if(e=a.getHsla(t))this.setValues(
"hsl",e);
else{
if(!(e=a.getHwb(t)))
throw new Error(
'Unable to parse color from string "'+t+
'"');this.setValues(
"hwb",e)}}
else if(
"object"==typeof t){var e=t;
if(
void 0!==e.r||
void 0!==e.red)this.setValues(
"rgb",e);
else if(
void 0!==e.l||
void 0!==e.lightness)this.setValues(
"hsl",e);
else if(
void 0!==e.v||
void 0!==e.value)this.setValues(
"hsv",e);
else if(
void 0!==e.w||
void 0!==e.whiteness)this.setValues(
"hwb",e);
else{
if(
void 0===e.c&&
void 0===e.cyan)
throw new Error(
"Unable to parse color from object "+JSON.stringify(t));this.setValues(
"cmyk",e)}}};s.prototype={rgb:
function(t){
return this.setSpace(
"rgb",arguments)},hsl:
function(t){
return this.setSpace(
"hsl",arguments)},hsv:
function(t){
return this.setSpace(
"hsv",arguments)},hwb:
function(t){
return this.setSpace(
"hwb",arguments)},cmyk:
function(t){
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(){
return 1!==this.values.alpha?this.values.hwb.concat([this.values.alpha]):this.values.hwb},cmykArray:
function(){
return this.values.cmyk},rgbaArray:
function(){var t=this.values.rgb;
return t.concat([this.values.alpha])},hslaArray:
function(){var t=this.values.hsl;
return t.concat([this.values.alpha])},alpha:
function(t){
return void 0===t?this.values.alpha:(this.setValues(
"alpha",t),
this)},red:
function(t){
return this.setChannel(
"rgb",0,t)},green:
function(t){
return this.setChannel(
"rgb",1,t)},blue:
function(t){
return this.setChannel(
"rgb",2,t)},hue:
function(t){
return this.setChannel(
"hsl",0,t)},saturation:
function(t){
return this.setChannel(
"hsl",1,t)},lightness:
function(t){
return this.setChannel(
"hsl",2,t)},saturationv:
function(t){
return this.setChannel(
"hsv",1,t)},whiteness:
function(t){
return this.setChannel(
"hwb",1,t)},blackness:
function(t){
return this.setChannel(
"hwb",2,t)},value:
function(t){
return this.setChannel(
"hsv",2,t)},cyan:
function(t){
return this.setChannel(
"cmyk",0,t)},magenta:
function(t){
return this.setChannel(
"cmyk",1,t)},yellow:
function(t){
return this.setChannel(
"cmyk",2,t)},black:
function(t){
return this.setChannel(
"cmyk",3,t)},hexString:
function(){
return a.hexString(this.values.rgb)},rgbString:
function(){
return a.rgbString(this.values.rgb,
this.values.alpha)},rgbaString:
function(){
return a.rgbaString(this.values.rgb,
this.values.alpha)},percentString:
function(){
return a.percentString(this.values.rgb,
this.values.alpha)},hslString:
function(){
return a.hslString(this.values.hsl,
this.values.alpha)},hslaString:
function(){
return a.hslaString(this.values.hsl,
this.values.alpha)},hwbString:
function(){
return a.hwbString(this.values.hwb,
this.values.alpha)},keyword:
function(){
return a.keyword(this.values.rgb,
this.values.alpha)},rgbNumber:
function(){
return this.values.rgb[0]<<16|this.values.rgb[1]<<8|this.values.rgb[2]},luminosity:
function(){
for(var t=this.values.rgb,e=[],i=0;i<t.length;i++){var a=t[i]/255;e[i]=.03928>=a?a/12.92:Math.pow((a+.055)/1.055,2.4)}
return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:
function(t){var e=this.luminosity(),i=t.luminosity();
return e>i?(e+.05)/(i+.05):(i+.05)/(e+.05)},level:
function(t){var e=this.contrast(t);
return e>=7.1?
"AAA":e>=4.5?
"AA":
""},dark:
function(){var t=this.values.rgb,e=(299*t[0]+587*t[1]+114*t[2])/1e3;
return 128>e},light:
function(){
return!this.dark()},negate:
function(){
for(var t=[],e=0;3>e;e++)t[e]=255-this.values.rgb[e];
return this.setValues(
"rgb",t),
this},lighten:
function(t){
return this.values.hsl[2]+=this.values.hsl[2]*t,this.setValues(
"hsl",this.values.hsl),
this},darken:
function(t){
return this.values.hsl[2]-=this.values.hsl[2]*t,this.setValues(
"hsl",this.values.hsl),
this},saturate:
function(t){
return this.values.hsl[1]+=this.values.hsl[1]*t,this.setValues(
"hsl",this.values.hsl),
this},desaturate:
function(t){
return this.values.hsl[1]-=this.values.hsl[1]*t,this.setValues(
"hsl",this.values.hsl),
this},whiten:
function(t){
return this.values.hwb[1]+=this.values.hwb[1]*t,this.setValues(
"hwb",this.values.hwb),
this},blacken:
function(t){
return this.values.hwb[2]+=this.values.hwb[2]*t,this.setValues(
"hwb",this.values.hwb),
this},greyscale:
function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];
return this.setValues(
"rgb",[e,e,e]),
this},clearer:
function(t){
return this.setValues(
"alpha",this.values.alpha-
this.values.alpha*t),
this},opaquer:
function(t){
return this.setValues(
"alpha",this.values.alpha+
this.values.alpha*t),
this},rotate:
function(t){var e=this.values.hsl[0];
return e=(e+t)%360,e=0>e?360+e:e,this.values.hsl[0]=e,
this.setValues(
"hsl",
this.values.hsl),
this},mix:
function(t,e){e=1-(null==e?.5:e);
for(var i=2*e-1,a=this.alpha()-t.alpha(),s=((i*a==-1?i:(i+a)/(1+i*a))+1)/2,o=1-s,n=this.rgbArray(),r=t.rgbArray(),h=0;h<n.length;h++)n[h]=n[h]*s+r[h]*o;this.setValues(
"rgb",n);var l=this.alpha()*e+t.alpha()*(1-e);
return this.setValues(
"alpha",l),
this},toJSON:
function(){
return this.rgb()},clone:
function(){
return new s(this.rgb())}},s.prototype.getValues=
function(t){
for(var e={},i=0;i<t.length;i++)e[t.charAt(i)]=this.values[t][i];
return 1!=this.values.alpha&&(e.a=this.values.alpha),e},s.prototype.setValues=
function(t,e){var a={rgb:[
"red",
"green",
"blue"],hsl:[
"hue",
"saturation",
"lightness"],hsv:[
"hue",
"saturation",
"value"],hwb:[
"hue",
"whiteness",
"blackness"],cmyk:[
"cyan",
"magenta",
"yellow",
"black"]},s={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o=1;
if(
"alpha"==t)o=e;
else if(e.length)this.values[t]=e.slice(0,t.length),o=e[t.length];
else if(
void 0!==e[t.charAt(0)]){
for(var n=0;n<t.length;n++)this.values[t][n]=e[t.charAt(n)];o=e.a}
else if(
void 0!==e[a[t][0]]){
for(var r=a[t],n=0;n<t.length;n++)this.values[t][n]=e[r[n]];o=e.alpha}
if(this.values.alpha=Math.max(0,Math.min(1,
void 0!==o?o:
this.values.alpha)),
"alpha"!=t){
for(var n=0;n<t.length;n++){var h=Math.max(0,Math.min(s[t][n],
this.values[t][n]));this.values[t][n]=Math.round(h)}
for(var l in a){l!=t&&(this.values[l]=i[t][l](this.values[t]));
for(var n=0;n<l.length;n++){var h=Math.max(0,Math.min(s[l][n],
this.values[l][n]));this.values[l][n]=Math.round(h)}}
return!0}},s.prototype.setSpace=
function(t,e){var i=e[0];
return void 0===i?this.getValues(t):(
"number"==typeof i&&(i=Array.prototype.slice.call(e)),this.setValues(t,i),this)},s.prototype.setChannel=function(t,e,i){
return void 0===i?this.values[t][e]:(this.values[t][e]=i,this.setValues(t,this.values[t]),
this)},window.Color=e.exports=s}()},{
"color-convert":3,
"color-string":4}],2:[
function(t,e,i){
function a(t){var e,i,a,s=t[0]/255,o=t[1]/255,n=t[2]/255,r=Math.min(s,o,n),h=Math.max(s,o,n),l=h-r;
return h==r?e=0:s==h?e=(o-n)/l:o==h?e=2+(n-s)/l:n==h&&(e=4+(s-o)/l),e=Math.min(60*e,360),0>e&&(e+=360),a=(r+h)/2,i=h==r?0:.5>=a?l/(h+r):l/(2-h-r),[e,100*i,100*a]}
function s(t){var e,i,a,s=t[0],o=t[1],n=t[2],r=Math.min(s,o,n),h=Math.max(s,o,n),l=h-r;
return i=0==h?0:l/h*1e3/10,h==r?e=0:s==h?e=(o-n)/l:o==h?e=2+(n-s)/l:n==h&&(e=4+(s-o)/l),e=Math.min(60*e,360),0>e&&(e+=360),a=h/255*1e3/10,[e,i,a]}
function o(t){var e=t[0],i=t[1],s=t[2],o=a(t)[0],n=1/255*Math.min(e,Math.min(i,s)),s=1-1/255*Math.max(e,Math.max(i,s));
return[o,100*n,100*s]}
function n(t){var e,i,a,s,o=t[0]/255,n=t[1]/255,r=t[2]/255;
return s=Math.min(1-o,1-n,1-r),e=(1-o-s)/(1-s)||0,i=(1-n-s)/(1-s)||0,a=(1-r-s)/(1-s)||0,[100*e,100*i,100*a,100*s]}
function h(t){
return G[JSON.stringify(t)]}
function l(t){var e=t[0]/255,i=t[1]/255,a=t[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92,a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92;var s=.4124*e+.3576*i+.1805*a,o=.2126*e+.7152*i+.0722*a,n=.0193*e+.1192*i+.9505*a;
return[100*s,100*o,100*n]}
function c(t){var e,i,a,s=l(t),o=s[0],n=s[1],r=s[2];
return o/=95.047,n/=100,r/=108.883,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,e=116*n-16,i=500*(o-n),a=200*(n-r),[e,i,a]}
function d(t){
return B(c(t))}
function u(t){var e,i,a,s,o,n=t[0]/360,r=t[1]/100,h=t[2]/100;
if(0==r)
return o=255*h,[o,o,o];i=.5>h?h*(1+r):h+r-h*r,e=2*h-i,s=[0,0,0];
for(var l=0;3>l;l++)a=n+1/3*-(l-1),0>a&&a++,a>1&&a--,o=1>6*a?e+6*(i-e)*a:1>2*a?i:2>3*a?e+(i-e)*(2/3-a)*6:e,s[l]=255*o;
return s}
function m(t){var e,i,a=t[0],s=t[1]/100,o=t[2]/100;
return o*=2,s*=1>=o?o:2-o,i=(o+s)/2,e=2*s/(o+s),[a,100*e,100*i]}
function f(t){
return o(u(t))}
function p(t){
return n(u(t))}
function x(t){
return h(u(t))}
function v(t){var e=t[0]/60,i=t[1]/100,a=t[2]/100,s=Math.floor(e)%6,o=e-Math.floor(e),n=255*a*(1-i),r=255*a*(1-i*o),h=255*a*(1-i*(1-o)),a=255*a;
switch(s){
case 0:
return[a,h,n];
case 1:
return[r,a,n];
case 2:
return[n,a,h];
case 3:
return[n,r,a];
case 4:
return[h,n,a];
case 5:
return[a,n,r]}}
function y(t){var e,i,a=t[0],s=t[1]/100,o=t[2]/100;
return i=(2-s)*o,e=s*o,e/=1>=i?i:2-i,e=e||0,i/=2,[a,100*e,100*i]}
function k(t){
return o(v(t))}
function C(t){
return n(v(t))}
function D(t){
return h(v(t))}
function S(t){var e,i,a,s,o=t[0]/360,n=t[1]/100,h=t[2]/100,l=n+h;
switch(l>1&&(n/=l,h/=l),e=Math.floor(6*o),i=1-h,a=6*o-e,0!=(1&e)&&(a=1-a),s=n+a*(i-n),e){
default:
case 6:
case 0:r=i,g=s,b=n;
break;
case 1:r=s,g=i,b=n;
break;
case 2:r=n,g=i,b=s;
break;
case 3:r=n,g=s,b=i;
break;
case 4:r=s,g=n,b=i;
break;
case 5:r=i,g=n,b=s}
return[255*r,255*g,255*b]}
function w(t){
return a(S(t))}
function _(t){
return s(S(t))}
function A(t){
return n(S(t))}
function M(t){
return h(S(t))}
function I(t){var e,i,a,s=t[0]/100,o=t[1]/100,n=t[2]/100,r=t[3]/100;
return e=1-Math.min(1,s*(1-r)+r),i=1-Math.min(1,o*(1-r)+r),a=1-Math.min(1,n*(1-r)+r),[255*e,255*i,255*a]}
function P(t){
return a(I(t))}
function F(t){
return s(I(t))}
function R(t){
return o(I(t))}
function T(t){
return h(I(t))}
function z(t){var e,i,a,s=t[0]/100,o=t[1]/100,n=t[2]/100;
return e=3.2406*s+-1.5372*o+n*-.4986,i=s*-.9689+1.8758*o+.0415*n,a=.0557*s+o*-.204+1.057*n,e=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:e=12.92*e,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i=12.92*i,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:a=12.92*a,e=Math.min(Math.max(0,e),1),i=Math.min(Math.max(0,i),1),a=Math.min(Math.max(0,a),1),[255*e,255*i,255*a]}
function W(t){var e,i,a,s=t[0],o=t[1],n=t[2];
return s/=95.047,o/=100,n/=108.883,s=s>.008856?Math.pow(s,1/3):7.787*s+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,e=116*o-16,i=500*(s-o),a=200*(o-n),[e,i,a]}
function L(t){
return B(W(t))}
function V(t){var e,i,a,s,o=t[0],n=t[1],r=t[2];
return 8>=o?(i=100*o/903.3,s=7.787*(i/100)+16/116):(i=100*Math.pow((o+16)/116,3),s=Math.pow(i/100,1/3)),e=.008856>=e/95.047?e=95.047*(n/500+s-16/116)/7.787:95.047*Math.pow(n/500+s,3),a=.008859>=a/108.883?a=108.883*(s-r/200-16/116)/7.787:108.883*Math.pow(s-r/200,3),[e,i,a]}function B(t){var e,i,a,s=t[0],o=t[1],n=t[2];
return e=Math.atan2(n,o),i=360*e/2/Math.PI,0>i&&(i+=360),a=Math.sqrt(o*o+n*n),[s,a,i]}
function O(t){
return z(V(t))}
function N(t){var e,i,a,s=t[0],o=t[1],n=t[2];
return a=n/360*2*Math.PI,e=o*Math.cos(a),i=o*Math.sin(a),[s,e,i]}
function H(t){
return V(N(t))}
function E(t){
return O(N(t))}
function j(t){
return Q[t]}
function q(t){
return a(j(t))}
function U(t){
return s(j(t))}
function Y(t){
return o(j(t))}
function J(t){
return n(j(t))}
function Z(t){
return c(j(t))}
function X(t){
return l(j(t))}e.exports={rgb2hsl:a,rgb2hsv:s,rgb2hwb:o,rgb2cmyk:n,rgb2keyword:h,rgb2xyz:l,rgb2lab:c,rgb2lch:d,hsl2rgb:u,hsl2hsv:m,hsl2hwb:f,hsl2cmyk:p,hsl2keyword:x,hsv2rgb:v,hsv2hsl:y,hsv2hwb:k,hsv2cmyk:C,hsv2keyword:D,hwb2rgb:S,hwb2hsl:w,hwb2hsv:_,hwb2cmyk:A,hwb2keyword:M,cmyk2rgb:I,cmyk2hsl:P,cmyk2hsv:F,cmyk2hwb:R,cmyk2keyword:T,keyword2rgb:j,keyword2hsl:q,keyword2hsv:U,keyword2hwb:Y,keyword2cmyk:J,keyword2lab:Z,keyword2xyz:X,xyz2rgb:z,xyz2lab:W,xyz2lch:L,lab2xyz:V,lab2rgb:O,lab2lch:B,lch2lab:N,lch2xyz:H,lch2rgb:E};var Q={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]},G={};
for(var $ in Q)G[JSON.stringify(Q[$])]=$},{}],3:[
function(t,e,i){var a=t(
"./conversions"),s=
function(){
return new l};
for(var o in a){s[o+
"Raw"]=
function(t){
return function(e){
return"number"==typeof e&&(e=Array.prototype.slice.call(arguments)),a[t](e)}}(o);var n=/(\w+)2(\w+)/.exec(o),r=n[1],h=n[2];s[r]=s[r]||{},s[r][h]=s[o]=
function(t){
return function(e){
"number"==typeof e&&(e=Array.prototype.slice.call(arguments));var i=a[t](e);
if(
"string"==typeof i||
void 0===i)
return i;
for(var s=0;s<i.length;s++)i[s]=Math.round(i[s]);
return i}}(o)}var l=
function(){this.convs={}};l.prototype.routeSpace=
function(t,e){var i=e[0];
return void 0===i?this.getValues(t):(
"number"==typeof i&&(i=Array.prototype.slice.call(e)),this.setValues(t,i))},l.prototype.setValues=function(t,e){
return this.space=t,this.convs={},this.convs[t]=e,
this},l.prototype.getValues=
function(t){var e=this.convs[t];
if(!e){var i=this.space,a=this.convs[i];e=s[i][t](a),this.convs[t]=e}
return e},[
"rgb",
"hsl",
"hsv",
"cmyk",
"keyword"].forEach(
function(t){l.prototype[t]=
function(e){
return this.routeSpace(t,arguments)}}),e.exports=s},{
"./conversions":2}],4:[
function(t,e,i){
function a(t){
if(t){var e=/^#([a-fA-F0-9]{3})$/,i=/^#([a-fA-F0-9]{6})$/,a=/^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,s=/^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,o=/(\w+)/,n=[0,0,0],r=1,h=t.match(e);
if(h){h=h[1];
for(var l=0;l<n.length;l++)n[l]=parseInt(h[l]+h[l],16)}
else if(h=t.match(i)){h=h[1];
for(var l=0;l<n.length;l++)n[l]=parseInt(h.slice(2*l,2*l+2),16)}
else if(h=t.match(a)){
for(var l=0;l<n.length;l++)n[l]=parseInt(h[l+1]);r=parseFloat(h[4])}
else if(h=t.match(s)){
for(var l=0;l<n.length;l++)n[l]=Math.round(2.55*parseFloat(h[l+1]));r=parseFloat(h[4])}
else if(h=t.match(o)){
if(
"transparent"==h[1])
return[0,0,0,0];
if(n=y[h[1]],!n)
return}
for(var l=0;l<n.length;l++)n[l]=x(n[l],0,255);
return r=r||0==r?x(r,0,1):1,n[3]=r,n}}function s(t){
if(t){var e=/^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/,i=t.match(e);
if(i){var a=parseFloat(i[4]),s=x(parseInt(i[1]),0,360),o=x(parseFloat(i[2]),0,100),n=x(parseFloat(i[3]),0,100),r=x(isNaN(a)?1:a,0,1);
return[s,o,n,r]}}}
function o(t){
if(t){var e=/^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/,i=t.match(e);
if(i){var a=parseFloat(i[4]),s=x(parseInt(i[1]),0,360),o=x(parseFloat(i[2]),0,100),n=x(parseFloat(i[3]),0,100),r=x(isNaN(a)?1:a,0,1);
return[s,o,n,r]}}}
function n(t){var e=a(t);
return e&&e.slice(0,3)}
function r(t){var e=s(t);
return e&&e.slice(0,3)}
function h(t){var e=a(t);
return e?e[3]:(e=s(t))?e[3]:(e=o(t))?e[3]:
void 0}
function l(t){
return"#"+v(t[0])+v(t[1])+v(t[2])}
function c(t,e){
return 1>e||t[3]&&t[3]<1?d(t,e):
"rgb("+t[0]+
", "+t[1]+
", "+t[2]+
")"}function d(t,e){
return void 0===e&&(e=
void 0!==t[3]?t[3]:1),
"rgba("+t[0]+
", "+t[1]+
", "+t[2]+
", "+e+
")"}
function u(t,e){
if(1>e||t[3]&&t[3]<1)
return g(t,e);var i=Math.round(t[0]/255*100),a=Math.round(t[1]/255*100),s=Math.round(t[2]/255*100);
return"rgb("+i+
"%, "+a+
"%, "+s+
"%)"}
function g(t,e){var i=Math.round(t[0]/255*100),a=Math.round(t[1]/255*100),s=Math.round(t[2]/255*100);
return"rgba("+i+
"%, "+a+
"%, "+s+
"%, "+(e||t[3]||1)+
")"}
function m(t,e){
return 1>e||t[3]&&t[3]<1?f(t,e):
"hsl("+t[0]+
", "+t[1]+
"%, "+t[2]+
"%)"}function f(t,e){
return void 0===e&&(e=
void 0!==t[3]?t[3]:1),
"hsla("+t[0]+
", "+t[1]+
"%, "+t[2]+
"%, "+e+
")"}
function p(t,e){
return void 0===e&&(e=
void 0!==t[3]?t[3]:1),
"hwb("+t[0]+
", "+t[1]+
"%, "+t[2]+
"%"+(
void 0!==e&&1!==e?
", "+e:
"")+
")"}
function b(t){
return k[t.slice(0,3)]}
function x(t,e,i){
return Math.min(Math.max(e,t),i)}
function v(t){var e=t.toString(16).toUpperCase();
return e.length<2?
"0"+e:e}var y=t(
"color-name");e.exports={getRgba:a,getHsla:s,getRgb:n,getHsl:r,getHwb:o,getAlpha:h,hexString:l,rgbString:c,rgbaString:d,percentString:u,percentaString:g,hslString:m,hslaString:f,hwbString:p,keyword:b};var k={};
for(var C in y)k[y[C]]=C},{
"color-name":5}],5:[
function(t,e,i){e.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]}},{}]},{},[1]),
function(){
"use strict";var t=
this,e=t.Chart,i=
function(t,e){this.config=e,t.length&&t[0].getContext&&(t=t[0]),t.getContext&&(t=t.getContext(
"2d")),this.ctx=t,this.canvas=t.canvas,
this.width=t.canvas.width||parseInt(i.helpers.getStyle(t.canvas,
"width"))||i.helpers.getMaximumWidth(t.canvas),this.height=t.canvas.height||parseInt(i.helpers.getStyle(t.canvas,
"height"))||i.helpers.getMaximumHeight(t.canvas),this.aspectRatio=this.width/this.height,(isNaN(this.aspectRatio)||isFinite(this.aspectRatio)===!1)&&(this.aspectRatio=
void 0!==e.aspectRatio?e.aspectRatio:2),this.originalCanvasStyleWidth=t.canvas.style.width,this.originalCanvasStyleHeight=t.canvas.style.height,i.helpers.retinaScale(
this),e&&(this.controller=
new i.Controller(
this));var a=
this;
return i.helpers.addResizeListener(t.canvas.parentNode,
function(){a.controller&&a.controller.config.options.responsive&&a.controller.resize()}),this.controller?this.controller:
this};i.defaults={global:{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:[
"mousemove",
"mouseout",
"click",
"touchstart",
"touchmove"],hover:{onHover:null,mode:
"single",animationDuration:400},onClick:null,defaultColor:
"rgba(0,0,0,0.1)",elements:{},legendCallback:
function(t){var e=[];e.push(
'<ul class="'+t.id+
'-legend">');
for(var i=0;i<t.data.datasets.length;i++)e.push(
'<li><span style="background-color:'+t.data.datasets[i].backgroundColor+
'">'),t.data.datasets[i].label&&e.push(t.data.datasets[i].label),e.push(
"</span></li>");
return e.push(
"</ul>"),e.join(
"")}}},t.Chart=i,i.noConflict=
function(){
return t.Chart=e,i}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers={},a=i.each=
function(t,e,i,a){var s=Array.prototype.slice.call(arguments,3);
if(t)
if(t.length===+t.length){var o;
if(a)
for(o=t.length-1;o>=0;o--)e.apply(i,[t[o],o].concat(s));
else for(o=0;o<t.length;o++)e.apply(i,[t[o],o].concat(s))}
else for(var n in t)e.apply(i,[t[n],n].concat(s))},s=i.clone=
function(t){var e={};
return a(t,
function(a,o){t.hasOwnProperty(o)&&(i.isArray(a)?e[o]=a.slice(0):
"object"==typeof a&&null!==a?e[o]=s(a):e[o]=a)}),e},o=i.extend=function(t){
return a(Array.prototype.slice.call(arguments,1),
function(e){a(e,
function(i,a){e.hasOwnProperty(a)&&(t[a]=i)})}),t},n=(i.configMerge=
function(t){var a=s(t);
return i.each(Array.prototype.slice.call(arguments,1),
function(t){i.each(t,
function(s,o){
if(t.hasOwnProperty(o))
if(
"scales"===o)a[o]=i.scaleMerge(a.hasOwnProperty(o)?a[o]:{},s);
else if(
"scale"===o)a[o]=i.configMerge(a.hasOwnProperty(o)?a[o]:{},e.scaleService.getScaleDefaults(s.type),s);
else if(a.hasOwnProperty(o)&&i.isArray(a[o])&&i.isArray(s)){var n=a[o];i.each(s,
function(t,e){e<n.length?
"object"==typeof n[e]&&null!==n[e]&&
"object"==typeof t&&null!==t?n[e]=i.configMerge(n[e],t):n[e]=t:n.push(t)})}
else a.hasOwnProperty(o)&&
"object"==typeof a[o]&&null!==a[o]&&
"object"==typeof s?a[o]=i.configMerge(a[o],s):a[o]=s})}),a},i.extendDeep=
function(t){
function e(t){
return i.each(arguments,
function(a){a!==t&&i.each(a,
function(i,a){t[a]&&t[a].constructor&&t[a].constructor===Object?e(t[a],i):t[a]=i})}),t}return e.apply(this,arguments)},i.scaleMerge=function(t,a){var o=s(t);
return i.each(a,
function(t,s){a.hasOwnProperty(s)&&(
"xAxes"===s||
"yAxes"===s?o.hasOwnProperty(s)?i.each(t,
function(t,a){a>=o[s].length||!o[s][a].type?o[s].push(i.configMerge(t.type?e.scaleService.getScaleDefaults(t.type):{},t)):t.type!==o[s][a].type?o[s][a]=i.configMerge(o[s][a],t.type?e.scaleService.getScaleDefaults(t.type):{},t):o[s][a]=i.configMerge(o[s][a],t)}):(o[s]=[],i.each(t,
function(t){o[s].push(i.configMerge(t.type?e.scaleService.getScaleDefaults(t.type):{},t))})):o.hasOwnProperty(s)&&
"object"==typeof o[s]&&null!==o[s]&&
"object"==typeof t?o[s]=i.configMerge(o[s],t):o[s]=t)}),o},i.getValueAtIndexOrDefault=
function(t,e,a){
return void 0===t||null===t?a:i.isArray(t)?e<t.length?t[e]:a:t},i.getValueOrDefault=
function(t,e){
return void 0===t?e:t},i.indexOf=
function(t,e){
if(Array.prototype.indexOf)
return t.indexOf(e);
for(var i=0;i<t.length;i++)
if(t[i]===e)
return i;
return-1},i.where=
function(t,e){var a=[];
return i.each(t,
function(t){e(t)&&a.push(t)}),a},i.findNextWhere=
function(t,e,i){(
void 0===i||null===i)&&(i=-1);
for(var a=i+1;a<t.length;a++){var s=t[a];
if(e(s))
return s}},i.findPreviousWhere=
function(t,e,i){(
void 0===i||null===i)&&(i=t.length);
for(var a=i-1;a>=0;a--){var s=t[a];
if(e(s))
return s}},i.inherits=
function(t){var e=
this,i=t&&t.hasOwnProperty(
"constructor")?t.constructor:
function(){
return e.apply(
this,arguments)},a=
function(){this.constructor=i};
return a.prototype=e.prototype,i.prototype=
new a,i.extend=n,t&&o(i.prototype,t),i.__super__=e.prototype,i}),r=i.noop=
function(){},h=(i.uid=
function(){var t=0;
return function(){
return"chart-"+t++}}(),i.warn=
function(t){console&&
"function"==typeof console.warn&&console.warn(t)},i.isNumber=
function(t){
return!isNaN(parseFloat(t))&&isFinite(t)}),l=(i.max=
function(t){
return Math.max.apply(Math,t)},i.min=
function(t){
return Math.min.apply(Math,t)},i.sign=
function(t){
return Math.sign?Math.sign(t):(t=+t,0===t||isNaN(t)?t:t>0?1:-1)},i.log10=
function(t){
return Math.log10?Math.log10(t):Math.log(t)/Math.LN10},i.getDecimalPlaces=
function(t){
if(t%1!==0&&h(t)){var e=t.toString();
if(e.indexOf(
"e-")<0)
return e.split(
".")[1].length;
if(e.indexOf(
".")<0)
return parseInt(e.split(
"e-")[1]);var i=e.split(
".")[1].split(
"e-");
return i[0].length+parseInt(i[1])}
return 0},i.toRadians=
function(t){
return t*(Math.PI/180)},i.toDegrees=
function(t){
return t*(180/Math.PI)},i.getAngleFromPoint=
function(t,e){var i=e.x-t.x,a=e.y-t.y,s=Math.sqrt(i*i+a*a),o=Math.atan2(a,i);
return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:s}},i.aliasPixel=
function(t){
return t%2===0?0:.5},i.splineCurve=
function(t,e,i,a){var s=t.skip?e:t,o=e,n=i.skip?e:i,r=Math.sqrt(Math.pow(o.x-s.x,2)+Math.pow(o.y-s.y,2)),h=Math.sqrt(Math.pow(n.x-o.x,2)+Math.pow(n.y-o.y,2)),l=r/(r+h),c=h/(r+h);l=isNaN(l)?0:l,c=isNaN(c)?0:c;var d=a*l,u=a*c;
return{previous:{x:o.x-d*(n.x-s.x),y:o.y-d*(n.y-s.y)},next:{x:o.x+u*(n.x-s.x),y:o.y+u*(n.y-s.y)}}},i.nextItem=
function(t,e,i){
return i?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},i.previousItem=
function(t,e,i){
return i?0>=e?t[t.length-1]:t[e-1]:0>=e?t[0]:t[e-1]},i.niceNum=
function(t,e){var a,s=Math.floor(i.log10(t)),o=t/Math.pow(10,s);
return a=e?1.5>o?1:3>o?2:7>o?5:10:1>=o?1:2>=o?2:5>=o?5:10,a*Math.pow(10,s)},i.easingEffects={linear:
function(t){
return t},easeInQuad:
function(t){
return t*t},easeOutQuad:
function(t){
return-1*t*(t-2)},easeInOutQuad:
function(t){
return(t/=.5)<1?.5*t*t:-0.5*(--t*(t-2)-1)},easeInCubic:
function(t){
return t*t*t},easeOutCubic:
function(t){
return 1*((t=t/1-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-1*((t=t/1-1)*t*t*t-1)},easeInOutQuart:
function(t){
return(t/=.5)<1?.5*t*t*t*t:-0.5*((t-=2)*t*t*t-2)},easeInQuint:
function(t){
return 1*(t/=1)*t*t*t*t},easeOutQuint:
function(t){
return 1*((t=t/1-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/1*(Math.PI/2))+1},easeOutSine:
function(t){
return 1*Math.sin(t/1*(Math.PI/2))},easeInOutSine:
function(t){
return-0.5*(Math.cos(Math.PI*t/1)-1)},easeInExpo:
function(t){
return 0===t?1:1*Math.pow(2,10*(t/1-1))},easeOutExpo:
function(t){
return 1===t?1:1*(-Math.pow(2,-10*t/1)+1)},easeInOutExpo:
function(t){
return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(-Math.pow(2,-10*--t)+2)},easeInCirc:
function(t){
return t>=1?t:-1*(Math.sqrt(1-(t/=1)*t)-1)},easeOutCirc:
function(t){
return 1*Math.sqrt(1-(t=t/1-1)*t)},easeInOutCirc:
function(t){
return(t/=.5)<1?-0.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:
function(t){var e=1.70158,i=0,a=1;
return 0===t?0:1==(t/=1)?1:(i||(i=.3),a<Math.abs(1)?(a=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/a),-(a*Math.pow(2,10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/i)))},easeOutElastic:
function(t){var e=1.70158,i=0,a=1;
return 0===t?0:1==(t/=1)?1:(i||(i=.3),a<Math.abs(1)?(a=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/a),a*Math.pow(2,-10*t)*Math.sin((1*t-e)*(2*Math.PI)/i)+1)},easeInOutElastic:
function(t){var e=1.70158,i=0,a=1;
return 0===t?0:2==(t/=.5)?1:(i||(i=1*(.3*1.5)),a<Math.abs(1)?(a=1,e=i/4):e=i/(2*Math.PI)*Math.asin(1/a),1>t?-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/i)):a*Math.pow(2,-10*(t-=1))*Math.sin((1*t-e)*(2*Math.PI)/i)*.5+1)},easeInBack:
function(t){var e=1.70158;
return 1*(t/=1)*t*((e+1)*t-e)},easeOutBack:
function(t){var e=1.70158;
return 1*((t=t/1-1)*t*((e+1)*t+e)+1)},easeInOutBack:
function(t){var e=1.70158;
return(t/=.5)<1?.5*(t*t*(((e*=1.525)+1)*t-e)):.5*((t-=2)*t*(((e*=1.525)+1)*t+e)+2)},easeInBounce:
function(t){
return 1-l.easeOutBounce(1-t);
38 },easeOutBounce:
function(t){
return(t/=1)<1/2.75?1*(7.5625*t*t):2/2.75>t?1*(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1*(7.5625*(t-=2.25/2.75)*t+.9375):1*(7.5625*(t-=2.625/2.75)*t+.984375)},easeInOutBounce:function(t){
return.5>t?.5*l.easeInBounce(2*t):.5*l.easeOutBounce(2*t-1)+.5}}),c=(i.requestAnimFrame=
function(){
return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||
function(t){
return window.setTimeout(t,1e3/60)}}(),i.cancelAnimFrame=
function(){
return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||
function(t){
return window.clearTimeout(t,1e3/60)}}(),i.getRelativePosition=
function(t,e){var i,a,s=t.originalEvent||t,o=t.currentTarget||t.srcElement,n=o.getBoundingClientRect();
return s.touches&&s.touches.length>0?(i=s.touches[0].clientX,a=s.touches[0].clientY):(i=s.clientX,a=s.clientY),i=Math.round((i-n.left)/(n.right-n.left)*o.width/e.currentDevicePixelRatio),a=Math.round((a-n.top)/(n.bottom-n.top)*o.height/e.currentDevicePixelRatio),{x:i,y:a}},i.addEvent=
function(t,e,i){t.addEventListener?t.addEventListener(e,i):t.attachEvent?t.attachEvent(
"on"+e,i):t[
"on"+e]=i}),d=i.removeEvent=
function(t,e,i){t.removeEventListener?t.removeEventListener(e,i,!1):t.detachEvent?t.detachEvent(
"on"+e,i):t[
"on"+e]=r},u=(i.bindEvents=
function(t,e,i){t.events||(t.events={}),a(e,
function(e){t.events[e]=
function(){i.apply(t,arguments)},c(t.chart.canvas,e,t.events[e])})},i.unbindEvents=
function(t,e){a(e,
function(e,i){d(t.chart.canvas,i,e)})},i.getConstraintWidth=
function(t){var e,i=document.defaultView.getComputedStyle(t)[
"max-width"],a=document.defaultView.getComputedStyle(t.parentNode)[
"max-width"],s=null!==i&&
"none"!==i,o=null!==a&&
"none"!==a;
return(s||o)&&(e=Math.min(s?parseInt(i,10):Number.POSITIVE_INFINITY,o?parseInt(a,10):Number.POSITIVE_INFINITY)),e}),g=i.getConstraintHeight=
function(t){var e,i=document.defaultView.getComputedStyle(t)[
"max-height"],a=document.defaultView.getComputedStyle(t.parentNode)[
"max-height"],s=null!==i&&
"none"!==i,o=null!==a&&
"none"!==a;
return(i||a)&&(e=Math.min(s?parseInt(i,10):Number.POSITIVE_INFINITY,o?parseInt(a,10):Number.POSITIVE_INFINITY)),e},m=(i.getMaximumWidth=
function(t){var e=t.parentNode,i=parseInt(m(e,
"padding-left"))+parseInt(m(e,
"padding-right")),a=e.clientWidth-i,s=u(t);
return void 0!==s&&(a=Math.min(a,s)),a},i.getMaximumHeight=
function(t){var e=t.parentNode,i=parseInt(m(e,
"padding-top"))+parseInt(m(e,
"padding-bottom")),a=e.clientHeight-i,s=g(t);
return void 0!==s&&(a=Math.min(a,s)),a},i.getStyle=
function(t,e){
return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)});i.getMaximumSize=i.getMaximumWidth,i.retinaScale=
function(t){var e=t.ctx,i=t.canvas.width,a=t.canvas.height,s=t.currentDevicePixelRatio=window.devicePixelRatio||1;1!==s&&(e.canvas.height=a*s,e.canvas.width=i*s,e.scale(s,s),e.canvas.style.width=i+
"px",e.canvas.style.height=a+
"px",t.originalDevicePixelRatio=t.originalDevicePixelRatio||s)},i.clear=
function(t){t.ctx.clearRect(0,0,t.width,t.height)},i.fontString=
function(t,e,i){
return e+
" "+t+
"px "+i},i.longestText=
function(t,e,i){t.font=e;var s=0;
return a(i,
function(e){var i=t.measureText(e).width;s=i>s?i:s}),s},i.drawRoundedRectangle=
function(t,e,i,a,s,o){t.beginPath(),t.moveTo(e+o,i),t.lineTo(e+a-o,i),t.quadraticCurveTo(e+a,i,e+a,i+o),t.lineTo(e+a,i+s-o),t.quadraticCurveTo(e+a,i+s,e+a-o,i+s),t.lineTo(e+o,i+s),t.quadraticCurveTo(e,i+s,e,i+s-o),t.lineTo(e,i+o),t.quadraticCurveTo(e,i,e+o,i),t.closePath()},i.color=
function(e){
return t.Color?t.Color(e):(console.log(
"Color.js not found!"),e)},i.addResizeListener=
function(t,e){var i=document.createElement(
"iframe"),a=
"chartjs-hidden-iframe";i.classlist?i.classlist.add(a):i.setAttribute(
"class",a),i.style.width=
"100%",i.style.display=
"block",i.style.border=0,i.style.height=0,i.style.margin=0,i.style.position=
"absolute",i.style.left=0,i.style.right=0,i.style.top=0,i.style.bottom=0,t.insertBefore(i,t.firstChild);(i.contentWindow||i).onresize=
function(){e&&e()}},i.removeResizeListener=
function(t){var e=t.querySelector(
".chartjs-hidden-iframe");e&&e.parentNode.removeChild(e)},i.isArray=
function(t){
return Array.isArray?Array.isArray(t):
"[object Array]"===Object.prototype.toString.call(arg)},i.isDatasetVisible=
function(t){
return!t.hidden};i.callCallback=
function(t,e,i){t&&
"function"==typeof t.call&&t.apply(i,e)}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.elements={},e.Element=
function(t){i.extend(
this,t),this.initialize.apply(
this,arguments)},i.extend(e.Element.prototype,{initialize:
function(){},pivot:
function(){
return this._view||(this._view=i.clone(this._model)),this._start=i.clone(
this._view),
this},transition:
function(t){
return this._view||(this._view=i.clone(this._model)),this._start||this.pivot(),i.each(this._model,
function(e,a){
if(
"_"!==a[0]&&this._model.hasOwnProperty(a))
if(this._view[a])
if(this._model[a]===this._view[a]);
else if(
"string"==typeof e)
try{var s=i.color(this._start[a]).mix(i.color(
this._model[a]),t);this._view[a]=s.rgbString()}
catch(o){this._view[a]=e}
else if(
"number"==typeof e){var n=
void 0!==this._start[a]&&isNaN(this._start[a])===!1?this._start[a]:0;this._view[a]=(this._model[a]-n)*t+n}
else this._view[a]=e;
else"number"==typeof e&&isNaN(this._view[a])===!1?this._view[a]=e*t:this._view[a]=e||null;
else;},
this),1===t&&
delete this._start,
this},tooltipPosition:
function(){
return{x:this._model.x,y:this._model.y}},hasValue:
function(){
return i.isNumber(this._model.x)&&i.isNumber(this._model.y)}}),e.Element.extend=i.inherits}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.global.animation={duration:1e3,easing:
"easeOutQuart",onProgress:i.noop,onComplete:i.noop},e.Animation=e.Element.extend({currentStep:null,numSteps:60,easing:
"",render:null,onAnimationProgress:null,onAnimationComplete:null}),e.animationService={frameDuration:17,animations:[],dropFrames:0,addAnimation:
function(t,e,a,s){s||(t.animating=!0);
for(var o=0;o<this.animations.length;++o)
if(this.animations[o].chartInstance===t)
return void(this.animations[o].animationObject=e);this.animations.push({chartInstance:t,animationObject:e}),1==this.animations.length&&i.requestAnimFrame.call(window,
this.digestWrapper)},cancelAnimation:
function(t){var e=i.findNextWhere(this.animations,
function(e){
return e.chartInstance===t});e&&(this.animations.splice(e,1),t.animating=!1)},digestWrapper:
function(){e.animationService.startDigest.call(e.animationService)},startDigest:
function(){var t=Date.now(),e=0;this.dropFrames>1&&(e=Math.floor(this.dropFrames),this.dropFrames=this.dropFrames%1);
for(var a=0;a<this.animations.length;a++)null===this.animations[a].animationObject.currentStep&&(
this.animations[a].animationObject.currentStep=0),this.animations[a].animationObject.currentStep+=1+e,this.animations[a].animationObject.currentStep>this.animations[a].animationObject.numSteps&&(this.animations[a].animationObject.currentStep=this.animations[a].animationObject.numSteps),this.animations[a].animationObject.render(
this.animations[a].chartInstance,
this.animations[a].animationObject),this.animations[a].animationObject.onAnimationProgress&&this.animations[a].animationObject.onAnimationProgress.call&&this.animations[a].animationObject.onAnimationProgress.call(this.animations[a].chartInstance,this.animations[a]),this.animations[a].animationObject.currentStep==this.animations[a].animationObject.numSteps&&(this.animations[a].animationObject.onAnimationComplete&&this.animations[a].animationObject.onAnimationComplete.call&&this.animations[a].animationObject.onAnimationComplete.call(this.animations[a].chartInstance,this.animations[a]),this.animations[a].chartInstance.animating=!1,this.animations.splice(a,1),a--);var s=Date.now(),o=(s-t)/this.frameDuration;this.dropFrames+=o,this.animations.length>0&&i.requestAnimFrame.call(window,this.digestWrapper)}}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.types={},e.instances={},e.controllers={},e.Controller=
function(t){
return this.chart=t,this.config=t.config,this.options=this.config.options=i.configMerge(e.defaults.global,e.defaults[
this.config.type],
this.config.options||{}),this.
id=i.uid(),Object.defineProperty(
this,
"data",{
get:
function(){
return this.config.data}}),e.instances[
this.id]=
this,
this.options.responsive&&
this.resize(!0),this.initialize.call(
this),
this},i.extend(e.Controller.prototype,{initialize:
function(){
return this.bindEvents(),this.ensureScalesHaveIDs(),this.buildOrUpdateControllers(),this.buildScales(),this.buildSurroundingItems(),this.updateLayout(),this.resetElements(),this.initToolTip(),this.update(),
this},clear:
function(){
return i.clear(this.chart),
this},stop:
function(){
return e.animationService.cancelAnimation(
this),
this},resize:
function(t){this.stop();var e=this.chart.canvas,a=i.getMaximumWidth(this.chart.canvas),s=this.options.maintainAspectRatio&&isNaN(this.chart.aspectRatio)===!1&&isFinite(this.chart.aspectRatio)&&0!==this.chart.aspectRatio?a/this.chart.aspectRatio:i.getMaximumHeight(this.chart.canvas);
return e.width=this.chart.width=a,e.height=this.chart.height=s,i.retinaScale(this.chart),t||this.update(this.options.responsiveAnimationDuration),
this},ensureScalesHaveIDs:
function(){var t=
"x-axis-",e=
"y-axis-";this.options.scales&&(this.options.scales.xAxes&&this.options.scales.xAxes.length&&i.each(this.options.scales.xAxes,
function(e,i){e.id=e.id||t+i},
this),this.options.scales.yAxes&&
this.options.scales.yAxes.length&&i.each(
this.options.scales.yAxes,
function(t,i){t.id=t.id||e+i},
this))},buildScales:
function(){
if(this.scales={},this.options.scales&&(this.options.scales.xAxes&&this.options.scales.xAxes.length&&i.each(this.options.scales.xAxes,
function(t,i){var a=e.scaleService.getScaleConstructor(t.type),s=
new a({ctx:this.chart.ctx,options:t,chart:
this,
id:t.id});this.scales[s.id]=s},
this),this.options.scales.yAxes&&
this.options.scales.yAxes.length&&i.each(
this.options.scales.yAxes,
function(t,i){var a=e.scaleService.getScaleConstructor(t.type),s=
new a({ctx:this.chart.ctx,options:t,chart:
this,
id:t.id});this.scales[s.id]=s},
this)),this.options.scale){var t=e.scaleService.getScaleConstructor(this.options.scale.type),a=
new t({ctx:this.chart.ctx,options:this.options.scale,chart:
this});this.scale=a,this.scales.radialScale=a}e.scaleService.addScalesToLayout(
this)},buildSurroundingItems:
function(){this.options.title&&(this.titleBlock=
new e.Title({ctx:this.chart.ctx,options:this.options.title,chart:
this}),e.layoutService.addBox(
this,
this.titleBlock)),this.options.legend&&(
this.legend=
new e.Legend({ctx:
this.chart.ctx,options:
this.options.legend,chart:
this}),e.layoutService.addBox(
this,
this.legend))},updateLayout:
function(){e.layoutService.update(
this,this.chart.width,
this.chart.height)},buildOrUpdateControllers:
function(t){var a=[];
if(i.each(
this.data.datasets,
function(i,s){i.type||(i.type=
this.config.type);var o=i.type;a.push(o),i.controller?i.controller.updateIndex(s):(i.controller=
new e.controllers[o](
this,s),t&&i.controller.reset())},
this),a.length>1)
for(var s=1;s<a.length;s++)
if(a[s]!=a[s-1]){this.isCombo=!0;
break}},resetElements:
function(){i.each(this.data.datasets,
function(t,e){t.controller.reset()},
this)},update:
function(t,a){this.tooltip._data=this.data,this.buildOrUpdateControllers(!0),e.layoutService.update(
this,this.chart.width,
this.chart.height),i.each(this.data.datasets,
function(t,e){t.controller.buildOrUpdateElements()},
this),i.each(
this.data.datasets,
function(t,e){t.controller.update()},
this),this.render(t,a)},render:
function(t,a){
if(this.options.animation&&(
"undefined"!=typeof t&&0!==t||
"undefined"==typeof t&&0!==
this.options.animation.duration)){var s=
new e.Animation;s.numSteps=(t||this.options.animation.duration)/16.66,s.easing=
this.options.animation.easing,s.render=
function(t,e){var a=i.easingEffects[e.easing],s=e.currentStep/e.numSteps,o=a(s);t.draw(o,s,e.currentStep)},s.onAnimationProgress=this.options.animation.onProgress,s.onAnimationComplete=this.options.animation.onComplete,e.animationService.addAnimation(
this,s,t,a)}
else this.draw(),this.options.animation&&this.options.animation.onComplete&&this.options.animation.onComplete.call&&this.options.animation.onComplete.call(
this);
return this},draw:
function(t){var e=t||1;this.clear(),i.each(this.boxes,
function(t){t.draw(this.chartArea)},
this),this.scale&&this.scale.draw(),i.each(this.data.datasets,
function(e,a){i.isDatasetVisible(e)&&e.controller.draw(t)},
this),this.tooltip.transition(e).draw()},getElementAtEvent:
function(t){var e=i.getRelativePosition(t,this.chart),a=[];
return i.each(this.data.datasets,
function(t,s){i.isDatasetVisible(t)&&i.each(t.metaData,
function(t,i){
return t.inRange(e.x,e.y)?(a.push(t),a):
void 0},
this)},
this),a},getElementsAtEvent:
function(t){var e=i.getRelativePosition(t,this.chart),a=[],s=
function(){
for(var t=0;t<this.data.datasets.length;t++)
if(i.isDatasetVisible(
this.data.datasets[t]))
for(var a=0;a<this.data.datasets[t].metaData.length;a++)
if(this.data.datasets[t].metaData[a].inRange(e.x,e.y))
return this.data.datasets[t].metaData[a]}.call(
this);
return s?(i.each(this.data.datasets,
function(t,e){i.isDatasetVisible(t)&&a.push(t.metaData[s._index])},
this),a):a},getDatasetAtEvent:function(t){var e=this.getElementAtEvent(t);
return e.length>0&&(e=this.data.datasets[e[0]._datasetIndex].metaData),e},generateLegend:
function(){
return this.options.legendCallback(
this)},destroy:
function(){this.clear(),i.unbindEvents(
this,this.events),i.removeResizeListener(this.chart.canvas.parentNode);var t=this.chart.canvas;t.width=this.chart.width,t.height=this.chart.height,
void 0!==this.chart.originalDevicePixelRatio&&this.chart.ctx.scale(1/this.chart.originalDevicePixelRatio,1/
this.chart.originalDevicePixelRatio),t.style.width=this.chart.originalCanvasStyleWidth,t.style.height=this.chart.originalCanvasStyleHeight,
delete e.instances[this.id]},toBase64Image:
function(){
return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)},initToolTip:
function(){this.tooltip=
new e.Tooltip({_chart:this.chart,_chartInstance:
this,_data:this.data,_options:this.options},
this)},bindEvents:
function(){i.bindEvents(
this,this.options.events,
function(t){
this.eventHandler(t)})},eventHandler:
function(t){
if(this.lastActive=this.lastActive||[],this.lastTooltipActive=this.lastTooltipActive||[],
"mouseout"==t.type)this.active=[],this.tooltipActive=[];
else{var e=
this,a=
function(i){
switch(i){
case"single":
return e.getElementAtEvent(t);
case"label":
return e.getElementsAtEvent(t);
case"dataset":
return e.getDatasetAtEvent(t);
default:
return t}};this.active=a(this.options.hover.mode),this.tooltipActive=a(this.options.tooltips.mode)}this.options.hover.onHover&&this.options.hover.onHover.call(
this,this.active),(
"mouseup"==t.type||
"click"==t.type)&&(this.options.onClick&&
this.options.onClick.call(
this,t,
this.active),this.legend&&this.legend.handleEvent&&this.legend.handleEvent(t));
if(this.lastActive.length)
switch(this.options.hover.mode){
case"single":this.data.datasets[this.lastActive[0]._datasetIndex].controller.removeHoverStyle(this.lastActive[0],this.lastActive[0]._datasetIndex,this.lastActive[0]._index);
break;
case"label":
case"dataset":
for(var s=0;s<this.lastActive.length;s++)this.lastActive[s]&&this.data.datasets[
this.lastActive[s]._datasetIndex].controller.removeHoverStyle(
this.lastActive[s],
this.lastActive[s]._datasetIndex,
this.lastActive[s]._index)}
if(this.active.length&&
this.options.hover.mode)
switch(this.options.hover.mode){
case"single":this.data.datasets[this.active[0]._datasetIndex].controller.setHoverStyle(this.active[0]);
break;
case"label":
case"dataset":
for(var o=0;o<this.active.length;o++)this.active[o]&&this.data.datasets[
this.active[o]._datasetIndex].controller.setHoverStyle(
this.active[o])}
if((this.options.tooltips.enabled||
this.options.tooltips.custom)&&(
this.tooltip.initialize(),this.tooltip._active=this.tooltipActive,this.tooltip.update()),this.tooltip.pivot(),!this.animating){var n;i.each(this.active,
function(t,e){t!==this.lastActive[e]&&(n=!0)},
this),i.each(this.tooltipActive,
function(t,e){t!==this.lastTooltipActive[e]&&(n=!0)},
this),(this.lastActive.length!==this.active.length||this.lastTooltipActive.length!==this.tooltipActive.length||n)&&(this.stop(),(this.options.tooltips.enabled||this.options.tooltips.custom)&&this.tooltip.update(!0),this.render(this.options.hover.animationDuration,!0))}
return this.lastActive=this.active,this.lastTooltipActive=this.tooltipActive,
this}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.DatasetController=
function(t,e){this.initialize.call(
this,t,e)},i.extend(e.DatasetController.prototype,{initialize:
function(t,e){
this.chart=t,
this.index=e,
this.linkScales(),this.addElements()},updateIndex:
function(t){this.index=t},linkScales:
function(){this.getDataset().xAxisID||(this.getDataset().xAxisID=this.chart.options.scales.xAxes[0].id),this.getDataset().yAxisID||(this.getDataset().yAxisID=this.chart.options.scales.yAxes[0].id)},getDataset:
function(){
return this.chart.data.datasets[this.index]},getScaleForId:
function(t){
return this.chart.scales[t]},reset:
function(){this.update(!0)},buildOrUpdateElements:
function(){var t=this.getDataset().data.length,e=this.getDataset().metaData.length;
if(e>t)this.getDataset().metaData.splice(t,e-t);
else if(t>e)
for(var i=e;t>i;++i)this.addElementAndReset(i)},addElements:i.noop,addElementAndReset:i.noop,draw:i.noop,removeHoverStyle:i.noop,setHoverStyle:i.noop,update:i.noop}),e.DatasetController.extend=i.inherits}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.layoutService={defaults:{},addBox:
function(t,e){t.boxes||(t.boxes=[]),t.boxes.push(e)},removeBox:
function(t,e){t.boxes&&t.boxes.splice(t.boxes.indexOf(e),1)},update:
function(t,e,a){
function s(t){var e,i=t.isHorizontal();i?(e=t.update(t.options.fullWidth?f:k,y),C-=e.height):(e=t.update(v,x),k-=e.width),D.push({horizontal:i,minSize:e,box:t})}
function o(t){var e=i.findNextWhere(D,
function(e){
return e.box===t});
if(e)
if(t.isHorizontal()){var a={left:S,right:w,top:0,bottom:0};t.update(t.options.fullWidth?f:k,e.minSize.height,a)}
else t.update(e.minSize.width,C)}
function n(t){var e=i.findNextWhere(D,
function(e){
return e.box===t}),a={left:0,right:0,top:_,bottom:A};e&&t.update(e.minSize.width,C,a)}
function r(t){t.isHorizontal()?(t.left=t.options.fullWidth?h:S,t.right=t.options.fullWidth?e-h:S+k,t.top=F,t.bottom=F+t.height,F=t.bottom):(t.left=P,t.right=P+t.width,t.top=_,t.bottom=_+C,P=t.right)}
if(t){var h=e>30?5:2,l=a>30?5:2,c=i.where(t.boxes,
function(t){
return"left"==t.options.position}),d=i.where(t.boxes,
function(t){
return"right"==t.options.position}),u=i.where(t.boxes,
function(t){
return"top"==t.options.position}),g=i.where(t.boxes,
function(t){
return"bottom"==t.options.position}),m=i.where(t.boxes,
function(t){
return"chartArea"==t.options.position});u.sort(
function(t,e){
return(e.options.fullWidth?1:0)-(t.options.fullWidth?1:0)}),g.sort(
function(t,e){
return(t.options.fullWidth?1:0)-(e.options.fullWidth?1:0)});var f=e-2*h,p=a-2*l,b=f/2,x=p/2,v=(e-b)/(c.length+d.length),y=(a-x)/(u.length+g.length),k=f,C=p,D=[];i.each(c.concat(d,u,g),s);var S=h,w=h,_=l,A=l;i.each(c.concat(d),o),i.each(c,
function(t){S+=t.width}),i.each(d,
function(t){w+=t.width}),i.each(u.concat(g),o),i.each(u,
function(t){_+=t.height}),i.each(g,
function(t){A+=t.height}),i.each(c.concat(d),n),S=h,w=h,_=l,A=l,i.each(c,
function(t){S+=t.width}),i.each(d,
function(t){w+=t.width}),i.each(u,
function(t){_+=t.height}),i.each(g,
function(t){A+=t.height});var M=a-_-A,I=e-S-w;(I!==k||M!==C)&&(i.each(c,
function(t){t.height=M}),i.each(d,
function(t){t.height=M}),i.each(u,
function(t){t.width=I}),i.each(g,
function(t){t.width=I}),C=M,k=I);var P=h,F=l;i.each(c.concat(u),r),P+=k,F+=C,i.each(d,r),i.each(g,r),t.chartArea={left:S,top:_,right:S+k,bottom:_+C},i.each(m,
function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(k,C)})}}}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.global.legend={display:!0,position:
"top",fullWidth:!0,onClick:
function(t,e){var i=this.chart.data.datasets[e.datasetIndex];i.hidden=!i.hidden,this.chart.update()},labels:{boxWidth:40,fontSize:12,fontStyle:
"normal",fontColor:
"#666",fontFamily:
"Helvetica Neue",padding:10,generateLabels:
function(t){
return t.datasets.map(
function(t,e){
return{text:t.label,fillStyle:t.backgroundColor,hidden:t.hidden,lineCap:t.borderCapStyle,lineDash:t.borderDash,lineDashOffset:t.borderDashOffset,lineJoin:t.borderJoinStyle,lineWidth:t.borderWidth,strokeStyle:t.borderColor,datasetIndex:e}},
this)}}},e.Legend=e.Element.extend({initialize:
function(t){i.extend(
this,t),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:i.noop,update:
function(t,e,i){
return this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this.margins=i,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this.beforeBuildLabels(),this.buildLabels(),this.afterBuildLabels(),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate(),this.minSize},afterUpdate:i.noop,beforeSetDimensions:i.noop,setDimensions:
function(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0,this.minSize={width:0,height:0}},afterSetDimensions:i.noop,beforeBuildLabels:i.noop,buildLabels:
function(){this.legendItems=this.options.labels.generateLabels.call(
this,this.chart.data)},afterBuildLabels:i.noop,beforeFit:i.noop,fit:
function(){var t=this.ctx,e=i.fontString(this.options.labels.fontSize,
this.options.labels.fontStyle,
this.options.labels.fontFamily);
if(this.legendHitBoxes=[],this.isHorizontal()?this.minSize.width=
this.maxWidth:
this.minSize.width=
this.options.display?10:0,
this.isHorizontal()?this.minSize.height=this.options.display?10:0:this.minSize.height=this.maxHeight,this.options.display&&this.isHorizontal()){this.lineWidths=[0];var a=this.legendItems.length?this.options.labels.fontSize+this.options.labels.padding:0;t.textAlign=
"left",t.textBaseline=
"top",t.font=e,i.each(this.legendItems,
function(e,i){var s=this.options.labels.boxWidth+this.options.labels.fontSize/2+t.measureText(e.text).width;this.lineWidths[this.lineWidths.length-1]+s>=this.width&&(a+=this.options.labels.fontSize+this.options.labels.padding,this.lineWidths[this.lineWidths.length]=this.left),this.legendHitBoxes[i]={left:0,top:0,width:s,height:this.options.labels.fontSize},this.lineWidths[this.lineWidths.length-1]+=s+this.options.labels.padding},
this),this.minSize.height+=a}this.width=this.minSize.width,this.height=this.minSize.height},afterFit:i.noop,isHorizontal:
function(){
return"top"==this.options.position||
"bottom"==this.options.position},draw:
function(){
if(this.options.display){var t=this.ctx,a={x:this.left+(this.width-this.lineWidths[0])/2,y:this.top+this.options.labels.padding,line:0},s=i.fontString(this.options.labels.fontSize,
this.options.labels.fontStyle,
this.options.labels.fontFamily);this.isHorizontal()&&(t.textAlign=
"left",t.textBaseline=
"top",t.lineWidth=.5,t.strokeStyle=this.options.labels.fontColor,t.fillStyle=this.options.labels.fontColor,t.font=s,i.each(this.legendItems,
function(i,s){var o=t.measureText(i.text).width,n=this.options.labels.boxWidth+this.options.labels.fontSize/2+o;a.x+n>=this.width&&(a.y+=this.options.labels.fontSize+this.options.labels.padding,a.line++,a.x=this.left+(this.width-this.lineWidths[a.line])/2),t.save();var r=
function(t,e){
return void 0!==t?t:e};t.fillStyle=r(i.fillStyle,e.defaults.global.defaultColor),t.lineCap=r(i.lineCap,e.defaults.global.elements.line.borderCapStyle),t.lineDashOffset=r(i.lineDashOffset,e.defaults.global.elements.line.borderDashOffset),t.lineJoin=r(i.lineJoin,e.defaults.global.elements.line.borderJoinStyle),t.lineWidth=r(i.lineWidth,e.defaults.global.elements.line.borderWidth),t.strokeStyle=r(i.strokeStyle,e.defaults.global.defaultColor),t.setLineDash&&t.setLineDash(r(i.lineDash,e.defaults.global.elements.line.borderDash)),t.strokeRect(a.x,a.y,
this.options.labels.boxWidth,
this.options.labels.fontSize),t.fillRect(a.x,a.y,
this.options.labels.boxWidth,
this.options.labels.fontSize),t.restore(),this.legendHitBoxes[s].left=a.x,this.legendHitBoxes[s].top=a.y,t.fillText(i.text,
this.options.labels.boxWidth+
this.options.labels.fontSize/2+a.x,a.y),i.hidden&&(t.beginPath(),t.lineWidth=2,t.moveTo(this.options.labels.boxWidth+
this.options.labels.fontSize/2+a.x,a.y+
this.options.labels.fontSize/2),t.lineTo(this.options.labels.boxWidth+
this.options.labels.fontSize/2+a.x+o,a.y+
this.options.labels.fontSize/2),t.stroke()),a.x+=n+
this.options.labels.padding},
this))}},handleEvent:
function(t){var e=i.getRelativePosition(t,this.chart.chart);
if(e.x>=
this.left&&e.x<=
this.right&&e.y>=
this.top&&e.y<=
this.bottom)
for(var a=0;a<this.legendHitBoxes.length;++a){var s=this.legendHitBoxes[a];
if(e.x>=s.left&&e.x<=s.left+s.width&&e.y>=s.top&&e.y<=s.top+s.height){this.options.onClick&&this.options.onClick.call(
this,t,this.legendItems[a]);
break}}}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.scale={display:!0,gridLines:{display:!0,color:
"rgba(0, 0, 0, 0.1)",lineWidth:1,drawOnChartArea:!0,drawTicks:!0,zeroLineWidth:1,zeroLineColor:
"rgba(0,0,0,0.25)",offsetGridLines:!1},scaleLabel:{fontColor:
"#666",fontFamily:
"Helvetica Neue",fontSize:12,fontStyle:
"normal",labelString:
"",display:!1},ticks:{beginAtZero:!1,fontSize:12,fontStyle:
"normal",fontColor:
"#666",fontFamily:
"Helvetica Neue",maxRotation:90,mirror:!1,padding:10,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:20,callback:
function(t){
return""+t}}},e.Scale=e.Element.extend({beforeUpdate:
function(){i.callCallback(this.options.beforeUpdate,[
this])},update:
function(t,e,a){
return this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this.margins=i.extend({left:0,right:0,top:0,bottom:0},a),this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this.beforeBuildTicks(),this.buildTicks(),this.afterBuildTicks(),this.beforeTickToLabelConversion(),this.convertTicksToLabels(),this.afterTickToLabelConversion(),this.beforeCalculateTickRotation(),this.calculateTickRotation(),this.afterCalculateTickRotation(),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate(),this.minSize},afterUpdate:
function(){i.callCallback(this.options.afterUpdate,[
this])},beforeSetDimensions:
function(){i.callCallback(this.options.beforeSetDimensions,[
this])},setDimensions:
function(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0},afterSetDimensions:
function(){i.callCallback(this.options.afterSetDimensions,[
this])},beforeDataLimits:
function(){i.callCallback(this.options.beforeDataLimits,[
this])},determineDataLimits:i.noop,afterDataLimits:
function(){i.callCallback(this.options.afterDataLimits,[
this])},beforeBuildTicks:
function(){i.callCallback(this.options.beforeBuildTicks,[
this])},buildTicks:i.noop,afterBuildTicks:
function(){i.callCallback(this.options.afterBuildTicks,[
this])},beforeTickToLabelConversion:
function(){i.callCallback(this.options.beforeTickToLabelConversion,[
this])},convertTicksToLabels:
function(){this.ticks=this.ticks.map(
function(t,e,i){
return this.options.ticks.userCallback?this.options.ticks.userCallback(t,e,i):this.options.ticks.callback(t,e,i)},
this)},afterTickToLabelConversion:
function(){i.callCallback(this.options.afterTickToLabelConversion,[
this])},beforeCalculateTickRotation:
function(){i.callCallback(this.options.beforeCalculateTickRotation,[
this])},calculateTickRotation:
function(){var t=i.fontString(this.options.ticks.fontSize,
this.options.ticks.fontStyle,
this.options.ticks.fontFamily);this.ctx.font=t;var e,a,s=this.ctx.measureText(this.ticks[0]).width,o=this.ctx.measureText(this.ticks[this.ticks.length-1]).width;
if(this.paddingRight=o/2+3,this.paddingLeft=s/2+3,this.labelRotation=0,this.options.display&&
this.isHorizontal()){var n,r,h=i.longestText(this.ctx,t,this.ticks);this.labelWidth=h;
for(var l=this.getPixelForTick(1)-this.getPixelForTick(0)-6;this.labelWidth>l&&this.labelRotation<this.options.ticks.maxRotation;){
if(n=Math.cos(i.toRadians(
this.labelRotation)),r=Math.sin(i.toRadians(
this.labelRotation)),e=n*s,a=n*o,e+this.options.ticks.fontSize/2>
this.yLabelWidth&&(
this.paddingLeft=e+
this.options.ticks.fontSize/2),this.paddingRight=this.options.ticks.fontSize/2,r*h>this.maxHeight){this.labelRotation--;
break}this.labelRotation++,this.labelWidth=n*h}}
else this.labelWidth=0,this.paddingRight=0,this.paddingLeft=0;this.margins&&(this.paddingLeft-=this.margins.left,this.paddingRight-=this.margins.right,this.paddingLeft=Math.max(this.paddingLeft,0),this.paddingRight=Math.max(this.paddingRight,0))},afterCalculateTickRotation:
function(){i.callCallback(this.options.afterCalculateTickRotation,[
this])},beforeFit:
function(){i.callCallback(this.options.beforeFit,[
this])},fit:
function(){
if(this.minSize={width:0,height:0},this.isHorizontal()?this.minSize.width=this.isFullWidth()?this.maxWidth-this.margins.left-this.margins.right:this.maxWidth:this.minSize.width=this.options.gridLines.display&&this.options.display?10:0,this.isHorizontal()?this.minSize.height=this.options.gridLines.display&&this.options.display?10:0:this.minSize.height=this.maxHeight,this.options.scaleLabel.display&&(this.isHorizontal()?this.minSize.height+=1.5*this.options.scaleLabel.fontSize:this.minSize.width+=1.5*this.options.scaleLabel.fontSize),this.options.ticks.display&&
this.options.display){var t=i.fontString(this.options.ticks.fontSize,
this.options.ticks.fontStyle,
this.options.ticks.fontFamily);
if(this.isHorizontal()){this.longestLabelWidth=i.longestText(this.ctx,t,this.ticks);var e=Math.sin(i.toRadians(
this.labelRotation))*this.longestLabelWidth+1.5*this.options.ticks.fontSize;
this.minSize.height=Math.min(
this.maxHeight,
this.minSize.height+e),t=i.fontString(this.options.ticks.fontSize,
this.options.ticks.fontStyle,
this.options.ticks.fontFamily),this.ctx.font=t;var a=this.ctx.measureText(this.ticks[0]).width,s=this.ctx.measureText(this.ticks[this.ticks.length-1]).width,o=Math.cos(i.toRadians(
this.labelRotation)),n=Math.sin(i.toRadians(
this.labelRotation));this.paddingLeft=0!==this.labelRotation?o*a+3:a/2+3,this.paddingRight=0!==this.labelRotation?n*(this.options.ticks.fontSize/2)+3:s/2+3}
else{var r=this.maxWidth-this.minSize.width,h=i.longestText(this.ctx,t,this.ticks);this.options.ticks.mirror||(h+=this.options.ticks.padding),r>h?this.minSize.width+=h:
this.minSize.width=
this.maxWidth,
this.paddingTop=
this.options.ticks.fontSize/2,
this.paddingBottom=
this.options.ticks.fontSize/2}}this.margins&&(this.paddingLeft-=this.margins.left,this.paddingTop-=this.margins.top,this.paddingRight-=this.margins.right,this.paddingBottom-=this.margins.bottom,this.paddingLeft=Math.max(this.paddingLeft,0),this.paddingTop=Math.max(this.paddingTop,0),this.paddingRight=Math.max(this.paddingRight,0),this.paddingBottom=Math.max(this.paddingBottom,0)),this.width=this.minSize.width,
this.height=
this.minSize.height},afterFit:
function(){i.callCallback(this.options.afterFit,[
this])},isHorizontal:
function(){
return"top"===this.options.position||
"bottom"===this.options.position},isFullWidth:
function(){
return this.options.fullWidth},getRightValue:
function a(t){
return null===t||
"undefined"==typeof t?NaN:
"number"==typeof t&&isNaN(t)?NaN:
"object"==typeof t?t instanceof Date?t:a(this.isHorizontal()?t.x:t.y):t},getLabelForIndex:i.noop,getPixelForValue:i.noop,getPixelForTick:function(t,e){
if(this.isHorizontal()){var i=this.width-(this.paddingLeft+this.paddingRight),a=i/Math.max(
this.ticks.length-(
this.options.gridLines.offsetGridLines?0:1),1),s=a*t+this.paddingLeft;e&&(s+=a/2);var o=this.left+Math.round(s);
39 return o+=this.isFullWidth()?this.margins.left:0}var n=this.height-(this.paddingTop+this.paddingBottom);
return this.top+t*(n/(this.ticks.length-1))},getPixelForDecimal:
function(t){
if(this.isHorizontal()){var e=this.width-(this.paddingLeft+this.paddingRight),i=e*t+this.paddingLeft,a=this.left+Math.round(i);
return a+=this.isFullWidth()?this.margins.left:0}
return this.top+t*this.height},draw:
function(t){
if(this.options.display){var e,a,s,o,n=0!==this.labelRotation,r=this.options.ticks.autoSkip;this.ctx.fillStyle=this.options.ticks.fontColor;var h=i.fontString(this.options.ticks.fontSize,
this.options.ticks.fontStyle,
this.options.ticks.fontFamily),l=Math.cos(i.toRadians(
this.labelRotation)),c=Math.sin(i.toRadians(
this.labelRotation)),d=this.longestLabelWidth*l;this.options.ticks.fontSize*c;
if(this.isHorizontal()){e=!0;var u=
"bottom"===this.options.position?this.top:this.bottom-10,g=
"bottom"===this.options.position?this.top+10:this.bottom;a=!1,(d/2+this.options.ticks.autoSkipPadding)*this.ticks.length>
this.width-(
this.paddingLeft+
this.paddingRight)&&(a=1+Math.floor((d/2+this.options.ticks.autoSkipPadding)*
this.ticks.length/(
this.width-(
this.paddingLeft+
this.paddingRight)))),r||(a=!1),i.each(this.ticks,
function(s,o){
if(!(a>1&&o%a>0||
void 0===s||null===s)){var r=this.getPixelForTick(o),l=this.getPixelForTick(o,this.options.gridLines.offsetGridLines);this.options.gridLines.display&&(o===(
"undefined"!=typeof this.zeroLineIndex?this.zeroLineIndex:0)?(this.ctx.lineWidth=
this.options.gridLines.zeroLineWidth,
this.ctx.strokeStyle=
this.options.gridLines.zeroLineColor,e=!0):e&&(this.ctx.lineWidth=this.options.gridLines.lineWidth,this.ctx.strokeStyle=this.options.gridLines.color,e=!1),r+=i.aliasPixel(
this.ctx.lineWidth),this.ctx.beginPath(),this.options.gridLines.drawTicks&&(this.ctx.moveTo(r,u),this.ctx.lineTo(r,g)),this.options.gridLines.drawOnChartArea&&(
this.ctx.moveTo(r,t.top),this.ctx.lineTo(r,t.bottom)),this.ctx.stroke()),this.options.ticks.display&&(
this.ctx.save(),this.ctx.translate(l,n?this.top+12:
"top"===this.options.position?
this.bottom-10:
this.top+10),this.ctx.rotate(-1*i.toRadians(
this.labelRotation)),this.ctx.font=h,
this.ctx.textAlign=n?
"right":
"center",
this.ctx.textBaseline=n?
"middle":
"top"===
this.options.position?
"bottom":
"top",
this.ctx.fillText(s,0,0),this.ctx.restore())}},
this),this.options.scaleLabel.display&&(this.ctx.textAlign=
"center",this.ctx.textBaseline=
"middle",this.ctx.fillStyle=this.options.scaleLabel.fontColor,this.ctx.font=i.fontString(this.options.scaleLabel.fontSize,
this.options.scaleLabel.fontStyle,
this.options.scaleLabel.fontFamily),s=this.left+(this.right-this.left)/2,o=
"bottom"===this.options.position?
this.bottom-
this.options.scaleLabel.fontSize/2:
this.top+
this.options.scaleLabel.fontSize/2,
this.ctx.fillText(
this.options.scaleLabel.labelString,s,o))}
else{e=!0;var m=
"right"===this.options.position?this.left:this.right-5,f=
"right"===this.options.position?this.left+5:this.right;
if(i.each(
this.ticks,
function(a,s){
if(
void 0!==a&&null!==a){var o=
this.getPixelForTick(s);
if(this.options.gridLines.display&&(s===(
"undefined"!=typeof
this.zeroLineIndex?
this.zeroLineIndex:0)?(
this.ctx.lineWidth=
this.options.gridLines.zeroLineWidth,
this.ctx.strokeStyle=
this.options.gridLines.zeroLineColor,e=!0):e&&(
this.ctx.lineWidth=
this.options.gridLines.lineWidth,
this.ctx.strokeStyle=
this.options.gridLines.color,e=!1),o+=i.aliasPixel(
this.ctx.lineWidth),this.ctx.beginPath(),this.options.gridLines.drawTicks&&(this.ctx.moveTo(m,o),this.ctx.lineTo(f,o)),this.options.gridLines.drawOnChartArea&&(
this.ctx.moveTo(t.left,o),this.ctx.lineTo(t.right,o)),this.ctx.stroke()),this.options.ticks.display){var n,r=this.getPixelForTick(s,this.options.gridLines.offsetGridLines);this.ctx.save(),
"left"===this.options.position?this.options.ticks.mirror?(n=this.right+this.options.ticks.padding,this.ctx.textAlign=
"left"):(n=this.right-this.options.ticks.padding,
this.ctx.textAlign=
"right"):this.options.ticks.mirror?(n=this.left-this.options.ticks.padding,this.ctx.textAlign=
"right"):(n=this.left+this.options.ticks.padding,
this.ctx.textAlign=
"left"),this.ctx.translate(n,r),this.ctx.rotate(-1*i.toRadians(
this.labelRotation)),this.ctx.font=h,
this.ctx.textBaseline=
"middle",
this.ctx.fillText(a,0,0),this.ctx.restore()}}},
this),this.options.scaleLabel.display){s=
"left"===this.options.position?this.left+this.options.scaleLabel.fontSize/2:this.right-this.options.scaleLabel.fontSize/2,o=this.top+(this.bottom-this.top)/2;var p=
"left"===this.options.position?-.5*Math.PI:.5*Math.PI;this.ctx.save(),this.ctx.translate(s,o),this.ctx.rotate(p),this.ctx.textAlign=
"center",this.ctx.fillStyle=this.options.scaleLabel.fontColor,this.ctx.font=i.fontString(this.options.scaleLabel.fontSize,
this.options.scaleLabel.fontStyle,
this.options.scaleLabel.fontFamily),this.ctx.textBaseline=
"middle",this.ctx.fillText(this.options.scaleLabel.labelString,0,0),this.ctx.restore()}}}}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.scaleService={constructors:{},defaults:{},registerScaleType:
function(t,e,a){this.constructors[t]=e,this.defaults[t]=i.clone(a)},getScaleConstructor:
function(t){
return this.constructors.hasOwnProperty(t)?this.constructors[t]:
void 0},getScaleDefaults:
function(t){
return this.defaults.hasOwnProperty(t)?i.scaleMerge(e.defaults.scale,
this.defaults[t]):{}},addScalesToLayout:
function(t){i.each(t.scales,
function(i){e.layoutService.addBox(t,i)})}}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.global.title={display:!1,position:
"top",fullWidth:!0,fontColor:
"#666",fontFamily:
"Helvetica Neue",fontSize:12,fontStyle:
"bold",padding:10,text:
""},e.Title=e.Element.extend({initialize:
function(t){i.extend(
this,t),this.options=i.configMerge(e.defaults.global.title,t.options),this.legendHitBoxes=[]},beforeUpdate:i.noop,update:
function(t,e,i){
return this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this.margins=i,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this.beforeBuildLabels(),this.buildLabels(),this.afterBuildLabels(),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate(),this.minSize},afterUpdate:i.noop,beforeSetDimensions:i.noop,setDimensions:
function(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0,this.minSize={width:0,height:0}},afterSetDimensions:i.noop,beforeBuildLabels:i.noop,buildLabels:i.noop,afterBuildLabels:i.noop,beforeFit:i.noop,fit:
function(){this.ctx,i.fontString(this.options.fontSize,
this.options.fontStyle,
this.options.fontFamily);this.isHorizontal()?this.minSize.width=this.maxWidth:this.minSize.width=0,this.isHorizontal()?this.minSize.height=0:this.minSize.height=this.maxHeight,this.isHorizontal()&&this.options.display&&(this.minSize.height+=this.options.fontSize+2*this.options.padding),this.width=this.minSize.width,
this.height=
this.minSize.height},afterFit:i.noop,isHorizontal:
function(){
return"top"==this.options.position||
"bottom"==this.options.position},draw:
function(){
if(this.options.display){var t,e,a=this.ctx;
if(this.isHorizontal())this.options.display&&(a.textAlign=
"center",a.textBaseline=
"middle",a.fillStyle=
this.options.fontColor,a.font=i.fontString(
this.options.fontSize,
this.options.fontStyle,
this.options.fontFamily),t=this.left+(this.right-this.left)/2,e=this.top+(this.bottom-this.top)/2,a.fillText(this.options.text,t,e));
else if(this.options.display){t=
"left"==this.options.position?this.left+this.options.fontSize/2:this.right-this.options.fontSize/2,e=this.top+(this.bottom-this.top)/2;var s=
"left"==this.options.position?-.5*Math.PI:.5*Math.PI;a.save(),a.translate(t,e),a.rotate(s),a.textAlign=
"center",a.fillStyle=this.options.fontColor,a.font=i.fontString(this.options.fontSize,
this.options.fontStyle,
this.options.fontFamily),a.textBaseline=
"middle",a.fillText(this.options.text,0,0),a.restore()}}}})}.call(
this),
function(){
"use strict";
function t(t,e){
return e&&(a.isArray(e)?t=t.concat(e):t.push(e)),t}var e=
this,i=e.Chart,a=i.helpers;i.defaults.global.tooltips={enabled:!0,custom:null,mode:
"single",backgroundColor:
"rgba(0,0,0,0.8)",titleFontFamily:
"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",titleFontSize:12,titleFontStyle:
"bold",titleSpacing:2,titleMarginBottom:6,titleColor:
"#fff",titleAlign:
"left",bodyFontFamily:
"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",bodyFontSize:12,bodyFontStyle:
"normal",bodySpacing:2,bodyColor:
"#fff",bodyAlign:
"left",footerFontFamily:
"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",footerFontSize:12,footerFontStyle:
"bold",footerSpacing:2,footerMarginTop:6,footerColor:
"#fff",footerAlign:
"left",yPadding:6,xPadding:6,caretSize:5,cornerRadius:6,multiKeyBackground:
"#fff",callbacks:{beforeTitle:a.noop,title:
function(t,e){var i=
"";
return t.length>0&&(t[0].xLabel?i=t[0].xLabel:e.labels.length>0&&t[0].index<e.labels.length&&(i=e.labels[t[0].index])),i},afterTitle:a.noop,beforeBody:a.noop,beforeLabel:a.noop,label:
function(t,e){var i=e.datasets[t.datasetIndex].label||
"";
return i+
": "+t.yLabel},afterLabel:a.noop,afterBody:a.noop,beforeFooter:a.noop,footer:a.noop,afterFooter:a.noop}},i.Tooltip=i.Element.extend({initialize:
function(){var t=this._options;a.extend(
this,{_model:{xPadding:t.tooltips.xPadding,yPadding:t.tooltips.yPadding,bodyColor:t.tooltips.bodyColor,_bodyFontFamily:t.tooltips.bodyFontFamily,_bodyFontStyle:t.tooltips.bodyFontStyle,_bodyAlign:t.tooltips.bodyAlign,bodyFontSize:t.tooltips.bodyFontSize,bodySpacing:t.tooltips.bodySpacing,titleColor:t.tooltips.titleColor,_titleFontFamily:t.tooltips.titleFontFamily,_titleFontStyle:t.tooltips.titleFontStyle,titleFontSize:t.tooltips.titleFontSize,_titleAlign:t.tooltips.titleAlign,titleSpacing:t.tooltips.titleSpacing,titleMarginBottom:t.tooltips.titleMarginBottom,footerColor:t.tooltips.footerColor,_footerFontFamily:t.tooltips.footerFontFamily,_footerFontStyle:t.tooltips.footerFontStyle,footerFontSize:t.tooltips.footerFontSize,_footerAlign:t.tooltips.footerAlign,footerSpacing:t.tooltips.footerSpacing,footerMarginTop:t.tooltips.footerMarginTop,caretSize:t.tooltips.caretSize,cornerRadius:t.tooltips.cornerRadius,backgroundColor:t.tooltips.backgroundColor,opacity:0,legendColorBackground:t.tooltips.multiKeyBackground}})},getTitle:
function(){var e=this._options.tooltips.callbacks.beforeTitle.apply(
this,arguments),i=this._options.tooltips.callbacks.title.apply(
this,arguments),a=this._options.tooltips.callbacks.afterTitle.apply(
this,arguments),s=[];
return s=t(s,e),s=t(s,i),s=t(s,a)},getBeforeBody:
function(){var t=this._options.tooltips.callbacks.beforeBody.apply(
this,arguments);
return a.isArray(t)?t:
void 0!==t?[t]:[]},getBody:
function(t,e){var i=[];
return a.each(t,
function(t){var a=this._options.tooltips.callbacks.beforeLabel.call(
this,t,e)||
"",s=this._options.tooltips.callbacks.label.call(
this,t,e)||
"",o=this._options.tooltips.callbacks.afterLabel.call(
this,t,e)||
"";i.push(a+s+o)},
this),i},getAfterBody:
function(){var t=this._options.tooltips.callbacks.afterBody.apply(
this,arguments);
return a.isArray(t)?t:
void 0!==t?[t]:[]},getFooter:
function(){var e=this._options.tooltips.callbacks.beforeFooter.apply(
this,arguments),i=this._options.tooltips.callbacks.footer.apply(
this,arguments),a=this._options.tooltips.callbacks.afterFooter.apply(
this,arguments),s=[];
return s=t(s,e),s=t(s,i),s=t(s,a)},getAveragePosition:
function(t){
if(!t.length)
return!1;var e=[],i=[];a.each(t,
function(t){
if(t){var a=t.tooltipPosition();e.push(a.x),i.push(a.y)}});
for(var s=0,o=0,n=0;n<e.length;n++)s+=e[n],o+=i[n];
return{x:Math.round(s/e.length),y:Math.round(o/e.length)}},update:
function(t){
if(this._active.length){this._model.opacity=1;var e,i=this._active[0],s=[],o=[];
if(
"single"===this._options.tooltips.mode){var n=i._yScale||i._scale;o.push({xLabel:i._xScale?i._xScale.getLabelForIndex(i._index,i._datasetIndex):
"",yLabel:n?n.getLabelForIndex(i._index,i._datasetIndex):
"",index:i._index,datasetIndex:i._datasetIndex}),e=this.getAveragePosition(this._active)}
else a.each(this._data.datasets,
function(t,e){
if(a.isDatasetVisible(t)){var s=t.metaData[i._index];
if(s){var n=i._yScale||i._scale;o.push({xLabel:s._xScale?s._xScale.getLabelForIndex(s._index,s._datasetIndex):
"",yLabel:n?n.getLabelForIndex(s._index,s._datasetIndex):
"",index:i._index,datasetIndex:e})}}}),a.each(this._active,
function(t){t&&s.push({borderColor:t._view.borderColor,backgroundColor:t._view.backgroundColor})},
this),e=this.getAveragePosition(this._active),e.y=this._active[0]._yScale.getPixelForDecimal(.5);a.extend(this._model,{title:this.getTitle(o,this._data),beforeBody:this.getBeforeBody(o,this._data),body:this.getBody(o,this._data),afterBody:this.getAfterBody(o,this._data),footer:this.getFooter(o,this._data)}),a.extend(
this._model,{x:Math.round(e.x),y:Math.round(e.y),caretPadding:a.getValueOrDefault(e.padding,2),labelColors:s});var r=this.getTooltipSize(this._model);this.determineAlignment(r),a.extend(this._model,this.getBackgroundPoint(this._model,r))}
else this._model.opacity=0;
return t&&this._options.tooltips.custom&&this._options.tooltips.custom.call(
this,this._model),
this},getTooltipSize:
function(t){var e=this._chart.ctx,i={height:2*t.yPadding,width:0},s=t.body.length+t.beforeBody.length+t.afterBody.length;
return i.height+=t.title.length*t.titleFontSize,i.height+=(t.title.length-1)*t.titleSpacing,i.height+=t.title.length?t.titleMarginBottom:0,i.height+=s*t.bodyFontSize,i.height+=s?(s-1)*t.bodySpacing:0,i.height+=t.footer.length?t.footerMarginTop:0,i.height+=t.footer.length*t.footerFontSize,i.height+=t.footer.length?(t.footer.length-1)*t.footerSpacing:0,e.font=a.fontString(t.titleFontSize,t._titleFontStyle,t._titleFontFamily),a.each(t.title,
function(t){i.width=Math.max(i.width,e.measureText(t).width)}),e.font=a.fontString(t.bodyFontSize,t._bodyFontStyle,t._bodyFontFamily),a.each(t.beforeBody.concat(t.afterBody),
function(t){i.width=Math.max(i.width,e.measureText(t).width)},
this),a.each(t.body,
function(a){i.width=Math.max(i.width,e.measureText(a).width+(
"single"!==this._options.tooltips.mode?t.bodyFontSize+2:0))},
this),e.font=a.fontString(t.footerFontSize,t._footerFontStyle,t._footerFontFamily),a.each(t.footer,
function(t){i.width=Math.max(i.width,e.measureText(t).width)}),i.width+=2*t.xPadding,i},determineAlignment:
function(t){this._model.xAlign=this._model.yAlign=
"center",this._model.y<t.height?this._model.yAlign=
"top":this._model.y>this._chart.height-t.height&&(this._model.yAlign=
"bottom");var e,i,a=
this,s=(this._chartInstance.chartArea.left+this._chartInstance.chartArea.right)/2;
"center"===this._model.yAlign?(e=
function(t){
return s>=t},i=
function(t){
return t>s}):(e=
function(e){
return e<=t.width/2},i=
function(e){
return e>=a._chart.width-t.width/2}),e(this._model.x)?this._model.xAlign=
"left":i(this._model.x)&&(this._model.xAlign=
"right")},getBackgroundPoint:
function(t,e){var i={x:t.x,y:t.y};
return"right"===t.xAlign?i.x-=e.width:
"center"===t.xAlign&&(i.x-=e.width/2),
"top"===t.yAlign?i.y+=t.caretPadding+t.caretSize:
"bottom"===t.yAlign?i.y-=e.height+t.caretPadding+t.caretSize:i.y-=e.height/2,
"center"==t.yAlign?
"left"===t.xAlign?i.x+=t.caretPadding+t.caretSize:
"right"===t.xAlign&&(i.x-=t.caretPadding+t.caretSize):
"left"===t.xAlign?i.x-=t.cornerRadius+t.caretPadding:
"right"===t.xAlign&&(i.x+=t.cornerRadius+t.caretPadding),i},drawCaret:
function(t,e,i,s){var o,n,r,h,l,c,d=this._view,u=this._chart.ctx;
"center"===d.yAlign?(
"left"===d.xAlign?(o=t.x,n=o-d.caretSize,r=o):(o=t.x+e.width,n=o+d.caretSize,r=o),l=t.y+e.height/2,h=l-d.caretSize,c=l+d.caretSize):(
"left"===d.xAlign?(o=t.x+d.cornerRadius,n=o+d.caretSize,r=n+d.caretSize):
"right"===d.xAlign?(o=t.x+e.width-d.cornerRadius,n=o-d.caretSize,r=n-d.caretSize):(n=t.x+e.width/2,o=n-d.caretSize,r=n+d.caretSize),
"top"===d.yAlign?(h=t.y,l=h-d.caretSize,c=h):(h=t.y+e.height,l=h+d.caretSize,c=h)),u.fillStyle=a.color(d.backgroundColor).alpha(i).rgbString(),u.beginPath(),u.moveTo(o,h),u.lineTo(n,l),u.lineTo(r,c),u.closePath(),u.fill()},drawTitle:
function(t,e,i,s){e.title.length&&(i.textAlign=e._titleAlign,i.textBaseline=
"top",i.fillStyle=a.color(e.titleColor).alpha(s).rgbString(),i.font=a.fontString(e.titleFontSize,e._titleFontStyle,e._titleFontFamily),a.each(e.title,
function(a,s){i.fillText(a,t.x,t.y),t.y+=e.titleFontSize+e.titleSpacing,s+1===e.title.length&&(t.y+=e.titleMarginBottom-e.titleSpacing)},
this))},drawBody:
function(t,e,i,s){i.textAlign=e._bodyAlign,i.textBaseline=
"top",i.fillStyle=a.color(e.bodyColor).alpha(s).rgbString(),i.font=a.fontString(e.bodyFontSize,e._bodyFontStyle,e._bodyFontFamily),a.each(e.beforeBody,
function(a){i.fillText(a,t.x,t.y),t.y+=e.bodyFontSize+e.bodySpacing}),a.each(e.body,
function(o,n){
"single"!==
this._options.tooltips.mode&&(i.fillStyle=a.color(e.legendColorBackground).alpha(s).rgbaString(),i.fillRect(t.x,t.y,e.bodyFontSize,e.bodyFontSize),i.strokeStyle=a.color(e.labelColors[n].borderColor).alpha(s).rgbaString(),i.strokeRect(t.x,t.y,e.bodyFontSize,e.bodyFontSize),i.fillStyle=a.color(e.labelColors[n].backgroundColor).alpha(s).rgbaString(),i.fillRect(t.x+1,t.y+1,e.bodyFontSize-2,e.bodyFontSize-2),i.fillStyle=a.color(e.bodyColor).alpha(s).rgbaString()),i.fillText(o,t.x+(
"single"!==
this._options.tooltips.mode?e.bodyFontSize+2:0),t.y),t.y+=e.bodyFontSize+e.bodySpacing},
this),a.each(e.afterBody,
function(a){i.fillText(a,t.x,t.y),t.y+=e.bodyFontSize}),t.y-=e.bodySpacing},drawFooter:
function(t,e,i,s){e.footer.length&&(t.y+=e.footerMarginTop,i.textAlign=e._footerAlign,i.textBaseline=
"top",i.fillStyle=a.color(e.footerColor).alpha(s).rgbString(),i.font=a.fontString(e.footerFontSize,e._footerFontStyle,e._footerFontFamily),a.each(e.footer,
function(a){i.fillText(a,t.x,t.y),t.y+=e.footerFontSize+e.footerSpacing},
this))},draw:
function(){var t=this._chart.ctx,e=this._view;
if(0!==e.opacity){var i=e.caretPadding,s=this.getTooltipSize(e),o={x:e.x,y:e.y},n=Math.abs(e.opacity<.001)?0:e.opacity;this._options.tooltips.enabled&&(t.fillStyle=a.color(e.backgroundColor).alpha(n).rgbString(),a.drawRoundedRectangle(t,o.x,o.y,s.width,s.height,e.cornerRadius),t.fill(),this.drawCaret(o,s,n,i),o.x+=e.xPadding,o.y+=e.yPadding,this.drawTitle(o,e,t,n),this.drawBody(o,e,t,n),this.drawFooter(o,e,t,n))}}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.bar={hover:{mode:
"label"},scales:{xAxes:[{type:
"category",categoryPercentage:.8,barPercentage:.9,gridLines:{offsetGridLines:!0}}],yAxes:[{type:
"linear"}]}},e.controllers.bar=e.DatasetController.extend({initialize:
function(t,i){e.DatasetController.prototype.initialize.call(
this,t,i),this.getDataset().bar=!0},getBarCount:
function(){var t=0;
return i.each(this.chart.data.datasets,
function(e){i.isDatasetVisible(e)&&e.bar&&++t},
this),t},addElements:
function(){this.getDataset().metaData=this.getDataset().metaData||[],i.each(this.getDataset().data,
function(t,i){this.getDataset().metaData[i]=this.getDataset().metaData[i]||
new e.elements.Rectangle({_chart:this.chart.chart,_datasetIndex:this.index,_index:i})},
this)},addElementAndReset:
function(t){this.getDataset().metaData=this.getDataset().metaData||[];var i=
new e.elements.Rectangle({_chart:this.chart.chart,_datasetIndex:this.index,_index:t}),a=this.getBarCount();this.updateElement(i,t,!0,a),this.getDataset().metaData.splice(t,0,i)},update:
function(t){var e=this.getBarCount();i.each(this.getDataset().metaData,
function(i,a){this.updateElement(i,a,t,e)},
this)},updateElement:
function(t,e,a,s){var o,n=this.getScaleForId(this.getDataset().xAxisID),r=this.getScaleForId(this.getDataset().yAxisID);o=r.min<0&&r.max<0?r.getPixelForValue(r.max):r.min>0&&r.max>0?r.getPixelForValue(r.min):r.getPixelForValue(0),i.extend(t,{_chart:this.chart.chart,_xScale:n,_yScale:r,_datasetIndex:this.index,_index:e,_model:{x:this.calculateBarX(e,this.index),y:a?o:this.calculateBarY(e,this.index),label:this.chart.data.labels[e],datasetLabel:this.getDataset().label,base:this.calculateBarBase(this.index,e),width:this.calculateBarWidth(s),backgroundColor:t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.rectangle.backgroundColor),borderColor:t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.rectangle.borderColor),borderWidth:t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.rectangle.borderWidth)}}),t.pivot()},calculateBarBase:
function(t,e){var a=(this.getScaleForId(this.getDataset().xAxisID),this.getScaleForId(this.getDataset().yAxisID)),s=0;
if(a.options.stacked){var o=this.chart.data.datasets[t].data[e];
if(0>o)
for(var n=0;t>n;n++){var r=this.chart.data.datasets[n];i.isDatasetVisible(r)&&r.yAxisID===a.id&&(s+=r.data[e]<0?r.data[e]:0)}
else for(var h=0;t>h;h++){var l=this.chart.data.datasets[h];i.isDatasetVisible(l)&&l.yAxisID===a.id&&(s+=l.data[e]>0?l.data[e]:0)}
return a.getPixelForValue(s)}
return s=a.getPixelForValue(a.min),a.beginAtZero||a.min<=0&&a.max>=0||a.min>=0&&a.max<=0?s=a.getPixelForValue(0,0):a.min<0&&a.max<0&&(s=a.getPixelForValue(a.max)),s},getRuler:
function(){var t=this.getScaleForId(this.getDataset().xAxisID),e=(this.getScaleForId(this.getDataset().yAxisID),this.getBarCount()),i=
function(){
for(var e=t.getPixelForTick(1)-t.getPixelForTick(0),i=2;i<this.getDataset().data.length;i++)e=Math.min(t.getPixelForTick(i)-t.getPixelForTick(i-1),e);
return e}.call(
this),a=i*t.options.categoryPercentage,s=(i-i*t.options.categoryPercentage)/2,o=a/e,n=o*t.options.barPercentage,r=o-o*t.options.barPercentage;
return{datasetCount:e,tickWidth:i,categoryWidth:a,categorySpacing:s,fullBarWidth:o,barWidth:n,barSpacing:r}},calculateBarWidth:
function(){var t=this.getScaleForId(this.getDataset().xAxisID),e=this.getRuler();
return t.options.stacked?e.categoryWidth:e.barWidth},getBarIndex:
function(t){
for(var e=0,a=0;t>a;++a)i.isDatasetVisible(
this.chart.data.datasets[a])&&this.chart.data.datasets[a].bar&&++e;
return e},calculateBarX:
function(t,e){var i=(this.getScaleForId(this.getDataset().yAxisID),this.getScaleForId(this.getDataset().xAxisID)),a=this.getBarIndex(e),s=this.getRuler(),o=i.getPixelForValue(null,t,e,this.chart.isCombo);
return o-=this.chart.isCombo?s.tickWidth/2:0,i.options.stacked?o+s.categoryWidth/2+s.categorySpacing:o+s.barWidth/2+s.categorySpacing+s.barWidth*a+s.barSpacing/2+s.barSpacing*a},calculateBarY:
function(t,e){var a=(this.getScaleForId(this.getDataset().xAxisID),this.getScaleForId(this.getDataset().yAxisID)),s=this.getDataset().data[t];
if(a.options.stacked){
for(var o=0,n=0,r=0;e>r;r++){var h=this.chart.data.datasets[r];i.isDatasetVisible(h)&&(h.data[t]<0?n+=h.data[t]||0:o+=h.data[t]||0)}
return 0>s?a.getPixelForValue(n+s):a.getPixelForValue(o+s)}
return a.getPixelForValue(s)},draw:
function(t){var e=t||1;i.each(this.getDataset().metaData,
function(t,i){t.transition(e).draw()},
this)},setHoverStyle:
function(t){var e=this.chart.data.datasets[t._datasetIndex],a=t._index;t._model.backgroundColor=t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(e.hoverBackgroundColor,a,i.color(t._model.backgroundColor).saturate(.5).darken(.1).rgbString()),t._model.borderColor=t.custom&&t.custom.hoverBorderColor?t.custom.hoverBorderColor:i.getValueAtIndexOrDefault(e.hoverBorderColor,a,i.color(t._model.borderColor).saturate(.5).darken(.1).rgbString()),t._model.borderWidth=t.custom&&t.custom.hoverBorderWidth?t.custom.hoverBorderWidth:i.getValueAtIndexOrDefault(e.hoverBorderWidth,a,t._model.borderWidth)},removeHoverStyle:
function(t){var e=(this.chart.data.datasets[t._datasetIndex],t._index);t._model.backgroundColor=t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.rectangle.backgroundColor),t._model.borderColor=t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.rectangle.borderColor),t._model.borderWidth=t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.rectangle.borderWidth)}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.bubble={hover:{mode:
"single"},scales:{xAxes:[{type:
"linear",position:
"bottom",
id:
"x-axis-0"}],yAxes:[{type:
"linear",position:
"left",
id:
"y-axis-0"}]},tooltips:{
template:
"(<%= value.x %>, <%= value.y %>, <%= value.r %>)",multiTemplate:
"<%if (datasetLabel){%><%=datasetLabel%>: <%}%>(<%= value.x %>, <%= value.y %>, <%= value.r %>)"}},e.controllers.bubble=e.DatasetController.extend({addElements:
function(){this.getDataset().metaData=this.getDataset().metaData||[],i.each(this.getDataset().data,
function(t,i){this.getDataset().metaData[i]=this.getDataset().metaData[i]||
new e.elements.Point({_chart:this.chart.chart,_datasetIndex:this.index,_index:i})},
this)},addElementAndReset:
function(t){this.getDataset().metaData=this.getDataset().metaData||[];var i=
new e.elements.Point({_chart:this.chart.chart,_datasetIndex:this.index,_index:t});this.updateElement(i,t,!0),this.getDataset().metaData.splice(t,0,i)},update:
function(t){var e,a=this.getDataset().metaData,s=this.getScaleForId(this.getDataset().yAxisID);this.getScaleForId(this.getDataset().xAxisID);e=s.min<0&&s.max<0?s.getPixelForValue(s.max):s.min>0&&s.max>0?s.getPixelForValue(s.min):s.getPixelForValue(0),i.each(a,
function(e,i){this.updateElement(e,i,t)},
this)},updateElement:
function(t,e,a){var s,o=this.getScaleForId(this.getDataset().yAxisID),n=this.getScaleForId(this.getDataset().xAxisID);s=o.min<0&&o.max<0?o.getPixelForValue(o.max):o.min>0&&o.max>0?o.getPixelForValue(o.min):o.getPixelForValue(0),i.extend(t,{_chart:this.chart.chart,_xScale:n,_yScale:o,_datasetIndex:this.index,_index:e,_model:{x:a?n.getPixelForDecimal(.5):n.getPixelForValue(this.getDataset().data[e],e,this.index,this.chart.isCombo),y:a?s:o.getPixelForValue(this.getDataset().data[e],e,this.index),radius:a?0:t.custom&&t.custom.radius?t.custom.radius:this.getRadius(this.getDataset().data[e]),backgroundColor:t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.point.backgroundColor),borderColor:t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.point.borderColor),borderWidth:t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.point.borderWidth),hitRadius:t.custom&&t.custom.hitRadius?t.custom.hitRadius:i.getValueAtIndexOrDefault(this.getDataset().hitRadius,e,this.chart.options.elements.point.hitRadius)}}),t._model.skip=t.custom&&t.custom.skip?t.custom.skip:isNaN(t._model.x)||isNaN(t._model.y),t.pivot()},getRadius:
function(t){
return t.r||this.chart.options.elements.point.radius},draw:
function(t){var e=t||1;i.each(this.getDataset().metaData,
function(t,i){t.transition(e),t.draw()},
this)},setHoverStyle:
function(t){var e=this.chart.data.datasets[t._datasetIndex],a=t._index;t._model.radius=t.custom&&t.custom.hoverRadius?t.custom.hoverRadius:i.getValueAtIndexOrDefault(e.hoverRadius,a,
this.chart.options.elements.point.hoverRadius)+this.getRadius(this.getDataset().data[t._index]),t._model.backgroundColor=t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(e.hoverBackgroundColor,a,i.color(t._model.backgroundColor).saturate(.5).darken(.1).rgbString()),t._model.borderColor=t.custom&&t.custom.hoverBorderColor?t.custom.hoverBorderColor:i.getValueAtIndexOrDefault(e.hoverBorderColor,a,i.color(t._model.borderColor).saturate(.5).darken(.1).rgbString()),t._model.borderWidth=t.custom&&t.custom.hoverBorderWidth?t.custom.hoverBorderWidth:i.getValueAtIndexOrDefault(e.hoverBorderWidth,a,t._model.borderWidth)},removeHoverStyle:
function(t){var e=(this.chart.data.datasets[t._datasetIndex],t._index);t._model.radius=t.custom&&t.custom.radius?t.custom.radius:this.getRadius(this.getDataset().data[t._index]),t._model.backgroundColor=t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.point.backgroundColor),t._model.borderColor=t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.point.borderColor),t._model.borderWidth=t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.point.borderWidth)}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.doughnut={animation:{animateRotate:!0,animateScale:!1},aspectRatio:1,hover:{mode:
"single"},legendCallback:
function(t){var e=[];
if(e.push(
'<ul class="'+t.id+
'-legend">'),t.data.datasets.length)
for(var i=0;i<t.data.datasets[0].data.length;++i)e.push(
'<li><span style="background-color:'+t.data.datasets[0].backgroundColor[i]+
'">'),t.data.labels[i]&&e.push(t.data.labels[i]),e.push(
"</span></li>");
return e.push(
"</ul>"),e.join(
"")},legend:{labels:{generateLabels:
function(t){
return t.labels.map(
function(e,i){
return{text:e,fillStyle:t.datasets[0].backgroundColor[i],hidden:isNaN(t.datasets[0].data[i]),index:i}})}},onClick:
function(t,e){i.each(this.chart.data.datasets,
function(t){t.metaHiddenData=t.metaHiddenData||[];var i=e.index;isNaN(t.data[i])?isNaN(t.metaHiddenData[i])||(t.data[i]=t.metaHiddenData[i]):(t.metaHiddenData[i]=t.data[i],t.data[i]=NaN)}),this.chart.update()}},cutoutPercentage:50,tooltips:{callbacks:{title:
function(){
return""},label:
function(t,e){
return e.labels[t.index]+
": "+e.datasets[t.datasetIndex].data[t.index]}}}},e.defaults.pie=i.clone(e.defaults.doughnut),i.extend(e.defaults.pie,{cutoutPercentage:0}),e.controllers.doughnut=e.controllers.pie=e.DatasetController.extend({linkScales:
function(){},addElements:
function(){this.getDataset().metaData=this.getDataset().metaData||[],i.each(this.getDataset().data,
function(t,i){this.getDataset().metaData[i]=this.getDataset().metaData[i]||
new e.elements.Arc({_chart:this.chart.chart,_datasetIndex:this.index,_index:i})},
this)},addElementAndReset:
function(t,a){this.getDataset().metaData=this.getDataset().metaData||[];var s=
new e.elements.Arc({_chart:this.chart.chart,_datasetIndex:this.index,_index:t});a&&i.isArray(this.getDataset().backgroundColor)&&this.getDataset().backgroundColor.splice(t,0,a),this.updateElement(s,t,!0),this.getDataset().metaData.splice(t,0,s)},getVisibleDatasetCount:
function(){
return i.where(this.chart.data.datasets,
function(t){
return i.isDatasetVisible(t)}).length},getRingIndex:
function(t){
for(var e=0,a=0;t>a;++a)i.isDatasetVisible(
this.chart.data.datasets[a])&&++e;
return e},update:
function(t){var e=Math.min(this.chart.chartArea.right-
this.chart.chartArea.left,
this.chart.chartArea.bottom-
this.chart.chartArea.top);this.chart.outerRadius=Math.max(e/2-this.chart.options.elements.arc.borderWidth/2,0),this.chart.innerRadius=Math.max(this.chart.options.cutoutPercentage?
this.chart.outerRadius/100*
this.chart.options.cutoutPercentage:1,0),this.chart.radiusLength=(this.chart.outerRadius-this.chart.innerRadius)/this.getVisibleDatasetCount(),this.getDataset().total=0,i.each(this.getDataset().data,
function(t){isNaN(t)||(this.getDataset().total+=Math.abs(t))},
this),this.outerRadius=this.chart.outerRadius-this.chart.radiusLength*this.getRingIndex(this.index),this.innerRadius=this.outerRadius-this.chart.radiusLength,i.each(this.getDataset().metaData,
function(e,i){this.updateElement(e,i,t)},
this)},updateElement:
function(t,e,a){var s=(this.chart.chartArea.left+this.chart.chartArea.right)/2,o=(this.chart.chartArea.top+
this.chart.chartArea.bottom)/2,n={x:s,y:o,startAngle:Math.PI*-.5,endAngle:Math.PI*-.5,circumference:this.chart.options.animation.animateRotate?0:this.calculateCircumference(this.getDataset().data[e]),
40 outerRadius:this.chart.options.animation.animateScale?0:this.outerRadius,innerRadius:this.chart.options.animation.animateScale?0:this.innerRadius};i.extend(t,{_chart:this.chart.chart,_datasetIndex:this.index,_index:e,_model:a?n:{x:s,y:o,circumference:this.calculateCircumference(this.getDataset().data[e]),outerRadius:this.outerRadius,innerRadius:this.innerRadius,backgroundColor:t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.arc.backgroundColor),hoverBackgroundColor:t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(this.getDataset().hoverBackgroundColor,e,this.chart.options.elements.arc.hoverBackgroundColor),borderWidth:t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.arc.borderWidth),borderColor:t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.arc.borderColor),label:i.getValueAtIndexOrDefault(this.getDataset().label,e,this.chart.data.labels[e])}}),a||(0===e?t._model.startAngle=Math.PI*-.5:t._model.startAngle=
this.getDataset().metaData[e-1]._model.endAngle,t._model.endAngle=t._model.startAngle+t._model.circumference,e<this.getDataset().data.length-1&&(this.getDataset().metaData[e+1]._model.startAngle=t._model.endAngle)),t.pivot()},draw:
function(t){var e=t||1;i.each(this.getDataset().metaData,
function(t,i){t.transition(e).draw()},
this)},setHoverStyle:
function(t){var e=this.chart.data.datasets[t._datasetIndex],a=t._index;t._model.backgroundColor=t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(e.hoverBackgroundColor,a,i.color(t._model.backgroundColor).saturate(.5).darken(.1).rgbString()),t._model.borderColor=t.custom&&t.custom.hoverBorderColor?t.custom.hoverBorderColor:i.getValueAtIndexOrDefault(e.hoverBorderColor,a,i.color(t._model.borderColor).saturate(.5).darken(.1).rgbString()),t._model.borderWidth=t.custom&&t.custom.hoverBorderWidth?t.custom.hoverBorderWidth:i.getValueAtIndexOrDefault(e.hoverBorderWidth,a,t._model.borderWidth)},removeHoverStyle:
function(t){var e=(this.chart.data.datasets[t._datasetIndex],t._index);t._model.backgroundColor=t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.arc.backgroundColor),t._model.borderColor=t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.arc.borderColor),t._model.borderWidth=t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.arc.borderWidth)},calculateCircumference:
function(t){
return this.getDataset().total>0&&!isNaN(t)?1.999999*Math.PI*(t/this.getDataset().total):0}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.line={hover:{mode:
"label"},scales:{xAxes:[{type:
"category",
id:
"x-axis-0"}],yAxes:[{type:
"linear",
id:
"y-axis-0"}]}},e.controllers.line=e.DatasetController.extend({addElements:
function(){this.getDataset().metaData=this.getDataset().metaData||[],this.getDataset().metaDataset=this.getDataset().metaDataset||
new e.elements.Line({_chart:this.chart.chart,_datasetIndex:this.index,_points:this.getDataset().metaData}),i.each(
this.getDataset().data,
function(t,i){this.getDataset().metaData[i]=this.getDataset().metaData[i]||
new e.elements.Point({_chart:this.chart.chart,_datasetIndex:this.index,_index:i})},
this)},addElementAndReset:
function(t){this.getDataset().metaData=this.getDataset().metaData||[];var i=
new e.elements.Point({_chart:this.chart.chart,_datasetIndex:this.index,_index:t});this.updateElement(i,t,!0),this.getDataset().metaData.splice(t,0,i),this.updateBezierControlPoints()},update:
function(t){var e,a=this.getDataset().metaDataset,s=this.getDataset().metaData,o=this.getScaleForId(this.getDataset().yAxisID);this.getScaleForId(this.getDataset().xAxisID);e=o.min<0&&o.max<0?o.getPixelForValue(o.max):o.min>0&&o.max>0?o.getPixelForValue(o.min):o.getPixelForValue(0),i.extend(a,{_scale:o,_datasetIndex:this.index,_children:s,_model:{tension:a.custom&&a.custom.tension?a.custom.tension:i.getValueOrDefault(this.getDataset().tension,this.chart.options.elements.line.tension),backgroundColor:a.custom&&a.custom.backgroundColor?a.custom.backgroundColor:this.getDataset().backgroundColor||this.chart.options.elements.line.backgroundColor,borderWidth:a.custom&&a.custom.borderWidth?a.custom.borderWidth:this.getDataset().borderWidth||this.chart.options.elements.line.borderWidth,borderColor:a.custom&&a.custom.borderColor?a.custom.borderColor:this.getDataset().borderColor||this.chart.options.elements.line.borderColor,borderCapStyle:a.custom&&a.custom.borderCapStyle?a.custom.borderCapStyle:this.getDataset().borderCapStyle||this.chart.options.elements.line.borderCapStyle,borderDash:a.custom&&a.custom.borderDash?a.custom.borderDash:this.getDataset().borderDash||this.chart.options.elements.line.borderDash,borderDashOffset:a.custom&&a.custom.borderDashOffset?a.custom.borderDashOffset:this.getDataset().borderDashOffset||this.chart.options.elements.line.borderDashOffset,borderJoinStyle:a.custom&&a.custom.borderJoinStyle?a.custom.borderJoinStyle:this.getDataset().borderJoinStyle||this.chart.options.elements.line.borderJoinStyle,fill:a.custom&&a.custom.fill?a.custom.fill:
void 0!==this.getDataset().fill?this.getDataset().fill:this.chart.options.elements.line.fill,scaleTop:o.top,scaleBottom:o.bottom,scaleZero:e}}),a.pivot(),i.each(s,
function(e,i){this.updateElement(e,i,t)},
this),this.updateBezierControlPoints()},getPointBackgroundColor:
function(t,e){var a=this.chart.options.elements.point.backgroundColor,s=this.getDataset();
return t.custom&&t.custom.backgroundColor?a=t.custom.backgroundColor:s.pointBackgroundColor?a=i.getValueAtIndexOrDefault(s.pointBackgroundColor,e,a):s.backgroundColor&&(a=s.backgroundColor),a},getPointBorderColor:
function(t,e){var a=this.chart.options.elements.point.borderColor,s=this.getDataset();
return t.custom&&t.custom.borderColor?a=t.custom.borderColor:s.pointBorderColor?a=i.getValueAtIndexOrDefault(this.getDataset().pointBorderColor,e,a):s.borderColor&&(a=s.borderColor),a},getPointBorderWidth:
function(t,e){var a=this.chart.options.elements.point.borderWidth,s=this.getDataset();
return t.custom&&
void 0!==t.custom.borderWidth?a=t.custom.borderWidth:
void 0!==s.pointBorderWidth?a=i.getValueAtIndexOrDefault(s.pointBorderWidth,e,a):
void 0!==s.borderWidth&&(a=s.borderWidth),a},updateElement:
function(t,e,a){var s,o=this.getScaleForId(this.getDataset().yAxisID),n=this.getScaleForId(this.getDataset().xAxisID);s=o.min<0&&o.max<0?o.getPixelForValue(o.max):o.min>0&&o.max>0?o.getPixelForValue(o.min):o.getPixelForValue(0),i.extend(t,{_chart:this.chart.chart,_xScale:n,_yScale:o,_datasetIndex:this.index,_index:e,_model:{x:n.getPixelForValue(this.getDataset().data[e],e,this.index,this.chart.isCombo),y:a?s:this.calculatePointY(this.getDataset().data[e],e,this.index,this.chart.isCombo),tension:t.custom&&t.custom.tension?t.custom.tension:i.getValueOrDefault(this.getDataset().tension,this.chart.options.elements.line.tension),radius:t.custom&&t.custom.radius?t.custom.radius:i.getValueAtIndexOrDefault(this.getDataset().radius,e,this.chart.options.elements.point.radius),backgroundColor:this.getPointBackgroundColor(t,e),borderColor:this.getPointBorderColor(t,e),borderWidth:this.getPointBorderWidth(t,e),hitRadius:t.custom&&t.custom.hitRadius?t.custom.hitRadius:i.getValueAtIndexOrDefault(this.getDataset().hitRadius,e,this.chart.options.elements.point.hitRadius)}}),t._model.skip=t.custom&&t.custom.skip?t.custom.skip:isNaN(t._model.x)||isNaN(t._model.y)},calculatePointY:
function(t,e,a,s){var o=(this.getScaleForId(this.getDataset().xAxisID),this.getScaleForId(this.getDataset().yAxisID));
if(o.options.stacked){
for(var n=0,r=0,h=this.chart.data.datasets.length-1;h>a;h--){var l=this.chart.data.datasets[h];i.isDatasetVisible(l)&&(l.data[e]<0?r+=l.data[e]||0:n+=l.data[e]||0)}
return 0>t?o.getPixelForValue(r+t):o.getPixelForValue(n+t)}
return o.getPixelForValue(t)},updateBezierControlPoints:
function(){i.each(this.getDataset().metaData,
function(t,e){var a=i.splineCurve(i.previousItem(
this.getDataset().metaData,e)._model,t._model,i.nextItem(
this.getDataset().metaData,e)._model,t._model.tension);t._model.controlPointPreviousX=Math.max(Math.min(a.previous.x,
this.chart.chartArea.right),this.chart.chartArea.left),t._model.controlPointPreviousY=Math.max(Math.min(a.previous.y,
this.chart.chartArea.bottom),this.chart.chartArea.top),t._model.controlPointNextX=Math.max(Math.min(a.next.x,
this.chart.chartArea.right),this.chart.chartArea.left),t._model.controlPointNextY=Math.max(Math.min(a.next.y,
this.chart.chartArea.bottom),this.chart.chartArea.top),t.pivot()},
this)},draw:
function(t){var e=t||1;i.each(this.getDataset().metaData,
function(t,i){t.transition(e)},
this),this.getDataset().metaDataset.transition(e).draw(),i.each(this.getDataset().metaData,
function(t){t.draw()})},setHoverStyle:
function(t){var e=this.chart.data.datasets[t._datasetIndex],a=t._index;t._model.radius=t.custom&&t.custom.hoverRadius?t.custom.hoverRadius:i.getValueAtIndexOrDefault(e.pointHoverRadius,a,
this.chart.options.elements.point.hoverRadius),t._model.backgroundColor=t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(e.pointHoverBackgroundColor,a,i.color(t._model.backgroundColor).saturate(.5).darken(.1).rgbString()),t._model.borderColor=t.custom&&t.custom.hoverBorderColor?t.custom.hoverBorderColor:i.getValueAtIndexOrDefault(e.pointHoverBorderColor,a,i.color(t._model.borderColor).saturate(.5).darken(.1).rgbString()),t._model.borderWidth=t.custom&&t.custom.hoverBorderWidth?t.custom.hoverBorderWidth:i.getValueAtIndexOrDefault(e.pointHoverBorderWidth,a,t._model.borderWidth)},removeHoverStyle:
function(t){var e=(this.chart.data.datasets[t._datasetIndex],t._index);t._model.radius=t.custom&&t.custom.radius?t.custom.radius:i.getValueAtIndexOrDefault(this.getDataset().radius,e,this.chart.options.elements.point.radius),t._model.backgroundColor=this.getPointBackgroundColor(t,e),t._model.borderColor=this.getPointBorderColor(t,e),t._model.borderWidth=this.getPointBorderWidth(t,e)}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.polarArea={scale:{type:
"radialLinear",lineArc:!0},animateRotate:!0,animateScale:!0,aspectRatio:1,legendCallback:
function(t){var e=[];
if(e.push(
'<ul class="'+t.id+
'-legend">'),t.data.datasets.length)
for(var i=0;i<t.data.datasets[0].data.length;++i)e.push(
'<li><span style="background-color:'+t.data.datasets[0].backgroundColor[i]+
'">'),t.data.labels[i]&&e.push(t.data.labels[i]),e.push(
"</span></li>");
return e.push(
"</ul>"),e.join(
"")},legend:{labels:{generateLabels:
function(t){
return t.labels.map(
function(e,i){
return{text:e,fillStyle:t.datasets[0].backgroundColor[i],hidden:isNaN(t.datasets[0].data[i]),index:i}})}},onClick:
function(t,e){i.each(this.chart.data.datasets,
function(t){t.metaHiddenData=t.metaHiddenData||[];var i=e.index;isNaN(t.data[i])?isNaN(t.metaHiddenData[i])||(t.data[i]=t.metaHiddenData[i]):(t.metaHiddenData[i]=t.data[i],t.data[i]=NaN)}),this.chart.update()}},tooltips:{callbacks:{title:
function(){
return""},label:
function(t,e){
return e.labels[t.index]+
": "+t.yLabel}}}},e.controllers.polarArea=e.DatasetController.extend({linkScales:
function(){},addElements:
function(){this.getDataset().metaData=this.getDataset().metaData||[],i.each(this.getDataset().data,
function(t,i){this.getDataset().metaData[i]=this.getDataset().metaData[i]||
new e.elements.Arc({_chart:this.chart.chart,_datasetIndex:this.index,_index:i})},
this)},addElementAndReset:
function(t){this.getDataset().metaData=this.getDataset().metaData||[];var i=
new e.elements.Arc({_chart:this.chart.chart,_datasetIndex:this.index,_index:t});this.updateElement(i,t,!0),this.getDataset().metaData.splice(t,0,i)},getVisibleDatasetCount:
function(){
return i.where(this.chart.data.datasets,
function(t){
return i.isDatasetVisible(t)}).length},update:
function(t){var e=Math.min(this.chart.chartArea.right-
this.chart.chartArea.left,
this.chart.chartArea.bottom-
this.chart.chartArea.top);this.chart.outerRadius=Math.max((e-this.chart.options.elements.arc.borderWidth/2)/2,0),this.chart.innerRadius=Math.max(this.chart.options.cutoutPercentage?
this.chart.outerRadius/100*
this.chart.options.cutoutPercentage:1,0),this.chart.radiusLength=(this.chart.outerRadius-this.chart.innerRadius)/this.getVisibleDatasetCount(),this.getDataset().total=0,i.each(this.getDataset().data,
function(t){this.getDataset().total+=Math.abs(t)},
this),this.outerRadius=this.chart.outerRadius-
this.chart.radiusLength*
this.index,
this.innerRadius=
this.outerRadius-
this.chart.radiusLength,i.each(
this.getDataset().metaData,
function(e,i){this.updateElement(e,i,t)},
this)},updateElement:
function(t,e,a){
for(var s=this.calculateCircumference(this.getDataset().data[e]),o=(this.chart.chartArea.left+this.chart.chartArea.right)/2,n=(this.chart.chartArea.top+
this.chart.chartArea.bottom)/2,r=0,h=0;e>h;++h)isNaN(this.getDataset().data[h])||++r;var l=-.5*Math.PI+s*r,c=l+s,d={x:o,y:n,innerRadius:0,outerRadius:this.chart.options.animateScale?0:this.chart.scale.getDistanceFromCenterForValue(this.getDataset().data[e]),startAngle:this.chart.options.animateRotate?Math.PI*-.5:l,endAngle:this.chart.options.animateRotate?Math.PI*-.5:c,backgroundColor:t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.arc.backgroundColor),hoverBackgroundColor:t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(this.getDataset().hoverBackgroundColor,e,this.chart.options.elements.arc.hoverBackgroundColor),borderWidth:t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.arc.borderWidth),borderColor:t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.arc.borderColor),label:i.getValueAtIndexOrDefault(this.chart.data.labels,e,
this.chart.data.labels[e])};i.extend(t,{_chart:this.chart.chart,_datasetIndex:this.index,_index:e,_scale:this.chart.scale,_model:a?d:{x:o,y:n,innerRadius:0,outerRadius:this.chart.scale.getDistanceFromCenterForValue(this.getDataset().data[e]),startAngle:l,endAngle:c,backgroundColor:t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.arc.backgroundColor),hoverBackgroundColor:t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(this.getDataset().hoverBackgroundColor,e,this.chart.options.elements.arc.hoverBackgroundColor),borderWidth:t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.arc.borderWidth),borderColor:t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.arc.borderColor),label:i.getValueAtIndexOrDefault(this.chart.data.labels,e,
this.chart.data.labels[e])}}),t.pivot()},draw:
function(t){var e=t||1;i.each(this.getDataset().metaData,
function(t,i){t.transition(e).draw()},
this)},setHoverStyle:
function(t){var e=this.chart.data.datasets[t._datasetIndex],a=t._index;t._model.backgroundColor=t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(e.hoverBackgroundColor,a,i.color(t._model.backgroundColor).saturate(.5).darken(.1).rgbString()),t._model.borderColor=t.custom&&t.custom.hoverBorderColor?t.custom.hoverBorderColor:i.getValueAtIndexOrDefault(e.hoverBorderColor,a,i.color(t._model.borderColor).saturate(.5).darken(.1).rgbString()),t._model.borderWidth=t.custom&&t.custom.hoverBorderWidth?t.custom.hoverBorderWidth:i.getValueAtIndexOrDefault(e.borderWidth,a,t._model.borderWidth)},removeHoverStyle:
function(t){var e=(this.chart.data.datasets[t._datasetIndex],t._index);t._model.backgroundColor=t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().backgroundColor,e,this.chart.options.elements.arc.backgroundColor),t._model.borderColor=t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().borderColor,e,this.chart.options.elements.arc.borderColor),t._model.borderWidth=t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().borderWidth,e,this.chart.options.elements.arc.borderWidth)},calculateCircumference:
function(t){
if(isNaN(t))
return 0;var e=i.where(this.getDataset().data,
function(t){
return isNaN(t)}).length;
return 2*Math.PI/(this.getDataset().data.length-e)}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.radar={scale:{type:
"radialLinear"},elements:{line:{tension:0}}},e.controllers.radar=e.DatasetController.extend({linkScales:
function(){},addElements:
function(){this.getDataset().metaData=this.getDataset().metaData||[],this.getDataset().metaDataset=this.getDataset().metaDataset||
new e.elements.Line({_chart:this.chart.chart,_datasetIndex:this.index,_points:this.getDataset().metaData,_loop:!0}),i.each(
this.getDataset().data,
function(t,i){this.getDataset().metaData[i]=this.getDataset().metaData[i]||
new e.elements.Point({_chart:this.chart.chart,_datasetIndex:this.index,_index:i,_model:{x:0,y:0}})},
this)},addElementAndReset:
function(t){this.getDataset().metaData=this.getDataset().metaData||[];var i=
new e.elements.Point({_chart:this.chart.chart,_datasetIndex:this.index,_index:t});this.updateElement(i,t,!0),this.getDataset().metaData.splice(t,0,i),this.updateBezierControlPoints()},update:
function(t){var e,a=(this.getDataset().metaDataset,this.getDataset().metaData),s=this.chart.scale;e=s.min<0&&s.max<0?s.getPointPositionForValue(0,s.max):s.min>0&&s.max>0?s.getPointPositionForValue(0,s.min):s.getPointPositionForValue(0,0),i.extend(this.getDataset().metaDataset,{_datasetIndex:this.index,_children:this.getDataset().metaData,_model:{tension:i.getValueOrDefault(this.getDataset().tension,this.chart.options.elements.line.tension),backgroundColor:this.getDataset().backgroundColor||this.chart.options.elements.line.backgroundColor,borderWidth:this.getDataset().borderWidth||this.chart.options.elements.line.borderWidth,borderColor:this.getDataset().borderColor||this.chart.options.elements.line.borderColor,fill:
void 0!==this.getDataset().fill?this.getDataset().fill:this.chart.options.elements.line.fill,scaleTop:s.top,scaleBottom:s.bottom,scaleZero:e}}),this.getDataset().metaDataset.pivot(),i.each(a,
function(e,i){this.updateElement(e,i,t)},
this),this.updateBezierControlPoints()},updateElement:
function(t,e,a){var s=this.chart.scale.getPointPositionForValue(e,this.getDataset().data[e]);i.extend(t,{_datasetIndex:this.index,_index:e,_scale:this.chart.scale,_model:{x:a?this.chart.scale.xCenter:s.x,y:a?this.chart.scale.yCenter:s.y,tension:t.custom&&t.custom.tension?t.custom.tension:i.getValueOrDefault(this.getDataset().tension,this.chart.options.elements.line.tension),radius:t.custom&&t.custom.radius?t.custom.pointRadius:i.getValueAtIndexOrDefault(this.getDataset().pointRadius,e,this.chart.options.elements.point.radius),backgroundColor:t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().pointBackgroundColor,e,this.chart.options.elements.point.backgroundColor),borderColor:t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().pointBorderColor,e,this.chart.options.elements.point.borderColor),borderWidth:t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().pointBorderWidth,e,this.chart.options.elements.point.borderWidth),hitRadius:t.custom&&t.custom.hitRadius?t.custom.hitRadius:i.getValueAtIndexOrDefault(this.getDataset().hitRadius,e,this.chart.options.elements.point.hitRadius)}}),t._model.skip=t.custom&&t.custom.skip?t.custom.skip:isNaN(t._model.x)||isNaN(t._model.y)},updateBezierControlPoints:
function(){i.each(this.getDataset().metaData,
function(t,e){var a=i.splineCurve(i.previousItem(
this.getDataset().metaData,e,!0)._model,t._model,i.nextItem(
this.getDataset().metaData,e,!0)._model,t._model.tension);t._model.controlPointPreviousX=Math.max(Math.min(a.previous.x,
this.chart.chartArea.right),this.chart.chartArea.left),t._model.controlPointPreviousY=Math.max(Math.min(a.previous.y,
this.chart.chartArea.bottom),this.chart.chartArea.top),t._model.controlPointNextX=Math.max(Math.min(a.next.x,
this.chart.chartArea.right),this.chart.chartArea.left),t._model.controlPointNextY=Math.max(Math.min(a.next.y,
this.chart.chartArea.bottom),this.chart.chartArea.top),t.pivot()},
this)},draw:
function(t){var e=t||1;i.each(this.getDataset().metaData,
function(t,i){t.transition(e)},
this),this.getDataset().metaDataset.transition(e).draw(),i.each(this.getDataset().metaData,
function(t){t.draw()})},setHoverStyle:
function(t){var e=this.chart.data.datasets[t._datasetIndex],a=t._index;t._model.radius=t.custom&&t.custom.radius?t.custom.radius:i.getValueAtIndexOrDefault(e.pointHoverRadius,a,
this.chart.options.elements.point.hoverRadius),t._model.backgroundColor=t.custom&&t.custom.hoverBackgroundColor?t.custom.hoverBackgroundColor:i.getValueAtIndexOrDefault(e.pointHoverBackgroundColor,a,i.color(t._model.backgroundColor).saturate(.5).darken(.1).rgbString()),t._model.borderColor=t.custom&&t.custom.hoverBorderColor?t.custom.hoverBorderColor:i.getValueAtIndexOrDefault(e.pointHoverBorderColor,a,i.color(t._model.borderColor).saturate(.5).darken(.1).rgbString()),t._model.borderWidth=t.custom&&t.custom.hoverBorderWidth?t.custom.hoverBorderWidth:i.getValueAtIndexOrDefault(e.pointBorderWidth,a,t._model.borderWidth)},removeHoverStyle:
function(t){var e=(this.chart.data.datasets[t._datasetIndex],t._index);t._model.radius=t.custom&&t.custom.radius?t.custom.radius:i.getValueAtIndexOrDefault(this.getDataset().radius,e,this.chart.options.elements.point.radius),t._model.backgroundColor=t.custom&&t.custom.backgroundColor?t.custom.backgroundColor:i.getValueAtIndexOrDefault(this.getDataset().pointBackgroundColor,e,this.chart.options.elements.point.backgroundColor),t._model.borderColor=t.custom&&t.custom.borderColor?t.custom.borderColor:i.getValueAtIndexOrDefault(this.getDataset().pointBorderColor,e,this.chart.options.elements.point.borderColor),t._model.borderWidth=t.custom&&t.custom.borderWidth?t.custom.borderWidth:i.getValueAtIndexOrDefault(this.getDataset().pointBorderWidth,e,this.chart.options.elements.point.borderWidth)}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=(e.helpers,{position:
"bottom"}),a=e.Scale.extend({buildTicks:
function(t){
this.ticks=
this.chart.data.labels},getLabelForIndex:
function(t,e){
return this.ticks[t]},getPixelForValue:
function(t,e,i,a){
if(this.isHorizontal()){var s=this.width-(this.paddingLeft+this.paddingRight),o=s/Math.max(
this.chart.data.labels.length-(
this.options.gridLines.offsetGridLines?0:1),1),n=o*e+this.paddingLeft;
return this.options.gridLines.offsetGridLines&&a&&(n+=o/2),this.left+Math.round(n)}var r=this.height-(this.paddingTop+this.paddingBottom),h=r/Math.max(
this.chart.data.labels.length-(
this.options.gridLines.offsetGridLines?0:1),1),l=h*e+this.paddingTop;
return this.options.gridLines.offsetGridLines&&a&&(l+=h/2),this.top+Math.round(l)}});e.scaleService.registerScaleType(
"category",a,i)}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers,a={position:
"left",ticks:{callback:
function(t,e,a){var s=a[1]-a[0];Math.abs(s)>1&&t!==Math.floor(t)&&(s=t-Math.floor(t));var o=i.log10(Math.abs(s)),n=
"";
if(0!==t){var r=-1*Math.floor(o);r=Math.max(Math.min(r,20),0),n=t.toFixed(r)}
else n=
"0";
return n}}},s=e.Scale.extend({determineDataLimits:
function(){
if(this.min=null,this.max=null,this.options.stacked){var t={};i.each(this.chart.data.datasets,
function(e){
void 0===t[e.type]&&(t[e.type]={positiveValues:[],negativeValues:[]});var a=t[e.type].positiveValues,s=t[e.type].negativeValues;i.isDatasetVisible(e)&&(this.isHorizontal()?e.xAxisID===this.
id:e.yAxisID===this.id)&&i.each(e.data,
function(t,e){var i=+
this.getRightValue(t);isNaN(i)||(a[e]=a[e]||0,s[e]=s[e]||0,this.options.relativePoints?a[e]=100:0>i?s[e]+=i:a[e]+=i)},
this)},
this),i.each(t,
function(t){var e=t.positiveValues.concat(t.negativeValues),a=i.min(e),s=i.max(e);this.min=null===this.min?a:Math.min(this.min,a),this.max=null===this.max?s:Math.max(this.max,s)},
this)}
else i.each(
this.chart.data.datasets,
function(t){i.isDatasetVisible(t)&&(this.isHorizontal()?t.xAxisID===this.
id:t.yAxisID===this.id)&&i.each(t.data,
function(t,e){var i=+
this.getRightValue(t);isNaN(i)||(null===this.min?this.min=i:i<this.min&&(this.min=i),null===this.max?this.max=i:i>this.max&&(this.max=i))},
this)},
this);
if(this.options.ticks.beginAtZero){var e=i.sign(this.min),a=i.sign(this.max);0>e&&0>a?this.max=0:e>0&&a>0&&(this.min=0)}
void 0!==this.options.ticks.min?
this.min=
this.options.ticks.min:
void 0!==
this.options.ticks.suggestedMin&&(
this.min=Math.min(
this.min,
this.options.ticks.suggestedMin)),
void 0!==this.options.ticks.max?
this.max=
this.options.ticks.max:
void 0!==
this.options.ticks.suggestedMax&&(
this.max=Math.max(
this.max,
this.options.ticks.suggestedMax)),this.min===this.max&&(this.min--,this.max++)},buildTicks:
function(){this.ticks=[];var t;t=this.isHorizontal()?Math.min(this.options.ticks.maxTicksLimit?
this.options.ticks.maxTicksLimit:11,Math.ceil(
this.width/50)):Math.min(
this.options.ticks.maxTicksLimit?
this.options.ticks.maxTicksLimit:11,Math.ceil(
this.height/(2*
this.options.ticks.fontSize))),t=Math.max(2,t);var e=i.niceNum(this.max-this.min,!1),a=i.niceNum(e/(t-1),!0),s=Math.floor(this.min/a)*a,o=Math.ceil(this.max/a)*a,n=Math.ceil((o-s)/a);this.ticks.push(
void 0!==this.options.ticks.min?
this.options.ticks.min:s);
for(var r=1;n>r;++r)this.ticks.push(s+r*a);this.ticks.push(
void 0!==this.options.ticks.max?
this.options.ticks.max:o),(
"left"==this.options.position||
"right"==this.options.position)&&this.ticks.reverse(),this.max=i.max(this.ticks),this.min=i.min(this.ticks),this.ticksAsNumbers=this.ticks.slice(),this.options.ticks.reverse?(this.ticks.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),this.zeroLineIndex=this.ticks.indexOf(0)},getLabelForIndex:
function(t,e){
return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:
function(t,e,i,a){var s,o=+this.getRightValue(t),n=this.end-this.start;
if(this.isHorizontal()){var r=this.width-(this.paddingLeft+this.paddingRight);
return s=this.left+r/n*(o-this.start),Math.round(s+
this.paddingLeft)}var h=this.height-(this.paddingTop+this.paddingBottom);
return s=this.bottom-this.paddingBottom-h/n*(o-this.start),Math.round(s)},getPixelForTick:
function(t,e){
return this.getPixelForValue(this.ticksAsNumbers[t],null,null,e)}});e.scaleService.registerScaleType(
"linear",s,a)}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers,a={position:
"left",ticks:{callback:
function(t,i,a){var s=t/Math.pow(10,Math.floor(e.helpers.log10(t)));
return 1===s||2===s||5===s||0===i||i===a.length-1?t.toExponential():
""}}},s=e.Scale.extend({determineDataLimits:
function(){
if(this.min=null,this.max=null,this.options.stacked){var t={};i.each(this.chart.data.datasets,
function(e){i.isDatasetVisible(e)&&(this.isHorizontal()?e.xAxisID===this.
id:e.yAxisID===this.id)&&(
void 0===t[e.type]&&(t[e.type]=[]),i.each(e.data,
function(i,a){var s=t[e.type],o=+
this.getRightValue(i);isNaN(o)||(s[a]=s[a]||0,this.options.relativePoints?s[a]=100:s[a]+=o)},
this))},
this),i.each(t,
function(t){var e=i.min(t),a=i.max(t);this.min=null===this.min?e:Math.min(this.min,e),this.max=null===this.max?a:Math.max(this.max,a)},
this)}
else i.each(
this.chart.data.datasets,
function(t){i.isDatasetVisible(t)&&(this.isHorizontal()?t.xAxisID===this.
id:t.yAxisID===this.id)&&i.each(t.data,
function(t,e){var i=+
this.getRightValue(t);isNaN(i)||(null===this.min?this.min=i:i<this.min&&(this.min=i),null===this.max?this.max=i:i>this.max&&(this.max=i))},
this)},
this);this.min=
void 0!==this.options.ticks.min?this.options.ticks.min:this.min,this.max=
void 0!==this.options.ticks.max?this.options.ticks.max:this.max,this.min===this.max&&(0!==this.min&&null!==this.min?(this.min=Math.pow(10,Math.floor(i.log10(
this.min))-1),this.max=Math.pow(10,Math.floor(i.log10(
this.max))+1)):(this.min=1,this.max=10))},buildTicks:
function(){this.tickValues=[];
for(var t=
void 0!==this.options.ticks.min?
this.options.ticks.min:Math.pow(10,Math.floor(i.log10(
this.min)));t<this.max;){this.tickValues.push(t);var e=Math.floor(i.log10(t)),a=Math.floor(t/Math.pow(10,e))+1;10===a&&(a=1,++e),t=a*Math.pow(10,e)}var s=
void 0!==this.options.ticks.max?this.options.ticks.max:t;this.tickValues.push(s),(
"left"==this.options.position||
"right"==this.options.position)&&this.tickValues.reverse(),this.max=i.max(this.tickValues),this.min=i.min(this.tickValues),this.options.ticks.reverse?(this.tickValues.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),this.ticks=this.tickValues.slice()},getLabelForIndex:
function(t,e){
return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForTick:
function(t,e){
return this.getPixelForValue(this.tickValues[t],null,null,e)},getPixelForValue:
function(t,e,a,s){var o,n=+this.getRightValue(t),r=i.log10(this.end)-i.log10(this.start);
if(this.isHorizontal()){
if(0!==n){var h=this.width-(this.paddingLeft+this.paddingRight);
return o=this.left+h/r*(i.log10(n)-i.log10(this.start)),o+this.paddingLeft}o=this.left+this.paddingLeft}
else{
if(0!==n){var l=this.height-(this.paddingTop+this.paddingBottom);
return this.bottom-this.paddingBottom-l/r*(i.log10(n)-i.log10(this.start))}o=this.top+this.paddingTop}}});e.scaleService.registerScaleType(
"logarithmic",s,a)}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers,a={display:!0,animate:!0,lineArc:!1,position:
"chartArea",angleLines:{display:!0,color:
"rgba(0, 0, 0, 0.1)",lineWidth:1},ticks:{showLabelBackdrop:!0,backdropColor:
"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2},pointLabels:{fontFamily:
"'Arial'",fontStyle:
"normal",fontSize:10,fontColor:
"#666"}},s=e.Scale.extend({getValueCount:
function(){
return this.chart.data.labels.length},setDimensions:
function(){this.width=this.maxWidth,this.height=this.maxHeight,this.xCenter=Math.round(this.width/2),this.yCenter=Math.round(this.height/2);var t=i.min([this.height,this.width]);this.drawingArea=this.options.display?t/2-(this.options.ticks.fontSize/2+this.options.ticks.backdropPaddingY):t/2},determineDataLimits:
function(){
if(this.min=null,this.max=null,i.each(
this.chart.data.datasets,
function(t){i.isDatasetVisible(t)&&i.each(t.data,
function(t,e){var i=+
this.getRightValue(t);isNaN(i)||(null===this.min?this.min=i:i<this.min&&(this.min=i),null===this.max?this.max=i:i>this.max&&(this.max=i))},
this)},
this),this.min===this.max&&(this.min--,this.max++),this.options.ticks.beginAtZero){var t=i.sign(this.min),e=i.sign(this.max);0>t&&0>e?this.max=0:t>0&&e>0&&(this.min=0)}},buildTicks:
function(){this.ticks=[];var t=Math.min(this.options.ticks.maxTicksLimit?
this.options.ticks.maxTicksLimit:11,Math.ceil(
this.drawingArea/(1.5*
this.options.ticks.fontSize)));t=Math.max(2,t);
for(var e=i.niceNum(
this.max-
this.min,!1),a=i.niceNum(e/(t-1),!0),s=Math.floor(this.min/a)*a,o=Math.ceil(this.max/a)*a,n=s;o>=n;n+=a)this.ticks.push(n);this.max=i.max(this.ticks),this.min=i.min(this.ticks),this.options.ticks.reverse?(this.ticks.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),this.zeroLineIndex=this.ticks.indexOf(0)},getLabelForIndex:
function(t,e){
return+this.getRightValue(this.chart.data.datasets[e].data[t]);
41 },getCircumference:
function(){
return 2*Math.PI/this.getValueCount()},fit:
function(){var t,e,a,s,o,n,r,h,l,c,d,u,g=i.min([this.height/2-this.options.pointLabels.fontSize-5,
this.width/2]),m=this.width,f=0;
for(this.ctx.font=i.fontString(
this.options.pointLabels.fontSize,
this.options.pointLabels.fontStyle,
this.options.pointLabels.fontFamily),e=0;e<this.getValueCount();e++)t=this.getPointPosition(e,g),a=this.ctx.measureText(this.options.ticks.callback(
this.chart.data.labels[e])).width+5,0===e||e===this.getValueCount()/2?(s=a/2,t.x+s>m&&(m=t.x+s,o=e),t.x-s<f&&(f=t.x-s,r=e)):e<this.getValueCount()/2?t.x+a>m&&(m=t.x+a,o=e):e>this.getValueCount()/2&&t.x-a<f&&(f=t.x-a,r=e);l=f,c=Math.ceil(m-this.width),n=this.getIndexAngle(o),h=this.getIndexAngle(r),d=c/Math.sin(n+Math.PI/2),u=l/Math.sin(h+Math.PI/2),d=i.isNumber(d)?d:0,u=i.isNumber(u)?u:0,this.drawingArea=Math.round(g-(u+d)/2),this.setCenterPoint(u,d)},setCenterPoint:
function(t,e){var i=this.width-e-this.drawingArea,a=t+this.drawingArea;this.xCenter=Math.round((a+i)/2+this.left),this.yCenter=Math.round(this.height/2+this.top)},getIndexAngle:
function(t){var e=2*Math.PI/this.getValueCount();
return t*e-Math.PI/2},getDistanceFromCenterForValue:
function(t){
if(null===t)
return 0;var e=this.drawingArea/(this.max-this.min);
return this.options.reverse?(this.max-t)*e:(t-this.min)*e},getPointPosition:
function(t,e){var i=this.getIndexAngle(t);
return{x:Math.round(Math.cos(i)*e)+this.xCenter,y:Math.round(Math.sin(i)*e)+this.yCenter}},getPointPositionForValue:
function(t,e){
return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},draw:
function(){
if(this.options.display){var t=this.ctx;
if(i.each(
this.ticks,
function(e,a){
if(a>0||
this.options.reverse){var s=
this.getDistanceFromCenterForValue(
this.ticks[a]),o=this.yCenter-s;
if(this.options.gridLines.display)
if(t.strokeStyle=
this.options.gridLines.color,t.lineWidth=
this.options.gridLines.lineWidth,
this.options.lineArc)t.beginPath(),t.arc(this.xCenter,this.yCenter,s,0,2*Math.PI),t.closePath(),t.stroke();
else{t.beginPath();
for(var n=0;n<this.getValueCount();n++){var r=this.getPointPosition(n,this.getDistanceFromCenterForValue(this.ticks[a]));0===n?t.moveTo(r.x,r.y):t.lineTo(r.x,r.y)}t.closePath(),t.stroke()}
if(this.options.ticks.display){
if(t.font=i.fontString(
this.options.ticks.fontSize,
this.options.ticks.fontStyle,
this.options.ticks.fontFamily),this.options.ticks.showLabelBackdrop){var h=t.measureText(e).width;t.fillStyle=this.options.ticks.backdropColor,t.fillRect(this.xCenter-h/2-this.options.ticks.backdropPaddingX,o-
this.options.ticks.fontSize/2-
this.options.ticks.backdropPaddingY,h+2*
this.options.ticks.backdropPaddingX,
this.options.ticks.fontSize+2*
this.options.ticks.backdropPaddingY)}t.textAlign=
"center",t.textBaseline=
"middle",t.fillStyle=this.options.ticks.fontColor,t.fillText(e,this.xCenter,o)}}},
this),!this.options.lineArc){t.lineWidth=this.options.angleLines.lineWidth,t.strokeStyle=this.options.angleLines.color;
for(var e=this.getValueCount()-1;e>=0;e--){
if(this.options.angleLines.display){var a=this.getPointPosition(e,this.getDistanceFromCenterForValue(this.options.reverse?
this.min:
this.max));t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(a.x,a.y),t.stroke(),t.closePath()}var s=this.getPointPosition(e,this.getDistanceFromCenterForValue(this.options.reverse?
this.min:
this.max)+5);t.font=i.fontString(this.options.pointLabels.fontSize,
this.options.pointLabels.fontStyle,
this.options.pointLabels.fontFamily),t.fillStyle=this.options.pointLabels.fontColor;var o=this.chart.data.labels.length,n=this.chart.data.labels.length/2,r=n/2,h=r>e||e>o-r,l=e===r||e===o-r;0===e?t.textAlign=
"center":e===n?t.textAlign=
"center":n>e?t.textAlign=
"left":t.textAlign=
"right",l?t.textBaseline=
"middle":h?t.textBaseline=
"bottom":t.textBaseline=
"top",t.fillText(this.chart.data.labels[e],s.x,s.y)}}}}});e.scaleService.registerScaleType(
"radialLinear",s,a)}.call(
this),
function(t){
"use strict";
if(!t)
return void console.warn(
"Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at http://momentjs.com/");var e=
this,i=e.Chart,a=i.helpers,s={units:[{name:
"millisecond",steps:[1,2,5,10,20,50,100,250,500]},{name:
"second",steps:[1,2,5,10,30]},{name:
"minute",steps:[1,2,5,10,30]},{name:
"hour",steps:[1,2,3,6,12]},{name:
"day",steps:[1,2,5]},{name:
"week",maxStep:4},{name:
"month",maxStep:3},{name:
"quarter",maxStep:4},{name:
"year",maxStep:!1}]},o={position:
"bottom",time:{format:!1,unit:!1,round:!1,displayFormat:!1,displayFormats:{millisecond:
"SSS [ms]",second:
"h:mm:ss a",minute:
"h:mm:ss a",hour:
"MMM D, hA",day:
"ll",week:
"ll",month:
"MMM YYYY",quarter:
"[Q]Q - YYYY",year:
"YYYY"}}},n=i.Scale.extend({getLabelMoment:
function(t,e){
return this.labelMoments[t][e]},determineDataLimits:
function(){this.labelMoments=[];var e=[];this.chart.data.labels&&this.chart.data.labels.length>0?(a.each(this.chart.data.labels,
function(t,i){var a=
this.parseTime(t);this.options.time.round&&a.startOf(this.options.time.round),e.push(a)},
this),this.options.time.min?
this.firstTick=
this.parseTime(
this.options.time.min):this.firstTick=t.min.call(
this,e),this.options.time.max?this.lastTick=this.parseTime(this.options.time.max):this.lastTick=t.max.call(this,e)):(this.firstTick=null,this.lastTick=null),a.each(this.chart.data.datasets,function(i,s){var o=[];
"object"==typeof i.data[0]?a.each(i.data,
function(e,i){var a=
this.parseTime(
this.getRightValue(e));this.options.time.round&&a.startOf(this.options.time.round),o.push(a),this.firstTick=null!==this.firstTick?t.min(this.firstTick,a):a,this.lastTick=null!==this.lastTick?t.max(this.lastTick,a):a},
this):o=e,this.labelMoments.push(o)},
this),this.firstTick=(this.firstTick||t()).clone(),this.lastTick=(this.lastTick||t()).clone()},buildTicks:
function(t){
if(this.ticks=[],this.unitScale=1,this.options.time.unit)this.tickUnit=this.options.time.unit||
"day",this.displayFormat=this.options.time.displayFormats[this.tickUnit],this.tickRange=Math.ceil(this.lastTick.diff(
this.firstTick,
this.tickUnit,!0));
else{var e=this.width-(this.paddingLeft+this.paddingRight),i=e/(this.options.ticks.fontSize+10),o=this.options.time.round?0:2;this.tickUnit=
"millisecond",this.tickRange=Math.ceil(this.lastTick.diff(
this.firstTick,
this.tickUnit,!0)+o),this.displayFormat=this.options.time.displayFormats[
this.tickUnit];
for(var n=0,r=s.units[n];n<s.units.length;){
if(this.unitScale=1,a.isArray(r.steps)&&Math.ceil(this.tickRange/i)<a.max(r.steps)){
for(var h=0;h<r.steps.length;++h)
if(r.steps[h]>Math.ceil(
this.tickRange/i)){this.unitScale=r.steps[h];
break}
break}
if(r.maxStep===!1||Math.ceil(
this.tickRange/i)<r.maxStep){this.unitScale=Math.ceil(this.tickRange/i);
break}++n,r=s.units[n],this.tickUnit=r.name,this.tickRange=Math.ceil(this.lastTick.diff(
this.firstTick,
this.tickUnit)+o),this.displayFormat=this.options.time.displayFormats[r.name]}}this.firstTick.startOf(this.tickUnit),this.lastTick.endOf(this.tickUnit),this.smallestLabelSeparation=this.width,a.each(this.chart.data.datasets,
function(t,e){
for(var i=1;i<
this.labelMoments[e].length;i++)
this.smallestLabelSeparation=Math.min(
this.smallestLabelSeparation,
this.labelMoments[e][i].diff(
this.labelMoments[e][i-1],
this.tickUnit,!0))},
this),this.options.time.displayFormat&&(this.displayFormat=this.options.time.displayFormat);
for(var l=0;l<=this.tickRange;++l)
if(l%this.unitScale===0)this.ticks.push(this.firstTick.clone().add(l,this.tickUnit));
else if(l===this.tickRange){this.tickRange=Math.ceil(this.tickRange/this.unitScale)*this.unitScale,this.ticks.push(this.firstTick.clone().add(this.tickRange,this.tickUnit)),this.lastTick=this.ticks[this.ticks.length-1].clone();
break}},getLabelForIndex:
function(t,e){var i=this.chart.data.labels&&t<this.chart.data.labels.length?this.chart.data.labels[t]:
"";
return"object"==typeof this.chart.data.datasets[e].data[0]&&(i=this.getRightValue(this.chart.data.datasets[e].data[t])),this.options.time.tooltipFormat&&(i=
this.parseTime(i).format(this.options.time.tooltipFormat)),i},convertTicksToLabels:
function(){this.ticks=this.ticks.map(
function(t,e,i){var a=t.format(this.displayFormat);
return this.options.ticks.userCallback?this.options.ticks.userCallback(a,e,i):a},
this)},getPixelForValue:
function(t,e,i,a){var s=this.getLabelMoment(i,e),o=s.diff(this.firstTick,this.tickUnit,!0),n=o/this.tickRange;
if(this.isHorizontal()){var r=this.width-(this.paddingLeft+this.paddingRight),h=(r/Math.max(
this.ticks.length-1,1),r*n+this.paddingLeft);
return this.left+Math.round(h)}var l=this.height-(this.paddingTop+this.paddingBottom),c=(l/Math.max(
this.ticks.length-1,1),l*n+this.paddingTop);
return this.top+Math.round(c)},parseTime:
function(e){
return"function"==typeof e.getMonth||
"number"==typeof e?t(e):e.isValid&&e.isValid()?e:
"string"!=typeof this.options.time.format&&this.options.time.format.call?this.options.time.format(e):t(e,this.options.time.format)}});i.scaleService.registerScaleType(
"time",n,o)}.call(
this,t),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.global.elements.arc={backgroundColor:e.defaults.global.defaultColor,borderColor:
"#fff",borderWidth:2},e.elements.Arc=e.Element.extend({inLabelRange:
function(t){var e=this._view;
return e?Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2):!1},inRange:
function(t,e){var a=this._view;
if(a){var s=i.getAngleFromPoint(a,{x:t,y:e}),o=a.startAngle<-.5*Math.PI?a.startAngle+2*Math.PI:a.startAngle>1.5*Math.PI?a.startAngle-2*Math.PI:a.startAngle,n=a.endAngle<-.5*Math.PI?a.endAngle+2*Math.PI:a.endAngle>1.5*Math.PI?a.endAngle-2*Math.PI:a.endAngle,r=s.angle>=o&&s.angle<=n,h=s.distance>=a.innerRadius&&s.distance<=a.outerRadius;
return r&&h}
return!1},tooltipPosition:
function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,i=(t.outerRadius-t.innerRadius)/2+t.innerRadius;
return{x:t.x+Math.cos(e)*i,y:t.y+Math.sin(e)*i}},draw:
function(){var t=this._chart.ctx,e=this._view;t.beginPath(),t.arc(e.x,e.y,e.outerRadius,e.startAngle,e.endAngle),t.arc(e.x,e.y,e.innerRadius,e.endAngle,e.startAngle,!0),t.closePath(),t.strokeStyle=e.borderColor,t.lineWidth=e.borderWidth,t.fillStyle=e.backgroundColor,t.fill(),t.lineJoin=
"bevel",e.borderWidth&&t.stroke()}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers;e.defaults.global.elements.line={tension:.4,backgroundColor:e.defaults.global.defaultColor,borderWidth:3,borderColor:e.defaults.global.defaultColor,borderCapStyle:
"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:
"miter",fill:!0},e.elements.Line=e.Element.extend({lineToNextPoint:
function(t,e,i,a,s){var o=this._chart.ctx;e._view.skip?a.call(
this,t,e,i):t._view.skip?s.call(
this,t,e,i):0===e._view.tension?o.lineTo(e._view.x,e._view.y):o.bezierCurveTo(t._view.controlPointNextX,t._view.controlPointNextY,e._view.controlPointPreviousX,e._view.controlPointPreviousY,e._view.x,e._view.y)},draw:
function(){
function t(t){n._view.skip||r._view.skip?t&&o.lineTo(a._view.scaleZero.x,a._view.scaleZero.y):o.bezierCurveTo(r._view.controlPointNextX,r._view.controlPointNextY,n._view.controlPointPreviousX,n._view.controlPointPreviousY,n._view.x,n._view.y)}var a=
this,s=this._view,o=this._chart.ctx,n=this._children[0],r=this._children[this._children.length-1];o.save(),this._children.length>0&&s.fill&&(o.beginPath(),i.each(this._children,
function(t,e){var a=i.previousItem(this._children,e),n=i.nextItem(this._children,e);0===e?(this._loop?o.moveTo(s.scaleZero.x,s.scaleZero.y):o.moveTo(t._view.x,s.scaleZero),t._view.skip?this._loop||o.moveTo(n._view.x,
this._view.scaleZero):o.lineTo(t._view.x,t._view.y)):this.lineToNextPoint(a,t,n,
function(t,e,i){this._loop?o.lineTo(this._view.scaleZero.x,
this._view.scaleZero.y):(o.lineTo(t._view.x,
this._view.scaleZero),o.moveTo(i._view.x,
this._view.scaleZero))},
function(t,e){o.lineTo(e._view.x,e._view.y)})},
this),this._loop?t(!0):(o.lineTo(this._children[this._children.length-1]._view.x,s.scaleZero),o.lineTo(this._children[0]._view.x,s.scaleZero)),o.fillStyle=s.backgroundColor||e.defaults.global.defaultColor,o.closePath(),o.fill()),o.lineCap=s.borderCapStyle||e.defaults.global.elements.line.borderCapStyle,o.setLineDash&&o.setLineDash(s.borderDash||e.defaults.global.elements.line.borderDash),o.lineDashOffset=s.borderDashOffset||e.defaults.global.elements.line.borderDashOffset,o.lineJoin=s.borderJoinStyle||e.defaults.global.elements.line.borderJoinStyle,o.lineWidth=s.borderWidth||e.defaults.global.elements.line.borderWidth,o.strokeStyle=s.borderColor||e.defaults.global.defaultColor,o.beginPath(),i.each(this._children,function(t,e){var a=i.previousItem(this._children,e),s=i.nextItem(this._children,e);0===e?o.moveTo(t._view.x,t._view.y):this.lineToNextPoint(a,t,s,
function(t,e,i){o.moveTo(i._view.x,i._view.y)},
function(t,e){o.moveTo(e._view.x,e._view.y)})},
this),this._loop&&this._children.length>0&&t(),o.stroke(),o.restore()}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart;e.helpers;e.defaults.global.elements.point={radius:3,backgroundColor:e.defaults.global.defaultColor,borderWidth:1,borderColor:e.defaults.global.defaultColor,hitRadius:1,hoverRadius:4,hoverBorderWidth:1},e.elements.Point=e.Element.extend({inRange:
function(t,e){var i=this._view;
if(i){var a=i.hitRadius+i.radius;
return Math.pow(t-i.x,2)+Math.pow(e-i.y,2)<Math.pow(a,2)}
return!1},inLabelRange:
function(t){var e=this._view;
return e?Math.pow(t-e.x,2)<Math.pow(e.radius+e.hitRadius,2):!1},tooltipPosition:
function(){var t=this._view;
return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:
function(){var t=this._view,i=this._chart.ctx;t.skip||(t.radius>0||t.borderWidth>0)&&(i.beginPath(),i.arc(t.x,t.y,t.radius||e.defaults.global.elements.point.radius,0,2*Math.PI),i.closePath(),i.strokeStyle=t.borderColor||e.defaults.global.defaultColor,i.lineWidth=t.borderWidth||e.defaults.global.elements.point.borderWidth,i.fillStyle=t.backgroundColor||e.defaults.global.defaultColor,i.fill(),i.stroke())}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart;e.helpers;e.defaults.global.elements.rectangle={backgroundColor:e.defaults.global.defaultColor,borderWidth:0,borderColor:e.defaults.global.defaultColor},e.elements.Rectangle=e.Element.extend({draw:
function(){var t=this._chart.ctx,e=this._view,i=e.width/2,a=e.x-i,s=e.x+i,o=e.base-(e.base-e.y),n=e.borderWidth/2;e.borderWidth&&(a+=n,s-=n,o+=n),t.beginPath(),t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,t.lineWidth=e.borderWidth,t.moveTo(a,e.base),t.lineTo(a,o),t.lineTo(s,o),t.lineTo(s,e.base),t.fill(),e.borderWidth&&t.stroke()},height:
function(){var t=this._view;
return t.base-t.y},inRange:
function(t,e){var i=this._view,a=!1;
return i&&(a=i.y<i.base?t>=i.x-i.width/2&&t<=i.x+i.width/2&&e>=i.y&&e<=i.base:t>=i.x-i.width/2&&t<=i.x+i.width/2&&e>=i.base&&e<=i.y),a},inLabelRange:
function(t){var e=this._view;
return e?t>=e.x-e.width/2&&t<=e.x+e.width/2:!1},tooltipPosition:
function(){var t=this._view;
return{x:t.x,y:t.y}}})}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart;e.helpers;e.Bar=
function(t,i){
return i.type=
"bar",
new e(t,i)}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=(e.helpers,{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(t,e){
return""},label:
function(t,e){
return"("+t.xLabel+
", "+t.yLabel+
")"}}}});e.defaults.bubble=i,e.Bubble=
function(t,i){
return i.type=
"bubble",
new e(t,i)}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart;e.helpers;e.Doughnut=
function(t,i){
return i.type=
"doughnut",
new e(t,i)}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart;e.helpers;e.Line=
function(t,i){
return i.type=
"line",
new e(t,i)}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart;e.helpers;e.PolarArea=
function(t,i){
return i.type=
"polarArea",
new e(t,i)}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=e.helpers,a={aspectRatio:1};e.Radar=
function(t,s){
return s.options=i.configMerge(a,s.options),s.type=
"radar",
new e(t,s)}}.call(
this),
function(){
"use strict";var t=
this,e=t.Chart,i=(e.helpers,{hover:{mode:
"single"},scales:{xAxes:[{type:
"linear",position:
"bottom",
id:
"x-axis-1"}],yAxes:[{type:
"linear",position:
"left",
id:
"y-axis-1"}]},tooltips:{callbacks:{title:
function(t,e){
return""},label:
function(t,e){
return"("+t.xLabel+
", "+t.yLabel+
")"}}}});e.defaults.scatter=i,e.controllers.scatter=e.controllers.line,e.Scatter=
function(t,i){
return i.type=
"scatter",
new e(t,i)}}.call(
this),Chart});