/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @author FusionCharts Technologies LLP
 @version fusioncharts/3.2.4-release.8565
*/
FusionCharts(["private","modules.renderer.highcharts-charts",function(){function ua(a){a=(a||0)%oa;return a<0?oa+a:a}function Ma(a,d){return a<=S?a:d<=S?d:d>a?0:d}function Va(a,d){var b=d-a;return b<0?oa-b:b}function Da(a,d,b,c,g,i,e,f,l,k){if(typeof a==="object")d=a.y,b=a.r,c=a.innerR,g=a.radiusYFactor,i=a.depth,e=a.seriesGroup,f=a.renderer,a=a.x;if(g<0||g>=1)g=0.6;a=a||0;d=d||0;b=b||1;c=c||0;i=i||0;this.renderer=f;this.hasOnePoint=l;this.use3DLighting=k;this.cx=a;this.cy=d;this.rx=b;this.ry=b*g;
this.radiusYFactor=g;this.isDoughnut=c>0;this.innerRx=c;this.innerRy=c*g;this.depth=i;this.leftX=a-b;this.rightX=a+b;this.leftInnerX=a-c;this.rightInnerX=a+c;this.depthY=d+i;this.topY=d-this.ry;this.bottomY=this.depthY+this.ry;this.bottomBorderGroup=f.g("bottom-border").add(e).translate(0,i);this.outerBackGroup=f.g("outer-back-Side").add(e);this.slicingWallsBackGroup=f.g("slicingWalls-back-Side").add(e);this.innerBackGroup=f.g("inner-back-Side").add(e);this.innerFrontGroup=f.g("inner-front-Side").add(e);
this.slicingWallsFrontGroup=f.g("slicingWalls-front-Side").add(e);this.topGroup=f.g("top-Side").add(e);this.moveCmdArr=[C];this.lineCmdArr=[K];this.closeCmdArr=[L];this.centerPoint=[a,d];this.leftPoint=[this.leftX,d];this.topPoint=[a,this.topY];this.rightPoint=[this.rightX,d];this.bottomPoint=[a,d+this.ry];this.leftDepthPoint=[this.leftX,this.depthY];this.rightDepthPoint=[this.rightX,this.depthY];this.leftInnerPoint=[this.leftInnerX,d];this.rightInnerPoint=[this.rightInnerX,d];this.leftInnerDepthPoint=
[this.leftInnerX,this.depthY];this.rightInnerDepthPoint=[this.rightInnerX,this.depthY];this.pointElemStore=[];this.slicingWallsArr=[];a=[ja,this.rx,this.ry,0,0,1,this.rightX,d];b=[ja,this.rx,this.ry,0,0,1,this.leftX,d];c=[ja,this.rx,this.ry,0,0,0,this.rightX,this.depthY];g=[ja,this.rx,this.ry,0,0,0,this.leftX,this.depthY];i=[ja,this.innerRx,this.innerRy,0,0,0,this.rightInnerX,d];d=[ja,this.innerRx,this.innerRy,0,0,0,this.leftInnerX,d];e=[ja,this.innerRx,this.innerRy,0,0,1,this.rightInnerX,this.depthY];
f=[ja,this.innerRx,this.innerRy,0,0,1,this.leftInnerX,this.depthY];this.isDoughnut?(this.topBorderPath=this.moveCmdArr.concat(this.leftPoint,a,b,this.moveCmdArr,this.leftInnerPoint,i,d),this.topPath=this.moveCmdArr.concat(this.leftPoint,a,b,this.lineCmdArr,this.leftInnerPoint,i,d,this.closeCmdArr),this.innerFrontPath=this.moveCmdArr.concat(this.leftInnerPoint,i,this.lineCmdArr,this.rightInnerDepthPoint,f,this.closeCmdArr),this.innerBackPath=this.moveCmdArr.concat(this.rightInnerPoint,d,this.lineCmdArr,
this.leftInnerDepthPoint,e,this.closeCmdArr)):this.topBorderPath=this.topPath=this.moveCmdArr.concat(this.leftPoint,a,b,this.closeCmdArr);this.outerBackPath=this.moveCmdArr.concat(this.leftPoint,a,this.lineCmdArr,this.rightDepthPoint,g,this.closeCmdArr);this.outerFrontPath=this.moveCmdArr.concat(this.rightPoint,b,this.lineCmdArr,this.leftDepthPoint,c,this.closeCmdArr);this.clipPathforOuter=[C,this.leftX,this.topY,K,this.rightX,this.topY,this.rightX,this.bottomY,this.leftX,this.bottomY,L];this.clipPathforInner=
[C,this.leftInnerX,this.topY,K,this.rightInnerX,this.topY,this.rightInnerX,this.bottomY,this.leftInnerX,this.bottomY,L];this.clipPathforNoClip=[C,this.leftInnerX,this.topY,K,this.leftInnerX,this.bottomY,L]}var Na=this,y=Na.hcLib,J=y.BLANKSTRING,Wa=y.createTrendLine,p=y.pluck,$=y.getValidValue,n=y.pluckNumber,T=y.defaultPaletteOptions,va=y.getFirstValue,jb=y.getDefinedColor,aa=y.parseUnsafeString,Z=y.FC_CONFIG_STRING,Ea=y.extend2,ra=y.getDashStyle,kb=y.toPrecision,pa=y.stubFN,N=y.Highcharts,lb=N.Series,
Y=N.hasSVG,Xa=N.hasTouch,mb=N.isIE,Oa=N.extend,Fa=N.merge,Ga=N.pick,ha=N.each,Ha=N.attr,Pa=N.map,ma=N.seriesTypes,wa=N.addEvent,nb=N.getPosition,ob=N.getTouchEvent,na=N.getOptions().plotOptions,ya=function(a){return a!==xa&&a!==null},Ia=document.documentMode===8,xa,Ya="rgba(192,192,192,"+(Y?1.0E-6:0.0020)+")",ia=Ia?"visible":"",C="M",K="L",ja="A",L="Z",ba=Math,ca=ba.sin,da=ba.cos,pb=ba.atan2,za=ba.round,Za=ba.min,ka=ba.max,$a=ba.abs,ab=ba.PI,Ja=ba.ceil,qb=ba.floor,bb=ba.sqrt,qa=ab/180,S=Math.PI,Ka=
S/2,oa=2*S,cb=S+Ka,rb=y.graphics.getColumnColor,P=y.getFirstColor,Qa=y.setLineHeight,db=y.pluckFontSize,Aa=y.getFirstAlpha,sa=y.graphics.getDarkColor,la=y.graphics.getLightColor,fa=y.graphics.convertColor,Ba=y.COLOR_TRANSPARENT,Ra=y.POSITION_CENTER,sb=y.POSITION_TOP,La=y.POSITION_BOTTOM,tb=y.POSITION_RIGHT,ub=y.POSITION_LEFT,m=y.chartAPI,vb=y.titleSpaceManager,wb=y.placeLegendBlockBottom,xb=y.placeLegendBlockRight,eb=y.graphics.mapSymbolName,fb=m.singleseries,F=y.COMMASTRING,gb=y.STRINGUNDEFINED,
ea=y.ZEROSTRING,Ca=y.ONESTRING,ga=y.HUNDREDSTRING,Sa=y.PXSTRING,yb=y.COMMASPACE,U=!/fusioncharts\.com$/i.test(location.hostname);m("column2d",{standaloneInit:!0,creditLabel:U},m.column2dbase);m("column3d",{defaultSeriesType:"column3d",defaultPlotShadow:1,defaultZeroPlaneHighlighted:!1},m.column2d);m("bar2d",{isBar:!0,defaultSeriesType:"bar",spaceManager:m.barbase},m.column2d);m("line",{standaloneInit:!0,creditLabel:U},m.linebase);m("area2d",{standaloneInit:!0,creditLabel:U},m.area2dbase);m("pie2d",
{standaloneInit:!0,defaultSeriesType:"pie",defaultPlotShadow:1,sliceOnLegendClick:!0,point:function(a,d,b,c,g){var i,e,f,l=g[Z],k=l.is3d,j,h,q,z,M=0,O=0,o=[],A=n(c.plotborderthickness,k?0.1:1),r=(f=n(c.use3dlighting,1))?n(c.radius3d,c["3dradius"],90):100;j=n(c.showzeropies,1);var w=n(c.showpercentintooltip,1),u=n(c.showlabels,1),m=n(c.showvalues,1),s=n(c.showpercentvalues,c.showpercentagevalues,0),t=p(c.tooltipsepchar,c.hovercapsepchar,yb),v=p(c.labelsepchar,t),x=p(c.plotbordercolor,c.piebordercolor),
G=g[Z].numberFormatter;h=b.length;var y,I,B=n(c.plotborderdashed,0),C=n(c.plotborderdashlen,5),H=n(c.plotborderdashgap,4);r>100&&(r=100);r<0&&(r=0);if(n(c.showlegend,0))g.legend.enabled=!0,g.legend.reversed=!Boolean(n(c.reverselegend,0)),d.showInLegend=!0;for(a=0;a<h;a+=1)e=b[a],i=G.getCleanValue(e.value,!0),i===null||!j&&i===0||(o.push(e),M+=i);M===0&&(o=[]);d.enableRotation=o.length>1?n(c.enablerotation,1):0;d.is3D=k;d.use3DLighting=f;d.pieYScale=n(c.pieyscale,40);if(d.pieYScale<1)d.pieYScale=1;
if(d.pieYScale>=100)d.pieYScale=80;d.pieYScale/=100;d.pieSliceDepth=n(c.pieslicedepth,15);if(d.pieSliceDepth<1)d.pieSliceDepth=1;d.managedPieSliceDepth=d.pieSliceDepth;for(a=o.length-1;a>=0;a-=1){e=o[a];i=G.getCleanValue(e.value,!0);b=aa(p(e.label,e.name,J));j=p(e.color,g.colors[a%g.colors.length]);h=p(e.alpha,c.plotfillalpha,ga);q=p(e.bordercolor,x,la(j,k?90:25)).split(F)[0];z=c.showplotborder==ea?ea:p(e.borderalpha,c.plotborderalpha,c.pieborderalpha,"80");f={opacity:Math.max(h,z)/100};if(y=Boolean(n(e.issliced,
c.issliced,0)))l.preSliced=y;I=n(e.dashed,B)?ra(p(e.dashlen,C),p(e.dashgap,H),A):void 0;d.data.push({showInLegend:b!==J,y:i,name:b,shadow:f,toolText:aa($(e.tooltext)),color:this.getPointColor(j,h,r),_3dAlpha:h,borderColor:fa(q,z),borderWidth:A,link:$(e.link),sliced:y,dashStyle:I,doNotSlice:p(c.enableslicing,Ca)!=Ca});h=G.percentValue(i/M*100);q=G.dataLabels(i)||J;f=w===1?h:q;i=n(e.showlabel,u)===1?b:J;h=(j=n(e.showvalue,m))===1?s===1?h:q:J;e=$(aa(e.displayvalue));h=e!==void 0&&j?e:h!==J&&i!==J?i+
v+h:p(i,h);b=b!=J?b+t+f:f;e=d.data[O];e.displayValue=h;e.toolText=p(e.toolText,b);O+=1}g.legend.enabled=c.showlegend==Ca?!0:!1;g.chart.startingAngle=p(o.length>1?c.startingangle:0,0);return d},getPointColor:function(a,d,b){var c,g,a=P(a),d=Aa(d);b<100&&Y?(c=Math.floor((100-0.35*b)*85)/100,c=sa(a,c),g=Math.floor((100+b)*50)/100,a=la(a,g),d={FCcolor:{color:a+F+c,alpha:d+F+d,ratio:b+",100",radialGradient:!0}}):d={FCcolor:{color:a+F+a,alpha:d+F+d,ratio:"0,100"}};return d},configureAxis:function(a){var d=
0,b=a[Z],c;a.plotOptions.series.dataLabels.style=a.xAxis.labels.style;a.plotOptions.series.dataLabels.color=a.xAxis.labels.style.color;delete b.x;delete b[0];delete b[1];a.chart.plotBorderColor=a.chart.plotBackgroundColor=Ba;b=b.pieDATALabels=[];if(a.series.length===1&&(c=a.series[0].data)&&(d=a.series[0].data.length)>0&&a.plotOptions.series.dataLabels.enabled)for(;d--;)c[d]&&$(c[d].displayValue)!==void 0&&b.push(c[d].displayValue)},spaceManager:function(a,d,b,c){var g=a[Z],i=g.is3d,e=this.name,f=
g.smartLabel,l=n(g.pieDATALabels&&g.pieDATALabels.length,0),k=0,j=d.chart,h=n(j.managelabeloverflow,0),q=!g.preSliced&&j.enableslicing==ea&&(j.showlegend!=Ca||j.interactivelegend==ea)?0:n(j.slicingdistance,20),z=n(j.pieradius,0),M=n(j.enablesmartlabels,j.enablesmartlabel,1),O=M?n(j.skipoverlaplabels,j.skipoverlaplabel,1):0,o=n(j.issmartlineslanted,1),A=n(j.labeldistance,j.nametbdistance,5),r=n(j.smartlabelclearance,5);b-=a.chart.marginRight+a.chart.marginLeft;var w=c-(a.chart.marginTop+a.chart.marginBottom),
c=Math.min(w,b),u=p(j.smartlinecolor,T.plotFillColor[a.chart.paletteIndex]),m=n(j.smartlinealpha,100),s=n(j.smartlinethickness,1),t=a.plotOptions.series.dataLabels,v=t.style,x=n(parseInt(v.lineHeight,10),12),G=a.series[0]||{},y=G.pieYScale,I=G.pieSliceDepth,c=z===0?c*0.15:z,B=0,B=2*c;t.connectorWidth=s;t.connectorColor=fa(u,m);w-=vb(a,d,b,B<w?w-B:w/2);j.showlegend==Ca&&(p(j.legendposition,La).toLowerCase()!=tb?w-=wb(a,d,b,w/2,!0):b-=xb(a,d,b/3,w,!0));f.setStyle(v);if(l!==1)for(;l--;)d=f.getOriSize(g.pieDATALabels[l]),
k=Math.max(k,d.width);M&&(A=r+q);z===0&&(i?(w-=I,B=Math.min(b/2-k,(w/2-x)/y)-A):B=Math.min(b/2-k,w/2-x)-A,B>=c?c=B:A=Math.max(A-(c-B),q));if(i&&(l=w-2*(c*y+x),I>l))G.managedPieSliceDepth=I-l;a.plotOptions.pie3d.slicedOffset=a.plotOptions.pie.slicedOffset=q;a.plotOptions.pie3d.size=a.plotOptions.pie.size=2*c;a.plotOptions.series.dataLabels.distance=A;a.plotOptions.series.dataLabels.isSmartLineSlanted=o;a.plotOptions.series.dataLabels.enableSmartLabels=M;a.plotOptions.series.dataLabels.skipOverlapLabels=
O;a.plotOptions.series.dataLabels.manageLabelOverflow=h;if(e==="doughnut2d"||e==="doughnut3d")if(e=n(j.doughnutradius,0),l=n(j.use3dlighting,1)?n(j.radius3d,j["3dradius"],50):100,l>100&&(l=100),l<0&&(l=0),j=e===0||e>=c?c/2:e,a.plotOptions.pie3d.innerSize=a.plotOptions.pie.innerSize=2*j,l>0&&Y&&(j=parseInt(j/c*100,10),e=(100-j)/2,l=parseInt(e*l/100,10),j=j+F+l+F+2*(e-l)+F+l,a.series[0]&&a.series[0].data)){h=a.series[0].data;a=0;for(l=h.length;a<l;a+=1)if(e=h[a],e.color.FCcolor)e.color.FCcolor.ratio=
j}},creditLabel:U,eiMethods:{sliceDataItem:function(a){var d=this.jsVars.hcObj,b;if(d&&d.series&&(b=d.series[0])&&b.data&&b.data[a]&&b.data[a].slice)return b.data[b.xIncrement-1-a].slice()}}},fb);m.pie2d.eiMethods.togglePieSlice=m.pie2d.eiMethods.sliceDataItem;m("pie3d",{defaultSeriesType:"pie3d",creditLabel:U,getPointColor:function(a){return a},defaultPlotShadow:0},m.pie2d);m("doughnut2d",{getPointColor:function(a,d,b){var c,a=P(a),d=Aa(d);b<100&&Y?(c=Math.floor((85-0.2*(100-b))*100)/100,c=sa(a,
c),b=Math.floor((100-0.5*b)*100)/100,a=la(a,b),d={FCcolor:{color:c+F+a+F+a+F+c,alpha:d+F+d+F+d+F+d,radialGradient:!0}}):d={FCcolor:{color:a+F+a,alpha:d+F+d,ratio:"0,100"}};return d}},m.pie2d);m("doughnut3d",{defaultSeriesType:"pie3d",getPointColor:m.pie3d,defaultPlotShadow:0},m.doughnut2d);m("pareto2d",{standaloneInit:!0,point:function(a,d,b,c,g){var i,e,f,l,k,j,h,q,z,M,O,o,A,r,w,a=b.length,u=0;j={};A=g.chart.paletteIndex;var m=/3d$/.test(g.chart.defaultSeriesType),s=this.isBar,t=p(360-c.plotfillangle,
90),v=n(c.plotborderthickness,1),x=g.chart.useRoundEdges,G=p(c.tooltipsepchar,", "),y=p(c.plotbordercolor,T.plotBorderColor[A]).split(F)[0],I=c.showplotborder==ea?ea:p(c.plotborderalpha,c.plotfillalpha,ga),B=g.xAxis,C=n(c.showcumulativeline,1),H=g[Z],D=H.axisGridManager,K=H.x,zb=c.showtooltip!=ea,E=[],Q=[],X=n(c.use3dlighting,1),R=g[Z].numberFormatter,L=n(c.showlinevalues,c.showvalues),V=n(c.plotborderdashed,0),N=n(c.plotborderdashlen,5),S=n(c.plotborderdashgap,4),I=m?c.showplotborder?I:ea:I,y=m?
p(c.plotbordercolor,"#FFFFFF"):y;for(o=e=0;e<a;e+=1)if(O=b[e],b[e].vline)D.addVline(B,O,o,g);else if(i=R.getCleanValue(O.value,!0),i!==null)O.value=i,E.push(O),o+=1;a=E.length;E.sort(function(a,c){return c.value-a.value});if(C)h=n(c.linedashed,0),r=P(p(c.linecolor,T.plotBorderColor[A])),e=p(c.linealpha,100),q=n(c.linedashlen,5),z=n(c.linedashgap,4),j=n(c.linethickness,2),M={opacity:e/100},w=n(c.drawanchors,c.showanchors),w===void 0&&(w=e!=ea),f=n(c.anchorborderthickness,1),k=n(c.anchorsides,0),l=
n(c.anchorradius,3),o=P(p(c.anchorbordercolor,r)),i=P(p(c.anchorbgcolor,T.anchorBgColor[A])),b=Aa(p(c.anchoralpha,ga)),O=Aa(p(c.anchorbgalpha,b))*b/100,h=h?ra(q,z,j):void 0,j={yAxis:1,data:[],type:"line",color:fa(r,e),lineWidth:j,marker:{enabled:w,fillColor:fa(i,O),lineColor:fa(o,b),lineWidth:f,radius:l,symbol:eb(k),startAngle:p(c.anchorstartangle,90)}};else{if(c.showsecondarylimits!=="1")c.showsecondarylimits="0";if(c.showdivlinesecondaryvalue!=="1")c.showdivlinesecondaryvalue="0"}for(e=0;e<a;e+=
1)O=E[e],i=n(O.showlabel,c.showlabels,1),b=aa(!i?J:va(O.label,O.name)),D.addXaxisCat(B,e,e,b),u+=i=O.value,f=p(O.color,g.colors[e%g.colors.length])+F+(n(c.useplotgradientcolor,1)?jb(c.plotgradientcolor,T.plotGradientColor[A]):J),l=p(O.alpha,c.plotfillalpha,ga),k=p(O.ratio,c.plotfillratio),o={opacity:l/100},r=p(O.alpha,I)+J,f=rb(f,l,k,t,x,y,r,s,m),d.data.push(Ea(this.getPointStub(O,i,b,g),{y:i,shadow:o,color:f[0],borderColor:f[1],borderWidth:v,use3DLighting:X,dashStyle:n(O.dashed,V)==1?ra(N,S,v):"",
tooltipConstraint:this.tooltipConstraint})),this.pointValueWatcher(g,i),C&&Q.push({value:u,dataLabel:b,tooltext:$(O.tooltext)});K.catCount=a;H[1]||(H[1]={});H[1].stacking100Percent=!0;if(C&&u>0){e=0;for(a=Q.length;e<a;e+=1)O=Q[e],g=d.data[e],i=O.value/u*100,A=R.percentValue(i),c=g.displayValue!==J?A:J,L==1&&(c=A),L==0&&(c=J),b=O.dataLabel,A=zb?O.tooltext!==void 0?O.tooltext:(b!==J?b+G:J)+A:J,j.data.push({shadow:M,y:i,toolText:A,displayValue:c,link:g.link,dashStyle:h});return[d,j]}else return d},defaultSeriesType:"column",
isDual:!0,creditLabel:U},fb);m("pareto3d",{defaultSeriesType:"column3d",defaultPlotShadow:1},m.pareto2d);m("mscolumn2d",{standaloneInit:!0,creditLabel:U},m.mscolumn2dbase);m("mscolumn3d",{defaultSeriesType:"column3d",defaultPlotShadow:1,defaultZeroPlaneHighlighted:!1},m.mscolumn2d);m("msbar2d",{isBar:!0,defaultSeriesType:"bar",spaceManager:m.barbase},m.mscolumn2d);m("msbar3d",{defaultSeriesType:"bar3d",defaultPlotShadow:1,defaultZeroPlaneHighlighted:!1},m.msbar2d);m("msline",{standaloneInit:!0,creditLabel:U},
m.mslinebase);m("msarea",{standaloneInit:!0,creditLabel:U},m.msareabase);m("stackedcolumn2d",{isStacked:!0},m.mscolumn2d);m("stackedcolumn3d",{isStacked:!0},m.mscolumn3d);m("stackedbar2d",{isStacked:!0},m.msbar2d);m("stackedbar3d",{isStacked:!0},m.msbar3d);m("stackedarea2d",{isStacked:!0,showSum:0},m.msarea);m("marimekko",{isValueAbs:!0,distributedColumns:!0,isStacked:!0,xAxisMinMaxSetter:pa,postSeriesAddition:function(a,d){var b=a[Z],c=0,g=a.xAxis,i=100/b.marimekkoTotal,e=[],f=a.series,l=0,k=n(d.chart.plotborderthickness,
1),j=a.chart.rotateValues,h=n(d.chart.rotatexaxispercentvalues,0),k=k*-0.5-(k%2+(h?0:4)),q=h?3:0,z=j?270:0,M=Ea({},a.plotOptions.series.dataLabels.style),O=parseInt(M.fontSize,10),o=b[0],A=!o.stacking100Percent,r=b.inCanvasStyle,w=this.numberFormatter,u,m,s,t,v,x,G;b.isXYPlot=!0;b.distributedColumns=!0;g.min=0;g.max=100;g.labels.enabled=!1;g.gridLineWidth=0;g.alternateGridColor=Ba;u=o.stack;d.chart.interactivelegend="0";s=0;for(o=a.xAxis.plotLines.length;s<o;s+=1)if(t=g.plotLines[s],t.isGrid)t.isCat=
!0,e[t.value]=t;if(u.floatedcolumn&&(m=u.floatedcolumn[0])){u=0;for(o=m.length;u<o;){G=m[u];c+=g=G.p||0;v=g*i;t=l+v/2;x=l+v;for(s=0;s<f.length;s+=1)a.series[s].data[u]._FCX=l,a.series[s].data[u]._FCW=v;b.showStackTotal&&a.xAxis.plotLines.push({value:t,width:0,isVline:A,isTrend:!A,zIndex:4,label:{align:Ra,textAlign:z,rotation:j?270:0,style:M,verticalAlign:sb,offsetScale:A?g<0?G.n:G.p:void 0,offsetScaleIndex:0,y:g<0?j===270?4:O:-4,x:0,text:w.yAxis(kb(g,10))}});if(e[u])e[u].value=t,e[u]._weight=v;u+=
1;b.showXAxisPercentValues&&u<o&&a.xAxis.plotLines.push({value:x,width:0,isVine:!0,label:{align:Ra,textAlign:h?ub:Ra,rotation:h?270:0,style:{color:r.color,fontSize:r.fontSize,fontFamily:r.fontFamily,lineHeight:r.lineHeight,border:"1px solid",borderColor:r.color,backgroundColor:"#ffffff",backgroundOpacity:1},verticalAlign:La,y:k,x:q,text:this.numberFormatter.percentValue(x)},zIndex:5});l=x}}},defaultSeriesType:"floatedcolumn"},m.stackedcolumn2d);m("msstackedcolumn2d",{series:function(a,d,b){var c,
g,i,e,f=d[Z],l=0,k,j;k=[];var h;d.legend.enabled=Boolean(n(a.chart.showlegend,1));if(a.dataset&&a.dataset.length>0){this.categoryAdder(a,d);c=0;for(g=a.dataset.length;c<g;c+=1)if(h=a.dataset[c].dataset){i=0;for(e=h.length;i<e;i+=1,l+=1)k={data:[],stack:c},j=Math.min(f.oriCatTmp.length,h[i].data&&h[i].data.length),k=this.point(b,k,h[i],a.chart,d,j,l,c),d.series.push(k)}if(this.isDual&&a.lineset&&a.lineset.length>0){i=0;for(e=a.lineset.length;i<e;i+=1,l+=1)k={data:[],yAxis:1,type:"line"},b=a.lineset[i],
j=Math.min(f.oriCatTmp.length,b.data&&b.data.length),d.series.push(m.msline.point.call(this,"msline",k,b,a.chart,d,j,l))}this.configureAxis(d,a);a.trendlines&&Wa(a.trendlines,d.yAxis,d[Z],!1,this.isBar)}}},m.stackedcolumn2d);m("mscombi2d",{standaloneInit:!0,creditLabel:U},m.mscombibase);m("mscombi3d",{series:m.mscombi2d.series,eiMethods:"view2D,view3D,resetView,rotateView,getViewAngles,fitToStage"},m.mscolumn3d);m("mscolumnline3d",{},m.mscombi3d);m("stackedcolumn2dline",{isStacked:!0,stack100percent:0},
m.mscombi2d);m("stackedcolumn3dline",{isStacked:!0,stack100percent:0},m.mscombi3d);m("mscombidy2d",{isDual:!0,secondarySeriesType:void 0},m.mscombi2d);m("mscolumn3dlinedy",{isDual:!0,secondarySeriesType:"line"},m.mscolumnline3d);m("stackedcolumn3dlinedy",{isDual:!0,secondarySeriesType:"line"},m.stackedcolumn3dline);m("msstackedcolumn2dlinedy",{isDual:!0,stack100percent:0,secondarySeriesType:"line"},m.msstackedcolumn2d);m("scrollcolumn2d",{postSeriesAddition:m.scrollbase.postSeriesAddition,tooltipConstraint:"plot",
avgScrollPointWidth:40},m.mscolumn2d);m("scrollline2d",{postSeriesAddition:m.scrollbase.postSeriesAddition,tooltipConstraint:"plot",avgScrollPointWidth:75},m.msline);m("scrollarea2d",{postSeriesAddition:m.scrollbase.postSeriesAddition,tooltipConstraint:"plot",avgScrollPointWidth:75},m.msarea);m("scrollstackedcolumn2d",{postSeriesAddition:function(a,d,b,c){m.base.postSeriesAddition.call(this,a,d,b,c);m.scrollbase.postSeriesAddition.call(this,a,d,b,c)},tooltipConstraint:"plot",avgScrollPointWidth:75},
m.stackedcolumn2d);m("scrollcombi2d",{postSeriesAddition:m.scrollbase.postSeriesAddition,tooltipConstraint:"plot",avgScrollPointWidth:40},m.mscombi2d);m("scrollcombidy2d",{postSeriesAddition:m.scrollbase.postSeriesAddition,tooltipConstraint:"plot",avgScrollPointWidth:40},m.mscombidy2d);m("scatter",{standaloneInit:!0,defaultSeriesType:"scatter",defaultZeroPlaneHighlighted:!1,creditLabel:U},m.scatterbase);m("bubble",{standaloneInit:!0,standaloneInut:!0,defaultSeriesType:"bubble",point:function(a,d,
b,c,g,i,e){if(b.data){var f,l,k,j,h,q,z,M,O,o,A=!1,r,w,a=m[a],i=b.data,u=i.length,ta=n(b.showvalues,g[Z].showValues);k=n(c.bubblescale,1);var s=p(c.negativecolor,"FF0000"),t=g.plotOptions.bubble,v=this.numberFormatter,x=n(b.showregressionline,c.showregressionline,0);t.bubbleScale=k;d.name=$(b.seriesname);if(n(b.includeinlegend)===0||d.name===void 0)d.showInLegend=!1;k=Boolean(n(b.drawanchors,b.showanchors,c.drawanchors,1));z=p(b.plotfillalpha,b.bubblefillalpha,c.plotfillalpha,ga);M=n(b.showplotborder,
c.showplotborder,1);O=P(p(b.plotbordercolor,c.plotbordercolor,"666666"));f=p(b.plotborderthickness,c.plotborderthickness,1);o=p(b.plotborderalpha,c.plotborderalpha,"95");M=M==1?f:0;e=p(b.color,b.plotfillcolor,c.plotfillcolor,g.colors[e%g.colors.length]);d.marker={enabled:k,fillColor:this.getPointColor(e,ga),lineColor:{FCcolor:{color:O,alpha:o}},lineWidth:M,symbol:"circle"};if(x){d.events={hide:this.hideRLine,show:this.showRLine};var G={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},
y=n(b.showyonx,c.showyonx,1),I=P(p(b.regressionlinecolor,c.regressionlinecolor,e)),B=n(b.regressionlinethickness,c.regressionlinethickness,1);f=Aa(n(b.regressionlinealpha,c.regressionlinealpha,100));I=fa(I,f)}for(l=0;l<u;l+=1)if(j=i[l])if(f=v.getCleanValue(j.y),r=v.getCleanValue(j.x),w=v.getCleanValue(j.z,!0),f===null)d.data.push({y:null,x:r});else{A=!0;h=P(p(j.color,j.z<0?s:e));q=p(j.alpha,z);j=a.getPointStub(j,f,r,g,b,ta);h=n(c.use3dlighting)===0?h:a.getPointColor(h,q);if(w!==null)t.zMax=t.zMax>
w?t.zMax:w,t.zMin=t.zMin<w?t.zMin:w;d.data.push({y:f,x:r,z:w,displayValue:j.displayValue,toolText:j.toolText,link:j.link,marker:{enabled:k,fillColor:h,lineColor:{FCcolor:{color:O,alpha:o}},lineWidth:M,symbol:"circle"}});this.pointValueWatcher(g,f,r,x&&G)}else d.data.push({y:null});x&&(b={type:"line",color:I,showInLegend:!1,lineWidth:B,enableMouseTracking:!1,marker:{enabled:!1},data:this.getRegressionLineSeries(G,y,u),zIndex:0},d=[d,b])}if(!A)d.showInLegend=!1;return d},postSeriesAddition:function(a,
d){a.chart.hasScroll=n(d.chart.clipbubbles,1)},getPointStub:function(a,d,b,c,g,i){var c=c[Z],d=d===null?d:c.numberFormatter.dataLabels(d),e,f=c.tooltipSepChar;c.showTooltip?$(a.tooltext)!==void 0?g=aa(a.tooltext):d===null?g=!1:(c.seriesNameInToolTip&&(e=p(g&&g.seriesname)),g=e?e+f:J,g+=b?b+f:J,g+=d,g+=a.z?f+a.z:J):g=J;b=n(a.showvalue,i,c.showValues)?p(a.name,a.label)!==void 0?aa(p(a.name,a.label)):d:J;a=$(a.link);return{displayValue:b,toolText:g,link:a}}},m.scatter);var Ta=function(a,d,b,c){var D;
var g=a.stepZoom,i=a.options.chart.stepZoom.skipOverlapPoints,e=g.zoomHistory,f=g.currentZoomLevelIndex,l,k=g.pixelsPerPoint,j=a.series,h=j.length,q=g.maxIndex,z={},M,n,o,A,r,w;r=a.options._FCconf.visibleLabelDistance;var u,m=!1;if(c<f)m=!0,f=g.currentZoomLevelIndex=c||0,e.splice(f+1,e.length),e=e[f],k=e.stepping,n=e.seriesStart,c=e.perPointPixelDistance,A=e.scrollRatio,M=g.scrollPosition=e.scrollPosition,d=e._startIndex,b=e._stopIndex,g.scrollablePXLength=e.scrollablePXLength;else{d>b&&(u=d,d=b,
b=u);M=a.plotWidth;n=b-d;c=M/n;u=c<r?Math.ceil(r/c):1;k=c<k?Math.ceil(k/c):1;c=M/(n-n%k);n=d%k;o=q-q%k;l=(o-n)*c;A=M/l;w=l-M;M=w>0?(d-n)*c/(l-M):0;g.scrollPosition=M;g.scrollablePXLength=w;if((l=e[f])&&l.stepping===k&&l.seriesStart===n&&l.seriesEnd===o&&l.perPointPixelDistance===c)return;e[g.currentZoomLevelIndex=f+=1]={seriesStart:n,seriesEnd:o,stepping:k,perPointPixelDistance:c,visiblePointDistance:k*c,seriesConf:[],scrollRatio:A,scrollPosition:M,scrollablePXLength:w,_startIndex:d,_stopIndex:b}}var s,
t,e=[],v,x,G,p;o=g.catLabelArr;var I,B;u===void 0&&(u=c<r?Ja(r/c):1);for(w=0;w<=q;w+=1){s=w-n;r=s*c;l=s<0||s%k!==0;t=s<0||s%u!==0;s={x:r,visibility:l?"hidden":ia};if(o&&(p=o[w]))p.attr({x:r+g.xDisplacement,visibility:t?"hidden":ia});for(t=h;t--;)if(v=j[t],G=v.data[w],G.plotX=r,D=e[t]||(e[t]={path:[],addMove:!0,addLine:!1,lastMovePoint:[],connectNullData:v.options.connectNullData}),v=D,x=v.path,(I=G.graphic)&&I.attr(s),(B=G.dataLabel)&&B.attr(s),!i||!l)if(ya(G&&G.plotY)){if(v.addLine)x.push(C,v.lastMovePoint[0],
v.lastMovePoint[1],K),v.addLine=!1;v.addMove?(v.addLine=!0,v.addMove=!1,v.lastMovePoint[0]=r,v.lastMovePoint[1]=G.plotY):x.push(r,G.plotY)}else if(!v.connectNullData)v.addMove=!0,v.addLine=!1}for(t=0;t<h;t+=1)v=e[t]||(e[t]={path:[C],isLastMoveComand:!0}),x=v.path,j[t].graphLine.attr({d:x}),j[t].graphPath=x;g.scroller.setScrollRatio(A);g.scroller.setScrollPosition(M);f||(d=f=0,b=o.length-1);z.reset=f===0;z.level=f;z.startIndex=d;z.startLabel=o[d].textStr;z.endIndex=b;z.endLabel=o[b].textStr;z.action=
m?"out":"in";y.raiseEvent("zoomed",z,a.options.instanceAPI.chartInstance,[a.options.instanceAPI.chartInstance.id,z.startIndex,z.stopIndex,z.startLabel,z.stopLabel,z.action,z.level]);Na.raiseEvent(m?"zoomedout":"zoomedin",z,a.options.instanceAPI.chartInstance)},Ab=function(a,d){var b=d.zoomHistory[d.currentZoomLevelIndex],c=b.perPointPixelDistance,g=a.selectionWidth,i=d.maxIndex,b=b.scrollablePXLength*b.scrollPosition+a.selectionLeft,g=b+g,b=qb(b/c),g=Ja(g/c);g>i&&(g=i);return{max:g,min:b}},Bb=function(a,
d,b){var c=this.tracker.normalizeMouseEvent,g=this.options.chart.stepZoom,i=this.renderer,e=this.plotLeft,f=this.plotTop,l=this.plotWidth,k=this.plotHeight,j=g.pinPaneBorderThickness,h=i.clipRect(e+a,f,d,k),q,z,n=[],m=0;q=i.g("group").attr({x:0,y:0,zIndex:2}).clip(h).add();z=i.rect(e+a,f-j/2,d,k+j,0).attr({stroke:g.pinPaneBorderColor,fill:g.pinPaneBgColor,strokeWidth:j,isOverlay:!0}).css({cursor:"w-resize"}).add(q);ha(this.series,function(a){var c=a.options,b=c.color,c=ka(c.lineWidth+g.pinLineThicknessDelta,
1),b=i.path(a.graphPath).attr({stroke:b,"stroke-width":c,"stroke-linecap":"round",dashstyle:mb&&!Y?ra(c+1,c,c):ra(c,c+1,c),visibility:a.visible?ia:"hidden"});n.push(b);b.translate(a.group.attr("translateX"),f).add(q)});wa(z.element,"dragstart drag",function(b){var e=b.type,b=c(ob(b));e==="dragstart"?m=b.pageX-(q.attr("translateX")||0):(b=b.pageX-m,e=b+a,e<0?b=-a:e+d>l&&(b=l-d-a),q.translate(b))});y.raiseEvent("pinned",{startIndex:b.min,endIndex:b.max,startLabel:this.stepZoom.catLabelArr[b.min].textStr,
endLabel:this.stepZoom.catLabelArr[b.max].textStr},this.options.instanceAPI.chartInstance,[this.options.instanceAPI.chartInstance.id,b.min,b.max,this.stepZoom.catLabelArr[b.min].textStr,this.stepZoom.catLabelArr[b.max].textStr]);return{destroy:function(){ha(n,function(a){a.destroy()});z.destroy();q.destroy()}}},Cb=function(a){var d=this,b=d.stepZoom,c=d.options.chart.stepZoom,g=a.selectionLeft,i=Ab(a,b);if(b.pinActive)b.pinComposite&&b.pinComposite.destroy(),b.pinComposite=Bb.call(d,g,a.selectionWidth,
i,b);else{i.max>i.min&&Ta(d,i.min,i.max);a=b.currentZoomLevelIndex;if(!b.zoButton)b.zoButton=d.addButton({onclick:function(){var a=b.currentZoomLevelIndex-1;Ta(d,void 0,void 0,a);b.pinButton&&b.pinActive&&b.pinButton.onClick();a<=1&&b.resetButton.hide();b.currentZoomLevelIndex==0&&b.zoButton.hide()},tooltip:c.showToolBarButtonTooltext&&c.btnZoomOutTooltext,symbol:"zoomOutIcon"});b.zoButton[a===0?"hide":"show"]();if(!b.resetButton)b.resetButton=d.addButton({onclick:function(){Ta(d,void 0,void 0,0);
b.resetButton&&b.resetButton.hide();b.zoButton&&b.zoButton.hide();b.pinButton&&b.pinActive&&b.pinButton.onClick();y.raiseEvent("resetzoomchart",{},d.options.instanceAPI.chartInstance,[d.options.instanceAPI.chartInstance.id])},tooltip:c.showToolBarButtonTooltext&&c.btnResetChartTooltext,symbol:"resetIcon",symbolFill:"none",hoverSymbolFill:"none"});b.resetButton[d.stepZoom.currentZoomLevelIndex>1?"show":"hide"]()}};Oa(y.eventList,{zoomed:"FC_Zoomed",pinned:"FC_Pinned",resetzoomchart:"FC_ResetZoomChart"});
m("zoomline",{standaloneInit:!0,hasVDivLine:!0,defaultSeriesType:"stepzoom",canvasborderthickness:1,tooltipConstraint:"plot",chart:function(){var a=this.dataObj.chart,d=this.base.chart.apply(this,arguments),b=d.chart.stepZoom;!$(a.caption)&&!$(a.subcaption)&&(d.chart.marginTop+=15);d.chart.animation=!1;(d.plotOptions||(d.plotOptions={}))&&(d.plotOptions.series||(d.plotOptions.series={}));d.plotOptions.series.animation=!1;d.chart.nativeZoom=!1;d.chart.events.selection=Cb;if(!d.callbacks)d.callbacks=
[];d.callbacks.push(function(){var a=this,d=a.renderer,i=a.stepZoom,e=i.pinButton;if(!e&&a.options.chart.stepZoom.allowPinMode)e=i.pinButton=a.addButton({onclick:function(){if(i.pinActive=!i.pinActive)e.tooltipOptions.point.toolText=b.showToolBarButtonTooltext&&"Switch to Zoom Mode";else{if(i.pinComposite)i.pinComposite=i.pinComposite.destroy();e.tooltipOptions.point.toolText=b.showToolBarButtonTooltext&&b.btnSwitchToPinModeTooltext}e.activate(i.pinActive);Na.raiseEvent("pinmodestatechange",{state:i.pinActive},
a.options.instanceAPI.chartInstance)},tooltip:b.showToolBarButtonTooltext&&b.btnSwitchToPinModeTooltext,symbol:"pinModeIcon"});if(!d.forExport)d.batchCapacity=50,d.batchSpeed=1,d.simpleAppend=!0,d.processBatch()});return d},xAxisMinMaxSetter:function(){this.base.xAxisMinMaxSetter.apply(this,arguments);var a=this.hcJSON,d=a.xAxis,a=a[Z].x;d.min=0;d.max=a.catCount-1},series:function(a,d,b){var c,g,i=d[Z],e;c=a.chart;d.legend.enabled=Boolean(n(c.showlegend,1));d.chart.valuePosition=p(c.valueposition,
"auto").toLowerCase();if(a.dataset&&a.dataset.length>0&&a.categories&&a.categories[0]&&a.categories[0].category){this.categoryAdder(a,d);c=0;for(g=a.dataset.length;c<g;c+=1)e={data:[]},d.series.push(this.point(b,e,a.dataset[c],a.chart,d,i.oriCatTmp.length,c)),e=!0;e&&(this.configureAxis(d,a),a.trendlines&&!this.isLog&&Wa(a.trendlines,d.yAxis,i,!1,this.isBar))}},point:function(a,d,b,c,g,i,e){var f,l,k,j,h,q,z,M,m,o,A,r,w,u,ta,s,t,v=b.data,x=g[Z],a=p(d.type,this.defaultSeriesType),G=g.plotOptions[a]&&
g.plotOptions[a].stacking,y=p(this.isValueAbs,x.isValueAbs,!1),x=n(d.yAxis,0),I=this.numberFormatter;t=n(c.showshadow,1);ta=n(c.compactdatamode,0);s=p(c.dataseparator,"|");f=p(b.seriesname,J);l=P(p(b.color,c.linecolor,g.colors[e%g.colors.length]));k=p(b.alpha,c.linealpha,ga);j=n(b.linethickness,c.linethickness,2);h=Boolean(n(b.dashed,c.linedashed,0));q=n(b.linedashlen,c.linedashlen,5);z=n(b.linedashgap,c.linedashgap,4);e=n(b.showvalues,c.showvalues);M=n(b.drawanchors,b.showanchors,c.drawanchors,c.showanchors);
m=n(b.anchorsides,c.anchorsides,0);o=n(b.anchorradius,c.anchorradius,3);A=P(p(b.anchorbordercolor,c.anchorbordercolor,l));r=n(b.anchorborderthickness,c.anchorborderthickness,1);w=P(p(b.anchorbgcolor,c.anchorbgcolor,l));u=p(b.anchoralpha,c.anchoralpha,ga);c=p(b.anchorbgalpha,c.anchorbgalpha,u);d.marker={enabled:M===void 0?k!=0:!!M,fillColor:{FCcolor:{color:w,alpha:c*u/100+J}},lineColor:{FCcolor:{color:A,alpha:u+J}},lineWidth:r,radius:o,symbol:eb(m)};d.name=f;d.color={FCcolor:{color:l,alpha:k}};d.shadow=
{opacity:t?k/100:0};d.lineWidth=j;d.dashStyle=h?ra(q,z,j):void 0;if(n(b.includeinlegend)===0||d.name===void 0||k==0&&M!==1)d.showInLegend=!1;if(v)if(ta){v=v.split(s);for(b=0;b<i;b+=1)c=I.getCleanValue(v[b]),c===null?d.data.push({y:null}):(f=I.dataLabels(c),t=e?f:J,d.data.push({y:c,displayValue:t,toolText:f}),this.pointValueWatcher(g,c,x,G,b,0,a))}else for(b=0;b<i;b+=1)(f=v[b])?(c=I.getCleanValue(f.value,y),c===null?d.data.push({y:null}):(ta=P(p(f.color,l)),s=p(f.alpha,k),f=$(aa(f.tooltext),I.dataLabels(c)),
t=e?f:J,d.data.push({displayValue:t,toolText:f,y:c,color:{FCcolor:{color:ta,alpha:s}}}),this.pointValueWatcher(g,c,x,G,b,0,a))):d.data.push({y:null});return d},categoryAdder:function(a,d){var b,c=0,g,i=d[Z],e=d.xAxis,f,l=i.x,k=a.chart,j=d.chart,h=n(k.showlabels,1);g=n(k.pixelsperpoint,15);j.zoomType="x";e.maxZoom=2;g<=0&&(g=15);i.pixelsperpoint=g;if(a.categories&&a.categories[0]&&a.categories[0].category){if(a.categories[0].font)d.xAxis.labels.style.fontFamily=a.categories[0].font;if((g=n(a.categories[0].fontsize))!==
void 0)g<1&&(g=1),d.xAxis.labels.style.fontSize=g+Sa,Qa(d.xAxis.labels.style);if(a.categories[0].fontcolor)d.xAxis.labels.style.color=a.categories[0].fontcolor.split(F)[0].replace(/^\#?/,"#");g=d[Z].oriCatTmp;var q=a.categories[0].category;b=n(k.compactdatamode,0);f=p(k.dataseparator,"|");if(b){q=q.split(f);for(b=0;b<q.length;b+=1)f=aa(va(q[b],q[b].name)),g[c]=f,c+=1}else for(b=0;b<q.length;b+=1)q[b].vline||(f=q[b].showlabel==="0"?J:aa(va(a.categories[0].category[b].label,a.categories[0].category[b].name)),
g[c]=va(aa(a.categories[0].category[b].tooltext),f),c+=1);if(h)e.categories=g}e=c-1||1;i.displayStartIndex=n(k.displaystartindex,1)-1;i.displayEndIndex=n(k.displayendindex,c||2)-1;if(i.displayStartIndex<0||i.displayStartIndex>=e)i.displayStartIndex=0;if(i.displayEndIndex<=i.displayStartIndex||i.displayEndIndex>e)i.displayEndIndex=e;l.catCount=c;j.hasScroll=!0;c=j.stepZoom={};c.pixelsperpoint=i.pixelsperpoint;c.displayStartIndex=i.displayStartIndex;c.displayEndIndex=i.displayEndIndex;c.scrollColor=
P(p(k.scrollcolor,T.altHGridColor[d.chart.paletteIndex]));c.scrollHeight=n(k.scrollheight,16);c.scrollPadding=n(k.scrollpadding,d.chart.plotBorderWidth);c.scrollBtnWidth=n(k.scrollbtnwidth,k.scrollheight,16);c.scrollBtnPadding=n(k.scrollbtnpadding,0);i.marginBottomExtraSpace+=c.scrollPadding+c.scrollHeight},postSeriesAddition:function(a,d){var b=d.chart,c=a.chart.stepZoom,g=T.canvasBorderColor[this.paletteIndex];if(c)c.allowPinMode=n(b.allowpinmode,1),c.skipOverlapPoints=!!n(b.skipoverlappoints,1),
c.showToolBarButtonTooltext=n(b.showtoolbarbuttontooltext,1),c.btnResetChartTooltext=p(b.btnresetcharttooltext,"Reset Zoom"),c.btnZoomOutTooltext=p(b.btnzoomouttooltext,"Zoom out one level"),c.btnSwitchToZoomModeTooltext=p(b.btnswitchtozoommodetooltext,"Select a subset of data to zoom into it for detailed view"),c.btnSwitchToPinModeTooltext=p(b.btnswitchtopinmodetooltext,"Switch to Pin Mode"),c.pinLineThicknessDelta=n(b.pinlinethicknessdelta,0),c.pinPaneBorderThickness=n(b.pinpaneborderthickness,
1),c.pinPaneBorderColor=fa(p(b.pinpanebordercolor,g),n(b.pinpaneborderalpha,15)),c.pinPaneBgColor=fa(p(b.pinpanebgcolor,g),n(b.pinpanebgalpha,15))},placeHorizontalAxis:function(a,d,b,c,g,i,e){var f=b[Z],l,k,j,h,q,z,M,m,o=0,A=0,r=10,w=1,u=0,p=0,s=!1,t=!1,v=!1;j=n(c.chart.labelstep,0);m=d.labelDisplay;var x=d.rotateLabels,G=d.horizontalLabelPadding,y=f.marginBottomExtraSpace,I=b.chart.marginLeft;l=b.chart.marginRight;var B=f.smartLabel,F=d.slantLabels,H=g/(a.max-a.min),D=0,C=0,p={w:0,h:0};if(a.labels.style)q=
a.labels.style,B.setStyle(q),k=B.getOriSize("W"),r=k.height,z=k.width+4,M=B.getOriSize("WWW").width+4;var K,E,Q=[],L=[];k=k=0;var R,N,V=d.horizontalAxisNamePadding;E=0;var d=d.staggerLines,S=D;if(a.title&&a.title.text!=J)q=a.title.style,B.setStyle(q),u=B.getOriSize("W").height,a.title.rotation=0,k=B.getSmartText(a.title.text,g,i),A=k.height;parseInt(c.chart.chartleftmargin,10);parseInt(c.chart.chartrightmargin,10);E=g-e;switch(m){case "none":s=v=!0;x&&(o=F?300:270,k=r,r=z,z=k,s=!0);break;case "rotate":o=
F?300:270;k=r;r=z;z=k;s=!0;break;case "stagger":t=s=!0;c=Math.floor((i-u)/r);c<d&&(d=c);break;default:x&&(o=F?300:270,k=r,r=z,z=k)}x=0;e=a.plotLines;for(c=e.length;x<c;x+=1)(k=e[x])&&k.label&&typeof k.label.text!==gb&&L.push(k);e=a.plotBands;x=0;for(c=e.length;x<c;x+=1)(k=e[x])&&k.label&&typeof k.label.text!==gb&&L.push(k);e=a.categories||[];x=0;for(c=e.length;x<c;x+=1)Q.push({value:x,label:{text:e[x]}});x=Q.length-1;c=Q.length;t&&(d>c?d=c:d<2&&(d=2));if(c){a.scroll&&a.scroll.viewPortMin&&a.scroll.viewPortMax?
(K=a.scroll.viewPortMin,k=a.scroll.viewPortMax):(K=a.min,k=a.max);R=f.width*0.08;N=(Q[0].value-K)*H;K=(k-Q[x].value)*H;f.maxLabelWidth=R;f.visibleLabelDistance=f.width*0.1;if(m==="auto"){if(R>H&&R<M)F?o=300:(o=270,f.visibleLabelDistance=f.width*0.07,f.maxLabelWidth=r),k=r,r=z,z=k,s=!0}else if(m==="rotate"){if(!F)f.visibleLabelDistance=f.width*0.07,f.maxLabelWidth=r}else m==="stagger"&&(R*=d);M=(N+I)*2;if(m=e[0])a.labels.style&&B.setStyle(a.labels.style),m=Math.min(R,B.getOriSize(m).width+4),m>M&&
(k=(m-M)/2,g-=k,E-=k,b.chart.marginLeft+=k);M=(K+l)*2;if(m=e[x])a.labels.style&&B.setStyle(a.labels.style),m=Math.min(R,B.getOriSize(h).width+4),m>M&&(k=(m-M)/2,g-=k,E-=k,b.chart.marginRight+=k);v||(j?(R*=j,R=Math.max(R,z)):(w=Math.max(1,Math.ceil(z/R)),R*=w));for(j=0;j<c;j+=1)if(k=Q[j],j%w&&k.label)k.label.text=J;else if(k&&k.label&&$(k.label.text)!==void 0){h=k.label;if(h.style&&h.style!==q)q=h.style,B.setStyle(q);if(o&&v)l=B.getOriSize(h.text),p.w=ka(p.w,l.width+4),p.h=ka(p.h,l.height);else if(!v)l=
o||t?B.getOriSize(h.text):B.getSmartText(h.text,R-4,i,s),p.w=Math.max(p.w,l.width+4),p.h=Math.max(p.h,l.height)}}j=0;for(c=L.length;j<c;j+=1)if((k=L[j])&&k.label&&$(k.label.text)!==void 0){h=k.label;if(h.style&&h.style!==q)q=h.style,B.setStyle(q);l=B.getOriSize(h.text);h.verticalAlign===La?D=ka(D,l.height):C=ka(C,l.height)}a.scroll&&a.scroll.enabled&&!o&&!v&&(h=p.w/2,b.chart.marginLeft<h&&(j=h-b.chart.marginLeft,E>j&&(g-=j,E-=j,b.chart.marginLeft+=j)),b.chart.marginRight<h&&(j=h-b.chart.marginRight,
E>j&&(g-=j,b.chart.marginRight+=j)));if(v){if(E=r,o)E=p.w}else E=o?p.w:t?d*r:p.h;E>0&&(S+=G+E);A>0&&(S+=A+V);h=C+S+2;h>i&&(h-=i,V>h?(V-=h,h=0):(h-=V,V=0,G>h?(G-=h,h=0):(h-=G,G=0)),C>h?C-=h:(C>0&&(h-=C,C=0),h>0&&(D>h?D-=h:(D>0&&(h-=D,D=0),h>0&&((k=A-u)>h?A-=h:(h-=k,A=u,h>0&&((k=E-r)>h?E-=h:(h-=k,E=r,h>0&&(h-=A+V,A=0,h>0&&(h-=E,E=0,h>0&&(G-=h)))))))))));G+=y;u=E+G;i=f.is3d?-b.chart.xDepth:0;c=Q.length;p=0;o?(r=R,R=E-4,a.labels.rotation=o,a.labels.align="right",a.labels.y=G-y+4,a.labels.x=z/2):t?R=R*
d-4:(r=E,R-=4);for(j=0;j<c;j+=w)if((k=Q[j])&&k.label&&$(k.label.text)!==void 0){h=k.label;if(h.style&&h.style!==q)q=h.style,B.setStyle(q);if(!v)l=B.getSmartText(h.text,R,r,s),a.categories[j]=l.text;p+=1}c=L.length;for(j=o=z=0;j<c;j+=1)if((k=L[j].plotObj?L[j].plotObj:L[j])&&k.label&&$(k.label.text)!==void 0){h=k.label;if(h.style&&h.style!==q)q=h.style,B.setStyle(q);h.verticalAlign===La?(l=B.getSmartText(h.text,g,D,!0),o=Math.max(o,l.height),h.text=l.text,h.y=u+B.getOriSize("W").height,h.x=i):(l=B.getSmartText(h.text,
g,C,!0),z=Math.max(z,l.height),h.text=l.text,h.y=-(C-B.getOriSize("W").height+G+2))}if(A>0)B.setStyle(a.title.style),k=B.getSmartText(a.title.text,g,A),a.title.text=k.text,a.title.margin=u+o+V;S=o;if(E>0)f.horizontalAxisHeight=G+E-y,S+=f.horizontalAxisHeight;A>0&&(S+=A+V);b.chart.marginBottom+=S;z>0&&(b.chart.marginTop+=z,S+=z);return S},creditLabel:U,defaultPlotShadow:1},m.msline);m("ssgrid",{standaloneInit:!0,defaultSeriesType:"ssgrid",chart:function(){var a=this.containerElement,d=this.dataObj,
b=this.chartInstance,d=Ea({},d);d.chart=d.chart||d.graph||{};delete d.graph;var c,g,i,e=0,f,l,k=[],j=d.chart,h=d.data,q=h&&h.length,d=this.smartLabel,z=this.numberFormatter,m=a.offsetHeight,O=a.offsetWidth,o={},A=e=0,e=(j.palette>0&&j.palette<6?j.palette:n(this.paletteIndex,1))-1,a={chart:{renderTo:a,ignoreHiddenSeries:!1,events:{},spacingTop:0,spacingRight:0,spacingBottom:0,spacingLeft:0,marginTop:0,marginRight:0,marginBottom:0,marginLeft:0,borderRadius:0,borderColor:"#000000",borderWidth:1,defaultSeriesType:"ssgrid",
style:{fontFamily:p(j.basefont,"Verdana"),fontSize:db(j.basefontsize,20)+Sa,color:p(j.basefontcolor,T.baseFontColor[e]).replace(/^#?([a-f0-9]+)/ig,"#$1")},plotBackgroundColor:Ba},labels:{smartLabel:d},colors:["AFD8F8","F6BD0F","8BBA00","FF8E46","008E8E","D64646","8E468E","588526","B3AA00","008ED6","9D080D","A186BE","CC6600","FDC689","ABA000","F26D7D","FFF200","0054A6","F7941C","CC3300","006600","663300","6DCFF6"],credits:{href:"http://www.fusioncharts.com?BS=FCHSEvalMark",text:"FusionCharts",enabled:this.creditLabel},
legend:{enabled:!1},series:[],subtitle:{text:J},title:{text:J},tooltip:{enabled:!1},exporting:{buttons:{exportButton:{},printButton:{enabled:!1}}}},r=a.colors,w=a.colors.length,u=0,y=f=g=0,A=c=l=0;g=b.jsVars.cfgStore;b=a.chart;Qa(a.chart.style);o.showPercentValues=n(g.showpercentvalues,j.showpercentvalues,0);o.numberItemsPerPage=p(g.numberitemsperpage,j.numberitemsperpage);o.showShadow=n(g.showshadow,j.showshadow,0);o.baseFont=p(g.basefont,j.basefont,"Verdana");i=db(g.basefontsize,j.basefontsize,
10);o.baseFontSize=i+Sa;o.baseFontColor=P(p(g.basefontcolor,j.basefontcolor,T.baseFontColor[e]));o.alternateRowBgColor=P(p(g.alternaterowbgcolor,j.alternaterowbgcolor,T.altHGridColor[e]));o.alternateRowBgAlpha=p(g.alternaterowbgalpha,j.alternaterowbgalpha,T.altHGridAlpha[e])+J;o.listRowDividerThickness=n(g.listrowdividerthickness,j.listrowdividerthickness,1);o.listRowDividerColor=P(p(g.listrowdividercolor,j.listrowdividercolor,T.borderColor[e]));o.listRowDividerAlpha=n(g.listrowdivideralpha,j.listrowdivideralpha,
T.altHGridAlpha[e])+15+J;o.colorBoxWidth=n(g.colorboxwidth,j.colorboxwidth,8);o.colorBoxHeight=n(g.colorboxheight,j.colorboxheight,8);o.navButtonRadius=n(g.navbuttonradius,j.navbuttonradius,7);o.navButtonColor=P(p(g.navbuttoncolor,j.navbuttoncolor,T.canvasBorderColor[e]));o.navButtonHoverColor=P(p(g.navbuttonhovercolor,j.navbuttonhovercolor,T.altHGridColor[e]));o.textVerticalPadding=n(g.textverticalpadding,j.textverticalpadding,3);o.navButtonPadding=n(g.navbuttonpadding,j.navbuttonpadding,5);o.colorBoxPadding=
n(g.colorboxpadding,j.colorboxpadding,10);o.valueColumnPadding=n(g.valuecolumnpadding,j.valuecolumnpadding,10);o.nameColumnPadding=n(g.namecolumnpadding,j.namecolumnpadding,5);o.borderThickness=n(g.borderthickness,j.borderthickness,1);o.borderColor=P(p(g.bordercolor,j.bordercolor,T.borderColor[e]));o.borderAlpha=p(g.borderalpha,j.borderalpha,T.borderAlpha[e])+J;o.bgColor=p(g.bgcolor,j.bgcolor,"FFFFFF");o.bgAlpha=p(g.bgalpha,j.bgalpha,ga);o.bgRatio=p(g.bgratio,j.bgratio,ga);o.bgAngle=p(g.bgangle,j.bgangle,
ea);b.borderRadius=o.borderThickness/16;b.borderWidth=o.borderThickness;b.borderColor={FCcolor:{color:o.borderColor,alpha:o.borderAlpha}};b.backgroundColor={FCcolor:{color:o.bgColor,alpha:o.bgAlpha,ratio:o.bgRatio,angle:o.bgAngle}};b.borderRadius=n(j.borderradius,0);i={fontFamily:o.baseFont,fontSize:o.baseFontSize,color:o.baseFontColor};Qa(i);d.setStyle(i);for(e=0;e<q;e+=1)if(c=h[e],f=z.getCleanValue(c.value),l=aa(va(c.label,c.name)),g=P(p(c.color,r[e%w])),p(c.alpha,j.plotfillalpha,ga),l!=J||f!=null)k.push({value:f,
label:l,color:g}),u+=f,A+=1;for(e=0;e<A;e+=1)c=k[e],f=c.value,c.dataLabel=c.label,c.displayValue=o.showPercentValues?z.percentValue(f/u*100):z.dataLabels(f),h=d.getOriSize(c.displayValue),y=Math.max(y,h.width+o.valueColumnPadding);o.numberItemsPerPage?o.numberItemsPerPage>=A?(o.numberItemsPerPage=A,f=m/o.numberItemsPerPage,g=A):(z=m,z-=2*(o.navButtonPadding+o.navButtonRadius),g=o.numberItemsPerPage,f=z/g):(e=parseInt(i.lineHeight,10),e+=2*o.textVerticalPadding,e=Math.max(e,o.colorBoxHeight),m/e>=
A?(f=m/A,g=A):(z=m,z-=2*(o.navButtonPadding+o.navButtonRadius),g=Math.floor(z/e),f=z/g));l=O-o.colorBoxPadding-o.colorBoxWidth-o.nameColumnPadding-y-o.valueColumnPadding;c=o.colorBoxPadding+o.colorBoxWidth+o.nameColumnPadding;b.height=m;b.width=O;b.rowHeight=f;b.labelX=c;b.colorBoxWidth=o.colorBoxWidth;b.colorBoxHeight=o.colorBoxHeight;b.colorBoxX=o.colorBoxPadding;b.valueX=o.colorBoxPadding+o.colorBoxWidth+o.nameColumnPadding+l+o.valueColumnPadding;b.valueColumnPadding=o.valueColumnPadding;b.textStyle=
i;b.listRowDividerAttr={"stroke-width":o.listRowDividerThickness,stroke:{FCcolor:{color:o.listRowDividerColor,alpha:o.listRowDividerAlpha}}};b.alternateRowColor={FCcolor:{color:o.alternateRowBgColor,alpha:o.alternateRowBgAlpha}};b.navButtonRadius=o.navButtonRadius;b.navButtonPadding=o.navButtonPadding;b.navButtonColor=o.navButtonColor;b.navButtonHoverColor=o.navButtonHoverColor;b.lineHeight=parseInt(i.lineHeight,10);m=[];o=0;z=!0;for(e=0;e<A&g!=0;e+=1)e%g==0&&(m.push({data:[],visible:z}),z=!1,o+=
1),c=k[e],m[o-1].data.push({label:d.getSmartText(c.dataLabel,l,f).text,displayValue:c.displayValue,y:c.value,color:c.color});a.series=m;a.exporting.enabled=j.exportenabled=="1"?!0:!1;a.exporting.buttons.exportButton.enabled=j.exportshowmenuitem=="0"?!1:!0;a.exporting.filename=j.exportfilename?j.exportfilename:"FusionCharts";a.exporting.width=O;return a},creditLabel:U},m.base);na.ssgrid=Fa(na.pie,{states:{hover:{}}});var ib=function(a,d){var b=a.currentSeriesIndex,c=a.series,g=d?b-1:b+1;if(c[g])c[b].hide(),
c[g].show(),a.currentSeriesIndex=g,hb(a)},hb=function(a){var d=a.series.length,b=a.currentSeriesIndex,c=a.naviigator;c.translate(0,a.series[b].data.length*a.options.chart.rowHeight);b===0?c.navElePrv.hide():c.navElePrv.show();b===d-1?c.navEleNxt.hide():c.navEleNxt.show()},Db=function(a){var d=a.renderer,b=a.options.chart,c=b.navButtonRadius,g=c*0.67,i=b.navButtonPadding+g,e=b.width-20,f=b.navButtonHoverColor,l=b.navButtonColor,k,j;if(a.series.length>1){var h=a.naviigator=d.g("navigator").attr({zIndex:4}).add();
h.navElePrv=b=d.g("navElePrv").add(h);k=d.path([C,20,i,K,20+c+g,i-g,20+c,i,20+c+g,i+g,"Z"]).attr({fill:l}).add(b);d.circle(20+c,i,c).attr({fill:Ba,cursor:"pointer"}).on("mouseover",function(){k.attr({fill:f,cursor:"pointer"})}).on("mouseout",function(){k.attr({fill:l})}).on("click",function(){ib(a,!0)}).add(b);h.navEleNxt=b=d.g("navEleNxt").add(h);j=d.path([C,e,i,K,e-c-g,i-g,e-c,i,e-c-g,i+g,"Z"]).attr({fill:l,cursor:"pointer"}).add(b);d.circle(e-c,i,c).attr({fill:Ba,cursor:"pointer"}).on("mouseover",
function(){j.attr({fill:f})}).on("mouseout",function(){j.attr({fill:l})}).on("click",function(){ib(a)}).attr({fill:l}).add(b)}},pa=N.extendClass(ma.pie,{type:"ssgrid",translate:function(){var a=this.chart.options.chart,d=0,b=a.width,c=a.rowHeight,g=a.colorBoxWidth,i=a.colorBoxHeight,e=a.colorBoxX,f=a.labelX,l=a.valueX;ha(this.data,function(a){a.shapeType="rect";a.alternateGradientBox={x:0,y:d,width:b,height:c,r:0};a.rowDivider=[C,0,d,K,b,d];a.colorBoxArgs={x:e,y:d+c/2-i/2,width:g,height:i,r:0};a.labelX=
f;a.valueX=l;d+=c});this.options.lastRowDivider=[C,0,d,K,b,d]},drawPoints:function(){var a=this.chart.options.chart,d=this.chart.renderer,b,c=this.group,g=a.alternateRowColor,i=a.listRowDividerAttr,e=this.options.lastRowDivider,f=a.rowHeight,l=a.textStyle,k=a.lineHeight,j=a.width,h=a.valueColumnPadding,q,z,m,n,o,p,r;ha(this.data,function(a,e){b=a.graphic;q=a.rowDivider;z=a.colorBoxArgs;m=a.alternateGradientBox;p=a.valueX;if(!b)a.graphic=d.path(q).attr(i).add(c),e%2==0&&d.rect(m).attr({fill:g,"stroke-width":0}).add(c),
a.symbol=d.rect(z).attr({fill:a.color,"stroke-width":0,stroke:"#000000"}).add(c),n=d.text(a.label,a.labelX).css(l).add(c),o=q[2]+f/2+k-n.getBBox().height/2,n.attr({y:o}),n=d.text(a.displayValue,p).css(l).add(c),r=n.getBBox(),o=q[2]+f/2+k-r.height/2,n.attr({y:o,x:p+(j-p-h-r.width)})});d.path(e).attr(i).add(c)},render:function(){var c;var a,d=this.chart;a=d.renderer;var b=this.options;d.naviigator||Db(d);if(!this.group)c=this.group=a.g("series"),a=c,a.attr({visibility:this.visible?ia:"hidden",zIndex:b.zIndex}).translate(d.plotLeft,
d.plotTop).add(d.seriesGroup);this.drawPoints();this.drawDataLabels();if(this.visible)d.currentSeriesIndex=this.index,d.naviigator&&hb(d);this.options.animation&&this.animate&&this.animate();this.isDirty=!1},drawDataLabels:function(){},drawTracker:function(){},animate:function(){}});ma.ssgrid=pa;na.bubble=Fa(na.scatter,{states:{hover:{}}});pa=N.extendClass(ma.scatter,{type:"bubble",drawPoints:function(){var a,d=this.data,b=this.chart,c,g,i,e,f,l,k=this.chart.plotWidth;c=this.chart.plotHeight;a=this.options.zMax;
var j=this.options.bubbleScale,h,k=(k>c?c:k)/8;h=bb(a);if(this.options.marker.enabled)for(i=d.length;i--;)if(e=d[i],c=e.plotX,g=e.plotY,l=e.graphic,g!==xa&&!isNaN(g))a=e.pointAttr[e.selected?"select":""],f=bb(e.z),f=za(f*k/h)*j,a.r=f=f||0,l?l.animate({x:c,y:g,r:f}):e.graphic=b.renderer.symbol(Ga(e.marker&&e.marker.symbol,this.symbol),c,g,f).attr(a).add(this.group)}});ma.bubble=pa;na.stepzoom=Fa(na.line,{states:{hover:{}}});var Eb=function(a,d,b){a<=0.01&&(a=0);var c=this.stepZoom,d=this.series,g=
this.plotWidth,i=this.options._FCconf.clipExcessWidth,e=g/2,f=d.length,a=n(a,c.scrollPosition,0),l=c.scrollablePXLength*a,k=c.zoomHistory[c.currentZoomLevelIndex],j,h,q,z,m=this.plotLeft-l;c.catGroup.attr("translateX",m);c.catClipRect.attr("x",l-i/2);this.clipRect&&this.clipRect.attr("x",l);for(i=f;i--;)if(f=d[i],f.group&&f.group.attr("translateX",m),f.dataLabelsGroup&&f.dataLabelsGroup.attr("translateX",m),f.clipRect&&f.clipRect.attr("x",l),b){c=ba.min(20,e);h=f.data;j=h.length;for(z=0;z<j;z+=1)q=
h[z],q.y!==null&&q.tooltipPos&&(f=q.plotX-l,f>=0&&f<=e?f+=c:f>e&&f<=g&&(f-=c),q.tooltipPos[0]=f)}k.scrollPosition=a},pa=N.extendClass(ma.line,{type:"stepzoom",translate:function(){for(var a=this.chart,d=this.options.stacking,b=this.xAxis.categories,c=this.yAxis,g=this.data,i=g.length;i--;){var e=g[i],f=e.x,l=e.y,k=e.low,j=c.stacks[(l<0?"-":"")+this.stackKey];e.plotX=this.xAxis.translate(f);if(d&&j&&j[f]){var f=j[f],j=f.total,h=c.options.min,k=f.cum;f.cum+=l;l=ka(h,k+l);k=ka(h,k);d==="percent"&&(k=
j?k*100/j:0,l=j?l*100/j:0);e.percentage=j?e.y*100/j:0;e.stackTotal=j}if(ya(k))e.yBottom=c.translate(k,0,1,0,1);if(l!==null)e.plotY=c.translate(l,0,1,0,1);e.clientX=a.inverted?a.plotHeight-e.plotX:e.plotX;e.category=b&&b[e.x]!==xa?b[e.x]:e.x}},drawPoints:function(){var a=this.options,d=this.chart,b=d.renderer,c=d.options.chart,g=d.stepZoom,i=a.dataLabels,e=+new Date,f=this.data,l=this.dataLabelsGroup,k=g.zoomHistory[g.currentZoomLevelIndex],j=k.perPointPixelDistance,h=g.scrollPosition*g.scrollablePXLength,
g=k.stepping,k=k.seriesStart,a=a.marker.enabled,q=i.color,z=i.style,m=i.y===null,n=d.plotHeight,o=parseInt(z.fontSize,10),p=c.valuePadding,r=c.valuePosition,w,u,y,s,t,v,x,G,C,I,B,F,H,D=this.group,K=D.element;i.rotation=y=c.rotateValues==1?270:void 0;if(!l)l=this.dataLabelsGroup=b.g("data-labels").attr({visibility:this.visible?ia:"hidden",zIndex:6}).translate(d.plotLeft-h,d.plotTop).add(),c.hasScroll&&l.clip(this.clipRect);c=l.element;q==="auto"&&(q=null);z.color=Ga(q,this.color);for(h=f.length;h--;)if(q=
f[h],t=h-k,w=q.plotX=t*j,s=q.plotY,s!==xa&&!isNaN(s)&&(u=q.graphic,C=!(t<0||t%g!==0),t=i.align,v=(m?q.y>=0?-6:12:i.y)-p,x=i.formatter.call(q.getLabelConfig()),G=q.pointAttr[q.selected?"select":""],F=G.r,I=w+20,B=s-15,I=I<0?0:I,B=B<0?0:B,q.tooltipPos=[I,B],G.isTracker=e,a||Oa(G,{fill:Ya,stroke:Ya,r:3}),u?u.attr({x:w,y:s,r:F}):(q.graphic=u=d.renderer.symbol(Ga(q.marker&&q.marker.symbol,this.symbol),w,s,F).on(Xa?"touchstart":"mouseover",function(a){var b,c;if(b=(a.currentTarget?a.currentTarget:a.srcElement).point){c=
b.series;H=a.relatedTarget||a.fromElement;if(d.hoverSeries!==c&&Ha(H,"isTracker")!==e)c.onMouseOver();b.onMouseOver()}}).on("mouseout",function(a){var b=a.currentTarget?a.currentTarget:a.srcElement;if((b=b.point&&b.point.series)&&!b.options.stickyTracking)if(H=a.relatedTarget||a.toElement,Ha(H,"isTracker")!==e)b.onMouseOut()}).attr(G),C?(u.element.point=q,K.appendChild(u.element),u.added=!0):(u._parentNode=D,b.pending.push(u)),(!C||Ia&&K.gVis==="hidden")&&u.attr({visibility:"hidden"})),x!=null)){w+=
i.x;u=s+v;switch(r){case "above":u=s+v;break;case "below":u=s-v+o;break;default:u=f[h-1],u=s+((u&&u.plotY)<=q.plotY?-(v-o):v)}u>n&&(u=s+v);u<o&&(u=s-v+o);if(s=q.dataLabel)s.attr({text:x}).animate({x:w,y:u});else if(x!==xa&&x!==null)s=q.dataLabel=b.text(x,w,u).css(z),s.textStr!==void 0&&Y&&b.buildText(s),C?(c.appendChild(s.element),s.added=!0,s.attr({align:t,rotation:y})):(s._parentNode=l,b.pending.push(s)),(!C||Ia&&c.gVis==="hidden")&&s.attr({visibility:"hidden"})}},drawGraph:function(){for(var a=
this.options,d=this.chart,b=[],c=this.group,g=a.lineColor||this.color,i=a.lineWidth,e=a.dashStyle,f=d.renderer,l=this.data,k=a.connectNullData,j=d.stepZoom.zoomHistory[d.stepZoom.currentZoomLevelIndex],h,q=0,z=[],m=!0,n,o=(d.options.chart&&d.options.chart.stepZoom).skipOverlapPoints?j.stepping:1,d=j.seriesStart;d<l.length;d+=o,q+=j.visiblePointDistance)h=l[d],ya(h&&h.plotY)?(n&&(b.push(C,z[0],z[1],K),n=!1),m?(n=!0,m=!1,z[0]=q,z[1]=h.plotY):b.push(q,h.plotY)):k||(m=!0,n=!1);this.graphPath=b;this.singlePoints=
[];l=this.graphLine;g={stroke:g,"stroke-width":i,"stroke-linecap":"round","stroke-linejoin":"round",dashstyle:e};l?this.graphLine.animate({d:b}):this.graphLine=f.path(b).attr(g).add(c).shadow(a.shadow,this.shadowGroup,a.shadow)},render:function(){var a=this,d=a.chart,b=d.stepZoom,c=d.renderer,g=d.options.chart,i=g.stepZoom,e=d.options._FCconf,f=a.data,l;if(!d.stepZoom){var b=f.length-1,k=n(i.pixelsperpoint,30),j=n(i.displayStartIndex,0),h=n(i.displayEndIndex,b),q=d.plotWidth,m=d.plotLeft,p=i.scrollHeight,
y=d.plotHeight+d.plotTop+n(i.scrollPadding,0),o=h-j,f=q/o,A=e.maxLabelWidth,r=e.visibleLabelDistance,r=f<r?Ja(r/f):1,w=f<k?Ja(k/f):1,u,C,f=q/(o-o%w),A=e.clipExcessWidth=A||0,e=j%w;u=b-b%w||1;o=(u-e)*f;C=q/o;l=o-q;o=l>0?(j-e)*f/(o-q):0;g=g.plotBorderWidth;i=c.scroller(m-g,y,q+g+g,p,!0,{size:i.scrollBtnWidth,padding:i.scrollBtnPadding},!1).attr({fill:i.scrollColor}).setScrollRatio(C).callback(function(a,b,c){Eb.call(d,a,b,c)}).add(d.seriesGroup);d.stepZoom=b={zoomHistory:[{seriesStart:e,seriesEnd:u,
stepping:w,perPointPixelDistance:f,visiblePointDistance:w*f,seriesConf:[],scrollRatio:C,scrollPosition:o,scrollablePXLength:l}],currentZoomLevelIndex:0,pixelsPerPoint:k,displayStartIndex:j,displayEndIndex:h,scrollRatio:1,maxIndex:b,scrollPosition:o,scrollablePXLength:l,scroller:i};var k=a.xAxis,g=k.categories,h=k.options.labels,k=0,s,t,w=y+p,p=h.align,y=h.rotation,j=h.style,k=n(parseInt(j.lineHeight),12);b.catClipRect=c.clipRect(-(A/2),0,q+A,d.chartHeight);b.catGroup=w=c.g("category-labels").translate(m,
w).clip(b.catClipRect).add(d.seriesGroup);l=b.catGroup.element;if(g&&g.length>0){q=b.catLabelArr=[];A=g.length;m=h.y||0;h=h.x||0;b.catLabelClipXDisplacement=-(k/2);b.xDisplacement=h;for(k=0;k<A;k+=1)if(u=!(t<0||t%r!==0),s=g[k],ya(s))t=k-e,C=t*f+h,C=q[k]=c.text(s,C,m).css(j),C.textStr!==void 0&&Y&&c.buildText(C),u?(l.appendChild(C.element),C.added=!0):(C._parentNode=w,c.pending.push(C)),C.attr({align:p,rotation:y}),(!u||Ia&&l.gVis==="hidden")&&C.attr({visibility:"hidden"})}i.setScrollPosition(o)}var v;
t=a.options;var r=(f=(r=t.animation)&&a.animate)?r&&r.duration||500:0,x=a.clipRect,e=b.scrollPosition*b.scrollablePXLength;if(!x&&(x=a.clipRect=!d.hasRendered&&d.clipRect?d.clipRect:c.clipRect(e,0,d.plotSizeX,d.plotSizeY),!d.clipRect))d.clipRect=x;if(!a.group)v=a.group=c.g("series"),v.clip(a.clipRect).attr({visibility:a.visible?ia:"hidden",zIndex:t.zIndex}).translate(d.plotLeft-e,d.plotTop).add(d.seriesGroup);f&&a.animate(!0);a.drawGraph&&a.drawGraph();a.drawPoints();f&&a.animate();setTimeout(function(){x.isAnimating=
!1;if((v=a.group)&&x!==d.clipRect&&x.renderer)v.clip(a.clipRect=d.clipRect),x.destroy()},r);a.isDirty=!1}});ma.stepzoom=pa;Oa(N.Renderer.prototype.symbols,{pinModeIcon:function(a,d,b){d-=1.5;var c=b*2/3,g=a-b,i=a+b,e=a-c,f=a+c,l=a+0.5,k=l+1,j=l+1.5,h=d-b,q=d+c,m=d-c,b=d+(b-c);return[C,g,h,K,e,m,e,b,g,q,a-0.5,q,a,d+d+0.5,l,q,i,q,f,b,f,m,i,h,j,h,j,m,j,b,k,b,k,m,j,m,j,h,L]},zoomOutIcon:function(a,d,b,c,g){a-=1;d-=1;var i=b-0.25,c=43*qa,e=48*qa,b=a+i*da(c),c=d+i*ca(c),f=a+i*da(e),e=d+i*ca(e),l=45*qa,
k=b+4*da(l),j=c+4*ca(l),h=f+4*da(l),l=e+4*ca(l),g=g.getArcPath(a,d,b,c,f,e,i,i,0,1),i=["M",b,c],i=i.concat(g);return i=i.concat("Z","M",b+1,c+1,"L",k,j,h,l,f+1,e+1,"Z","M",a-2,d,"L",a+2,d,"Z")},resetIcon:function(a,d,b,c,g){var c=a-b,i=(Ka+S)/2,e=a+b*da(i),i=d+b*ca(i),f=b*2/3;return[C,c,d].concat(g.getArcPath(a,d,c,d,e,i,b,b,1,1),[K,e+f,i-1,e+2,i+f-0.5,e,i])}});na.pie3d=Fa(na.pie,{states:{hover:{}}});var Ua=function(a,d){return pb(a[1]-(this.pageY||this.originalEvent&&this.originalEvent.pageY)+d.top,
a[0]-(this.pageX||this.originalEvent&&this.originalEvent.pageX)+d.left)};Da.prototype={parseColor:function(a,d){var b,c,g,i,e,f=d/2,l,k,j,h;this.use3DLighting?(b=sa(a,80),c=sa(a,75),g=la(a,85),i=la(a,70),e=la(a,40)):(b=sa(a,90),c=sa(a,87),g=la(a,93),i=la(a,87),e=la(a,80));l=c+F+g+F+i+F+g+F+c;j=d+F+d+F+d+F+d+F+d;k=c+F+a+F+g+F+a+F+c;h=f+F+f+F+f+F+f+F+f;return{frontOuter:{FCcolor:{gradientUnits:"objectBoundingBox",x1:0,y1:0,x2:1,y2:0,color:l,alpha:j,angle:0,ratio:"0,25,5,5,65"}},backOuter:{FCcolor:{gradientUnits:"objectBoundingBox",
x1:0,y1:0,x2:1,y2:0,color:c+F+a+F+e+F+a+F+c,alpha:h,angle:0,ratio:"0,62,8,8,22"}},frontInner:{FCcolor:{gradientUnits:"objectBoundingBox",x1:0,y1:0,x2:1,y2:0,color:k,alpha:h,angle:0,ratio:"0,25,5,5,65"}},backInner:{FCcolor:{gradientUnits:"objectBoundingBox",x1:0,y1:0,x2:1,y2:0,color:l,alpha:j,angle:0,ratio:"0,62,8,8,22"}},top:Y?{FCcolor:{gradientUnits:"objectBoundingBox",radialGradient:!0,cx:0.3,cy:0.95,r:1,color:i+F+g+F+c,alpha:d+F+d+F+d,ratio:"0,10,90"}}:{FCcolor:{gradientUnits:"objectBoundingBox",
color:i+F+i+F+g+F+c,alpha:d+F+d+F+d+F+d,angle:-72,ratio:"0,8,15,77"}},bottom:fa(a,f),startSlice:fa(b,d),endSlice:fa(b,d)}},rotate:function(a){if(!this.hasOnePoint){for(var d=this.pointElemStore,b=0,c=d.length,g;b<c;b+=1)g=d[b],g=g._confObject,g.start+=a,g.end+=a,this.updateSliceConf(g);this.refreshDrawing()}},refreshDrawing:function(){return function(){var a=this.slicingWallsArr,d=0,b,c=a.length,g,i=null,e=null,f,l=this.slicingWallsFrontGroup.element,k=this.slicingWallsBackGroup.element;a:{var j=
a[0]&&a[0]._conf.index,h,q;f=j<=S;g=1;for(b=a.length;g<b;g+=1)if(q=a[g]._conf.index,h=q<=S,h!=f||q<j)break a;g=0}for(;d<c;d+=1,g+=1)g===c&&(g=0),b=a[g],f=b._conf.index,f<Ka?l.appendChild(b.element):f<=S?(l.insertBefore(b.element,i),i=b.element):f<cb?(k.insertBefore(b.element,e),e=b.element):k.appendChild(b.element)}}(),updateSliceConf:function(a,d){var b=a.start,c=a.end,g=ua(b),i=ua(c),e,f,l,k,j,h,q,m,n,p,o,A,r,w,u,y,s=this.cx,t=this.cy,v=this.rx,x=this.ry,G=v+2,F=x+2,I=this.innerRx,B=this.innerRy,
J=this.depth,H=this.depthY,D=this.renderer,N=a.elements,P,E,Q,X;f=da(g);l=ca(g);k=da(i);j=ca(i);h=s+v*f;q=t+x*l;m=s+G*f;n=t+F*l;P=q+J;E=s+v*k;Q=t+x*j;p=s+G*k;o=t+F*j;X=Q+J;this.isDoughnut?(e=s+I*f,A=t+B*l,u=A+J,r=s+I*k,w=t+B*j,y=w+J,a.startSlice=[C,h,q,K,h,P,e,u,e,A,L],a.endSlice=[C,E,Q,K,E,X,r,y,r,w,L]):(a.startSlice=[C,h,q,K,h,P,s,H,s,t,L],a.endSlice=[C,E,Q,K,E,X,s,H,s,t,L]);if(Y){a&&a.clipTopPath?(a.clipTopPath[1]=m,a.clipTopPath[2]=n,a.clipTopPath[9]=p,a.clipTopPath[10]=o):a.clipTopPath=[C,m,
n,ja,G,F,0,0,1,p,o,K,this.cx,this.cy,L];a.clipOuterFrontPath1=this.clipPathforNoClip;if(b!=c){if(g>i)if(g<S){if(a.clipOuterFrontPath1=[C,this.leftX,this.topY,K,h,this.topY,h,this.bottomY,this.leftX,this.bottomY,L],a.clipOuterFrontPath=[C,E,this.topY,K,this.rightX,this.topY,this.rightX,this.bottomY,E,this.bottomY,L],a.clipOuterBackPath=this.clipPathforOuter,this.isDoughnut)a.clipInnerBackPath=this.clipPathforInner,a.clipInnerFrontPath=[C,this.leftInnerX,this.topY,K,e,this.topY,e,this.bottomY,this.leftInnerX,
this.bottomY,L,C,r,this.topY,K,this.rightInnerX,this.topY,this.rightInnerX,this.bottomY,r,this.bottomY,L]}else if(i>S){if(a.clipOuterFrontPath=this.clipPathforOuter,a.clipOuterBackPath=[C,this.rightX,this.topY,K,h,this.topY,h,this.bottomY,this.rightX,this.bottomY,L,C,E,this.topY,K,this.leftX,this.topY,this.leftX,this.bottomY,E,this.bottomY,L],this.isDoughnut)a.clipInnerBackPath=[C,this.rightInnerX,this.topY,K,e,this.topY,e,this.bottomY,this.rightInnerX,this.bottomY,L,C,r,this.topY,K,this.leftInnerX,
this.topY,this.leftInnerX,this.bottomY,r,this.bottomY,L],a.clipInnerFrontPath=this.clipPathforInner}else{if(a.clipOuterFrontPath=[C,this.rightX,this.topY,K,E,this.topY,E,this.bottomY,this.rightX,this.bottomY,L],a.clipOuterBackPath=[C,this.rightX,this.topY,K,h,this.topY,h,this.bottomY,this.rightX,this.bottomY,L],this.isDoughnut)a.clipInnerBackPath=[C,this.rightInnerX,this.topY,K,e,this.topY,e,this.bottomY,this.rightInnerX,this.bottomY,L],a.clipInnerFrontPath=[C,this.rightInnerX,this.topY,K,r,this.topY,
r,this.bottomY,this.rightInnerX,this.bottomY,L]}else if(g<S)if(i>S){if(a.clipOuterFrontPath=[C,h,this.topY,K,this.leftX,this.topY,this.leftX,this.bottomY,h,this.bottomY,L],a.clipOuterBackPath=[C,E,this.topY,K,this.leftX,this.topY,this.leftX,this.bottomY,E,this.bottomY,L],this.isDoughnut)a.clipInnerBackPath=[C,r,this.topY,K,this.leftInnerX,this.topY,this.leftInnerX,this.bottomY,r,this.bottomY,L],a.clipInnerFrontPath=[C,e,this.topY,K,this.leftInnerX,this.topY,this.leftInnerX,this.bottomY,e,this.bottomY,
L]}else{if(a.clipOuterFrontPath=[C,h,this.topY,K,E,this.topY,E,this.bottomY,h,this.bottomY,L],a.clipOuterBackPath=this.clipPathforNoClip,this.isDoughnut)a.clipInnerBackPath=this.clipPathforNoClip,a.clipInnerFrontPath=[C,e,this.topY,K,r,this.topY,r,this.bottomY,e,this.bottomY,L]}else if(a.clipOuterFrontPath=this.clipPathforNoClip,a.clipOuterBackPath=[C,h,this.topY,K,E,this.topY,E,this.bottomY,h,this.bottomY,L],this.isDoughnut)a.clipInnerBackPath=[C,e,this.topY,K,r,this.topY,r,this.bottomY,e,this.bottomY,
L],a.clipInnerFrontPath=this.clipPathforNoClip;e=Va(g,i);a.clipTopPath[7]=e>S?1:0}else a.clipOuterFrontPath=a.clipOuterBackPath=a.clipInnerBackPath=a.clipInnerFrontPath=this.clipPathforNoClip;if(!d){a.elements.startSlice._conf.index=g;a.elements.endSlice._conf.index=i;a.elements.frontOuter._conf.index=Ma(i,g);if(a.elements.frontOuter1)a.elements.frontOuter1._conf.index=g,a.clipOuterFront1.attr({d:a.clipOuterFrontPath1});a.clipTop.attr({d:a.clipTopPath});a.clipOuterFront.attr({d:a.clipOuterFrontPath});
a.clipOuterBack.attr({d:a.clipOuterBackPath});this.isDoughnut&&(a.clipInnerBack.attr({d:a.clipInnerBackPath}),a.clipInnerFront.attr({d:a.clipInnerFrontPath}));this.hasOnePoint?(a.elements.startSlice.hide(),a.elements.endSlice.hide()):(a.elements.startSlice.attr({d:a.startSlice}).show(),a.elements.endSlice.attr({d:a.endSlice}).show())}}else{f=this.moveCmdArr;l=this.lineCmdArr;k=this.closeCmdArr;var R=this.centerPoint;j=this.leftPoint;m=this.topPoint;n=this.rightPoint;p=this.bottomPoint;var T=this.leftDepthPoint,
V=this.rightDepthPoint;o=this.leftInnerPoint;G=this.rightInnerPoint;F=this.leftInnerDepthPoint;J=this.rightInnerDepthPoint;a.outerFrontPath1=[];if(b!=c){if(g>i?g<S?(b=D.getArcPath(s,t,h,q,this.leftX,t,v,x,1,0),c=D.getArcPath(s,t,this.leftX,t,this.rightX,t,v,x,1,0),Q=D.getArcPath(s,t,this.rightX,t,E,Q,v,x,1,0),a.outerBackPath=f.concat(j,c,l,V,D.getArcPath(s,H,this.rightX,H,this.leftX,H,v,x,0,0),k),a.outerFrontPath1=f.concat([h,q],b,l,T,D.getArcPath(s,H,this.leftX,H,h,P,v,x,0,0),k),a.outerFrontPath=
f.concat(n,Q,l,[E,X],D.getArcPath(s,H,E,X,this.rightX,H,v,x,0,0),k),a.topBorderPath=f.concat([h,q],b,c,Q),this.isDoughnut?(h=D.getArcPath(s,t,r,w,this.rightInnerX,t,I,B,0,0),q=D.getArcPath(s,t,this.rightInnerX,t,this.leftInnerX,t,I,B,0,0),A=D.getArcPath(s,t,this.leftInnerX,t,e,A,I,B,0,0),a.innerBackPath=f.concat(G,q,l,F,D.getArcPath(s,H,this.leftInnerX,H,this.rightInnerX,H,I,B,1,0),k),a.innerFrontPath=f.concat(o,A,l,[e,u],D.getArcPath(s,H,e,u,this.leftInnerX,H,I,B,1,0),k,f,[r,w],h,l,J,D.getArcPath(s,
H,this.rightInnerX,H,r,y,I,B,1,0),k),a.topPath=a.topBorderPath.concat(l,[r,w],h,q,A,k),a.topBorderPath=a.topBorderPath.concat(f,[r,w],h,q,A)):a.topPath=a.topBorderPath.concat(l,R,k)):i>S?(b=D.getArcPath(s,t,h,q,this.rightX,t,v,x,1,0),c=D.getArcPath(s,t,this.rightX,t,this.leftX,t,v,x,1,0),Q=D.getArcPath(s,t,this.leftX,t,E,Q,v,x,1,0),a.outerFrontPath=f.concat(n,c,l,T,D.getArcPath(s,H,this.leftX,H,this.rightX,H,v,x,0,0),k),a.outerBackPath=f.concat([h,q],b,l,V,D.getArcPath(s,H,this.rightX,H,h,P,v,x,0,
0),k,f,j,Q,l,[E,X],D.getArcPath(s,H,E,X,this.leftX,H,v,x,0,0),k),a.topBorderPath=f.concat([h,q],b,c,Q),this.isDoughnut?(h=D.getArcPath(s,t,r,w,this.leftInnerX,t,I,B,0,0),q=D.getArcPath(s,t,this.leftInnerX,t,this.rightInnerX,t,I,B,0,0),A=D.getArcPath(s,t,this.rightInnerX,t,e,A,I,B,0,0),a.innerFrontPath=f.concat(o,q,l,J,D.getArcPath(s,H,this.rightInnerX,H,this.leftInnerX,H,I,B,1,0),k),a.innerBackPath=f.concat(G,A,l,[e,u],D.getArcPath(s,H,e,u,this.rightInnerX,H,I,B,1,0),k,f,[r,w],h,l,F,D.getArcPath(s,
H,this.leftInnerX,H,r,y,I,B,1,0),k),a.topPath=a.topBorderPath.concat(l,[r,w],h,q,A,k),a.topBorderPath=a.topBorderPath.concat(f,[r,w],h,q,A)):a.topPath=a.topBorderPath.concat(l,R,k)):(b=D.getArcPath(s,t,h,q,this.rightX,t,v,x,1,0),c=D.getArcPath(s,t,this.rightX,t,E,Q,v,x,1,0),a.outerFrontPath=f.concat(n,c,l,[E,X],D.getArcPath(s,H,E,X,this.rightX,H,v,x,0,0),k),a.outerBackPath=f.concat([h,q],b,l,V,D.getArcPath(s,H,this.rightX,H,h,P,v,x,0,0),k),a.topBorderPath=f.concat([h,q],b,c),this.isDoughnut?(h=D.getArcPath(s,
t,r,w,this.rightInnerX,t,I,B,0,0),q=D.getArcPath(s,t,this.rightInnerX,t,e,A,I,B,0,0),a.innerFrontPath=f.concat([r,w],h,l,J,D.getArcPath(s,H,this.rightInnerX,H,r,y,I,B,1,0),k),a.innerBackPath=f.concat(G,q,l,[e,u],D.getArcPath(s,H,e,u,this.rightInnerX,H,I,B,1,0),k),a.topPath=a.topBorderPath.concat(l,[r,w],h,q,k),a.topBorderPath=a.topBorderPath.concat(f,[r,w],h,q)):a.topPath=a.topBorderPath.concat(l,R,k)):g<S?i>S?(b=D.getArcPath(s,t,h,q,this.leftX,t,v,x,1,0),c=D.getArcPath(s,t,this.leftX,t,E,Q,v,x,1,
0),a.outerBackPath=f.concat(j,c,l,[E,X],D.getArcPath(s,H,E,X,this.leftX,H,v,x,0,0),k),a.outerFrontPath=f.concat([h,q],b,l,T,D.getArcPath(s,H,this.leftX,H,h,P,v,x,0,0),k),a.topBorderPath=f.concat([h,q],b,c),this.isDoughnut?(h=D.getArcPath(s,t,r,w,this.leftInnerX,t,I,B,0,0),q=D.getArcPath(s,t,this.leftInnerX,t,e,A,I,B,0,0),a.innerBackPath=f.concat([r,w],h,l,F,D.getArcPath(s,H,this.leftInnerX,H,r,y,I,B,1,0),k),a.innerFrontPath=f.concat(o,q,l,[e,u],D.getArcPath(s,H,e,u,this.leftInnerX,H,I,B,1,0),k),a.topPath=
a.topBorderPath.concat(l,[r,w],h,q,k),a.topBorderPath=a.topBorderPath.concat(f,[r,w],h,q)):a.topPath=a.topBorderPath.concat(l,R,k)):(b=D.getArcPath(s,t,h,q,E,Q,v,x,1,0),a.outerBackPath=f.concat([h,q]),a.topBorderPath=a.outerBackPath.concat(b),a.outerFrontPath=a.topBorderPath.concat(l,[E,X],D.getArcPath(s,H,E,X,h,P,v,x,0,0),k),this.isDoughnut?(h=D.getArcPath(s,t,r,w,e,A,I,B,0,0),a.innerBackPath=f.concat([r,w]),a.topPath=a.topBorderPath.concat(l,[r,w],h,k),a.topBorderPath=a.topBorderPath.concat(f,[r,
w],h),a.innerFrontPath=a.innerBackPath.concat(h,l,[e,u],D.getArcPath(s,H,e,u,r,y,I,B,1,0),k)):a.topPath=a.topBorderPath.concat(l,R,k)):(b=D.getArcPath(s,t,h,q,E,Q,v,x,1,0),a.outerFrontPath=f.concat([h,q]),a.topBorderPath=a.outerFrontPath.concat(b),a.outerBackPath=a.topBorderPath.concat(l,[E,X],D.getArcPath(s,H,E,X,h,P,v,x,0,0),k),this.isDoughnut?(h=D.getArcPath(s,t,r,w,e,A,I,B,0,0),a.innerFrontPath=f.concat([r,w]),a.topPath=a.topBorderPath.concat(l,[r,w],h,k),a.topBorderPath=a.topBorderPath.concat(a.innerFrontPath,
h),a.innerBackPath=a.innerFrontPath.concat(h,l,[e,u],D.getArcPath(s,H,e,u,r,y,I,B,1,0),k)):a.topPath=a.topBorderPath.concat(l,R,k)),b=f.concat(j,l,n),h=f.concat(m,l,p),a.topPath=a.topPath.concat(b,h),a.outerFrontPath=a.outerFrontPath.concat(b),a.outerFrontPath1=a.outerFrontPath1.concat(b),a.outerBackPath=a.outerBackPath.concat(b),this.isDoughnut)h=f.concat(o,l,G),a.innerFrontPath=a.innerFrontPath.concat(h),a.innerBackPath=a.innerBackPath.concat(h)}else if(a.topPath=a.outerFrontPath=a.outerBackPath=
[],this.isDoughnut)a.innerFrontPath=a.innerBackPath=[];if(!d){a.elements.startSlice._conf.index=g;a.elements.endSlice._conf.index=i;a.elements.frontOuter._conf.index=Ma(i,g);if(a.elements.frontOuter1)a.elements.frontOuter1._conf.index=g,N.frontOuter1.attr({d:a.outerFrontPath1});a.thisElement.attr({d:a.topPath});N.topBorder.attr({d:a.topBorderPath});N.bottom.attr({d:a.topPath});N.bottomBorder.attr({d:a.topBorderPath});N.frontOuter.attr({d:a.outerFrontPath});N.backOuter.attr({d:a.outerBackPath});this.isDoughnut&&
(N.frontInner.attr({d:a.innerFrontPath}),N.backInner.attr({d:a.innerBackPath}));this.hasOnePoint?(a.elements.startSlice.hide(),a.elements.endSlice.hide()):(a.elements.startSlice.attr({d:a.startSlice}).show(),a.elements.endSlice.attr({d:a.endSlice}).show())}}},createSlice:function(){var a={stroke:!0,strokeWidth:!0,"stroke-width":!0,dashstyle:!0,"stroke-dasharray":!0,translateX:!0,translateY:!0,"stroke-opacity":!0,fill:!0,opacity:!0,isTracker:!0,start:!0,end:!0},d=function(b,c){var d,g,j=this,h=j._confObject,
i,m=h.elements,n,p,o=h.pie3DManager;typeof b==="string"&&ya(c)&&(d=b,b={},b[d]=c);if(typeof b==="string")j=a[b]?h[b]:j._attr(b);else{for(d in b)if(g=b[d],a[d])if(h[d]=g,d==="translateX"||d==="translateY"||d==="isTracker"){i={};i[d]=g;for(n in m)m[n].attr(i);j._attr(i)}else if(d==="stroke"||d==="strokeWidth"||d==="stroke-width"||d==="dashstyle"||d==="stroke-dasharray")i={},i[d]=g,m.topBorder.attr(i),m.startSlice.attr(i),m.endSlice.attr(i),m.bottomBorder.attr(i);else{if(d!=="fill"&&(d==="start"||d===
"end"))p=!0}else j._attr(d,g);p&&(o.updateSliceConf(h),o.refreshDrawing())}return j},b=function(a,b){var c=this._confObject.elements,d;for(d in c)c[d].on(a,b);return this._on(a,b)},c=function(){var a=this._confObject.elements,b;for(b in a)a[b].hide();return this._hide()},g=function(){var a=this._confObject.elements,b;for(b in a)a[b].show();return this._show()},i=function(){var a=this._confObject,b=a.elements,c;for(c in b)b[c].destroy();Y&&(a.clipTop.destroy(),a.clipOuterFront.destroy(),a.clipOuterBack.destroy(),
a.clipOuterFront1&&a.clipOuterFront1.destroy(),a.clipInnerFront&&a.clipInnerFront.destroy(),a.clipInnerBack&&a.clipInnerBack.destroy());return this._destroy()};return function(a,f,l,k,j,h,m){var n=this.renderer,l=this.parseColor(l,k),f={start:a,end:f,elements:{},pie3DManager:this,topPath:this.topPath,topBorderPath:this.topBorderPath,outerFrontPath:this.outerFrontPath,outerFrontPath1:this.outerFrontPath,outerBackPath:this.outerBackPath,innerFrontPath:this.innerFrontPath,innerBackPath:this.innerBackPath},
k=this.slicingWallsArr,p=f.elements;this.updateSliceConf(f,!0);a=n.path(f.topPath).attr({fill:l.top,"stroke-width":0}).add(this.topGroup);p.topBorder=n.path(f.topBorderPath).attr({stroke:j,"stroke-width":h}).add(this.topGroup);p.bottom=n.path(f.topPath).attr({fill:l.bottom,"stroke-width":0}).add(this.bottomBorderGroup);p.bottomBorder=n.path(f.topBorderPath).attr({stroke:j,"stroke-width":h}).add(this.bottomBorderGroup);p.frontOuter=n.path(f.outerFrontPath).attr({fill:l.frontOuter,"stroke-width":0}).add(this.slicingWallsFrontGroup);
p.backOuter=n.path(f.outerBackPath).attr({fill:l.backOuter,"stroke-width":0}).add(this.outerBackGroup);p.startSlice=n.path(f.startSlice).attr({fill:l.startSlice,stroke:j,"stroke-width":h}).add(this.slicingWallsFrontGroup);p.endSlice=n.path(f.endSlice).attr({fill:l.endSlice,stroke:j,"stroke-width":h}).add(this.slicingWallsFrontGroup);j=ua(f.start);h=ua(f.end);if(Va(j,h)>S){if(p.frontOuter1=n.path(f.outerFrontPath1).attr({fill:l.frontOuter,"stroke-width":0}).add(this.slicingWallsFrontGroup),k.push(p.startSlice,
p.frontOuter1,p.frontOuter,p.endSlice),p.frontOuter1._conf={index:j,isStart:0.5,pIndex:m},Y)f.clipOuterFront1=n.clipPath(f.clipOuterFrontPath1),p.frontOuter1.clip(f.clipOuterFront1)}else k.push(p.startSlice,p.frontOuter,p.endSlice);p.frontOuter._conf={index:Ma(h,j),isStart:0.5,pIndex:m};p.startSlice._conf={index:j,isStart:0,pIndex:m};p.endSlice._conf={index:h,isStart:1,pIndex:m};this.hasOnePoint&&(p.startSlice.hide(),p.endSlice.hide());if(this.isDoughnut)p.frontInner=n.path(f.innerFrontPath).attr({fill:l.frontInner,
"stroke-width":0}).add(this.innerFrontGroup),p.backInner=n.path(f.innerBackPath).attr({fill:l.backInner,"stroke-width":0}).add(this.innerBackGroup);if(Y&&(f.clipTop=n.clipPath(f.clipTopPath),f.clipOuterFront=n.clipPath(f.clipOuterFrontPath),f.clipOuterBack=n.clipPath(f.clipOuterBackPath),a.clip(f.clipTop),p.topBorder.clip(f.clipTop),p.bottom.clip(f.clipTop),p.bottomBorder.clip(f.clipTop),p.frontOuter.clip(f.clipOuterFront),p.backOuter.clip(f.clipOuterBack),this.isDoughnut))f.clipInnerFront=n.clipPath(f.clipInnerFrontPath),
f.clipInnerBack=n.clipPath(f.clipInnerBackPath),p.frontInner.clip(f.clipInnerFront),p.backInner.clip(f.clipInnerBack);a._confObject=f;f.thisElement=a;a._destroy=a.destroy;a.destroy=i;a._show=a.show;a.show=g;a._hide=a.hide;a.hide=c;a._on=a.on;a.on=b;a._attr=a.attr;a.attr=d;this.pointElemStore.push(a);return a}}()};Da.prototype.constructor=Da;N=N.extendClass(ma.pie,{type:"pie3d",translate:function(){var a=0,d=this,b=d.options,c=p(this.chart.options.chart.startingAngle,0)%360,g=n(b.dataLabels.distance,
20),i=d.slicedOffset=b.slicedOffset,e=Ea([],b.center),f=d.chart,l=f.plotWidth,k=f.plotHeight,j,h,m,z=d.data,y,C=Za(l,k),o,A,r,w=b.dataLabels.distance,u=d.pieYScale=b.pieYScale,F=d.pieSliceDepth=b.pieSliceDepth,s=d.managedPieSliceDepth=b.managedPieSliceDepth,t=d.slicedOffsetY=i*u;e.push(b.size,b.innerSize||0);e=Pa(e,function(a,b){return(o=/%$/.test(a))?[l,k-s,C,C][b]*parseInt(a,10)/100:a});e[2]/=2;e[3]/=2;e.push(e[2]*u);e.push((e[2]+e[3])/2);e.push(e[5]*u);d.getX=function(a,b){m=ba.asin((a-e[1])/(e[2]+
w));return e[0]+(b?-1:1)*da(m)*(e[2]+w)};d.center=e;ha(z,function(b){a+=b.y});d.labelsRadius=e[2]+g;d.labelsRadiusY=d.labelsRadius*u;d.quadrantHeight=(k-s)/2;d.quadrantWidth=l/2;var g=b.dataLabels,v=-c*qa,x,v=za(v*1E3)/1E3;x=v+oa;c=n(parseInt(g.style.fontSize,10),10)+4;d.maxLabels=Math.floor(d.quadrantHeight/c);d.labelFontSize=c;d.connectorPadding=n(g.connectorPadding,5);d.isSmartLineSlanted=p(g.isSmartLineSlanted,!0);d.connectorWidth=n(g.connectorWidth,1);d.enableSmartLabels=g.enableSmartLabels;
if(!d.pie3DManager)d.pie3DManager=new Da(e[0],e[1],e[2],e[3],u,F,void 0,f.renderer,d.data.length===1,b.use3DLighting);ha(z,function(b){j=v;y=a?b.y/a:0;v=za((v+y*oa)*1E3)/1E3;v>x&&(v=x);h=v;b.shapeArgs={start:j,end:h};b.centerAngle=m=(h+j)/2%oa;b.slicedTranslation=Pa([da(m)*i+f.plotLeft,ca(m)*t+f.plotTop],za);A=da(m)*e[2];d.radiusY=r=ca(m)*e[4];b.tooltipPos=[e[0]+A*0.7,e[1]+r];b.percentage=y*100;b.total=a});this.setTooltipPoints()},drawDataLabels:function(){var a=function(a,b){return a.point.y-b.point.y},
d=function(a,b){return a.angle-b.angle},b=["left","left","right","right"],c=[-1,1,1,-1],g=[1,1,-1,-1];return function(i){var e=this.data,f,l,k=this.chart,j=k.options.instanceAPI.smartLabel,h=this.options.dataLabels;f=h.style;var m=n(parseInt(f.lineHeight,10),12),p=h.placeInside,y=h.skipOverlapLabels,F=h.manageLabelOverflow,o=this.connectorPadding,A=this.connectorWidth,r,w=h.distance;Ga(h.softConnector,!0);var w=w>0,u,J=this.center,s=J[1],t=J[0],v=J[2],x=J[4],G=[[],[],[],[]],L,I=k.plotLeft,B=k.plotTop,
k=k.plotSizeX,N,H,D,P,T,E,Q,X,R,Z=this.labelsRadius;u=this.labelsRadiusY;var V,$=this.labelFontSize,U=$,Y=U/2,o=[o,o,-o,-o],aa=this.maxLabels,fa=this.isSmartLineSlanted,ga=this.enableSmartLabels,W,ea=this.pieSliceDepth/2;i||(lb.prototype.drawDataLabels.apply(this),j.setStyle(f));if(e.length==1){if(f=e[0],W=f.dataLabel,f.slicedTranslation=[I,B],W)W.attr({visibility:ia,align:"center",x:t,y:s+Y-2}),W.x=t}else if(p)ha(e,function(a){if(W=a.dataLabel){var b=a.centerAngle;R=s+J[6]*ca(b)+Y-2;E=t+J[5]*da(b);
W.x=E;W._x=E;W.y=R;if(a.sliced){var b=a.slicedTranslation,c=b[1]-B;E+=b[0]-I;R+=c}W.attr({visibility:ia,align:"center",x:E,y:R});a.dataLabelBG=W.textBound()}});else{ha(e,function(a){if(W=a.dataLabel){W.on("click",function(b){a.firePointEvent("click",b)});var b=a.centerAngle;b<0&&(b=oa+b);G[b<Ka?1:b<S?2:b<cb?3:0].push({point:a,angle:b})}});for(e=i=4;e--;){if(y&&(f=G[e].length-aa,f>0)){G[e].sort(a);V=G[e].splice(0,f);p=0;for(D=V.length;p<D;p+=1)f=V[p].point,f.dataLabel.attr({visibility:"hidden"}),f.connector&&
f.connector.attr({visibility:"hidden"})}G[e].sort(d)}e=ka(G[0].length,G[1].length,G[2].length,G[3].length);V=ka(Za(e,aa)*U,u);G[1].reverse();for(G[3].reverse();i--;){p=G[i];D=p.length;y||(U=D>aa?V/D:$,Y=U/2);f=D*U-Y;u=V+Y;for(e=0;e<D;e+=1,f-=U)r=$a(V*ca(p[e].angle)),u-r<U?r=u-U:r<f&&(r=f),u=p[e].oriY=r;L=b[i];D=V-D*U+Y;u=-Y;for(e=p.length-1;e>=0;e-=1,D+=U){f=p[e].point;l=p[e].angle;P=f.sliced;W=f.dataLabel;r=$a(V*ca(l));r-u<U?r=u+U:r>D&&(r=D);u=r;Q=(r+p[e].oriY)/2;r=t+g[i]*Z*da(ba.asin(Q/V));Q*=c[i];
Q+=s;X=s+x*ca(l);T=t+v*da(l);E=r+o[i];R=Q+Y-2;W.x=E;W._x=E;if(F)N=i>1?E:k-E,H=W._str=W._str||W.textStr||W.element&&W.element.innerHTML,W.attr({text:j.getSmartText(H,N,m).text});l<S&&(Q+=ea,X+=ea,R+=ea);W.y=R;if(P)P=f.slicedTranslation,l=P[0]-I,P=P[1]-B,E+=l,r+=l,T+=l,X+=P;W.attr({visibility:ia,align:L,x:E,y:R});f.dataLabelBG=W.textBound();if(w&&A&&ga)l=f.connector,f.connectorPath=r=[C,T,X,K,fa?r:T,Q,E,Q],l?(l.attr({d:r}),l.attr("visibility",ia)):f.connector=l=this.chart.renderer.path(r).attr({"stroke-width":A,
stroke:h.connectorColor||"#606060",visibility:ia,zIndex:3}).translate(I,B).add().on("click",function(a){return function(b){a.firePointEvent("click",b)}}(f))}}}}}(),rotate:function(a){var d=this.data,b=this.slicedOffset,c=this.slicedOffsetY,g=this.chart.plotLeft,i=this.chart.plotTop,e=n(this.chart.options.chart.startingAngle,0),f,l=this.center;f=(a-e)%360;this.chart.options.chart.startingAngle=n(a,this.chart.options.chart.startingAngle)%360;f=f*ab/180;this.pie3DManager&&this.pie3DManager.rotate(f);
ha(d,function(a){var d=a.graphic,e=a.shapeArgs,e={start:e.start+=f,end:e.end+=f},m=a.centerAngle=ua((e.start+e.end)/2),e=a.sliced,n=da(m),m=ca(m);a.slicedTranslation=Pa([n*b+g,m*c+i],za);a.tooltipPos=[l[0]+n*l[2]*0.7,l[1]+m*l[4]];d&&e&&a.graphic.attr({translateX:a.slicedTranslation[0],translateY:a.slicedTranslation[1]})});this.drawDataLabels(!0)},drawPoints:function(){var a=this,d=a.chart,b,c;ha(a.data,function(g,i){var e=g.sliced,f=g.slicedTranslation;b=g.graphic;c=g.shapeArgs;b?b.animate(c):(g.graphic=
a.pie3DManager.createSlice(c.start,c.end,g.color,g._3dAlpha,g.borderColor,g.borderWidth,i),g.graphic.translate(e?f[0]:d.plotLeft,e?f[1]:d.plotTop));g.visible===!1&&g.setVisible(!1)});a.pie3DManager.refreshDrawing()},drawTracker:function(){var a=this,d=a.chart,b=+new Date,c=a.options,g,i=[a.center[0]+a.chart.plotLeft,a.center[1]+a.chart.plotTop],e,f=a.options.enableRotation,l,k,j,h,m;f&&(l=function(b){e=nb(a.chart.container);a.rotationStartInstanceAngle=Ua.call(b,i,e)-a.chart.options.chart.startingAngle*
qa;a.chart.tooltip&&(b.type==="dragstart"?a.chart.tooltip.block(!0):(a.chart.tooltip.block(!1),a.chart.tooltip.refresh(b.data,!0)))});ha(a.data,function(n){if(n.y!==null){if(n.link!==void 0)var p={cursor:"pointer",_cursor:"hand"};j=n.graphic;j.attr({isTracker:b});j.on(Xa?"touchstart":"mouseover",function(c){g=c.relatedTarget||c.fromElement;if(d.hoverSeries!==a&&Ha(g,"isTracker")!==b)a.onMouseOver();n.onMouseOver()}).on("mouseout",function(d){if(!c.stickyTracking&&(g=d.relatedTarget||d.toElement,Ha(g,
"isTracker")!==b))a.onMouseOut()}).css(p);if(f){k=j._confObject;h=k.elements;for(m in h)wa(h[m].element,"dragstart dragend",l,n),wa(h[m].element,"drag",function(b){a.rotate((Ua.call(b,i,e)-a.rotationStartInstanceAngle)/qa)});wa(j.element,"dragstart dragend",l,n);wa(j.element,"drag",function(b){a.rotate((Ua.call(b,i,e)-a.rotationStartInstanceAngle)/qa)})}}})}});ma.pie3d=N},[3,2,2,"sr4"]]);
