/*
 Highcharts JS v5.0.14 (2017-07-28)

 (c) 2009-2016 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(x){"object"===typeof module&&module.exports?module.exports=x:x(Highcharts)})(function(x){(function(b){function t(b,a){this.init(b,a)}var u=b.CenteredSeriesMixin,v=b.each,g=b.extend,f=b.merge,k=b.splat;g(t.prototype,{coll:"pane",init:function(b,a){this.chart=a;this.background=[];a.pane.push(this);this.setOptions(b)},setOptions:function(b){this.options=f(this.defaultOptions,this.chart.angular?{background:{}}:void 0,b)},render:function(){var b=this.options,a=this.options.background,c=this.chart.renderer;
this.group||(this.group=c.g("pane-group").attr({zIndex:b.zIndex||0}).add());this.updateCenter();if(a)for(a=k(a),b=Math.max(a.length,this.background.length||0),c=0;c<b;c++)a[c]&&this.axis?this.renderBackground(f(this.defaultBackgroundOptions,a[c]),c):this.background[c]&&(this.background[c]=this.background[c].destroy(),this.background.splice(c,1))},renderBackground:function(b,a){var c="animate";this.background[a]||(this.background[a]=this.chart.renderer.path().add(this.group),c="attr");this.background[a][c]({d:this.axis.getPlotBandPath(b.from,
b.to,b)}).attr({"class":"highcharts-pane "+(b.className||"")})},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(b){this.center=(b||this.axis||{}).center=u.getCenter.call(this)},update:function(b,a){f(!0,this.options,b);this.setOptions(this.options);this.render();v(this.chart.axes,function(c){c.pane===this&&(c.pane=null,c.update({},a))},this)}});
b.Pane=t})(x);(function(b){var t=b.each,u=b.extend,v=b.map,g=b.merge,f=b.noop,k=b.pick,q=b.pInt,a=b.wrap,c,h,l=b.Axis.prototype;b=b.Tick.prototype;c={getOffset:f,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},setScale:f,setCategories:f,setTitle:f};h={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},
zIndex:2},defaultRadialXOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialYOptions:{gridLineInterpolation:"circle",labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(d){d=this.options=g(this.defaultOptions,this.defaultRadialOptions,d);d.plotBands||(d.plotBands=[])},getOffset:function(){l.getOffset.call(this);this.chart.axisOffset[this.side]=0},getLinePath:function(d,
a){d=this.center;var c=this.chart,e=k(a,d[2]/2-this.offset);this.isCircular||void 0!==a?a=this.chart.renderer.symbols.arc(this.left+d[0],this.top+d[1],e,e,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}):(a=this.postTranslate(this.angleRad,e),a=["M",d[0]+c.plotLeft,d[1]+c.plotTop,"L",a.x,a.y]);return a},setAxisTranslation:function(){l.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/
2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){if(this.autoConnect=this.isCircular&&void 0===k(this.userMax,this.options.max)&&this.endAngleRad-this.startAngleRad===2*Math.PI)this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0},setAxisSize:function(){l.setAxisSize.call(this);this.isRadial&&(this.pane.updateCenter(this),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=
this.height=this.center[2]*k(this.sector,1)/2)},getPosition:function(d,a){return this.postTranslate(this.isCircular?this.translate(d):this.angleRad,k(this.isCircular?a:this.translate(d),this.center[2]/2)-this.offset)},postTranslate:function(d,a){var c=this.chart,e=this.center;d=this.startAngleRad+d;return{x:c.plotLeft+e[0]+Math.cos(d)*a,y:c.plotTop+e[1]+Math.sin(d)*a}},getPlotBandPath:function(d,a,c){var e=this.center,h=this.startAngleRad,b=e[2]/2,n=[k(c.outerRadius,"100%"),c.innerRadius,k(c.thickness,
10)],l=Math.min(this.offset,0),f=/%$/,y,g=this.isCircular;"polygon"===this.options.gridLineInterpolation?e=this.getPlotLinePath(d).concat(this.getPlotLinePath(a,!0)):(d=Math.max(d,this.min),a=Math.min(a,this.max),g||(n[0]=this.translate(d),n[1]=this.translate(a)),n=v(n,function(a){f.test(a)&&(a=q(a,10)*b/100);return a}),"circle"!==c.shape&&g?(d=h+this.translate(d),a=h+this.translate(a)):(d=-Math.PI/2,a=1.5*Math.PI,y=!0),n[0]-=l,n[2]-=l,e=this.chart.renderer.symbols.arc(this.left+e[0],this.top+e[1],
n[0],n[0],{start:Math.min(d,a),end:Math.max(d,a),innerR:k(n[1],n[0]-n[2]),open:y}));return e},getPlotLinePath:function(a,c){var d=this,e=d.center,h=d.chart,b=d.getPosition(a),l,f,g;d.isCircular?g=["M",e[0]+h.plotLeft,e[1]+h.plotTop,"L",b.x,b.y]:"circle"===d.options.gridLineInterpolation?(a=d.translate(a))&&(g=d.getLinePath(0,a)):(t(h.xAxis,function(a){a.pane===d.pane&&(l=a)}),g=[],a=d.translate(a),e=l.tickPositions,l.autoConnect&&(e=e.concat([e[0]])),c&&(e=[].concat(e).reverse()),t(e,function(d,c){f=
l.getPosition(d,a);g.push(c?"L":"M",f.x,f.y)}));return g},getTitlePosition:function(){var a=this.center,c=this.chart,h=this.options.title;return{x:c.plotLeft+a[0]+(h.x||0),y:c.plotTop+a[1]-{high:.5,middle:.25,low:0}[h.align]*a[2]+(h.y||0)}}};a(l,"init",function(a,e,b){var d=e.angular,l=e.polar,n=b.isX,p=d&&n,f,F=e.options,y=this.pane=e.pane[b.pane||0],q=y.options;if(d){if(u(this,p?c:h),f=!n)this.defaultRadialOptions=this.defaultRadialGaugeOptions}else l&&(u(this,h),this.defaultRadialOptions=(f=n)?
this.defaultRadialXOptions:g(this.defaultYAxisOptions,this.defaultRadialYOptions));d||l?(this.isRadial=!0,e.inverted=!1,F.chart.zoomType=null):this.isRadial=!1;f&&(y.axis=this);a.call(this,e,b);p||!d&&!l||(a=this.options,this.angleRad=(a.angle||0)*Math.PI/180,this.startAngleRad=(q.startAngle-90)*Math.PI/180,this.endAngleRad=(k(q.endAngle,q.startAngle+360)-90)*Math.PI/180,this.offset=a.offset||0,this.isCircular=f)});a(l,"autoLabelAlign",function(a){if(!this.isRadial)return a.apply(this,[].slice.call(arguments,
1))});a(b,"getPosition",function(a,c,h,b,l){var d=this.axis;return d.getPosition?d.getPosition(h):a.call(this,c,h,b,l)});a(b,"getLabelPosition",function(a,c,h,b,l,w,p,f,g){var d=this.axis,e=w.y,n=20,r=w.align,m=(d.translate(this.pos)+d.startAngleRad+Math.PI/2)/Math.PI*180%360;d.isRadial?(a=d.getPosition(this.pos,d.center[2]/2+k(w.distance,-25)),"auto"===w.rotation?b.attr({rotation:m}):null===e&&(e=d.chart.renderer.fontMetrics(b.styles.fontSize).b-b.getBBox().height/2),null===r&&(d.isCircular?(this.label.getBBox().width>
d.len*d.tickInterval/(d.max-d.min)&&(n=0),r=m>n&&m<180-n?"left":m>180+n&&m<360-n?"right":"center"):r="center",b.attr({align:r})),a.x+=w.x,a.y+=e):a=a.call(this,c,h,b,l,w,p,f,g);return a});a(b,"getMarkPath",function(a,c,h,b,l,f,p){var d=this.axis;d.isRadial?(a=d.getPosition(this.pos,d.center[2]/2+b),c=["M",c,h,"L",a.x,a.y]):c=a.call(this,c,h,b,l,f,p);return c})})(x);(function(b){var t=b.each,u=b.pick,v=b.defined,g=b.seriesType,f=b.seriesTypes,k=b.Series.prototype,q=b.Point.prototype;g("arearange",
"area",{threshold:null,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{series.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0}},{pointArrayMap:["low","high"],dataLabelCollections:["dataLabel","dataLabelUpper"],toYData:function(a){return[a.low,a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var c=this.chart,
h=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=h.x-c.plotLeft;a.plotHigh=h.y-c.plotTop;a.plotLowX=a.plotX},translate:function(){var a=this,c=a.yAxis,h=!!a.modifyValue;f.area.prototype.translate.apply(a);t(a.points,function(b){var d=b.low,e=b.high,l=b.plotY;null===e||null===d?(b.isNull=!0,b.plotY=null):(b.plotLow=l,b.plotHigh=c.translate(h?a.modifyValue(e,b):e,0,1,0,1),h&&(b.yBottom=b.plotHigh))});this.chart.polar&&t(this.points,function(c){a.highToXY(c);c.tooltipPos=
[(c.plotHighX+c.plotLowX)/2,(c.plotHigh+c.plotLow)/2]})},getGraphPath:function(a){var c=[],b=[],l,d=f.area.prototype.getGraphPath,e,n,r;r=this.options;var m=this.chart.polar&&!1!==r.connectEnds,w=r.connectNulls,p=r.step;a=a||this.points;for(l=a.length;l--;)e=a[l],e.isNull||m||w||a[l+1]&&!a[l+1].isNull||b.push({plotX:e.plotX,plotY:e.plotY,doCurve:!1}),n={polarPlotY:e.polarPlotY,rectPlotX:e.rectPlotX,yBottom:e.yBottom,plotX:u(e.plotHighX,e.plotX),plotY:e.plotHigh,isNull:e.isNull},b.push(n),c.push(n),
e.isNull||m||w||a[l-1]&&!a[l-1].isNull||b.push({plotX:e.plotX,plotY:e.plotY,doCurve:!1});a=d.call(this,a);p&&(!0===p&&(p="left"),r.step={left:"right",center:"center",right:"left"}[p]);c=d.call(this,c);b=d.call(this,b);r.step=p;r=[].concat(a,c);this.chart.polar||"M"!==b[0]||(b[0]="L");this.graphPath=r;this.areaPath=this.areaPath.concat(a,b);r.isArea=!0;r.xMap=a.xMap;this.areaPath.xMap=a.xMap;return r},drawDataLabels:function(){var a=this.data,c=a.length,b,l=[],d=this.options.dataLabels,e=d.align,n=
d.verticalAlign,r=d.inside,m,f,p=this.chart.inverted;if(d.enabled||this._hasPointLabels){for(b=c;b--;)if(m=a[b])f=r?m.plotHigh<m.plotLow:m.plotHigh>m.plotLow,m.y=m.high,m._plotY=m.plotY,m.plotY=m.plotHigh,l[b]=m.dataLabel,m.dataLabel=m.dataLabelUpper,m.below=f,p?e||(d.align=f?"right":"left"):n||(d.verticalAlign=f?"top":"bottom"),d.x=d.xHigh,d.y=d.yHigh;k.drawDataLabels&&k.drawDataLabels.apply(this,arguments);for(b=c;b--;)if(m=a[b])f=r?m.plotHigh<m.plotLow:m.plotHigh>m.plotLow,m.dataLabelUpper=m.dataLabel,
m.dataLabel=l[b],m.y=m.low,m.plotY=m._plotY,m.below=!f,p?e||(d.align=f?"left":"right"):n||(d.verticalAlign=f?"bottom":"top"),d.x=d.xLow,d.y=d.yLow;k.drawDataLabels&&k.drawDataLabels.apply(this,arguments)}d.align=e;d.verticalAlign=n},alignDataLabel:function(){f.column.prototype.alignDataLabel.apply(this,arguments)},drawPoints:function(){var a=this.points.length,c,b;k.drawPoints.apply(this,arguments);for(b=0;b<a;)c=this.points[b],c.lowerGraphic=c.graphic,c.graphic=c.upperGraphic,c._plotY=c.plotY,c._plotX=
c.plotX,c.plotY=c.plotHigh,v(c.plotHighX)&&(c.plotX=c.plotHighX),b++;k.drawPoints.apply(this,arguments);for(b=0;b<a;)c=this.points[b],c.upperGraphic=c.graphic,c.graphic=c.lowerGraphic,c.plotY=c._plotY,c.plotX=c._plotX,b++},setStackedPoints:b.noop},{setState:function(){var a=this.state,c=this.series,b=c.chart.polar;v(this.plotHigh)||(this.plotHigh=c.yAxis.toPixels(this.high,!0));v(this.plotLow)||(this.plotLow=this.plotY=c.yAxis.toPixels(this.low,!0));q.setState.apply(this,arguments);this.graphic=this.upperGraphic;
this.plotY=this.plotHigh;b&&(this.plotX=this.plotHighX);this.state=a;c.stateMarkerGraphic&&(c.lowerStateMarkerGraphic=c.stateMarkerGraphic,c.stateMarkerGraphic=c.upperStateMarkerGraphic);q.setState.apply(this,arguments);this.plotY=this.plotLow;this.graphic=this.lowerGraphic;b&&(this.plotX=this.plotLowX);c.stateMarkerGraphic&&(c.upperStateMarkerGraphic=c.stateMarkerGraphic,c.stateMarkerGraphic=c.lowerStateMarkerGraphic)},haloPath:function(){var a=this.series.chart.polar,c;this.plotY=this.plotLow;a&&
(this.plotX=this.plotLowX);c=q.haloPath.apply(this,arguments);this.plotY=this.plotHigh;a&&(this.plotX=this.plotHighX);return c=c.concat(q.haloPath.apply(this,arguments))},destroy:function(){this.upperGraphic&&(this.upperGraphic=this.upperGraphic.destroy());return q.destroy.apply(this,arguments)}})})(x);(function(b){var t=b.seriesType;t("areasplinerange","arearange",null,{getPointSpline:b.seriesTypes.spline.prototype.getPointSpline})})(x);(function(b){var t=b.defaultPlotOptions,u=b.each,v=b.merge,
g=b.noop,f=b.pick,k=b.seriesType,q=b.seriesTypes.column.prototype;k("columnrange","arearange",v(t.column,t.arearange,{lineWidth:1,pointRange:null,marker:null,states:{hover:{halo:!1}}}),{translate:function(){var a=this,c=a.yAxis,b=a.xAxis,l=b.startAngleRad,d,e=a.chart,n=a.xAxis.isRadial,r=Math.max(e.chartWidth,e.chartHeight)+999,m;q.translate.apply(a);u(a.points,function(h){var p=h.shapeArgs,g=a.options.minPointLength,w,k;h.plotHigh=m=Math.min(Math.max(-r,c.translate(h.high,0,1,0,1)),r);h.plotLow=
Math.min(Math.max(-r,h.plotY),r);k=m;w=f(h.rectPlotY,h.plotY)-m;Math.abs(w)<g?(g-=w,w+=g,k-=g/2):0>w&&(w*=-1,k-=w);n?(d=h.barX+l,h.shapeType="path",h.shapeArgs={d:a.polarArc(k+w,k,d,d+h.pointWidth)}):(p.height=w,p.y=k,h.tooltipPos=e.inverted?[c.len+c.pos-e.plotLeft-k-w/2,b.len+b.pos-e.plotTop-p.x-p.width/2,w]:[b.left-e.plotLeft+p.x+p.width/2,c.pos-e.plotTop+k+w/2,w])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:g,getSymbol:g,crispCol:q.crispCol,drawPoints:q.drawPoints,drawTracker:q.drawTracker,
getColumnMetrics:q.getColumnMetrics,animate:function(){return q.animate.apply(this,arguments)},polarArc:function(){return q.polarArc.apply(this,arguments)},pointAttribs:q.pointAttribs},{setState:q.pointClass.prototype.setState})})(x);(function(b){var t=b.each,u=b.isNumber,v=b.merge,g=b.pick,f=b.pInt,k=b.Series,q=b.seriesType,a=b.TrackerMixin;q("gauge","line",{dataLabels:{enabled:!0,defer:!1,y:15,borderRadius:3,crop:!1,verticalAlign:"top",zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},
{angular:!0,directTouch:!0,drawGraph:b.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var a=this.yAxis,b=this.options,l=a.center;this.generatePoints();t(this.points,function(d){var c=v(b.dial,d.dial),h=f(g(c.radius,80))*l[2]/200,r=f(g(c.baseLength,70))*h/100,m=f(g(c.rearLength,10))*h/100,w=c.baseWidth||3,p=c.topWidth||1,k=b.overshoot,q=a.startAngleRad+a.translate(d.y,null,null,null,!0);u(k)?(k=k/180*Math.PI,q=Math.max(a.startAngleRad-
k,Math.min(a.endAngleRad+k,q))):!1===b.wrap&&(q=Math.max(a.startAngleRad,Math.min(a.endAngleRad,q)));q=180*q/Math.PI;d.shapeType="path";d.shapeArgs={d:c.path||["M",-m,-w/2,"L",r,-w/2,h,-p/2,h,p/2,r,w/2,-m,w/2,"z"],translateX:l[0],translateY:l[1],rotation:q};d.plotX=l[0];d.plotY=l[1]})},drawPoints:function(){var a=this,b=a.yAxis.center,l=a.pivot,d=a.options,e=d.pivot,n=a.chart.renderer;t(a.points,function(c){var b=c.graphic,e=c.shapeArgs,h=e.d;v(d.dial,c.dial);b?(b.animate(e),e.d=h):c.graphic=n[c.shapeType](e).attr({rotation:e.rotation,
zIndex:1}).addClass("highcharts-dial").add(a.group)});l?l.animate({translateX:b[0],translateY:b[1]}):a.pivot=n.circle(0,0,g(e.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(b[0],b[1]).add(a.group)},animate:function(a){var c=this;a||(t(c.points,function(a){var d=a.graphic;d&&(d.attr({rotation:180*c.yAxis.startAngleRad/Math.PI}),d.animate({rotation:a.shapeArgs.rotation},c.options.animation))}),c.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?
"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);k.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(a,b){k.prototype.setData.call(this,a,!1);this.processData();this.generatePoints();g(b,!0)&&this.chart.redraw()},drawTracker:a&&a.drawTrackerPoint},{setState:function(a){this.state=a}})})(x);(function(b){var t=b.each,u=b.noop,v=b.seriesType,g=b.seriesTypes;v("boxplot","column",{threshold:null,tooltip:{pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e \x3cb\x3e {series.name}\x3c/b\x3e\x3cbr/\x3eMaximum: {point.high}\x3cbr/\x3eUpper quartile: {point.q3}\x3cbr/\x3eMedian: {point.median}\x3cbr/\x3eLower quartile: {point.q1}\x3cbr/\x3eMinimum: {point.low}\x3cbr/\x3e'},
whiskerLength:"50%"},{pointArrayMap:["low","q1","median","q3","high"],toYData:function(b){return[b.low,b.q1,b.median,b.q3,b.high]},pointValKey:"high",drawDataLabels:u,translate:function(){var b=this.yAxis,k=this.pointArrayMap;g.column.prototype.translate.apply(this);t(this.points,function(f){t(k,function(a){null!==f[a]&&(f[a+"Plot"]=b.translate(f[a],0,1,0,1))})})},drawPoints:function(){var b=this,g=b.chart.renderer,q,a,c,h,l,d,e=0,n,r,m,w,p=!1!==b.doQuartiles,u,v=b.options.whiskerLength;t(b.points,
function(f){var k=f.graphic,t=k?"animate":"attr",E=f.shapeArgs;void 0!==f.plotY&&(n=E.width,r=Math.floor(E.x),m=r+n,w=Math.round(n/2),q=Math.floor(p?f.q1Plot:f.lowPlot),a=Math.floor(p?f.q3Plot:f.lowPlot),c=Math.floor(f.highPlot),h=Math.floor(f.lowPlot),k||(f.graphic=k=g.g("point").add(b.group),f.stem=g.path().addClass("highcharts-boxplot-stem").add(k),v&&(f.whiskers=g.path().addClass("highcharts-boxplot-whisker").add(k)),p&&(f.box=g.path(void 0).addClass("highcharts-boxplot-box").add(k)),f.medianShape=
g.path(void 0).addClass("highcharts-boxplot-median").add(k)),d=f.stem.strokeWidth()%2/2,e=r+w+d,f.stem[t]({d:["M",e,a,"L",e,c,"M",e,q,"L",e,h]}),p&&(d=f.box.strokeWidth()%2/2,q=Math.floor(q)+d,a=Math.floor(a)+d,r+=d,m+=d,f.box[t]({d:["M",r,a,"L",r,q,"L",m,q,"L",m,a,"L",r,a,"z"]})),v&&(d=f.whiskers.strokeWidth()%2/2,c+=d,h+=d,u=/%$/.test(v)?w*parseFloat(v)/100:v/2,f.whiskers[t]({d:["M",e-u,c,"L",e+u,c,"M",e-u,h,"L",e+u,h]})),l=Math.round(f.medianPlot),d=f.medianShape.strokeWidth()%2/2,l+=d,f.medianShape[t]({d:["M",
r,l,"L",m,l]}))})},setStackedPoints:u})})(x);(function(b){var t=b.each,u=b.noop,v=b.seriesType,g=b.seriesTypes;v("errorbar","boxplot",{grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.low}\x3c/b\x3e - \x3cb\x3e{point.high}\x3c/b\x3e\x3cbr/\x3e'},whiskerWidth:null},{type:"errorbar",pointArrayMap:["low","high"],toYData:function(b){return[b.low,b.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:g.arearange?
function(){var b=this.pointValKey;g.arearange.prototype.drawDataLabels.call(this);t(this.data,function(f){f.y=f[b]})}:u,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||g.column.prototype.getColumnMetrics.call(this)}})})(x);(function(b){var t=b.correctFloat,u=b.isNumber,v=b.pick,g=b.Point,f=b.Series,k=b.seriesType,q=b.seriesTypes;k("waterfall","column",{dataLabels:{inside:!0}},{pointValKey:"y",translate:function(){var a=this.options,c=this.yAxis,b,l,d,e,n,f,m,
g,p,k,u=v(a.minPointLength,5),x=u/2,A=a.threshold,B=a.stacking,z;q.column.prototype.translate.apply(this);g=p=A;l=this.points;b=0;for(a=l.length;b<a;b++)d=l[b],m=this.processedYData[b],e=d.shapeArgs,n=B&&c.stacks[(this.negStacks&&m<A?"-":"")+this.stackKey],z=this.getStackIndicator(z,d.x,this.index),k=n?n[d.x].points[z.key]:[0,m],d.isSum?d.y=t(m):d.isIntermediateSum&&(d.y=t(m-p)),f=Math.max(g,g+d.y)+k[0],e.y=c.translate(f,0,1,0,1),d.isSum?(e.y=c.translate(k[1],0,1,0,1),e.height=Math.min(c.translate(k[0],
0,1,0,1),c.len)-e.y):d.isIntermediateSum?(e.y=c.translate(k[1],0,1,0,1),e.height=Math.min(c.translate(p,0,1,0,1),c.len)-e.y,p=k[1]):(e.height=0<m?c.translate(g,0,1,0,1)-e.y:c.translate(g,0,1,0,1)-c.translate(g-m,0,1,0,1),g+=n&&n[d.x]?n[d.x].total:m),0>e.height&&(e.y+=e.height,e.height*=-1),d.plotY=e.y=Math.round(e.y)-this.borderWidth%2/2,e.height=Math.max(Math.round(e.height),.001),d.yBottom=e.y+e.height,e.height<=u&&!d.isNull?(e.height=u,e.y-=x,d.plotY=e.y,d.minPointLengthOffset=0>d.y?-x:x):d.minPointLengthOffset=
0,e=d.plotY+(d.negative?e.height:0),this.chart.inverted?d.tooltipPos[0]=c.len-e:d.tooltipPos[1]=e},processData:function(a){var c=this.yData,b=this.options.data,l,d=c.length,e,n,r,m,g,p;n=e=r=m=this.options.threshold||0;for(p=0;p<d;p++)g=c[p],l=b&&b[p]?b[p]:{},"sum"===g||l.isSum?c[p]=t(n):"intermediateSum"===g||l.isIntermediateSum?c[p]=t(e):(n+=g,e+=g),r=Math.min(n,r),m=Math.max(n,m);f.prototype.processData.call(this,a);this.options.stacking||(this.dataMin=r,this.dataMax=m)},toYData:function(a){return a.isSum?
0===a.x?null:"sum":a.isIntermediateSum?0===a.x?null:"intermediateSum":a.y},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){var a=this.data,b=a.length,h=this.graph.strokeWidth()+this.borderWidth,h=Math.round(h)%2/2,l=this.yAxis.reversed,d=[],e,n,f;for(f=1;f<b;f++){n=a[f].shapeArgs;e=a[f-1].shapeArgs;n=["M",e.x+e.width,e.y+a[f-1].minPointLengthOffset+h,"L",n.x,e.y+a[f-1].minPointLengthOffset+h];if(0>a[f-1].y&&!l||0<a[f-1].y&&l)n[2]+=e.height,n[5]+=e.height;d=d.concat(n)}return d},drawGraph:function(){f.prototype.drawGraph.call(this);
this.graph.attr({d:this.getCrispPath()})},setStackedPoints:function(){var a=this.options,b,h;f.prototype.setStackedPoints.apply(this,arguments);b=this.stackedYData?this.stackedYData.length:0;for(h=1;h<b;h++)a.data[h].isSum||a.data[h].isIntermediateSum||(this.stackedYData[h]+=this.stackedYData[h-1])},getExtremes:function(){if(this.options.stacking)return f.prototype.getExtremes.apply(this,arguments)}},{getClassName:function(){var a=g.prototype.getClassName.call(this);this.isSum?a+=" highcharts-sum":
this.isIntermediateSum&&(a+=" highcharts-intermediate-sum");return a},isValid:function(){return u(this.y,!0)||this.isSum||this.isIntermediateSum}})})(x);(function(b){var t=b.Series,u=b.seriesType,v=b.seriesTypes;u("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var b=t.prototype.getGraphPath.call(this),f=b.length+1;f--;)(f===b.length||"M"===b[f])&&0<f&&b.splice(f,
0,"z");return this.areaPath=b},drawGraph:function(){v.area.prototype.drawGraph.call(this)},drawLegendSymbol:b.LegendSymbolMixin.drawRectangle,drawTracker:t.prototype.drawTracker,setStackedPoints:b.noop})})(x);(function(b){var t=b.arrayMax,u=b.arrayMin,v=b.Axis,g=b.each,f=b.isNumber,k=b.noop,q=b.pick,a=b.pInt,c=b.Point,h=b.seriesType,l=b.seriesTypes;h("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{radius:null,states:{hover:{radiusPlus:0}},
symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,getRadii:function(a,b,c,f){var d,e,h,l=this.zData,n=[],r=this.options,g="width"!==r.sizeBy,k=r.zThreshold,q=b-a;e=0;for(d=l.length;e<d;e++)h=l[e],
r.sizeByAbsoluteValue&&null!==h&&(h=Math.abs(h-k),b=Math.max(b-k,Math.abs(a-k)),a=0),null===h?h=null:h<a?h=c/2-1:(h=0<q?(h-a)/q:.5,g&&0<=h&&(h=Math.sqrt(h)),h=Math.ceil(c+h*(f-c))/2),n.push(h);this.radii=n},animate:function(a){var b=this.options.animation;a||(g(this.points,function(a){var c=a.graphic,d;c&&c.width&&(d={x:c.x,y:c.y,width:c.width,height:c.height},c.attr({x:a.plotX,y:a.plotY,width:1,height:1}),c.animate(d,b))}),this.animate=null)},translate:function(){var a,c=this.data,h,g,m=this.radii;
l.scatter.prototype.translate.call(this);for(a=c.length;a--;)h=c[a],g=m?m[a]:0,f(g)&&g>=this.minPxSize/2?(h.marker=b.extend(h.marker,{radius:g,width:2*g,height:2*g}),h.dlBox={x:h.plotX-g,y:h.plotY-g,width:2*g,height:2*g}):h.shapeArgs=h.plotY=h.dlBox=void 0},alignDataLabel:l.column.prototype.alignDataLabel,buildKDTree:k,applyZones:k},{haloPath:function(a){return c.prototype.haloPath.call(this,0===a?0:(this.marker?this.marker.radius||0:0)+a)},ttBelow:!1});v.prototype.beforePadding=function(){var b=
this,c=this.len,h=this.chart,l=0,m=c,k=this.isXAxis,p=k?"xData":"yData",v=this.min,x={},y=Math.min(h.plotWidth,h.plotHeight),A=Number.MAX_VALUE,B=-Number.MAX_VALUE,z=this.max-v,C=c/z,D=[];g(this.series,function(c){var d=c.options;!c.bubblePadding||!c.visible&&h.options.chart.ignoreHiddenSeries||(b.allowZoomOutside=!0,D.push(c),k&&(g(["minSize","maxSize"],function(c){var b=d[c],e=/%$/.test(b),b=a(b);x[c]=e?y*b/100:b}),c.minPxSize=x.minSize,c.maxPxSize=Math.max(x.maxSize,x.minSize),c=c.zData,c.length&&
(A=q(d.zMin,Math.min(A,Math.max(u(c),!1===d.displayNegative?d.zThreshold:-Number.MAX_VALUE))),B=q(d.zMax,Math.max(B,t(c))))))});g(D,function(a){var c=a[p],d=c.length,e;k&&a.getRadii(A,B,a.minPxSize,a.maxPxSize);if(0<z)for(;d--;)f(c[d])&&b.dataMin<=c[d]&&c[d]<=b.dataMax&&(e=a.radii[d],l=Math.min((c[d]-v)*C-e,l),m=Math.max((c[d]-v)*C+e,m))});D.length&&0<z&&!this.isLog&&(m-=c,C*=(c+l-m)/c,g([["min","userMin",l],["max","userMax",m]],function(a){void 0===q(b.options[a[0]],b[a[1]])&&(b[a[0]]+=a[2]/C)}))}})(x);
(function(b){function t(a,c){var b=this.chart,f=this.options.animation,d=this.group,e=this.markerGroup,g=this.xAxis.center,k=b.plotLeft,m=b.plotTop;b.polar?b.renderer.isSVG&&(!0===f&&(f={}),c?(a={translateX:g[0]+k,translateY:g[1]+m,scaleX:.001,scaleY:.001},d.attr(a),e&&e.attr(a)):(a={translateX:k,translateY:m,scaleX:1,scaleY:1},d.animate(a,f),e&&e.animate(a,f),this.animate=null)):a.call(this,c)}var u=b.each,v=b.pick,g=b.seriesTypes,f=b.wrap,k=b.Series.prototype,q=b.Pointer.prototype;k.searchPointByAngle=
function(a){var c=this.chart,b=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(a.chartX-b[0]-c.plotLeft,a.chartY-b[1]-c.plotTop)})};k.getConnectors=function(a,b,h,f){var c,e,l,g,m,k,p,q;e=f?1:0;c=0<=b&&b<=a.length-1?b:0>b?a.length-1+b:0;b=0>c-1?a.length-(1+e):c-1;e=c+1>a.length-1?e:c+1;l=a[b];e=a[e];g=l.plotX;l=l.plotY;m=e.plotX;k=e.plotY;e=a[c].plotX;c=a[c].plotY;g=(1.5*e+g)/2.5;l=(1.5*c+l)/2.5;m=(1.5*e+m)/2.5;p=(1.5*c+k)/2.5;k=Math.sqrt(Math.pow(g-e,2)+Math.pow(l-
c,2));q=Math.sqrt(Math.pow(m-e,2)+Math.pow(p-c,2));g=Math.atan2(l-c,g-e);p=Math.PI/2+(g+Math.atan2(p-c,m-e))/2;Math.abs(g-p)>Math.PI/2&&(p-=Math.PI);g=e+Math.cos(p)*k;l=c+Math.sin(p)*k;m=e+Math.cos(Math.PI+p)*q;p=c+Math.sin(Math.PI+p)*q;e={rightContX:m,rightContY:p,leftContX:g,leftContY:l,plotX:e,plotY:c};h&&(e.prevPointCont=this.getConnectors(a,b,!1,f));return e};f(k,"buildKDTree",function(a){this.chart.polar&&(this.kdByAngle?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy=
"xy");a.apply(this)});k.toXY=function(a){var b,h=this.chart,f=a.plotX;b=a.plotY;a.rectPlotX=f;a.rectPlotY=b;b=this.xAxis.postTranslate(a.plotX,this.yAxis.len-b);a.plotX=a.polarPlotX=b.x-h.plotLeft;a.plotY=a.polarPlotY=b.y-h.plotTop;this.kdByAngle?(h=(f/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>h&&(h+=360),a.clientX=h):a.clientX=a.plotX};g.spline&&(f(g.spline.prototype,"getPointSpline",function(a,b,h,f){this.chart.polar?f?(a=this.getConnectors(b,f,!0,this.connectEnds),a=["C",a.prevPointCont.rightContX,
a.prevPointCont.rightContY,a.leftContX,a.leftContY,a.plotX,a.plotY]):a=["M",h.plotX,h.plotY]:a=a.call(this,b,h,f);return a}),g.areasplinerange&&(g.areasplinerange.prototype.getPointSpline=g.spline.prototype.getPointSpline));f(k,"translate",function(a){var b=this.chart;a.call(this);if(b.polar&&(this.kdByAngle=b.tooltip&&b.tooltip.shared,!this.preventPostTranslate))for(a=this.points,b=a.length;b--;)this.toXY(a[b])});f(k,"getGraphPath",function(a,b){var c=this,f,d,e;if(this.chart.polar){b=b||this.points;
for(f=0;f<b.length;f++)if(!b[f].isNull){d=f;break}!1!==this.options.connectEnds&&void 0!==d&&(this.connectEnds=!0,b.splice(b.length,0,b[d]),e=!0);u(b,function(a){void 0===a.polarPlotY&&c.toXY(a)})}f=a.apply(this,[].slice.call(arguments,1));e&&b.pop();return f});f(k,"animate",t);g.column&&(g=g.column.prototype,g.polarArc=function(a,b,f,g){var c=this.xAxis.center,e=this.yAxis.len;return this.chart.renderer.symbols.arc(c[0],c[1],e-b,null,{start:f,end:g,innerR:e-v(a,e)})},f(g,"animate",t),f(g,"translate",
function(a){var b=this.xAxis,f=b.startAngleRad,g,d,e;this.preventPostTranslate=!0;a.call(this);if(b.isRadial)for(g=this.points,e=g.length;e--;)d=g[e],a=d.barX+f,d.shapeType="path",d.shapeArgs={d:this.polarArc(d.yBottom,d.plotY,a,a+d.pointWidth)},this.toXY(d),d.tooltipPos=[d.plotX,d.plotY],d.ttBelow=d.plotY>b.center[1]}),f(g,"alignDataLabel",function(a,b,f,g,d,e){this.chart.polar?(a=b.rectPlotX/Math.PI*180,null===g.align&&(g.align=20<a&&160>a?"left":200<a&&340>a?"right":"center"),null===g.verticalAlign&&
(g.verticalAlign=45>a||315<a?"bottom":135<a&&225>a?"top":"middle"),k.alignDataLabel.call(this,b,f,g,d,e)):a.call(this,b,f,g,d,e)}));f(q,"getCoordinates",function(a,b){var c=this.chart,f={xAxis:[],yAxis:[]};c.polar?u(c.axes,function(a){var d=a.isXAxis,g=a.center,h=b.chartX-g[0]-c.plotLeft,g=b.chartY-g[1]-c.plotTop;f[d?"xAxis":"yAxis"].push({axis:a,value:a.translate(d?Math.PI-Math.atan2(h,g):Math.sqrt(Math.pow(h,2)+Math.pow(g,2)),!0)})}):f=a.call(this,b);return f});f(b.Chart.prototype,"getAxes",function(a){this.pane||
(this.pane=[]);u(b.splat(this.options.pane),function(a){new b.Pane(a,this)},this);a.call(this)});f(b.Chart.prototype,"drawChartBox",function(a){a.call(this);u(this.pane,function(a){a.render()})});f(b.Chart.prototype,"get",function(a,c){return b.find(this.pane,function(a){return a.options.id===c})||a.call(this,c)})})(x)});
