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