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

 @version 3.4.0
*/
FusionCharts.register("module",["private","modules.renderer.js-charts",function(){function Ha(a){var r={left:a.offsetLeft,top:a.offsetTop};for(a=a.offsetParent;a;)r.left+=a.offsetLeft,r.top+=a.offsetTop,a!==Na.body&&a!==Na.documentElement&&(r.left-=a.scrollLeft,r.top-=a.scrollTop),a=a.offsetParent;return r}function ha(a,r){for(var c=[],d=0,k=a.length;d<k;d++)c[d]=r.call(a[d],a[d],d,a);return c}function da(a,r){var c=r?360:ta;a=(a||0)%c;return 0>a?c+a:a}function Pa(a,r){return a<=X?a:r<=X?r:r>a?0:
r}function Ua(a,r,c,d,k){return V((r-c[1]-d.top)/k,a-c[0]-d.left)}function Qa(a,r,c,d,k,b,t,la,e,G){"object"===typeof a&&(r=a.y,c=a.r,d=a.innerR,k=a.radiusYFactor,b=a.depth,t=a.seriesGroup,la=a.renderer,a=a.x);if(0>k||1<=k)k=0.6;a=a||0;r=r||0;c=c||1;d=d||0;b=b||0;this.renderer=la;this.hasOnePoint=e;this.use3DLighting=G;this.cx=a;this.cy=r;this.rx=c;this.ry=c*k;this.radiusYFactor=k;this.isDoughnut=0<d;this.innerRx=d;this.innerRy=d*k;this.depth=b;this.leftX=a-c;this.rightX=a+c;this.leftInnerX=a-d;this.rightInnerX=
a+d;this.depthY=r+b;this.topY=r-this.ry;this.bottomY=this.depthY+this.ry;this.bottomBorderGroup=la.group("bottom-border",t).attr({transform:"t0,"+b});this.outerBackGroup=la.group("outer-back-Side",t);this.slicingWallsBackGroup=la.group("slicingWalls-back-Side",t);this.innerBackGroup=la.group("inner-back-Side",t);this.innerFrontGroup=la.group("inner-front-Side",t);this.slicingWallsFrontGroup=la.group("slicingWalls-front-Side",t);this.topGroup=la.group("top-Side",t);this.moveCmdArr=[f];this.lineCmdArr=
[W];this.closeCmdArr=[S];this.centerPoint=[a,r];this.leftPoint=[this.leftX,r];this.topPoint=[a,this.topY];this.rightPoint=[this.rightX,r];this.bottomPoint=[a,r+this.ry];this.leftDepthPoint=[this.leftX,this.depthY];this.rightDepthPoint=[this.rightX,this.depthY];this.leftInnerPoint=[this.leftInnerX,r];this.rightInnerPoint=[this.rightInnerX,r];this.leftInnerDepthPoint=[this.leftInnerX,this.depthY];this.rightInnerDepthPoint=[this.rightInnerX,this.depthY];this.pointElemStore=[];this.slicingWallsArr=[];
a=[m,this.rx,this.ry,0,0,1,this.rightX,r];c=[m,this.rx,this.ry,0,0,1,this.leftX,r];d=[m,this.rx,this.ry,0,0,0,this.rightX,this.depthY];k=[m,this.rx,this.ry,0,0,0,this.leftX,this.depthY];b=[m,this.innerRx,this.innerRy,0,0,0,this.rightInnerX,r];r=[m,this.innerRx,this.innerRy,0,0,0,this.leftInnerX,r];t=[m,this.innerRx,this.innerRy,0,0,1,this.rightInnerX,this.depthY];la=[m,this.innerRx,this.innerRy,0,0,1,this.leftInnerX,this.depthY];this.isDoughnut?(this.topBorderPath=this.moveCmdArr.concat(this.leftPoint,
a,c,this.moveCmdArr,this.leftInnerPoint,b,r),this.topPath=this.moveCmdArr.concat(this.leftPoint,a,c,this.lineCmdArr,this.leftInnerPoint,b,r,this.closeCmdArr),this.innerFrontPath=this.moveCmdArr.concat(this.leftInnerPoint,b,this.lineCmdArr,this.rightInnerDepthPoint,la,this.closeCmdArr),this.innerBackPath=this.moveCmdArr.concat(this.rightInnerPoint,r,this.lineCmdArr,this.leftInnerDepthPoint,t,this.closeCmdArr)):this.topBorderPath=this.topPath=this.moveCmdArr.concat(this.leftPoint,a,c,this.closeCmdArr);
this.outerBackPath=this.moveCmdArr.concat(this.leftPoint,a,this.lineCmdArr,this.rightDepthPoint,k,this.closeCmdArr);this.outerFrontPath=this.moveCmdArr.concat(this.rightPoint,c,this.lineCmdArr,this.leftDepthPoint,d,this.closeCmdArr);this.clipPathforOuter=[f,this.leftX,this.topY,W,this.rightX,this.topY,this.rightX,this.bottomY,this.leftX,this.bottomY,S];this.clipPathforInner=[f,this.leftInnerX,this.topY,W,this.rightInnerX,this.topY,this.rightInnerX,this.bottomY,this.leftInnerX,this.bottomY,S];this.clipPathforNoClip=
[f,this.leftInnerX,this.topY,W,this.leftInnerX,this.bottomY,S];this.colorObjs=[]}var ca=this,v=ca.hcLib,ka=v.Raphael,J=ca.window,Na=J.document,Y=v.BLANKSTRING,bb=v.createTrendLine,h=v.pluck,Da=v.getValidValue,Ja=v.parseTooltext,g=v.pluckNumber,Ka=v.getFirstValue,cb=v.getDefinedColor,aa=v.parseUnsafeString,oa=v.FC_CONFIG_STRING,Ea=v.extend2,Ia=v.getDashStyle,C=v.toRaphaelColor,Za=v.toPrecision,db=v.stubFN,Z=v.hasSVG,wa=v.each,za=v.TOUCH_THRESHOLD_PIXELS,Va=v.CLICK_THRESHOLD_PIXELS,ua=v.plotEventHandler,
b=v.hasTouch?za:Va,e="rgba(192,192,192,"+(v.isIE?0.002:1E-6)+")",l=8===J.document.documentMode?"visible":"",f="M",W="L",m="A",S="Z",n=Math,B=n.sin,u=n.cos,V=n.atan2,z=n.round,ba=n.min,s=n.max,na=n.abs,L=n.PI,E=n.ceil,I=n.floor,La=n.sqrt,T=L/180,fa=180/L,X=Math.PI,Ra=X/2,ta=2*X,Sa=X+Ra,xa=v.graphics.getColumnColor,ia=v.getFirstColor,eb=v.setLineHeight,$a=v.pluckFontSize,Wa=v.getFirstAlpha,pa=v.graphics.getDarkColor,sa=v.graphics.getLightColor,va=v.graphics.convertColor,Xa=v.COLOR_TRANSPARENT,ab=v.POSITION_CENTER,
hb=v.POSITION_TOP,fb=v.POSITION_BOTTOM,ib=v.POSITION_RIGHT,jb=v.POSITION_LEFT,gb=v.hashify,p=v.chartAPI,kb=v.graphics.mapSymbolName,za=p.singleseries,$=v.COMMASTRING,Fa=v.ZEROSTRING,Oa=v.ONESTRING,Ma=v.HUNDREDSTRING,Ya=v.PXSTRING,lb=v.COMMASPACE,Aa=!/fusioncharts\.com$/i.test(J.location.hostname);p("column2d",{standaloneInit:!0,friendlyName:"Column Chart",creditLabel:Aa,rendererId:"cartesian"},p.column2dbase);p("column3d",{friendlyName:"3D Column Chart",defaultSeriesType:"column3d",defaultPlotShadow:1,
is3D:!0,fireGroupEvent:!0,defaultZeroPlaneHighlighted:!1},p.column2d);p("bar2d",{friendlyName:"Bar Chart",isBar:!0,defaultSeriesType:"bar",spaceManager:p.barbase},p.column2d);p("bar3d",{friendlyName:"3D Bar Chart",defaultSeriesType:"bar3d",defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,defaultZeroPlaneHighlighted:!1},p.bar2d);p("line",{friendlyName:"Line Chart",standaloneInit:!0,creditLabel:Aa,rendererId:"cartesian"},p.linebase);p("area2d",{friendlyName:"Area Chart",standaloneInit:!0,creditLabel:Aa,
rendererId:"cartesian"},p.area2dbase);p("pie2d",{friendlyName:"Pie Chart",standaloneInit:!0,defaultSeriesType:"pie",defaultPlotShadow:1,reverseLegend:1,alignCaptionWithCanvas:0,sliceOnLegendClick:!0,rendererId:"pie",point:function(a,r,c,d,k){a=k[oa];var b=this.colorManager,t=a.is3d,la=g(d.plotborderthickness),e=g(la,t?0.1:1),G=g(d.enablemultislicing,1),Ta=g(d.use3dlighting,1),q=Ta?g(d.radius3d,d["3dradius"],90):100,f=g(d.showzeropies,1),l=g(d.showpercentintooltip,1),m=g(d.showlabels,1),y=g(d.showvalues,
1),p=g(d.showpercentvalues,d.showpercentagevalues,0),x=h(d.tooltipsepchar,d.hovercapsepchar,lb),ga=h(d.labelsepchar,x),W=h(d.plotbordercolor,d.piebordercolor),w=k[oa].numberFormatter,u=c.length,S=g(d.plotborderdashed,0),N=g(d.plotborderdashlen,5),A=g(d.plotborderdashgap,4),K=g(d.showvalueinlegend,0),M=g(d.showlabelinlegend,1),n=g(d.valuebeforelabelinlegend,0),ea=g(d.showvalueaspercentinlegend,1),H=g(d.reverseplotorder,0),U=h(d.legendsepchar,", "),Q=k.plotOptions.series.dataLabels.style,R=0,B=[],z,
O,P,s,F,D,ba,v,J,X,I,C,V,E,L,ja,T,na,Ca=-1;ja=r.centerLabelConfig={label:aa(h(d.defaultcenterlabel,"")),font:h(d.centerlabelfont,Q.fontFamily),fontSize:g(d.centerlabelfontsize,parseInt(Q.fontSize,10)),color:ia(h(d.centerlabelcolor,d.valuefontcolor,a.inCanvasStyle.color,"555555")),alpha:g(d.centerlabelalpha,100),bold:g(d.centerlabelbold,Q.fontWeight),italic:g(d.centerlabelitalic,Q.style),bgColor:h(d.centerlabelbgcolor,""),bgAlpha:g(d.centerlabelbgalpha,100),borderColor:h(d.centerlabelbordercolor,Q.borderColor),
borderAlpha:g(d.centerlabelborderalpha,100),borderThickness:g(d.centerlabelborderthickness,Q.borderThickness),borderRadius:g(d.centerlabelborderradius,Q.borderRadius),textPadding:g(d.centerlabeltextpadding,Q.borderPadding),padding:g(d.centerlabelpadding,2),bgOval:g(d.centerlabelbgoval,0),shadow:g(d.showcenterlabelshadow,0),hoverColor:d.centerlabelhovercolor&&ia(h(d.centerlabelhovercolor)),hoverAlpha:g(d.centerlabelhoveralpha),toolText:aa(h(d.centerlabeltooltext,""))};100<q&&(q=100);0>q&&(q=0);g(d.showlegend,
0)&&(k.legend.enabled=!0,k.legend.reversed=!Boolean(g(d.reverselegend,0)),r.showInLegend=!0);for(Q=0;Q<u;Q+=1)P=c[Q],O=w.getCleanValue(P.value,!0),null===O||!f&&0===O||(B.push(P),R+=O);0===R&&(B=[]);r.enableRotation=1<B.length?g(d.enablerotation,1):0;r.alphaAnimation=g(d.alphaanimation,1);r.is3D=t;r.placeLabelsInside=d.placevaluesinside;r.use3DLighting=Ta;r.pieYScale=g(d.pieyscale,40);1>r.pieYScale&&(r.pieYScale=1);100<=r.pieYScale&&(r.pieYScale=80);r.pieYScale/=100;r.pieSliceDepth=g(d.pieslicedepth,
15);1>r.pieSliceDepth&&(r.pieSliceDepth=1);r.managedPieSliceDepth=r.pieSliceDepth;r.enableMultiSlicing=!!G;t&&d.showplotborder!=Oa&&!la&&(r.showBorderEffect=1);for(Q=B.length-1;0<=Q;Q-=1){P=B[Q];O=w.getCleanValue(P.value,!0);z=aa(h(P.label,P.name,Y));u=h(P.color,b.getPlotColor(Q));F=h(P.alpha,d.plotfillalpha);D=h(P.bordercolor,W);ba=h(P.borderalpha,d.plotborderalpha,d.pieborderalpha);t&&(D||void 0!==ba)&&(r.showBorderEffect=0);D=h(D,sa(u,t?90:25)).split($)[0];ba=d.showplotborder==Fa?Fa:h(ba,F,"80");
F=h(F,Ma);f={opacity:Math.max(F,ba)/100};if(c=Boolean(g(P.issliced,d.issliced,0)))G||(-1!==Ca&&(r.data[B.length-Ca-1].sliced=!1),Ca=Q),a.preSliced=c;la=(E=g(P.dashed,S))?Ia(h(P.dashlen,N),h(P.dashgap,A),e):void 0;s=Da(aa(h(P.tooltext,a.tooltext)));X=w.percentValue(O/R*100);I=w.dataLabels(O)||Y;J=1===g(P.showlabel,m)?z:Y;v=1===(C=g(P.showvalue,y))?1===p?X:I:Y;V=Da(aa(P.displayvalue));v=void 0!==V&&C?V:v!==Y&&J!==Y?J+ga+v:h(J,v);void 0!==s?s=Ja(s,[1,2,3,5,6,7,14,24,25],{formattedValue:I,label:z,yaxisName:aa(d.yaxisname),
xaxisName:aa(d.xaxisname),percentValue:X,sum:w.dataLabels(R),unformattedSum:R},P,d):(s=z,C=l?X:I,s=s!=Y?s+x+C:C);C=M?z:Y;K&&(L=ea?w.legendPercentValue(O/R*100):w.legendValue(O),C=n?L+(C&&U+C):(C&&C+U)+L);E=this.pointHoverOptions(P,r,{plotType:"pie",use3DLighting:Ta,color:u,alpha:F,borderWidth:e,borderColor:D,borderAlpha:ba,borderDashed:E,borderDashGap:h(P.dashgap,A),borderDashLen:g(P.dashlen,N),radius3D:q,shadow:f});z={label:h((T=P.centerlabel||d.centerlabel)&&this.replaceMacros(T,["\\$value","\\$percentValue",
"\\$displayValue","\\$label"],[I,X,void 0===V?"":V,z]),""),font:ja.font,fontSize:g(P.centerlabelfontsize,ja.fontSize),color:ia(h(P.centerlabelcolor,ja.color)),alpha:g(P.centerlabelalpha,ja.alpha),bold:g(P.centerlabelbold,ja.bold),italic:g(P.centerlabelitalic,ja.italic),bgColor:h(P.centerlabelbgcolor,ja.bgColor),bgAlpha:g(P.centerlabelbgalpha,ja.bgAlpha),borderColor:h(P.centerlabelbordercolor,ja.borderColor),borderAlpha:g(P.centerlabelborderalpha,ja.borderAlpha),borderThickness:ja.borderThickness,
borderRadius:ja.borderRadius,textPadding:ja.textPadding,padding:ja.padding,bgOval:ja.bgOval,shadow:ja.shadow,hoverColor:(na=h(P.centerlabelhovercolor,ja.hoverColor))&&ia(na),hoverAlpha:g(P.centerlabelhoveralpha,ja.hoverAlpha),toolText:h(P.centerlabeltooltext,"")};r.data.push({displayValue:v,categoryLabel:J,showInLegend:C!==Y,y:O,name:C,shadow:f,toolText:s,color:this.getPointColor(u,F,q),_3dAlpha:F,borderColor:va(D,ba),borderWidth:e,link:Da(P.link),sliced:c,dashStyle:la,doNotSlice:h(d.enableslicing,
Oa)!=Oa,hoverEffects:E.enabled&&E.options,rolloverProperties:E.enabled&&E.rolloverOptions,centerLabelConfig:z})}H&&(r.reversePlotOrder=!0,r.data&&r.data.reverse());r.valueTotal=R;k.legend.enabled=d.showlegend===Oa?!0:!1;r.startAngle=g(d.startingangle,0);k.chart.startingAngle=h(1<B.length?d.startingangle:0,0);return r},replaceMacros:function(a,r,c){for(var d=r.length||0,k;d--;)k=RegExp(r[d],"gi"),a=a.replace(k,c[d]);return a},containsMacro:function(a,r){for(var c=r.length||0,d;c--;)if(d=RegExp(r[c],
"gi"),d=a.match(d))return!0;return!1},getPointColor:function(a,r,c){var d,k;a=ia(a);r=Wa(r);100>c&&Z?(d=Math.floor(85*(100-0.35*c))/100,d=pa(a,d),k=Math.floor(50*(100+c))/100,a=sa(a,k),r={FCcolor:{color:a+$+d,alpha:r+$+r,ratio:c+",100",radialGradient:!0,gradientUnits:"userSpaceOnUse"}}):r={FCcolor:{color:a+$+a,alpha:r+$+r,ratio:"0,100"}};return r},configureAxis:function(a,r){var c=0,d=a[oa],k=r.chart,b=a.xAxis.labels.style,t,la;t=(t=Ka(k.valuebordercolor,Y))?va(t,g(k.valueborderalpha,k.valuealpha,
100)):Y;b={fontFamily:h(k.valuefont,b.fontFamily),fontSize:h(k.valuefontsize,parseInt(b.fontSize,10))+Ya,lineHeight:b.lineHeight,color:va(h(k.valuefontcolor,b.color),g(k.valuefontalpha,k.valuealpha,100)),fontWeight:g(k.valuefontbold)?"bold":"normal",fontStyle:g(k.valuefontitalic)?"italic":"normal",border:t||k.valuebgcolor?g(k.valueborderthickness,1)+"px solid":void 0,borderColor:t,borderThickness:g(k.valueborderthickness,1),borderPadding:g(k.valueborderpadding,2),borderRadius:g(k.valueborderradius,
0),backgroundColor:k.valuebgcolor?va(k.valuebgcolor,g(k.valuebgalpha,k.valuealpha,100)):Y,borderDash:g(k.valueborderdashed,0)?Ia(g(k.valueborderdashlen,4),g(k.valueborderdashgap,2),g(k.valueborderthickness,1)):"none"};a.plotOptions.series.dataLabels.style=b;delete d.x;delete d[0];delete d[1];a.chart.plotBorderColor=a.chart.plotBackgroundColor=Xa;d=d.pieDATALabels=[];if(1===a.series.length&&(la=a.series[0].data)&&0<(c=a.series[0].data.length)&&a.plotOptions.series.dataLabels.enabled)for(;c--;)la[c]&&
void 0!==Da(la[c].displayValue)&&d.push(la[c].displayValue)},spaceManager:function(a,r,c,d){var k=a[oa],b=k.is3d,t=this.name,la=this.colorManager,e=this.smartLabel||k.smartLabel,G=g(k.pieDATALabels&&k.pieDATALabels.length,0),f=0,q=r.chart,l=g(q.managelabeloverflow,0),m=k.preSliced||q.enableslicing!==Fa||q.showlegend===Oa&&q.interactivelegend!==Fa?g(q.slicingdistance,20):0,ra=g(q.pieradius,0),y=g(q.enablesmartlabels,q.enablesmartlabel,1),p=y?g(q.skipoverlaplabels,q.skipoverlaplabel,1):0,x=g(q.issmartlineslanted,
1),ga=G?g(q.labeldistance,q.nametbdistance,5):m,W=g(q.smartlabelclearance,5);c-=a.chart.marginRight+a.chart.marginLeft;var w=d-(a.chart.marginTop+a.chart.marginBottom);d=ba(w,c);var u=h(q.smartlinecolor,la.getColor("plotFillColor")),S=g(q.smartlinealpha,100),N=g(q.smartlinethickness,0.7),A=a.plotOptions.series.dataLabels,K=A.style,M=G?g(parseInt(K.lineHeight,10),12):0,la=a.series[0]||{},n=la.pieYScale,ea=la.pieSliceDepth;d=0===ra?0.15*d:ra;var H=0,H=2*d,U=g("doughnut2d"===t?0:q.placevaluesinside);
A.connectorWidth=N;A.connectorPadding=g(q.connectorpadding,5);A.connectorColor=va(u,S);y&&G&&(ga=W+m);W=H+2*(M+ga);w-=this.titleSpaceManager(a,r,c,s(W<w?w-W:w/2,parseFloat(a.title.style.lineHeight,10)));q.showlegend===Oa&&(h(q.legendposition,fb).toLowerCase()!==ib?w-=this.placeLegendBlockBottom(a,r,c,w/2,!0):c-=this.placeLegendBlockRight(a,r,c/3,w,!0));e.setStyle(K);if(1!==G)for(;G--;)r=e.getOriSize(k.pieDATALabels[G]),f=s(f,r.width);0===ra&&(b?(w-=ea,H=ba(c/2-f,(w/2-M)/n)-ga):H=ba(c/2-f,w/2-M)-ga,
0>H&&(H=0),H>=d?d=H:m=ga=ba(ga-(d-H),m));b&&(G=w-2*(d*n+M),ea>G&&(la.managedPieSliceDepth=ea-G));a.plotOptions.pie3d.slicedOffset=a.plotOptions.pie.slicedOffset=m;a.plotOptions.pie3d.size=a.plotOptions.pie.size=2*d;a.plotOptions.series.dataLabels.distance=ga;a.plotOptions.series.dataLabels.isSmartLineSlanted=x;a.plotOptions.series.dataLabels.enableSmartLabels=y;a.plotOptions.series.dataLabels.skipOverlapLabels=p;a.plotOptions.series.dataLabels.manageLabelOverflow=l;a.plotOptions.series.dataLabels.placeLabelsInside=
U;if("doughnut2d"===t||"doughnut3d"===t)if(t=g(q.doughnutradius,0),G=(G=g(q.use3dlighting,1))?g(q.radius3d,q["3dradius"],50):100,100<G&&(G=100),0>G&&(G=0),q=0===t||t>=d?d/2:t,a.plotOptions.pie3d.innerSize=a.plotOptions.pie.innerSize=2*q,0<G&&Z&&(q=parseInt(q/d*100,10),t=(100-q)/2,G=parseInt(t*G/100,10),q=q+$+G+$+2*(t-G)+$+G,a.series[0]&&a.series[0].data))for(l=a.series[0].data,a=0,G=l.length;a<G;a+=1)t=l[a],t.color.FCcolor&&(t.color.FCcolor.ratio=q,t.rolloverProperties.color&&(t.rolloverProperties.color.FCcolor.ratio=
q))},creditLabel:Aa,eiMethods:{isPlotItemSliced:function(a){var r=this.jsVars.hcObj,c,d,k;return r&&r.datasets&&r.datasets[0]&&(c=r.datasets[0].data)&&(k=c.length)&&c[a=k-a-1]&&(d=c[a].plot)&&d.sliced},slicePlotItem:function(a,r){var c=this.jsVars.hcObj,d,k,b,t;return c&&c.datasets&&(d=c.datasets[0])&&(k=d.data)&&(t=k.length)&&k[a=d.reversePlotOrder?a:t-a-1]&&(b=k[a].plot)&&((!!r!==b.sliced||void 0===r)&&c.plotGraphicClick.call(b)||b.sliced)},centerLabel:function(a,r){var c=this.jsVars.hcObj,d=c.options,
k=d.series[0],d=d.plotOptions.pie.innerSize,b=c.canvasLeft+0.5*c.canvasWidth,t=c.canvasTop+0.5*c.canvasHeight,la=k.centerLabelConfig,e;if("object"!==typeof r)r=la;else for(e in la)void 0===r[e]&&(r[e]=la[e]);r.label=a;k.centerLabelConfig=r;d&&c.drawDoughnutCenterLabel(a||"",b,t,d,d,r,!0)},startingAngle:function(a,r){var c=this.jsVars.hcObj,d=c.datasets[0].plot,k="pie"===c.options.chart.defaultSeriesType,b,t=(b=c.datasets[0].startAngle)*(k?-fa:1)+(0>(k?-1:1)*b?360:0);if(!isNaN(a)){if(d.singletonCase||
d.isRotating)return;a+=r?t:0;k?((k=c.options.series[0]).startAngle=-a*T,c.rotate(d,k)):c.rotate(a);t=a}return z(100*((t%=360)+(0>t?360:0)))/100}}},za);p.pie2d.eiMethods.togglePieSlice=p.pie2d.eiMethods.sliceDataItem=p.pie2d.eiMethods.slicePlotItem;p.pie2d.eiMethods.enableSlicingMovement=p.pie2d.eiMethods.enablelink=function(){ca.raiseWarning(this,"1301081430","run","JSRenderer~enablelink()","Method deprecated.")};p("pie3d",{friendlyName:"3D Pie Chart",defaultSeriesType:"pie3d",rendererId:"pie3d",
creditLabel:Aa,fireGroupEvent:!0,getPointColor:function(a){return a},defaultPlotShadow:0},p.pie2d);p("doughnut2d",{friendlyName:"Doughnut Chart",getPointColor:function(a,r,c){var d;a=ia(a);r=Wa(r);100>c&&Z?(d=pa(a,I(100*(85-0.2*(100-c)))/100),a=sa(a,I(100*(100-0.5*c))/100),r={FCcolor:{color:d+","+a+","+a+","+d,alpha:r+","+r+","+r+","+r,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:c}}):r={FCcolor:{color:a+","+a,alpha:r+","+r,ratio:"0,100"}};return r}},p.pie2d);p("doughnut3d",{friendlyName:"3D Doughnut Chart",
defaultSeriesType:"pie3d",rendererId:"pie3d",fireGroupEvent:!0,getPointColor:p.pie3d,defaultPlotShadow:0},p.doughnut2d);p("pareto2d",{standaloneInit:!0,friendlyName:"Pareto Chart",point:function(a,r,c,d,k){a=c.length;var b=0,t=0,e={},f=this.colorManager,G=/3d$/.test(k.chart.defaultSeriesType),Ta=this.isBar,q=h(360-d.plotfillangle,90),l=h(d.showplotborder,G?Fa:Oa)===Oa?G?1:g(d.plotborderthickness,1):0,m=k.chart.useRoundEdges,ra=h(d.tooltipsepchar,", "),y=h(d.plotbordercolor,f.getColor("plotBorderColor")).split($)[0],
W=d.showplotborder==Fa?Fa:h(d.plotborderalpha,d.plotfillalpha,Ma),x=k.xAxis,p=g(d.showcumulativeline,1),Ba=k[oa],w=Ba.axisGridManager,u=Ba.x,S=d.showtooltip!=Fa,N=[],A=g(d.use3dlighting,1),K=k[oa].numberFormatter,M=g(d.showlinevalues,d.showvalues),n=g(d.plotborderdashed,0),ea,H=g(d.plotborderdashlen,5),U=g(d.plotborderdashgap,4),Q=aa(d.xaxisname),R=aa(d.yaxisname),B=Ba.numberFormatter,z=r,O,P,s,F,D,ba,C,v,J,X,I,E,V,L,ja,T,na,Ca,ma,fa,ta,da,Z,W=G?d.showplotborder?W:Fa:W,y=G?h(d.plotbordercolor,"#FFFFFF"):
y;s=g(d.useplotgradientcolor,1)?cb(d.plotgradientcolor,f.getColor("plotGradientColor")):Y;for(ja=P=0;P<a;P+=1)ma=c[P],c[P].vline?w.addVline(x,ma,ja,k):(O=K.getCleanValue(ma.value,!0),null!==O&&(t+=ma.value=O,N.push(ma),ja+=1));a=N.length;N.sort(function(a,c){return c.value-a.value});p&&0<t?(X=g(d.linedashed,0),fa=ia(h(d.linecolor,f.getColor("plotBorderColor"))),e=h(d.linealpha,100),I=g(d.linedashlen,5),F=g(d.linedashgap,4),P=g(d.linethickness,2),V={opacity:e/100},L=g(d.drawanchors,d.showanchors),
void 0===L&&(L=e!=Fa),na=g(d.anchorborderthickness,1),Ca=g(d.anchorsides,0),ea=g(d.anchorradius,3),T=ia(h(d.anchorbordercolor,fa)),O=ia(h(d.anchorbgcolor,f.getColor("anchorBgColor"))),ja=Wa(h(d.anchoralpha,Ma)),c=Wa(h(d.anchorbgalpha,ja))*ja/100,X=X?Ia(I,F,P):void 0,F=Boolean(g(ma.anchorshadow,d.anchorshadow,0)),I=this.pointHoverOptions(ma,r,{plotType:"anchor",anchorBgColor:O,anchorAlpha:ja,anchorBgAlpha:c,anchorAngle:h(d.anchorstartangle,90),anchorBorderThickness:na,anchorBorderColor:T,anchorBorderAlpha:ja,
anchorSides:Ca,anchorRadius:ea,shadow:E}),e={yAxis:1,data:[],type:"line",color:{FCcolor:{color:fa,alpha:e}},lineWidth:P,marker:{enabled:L,shadow:F&&1<=ea?{opacity:ja/100}:!1,fillColor:{FCcolor:{color:O,alpha:c}},lineColor:{FCcolor:{color:T,alpha:ja}},lineWidth:na,radius:ea,symbol:kb(Ca),startAngle:h(d.anchorstartangle,90)}},z=[z,e],Ba[1]||(Ba[1]={}),Ba[1].stacking100Percent=!0):("1"!==d.showsecondarylimits&&(d.showsecondarylimits="0"),"1"!==d.showdivlinesecondaryvalue&&(d.showdivlinesecondaryvalue=
"0"));Ba[1]||(Ba[1]={});Ba[1].stacking100Percent=!0;for(P=0;P<a;P+=1)ma=N[P],E=g(ma.showlabel,d.showlabels,1),c=aa(E?Ka(ma.label,ma.name):Y),w.addXaxisCat(x,P,P,c),b+=O=ma.value,F=g(ma.dashed,n),D=h(ma.dashgap,U),ba=h(ma.dashlen,H),C=h(ma.color,f.getPlotColor()),v=h(ma.alpha,d.plotfillalpha,Ma),J=h(ma.ratio,d.plotfillratio),E={opacity:v/100},ta=h(ma.alpha,W)+Y,fa=xa(C+$+s.replace(/,+?$/,""),v,J,q,m,y+Y,ta+Y,Ta,G),ea=F?Ia(ba,D,l):"none",ja=b/t*100,na=K.percentValue(ja),T=null===O?O:B.dataLabels(O),
Ca=Da(aa(ma.displayvalue)),Ca=g(ma.showvalue,Ba.showValues)?void 0!==Ca?Ca:T:Y,Ba.showTooltip?void 0!==(L=Da(aa(h(ma.tooltext,Ba.tooltext))))?(da={formattedValue:T,label:c,yaxisName:R,xaxisName:Q,cumulativeValue:b,cumulativeDataValue:B.dataLabels(b),cumulativePercentValue:na,sum:B.dataLabels(t),unformattedSum:t},Z=[1,2,3,5,6,7,20,21,22,23,24,25],L=Ja(L,Z,da,ma,d)):L=null===T?!1:c!==Y?c+Ba.tooltipSepChar+T:T:L=Y,D=this.pointHoverOptions(ma,r,{plotType:"column",is3d:G,isBar:Ta,use3DLighting:A,isRoundEdged:m,
color:C,gradientColor:s,alpha:v,ratio:J,angle:q,borderWidth:l,borderColor:y,borderAlpha:ta,borderDashed:F,borderDashGap:D,borderDashLen:ba,shadow:E}),F=h(ma.link),r.data.push({link:F,toolText:L,displayValue:Ca,categoryLabel:c,y:O,shadow:E,color:fa[0],borderColor:fa[1],borderWidth:l,use3DLighting:A,dashStyle:ea,tooltipConstraint:this.tooltipConstraint,hoverEffects:D.enabled&&D.options,rolloverProperties:D.enabled&&D.rolloverOptions}),this.pointValueWatcher(k,O),p&&(O=Da(aa(h(ma.cumulativeplottooltext,
d.cumulativeplottooltext))),E=1==M?na:0===M||Ca===Y?Y:na,L=S?void 0!==O?Ja(O,Z||[1,2,3,5,6,7,20,21,22,23,24,25],da||{formattedValue:T,label:c,yaxisName:R,xaxisName:Q,cumulativeValue:b,cumulativeDataValue:B.dataLabels(b),cumulativePercentValue:na,sum:B.dataLabels(t),unformattedSum:t},ma,d):(c!==Y?c+ra:Y)+na:Y,e.data.push({shadow:V,color:e.color,marker:e.marker,y:ja,toolText:L,displayValue:E,categoryLabel:c,link:F,dashStyle:X,hoverEffects:I.enabled&&I.options,rolloverProperties:I.enabled&&I.rolloverOptions}));
u.catCount=a;return z},defaultSeriesType:"column",isDual:!0,creditLabel:Aa,rendererId:"cartesian"},za);p("pareto3d",{friendlyName:"3D Pareto Chart",defaultSeriesType:"column3d",fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0},p.pareto2d);p("mscolumn2d",{standaloneInit:!0,friendlyName:"Multi-series Column Chart",creditLabel:Aa,rendererId:"cartesian"},p.mscolumn2dbase);p("mscolumn3d",{defaultSeriesType:"column3d",friendlyName:"Multi-series 3D Column Chart",defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,
defaultZeroPlaneHighlighted:!1},p.mscolumn2d);p("msbar2d",{friendlyName:"Multi-series Bar Chart",isBar:!0,defaultSeriesType:"bar",spaceManager:p.barbase},p.mscolumn2d);p("msbar3d",{defaultSeriesType:"bar3d",friendlyName:"Multi-series 3D Bar Chart",fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0,defaultZeroPlaneHighlighted:!1},p.msbar2d);p("msline",{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:Aa,rendererId:"cartesian"},p.mslinebase);p("msarea",{standaloneInit:!0,friendlyName:"Multi-series Area Chart",
creditLabel:Aa,rendererId:"cartesian"},p.msareabase);p("stackedcolumn2d",{friendlyName:"Stacked Column Chart",isStacked:!0},p.mscolumn2d);p("stackedcolumn3d",{friendlyName:"3D Stacked Column Chart",isStacked:!0},p.mscolumn3d);p("stackedbar2d",{friendlyName:"Stacked Bar Chart",isStacked:!0},p.msbar2d);p("stackedbar3d",{friendlyName:"3D Stacked Bar Chart",isStacked:!0},p.msbar3d);p("stackedarea2d",{friendlyName:"Stacked Area Chart",isStacked:!0,areaAlpha:100,showSum:0},p.msarea);p("marimekko",{friendlyName:"Marimekko Chart",
isValueAbs:!0,distributedColumns:!0,isStacked:!0,xAxisMinMaxSetter:db,postSeriesAddition:function(a,r){var c=a[oa],d=0,k=a.xAxis,b=100/c.marimekkoTotal,t=[],e=a.series,f=0,G=Ea({},a.plotOptions.series.dataLabels.style),l=parseInt(G.fontSize,10),q=g(r.chart.plotborderthickness,1),m=a.chart.rotateValues,W=g(r.chart.rotatexaxispercentvalues,0),p=-0.5*q-(q%2+(W?1:0)+!a.chart.plotBorderWidth),y=W?l/2*1.2:0,h=m?270:0,x=c[0],ga=x.stacking100Percent,u=!ga,w=c.inCanvasStyle,S=this.numberFormatter,n=r.categories&&
r.categories[0]&&r.categories[0].category||[],N=0,A=[],K,M,B,ea,H,U,Q,R,s,ba,q=[];c.isXYPlot=!0;c.distributedColumns=!0;k.min=0;k.max=100;k.labels.enabled=!1;k.gridLineWidth=0;k.alternateGridColor=Xa;K=x.stack;r.chart.interactivelegend="0";x=0;for(M=a.xAxis.plotLines.length;x<M;x+=1)B=k.plotLines[x],B.isGrid&&(B.isCat=!0,t[B.value]=B,B._hideLabel=!0);for(x=M=0;x<n.length;x+=1)n[x].vline||(N+=A[M]=S.getCleanValue(n[x].widthpercent||0),M+=1);B=K.floatedcolumn&&K.floatedcolumn[0]||[];if(100===N&&(B&&
B.length)!==M)for(;M--;)B[M]||(B[M]={p:null});N=z(N);if(B)for(H=0,M=B.length;H<M;){ba=B[H];d+=ea=ba&&ba.p||0;Q=100===N?A[H]:ea*b;U=f+Q/2;R=f+Q;q.push(R);for(x=0;x<e.length;x+=1)if(a.series[x].visible=!0,n=a.series[x].data[H],n._FCX=f,n._FCW=Q,s=S.percentValue(n.y/ea*100),n.toolText=Ja(n.toolText,[14,24,25,111,112],{xAxisPercentValue:S.percentValue(Q),percentValue:s,sum:S.dataLabels(ea),unformattedSum:ea}),ga){if(n.y||0===n.y)K=n.y/ea*100,n.y=K,n.showPercentValues&&(n.displayValue=s);if(n.previousY||
0===n.previousY)n.previousY=n.previousY/ea*100}c.showStackTotal&&a.xAxis.plotLines.push({value:U,width:0,isVline:u,isTrend:!u,_isStackSum:1,zIndex:4,label:{align:ab,textAlign:ab,rotation:h,style:G,verticalAlign:hb,offsetScale:u?0>ea?ba.n:ba.p:void 0,offsetScaleIndex:0,y:0>ea?270===m?4:l:-4,x:0,text:S.yAxis(Za(ea,10))}});t[H]&&(t[H].value=U,t[H]._weight=Q,t[H]._hideLabel=!1);H+=1;c.showXAxisPercentValues&&H<M&&a.xAxis.plotLines.push({value:R,width:0,isVine:!0,label:{align:ab,textAlign:W?jb:ab,rotation:W?
270:0,backgroundColor:"#ffffff",backgroundOpacity:1,borderWidth:"1px",borderType:"solid",borderColor:w.color,style:{color:w.color,fontSize:w.fontSize,fontFamily:w.fontFamily,lineHeight:w.lineHeight},verticalAlign:fb,y:p,x:y,text:this.numberFormatter.percentValue(R)},zIndex:5});f=R}H=0;for(M=t.length;H<M;H+=1)t[H]&&t[H]._hideLabel&&(t[H].value=null);x=0;for(M=a.xAxis.plotLines.length;x<M;x+=1)if(B=k.plotLines[x],B.isVline&&!B._isStackSum&&(c=B.value))c-=0.5,d=q[I(c)],b=q[E(c)],B.value=d+(b-d)*(c-I(c))},
defaultSeriesType:"floatedcolumn"},p.stackedcolumn2d);p("msstackedcolumn2d",{friendlyName:"Multi-series Stacked Column Chart",series:function(a,r,c){var d,k,b,t,e=r[oa],f=0,G,l;G=[];var q;r.legend.enabled=Boolean(g(a.chart.showlegend,1));if(a.dataset&&0<a.dataset.length){this.categoryAdder(a,r);d=0;for(k=a.dataset.length;d<k;d+=1)if(q=a.dataset[d].dataset)for(b=0,t=q.length;b<t;b+=1,f+=1)G={hoverEffects:this.parseSeriesHoverOptions(a,r,q[b],c),visible:!g(q[b].initiallyhidden,0),data:[],numColumns:k,
columnPosition:d},l=Math.min(e.oriCatTmp.length,q[b].data&&q[b].data.length),G=this.point(c,G,q[b],a.chart,r,l,f,d),r.series.push(G);if(this.isDual&&a.lineset&&0<a.lineset.length)for(b=0,t=a.lineset.length;b<t;b+=1,f+=1)d=a.lineset[b],G={hoverEffects:this.parseSeriesHoverOptions(a,r,d,c),visible:!g(d.initiallyhidden,0),data:[],yAxis:1,type:"line"},l=Math.min(e.oriCatTmp.length,d.data&&d.data.length),r.series.push(p.msline.point.call(this,"msline",G,d,a.chart,r,l,f));this.configureAxis(r,a);a.trendlines&&
bb(a.trendlines,r.yAxis,r[oa],this.isDual,this.isBar)}},postSpaceManager:function(a,r,c){var d=a[oa],b,e,t;p.base.postSpaceManager.call(this);if(this.isStacked&&d.showStackTotal&&(b=a.chart,a=(r=a.xAxis)&&r.plotLines,b=c-b.marginLeft-b.marginRight,c=d.plotSpacePercent,d=d[0].stack,d=d.column&&d.column.length,e=(1-2*c)/d,r=b/(r.max-r.min),50<r*e&&0.1==c))for(r=50/r,c=a&&a.length,d=-((d-1)/2)*r,t=0;t<c;t+=1)e=a[t],e._isStackSum&&(b=e._catPosition+(d+r*e._stackIndex),e.value=b)}},p.stackedcolumn2d);
p("mscombi2d",{friendlyName:"Multi-series Combination Chart",standaloneInit:!0,creditLabel:Aa,rendererId:"cartesian"},p.mscombibase);p("mscombi3d",{friendlyName:"Multi-series 3D Combination Chart",series:p.mscombi2d.series,eiMethods:function(a){var r={};wa(a.split(","),function(a){r[a]=function(){ca.raiseWarning(this,"1301081430","run","JSRenderer~"+a+"()","Method not applicable.")}});return r}("view2D,view3D,resetView,rotateView,getViewAngles,fitToStage")},p.mscolumn3d);p("mscolumnline3d",{friendlyName:"Multi-series Column and Line Chart"},
p.mscombi3d);p("stackedcolumn2dline",{friendlyName:"Stacked Column and Line Chart",isStacked:!0,stack100percent:0},p.mscombi2d);p("stackedcolumn3dline",{friendlyName:"Stacked 3D Column and Line Chart",isStacked:!0,stack100percent:0},p.mscombi3d);p("mscombidy2d",{friendlyName:"Multi-series Dual Y-Axis Combination Chart",isDual:!0,secondarySeriesType:void 0},p.mscombi2d);p("mscolumn3dlinedy",{friendlyName:"Multi-series 3D Column and Line Chart",isDual:!0,secondarySeriesType:"line"},p.mscolumnline3d);
p("stackedcolumn3dlinedy",{friendlyName:"Stacked 3D Column and Line Chart",isDual:!0,secondarySeriesType:"line"},p.stackedcolumn3dline);p("msstackedcolumn2dlinedy",{friendlyName:"Multi-series Dual Y-Axis Stacked Column and Line Chart",isDual:!0,stack100percent:0,secondarySeriesType:"line"},p.msstackedcolumn2d);p("scrollcolumn2d",{friendlyName:"Scrollable Multi-series Column Chart",postSeriesAddition:p.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40},
p.mscolumn2d);p("scrollline2d",{friendlyName:"Scrollable Multi-series Line Chart",postSeriesAddition:p.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:75},p.msline);p("scrollarea2d",{friendlyName:"Scrollable Multi-series Area Chart",postSeriesAddition:p.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:75},p.msarea);p("scrollstackedcolumn2d",{friendlyName:"Scrollable Stacked Column Chart",postSeriesAddition:function(a,
r,c,d){p.base.postSeriesAddition.call(this,a,r,c,d);p.scrollbase.postSeriesAddition.call(this,a,r,c,d)},canvasborderthickness:1,tooltipConstraint:"plot",avgScrollPointWidth:75},p.stackedcolumn2d);p("scrollcombi2d",{friendlyName:"Scrollable Combination Chart",postSeriesAddition:p.scrollbase.postSeriesAddition,tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40},p.mscombi2d);p("scrollcombidy2d",{friendlyName:"Scrollable Dual Y-Axis Combination Chart",postSeriesAddition:p.scrollbase.postSeriesAddition,
tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40},p.mscombidy2d);p("scatter",{friendlyName:"Scatter Chart",isXY:!0,standaloneInit:!0,defaultSeriesType:"scatter",defaultZeroPlaneHighlighted:!1,creditLabel:Aa},p.scatterbase);p("bubble",{friendlyName:"Bubble Chart",standaloneInit:!0,standaloneInut:!0,defaultSeriesType:"bubble",rendererId:"bubble",point:function(a,r,c,d,b){a=g(d.ignoreemptydatasets,0);var e=!1,t=this.colorManager,f,l,G,m,q,qa,W,p,y,n,x,ga,B,w,u,S,N=g(c.showvalues,
b[oa].showValues);f=g(d.bubblescale,1);var A=h(d.negativecolor,"FF0000"),K=b.plotOptions.bubble,M=this.numberFormatter,s=r._showRegression=g(c.showregressionline,d.showregressionline,0),ba,H,U,Q;r.name=Da(c.seriesname);G=Boolean(g(c.drawanchors,c.showanchors,d.drawanchors,1));p=h(c.plotfillalpha,c.bubblefillalpha,d.plotfillalpha,Ma);y=g(c.showplotborder,d.showplotborder,1);n=ia(h(c.plotbordercolor,d.plotbordercolor,"666666"));x=h(c.plotborderthickness,d.plotborderthickness,1);ga=h(c.plotborderalpha,
d.plotborderalpha,"95");y=1===y?x:0;t=h(c.color,c.plotfillcolor,d.plotfillcolor,t.getPlotColor());r.marker={enabled:G,fillColor:this.getPointColor(t,Ma),lineColor:va(n,y?ga:0),lineWidth:y,symbol:"circle"};if(x=c.data){S=x.length;K.bubbleScale=f;if(0===g(c.includeinlegend)||void 0===r.name)r.showInLegend=!1;s&&(r.events={hide:this.hideRLine,show:this.showRLine},ba={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},H=g(c.showyonx,d.showyonx,1),U=ia(h(c.regressionlinecolor,d.regressionlinecolor,
t)),Q=g(c.regressionlinethickness,d.regressionlinethickness,1),f=Wa(g(c.regressionlinealpha,d.regressionlinealpha,100)),U=va(U,f));for(l=0;l<S;l+=1)(m=x[l])?(f=M.getCleanValue(m.y),B=M.getCleanValue(m.x),w=M.getCleanValue(m.z,!0),null===f?r.data.push({y:null,x:B}):(e=!0,W=0!==g(d.use3dlighting,m.is3d,c.is3d,d.is3d),q=ia(h(m.color,0>m.z?A:t)),qa=h(m.alpha,p),u=this.getPointStub(m,f,B,b,c,N),q=W?this.getPointColor(q,qa):va(q,qa),null!==w&&(K.zMax=K.zMax>w?K.zMax:w,K.zMin=K.zMin<w?K.zMin:w),m=this.pointHoverOptions(m,
r,{plotType:"bubble",is3d:W,seriesAnchorSymbol:"circle",color:q,negativeColor:A,alpha:qa,borderWidth:y,borderColor:n,borderAlpha:ga,shadow:!1}),r.data.push({y:f,x:B,z:w,displayValue:u.displayValue,toolText:u.toolText,link:u.link,hoverEffects:m.enabled&&m.options,rolloverProperties:m.enabled&&m.rolloverOptions,marker:{enabled:G,fillColor:q,lineColor:{FCcolor:{color:n,alpha:ga}},lineWidth:y,symbol:"circle"}}),this.pointValueWatcher(b,f,B,s&&ba))):r.data.push({y:null});s&&(c={type:"line",color:U,showInLegend:!1,
lineWidth:Q,enableMouseTracking:!1,marker:{enabled:!1},data:this.getRegressionLineSeries(ba,H,S),zIndex:0},r=[r,c])}a&&!e&&(r.showInLegend=!1);return r},getPointStub:function(a,r,c,d,b,e){var t=this.dataObj.chart;d=d[oa];r=null===r?r:d.numberFormatter.dataLabels(r);var f,l=d.tooltipSepChar,G=Da(aa(h(a.tooltext,b.plottooltext,d.tooltext)));d.showTooltip?void 0!==G?b=Ja(G,[4,5,6,7,8,9,10,11,12,13],{yDataValue:r,xDataValue:d.numberFormatter.xAxis(c),yaxisName:aa(t.yaxisname),xaxisName:aa(t.xaxisname)},
a,t,b):null===r?b=!1:(d.seriesNameInToolTip&&(f=h(b&&b.seriesname)),b=f?f+l:Y,b+=c?d.numberFormatter.xAxis(c)+l:Y,b=b+r+(a.z?l+d.numberFormatter.dataLabels(a.z):Y)):b=Y;c=g(a.showvalue,e,d.showValues)?void 0!==h(a.displayvalue,a.name,a.label)?aa(h(a.displayvalue,a.name,a.label)):r:Y;a=Da(a.link);return{displayValue:c,toolText:b,link:a}}},p.scatter);p("ssgrid",{friendlyName:"Grid Component",standaloneInit:!0,defaultSeriesType:"ssgrid",rendererId:"ssgrid",chart:function(a,b){var c=this.containerElement,
d=Ea({},this.dataObj),k=d.chart||(d.chart=d.graph||{}),e=this.chartInstance,t=0,f=[],l=d.data,G=l&&l.length,m=this.smartLabel,q=this.numberFormatter,qa=c.offsetHeight,W=c.offsetWidth,ra=this.colorManager,y,B,x,n,u,w,S,s,N,A,K,M,ba,z,H,U,Q,R,I,X,O,P,J,F,D,E=0;B=0;var c={_FCconf:{0:{stack:{}},1:{stack:{}},x:{stack:{}},noWrap:!1,marginLeftExtraSpace:0,marginRightExtraSpace:0,marginBottomExtraSpace:0,marginTopExtraSpace:0,marimekkoTotal:0},chart:{renderTo:c,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:h(k.basefont,"Verdana,sans"),fontSize:$a(k.basefontsize,20)+Ya,color:h(k.basefontcolor,ra.getColor("baseFontColor")).replace(/^#?([a-f0-9]+)/ig,"#$1")},plotBackgroundColor:Xa},labels:{smartLabel:m},colors:"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),
credits:{href:v.CREDIT_HREF,text:v.CREDIT_STRING,enabled:Aa},legend:{enabled:!1},series:[],subtitle:{text:Y},title:{text:Y},tooltip:{enabled:!1},exporting:{buttons:{exportButton:{},printButton:{enabled:!1}}}},L=c[oa],V=y=B=E=0,T=t=z=0;D=e.jsVars.cfgStore;e=c.chart;u=e.toolbar={button:{}};w=u.button;delete d.graph;eb(c.chart.style);e.events.click=this.linkClickFN;w.scale=g(k.toolbarbuttonscale,1.15);w.width=g(k.toolbarbuttonwidth,15);w.height=g(k.toolbarbuttonheight,15);w.radius=g(k.toolbarbuttonradius,
2);w.spacing=g(k.toolbarbuttonspacing,5);w.fill=va(h(k.toolbarbuttoncolor,"ffffff"));w.labelFill=va(h(k.toolbarlabelcolor,"cccccc"));w.symbolFill=va(h(k.toolbarsymbolcolor,"ffffff"));w.hoverFill=va(h(k.toolbarbuttonhovercolor,"ffffff"));w.stroke=va(h(k.toolbarbuttonbordercolor,"bbbbbb"));w.symbolStroke=va(h(k.toolbarsymbolbordercolor,"9a9a9a"));w.strokeWidth=g(k.toolbarbuttonborderthickness,1);w.symbolStrokeWidth=g(k.toolbarsymbolborderthickness,1);d=w.symbolPadding=g(k.toolbarsymbolpadding,5);w.symbolHPadding=
g(k.toolbarsymbolhpadding,d);w.symbolVPadding=g(k.toolbarsymbolvpadding,d);w=u.position=h(k.toolbarposition,"tr").toLowerCase();switch(w){case "tr":case "tl":case "br":case "bl":break;default:w="tr"}d=u.hAlign="left"===(Y+k.toolbarhalign).toLowerCase()?"l":w.charAt(1);w=u.vAlign="bottom"===(Y+k.toolbarvalign).toLowerCase()?"b":w.charAt(0);u.hDirection=g(k.toolbarhdirection,"r"===d?-1:1);u.vDirection=g(k.toolbarvdirection,"b"===w?-1:1);u.vMargin=g(k.toolbarvmargin,6);u.hMargin=g(k.toolbarhmargin,10);
u.x=g(k.toolbarx,"l"===d?0:a);u.y=g(k.toolbary,"t"===w?0:b);void 0!==h(k.clickurl)&&(e.link=k.clickurl,e.style.cursor="pointer");y=g(D.showpercentvalues,k.showpercentvalues,0);B=h(D.numberitemsperpage,k.numberitemsperpage);g(D.showshadow,k.showshadow,0);t=h(D.basefont,k.basefont,"Verdana,sans");x=$a(D.basefontsize,k.basefontsize,10);x+=Ya;n=ia(h(D.basefontcolor,k.basefontcolor,ra.getColor("baseFontColor")));d=ia(h(D.alternaterowbgcolor,k.alternaterowbgcolor,ra.getColor("altHGridColor")));u=h(D.alternaterowbgalpha,
k.alternaterowbgalpha,ra.getColor("altHGridAlpha"))+Y;w=g(D.listrowdividerthickness,k.listrowdividerthickness,1);S=ia(h(D.listrowdividercolor,k.listrowdividercolor,ra.getColor("borderColor")));s=g(D.listrowdivideralpha,k.listrowdivideralpha,ra.getColor("altHGridAlpha"))+15+Y;N=g(D.colorboxwidth,k.colorboxwidth,8);A=g(D.colorboxheight,k.colorboxheight,8);K=g(D.navbuttonradius,k.navbuttonradius,7);M=ia(h(D.navbuttoncolor,k.navbuttoncolor,ra.getColor("canvasBorderColor")));ba=ia(h(D.navbuttonhovercolor,
k.navbuttonhovercolor,ra.getColor("altHGridColor")));z=g(D.textverticalpadding,k.textverticalpadding,3);H=g(D.navbuttonpadding,k.navbuttonpadding,5);U=g(D.colorboxpadding,k.colorboxpadding,10);Q=g(D.valuecolumnpadding,k.valuecolumnpadding,10);R=g(D.namecolumnpadding,k.namecolumnpadding,5);I=g(D.borderthickness,k.borderthickness,1);X=ia(h(D.bordercolor,k.bordercolor,ra.getColor("borderColor")));O=h(D.borderalpha,k.borderalpha,ra.getColor("borderAlpha"))+Y;P=h(D.bgcolor,k.bgcolor,"FFFFFF");J=h(D.bgalpha,
k.bgalpha,Ma);F=h(D.bgratio,k.bgratio,Ma);D=h(D.bgangle,k.bgangle,Fa);e.borderRadius=I/16;e.borderWidth=I;e.borderColor=C({FCcolor:{color:X,alpha:O}});e.backgroundColor={FCcolor:{color:P,alpha:J,ratio:F,angle:D}};e.borderRadius=g(k.borderradius,0);D={fontFamily:t,fontSize:x,color:n};eb(D);m.setStyle(D);for(t=0;t<G;t+=1)if(x=l[t],I=q.getCleanValue(x.value),X=aa(Ka(x.label,x.name)),n=ia(h(x.color,ra.getPlotColor())),h(x.alpha,k.plotfillalpha,Ma),X!=Y||null!=I)f.push({value:I,label:X,color:n}),E+=I,
T+=1;for(t=0;t<T;t+=1)x=f[t],I=x.value,x.dataLabel=x.label,x.displayValue=y?q.percentValue(I/E*100):q.dataLabels(I),l=m.getOriSize(x.displayValue),V=Math.max(V,l.width+Q);B?B>=T?(y=qa/T,B=T):(q=qa-2*(H+K),y=q/B):(E=parseInt(D.lineHeight,10),E=Math.max(E+2*z,A),B=qa/E,B>=T?(y=qa/T,B=T):(q=qa-2*(H+K),B=Math.floor(q/E),y=q/B));z=W-U-N-R-V-Q;t=U+N+R;q=h(k.basefont,"Verdana,sans");V=$a(k.basefontsize,10);ra=h(k.basefontcolor,ra.getColor("baseFontColor"));l=h(k.outcnvbasefont,q);x=$a(k.outcnvbasefontsize,
V);G=x+Ya;k=h(k.outcnvbasefontcolor,ra).replace(/^#?([a-f0-9]+)/ig,"#$1");V+=Ya;ra=ra.replace(/^#?([a-f0-9]+)/ig,"#$1");L.trendStyle=L.outCanvasStyle={fontFamily:l,color:k,fontSize:G};eb(L.trendStyle);L.inCanvasStyle={fontFamily:q,fontSize:V,color:ra};c.tooltip.style={fontFamily:q,fontSize:V,lineHeight:void 0,color:ra};c.tooltip.shadow=!1;e.height=qa;e.width=W;e.rowHeight=y;e.labelX=t;e.colorBoxWidth=N;e.colorBoxHeight=A;e.colorBoxX=U;e.valueX=U+N+R+z+Q;e.valueColumnPadding=Q;e.textStyle=D;e.listRowDividerAttr=
{"stroke-width":w,stroke:{FCcolor:{color:S,alpha:s}}};e.alternateRowColor={FCcolor:{color:d,alpha:u}};e.navButtonRadius=K;e.navButtonPadding=H;e.navButtonColor=M;e.navButtonHoverColor=ba;e.lineHeight=parseInt(D.lineHeight,10);qa=[];W=0;L=!0;for(t=0;t<T&0!==B;t+=1)0===t%B&&(qa.push({data:[],visible:L}),L=!1,W+=1),x=f[t],k=m.getSmartText(x.dataLabel,z,y),qa[W-1].data.push({label:k.text,originalText:k.tooltext,displayValue:x.displayValue,y:x.value,color:x.color});c.series=qa;p.base.parseExportOptions.call(this,
c);c.tooltip.enabled=!!c.exporting.enabled;return c},creditLabel:Aa},p.base);p("renderer.bubble",{drawPlotBubble:function(a,r){var c=this,d=c.options,k=d.chart,f=d.plotOptions.series,t=f.dataLabels&&f.dataLabels.style||{},l={fontFamily:t.fontFamily,fontSize:t.fontSize,lineHeight:t.lineHeight,fontWeight:t.fontWeight,fontStyle:t.fontStyle},t=c.paper,m=c.elements,G=a.items,W=a.graphics=a.graphics||[],q=c.xAxis[r.xAxis||0],qa=c.yAxis[r.yAxis||0],B=a.data,u=!1!==(d.tooltip||{}).enabled,y,p,f=isNaN(+f.animation)&&
f.animation.duration||1E3*f.animation,x=!1===r.visible?"hidden":"visible",d=d.plotOptions.bubble,n=d.zMax,d=d.bubbleScale,S=ba(c.canvasHeight,c.canvasWidth)/8,n=La(n),w,h,s,N,A,K,M,I,E,H,U;w=c.layers;h=w.dataset=w.dataset||t.group("dataset-orphan");var Q=w.tracker,R,X,J=function(a){ua.call(this,c,a)},O=function(a,d,b){return function(r){a.attr(d);ua.call(this,c,r,b)}};c.addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",l);w.datalabels?w.datalabels.attr("class","fusioncharts-datalabels"):
w.datalabels=t.group({"class":"fusioncharts-datalabels"},"datalables").insertAfter(h);l=h.bubble=h.bubble||t.group("bubble",h);k.clipBubbles&&!l.attrs["clip-rect"]&&l.attr({"clip-rect":m["clip-canvas"]});w=0;for(h=B.length;w<h;w+=1){s=B[w];H=U=X=null;E=s.marker;if(null!==s.y&&E&&E.enabled){N=s.link;k=s.toolText;A=g(s.x,w);K=s.y;m={index:w,link:N,value:K,y:K,x:A,z:s.z,displayValue:s.displayValue,toolText:s.toolText,id:a.userID,datasetIndex:a.index,datasetName:a.name,visible:a.visible};I=qa.getAxisPosition(K);
M=q.getAxisPosition(A);p=La(s.z);R=z(p*S/n)*d||0;p=y={};s.hoverEffects&&(p={fill:C(E.fillColor),"stroke-width":E.lineWidth,stroke:C(E.lineColor),r:R},y=s.rolloverProperties,y={fill:C(y.fillColor),"stroke-width":y.lineWidth,stroke:C(y.lineColor),r:R*y.scale});H=t.circle(M,I,0,l).attr({fill:C(E.fillColor),"stroke-width":E.lineWidth,stroke:C(E.lineColor),visibility:x}).animate({r:R||0},f,"easeOut",c.getAnimationCompleteFn());if(N||u)R<b&&(R=b),U=t.circle(M,I,R,Q).attr({cursor:N?"pointer":"",stroke:e,
"stroke-width":E.lineWidth,fill:e,ishot:!!N,visibility:x});(U||H).data("eventArgs",m).click(J).hover(O(H,y,"DataPlotRollOver"),O(H,p,"DataPlotRollOut")).tooltip(k);G[w]={index:w,x:A,y:K,z:s.z,value:K,graphic:H,dataLabel:X,tracker:U};X=c.drawPlotLineLabel(a,r,w,M,I)}else G[w]={index:w,x:A,y:K};X&&W.push(X);H&&W.push(H);U&&W.push(U)}a.visible=!1!==r.visible;return a}},p["renderer.cartesian"]);p("renderer.ssgrid",{drawGraph:function(){var a=this.options.series,b=this.elements,c=b.plots,d=a.length,k;
c||(c=this.plots=this.plots||[],b.plots=c);this.drawSSGridNavButton();for(k=0;k<d;k++)(b=c[k])||c.push(b={items:[],data:a[k].data}),a[k].data&&a[k].data.length&&this.drawPlot(b,a[k]);1<d&&this.nenagitePage(0)},drawPlot:function(a){var b=a.data,c=this.paper,d=this.options.chart,k=d.colorBoxHeight,e=d.colorBoxWidth,t=d.colorBoxX,l=d.labelX,m=d.valueX,G=d.rowHeight,g=d.width,q=d.listRowDividerAttr,qa=q["stroke-width"],q=C(q.stroke),B=qa%2/2,p=d.textStyle,y=this.layers,y=y.dataset=y.dataset||c.group("dataset-orphan"),
d=C(d.alternateRowColor);a=a.items;var u=0,x,n,h,w;b&&b.length||(b=[]);q={stroke:q,"stroke-width":qa};w=0;for(qa=b.length;w<qa;w+=1)h=b[w],n=h.y,x=a[w]={index:w,value:n,graphic:null,dataLabel:null,dataValue:null,alternateRow:null,listRowDivider:null,hot:null},null!==n&&void 0!==n&&(0===w%2&&(x.alternateRow=c.rect(0,u,g,G,0,y).attr({fill:d,"stroke-width":0})),n=z(u)+B,x.listRowDivider=c.path([f,0,n,W,g,n],y).attr(q),x.graphic=c.rect(t,u+G/2-k/2,e,k,0,y).attr({fill:h.color,"stroke-width":0,stroke:"#000000"}),
n=x.dataLabel=c.text().attr({text:h.label,title:h.originalText||"",x:l,y:u+G/2,fill:p.color,"text-anchor":"start"}).css(p),y.appendChild(n),x=x.dataValue=c.text().attr({text:h.displayValue,title:h.originalText||"",x:m,y:u+G/2,fill:p.color,"text-anchor":"start"}).css(p),y.appendChild(x),u+=G);n=z(u)+B;c.path([f,0,n,W,g,n],y).attr(q)},drawSSGridNavButton:function(){var a=this,b=a.paper,c=a.options,d=c.chart,k=c.series,e=d.navButtonColor,t=d.navButtonHoverColor,c=d.navButtonRadius,l=0.67*c,m=d.navButtonPadding+
l+(k&&k[0].data&&k[0].data.length*d.rowHeight)+0.5*c,d=d.width-20,G,g,q,qa;1<k.length&&(qa=a.naviigator=b.group("navigation"),a.navElePrv=k=b.group(qa),G=b.path([f,20,m,W,20+c+l,m-l,20+c,m,20+c+l,m+l,"Z"]).attr({fill:e,"stroke-width":0,cursor:"pointer"}),k.appendChild(G),q=b.circle(20+c,m,c).attr({fill:Xa,"stroke-width":0,cursor:"pointer"}).mouseover(function(){G.attr({fill:t,cursor:"pointer"})}).mouseout(function(){G.attr({fill:e})}).click(function(){a.nenagitePage(-1)}),k.appendChild(q),a.navEleNxt=
k=b.group(qa),g=b.path([f,d,m,W,d-c-l,m-l,d-c,m,d-c-l,m+l,"Z"]).attr({fill:e,"stroke-width":0,cursor:"pointer"}),k.appendChild(g),b=b.circle(d-c,m,c).attr({fill:Xa,"stroke-width":0,cursor:"pointer"}).mouseover(function(){g.attr({fill:t})}).mouseout(function(){g.attr({fill:e})}).click(function(){a.nenagitePage(1)}),k.appendChild(b))},nenagitePage:function(a){var b=this.plots,c=b.length;a=(this.currentSeriesIndex||0)+(a||0);var d,k=function(a){a.graphic&&a.graphic.hide();a.dataLabel&&a.dataLabel.hide();
a.dataValue&&a.dataValue.hide();a.alternateRow&&a.alternateRow.hide();a.listRowDivider&&a.listRowDivider.hide()};if(b[a]){for(d=c;d--;)wa(b[d].items,k);wa(b[a].items,function(a){a.graphic&&a.graphic.show();a.dataLabel&&a.dataLabel.show();a.dataValue&&a.dataValue.show();a.alternateRow&&a.alternateRow.show();a.listRowDivider&&a.listRowDivider.show()});this.currentSeriesIndex=a;ca.raiseEvent("pageNavigated",{pageId:a,data:this.options.series[a].data},this.logic.chartInstance);0===a?this.navElePrv.hide():
this.navElePrv.show();a===c-1?this.navEleNxt.hide():this.navEleNxt.show()}}},p["renderer.root"]);Qa.prototype={getArcPath:function(a,b,c,d,k,e,t,f,l,G){return c==k&&d==e?[]:[m,t,f,0,G,l,k,e]},parseColor:function(a,b){var c,d,k,e,t,f,l,G,m,q,g=b/2,W,u,y,p,x;x=3;this.use3DLighting?(c=pa(a,80),d=pa(a,75),f=sa(a,85),l=sa(a,70),G=sa(a,40),m=sa(a,50),sa(a,30),q=sa(a,65),pa(a,85),k=pa(a,69),e=pa(a,75),t=pa(a,95)):(x=10,c=pa(a,90),d=pa(a,87),f=sa(a,93),l=sa(a,87),G=sa(a,80),q=m=sa(a,85),sa(a,80),t=pa(a,85),
k=pa(a,75),e=pa(a,80));W=d+$+f+$+l+$+f+$+d;y=b+$+b+$+b+$+b+$+b;u=d+$+a+$+f+$+a+$+d;p=g+$+g+$+g+$+g+$+g;G=d+$+a+$+G+$+a+$+d;k=e+$+f+$+m+$+f+$+k;e="FFFFFF"+$+"FFFFFF"+$+"FFFFFF"+$+"FFFFFF"+$+"FFFFFF";x=0+$+g/x+$+b/x+$+g/x+$+0;return{frontOuter:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftX,y1:0,x2:this.rightX,y2:0,color:k,alpha:y,angle:0,ratio:"0,20,15,15,50"}},backOuter:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftX,y1:0,x2:this.rightX,y2:0,color:G,alpha:p,angle:0,ratio:"0,62,8,8,22"}},
frontInner:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftInnerX,y1:0,x2:this.rightInnerX,y2:0,color:u,alpha:p,angle:0,ratio:"0,25,5,5,65"}},backInner:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftInnerX,y1:0,x2:this.rightInnerX,y2:0,color:W,alpha:y,angle:0,ratio:"0,62,8,8,22"}},topBorder:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftX,y1:0,x2:this.rightX,y2:0,color:e,alpha:x,angle:0,ratio:"0,20,15,15,50"}},topInnerBorder:{FCcolor:{gradientUnits:"userSpaceOnUse",x1:this.leftInnerX,
y1:0,x2:this.rightInnerX,y2:0,color:e,alpha:x,angle:0,ratio:"0,50,15,15,20"}},top:Z?{FCcolor:{gradientUnits:"userSpaceOnUse",radialGradient:!0,cx:this.cx,cy:this.cy,r:this.rx,fx:this.cx-0.3*this.rx,fy:this.cy+1.2*this.ry,color:q+$+t,alpha:b+$+b,ratio:"0,100"}}:{FCcolor:{gradientUnits:"objectBoundingBox",color:l+$+l+$+f+$+d,alpha:b+$+b+$+b+$+b,angle:-72,ratio:"0,8,15,77"}},bottom:C(va(a,g)),startSlice:C(va(c,b)),endSlice:C(va(c,b))}},rotate:function(a){if(!this.hasOnePoint){for(var b=this.pointElemStore,
c=0,d=b.length,k;c<d;c+=1)k=b[c],k=k._confObject,k.start+=a,k.end+=a,this.updateSliceConf(k);this.refreshDrawing()}},refreshDrawing:function(){return function(){var a=this.slicingWallsArr,b=0,c,d=a.length,k,e,t,f,l=this.slicingWallsFrontGroup,G=this.slicingWallsBackGroup;a:{var m=a[0]&&a[0]._conf.index,q,g;f=m<=X;k=1;for(c=a.length;k<c;k+=1)if(g=a[k]._conf.index,q=g<=X,q!=f||g<m)break a;k=0}for(;b<d;b+=1,k+=1)k===d&&(k=0),c=a[k],f=c._conf.index,f<Ra?l.appendChild(c):f<=X?(e?c.insertBefore(e):l.appendChild(c),
e=c):f<Sa?(t?c.insertBefore(t):G.appendChild(c),t=c):G.appendChild(c)}}(),updateSliceConf:function(a,b){var c=this.getArcPath,d=a.start,k=a.end,e=da(d),t=da(k),l,g,G,p,q,n,h,s,y,ba,x,ga,z,w,E,I,N=this.cx,A=this.cy,K=this.rx,M=this.ry,J=K+(Z?-1:2),C=M+(Z?-1:2),H=this.innerRx,U=this.innerRy,Q=this.depth,R=this.depthY,v=a.elements,L,O,P,T,F,D,V;l=u(e);g=B(e);G=u(t);p=B(t);q=N+K*l;n=A+M*g;h=N+J*l;s=A+C*g;L=n+Q;O=N+K*G;P=A+M*p;y=N+J*G;ba=A+C*p;T=P+Q;this.isDoughnut?(x=N+H*l,ga=A+U*g,E=ga+Q,z=N+H*G,w=A+
U*p,I=w+Q,a.startSlice=[f,q,n,W,q,L,x,E,x,ga,S],a.endSlice=[f,O,P,W,O,T,z,I,z,w,S]):(a.startSlice=[f,q,n,W,q,L,N,R,N,A,S],a.endSlice=[f,O,P,W,O,T,N,R,N,A,S]);Z?(c=(e>t?ta:0)+t-e,a.clipTopPath=this.isDoughnut?[f,q,n,m,K,M,0,c>X?1:0,1,O,P,W,z,w,m,H,U,0,c>X?1:0,0,x,ga,S]:[f,q,n,m,K,M,0,c>X?1:0,1,O,P,W,this.cx,this.cy,S],a.clipOuterFrontPath1=this.clipPathforNoClip,a.clipTopBorderPath=[f,h,s,m,J,C,0,c>X?1:0,1,y,ba,W,O,P,O,P+1,m,K,M,0,c>X?1:0,0,q,n+1,W,q,n,S],d!=k?e>t?e<X?(a.clipOuterFrontPath=[f,this.rightX,
A,m,K,M,0,0,1,O,P,"v",Q,m,K,M,0,0,0,this.rightX,A+Q,S],a.clipOuterFrontPath1=[f,this.leftX,A,m,K,M,0,0,0,q,n,"v",Q,m,K,M,0,0,1,this.leftX,A+Q,S],a.clipOuterBackPath=[f,this.rightX,A,m,K,M,0,1,0,this.leftX,A,"v",Q,m,K,M,0,1,1,this.rightX,A+Q,S],this.isDoughnut&&(a.clipInnerBackPath=[f,this.rightInnerX,A,m,H,U,0,1,0,this.leftInnerX,A,"v",Q,m,H,U,0,1,1,this.rightInnerX,A+Q,S],a.clipInnerFrontPath=[f,this.rightInnerX,A,m,H,U,0,0,1,z,w,"v",Q,m,H,U,0,0,0,this.rightInnerX,A+Q,S,f,this.leftInnerX,A,m,H,U,
0,0,0,x,ga,"v",Q,m,H,U,0,0,1,this.leftInnerX,A+Q,S])):t>X?(a.clipOuterFrontPath=[f,this.rightX,A,m,K,M,0,1,1,this.leftX,A,"v",Q,m,K,M,0,1,0,this.rightX,A+Q,S],a.clipOuterBackPath=[f,this.leftX,A,m,K,M,0,0,1,O,P,"v",Q,m,K,M,0,0,0,this.leftX,A+Q,S,f,this.rightX,A,m,K,M,0,0,0,q,n,"v",Q,m,K,M,0,0,1,this.rightX,A+Q,S],this.isDoughnut&&(a.clipInnerFrontPath=[f,this.rightInnerX,A,m,H,U,0,1,1,this.leftInnerX,A,"v",Q,m,H,U,0,1,0,this.rightInnerX,A+Q,S],a.clipInnerBackPath=[f,this.leftInnerX,A,m,H,U,0,0,1,
z,w,"v",Q,m,H,U,0,0,0,this.leftInnerX,A+Q,S,f,this.rightInnerX,A,m,H,U,0,0,0,x,ga,"v",Q,m,H,U,0,0,1,this.rightInnerX,A+Q,S])):(a.clipOuterFrontPath=[f,this.rightX,A,m,K,M,0,0,1,O,P,"v",Q,m,K,M,0,0,0,this.rightX,A+Q,S],a.clipOuterBackPath=[f,q,n,m,K,M,0,0,1,this.rightX,A,"v",Q,m,K,M,0,0,0,q,L,S],this.isDoughnut&&(a.clipInnerFrontPath=[f,this.rightInnerX,A,m,H,U,0,0,1,z,w,"v",Q,m,H,U,0,0,0,this.rightInnerX,A+Q,S],a.clipInnerBackPath=[f,x,ga,m,H,U,0,0,1,this.rightInnerX,A,"v",Q,m,H,U,0,0,0,x,E,S])):
e<X?t>X?(a.clipOuterFrontPath=[f,q,n,m,K,M,0,0,1,this.leftX,A,"v",Q,m,K,M,0,0,0,q,L,S],a.clipOuterBackPath=[f,this.leftX,A,m,K,M,0,0,1,O,P,"v",Q,m,K,M,0,0,0,this.leftX,A+Q,S],this.isDoughnut&&(a.clipInnerFrontPath=[f,x,ga,m,H,U,0,0,1,this.leftInnerX,A,"v",Q,m,H,U,0,0,0,x,E,S],a.clipInnerBackPath=[f,this.leftInnerX,A,m,H,U,0,0,1,z,w,"v",Q,m,H,U,0,0,0,this.leftInnerX,A+Q,S])):(a.clipOuterFrontPath=[f,q,n,m,K,M,0,0,1,O,P,"v",Q,m,K,M,0,0,0,q,L,S],a.clipOuterBackPath=this.clipPathforNoClip,this.isDoughnut&&
(a.clipInnerFrontPath=[f,x,ga,m,H,U,0,0,1,z,w,"v",Q,m,H,U,0,0,0,x,E,S],a.clipInnerBackPath=this.clipPathforNoClip)):(a.clipOuterFrontPath=this.clipPathforNoClip,a.clipOuterBackPath=[f,q,n,m,K,M,0,0,1,O,P,"v",Q,m,K,M,0,0,0,q,L,S],this.isDoughnut&&(a.clipInnerFrontPath=this.clipPathforNoClip,a.clipInnerBackPath=[f,x,ga,m,H,U,0,0,1,z,w,"v",Q,m,H,U,0,0,0,x,E,S])):a.clipOuterFrontPath=a.clipOuterBackPath=a.clipInnerBackPath=a.clipInnerFrontPath=this.clipPathforNoClip,b||(a.elements.startSlice._conf.index=
e,a.elements.endSlice._conf.index=t,a.elements.frontOuter._conf.index=Pa(t,e),a.elements.frontOuter1&&(a.elements.frontOuter1._conf.index=e,a.elements.frontOuter1.attr("litepath",[a.clipOuterFrontPath1])),a.thisElement.attr("litepath",[a.clipTopPath]),a.elements.bottom.attr("litepath",[a.clipTopPath]),a.elements.bottomBorder.attr("litepath",[a.clipTopPath]),a.elements.topBorder&&a.elements.topBorder.attr("litepath",[a.clipTopBorderPath]),a.elements.frontOuter.attr("litepath",[a.clipOuterFrontPath]),
a.elements.backOuter.attr("litepath",[a.clipOuterBackPath]),this.isDoughnut&&(a.elements.backInner.attr("litepath",[a.clipInnerBackPath]),a.elements.frontInner.attr("litepath",[a.clipInnerFrontPath]),a.elements.backInner._conf.index=Pa(t,e)),this.hasOnePoint?(a.elements.startSlice.hide(),a.elements.endSlice.hide()):(a.elements.startSlice.attr("litepath",[a.startSlice]).show(),a.elements.endSlice.attr("litepath",[a.endSlice]).show()))):(h=this.moveCmdArr,s=this.lineCmdArr,y=this.closeCmdArr,F=this.centerPoint,
ba=this.leftPoint,J=this.topPoint,C=this.rightPoint,Q=this.bottomPoint,D=this.leftDepthPoint,V=this.rightDepthPoint,l=this.leftInnerPoint,g=this.rightInnerPoint,G=this.leftInnerDepthPoint,p=this.rightInnerDepthPoint,a.clipOuterFrontPath1=[],d!=k?(e>t?e<X?(d=c(N,A,q,n,this.leftX,A,K,M,1,0),k=c(N,A,this.leftX,A,this.rightX,A,K,M,1,0),P=c(N,A,this.rightX,A,O,P,K,M,1,0),a.clipOuterBackPath=h.concat(ba,k,s,V,c(N,R,this.rightX,R,this.leftX,R,K,M,0,0),y),a.clipOuterFrontPath1=h.concat([q,n],d,s,D,c(N,R,
this.leftX,R,q,L,K,M,0,0),y),a.clipOuterFrontPath=h.concat(C,P,s,[O,T],c(N,R,O,T,this.rightX,R,K,M,0,0),y),a.clipTopBorderPath=h.concat([q,n],d,k,P),this.isDoughnut?(q=c(N,A,z,w,this.rightInnerX,A,H,U,0,0),n=c(N,A,this.rightInnerX,A,this.leftInnerX,A,H,U,0,0),ga=c(N,A,this.leftInnerX,A,x,ga,H,U,0,0),a.clipInnerBackPath=h.concat(g,n,s,G,c(N,R,this.leftInnerX,R,this.rightInnerX,R,H,U,1,0),y),a.clipInnerFrontPath=h.concat(l,ga,s,[x,E],c(N,R,x,E,this.leftInnerX,R,H,U,1,0),y,h,[z,w],q,s,p,c(N,R,this.rightInnerX,
R,z,I,H,U,1,0),y),a.clipTopPath=a.clipTopBorderPath.concat(s,[z,w],q,n,ga,y),a.clipTopBorderPath=a.clipTopBorderPath.concat(h,[z,w],q,n,ga)):a.clipTopPath=a.clipTopBorderPath.concat(s,F,y)):t>X?(d=c(N,A,q,n,this.rightX,A,K,M,1,0),k=c(N,A,this.rightX,A,this.leftX,A,K,M,1,0),P=c(N,A,this.leftX,A,O,P,K,M,1,0),a.clipOuterFrontPath=h.concat(C,k,s,D,c(N,R,this.leftX,R,this.rightX,R,K,M,0,0),y),a.clipOuterBackPath=h.concat([q,n],d,s,V,c(N,R,this.rightX,R,q,L,K,M,0,0),y,h,ba,P,s,[O,T],c(N,R,O,T,this.leftX,
R,K,M,0,0),y),a.clipTopBorderPath=h.concat([q,n],d,k,P),this.isDoughnut?(q=c(N,A,z,w,this.leftInnerX,A,H,U,0,0),n=c(N,A,this.leftInnerX,A,this.rightInnerX,A,H,U,0,0),ga=c(N,A,this.rightInnerX,A,x,ga,H,U,0,0),a.clipInnerFrontPath=h.concat(l,n,s,p,c(N,R,this.rightInnerX,R,this.leftInnerX,R,H,U,1,0),y),a.clipInnerBackPath=h.concat(g,ga,s,[x,E],c(N,R,x,E,this.rightInnerX,R,H,U,1,0),y,h,[z,w],q,s,G,c(N,R,this.leftInnerX,R,z,I,H,U,1,0),y),a.clipTopPath=a.clipTopBorderPath.concat(s,[z,w],q,n,ga,y),a.clipTopBorderPath=
a.clipTopBorderPath.concat(h,[z,w],q,n,ga)):a.clipTopPath=a.clipTopBorderPath.concat(s,F,y)):(d=c(N,A,q,n,this.rightX,A,K,M,1,0),k=c(N,A,this.rightX,A,O,P,K,M,1,0),a.clipOuterFrontPath=h.concat(C,k,s,[O,T],c(N,R,O,T,this.rightX,R,K,M,0,0),y),a.clipOuterBackPath=h.concat([q,n],d,s,V,c(N,R,this.rightX,R,q,L,K,M,0,0),y),a.clipTopBorderPath=h.concat([q,n],d,k),this.isDoughnut?(q=c(N,A,z,w,this.rightInnerX,A,H,U,0,0),n=c(N,A,this.rightInnerX,A,x,ga,H,U,0,0),a.clipInnerFrontPath=h.concat([z,w],q,s,p,c(N,
R,this.rightInnerX,R,z,I,H,U,1,0),y),a.clipInnerBackPath=h.concat(g,n,s,[x,E],c(N,R,x,E,this.rightInnerX,R,H,U,1,0),y),a.clipTopPath=a.clipTopBorderPath.concat(s,[z,w],q,n,y),a.clipTopBorderPath=a.clipTopBorderPath.concat(h,[z,w],q,n)):a.clipTopPath=a.clipTopBorderPath.concat(s,F,y)):e<X?t>X?(d=c(N,A,q,n,this.leftX,A,K,M,1,0),k=c(N,A,this.leftX,A,O,P,K,M,1,0),a.clipOuterBackPath=h.concat(ba,k,s,[O,T],c(N,R,O,T,this.leftX,R,K,M,0,0),y),a.clipOuterFrontPath=h.concat([q,n],d,s,D,c(N,R,this.leftX,R,q,
L,K,M,0,0),y),a.clipTopBorderPath=h.concat([q,n],d,k),this.isDoughnut?(q=c(N,A,z,w,this.leftInnerX,A,H,U,0,0),n=c(N,A,this.leftInnerX,A,x,ga,H,U,0,0),a.clipInnerBackPath=h.concat([z,w],q,s,G,c(N,R,this.leftInnerX,R,z,I,H,U,1,0),y),a.clipInnerFrontPath=h.concat(l,n,s,[x,E],c(N,R,x,E,this.leftInnerX,R,H,U,1,0),y),a.clipTopPath=a.clipTopBorderPath.concat(s,[z,w],q,n,y),a.clipTopBorderPath=a.clipTopBorderPath.concat(h,[z,w],q,n)):a.clipTopPath=a.clipTopBorderPath.concat(s,F,y)):(d=c(N,A,q,n,O,P,K,M,1,
0),a.clipOuterBackPath=h.concat([q,n]),a.clipTopBorderPath=a.clipOuterBackPath.concat(d),a.clipOuterFrontPath=a.clipTopBorderPath.concat(s,[O,T],c(N,R,O,T,q,L,K,M,0,0),y),this.isDoughnut?(q=c(N,A,z,w,x,ga,H,U,0,0),a.clipInnerBackPath=h.concat([z,w]),a.clipTopPath=a.clipTopBorderPath.concat(s,[z,w],q,y),a.clipTopBorderPath=a.clipTopBorderPath.concat(h,[z,w],q),a.clipInnerFrontPath=a.clipInnerBackPath.concat(q,s,[x,E],c(N,R,x,E,z,I,H,U,1,0),y)):a.clipTopPath=a.clipTopBorderPath.concat(s,F,y)):(d=c(N,
A,q,n,O,P,K,M,1,0),a.clipOuterFrontPath=h.concat([q,n]),a.clipTopBorderPath=a.clipOuterFrontPath.concat(d),a.clipOuterBackPath=a.clipTopBorderPath.concat(s,[O,T],c(N,R,O,T,q,L,K,M,0,0),y),this.isDoughnut?(q=c(N,A,z,w,x,ga,H,U,0,0),a.clipInnerFrontPath=h.concat([z,w]),a.clipTopPath=a.clipTopBorderPath.concat(s,[z,w],q,y),a.clipTopBorderPath=a.clipTopBorderPath.concat(a.clipInnerFrontPath,q),a.clipInnerBackPath=a.clipInnerFrontPath.concat(q,s,[x,E],c(N,R,x,E,z,I,H,U,1,0),y)):a.clipTopPath=a.clipTopBorderPath.concat(s,
F,y)),d=h.concat(ba,s,C),q=h.concat(J,s,Q),a.clipTopPath=a.clipTopPath.concat(d,q),a.clipOuterFrontPath=a.clipOuterFrontPath.concat(d),a.clipOuterFrontPath1=a.clipOuterFrontPath1.concat(d),a.clipOuterBackPath=a.clipOuterBackPath.concat(d),this.isDoughnut&&(q=h.concat(l,s,g),a.clipInnerFrontPath=a.clipInnerFrontPath.concat(q),a.clipInnerBackPath=a.clipInnerBackPath.concat(q))):(a.clipTopPath=a.clipOuterFrontPath=a.clipOuterBackPath=[],this.isDoughnut&&(a.clipInnerFrontPath=a.clipInnerBackPath=[])),
b||(a.elements.startSlice._conf.index=e,a.elements.endSlice._conf.index=t,a.elements.frontOuter._conf.index=Pa(t,e),a.elements.frontOuter1&&(a.elements.frontOuter1._conf.index=e,v.frontOuter1.attr({path:a.clipOuterFrontPath1})),a.thisElement.attr({path:a.clipTopPath}),v.topBorder.attr({path:a.clipTopBorderPath}),v.bottom.attr({path:a.clipTopPath}),v.bottomBorder.attr({path:a.clipTopBorderPath}),v.frontOuter.attr({path:a.clipOuterFrontPath}),v.backOuter.attr({path:a.clipOuterBackPath}),this.isDoughnut&&
(v.frontInner.attr({path:a.clipInnerFrontPath}),v.backInner.attr({path:a.clipInnerBackPath})),this.hasOnePoint?(a.elements.startSlice.hide(),a.elements.endSlice.hide()):(a.elements.startSlice.attr({path:a.startSlice}).show(),a.elements.endSlice.attr({path:a.endSlice}).show())))},onPlotHover:function(a,b){var c=this.pointElemStore[a]._confObject,d=c.thisElement,k=c.elements,e=this.colorObjs[a],t=e.hoverProps,f=b?t.hoverColorObj:e.color,l=e.showBorderEffect,G=b?t.borderColor:e.borderColor,e=b?t.borderWidth:
e.borderWidth;Z?(t={fill:C(f.top),"stroke-width":0},1!==l&&(t.stroke=G,t["stroke-width"]=e),d._attr(t),l&&k.topBorder.attr({fill:C(f.topBorder),"stroke-width":0})):(d._attr({fill:C(f.top),"stroke-width":0}),k.topBorder.attr({stroke:G,"stroke-width":e}));k.bottom.attr({fill:C(f.bottom),"stroke-width":0});k.bottomBorder.attr({stroke:G,"stroke-width":e});k.frontOuter.attr({fill:C(f.frontOuter),"stroke-width":0});k.backOuter.attr({fill:C(f.backOuter),"stroke-width":0});k.startSlice.attr({fill:C(f.startSlice),
stroke:G,"stroke-width":e});k.endSlice.attr({fill:C(f.endSlice),stroke:G,"stroke-width":e});d=da(c.start);c=da(c.end);(d>c?ta:0)+c-d>X&&k.frontOuter1.attr({fill:C(f.frontOuter),"stroke-width":0});this.isDoughnut&&(k.frontInner.attr({fill:C(f.frontInner),"stroke-width":0}),k.backInner.attr({fill:C(f.backInner),"stroke-width":0}))},createSlice:function(){var a={stroke:!0,strokeWidth:!0,"stroke-width":!0,dashstyle:!0,"stroke-dasharray":!0,translateX:!0,translateY:!0,"stroke-opacity":!0,transform:!0,
fill:!0,opacity:!0,ishot:!0,start:!0,end:!0,cursor:!0},b=function(c,b){var d,e,k=this,r=k._confObject,f,l=r.elements,m,g,n=r.Pie3DManager;"string"===typeof c&&void 0!==b&&null!==b&&(d=c,c={},c[d]=b);if(c&&"string"!==typeof c){void 0!==c.cx&&(c.start=c.cx);void 0!==c.cy&&(c.end=c.cy);for(d in c)if(e=c[d],a[d])if(r[d]=e,"ishot"===d||"cursor"===d){f={};f[d]=e;for(m in l)l[m].attr(f);k._attr(f)}else if("transform"===d){for(m in l)l[m].attr({transform:c[d]});k._attr({transform:c[d]})}else"stroke"===d||
"strokeWidth"===d||"stroke-width"===d||"dashstyle"===d||"stroke-dasharray"===d?(f={},f[d]=e,l.topBorder&&l.topBorder.attr(f),l.startSlice.attr(f),l.endSlice.attr(f),l.bottomBorder.attr(f)):"fill"===d||"start"!==d&&"end"!==d||(g=!0);else k._attr(d,e);g&&(n.updateSliceConf(r),n.refreshDrawing())}else k=k._attr(c);return k},c=function(a,c,b,d){var e=this._confObject.elements,k;for(k in e)if(b)e[k].drag(c,b,d);else e[k].on(a,c);return b?this.drag(c,b,d):this._on(a,c)},d=function(){var a=this._confObject.elements,
c;for(c in a)a[c].hide();return this._hide()},e=function(){var a=this._confObject.elements,c;for(c in a)a[c].show();return this._show()},f=function(){var a=this._confObject,c=a.elements,b;for(b in c)c[b].destroy();Z&&(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,l,m,g,n,q,h,s,p,y){var W=this.renderer;
m=this.parseColor(m,g);a={start:a,end:l,elements:{},Pie3DManager:this};l=this.slicingWallsArr;g=a.elements;var x,u=Z?"litepath":"path";y&&(this.colorObjs[h]={color:m,borderColor:n,borderWidth:q,showBorderEffect:!1},y.hoverColorObj=this.parseColor(y.color,y.alpha),this.colorObjs[h].hoverProps=y);this.updateSliceConf(a,!0);Z?(y={fill:C(m.top),"stroke-width":0},1!==p&&(y.stroke=n,y["stroke-width"]=q),y=W[u](a.clipTopPath,this.topGroup).attr(y),p&&(g.topBorder=W[u](a.clipTopBorderPath,this.topGroup).attr({fill:C(m.topBorder),
"stroke-width":0}))):(y=W[u](a.clipTopPath,this.topGroup).attr({fill:C(m.top),"stroke-width":0}),g.topBorder=W[u](a.clipTopBorderPath,this.topGroup).attr({stroke:n,"stroke-width":q}));g.bottom=W[u](a.clipTopPath,this.bottomBorderGroup).attr({fill:C(m.bottom),"stroke-width":0});g.bottomBorder=W[u](Z?a.clipTopPath:a.clipTopBorderPath,this.bottomBorderGroup).attr({stroke:n,"stroke-width":q});g.frontOuter=W[u](a.clipOuterFrontPath,this.slicingWallsFrontGroup).attr({fill:C(m.frontOuter),"stroke-width":0});
g.backOuter=W[u](a.clipOuterBackPath,this.outerBackGroup).attr({fill:C(m.backOuter),"stroke-width":0});g.startSlice=W[u](a.startSlice,this.slicingWallsFrontGroup).attr({fill:C(m.startSlice),stroke:n,"stroke-width":q});g.endSlice=W[u](a.endSlice,this.slicingWallsFrontGroup).attr({fill:C(m.endSlice),stroke:n,"stroke-width":q});n=da(a.start);q=da(a.end);p=(n>q?ta:0)+q-n;p>X&&(g.frontOuter1=W[u](a.clipOuterFrontPath1,this.slicingWallsFrontGroup).attr({fill:C(m.frontOuter),"stroke-width":0}),g.frontOuter1._conf=
{index:n,isStart:0.5,pIndex:h},Z&&(a.clipOuterFront1=a.clipOuterFrontPath1));g.frontOuter._conf={index:Pa(q,n),isStart:0.5,pIndex:h};g.startSlice._conf={index:n,isStart:0,pIndex:h};g.endSlice._conf={index:q,isStart:1,pIndex:h};this.hasOnePoint&&(g.startSlice.hide(),g.endSlice.hide());this.isDoughnut?(g.frontInner=W[u](a.clipInnerFrontPath,this.innerFrontGroup).attr({fill:C(m.frontInner),"stroke-width":0}),g.backInner=W[u](a.clipInnerBackPath,this.innerBackGroup).attr({fill:C(m.backInner),"stroke-width":0}),
g.backInner._conf={index:Pa(q,n),isStart:0.5,pIndex:h},p>X?Z?l.push(g.startSlice,g.frontOuter1,g.frontOuter,g.backInner,g.endSlice):l.push(g.startSlice,g.frontOuter1,g.frontOuter,g.endSlice):Z?l.push(g.startSlice,g.frontOuter,g.backInner,g.endSlice):l.push(g.startSlice,g.frontOuter,g.endSlice)):p>X?l.push(g.startSlice,g.frontOuter1,g.frontOuter,g.endSlice):l.push(g.startSlice,g.frontOuter,g.endSlice);if(void 0!==s){for(x in g)g[x].tooltip(s);y.tooltip(s)}Z&&(a.clipTop=a.clipTopPath,a.clipOuterFront=
a.clipOuterFrontPath,a.clipOuterBack=a.clipOuterBackPath,this.isDoughnut&&(a.clipInnerFront=a.clipInnerFrontPath,a.clipInnerBack=a.clipInnerBackPath));y._confObject=a;a.thisElement=y;y._destroy=y.destroy;y.destroy=f;y._show=y.show;y.show=e;y._hide=y.hide;y.hide=d;y._on=y.on;y.on=c;y._attr=y.attr;y.attr=b;this.pointElemStore.push(y);return y}}()};Qa.prototype.constructor=Qa;p("renderer.pie3d",{type:"pie3d",isHovered:!1,translate:function(){var a=0,b=this.options,c=b.series[0],d=b.plotOptions.series.dataLabels,
e=b.plotOptions.pie3d,f=h(c.startAngle,0)%360,l=c.managedPieSliceDepth,m=c.slicedOffset=e.slicedOffset,W=this.canvasWidth,G=this.canvasHeight,p=[this.canvasLeft+0.5*W,this.canvasTop+0.5*G-0.5*l],q,s,S,E,y,b=c.data,L,x=ba(W,G),X,C,w,v=d.distance,J=c.pieYScale,N=c.pieSliceDepth,A=c.slicedOffsetY=m*J;p.push(e.size,e.innerSize||0);p=ha(p,function(a,c){return(X=/%$/.test(a))?[W,G-l,x,x][c]*parseInt(a,10)/100:a});p[2]/=2;p[3]/=2;p.push(p[2]*J);p.push((p[2]+p[3])/2);p.push(p[5]*J);c.getX=function(a,c){S=
n.asin((a-p[1])/(p[2]+v));return p[0]+(c?-1:1)*u(S)*(p[2]+v)};c.center=p;wa(b,function(c){a+=c.y});c.labelsRadius=p[2]+v;c.labelsRadiusY=c.labelsRadius*J;c.quadrantHeight=(G-l)/2;c.quadrantWidth=W/2;E=-f*T;E=z(1E3*E)/1E3;y=E+ta;e=g(parseInt(d.style.fontSize,10),10)+4;c.maxLabels=I(c.quadrantHeight/e);c.labelFontSize=e;c.connectorPadding=g(d.connectorPadding,5);c.isSmartLineSlanted=h(d.isSmartLineSlanted,!0);c.connectorWidth=g(d.connectorWidth,1);c.enableSmartLabels=d.enableSmartLabels;c.Pie3DManager||
(c.Pie3DManager=new Qa(p[0],p[1],p[2],p[3],J,N,this.layers.dataset,this.paper,1===c.data.length,c.use3DLighting));wa(b,function(b){q=E;L=a?b.y/a:0;E=z(1E3*(E+L*ta))/1E3;E>y&&(E=y);s=E;b.shapeArgs={start:z(1E3*q)/1E3,end:z(1E3*s)/1E3};b.centerAngle=S=(s+q)/2%ta;b.slicedTranslation=[z(u(S)*m),z(B(S)*A)];C=u(S)*p[2];c.radiusY=w=B(S)*p[4];b.tooltipPos=[p[0]+0.7*C,p[1]+w];b.percentage=100*L;b.total=a})},drawPlotPie3d:function(a,b){this.translate();var c=this,d=a.items,e=a.data,f=c.options,l=f.plotOptions,
m=l.series,n=c.layers,p=c.elements.plots[0],h=c.datasets[0],l=l.series.dataLabels,q=m.dataLabels.style,m=g(a.moveDuration,m.animation.duration),W=c.paper,s=f.tooltip||{},s=s&&!1!==s.enabled,z=h.slicedOffset,y=h.slicedOffsetY,S=c.plotGraphicClick,x=c.plotDragMove,E=c.plotDragStart,ba=c.plotDragEnd,w=c.plotMouseDown,I=c.plotMouseUp,L=c.plotRollOver,N=c.plotRollOut,A=!!c.datasets[0].enableRotation,K=b.showBorderEffect,M=e.length,f=f.chart.usePerPointLabelColor,T={fontFamily:q.fontFamily,fontSize:q.fontSize,
lineHeight:q.lineHeight,fontWeight:q.fontWeight,fontStyle:q.fontStyle},J=function(a){return function(){c.legendClick(a,!0,!1)}},H=function(a){return function(){return c.getEventArgs(a)}},U=function(a){return function(c,b,d,e,k){x.call(a,c,b,d,e,k)}},Q=function(a){return function(c,b,d){E.call(a,c,b,d)}},R=function(a){return function(){ba.call(a)}},v=function(a){return function(){w.call(a)}},X=function(a){return function(c){I.call(a,c)}},O=function(a){return function(c){N.call(a,c)}},P=function(a){return function(c){L.call(a,
c)}},V,F,D,na,$,Y,fa,ia,ta,da,Z,aa;e&&M||(e=[]);p.singletonCase=1===M;p.chartPosition=Ha(c.container);p.pieCenter=h.center;p.timerThreshold=30;for(aa=-1;++aa<M;)D=e[aa],V=D.y,na=D.displayValue,Y=D.sliced,da=D.shapeArgs,ia=D.centerAngle,Z=D.toolText,fa=($=!!D.link)||A||!D.doNotSlice,null===V||void 0===V||(F=d[aa])||(b.data[aa].plot=F=d[aa]={chart:c,index:aa,seriesData:p,value:V,angle:ia,link:D.link,shapeArgs:da,slicedX:Y&&!p.singletonCase?u(ia)*z:0,slicedY:Y&&!p.singletonCase?B(ia)*y:0,sliced:Y,labelText:na,
name:D.name,label:D.name,percentage:D.percentage,toolText:Z,originalIndex:M-aa-1,graphic:h.Pie3DManager.createSlice(da.start,da.end,D.color,D._3dAlpha,D.borderColor,D.borderWidth,aa,s?Z:"",K,D.rolloverProperties)},b.data[aa].legendClick=J(F),b.data[aa].getEventArgs=H(F),F.graphic.plotItem=F,F.graphic.data("plotItem",F),F.transX=u(ia)*z,F.transY=B(ia)*y,F.slicedTranslation="t"+F.transX+","+F.transY,V={index:b.reversePlotOrder?aa:M-1-aa,link:D.link,value:D.y,displayValue:D.displayValue,categoryLabel:D.categoryLabel,
isSliced:D.sliced,toolText:D.toolText},F.graphic.attr({transform:"t"+F.slicedX+","+F.slicedY,ishot:fa,cursor:$?"pointer":""}).click(S).drag(U(F),Q(F),R(F)).mousedown(v(F.graphic)).mouseup(X(F.graphic)).data("groupId",aa).data("eventArgs",V).mouseover(P(F)).mouseout(O(F)),void 0!==na&&(F.dataLabel=W.text(n.dataset).css(T).attr({text:na,title:D.originalText||"",fill:(f?C(D.color):q.color)||"#000000","text-bound":[q.backgroundColor,q.borderColor,q.borderThickness,q.borderPadding,q.borderRadius,q.borderDash],
visibility:"hidden",ishot:fa,cursor:$?"pointer":""}).data("eventArgs",V).hover(P(F),O(F)).click(S).mousedown(w,F.dataLabel).mouseup(I,F.dataLabel).data("plotItem",F),0<l.distance&&(ta=l.connectorWidth)&&l.enableSmartLabels&&(F.connector=W.path("M 0 0 l 0 0",n.dataset).attr({"stroke-width":ta,stroke:l.connectorColor||"#606060",visibility:"hidden",ishot:fa,cursor:$?"pointer":""}).data("eventArgs",V).click(S).hover(P(F),O(F)).mousedown(w,F.connector).mouseup(I,F.connector).data("plotItem",F))));h.Pie3DManager.refreshDrawing();
0<m?c.animate(d,m):c.placeDataLabels(!1,d)},rotate:function(a){var b=this.datasets[0],c=this.elements.plots[0].items,d=b.slicedOffset,e=b.slicedOffsetY,f=b.startAngle,l;a=isNaN(a)?-b._lastAngle:a;l=(a-f)%360;b.startAngle=g(a,b.startAngle)%360;l=-(l*L)/180;b.Pie3DManager&&b.Pie3DManager.rotate(l);wa(c,function(a){var c=a.graphic,b=a.shapeArgs,r=b.start+=l,b=b.end+=l,f=a.angle=da((r+b)/2),r=a.sliced,b=u(f),f=B(f);a.slicedTranslation=[z(b*d),z(f*e)];a.transX=a.slicedTranslation[0];a.transY=a.slicedTranslation[1];
a.slicedX=r?u(l)*d:0;a.slicedY=r?B(l)*e:0;c&&r&&a.graphic.attr({transform:"t"+a.slicedTranslation[0]+","+a.slicedTranslation[1]})});this.placeDataLabels(!0,c)},plotRollOver:function(a){var b=this.chart,c=b.datasets[0].Pie3DManager;this.seriesData.isRotating||(ua.call(this.graphic,b,a,"DataPlotRollOver"),c.colorObjs[this.index]&&c.onPlotHover(this.index,!0));b.isHovered=!0},plotRollOut:function(a){var b=this.chart,c=b.datasets[0].Pie3DManager;this.seriesData.isRotating||(ua.call(this.graphic,b,a,"DataPlotRollOut"),
c.colorObjs[this.index]&&c.onPlotHover(this.index,!1));b.isHovered=!1},plotDragStart:function(a,b,c){var d=this.seriesData,e=this.chart.datasets[0];e.enableRotation&&(a=Ua.call(c,a,b,d.pieCenter,d.chartPosition,e.pieYScale),e.dragStartAngle=a,e._lastAngle=-e.startAngle,e.startingAngleOnDragStart=e.startAngle)},plotDragEnd:function(){var a=this.chart,b=a.datasets[0],c=b.Pie3DManager,d=b.startAngle,e=this.seriesData,f={hcJSON:{series:[{startAngle:d}]}};a.disposed||Ea(a.logic.chartInstance.jsVars._reflowData,
f,!0);e.isRotating&&(setTimeout(function(){e.isRotating=!1},0),ca.raiseEvent("rotationEnd",{startingAngle:da(d,!0),changeInAngle:d-b.startingAngleOnDragStart},a.logic.chartInstance),!a.isHovered&&c.colorObjs[this.index]&&c.onPlotHover(this.index,!1))},plotDragMove:function(a,b,c,d,e){var f=this.chart;a=f.datasets[0];b=this.seriesData;f.options.series[0].enableRotation&&!b.singletonCase&&(b.isRotating||(b.isRotating=!0,ca.raiseEvent("rotationStart",{startingAngle:da(a.startAngle,!0)},f.logic.chartInstance)),
c=Ua.call(e,c,d,b.pieCenter,b.chartPosition,a.pieYScale),d=c-a.dragStartAngle,a.dragStartAngle=c,b.moveDuration=0,a._lastAngle+=180*d/L,c=(new Date).getTime(),!a._lastTime||a._lastTime+b.timerThreshold<c)&&(a._lastTime||f.rotate(),b.timerId=setTimeout(function(){f.disposed&&f.disposing||f.rotate()},b.timerThreshold),a._lastTime=c)},animate:function(a,b){var c,d,e,f=a.length,l,g,m,n=this,p,q=function(){n.disposed||n.disposing||n.placeDataLabels(!1,a)};if(n.datasets[0].alphaAnimation)n.layers.dataset.attr({opacity:0}),
n.layers.dataset.animate({opacity:1},b,"ease-in",function(){n.disposed||n.disposing||n.placeDataLabels(!1,a)});else for(c=0;c<f;c++)l=a[c],g=l.graphic,m=l.shapeArgs,l=2*L,g&&(g.attr({start:l,end:l}),p=m.start,m=m.end,d?g.animateWith(d,e,{cx:p-l,cy:m-l},b,"ease-in"):(e=ka.animation({cx:p-l,cy:m-l},b,"ease-in",q),d=g.animate(e)))},placeDataLabels:function(){var a=function(a,b){return a.point.value-b.point.value},b=function(a,b){return a.angle-b.angle},c=["start","start","end","end"],d=[-1,1,1,-1],e=
[1,1,-1,-1];return function(m,p){var h=this.datasets[0],S=this.smartLabel,G=this.options.plotOptions.series.dataLabels,I=G.style,q=g(E(parseFloat(I.lineHeight)),12),L=Ka(G.placeInside,!1),T=G.skipOverlapLabels,J=G.manageLabelOverflow,y=G.connectorPadding,v=G.connectorWidth,x,V,C=0<G.distance,w=h.center,$=w[1],Y=w[0],N=w[2],A=w[4],K=[[],[],[],[]],M,ia,ea,H=this.canvasLeft,U=this.canvasTop,Q=this.canvasWidth,R,fa,aa,O,P,da,F,D,Z,ka,ca,ha=h.labelsRadius,xa=z(100*h.labelsRadiusY)/100,La=h.labelFontSize,
Ga=La,pa=Ga/2,y=[y,y,-y,-y],sa=h.maxLabels,ja=h.isSmartLineSlanted,va=h.enableSmartLabels,ya,h=h.pieSliceDepth/2;m||S.setStyle(I);if(1==p.length)O=p[0],ya=O.dataLabel,O.slicedTranslation=[H,U],ya&&(ya.attr({visibility:l,"text-anchor":"middle",x:Y,y:$+pa-2}),ya.x=Y);else if(L)wa(p,function(a){if(ya=a.dataLabel){ca=a.angle;ka=$+w[6]*B(ca)+pa-2;F=Y+w[5]*u(ca);ya.x=F;ya._x=F;ya.y=ka;if(a.sliced){a=a.slicedTranslation;var b=a[1]-U;F+=a[0]-H;ka+=b}ya.attr({visibility:l,align:"middle",x:F,y:ka})}});else{wa(p,
function(a){if(ya=a.dataLabel)ca=a.angle,0>ca&&(ca=ta+ca),M=0<=ca&&ca<Ra?1:ca<X?2:ca<Sa?3:0,K[M].push({point:a,angle:ca})});for(ea=L=4;ea--;){if(T&&(O=K[ea].length-sa,0<O))for(K[ea].sort(a),ia=K[ea].splice(0,O),fa=0,aa=ia.length;fa<aa;fa+=1)O=ia[fa].point,O.dataLabel.attr({visibility:"hidden"}),O.connector&&O.connector.attr({visibility:"hidden"});K[ea].sort(b)}ea=s(K[0].length,K[1].length,K[2].length,K[3].length);xa=s(ba(ea,sa)*Ga,xa+Ga);K[1].reverse();K[3].reverse();for(S.setStyle(I);L--;){fa=K[L];
aa=fa.length;T||(Ga=aa>sa?xa/aa:La,pa=Ga/2);O=aa*Ga;I=xa;for(ea=0;ea<aa;ea+=1,O-=Ga)V=na(xa*B(fa[ea].angle)),I<V?V=I:V<O&&(V=O),I=(fa[ea].oriY=V)-Ga;ia=c[L];aa=xa-(aa-1)*Ga;I=0;for(ea=fa.length-1;0<=ea;ea-=1,aa+=Ga)O=fa[ea].point,ca=fa[ea].angle,P=O.sliced,ya=O.dataLabel,V=na(xa*B(ca)),V<I?V=I:V>aa&&(V=aa),I=V+Ga,D=(V+fa[ea].oriY)/2,V=Y+e[L]*ha*u(n.asin(D/xa)),D*=d[L],D+=$,Z=$+A*B(ca),da=Y+N*u(ca),(2>L&&V<da||1<L&&V>da)&&(V=da),F=V+y[L],ka=D+pa-2,x=F+y[L],ya.x=x,ya._x=x,J&&(R=1<L?x-this.canvasLeft:
this.canvasLeft+Q-x,R=S.getSmartText(O.labelText,R,q),ya.attr({text:R.text,title:R.tooltext||""})),ca<X&&(D+=h,Z+=h,ka+=h),ya.y=ka,P&&(P=O.transX,R=O.transY,F+=P,V+=P,da+=P,Z+=R,x+=P),ya.attr({visibility:l,"text-anchor":ia,x:x,y:D}),C&&v&&va&&(x=O.connector,O.connectorPath=V=[f,da,Z,W,ja?V:da,D,F,D],x?(x.attr({path:V}),x.attr("visibility",l)):O.connector=x=this.paper.path(V).attr({"stroke-width":v,stroke:G.connectorColor||"#606060",visibility:l}))}}}}()},p["renderer.piebase"]);p("renderer.pie",{drawDoughnutCenterLabel:function(a,
b,c,d,e,f,l){var g=this.options.series[0];f=f||g.lastCenterLabelConfig;var m=this.paper,n=this.smartLabel,p=this.layers.dataset,q=f.padding,h=2*f.textPadding,W={fontFamily:f.font,fontSize:f.fontSize+"px",lineHeight:1.2*f.fontSize+"px",fontWeight:f.bold?"bold":"",fontStyle:f.italic?"italic":""},s=1.414*(0.5*d-q)-h;e=1.414*(0.5*e-q)-h;var u;n.setStyle(W);n=n.getSmartText(a,s,e);(e=g.doughnutCenterLabel)?e.attr("text")!==a&&this.centerLabelChange(a):(f.bgOval&&(u=m.circle(b,c,0.5*d-q,p)),e=g.doughnutCenterLabel=
m.text(p).hover(this.centerLabelRollover,this.centerLabelRollout).click(this.centerLabelClick),e.chart=this);e.css(W).attr({x:b,y:c,text:n.text,title:n.tooltext||"",fill:C({FCcolor:{color:f.color,alpha:f.alpha}}),"text-bound":f.bgOval?[]:[C({FCcolor:{color:f.bgColor,alpha:f.bgAlpha}}),C({FCcolor:{color:f.borderColor,alpha:f.borderAlpha}}),f.borderThickness,f.textPadding,f.borderRadius]}).tooltip(f.toolText);f.bgOval&&u&&u.attr({fill:gb(f.bgColor),"fill-opacity":f.bgAlpha/100,stroke:gb(f.borderColor),
"stroke-width":f.borderThickness,"stroke-opacity":f.borderAlpha/100});l&&(g.lastCenterLabelConfig=f)},centerLabelRollover:function(){var a=this.chart,b=a.fusionCharts,c=a.options.series[0].lastCenterLabelConfig,b={height:b.args.height,width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,id:b.args.id,renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:c&&c.label};this.attr("text")&&ca.raiseEvent("centerLabelRollover",b,a.logic.chartInstance,this,
a.hoverOnCenterLabel)},centerLabelRollout:function(){var a=this.chart,b=a.fusionCharts,c=a.options.series[0].lastCenterLabelConfig,b={height:b.args.height,width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,id:b.args.id,renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:c&&c.label};this.attr("text")&&ca.raiseEvent("centerLabelRollout",b,a.logic.chartInstance,this,a.hoverOffCenterLabel)},centerLabelClick:function(){var a=this.chart,b=a.fusionCharts,
c=a.options.series[0].lastCenterLabelConfig,b={height:b.args.height,width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,id:b.args.id,renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:c&&c.label};this.attr("text")&&ca.raiseEvent("centerLabelClick",b,a.logic.chartInstance)},centerLabelChange:function(a){var b=this.fusionCharts;ca.raiseEvent("centerLabelChanged",{height:b.args.height,width:b.args.width,pixelHeight:b.ref.offsetHeight,pixelWidth:b.ref.offsetWidth,
id:b.args.id,renderer:b.args.renderer,container:b.options.containerElement,centerLabelText:a},this.logic.chartInstance)},hoverOnCenterLabel:function(){var a=this.chart.options.series[0].lastCenterLabelConfig;(a.hoverColor||a.hoverAlpha)&&this.attr({fill:C({FCcolor:{color:a.hoverColor||a.color,alpha:a.hoverAlpha||a.alpha}})})},hoverOffCenterLabel:function(){var a=this.chart.options.series[0].lastCenterLabelConfig;(a.hoverColor||a.hoverAlpha)&&this.attr({fill:C({FCcolor:{color:a.color,alpha:a.alpha}})})},
drawPlotPie:function(a,b){var c=this,d=a.items,e=a.data,f=c.options,m=f.series[0],n=f.plotOptions,p=n.pie,h=n.series,W=c.layers,q=W.dataset,s=c.elements.plots[0],n=n.series.dataLabels,z=h.dataLabels.style,S=h.shadow,h=g(a.moveDuration,h.animation.duration),y=c.paper,E=f.tooltip||{},E=E&&!1!==E.enabled,x,I=((b.startAngle*=-X/180)||0)%ta,V=p.slicedOffset,w=b.valueTotal,ba=ta/w,L=c.canvasLeft+0.5*c.canvasWidth,N=c.canvasTop+0.5*c.canvasHeight,A=0.5*p.size,p=0.5*(p.innerSize||0),K=c.plotGraphicClick,
M=c.plotDragMove,T=c.plotDragStart,J=c.plotDragEnd,H=c.plotMouseDown,U=c.plotMouseUp,Q=c.plotRollOver,R=c.plotRollOut,v=!!c.datasets[0].enableRotation,$=e.length,f=f.chart.usePerPointLabelColor,O=m.centerLabelConfig,P=O.label,fa={fontFamily:z.fontFamily,fontSize:z.fontSize,lineHeight:z.lineHeight,fontWeight:z.fontWeight,fontStyle:z.fontStyle},F,D,na,Y,aa,ia,da,ca,Z,xa,pa,ja=a.shadowGroup,ha,La,Ra,ma,Sa,sa=function(a){return function(){c.legendClick(a,!0,!1)}},va=function(a){return function(){return c.getEventArgs(a)}},
oa=function(){c.disposed||c.disposing||c.paper.ca.redrawDataLabels||(c.placeDataLabels(!1,d,a),c.paper.ca.redrawDataLabels=c.redrawDataLabels)};e&&$||(e=[]);ja||(ja=a.shadowGroup=y.group(q).toBack());s.singletonCase=1===$;s.chartPosition||(s.chartPosition=Ha(c.container));s.pieCenter=[L,N];s.timerThreshold=30;xa=Z=I;for(ha=$;ha--;)D=e[ha],na=D.y,Y=D.displayValue,ia=D.sliced,x=D.toolText,da=(aa=!!D.link)||v||!D.doNotSlice,null!==na&&void 0!==na&&(F=D.color.FCcolor,F.r=A,F.cx=L,F.cy=N,D.rolloverProperties&&
(F=D.rolloverProperties.color.FCcolor,F.r=A,F.cx=L,F.cy=N),xa=Z,Z-=s.singletonCase?ta:na*ba,ca=0.5*(Z+xa),h?ma=Sa=I:(ma=Z,Sa=xa),(F=d[ha])||(b.data[ha].plot=F=d[ha]={chart:c,index:ha,seriesData:s,value:na,angle:ca,slicedX:u(ca)*V,slicedY:B(ca)*V,sliced:ia,labelText:Y,toolText:x,label:D.name,link:D.link,percentage:w?na*w/100:0,originalIndex:$-ha-1,color:D.color,borderColor:D.borderColor,borderWidth:D.borderWidth,rolloverProperties:D.rolloverProperties,center:[L,N],innerDiameter:2*p,centerLabelConfig:D.centerLabelConfig,
graphic:y.ringpath(L,N,A,p,ma,Sa,W.dataset).attr({"stroke-width":D.borderWidth,"stroke-linejoin":"round",stroke:D.borderColor,fill:C(D.color),"stroke-dasharray":D.dashStyle,redrawDataLabels:I,ishot:da,cursor:aa?"pointer":""}).shadow(S&&D.shadow,ja).drag(M,T,J).mousedown(H).mouseup(U).hover(Q,R)},F.graphic.click(K),E&&F.graphic.tooltip(x),b.data[ha].legendClick=sa(F),b.data[ha].getEventArgs=va(F),F.graphic.data("plotItem",F),x={index:b.reversePlotOrder?ha:$-1-ha,link:D.link,value:D.y,displayValue:D.displayValue,
categoryLabel:D.categoryLabel,isSliced:D.sliced,toolText:D.toolText},F.graphic.data("eventArgs",x),void 0!==Y&&(F.dataLabel=y.text(q).css(fa).attr({x:-c.chartWidth,y:-c.chartHeight,text:Y,fill:(f?C(D.color):z.color)||"#000000","text-bound":[z.backgroundColor,z.borderColor,z.borderThickness,z.borderPadding,z.borderRadius,z.borderDash],ishot:da}).click(K).drag(M,T,J).mousedown(H).mouseup(U).hover(Q,R).data("eventArgs",x).hide(),F.dataLabel.data("plotItem",F),0<n.distance&&(pa=n.connectorWidth)&&n.enableSmartLabels&&
(F.connector=y.path("M 0 0 l 0 0",q).attr({"stroke-width":pa,stroke:n.connectorColor||"#606060",visibility:l,ishot:!0}).click(K).data("eventArgs",x).drag(M,T,J).mousedown(H).mouseup(U).hover(Q,R),F.connector.data("plotItem",F)))),F.angle=ca,F.transX=u(ca)*V,F.transY=B(ca)*V,F.slicedTranslation="t"+u(ca)*V+","+B(ca)*V,h?La?F.graphic.animateWith(La,Ra,{ringpath:[L,N,A,p,Z,xa],transform:F.sliced?F.slicedTranslation:""},h,"easeIn"):(Ra=ka.animation({ringpath:[L,N,A,p,Z,xa],redrawDataLabels:c,transform:F.sliced?
F.slicedTranslation:""},h,"easeIn",oa),La=F.graphic.animate(Ra)):F.graphic.attr({transform:F.sliced?F.slicedTranslation:""}));P&&p&&c.drawDoughnutCenterLabel(P,L,N,2*p,2*p,O,!0);m.lastCenterLabelConfig=O;h?m.doughnutCenterLabel&&m.doughnutCenterLabel.attr({"fill-opacity":0}).animate(ka.animation({"fill-opacity":100},100).delay(100<h?h-100:0)):c.placeDataLabels(!1,d,a)},rotate:function(a,b){var c=a.items,d=a.data,e=this.options.plotOptions.pie,f=e.slicedOffset,l=ta/b.valueTotal,g=this.canvasLeft+0.5*
this.canvasWidth,m=this.canvasTop+0.5*this.canvasHeight,n=0.5*e.size,e=0.5*(e.innerSize||0),p,q,h,W,s;h=(b.startAngle||0)%ta;for(s=d.length;s--;)p=d[s],q=p.y,null!==q&&void 0!==q&&(p=c[s],W=h,h-=p.seriesData.singletonCase?ta:q*l,q=0.5*(h+W),p.angle=q,p.transX=u(q)*f,p.transY=B(q)*f,p.slicedTranslation="t"+u(q)*f+","+B(q)*f,p.graphic.attr({ringpath:[g,m,n,e,h,W],transform:p.sliced?p.slicedTranslation:""}));this.placeDataLabels(!0,c,a)}},p["renderer.piebase"])},[3,2,2,"sr4"]]);
FusionCharts.register("module",["private","modules.renderer.js-zoomline",function(){var Ha=this,ha=Ha.hcLib,da=Ha.window,Pa=/msie/i.test(da.navigator.userAgent)&&!da.opera,Ua=ha.chartAPI,Qa=ha.chartAPI,ca=ha.extend2,v=ha.raiseEvent,ka=ha.pluck,J=ha.pluckNumber,Na=ha.getFirstColor,Y=ha.graphics.convertColor,bb=ha.bindSelectionEvent,h=ha.createTrendLine,Da=ha.parseUnsafeString,Ja=ha.regescape,g=ha.Raphael,Ka=ha.hasTouch,cb=ha.getMouseCoordinate,aa=ha.FC_CONFIG_STRING,oa="rgba(192,192,192,"+(Pa?0.002:
1E-6)+")",Ea=da.Math,Ia=Ea.ceil,C=Ea.floor,Za=Ea.max,db=Ea.min,Z=Ea.cos,wa=Ea.sin,za=da.parseFloat,Va=da.parseInt,ua;ca(ha.eventList,{zoomed:"FC_Zoomed",pinned:"FC_Pinned",resetzoomchart:"FC_ResetZoomChart"});Ua("zoomline",{friendlyName:"Zoomable and Panable Multi-series Line Chart",rendererId:"zoomline",standaloneInit:!0,hasVDivLine:!0,defaultSeriesType:"stepzoom",canvasborderthickness:1,defaultPlotShadow:1,chart:function(){var b=this.base.chart.apply(this,arguments),e=b[aa],l=this.dataObj.chart,
f=this.colorManager.getColor("canvasBorderColor");ca(b.chart,{animation:!1,zoomType:"x",canvasPadding:J(l.canvaspadding,0),scrollColor:Na(ka(l.scrollcolor,this.colorManager.getColor("altHGridColor"))),scrollShowButtons:!!J(l.scrollshowbuttons,1),scrollHeight:J(l.scrollheight,16)||16,scrollBarFlat:e.flatScrollBars,allowPinMode:J(l.allowpinmode,1),skipOverlapPoints:J(l.skipoverlappoints,1),showToolBarButtonTooltext:J(l.showtoolbarbuttontooltext,1),btnResetChartTooltext:ka(l.btnresetcharttooltext,"Reset Chart"),
btnZoomOutTooltext:ka(l.btnzoomouttooltext,"Zoom out one level"),btnSwitchToZoomModeTooltext:ka(l.btnswitchtozoommodetooltext,"<strong>Switch to Zoom Mode</strong><br/>Select a subset of data to zoom into it for detailed view"),btnSwitchToPinModeTooltext:ka(l.btnswitchtopinmodetooltext,"<strong>Switch to Pin Mode</strong><br/>Select a subset of data and compare with the rest of the view"),pinPaneFill:Y(ka(l.pinpanebgcolor,f),J(l.pinpanebgalpha,15)),zoomPaneFill:Y(ka(l.zoompanebgcolor,"#b9d5f1"),J(l.zoompanebgalpha,
30)),zoomPaneStroke:Y(ka(l.zoompanebordercolor,"#3399ff"),J(l.zoompaneborderalpha,80)),crossline:{enabled:J(l.showcrossline,1),line:{"stroke-width":J(l.crosslinethickness,1),stroke:Na(ka(l.crosslinecolor,"#000000")),"stroke-opacity":J(l.crosslinealpha,20)/100},labelEnabled:J(l.showcrosslinelabel,l.showcrossline,1),labelstyle:{fontSize:za(l.crosslinelabelsize)?za(l.crosslinelabelsize)+"px":e.outCanvasStyle.fontSize,fontFamily:ka(l.crosslinelabelfont,e.outCanvasStyle.fontFamily)},valueEnabled:J(l.showcrosslinevalues,
l.showcrossline,1),valuestyle:{fontSize:za(l.crosslinevaluesize)?za(l.crosslinevaluesize)+"px":e.inCanvasStyle.fontSize,fontFamily:ka(l.crosslinevaluefont,e.inCanvasStyle.fontFamily)}}});return b},preSeriesAddition:function(){var b=this.dataObj,e=b.chart,l=this.hcJSON,f=l[aa],g=this.smartLabel,m=J(e.compactdatamode,0),h=ka(e.dataseparator,"|"),n=J(e.showlabels,1),B=e.labeldisplay&&e.labeldisplay.toLowerCase(),u=n&&J(e.labelheight),V="rotate"===B?270:J(e.rotatelabels,1)?270:0,z=l.xAxis.labels.style,
ba=za(z.lineHeight),s=l.chart.labelPadding=J(e.labelpadding,0.2*ba)+l.chart.plotBorderWidth,v,L,E,I=0,C=-1,T,fa,X;0>u&&(u=void 0);0>s&&(s=(l.chart.plotBorderWidth||0)+2);v=(v=b.categories)&&v[0]||{};b=v.category;delete v.category;l.categories=B=ca({data:L=m&&b&&b.split&&b.split(h)||b||[],rotate:V,wrap:"none"!==B},v);void 0!==b&&(v.category=b);v=L.length||0;if(T=!m&&n&&0!==u&&v||0){for(;T--;)L[T]=L[T]&&(E=L[T].label||"")&&((fa=E.length)>I&&(I=fa,C=T,E)||E)||"";I&&(E=L[C])}else if(m&&v&&!u)if(V){m=
da.document.createElement("div");u=da.document.createElement("span");m.setAttribute("class","fusioncharts-zoomline-localsmartlabel");m.style.cssText="display:block;width:1px;position:absolute;";for(X in z)m.style[X]=z[X];u.innerHTML=b.replace(/\s*/g,"").replace(/\{br\}/ig,"<br />").replace(RegExp(Ja(h),"g")," ");m.appendChild(u);da.document.body.appendChild(m);u=u.offsetWidth||void 0;m.parentNode.removeChild(m)}else E=L[v-1]||L[0];void 0!==u&&0!==u||!n||(E?(g.setStyle(z),E=g.getSmartText(E),u=V?E.width:
E.height):u=ba*(V&&3||1));u>0.3*f.height&&(u=0.3*f.height);B.labelHeight=u&&u+6||0;B.show=u&&n||0;B.css=ca({},z);V?(B.css.rotation=V,B.css["text-anchor"]="end"):B.css["vertical-align"]="top";l.xAxis.min=0;l.xAxis.max=v&&v-1||0;u+=J(e.scrollheight,16)||16;l.chart.marginBottom+=s;f.marginBottomExtraSpace+=u;ka(e.caption,e.subcaption)||(f.marginTopExtraSpace+=16)},series:function(){var b=this.dataObj,e=b.chart,l=b.dataset,f=this.hcJSON,g=f[aa],m=g[0],S=f.series,n=J(e.yaxismaxvalue),B=J(e.yaxisminvalue),
u=J(e.forceyaxislimits,0),V=J(e.compactdatamode,0),z=ka(e.dataseparator,"|"),ba=Ja(e.indecimalseparator),s=Ja(e.inthousandseparator),v=J(e.drawanchors,e.showanchors,1),L=!!J(e.showlegend,1),E,I,C,T,fa,X=Infinity,Y=-Infinity,ca;fa=f.categories.data.length;if(l&&l.length&&fa){ba&&(ba=RegExp(ba,"g"));s&&(s=RegExp(s,"g"));!s&&!ba&&V&&u&&void 0!==n&&void 0!==B?(u=!0,Y=Za(n,B),X=db(B,n)):u=!1;n=0;for(B=l.length;n<B;n++){E=l[n];C=E.data;delete E.data;V?(T=C||"",s&&(T=T.replace(s,"")),ba&&(T=T.replace(ba,
".")),T=T.split(z)):T=C||[];T.length>fa&&(T.length=fa);ca=T.length;if(V){if(!u)for(;ca--;)I=za(T[ca]),isNaN(I)&&(I=void 0),I>Y&&(Y=I),I<=X&&(X=I),T[ca]=I}else for(;ca--;)I=T[ca]&&T[ca].value||"",s&&(I=I.replace(s,"")),ba&&(I=I.replace(ba,".")),I=za(I),isNaN(I)&&(I=void 0),I>Y&&(Y=I),I<=X&&(X=I),T[ca]=I;S.push(I={index:n,type:"zoomline",data:T,name:E.seriesname||"",showInLegend:E.seriesname&&J(E.includeinlegend,1)&&L||!1,showAnchors:J(E.drawanchors,E.showanchors,v),visible:!J(E.initiallyhidden,0),
lineWidth:2});T.length=fa;void 0!==C&&(E.data=C);I.attrs=this.seriesGraphicsAttrs(E);E=I.attrs.anchors;I.color=I.attrs.graphics.stroke;I.ancorRadius=E.r+E["stroke-width"]/2;I.marker={fillColor:E.fill,lineColor:E.stroke,lineWidth:1,symbol:"circle"}}-Infinity!==Y&&Infinity!==X||(Y=X=void 0);u=Va(J(e.displaystartindex,1),10)-1;z=Va(J(e.displayendindex,fa||2),10)-1;1>(l=J(e.pixelsperpoint,15))&&(l=1);(S=J(e.pixelsperlabel,e.xaxisminlabelwidth,f.categories.rotate?20:60))<l&&(S=l);(0>u||u>=(fa-1||1))&&
(u=0);(z<=u||z>(fa-1||1))&&(z=fa-1||1);f.stepZoom={cnd:J(e.connectnulldata,0),amrd:J(e.anchorminrenderdistance,20),nvl:J(e.numvisiblelabels,0),cdm:V,oppp:l,oppl:S,dsi:u,dei:z,vdl:z-u,dmax:m.max=Y,dmin:m.min=X,clen:fa,offset:0,step:1,llen:0,alen:0,ddsi:u,ddei:z,ppc:0};this.configureAxis(f,b);b.trendlines&&h(b.trendlines,f.yAxis,g,!1,this.isBar)}},seriesGraphicsAttrs:function(b){var e=this.dataObj.chart,l="0"!=(b.dashed||e.linedashed||"0"),f,h,l={"stroke-width":J(b.linethickness,e.linethickness,2),
stroke:Na(ka(b.color,e.linecolor,this.colorManager.getPlotColor())),"stroke-opacity":J(b.alpha,e.linealpha,100)/100,"stroke-dasharray":l?[J(b.linedashlen,e.linedashlen,5),J(b.linedashgap,e.linedashgap,4)]:"none","stroke-linejoin":"round","stroke-linecap":"round"};f=ca({},l);h=l["stroke-width"]+J(e.pinlinethicknessdelta,1);f["stroke-width"]=0<h&&h||0;f["stroke-dasharray"]=[3,2];return{graphics:l,pin:f,shadow:{opacity:l["stroke-opacity"],apply:J(e.showshadow,+!g.vml)},anchors:{"stroke-linejoin":"round",
"stroke-linecap":"round",r:J(b.anchorradius,e.anchorradius,l["stroke-width"]+2),stroke:Na(ka(b.anchorbordercolor,e.anchorbordercolor,l.stroke)),"stroke-opacity":J(b.anchorborderalpha,e.anchorborderalpha,100)/100,"stroke-width":J(b.anchorborderthickness,e.anchorborderthickness,l["stroke-width"]),fill:Na(ka(b.anchorbgcolor,e.anchorbgcolor,"#ffffff")),"fill-opacity":J(b.anchorbgalpha,e.anchorbgalpha,100)/100,opacity:J(b.anchoralpha,e.anchoralpha,100)/100},anchorShadow:J(e.anchorshadow,e.showshadow,+!g.vml)&&
{apply:!0,opacity:J(b.anchoralpha,e.anchoralpha,100)/100}}},eiMethods:{zoomOut:function(){var b=this.jsVars,e;if(b&&(e=b.hcObj))return e.zoomOut&&b.hcObj.zoomOut()},zoomTo:function(b,e){var l=this.jsVars,f;if(l&&(f=l.hcObj))return f.zoomRange&&l.hcObj.zoomRange(b,e)},resetChart:function(){var b=this.jsVars,e;b&&(e=b.hcObj)&&(e.pinRangePixels&&b.hcObj.pinRangePixels(),e.resetZoom&&b.hcObj.resetZoom())},setZoomMode:function(b){var e=this.jsVars,l;e&&(l=e.hcObj)&&l.activatePin&&l.activatePin(!b)},getViewStartIndex:function(){var b=
this.jsVars,e;if(b&&b.hcObj&&(e=b.hcObj._zoominfo))return e.ddsi},getViewEndIndex:function(){var b=this.jsVars,e;if(b&&b.hcObj&&(e=b.hcObj._zoominfo))return b=e.ddei-1,(b>=e.clen?e.clen:b)-1}}},Ua.msline);Qa("renderer.zoomline",{resetZoom:function(){var b=this._zoomhistory,e=this.options.stepZoom;if(!b.length)return!1;b.length=0;this.zoomTo(e.dsi,e.dei)&&v("zoomReset",this._zoomargs,this.fusionCharts,[this.fusionCharts.id]);return!0},zoomOut:function(){var b=this._zoomhistory.pop(),e=this.options.stepZoom,
l,f,g;b?(l=b.dsi,f=b.dei):this._prezoomed&&(l=0,f=e.clen-1);(g=this.zoomTo(l,f))&&Ha.raiseEvent("zoomedout",g,this.fusionCharts);return!0},zoomRangePixels:function(b,e){var l=this._zoomhistory,f=this._zoominfo,g=f.ppp,f=f.ddsi,m;l.push(this._zoominfo);(m=this.zoomTo(f+C(b/g),f+C(e/g)))?Ha.raiseEvent("zoomedin",m,this.fusionCharts):l.pop()},zoomRange:function(b,e){var l=this._zoomhistory,f;l.push(this._zoominfo);(f=this.zoomTo(+b,+e))?Ha.raiseEvent("zoomedin",f,this.fusionCharts):l.pop()},zoomTo:function(b,
e){var l=this.xlabels.data,f=this._zoominfo,g=this._zoomhistory,m=f.clen;0>b&&(b=0);b>=m-1&&(b=m-1);e<=b&&(e=b+1);e>m-1&&(e=m-1);if(b===e||b===f.dsi&&e===f.dei)return!1;this.pinRangePixels();f=ca({},f);f.dsi=b;f.dei=e;f=this._zoominfo=f;this.updatePlotZoomline();this.zoomOutButton[f.vdl===f.clen-1?"hide":"show"]();this.resetButton[g.length?"show":"hide"]();this.elements.zoomscroller.attr({"scroll-ratio":f.vdl/(m-!!m),"scroll-position":[f.dsi/(m-f.vdl-1),!0]});l={level:g.length+1,startIndex:b,startLabel:l[b],
endIndex:e,endLabel:l[e]};v("zoomed",l,this.fusionCharts,[this.fusionCharts.id,b,e,l.startLabel,l.endLabel,l.level]);return l},activatePin:function(b){var e=this._zoominfo,l=this.options.chart,f=this.pinButton;if(f&&e.pinned^(b=!!b))return b||this.pinRangePixels(),v("zoomModeChanged",{pinModeActive:b},this.fusionCharts,[]),l.showToolBarButtonTooltext&&f.tooltip(l[b&&"btnSwitchToZoomModeTooltext"||"btnSwitchToPinModeTooltext"]||""),f.attr("button-active",b),e.pinned=b},pinRangePixels:function(b,e){var l=
this.paper,f=this.elements,h=this.xlabels.data,m=this._zoominfo,S=this.layers.zoompin,n=f.pinrect,B=f["clip-pinrect"],u=this._pingrouptransform,V=this.plots,z=e-b,ba,s;if(m&&S&&n){if(b===e)return S.hide(),f.pintracker.hide(),this.pinButton.attr("button-active",!1),m.pinned=!1;for(s=V.length;s--;)n=V[s],ba=n.pinline,ba||(ba=n.pinline=l.path(void 0,S).attr(n.attrPin)),ba.attr("path",n.graphic.attrs.path);B[0]=b+(g.svg?this.canvasLeft:0);B[2]=z;S.attr({"clip-rect":B,transform:u}).show();f.pintracker.__pindragdelta=
0;f.pintracker.show().attr({transform:u,x:b,width:z});b=this.getValuePixel(b);e=this.getValuePixel(e);v("pinned",{startIndex:b,endIndex:e,startLabel:h[b],endLabel:h[e]},this.fusionCharts,[this.fusionCharts.id,b,e,h[b],h[e]]);return m.pinned=!0}},getValuePixel:function(b){var e=this._zoominfo;return e.ddsi+C(b/e.ppp)},getParsedLabel:function(b){var e=this.xlabels;return e.parsed[b]||(e.parsed[b]=Da(e.data[b]||""))},drawGraph:function(){var b=this,e=b.paper,l=b.canvasLeft,f=b.canvasTop,h=b.canvasWidth,
m=b.canvasHeight,S=b.options,n=S.chart,B=n.plotBorderWidth,u=n.useRoundEdges,V=n.showToolBarButtonTooltext,z=n.crossline,v=b.layers,s=b.toolbar,C=b.elements,L=n.allowPinMode,E,I=S.categories,J=!1,T,Y,X,aa,da,Z;Z=b._zoominfo=ca({},S.stepZoom);b._zoomhistory=[];Z.clen&&(J=b._prezoomed=Z.dei-Z.dsi<Z.clen-1,da=b._visw=b.canvasWidth-2*n.canvasPadding,aa=b._visx=b.canvasLeft+n.canvasPadding,b._visout=-(b.chartHeight+b.canvasHeight+1E3),b.base.drawGraph.apply(b,arguments),b._ypvr=b.yAxis[0]&&b.yAxis[0].pixelValueRatio||
0,E=b._yzero||0,S=v.dataset.attr("clip-rect",[b._visx,b.canvasTop,b._visw,b.canvasHeight]),X=v.scroll||(v.scroll=e.group("scroll").insertAfter(v.layerAboveDataset)),b.xlabels=[],b.xlabels.show=I.show,b.xlabels.height=I.labelHeight,b.xlabels.wrap=I.wrap,b.xlabels.rotate=I.rotate,b.xlabels.data=I.data||[],b.xlabels.parsed=[],b.xlabels.css=I.css,b.xlabels.group=e.group("zoomline-plot-xlabels",v.datalabels),v.datalabels.transform(["T",aa,f+m+n.scrollHeight+n.labelPadding]),b._lcmd=I.rotate?"y":"x",L&&
(L=g.crispBound(0,f-E,0,m,B),T=C["clip-pinrect"]=[L.x,g.svg?f:L.y,L.width,L.height],Y=v.zoompin=e.group("zoompin").insertBefore(S).transform(b._pingrouptransform=["T",aa,E]).hide(),C.pinrect=e.rect(0,f-E,b._visw,m,v.zoompin).attr({"stroke-width":0,stroke:"none",fill:n.pinPaneFill,"shape-rendering":"crisp",ishot:!0}),C.pintracker=e.rect(v.tracker).attr({transform:Y.transform(),x:0,y:f-E,width:0,height:m,stroke:"none",fill:oa,ishot:!0,cursor:g.svg&&"ew-resize"||"e-resize"}).drag(function(b){var e=aa+
b+this.__pindragdelta,f=this.__pinboundleft,l=this.__pinboundright;e<f?e=f:e>l&&(e=l);Y.transform(["T",e,E]);C.pintracker.transform(Y.transform());this.__pindragoffset=b},function(){this.__pinboundleft=0-T[0]+aa+(g.svg&&l||0);this.__pinboundright=this.__pinboundleft+da-T[2];Y._.clipispath=!0},function(){Y._.clipispath=!1;this.__pindragdelta=this.__pindragoffset;delete this.__pindragoffset;delete this.__pinboundleft;delete this.__pinboundright}),b.pinButton=s.add("pinModeIcon",function(){b.activatePin(!b._zoominfo.pinned)},
{tooltip:V&&n.btnSwitchToPinModeTooltext||""})),B++,L=g.crispBound(l-B,f+m+B,h+B+B,n.scrollHeight,B),B--,C.zoomscroller=e.scroller(L.x+(u&&-1||B%2),L.y-(u&&4||2),L.width-(!u&&2||0),L.height,!0,{showButtons:n.scrollShowButtons,scrollRatio:Z.vdl/(Z.clen-!!Z.clen),scrollPosition:[Z.dsi/(Z.clen-Z.vdl-1),!1],displayStyleFlat:n.scrollBarFlat},X).attr({fill:n.scrollColor,r:u&&2||0}).scroll(b.updatePlotZoomline,b),u&&C.zoomscroller.shadow(!0),function(){var e;g.eve.on("raphael.scroll.start."+C.zoomscroller.id,
function(f){e=f;b.crossline&&b.crossline.disable(!0);Ha.raiseEvent("scrollstart",{scrollPosition:f},b.logic.chartInstance)});g.eve.on("raphael.scroll.end."+C.zoomscroller.id,function(f){b.crossline&&b.crossline.disable(!1);Ha.raiseEvent("scrollend",{prevScrollPosition:e,scrollPosition:f},b.logic.chartInstance)})}(),bb(b,{attr:{stroke:n.zoomPaneStroke,fill:n.zoomPaneFill,strokeWidth:0},selectionStart:function(){},selectionEnd:function(e){var f=e.selectionLeft-l;e=f+e.selectionWidth;b.crossline&&b.crossline.hide();
b[b._zoominfo.pinned?"pinRangePixels":"zoomRangePixels"](f,e)}}),b.zoomOutButton=s.add("zoomOutIcon",function(){b.zoomOut()},{tooltip:V&&n.btnZoomOutTooltext||""})[J&&"show"||"hide"](),b.resetButton=s.add("resetIcon",function(){b.resetZoom()},{tooltip:V&&n.btnResetChartTooltext||""}).hide(),L=b.resetButton.attr("fill"),L[2]="rgba(255,255,255,0)",b.resetButton.attr("fill",[L[0],L[1],L[2],L[3]]),z&&0!==z.enabled&&(b.crossline=new ua(b,z)),b.updatePlotZoomline())},drawPlotZoomline:function(b,e){var l=
this.paper,f=this._yzero||(this._yzero=this.yAxis[0].getAxisPosition(0)),g=e.attrs,m=e.visible,h=m?"show":"hide",n=this.layers.dataset,B=b.group||(b.group=l.group("plot-zoomline-dataset",n)),n=b.anchorGroup||(b.anchorGroup=l.group("plot-zoomline-anchors",n)),l=b.graphic||(b.graphic=l.path(void 0,B)),f=["T",this._visx,f];B.transform(f)[h]();n.transform(f)[h]();b.graphic=l.attr(g.graphics).shadow(g.shadow);b.attrPin=g.pin;b.visible=m;b.anchors=[];b.anchors.show=e.showAnchors;b.anchors.attrs=g.anchors;
b.anchors.attrsShadow=g.anchorShadow;b.anchors.left=-(g.anchors.r+0.5*g.anchors["stroke-width"]);b.anchors.right=this._visw-b.anchors.right},updatePlotZoomline:function(b,e){var l=this.paper,f=this._ypvr,g=this._visw,m=this.xlabels,h=m.css,n=m.group,B=this.plots,u,v,z,C,s,J,L;!e&&(e=this._zoominfo);z=e.oppp;C=e.vdl=e.dei-e.dsi;s=e.ppl=e.nvl?g/e.nvl:e.oppl;g=e.step=(v=e.ppp=g/C)<z?Ia(z/v):1;s=e.lskip=Ia(Za(s,za(h.lineHeight))/v/g);void 0!==b?(z=(e.clen-C-1)*b,e.offset=(z-(z=Va(z)))*v,J=z+C):(z=e.dsi,
J=e.dei,e.offset=0);C=e.norm=z%g;e.ddsi=z-=C;e.ddei=J=J+2*g-C;e.pvr=f;f=m.show?Ia((J-z)/g/s):0;C=e.llen-1;e.llen=f;L=e.ppc=v*s*g;if(f>C)for(s=C,C=f;s<C;s++)(u=m[s])&&u.show()||(m[s]=l.text(0,0,"",n).css(h));else for(s=f,C+=1;s<C;s++)m[s].hide();f=v*g<e.amrd?0:Ia((J-z)/g);h=f-e.alen;e.alen=f;m.wrap&&(m.rotate?(m._width=m.height,m._height=L):(m._width=L,m._height=m.height));for(g=B.length;g--;){n=B[g];u=n.anchors;if(u.show&&h){v=u.attrs;s=0;for(C=f;s<C;s++)u[s]=u[s]&&u[s].show()||l.circle(v,n.anchorGroup);
s=f;for(C=u.length;s<C;s++)u[s]&&u[s].hide()}this.drawPlotZoomlineGraphics(e,n.data,n.graphic,u,!g&&m)}da.FC_DEV_ENVIRONMENT&&da.jQuery&&(FusionCharts["debugger"].enable()?(this.debug=this.debug||(da.jQuery("#fc-zoominfo").length||da.jQuery("body").append('<pre id="fc-zoominfo">'),da.jQuery("#fc-zoominfo").css({position:"absolute",left:"10px",top:"0","pointer-events":"none",opacity:0.7,width:"250px",zIndex:"999",border:"1px solid #cccccc","box-shadow":"1px 1px 3px #cccccc",background:"#ffffff"})),
this.debug.text(JSON.stringify(e,0,2))):(this.debug&&da.jQuery("#fc-zoominfo").remove(),delete this.debug))},drawPlotZoomlineGraphics:function(b,e,g,f,h){var m=this.smartLabel,v=[],n=!b.cnd,B=b.ddei,u=b.clen,C=b.step,z=b.lskip,J=b.ppp,s=b.offset,Y=b.pvr,L=this._visw,E=this._visout,I=this._lcmd,aa="M",T,Z,X=h&&h[0],ca,da;f=f[0];var ha={},ka={},ia,oa=0,ua,wa,pa=-b.norm;b=b.ddsi;var sa=0;X&&(h.group.transform(["T",-s,0]),wa=h.wrap,ca=h._height,da=h._width,wa&&m.setStyle(h.css));for(;b<=B;b+=C,pa+=C)ua=
oa/3+sa,ia=pa*J,void 0===(T=e[b])?(n&&(aa="M"),Z=E,h=ia-s,T=E,sa++):(v[oa++]=aa,v[oa++]=Z=h=ia-s,v[oa++]=T*=Y,aa="L"),f&&(f=f.attr((ha.cx=Z,ha.cy=T,ha)).next),!X||ua%z||(ua=X.attrs,Z=this.getParsedLabel(b),h=0>h||h>L?E:ia,X._prevtext===Z?delete ka.text:ka.text=X._prevtext=Z,ua[I]===h?delete ka[I]:ka[I]=h,wa&&Z&&(ka.text=m.getSmartText(Z,da,ca).text),X=X.attr(ka).next);B>=u&&(void 0!==(T=e[u-1])&&(v[oa++]="L",v[oa++]=(pa-(B-u))*J-s,v[oa++]=T*Y),f&&f.attr((ha.cx=E,ha.cy=E,ha)));g.attr("path",v)},legendClick:function(b){var e=
!b.visible,g=e?"show":"hide";b.group[g]();b.anchorGroup[g]();this.base.legendClick.apply(this,arguments);return b.visible=e},dispose:function(){var b;this.crossline&&(this.crossline.dispose(),delete this.crossline);(b=this.elements.pintracker)&&(b.undrag(),delete this.elements.pintracker);delete this.zoomOutButton;delete this.resetButton;delete this.pinButton;this.xlabels&&(this.xlabels.length=0);delete this.xlabels;this.base.dispose.apply(this)}},Qa["renderer.cartesian"]);ua=function(b,e){var g=
b.paper,f=this.left=b._visx,h=this.width=b._visw,m=this.top=b.canvasTop,v=this.height=b.canvasHeight,n=this._visout=b._visout,B=this.plots=b.plots,u=b.layers.dataset,C,z=e.labelstyle,J=e.valuestyle;C=this.group=g.group("crossline-labels",u).attr({transform:["T",f,b._yzero]});this.tracker=g.rect(f,m,h,v,u).attr({stroke:"none","stroke-width":0,fill:oa}).toFront().mousedown(this.onMouseDown,this).mouseup(this.onMouseUp,this,!0).mouseout(this.onMouseOut,this).mousemove(this.onMouseMove,this);Ka&&this.tracker.touchstart(this.onMouseMove,
this);this.container=b.container;this.line=g.path(void 0,u).attr(ca({path:["M",f,m,"l",0,v]},e.line)).toBack();f=this.labels=e.valueEnabled&&g.set();e.labelEnabled&&(this.positionLabel=g.text(n,m+v+(b.options.chart.scrollHeight||0)+2.5,"").insertAfter(b.xlabels.group.parent).css(z).attr({"vertical-align":"top","text-bound":["rgba(255,255,255,1)","rgba(0,0,0,1)",1,2.5]}));this.hide();this.pixelRatio=b._ypvr;this.positionLabels=b.xlabels||{data:[],parsed:[]};this.getZoomInfo=function(){return b._zoominfo};
this.getDataIndexFromPixel=function(e){return b.getValuePixel(e)};this.getPositionLabel=function(e){return b.getParsedLabel(e)};if(e.valueEnabled)for(m=0,v=B.length;m<v;m++)z=B[m],z=z.graphic.attrs.stroke,f.push(g.text(0,n,"",C).css(J).attr({fill:z,"text-bound":["rgba(255,255,255,0.8)","rgba(0,0,0,0.2)",1,2.5]}))};ua.prototype.disable=function(b){void 0!==b&&(this.disabled=!!b)&&this.visible&&this.hide();return this.disabled};ua.prototype.onMouseOut=function(){this.hide()};ua.prototype.onMouseDown=
function(){!Ka&&this.hide();this._mouseIsDown=!0};ua.prototype.onMouseUp=function(){!Ka&&this.hide();delete this._mouseIsDown};ua.prototype.onMouseMove=function(b){if(!(this.disabled||this._mouseIsDown&&!Ka)){var e=this.getZoomInfo(),g=this.line,f=this.left,h=e.step,m=e.ppp*h;b=cb(this.container,b).chartX-f;var v;b=(b+=m/2+e.offset)-b%m;v=(v=this.getDataIndexFromPixel(Ia(b)))+v%h;b-=e.offset;g.transform(["T",C(b),0]);this.hidden&&this.show();if(v!==this.position||this.hidden)this.position=v,this.lineX=
b,this.updateLabels()}};ua.prototype.updateLabels=function(){var b=this.labels,e=this.plots,g=this.width,f=this.position,h=this.lineX,m=C(h),v=this.pixelRatio,n=this._visout,B,u;b&&b.forEach(function(b,z){B=e[z];u=B.data[f];b.attr({text:u+"",x:m,y:void 0!==u&&B.visible?u*v:n,"text-anchor":0>=h&&"start"||h>=g&&"end"||"middle"})});this.positionLabel&&this.positionLabel.attr({x:h+this.left,text:this.getPositionLabel(f)})};ua.prototype.show=function(){this.disabled||(this.hidden=!1,this.group.attr("visibility",
"visible"),this.line.attr("visibility","visible"),this.positionLabel&&this.positionLabel.attr("visibility","visible"))};ua.prototype.hide=function(){this.hidden=!0;this.group.attr("visibility","hidden");this.line.attr("visibility","hidden");this.positionLabel&&this.positionLabel.attr("visibility","hidden")};ua.prototype.dispose=function(){for(var b in this)this.hasOwnProperty(b)&&delete this[b]};g.addSymbol({pinModeIcon:function(b,e,g){var f=0.5*g,h=b-g,m=b+g,v=b-f,n=b+f,B=b+0.5,u=B+1,C=B+1.5,z=e-
g,J=e+f,s=e-f,f=e+(g-f);return["M",h,z,"L",v,s,v,f,h,J,b-0.5,J,b,e+g+0.5,B,J,m,J,n,f,n,s,m,z,C,z,C,s,C,f,u,f,u,s,C,s,C,z,"Z"]},zoomOutIcon:function(b,e,l){b-=0.2*l;e-=0.2*l;var f=0.8*l,h=g.rad(43),m=g.rad(48),v=b+f*Z(h),h=e+f*wa(h),n=b+f*Z(m),m=e+f*wa(m),B=g.rad(45),u=v+l*Z(B),C=h+l*wa(B),z=n+l*Z(B);l=m+l*wa(B);return["M",v,h,"A",f,f,0,1,0,n,m,"Z","M",v+1,h+1,"L",u,C,z,l,n+1,m+1,"Z","M",b-2,e,"L",b+2,e,"Z"]},resetIcon:function(b,e,g){var f=b-g,h=(Ea.PI/2+Ea.PI)/2;b+=g*Z(h);var h=e+g*wa(h),m=2*g/3;
return["M",f,e,"A",g,g,0,1,1,b,h,"L",b+m,h-1,b+2,h+m-0.5,b,h]}})}]);
