/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>
*/
(function(u){"object"===typeof module&&"undefined"!==typeof module.exports?module.exports=u:u(FusionCharts)})(function(u){u.register("module",["private","modules.renderer.js-charts",function(){u.register("module",["private","modules.renderer.js-column2d",function(){var a=this.hcLib.chartAPI;a("column2d",{standaloneInit:!0,friendlyName:"Column Chart",creditLabel:!1,defaultDatasetType:"column",applicableDSList:{column:!0},singleseries:!0},a.sscartesian,{enablemousetracking:!0})}]);u.register("module",
["private","modules.renderer.js-column3d",function(){var a=this.hcLib.chartAPI;a("column3d",{friendlyName:"3D Column Chart",defaultDatasetType:"column3d",applicableDSList:{column3d:!0},defaultPlotShadow:1,creditLabel:!1,is3D:!0,standaloneInit:!0,hasLegend:!1,singleseries:!0,fireGroupEvent:!0,defaultZeroPlaneHighlighted:!1},a.sscartesian3d,{showplotborder:0,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-bar2d",function(){var a=this.hcLib.chartAPI;a("bar2d",{friendlyName:"Bar Chart",
isBar:!0,standaloneInit:!0,defaultDatasetType:"bar2d",creditLabel:!1,applicableDSList:{bar2d:!0},singleseries:!0,spaceManager:a.barbase},a.ssbarcartesian,{enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-bar3d",function(){var a=this.hcLib.chartAPI;a("bar3d",{friendlyName:"3D Bar Chart",defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,standaloneInit:!0,creditLabel:!1,is3D:!0,isBar:!0,singleseries:!0,defaultZeroPlaneHighlighted:!1},
a.ssbarcartesian3d,{showplotborder:0,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-area2d",function(){var a=this.hcLib.chartAPI;a("area2d",{friendlyName:"Area Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"area",singleseries:!0,defaultPlotShadow:0},a.sscartesian,{enablemousetracking:!0},a.areabase)}]);u.register("module",["private","modules.renderer.js-line",function(){var a=this.hcLib.chartAPI;a("line",{friendlyName:"Line Chart",standaloneInit:!0,creditLabel:!1,
defaultPlotShadow:1,singleseries:!0,axisPaddingLeft:0,axisPaddingRight:0,defaultDatasetType:"line"},a.sscartesian,{zeroplanethickness:1,enablemousetracking:!0,zeroplanealpha:40,showzeroplaneontop:0},a.areabase)}]);u.register("module",["private","modules.renderer.js-pareto2d",function(){var a=this.hcLib,e=a.chartAPI,B=a.pluck,l=a.pluckNumber,z=a.componentDispose;e("pareto2d",{defaultDatasetType:"column2d",singleseries:!0,creditLabel:!1,_createDatasets:function(){var a=this.components,e=this.jsonData,
y=this.is3D,v=a.numberFormatter,w=e.data||e.dataset&&e.dataset[0]&&e.dataset[0].data,q=w&&w.length,A=e.chart,h=this.defaultDatasetType,e=new (u.get("component",["dataset","Pareto"])),n=l(A.showcumulativeline,1),k=[],m,f;if(w){for(A=0;A<q;A++)m=w[A],f=v.getCleanValue(m.value),null!==f&&"true"!==m.vline&&!0!==m.vline&&1!==m.vline&&"1"!==m.vline&&k.push(m);this.config.categories=k;v=a.dataset||(a.dataset=[]);(w=B(h))&&w.toLowerCase();w=u.register("component",["datasetGroup","column"]);w=a[void 0]=new w;
w.chart=this;w.init();if(q=y?u.get("component",["dataset","Column3d"]):u.get("component",["dataset","Column"]))(y=v[0])?(h=k.length,w=y.components.data.length,h<w&&y.removeData(h,w-h),y.JSONData={data:k},e.configure.call(y)):(y=new q,v.push(y),y.chart=this,y.index=A,w&&w.addDataSet(y,0,0),e.init(y,k,h));a=a.yAxis[1];if(n)a&&a.setAxisConfig({drawLabels:!0,drawPlotLines:!0,drawAxisName:!0,drawAxisLine:!0,drawPlotBands:!0,drawTrendLines:!0,drawTrendLabels:!0}),a.show(),q=u.get("component",["dataset",
"line"]),(y=v[1])?(h=k.length,w=y.components.data.length,h<w&&y.removeData(h,w-h),y.JSONData={data:k},e.configure.call(y)):(y=new q,v.push(y),y.chart=this,y.index=A,e.init(y,k,"line"));else{if(y=v[1])z.call(y),v.pop();a&&(a.setAxisConfig({drawLabels:!1,drawPlotLines:!1,drawAxisName:!1,drawAxisLine:!1,drawPlotBands:!1,drawTrendLines:!1,drawTrendLabels:!1}),a.hide())}}else this.setChartMessage()},_setCategories:function(){var a=this.components,e=this.jsonData,y=e.dataset,v=a.numberFormatter,a=a.xAxis,
e=e.data||y&&y[0].data||[],y=[],w,q=e.length,A,h={},n=0,k;for(A=0;A<q;A++){w=e[A];k=v.getCleanValue(w.value,!0);if("true"===w.vline||"1"===w.vline||1===w.vline||!0===w.vline)h[n]=w;else if(null===k)continue;else w.value=k,y.push(w);n++}y.sort(function(h,a){return a.value-h.value});for(A in h)y.splice(A,0,h[A]);a[0].setCategory(y)},standaloneInit:!0,hasLegend:!1,isPercentage:!0},e.msdybasecartesian,{enablemousetracking:!0,plotfillalpha:a.preDefStr.NINETYSTRING})}]);u.register("module",["private","modules.renderer.js-pareto3d",
function(){var a=this.hcLib,e=a.chartAPI;e("pareto3d",{standaloneInit:!0,is3D:!0,friendlyName:"3D Pareto Chart",creditLabel:!1,fireGroupEvent:!0,defaultPlotShadow:1,singleseries:!0,hasLegend:!1,defaultDatasetType:"column3d",_createDatasets:e.pareto2d,_setCategories:e.pareto2d,isPercentage:!0},e.msdybasecartesian3d,{plotfillalpha:a.preDefStr.NINETYSTRING,use3dlineshift:1,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-pie2d",function(){var a=this,e=a.hcLib,B=e.hasTouch,
l=a.window,z=l.document,R=e.BLANKSTRING,D=e.pluck,y=e.pluckNumber,v=e.toRaphaelColor,w="createTouch"in z,q=w&&!(l.navigator.maxTouchPoints||l.navigator.msMaxTouchPoints),A=e.each,h=e.plotEventHandler,n=e.schedular,k=e.priorityList,m=8===l.document.documentMode?"visible":"",f=Math,x=f.sin,G=f.cos,W=f.round,u=f.atan2,na=f.min,X=f.max,ia=f.abs,fa=f.PI,oa=f.ceil,qa=f.floor,ja=fa/180,ka=180/fa,ma=Math.PI,S=ma/2,wa=2*ma,ta=ma+S,O=e.graphics.convertColor,da=e.POSITION_BOTTOM,ra=e.POSITION_RIGHT,fa=e.chartAPI,
ua=e.COMMASTRING,sa=e.ZEROSTRING,va=e.ONESTRING,za=function(c,d,b,p,r){return u((d-b[1]-p.top)/r,c-b[0]-p.left)};fa("pie2d",{friendlyName:"Pie Chart",standaloneInit:!0,defaultSeriesType:"pie",defaultPlotShadow:1,reverseLegend:1,alignCaptionWithCanvas:0,sliceOnLegendClick:!0,isSingleSeries:!0,dontShowLegendByDefault:!0,defaultDatasetType:"Pie2D",applicableDSList:{Pie2D:!0},defaultZeroPlaneHighlighted:!1,creditLabel:!1,_plotDragMove:function(c,d){var b=d[0],p=d[1],r=d[2],g=d[3],t=this.data("plotItem"),
Z=t.chart,t=t.seriesData,la=Z.components.dataset[0].config;isNaN(b)||isNaN(p)||!la.enableRotation||t.singletonCase||t.isRightClicked||(b=za.call(c,r,g,t.pieCenter,t.chartPosition,1),t.isRotating||(t.dragStartAngle!==b&&(t.isRotating=!0),a.raiseEvent("RotationStart",{startingAngle:t._rotationalStartAngle=Z._startingAngle()},Z.chartInstance)),la.startAngle+=b-t.dragStartAngle,t.dragStartAngle=b,t.moveDuration=0,la.updateInited||(la.updateInited=!0,setTimeout(Z._batchRotate||(Z._batchRotate=function(){Z._rotate();
la.updateInited=!1}),50)))},_plotDragStart:function(c,d){var b=d[0],p=d[1],r=this.data("plotItem"),g=r.chart,r=r.seriesData,t=g.components.dataset[0].config,Z=-t.startAngle;r.isRightClicked=B||0===c.button||1===c.button?!1:!0;if(t.enableRotation&&!r.isRightClicked){r.isRotating=!1;t=g.linkedItems.container;g={left:0,top:0};if(t.getBoundingClientRect)t=t.getBoundingClientRect(),g.top=t.top+(l.pageYOffset||z.scrollTop||0)-(z.clientTop||0),g.left=t.left+(l.pageXOffset||z.scrollLeft||0)-(z.clientLeft||
0);else for(;t;)g.left+=t.offsetLeft||0,g.top+=t.offsetTop||0,t!==z.body&&t!==z.documentElement&&(g.left-=t.scrollLeft||0,g.top-=t.scrollTop||0),t=t.offsetParent;r.chartPosition=g;b=za.call(c,b,p,r.pieCenter,r.chartPosition,1);r.dragStartAngle=b;r.startingAngleOnDragStart=Z}},_plotDragEnd:function(c){var d,b=this.data("plotItem"),p=b.chart,r=p.config,g=r.linkedChartOpened,t=b.seriesData;t.isRightClicked||(r.clicked=!0,p.disposed||g||p._rotate(),!t.isRotating&&p._plotGraphicClick.call(b.graphic,c),
delete r.clicked,t.isRotating&&(setTimeout(function(){t.isRotating=!1},0),a.raiseEvent("RotationEnd",{startingAngle:d=p._startingAngle(),changeInAngle:d-t._rotationalStartAngle},p.chartInstance)))},_plotRollOver:function(c){var d=this.plotItem||this.data("plotItem"),b=d.chart,p=b.components.dataset[0].config,r,g;p.isRotating||(h.call(this,b,c,"DataPlotRollOver"),b.onPlotHover(this,!0));p.isHovered=!0;(c=d.innerDiameter)&&(r=d.centerLabelConfig)&&(g=r.label)&&b.drawDoughnutCenterLabel(g,d.center[0],
d.center[1],c,c,r,!1)},onPlotHover:function(c,d){var b=c.data("plotItem"),p=b.center,r=b.rolloverProperties||{},g=d?r.color:b.color,t=d?r.borderWidth:b.borderWidth,Z=d?r.borderColor:b.borderColor;g&&(d&&(g.cx=p[0],g.cy=p[1],g.r=b.radius),r.enabled&&b.graphic.attr({fill:v(g),"stroke-width":t,stroke:Z}))},_plotRollOut:function(c){var d=this.plotItem||this.data("plotItem"),b=d.chart,p=b.components.dataset[0].config,r,g;p.isRotating||(h.call(this,b,c,"DataPlotRollOut"),b.onPlotHover(this,!1));p.isHovered=
!1;(c=d.innerDiameter)&&(r=p.centerLabelConfig)&&((g=r.label)||!g)&&b.drawDoughnutCenterLabel(g,d.center[0],d.center[1],c,c,r,!1)},_rotate:function(){var c,d,b=this.components.dataset[0],p=b.config,r=b.components.data,g=this.config,t=p.slicingDistance,b=b.config,Z=wa/b.valueTotal,la=g.canvasLeft+.5*g.canvasWidth,g=g.canvasTop+.5*g.canvasHeight,h=p.pieMinRadius,F=.5*(p.piePlotOptions.innerSize||0),V,I,a,q,m;V=(p.startAngle||0)%wa;for(m=0;m<r.length;m+=1)a=r[m].config,q=r[m].graphics,c=a.y,null!==c&&
void 0!==c&&(I=V,V-=b.singletonCase?wa:c*Z,c=.5*(V+I),a.angle=c,a.transX=G(c)*t,a.transY=x(c)*t,a.slicedTranslation="t"+G(c)*t+ua+x(c)*t,(d=a._rotateAttrs)||(d=a._rotateAttrs={ringpath:[],transform:R}),c=d.ringpath,c[0]=la,c[1]=g,c[2]=h,c[3]=F,c[4]=V,c[5]=I,d.transform=a.sliced?a.slicedTranslation:R,q.element.attr(d));this.placeDataLabels(!0,r,p)},getPlotData:function(c,d){var b=this.components.dataset[0],p=b.components.data[c].config,b=b.config.userData||(b.config.userData=[]),r,g;if(b[c])b=b[c];
else{b=b[c]={};for(g in p)"object"!==typeof(r=p[g])&&"function"!==typeof r&&0!==g.indexOf("_")&&(b[g]=r);b.value=b.y;b.categoryLabel=b.label=b.seriesName;delete b.y;delete b.total;delete b.doNotSlice;delete b.name;delete b.seriesName;delete b.centerAngle;delete b.showInLegend;delete b.angle;delete b.endAngle;delete b.isVisible;delete b.setColor;delete b.slicedTranslation;delete b.startAngle;delete b.transX;delete b.transY;delete b.pValue}b.sliced=d;return b},_plotGraphicClick:function(c){var d,b=
this.element||this,p=b.plotItem||b.data("plotItem"),r=b.data("eventArgs")||{},g=p.chart,t=p.index,Z=g.components.dataset[0],la=g.config,Da=Z.config,F=Da.enableMultiSlicing,V=Z.components.data[t],I=Z.config.labelDrawID,Aa=V.graphics,V=V.config,Ba=V.doNotSlice,m;d=V.slicedTranslation;var A=g.get("config","animationObj"),Z=A.duration||200,k=A.dummyObj,Ca=A.animObj,A=A.animType,x=b.data("eventArgs").link,x=x&&x.split(/\s*[\-\:]\s*/)[0].toLowerCase();!Da.isRotating&&c&&h.call(b,g,c);if(!(Da.isRotating||
Da.singletonCase||Ba))if("newchart"===x||"newmap"===x)la.linkedChartOpened=!0,I&&n.removeJob(I);else if(la.linkedChartOpened=!1,c=!F&&g.sliceInOtherPies(t),!(m=V.sliced)||!c){if(w&&!q){c=(new Date).getTime();if(p.lastSliceTimeStamp&&400>c-p.lastSliceTimeStamp)return;p.lastSliceTimeStamp=c}la=Aa.element;p=Aa.connector;Da=Aa.label||Aa.dataLabel;d="object"===typeof d?"t"+d:d;F=V.connectorPath;Aa=(m?-1:1)*V.transX;c=(m?-1:1)*V.transY;b=la.data("eventArgs")||la.data("eventArgs",{});a.raiseEvent("slicingStart",
{slicedState:m,dataIndex:"index"in r&&r.index,data:g.getPlotData(t,m)},g.chartInstance);la.animateWith(k,Ca,{transform:m?"t0,0":d},Z,A,function(){a.raiseEvent("slicingEnd",{slicedState:m,dataIndex:"index"in r&&r.index,data:g.getPlotData(t,m)},g.chartInstance)});Da&&Da.x&&((d=Da.data("textPos"))||(d=Da.data("textPos",{x:Da.x,y:Da.y})),Da.animateWith(k,Ca,{x:Da.x+(m?0:Aa)},Z,A),d.x=Da.x+(m?0:Aa));F&&(d=F.slice(0),d[1]+=Aa,d[2]+=c,d[4]+=Aa,d[6]+=Aa,p.animateWith(k,Ca,{path:d},Z,A),V.connectorPath=d);
return b.isSliced=m=V.sliced=!m}},sliceInOtherPies:function(c){var d=this.components.dataset[0],b=d.components.data,p=b.length,r=0,g;for(d.enableMultiSlicing=!0;p--;)p!==c&&(g=b[p]).config.sliced&&++r&&this._plotGraphicClick.call(g.graphics);d.enableMultiSlicing=!1;return!!r},placeDataLabels:function(){var c=function(b,d){return b.point.value-d.point.value},d=function(b,d){return b.angle-d.angle},b=["start","start","end","end"],p=[-1,1,1,-1],r=[1,1,-1,-1];return function(g,t,Z,la){var h=this.config,
F=this.components,V=F.dataset[0],I=F.legend.config,a=I.symbolWidth,q=I.align,I=I.borderWidth,k=V.graphics,n=V.config,w=h.canvasLeft,Ca=h.canvasTop,V=h.canvasWidth,e=w+.5*h.canvasWidth,Fa=Ca+.5*h.canvasHeight,xa=this.linkedItems.smartLabel,v=n.dataLabelOptions,W=v.style,z=y(oa(parseFloat(W.lineHeight)),12),l=1===t.length?h.singletonPlaceValue:!1,L=v.skipOverlapLabels,C=v.manageLabelOverflow,H=v.connectorPadding,E;E=la&&la.metrics||[e,Fa,2*n.pieMinRadius,n.innerSize||0];var R=E[1],ca=E[0];la=.5*E[2];
var n=[[],[],[],[]],e=Z.labelsRadius=la+v.distance,P=Fa=parseInt(W.fontSize,10),M=P/2,H=[H,H,-H,-H];Z=Z.labelsMaxInQuadrant=qa(e/P);var v=v.isSmartLineSlanted,N=E[3]/2,U,Q,B,D,u,J,O,ga,ba,K,T,ea,fa,da,ka;E=Number.POSITIVE_INFINITY;var ha,pa;Q=[];B=[];Q=this.get("config","animationObj");var ja=g?0:Q.duration||0,ra=Q.dummyObj,sa=Q.animObj,va=Q.animType,Ta=this._plotDragMove,Ga=this._plotDragStart,ya=this._plotDragEnd,Y=this._plotRollOver,Ia=this._plotRollOut,ua=F.paper,Ja=k.dataLabelContainer,aa,Ha;
xa.useEllipsesOnOverflow(h.useEllipsesWhenOverflow);g||xa.setStyle(W);if(1==t.length&&!N&&l)Q=t[0],(aa=Q.config._textAttrs).text&&(pa=Q.graphics,ha=Q.config,T=pa.label,Q.slicedTranslation=[w,Ca],aa["text-anchor"]="middle",aa.x=0,aa.y=0,aa.transform=["t",ca,R],T?T.animateWith(ra,sa,aa,ja,va):T=pa.label=ua.text(aa,Ha,Ja).drag(Ta,Ga,ya).hover(Y,Ia),T.x=ca,T.data("textPos",{x:ca,y:R}).data("plotItem",aa.plotItem).data("eventArgs",aa.eventArgs),null!==ha.y&&void 0!==ha.y&&T.show(),pa.connector&&pa.connector.attr({path:[]}));
else if(l)ka=N+(la-N)/2,A(t,function(b){ha=b.config;(aa=ha._textAttrs).text&&(pa=b.graphics,T=pa.label,null!==ha.y&&void 0!==ha.y&&((K=pa.connector)&&K.show(),T&&T.show()),aa.transform="t0,0",ba=ha.angle,ga=R+ka*x(ba),D=ca+ka*G(ba),aa._x=D,aa._y=ga,b.sliced&&(da=b.slicedTranslation,ea=da[0]-w,fa=da[1]-Ca,D+=ea,ga+=fa),aa["text-anchor"]="middle",aa.x=0,aa.y=0,aa.transform=["t",D,ga],T?T.animateWith(ra,sa,aa,ja,va):T=pa.label=ua.text(aa,Ha,Ja).drag(Ta,Ga,ya).hover(Y,Ia),T.x=aa._x,T.x=aa._x,T.y=aa._y,
T.data("plotItem",aa.plotItem).data("eventArgs",aa.eventArgs),aa.visibility===m&&T.show())});else{for(g=t.length-1;0<=g;g--)if(Q=t[g],ha=Q.config,aa=ha._textAttrs,aa.text=ha.displayValue)pa=Q.graphics,null!==ha.y&&void 0!==ha.y&&(T=pa.label,(K=pa.connector)&&K.show(),T&&T.show()),aa.text=ha.displayValue,aa.transform="t0,0",ba=ha.angle%wa,0>ba&&(ba=wa+ba),F=0<=ba&&ba<S?1:ba<ma?2:ba<ta?3:0,n[F].push({point:Q,angle:ba});for(g=t=4;g--;){if(L&&(F=n[g].length-Z,0<F))for(n[g].sort(c),k=n[g].splice(0,F),
F=0,l=k.length;F<l;F+=1)Q=k[F].point,aa=Q.config._textAttrs,pa=Q.graphics,pa.label&&pa.label.attr("visibility","hidden"),pa.connector&&pa.connector.attr({visibility:"hidden"});n[g].sort(d)}g=X(n[0].length,n[1].length,n[2].length,n[3].length);F=X(na(g,Z)*P,e+P);B=n[0].concat(n[1]);Q=n[2].concat(n[3]);for(g=B.length-1;0<=g;g--)k=B[g].point.config,delete k.clearance,delete k.clearanceShift,N=ia(F*x(k.angle)),Math.abs(E-N)<2*z&&(k.clearance=0,B[g+1].point.clearanceShift=z/2),E=N;E=Number.POSITIVE_INFINITY;
g=0;for(l=Q.length;g<l;g++)k=Q[g].point.config,delete k.clearance,delete k.clearanceShift,N=ia(F*x(k.angle)),Math.abs(E-N)<2*z&&(k.clearance=0,Q[g-1].point.clearanceShift=z/2),E=N;n[1].reverse();for(n[3].reverse();t--;){k=n[t];l=k.length;L||(P=l>Z?F/l:Fa,M=P/2);z=l*P;E=F;for(g=0;g<l;g+=1,z-=P)N=ia(F*x(k[g].angle)),E<N?N=E:N<z&&(N=z),E=(k[g].oriY=N)-P;W=b[t];l=F-(l-1)*P;E=0;for(g=k.length-1;0<=g;--g,l+=P)if(Q=k[g].point,ba=k[g].angle,ha=Q.config,aa=ha._textAttrs,aa.text&&(Ha=ha._textCss,pa=Q.graphics,
Q=ha.sliced,T=pa.label,N=ia(F*x(ba)),N<E?N=E:N>l&&(N=l),E=N+P,z=void 0===ha.clearance?2*oa(y(parseFloat(ha.style.border),12),12):2*oa(y(parseFloat(ha.style.border),ha.clearance)),J=(N+k[g].oriY)/2,N=ca+r[t]*e*G(f.asin(J/F)),J*=p[t],J+=R,O=R+la*x(ba),B=ca+la*G(ba),(2>t&&N<B||1<t&&N>B)&&(N=B),D=N+H[t],ga=J-M-2,u=D+H[t],aa._x=u,C&&(U=1<t?u-h.canvasLeft:h.canvasLeft+V-u,xa.setStyle(ha.style),z=y(oa(parseFloat(ha.style.lineHeight)),12)+z,"right"===q&&0<ha.transX&&(U-=a+2*I),z=xa.getSmartText(ha.displayValue,
U,z),void 0===ha.clearance&&z.height>P&&(J+=P),"right"!==q&&0<ha.transY&&(J-=P),aa.text=z.text,aa.tooltip=z.tooltext),aa._y=ga,Q&&(ea=ha.transX,fa=ha.transY,D+=ea,N+=ea,B+=ea,O+=fa,u+=ea),aa["text-anchor"]=W,aa.vAlign="middle",aa.x=u,aa.y=J,(z=T&&T.data("textPos"))?T.attr({x:z.x,y:z.y}).animateWith(ra,sa,aa,ja):T=pa.label=ua.text(aa,Ha,Ja).drag(Ta,Ga,ya).hover(Y,Ia),T.x=aa._x,T._x=aa._x,T.y=aa._y,aa.tooltip&&(T.tooltip(aa.tooltip),delete aa.tooltip),aa.visibility===m&&T.show(),T.data("textPos",{x:u,
y:J}).data("plotItem",aa.plotItem).data("eventArgs",aa.eventArgs),K=pa.connector))ha.connectorPath=z=["M",B,O,"L",v?N:B,J,D,J],(Q=K.data("connectorPath"))?h.clicked||K.attr({path:Q.path}).animateWith(ra,sa,{path:z},ja):K.attr({path:z}),K.data("connectorPath",{path:z})}}}}(),_spaceManager:function(){var c=this.config,d=this.components,b=d.dataset[0],p=b.components.data,r=b.config,g=d.legend,t=d.colorManager,Z=this.linkedItems.smartLabel,la=r.dataLabelCounter,h=0,F=this.jsonData.chart,d=y(F.managelabeloverflow,
0),V=y(F.slicingdistance),I=r.preSliced||c.allPlotSliceEnabled!==sa||F.showlegend===va&&F.interactivelegend!==sa?ia(y(V,20)):0,a=y(F.pieradius,0),q=(V=y(F.enablesmartlabels,F.enablesmartlabel,1))?y(F.skipoverlaplabels,F.skipoverlaplabel,1):0,m=y(F.issmartlineslanted,1),k=la?y(F.labeldistance,F.nametbdistance,5):I,n=y(F.smartlabelclearance,5),A=c.width,x=c.height,f=(this._manageActionBarSpace(.225*x)||{}).bottom,A=A-(c.marginRight+c.marginLeft),x=x-(c.marginTop+c.marginBottom)-(f?f+c.marginBottom:
0),f=na(x,A),w=D(F.smartlinecolor,t.getColor("plotFillColor")),e=y(F.smartlinealpha,100),z=y(F.smartlinethickness,.7),b=r.dataLabelOptions=b._parseDataLabelOptions(),t=b.style,t=la?y(parseInt(t.lineHeight,10),12):0,v=0===a?.15*f:a,l=2*v,L={bottom:0,right:0},C=r.pieYScale,f=r.pieSliceDepth;b.connectorWidth=z;b.connectorPadding=y(F.connectorpadding,5);b.connectorColor=O(w,e);la&&(V&&(k=n),k+=I);n=l+2*(t+k);n=this._manageChartMenuBar(n<x?x-n:x/2);x-=(n.top||0)+(n.bottom||0);r.showLegend&&(this.hasLegend=
!0,D(F.legendposition,da).toLowerCase()!==ra?(L=g._manageLegendPosition(x/2),x-=L.bottom):(L=g._manageLegendPosition(x/2),A-=L.right));this._allocateSpace(L);Z.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);if(1!==la)for(;la--;)Z.setStyle(p[la].config.style||c.dataLabelStyle),g=Z.getOriSize(p[la].config.displayValue),h=X(h,g.width);0===a?v=this._stubRadius(A,h,x,k,I,t,v):(r.slicingDistance=I,r.pieMinRadius=v,b.distance=k);c=x-2*(v*C+t);r.managedPieSliceDepth=f>c?f-c:r.pieSliceDepth;b.isSmartLineSlanted=
m;b.enableSmartLabels=V;b.skipOverlapLabels=q;b.manageLabelOverflow=d},_stubRadius:function(c,d,b,p,r,g,t){var Z=this.components.dataset[0],la=Z.config,h=y(this.jsonData.chart.slicingdistance),Z=la.dataLabelOptions||(la.dataLabelOptions=Z._parseDataLabelOptions()),F=0,F=na(c/2-d-r,b/2-g)-p;F>=t?t=F:h||(r=p=X(na(p-(t-F),r),10));la.slicingDistance=r;la.pieMinRadius=t;Z.distance=p;return t},getDataSet:function(c){return this.components.dataset[c]},_startingAngle:function(c,d){var b,p=this.components.dataset[0].config,
r=(b=p.startAngle)*-ka+(0>-1*b?360:0);isNaN(c)||(p.singletonCase||p.isRotating?r=p.startAngle:(c+=d?r:0,p.startAngle=-c*ja,this._rotate(c),r=c));return W(100*((r%=360)+(0>r?360:0)))/100},eiMethods:{isPlotItemSliced:function(c){var d,b,p,r=this.apiInstance;return r&&r.components.dataset&&(p=r.components.dataset[0])&&(d=p.components.data)&&d.length&&d[c]&&(b=d[c].config)&&b.sliced},addData:function(){var c,d=this.apiInstance;return d&&d.components.dataset&&(c=d.components.dataset[0])&&c.addData.apply(c,
arguments)},removeData:function(){var c,d=this.apiInstance;return d&&d.components.dataset&&(c=d.components.dataset[0])&&c.removeData.apply(c,arguments)},updateData:function(){var c,d=this.apiInstance;return d&&d.components.dataset&&(c=d.components.dataset[0])&&c.updateData.apply(c,arguments)},slicePlotItem:function(c,d,b){var p,r,g,t,Z,h=!!d,a=this.apiInstance,F=a.chartInstance.args.asyncRender,V=a.getJobList();if(b||F)V.eiMethods.push(n.addJob(function(){Z=a&&a.components.dataset&&(p=a.components.dataset[0])&&
(r=p.components.data)&&(t=r.length)&&r[c=p.config.reversePlotOrder?t-c-1:c]&&(g=r[c].config)&&((h!==g.sliced||void 0===d)&&a._plotGraphicClick.call(r[c].graphics.element)||g.sliced);"function"===typeof b&&b(Z)},k.postRender));else return a&&a.components.dataset&&(p=a.components.dataset[0])&&(r=p.components.data)&&(t=r.length)&&r[c=p.config.reversePlotOrder?t-c-1:c]&&(g=r[c].config)&&((h!==g.sliced||void 0===d)&&a._plotGraphicClick.call(r[c].graphics.element)||g.sliced)},centerLabel:function(c,d){var b=
this.apiInstance,p=b.getJobList(),r=function(){var p=b.components.dataset[0],r=p.config,Z=r.piePlotOptions.innerSize,h=r.pieCenter,a=h[0],h=h[1],r=r.centerLabelConfig,F;if("object"!==typeof d)d=r;else for(F in r)void 0===d[F]&&(d[F]=r[F]);d.label=c;p.centerLabelConfig=d;Z&&b.drawDoughnutCenterLabel(c||"",a,h,Z,Z,d,!0)};b.chartInstance.args.asyncRender?p.eiMethods.push(n.addJob(r,k.postRender)):r()},startingAngle:function(c,d,b){var p=this.apiInstance,r=p.chartInstance.args.asyncRender,g=p.getJobList(),
t;if(b||r)g.eiMethods.push(n.addJob(function(){t=p._startingAngle(c,d);"function"===typeof b&&b(t)},k.postRender));else return p._startingAngle(c,d)}}},fa.guageBase,{plotborderthickness:1,alphaanimation:0,singletonPlaceValue:!0,usedataplotcolorforlabels:0,enableslicing:va})}]);u.register("module",["private","modules.renderer.js-pie3d",function(){function a(c){this.config={};this.linkedItems={chart:c}}var e=this,B=e.hcLib,l=B.Raphael,z=B.hasTouch,R=e.window,D=B.getPosition,y=B.pluck,v=B.pluckNumber,
w=B.each,q=B.plotEventHandler,A=8===R.document.documentMode?"visible":"",h=Math,n=h.sin,k=h.cos,m=h.round,f=h.atan2,x=h.min,G=h.max,W=h.abs,J=h.PI,u=h.ceil,X=h.floor,ia=Math.PI,fa=ia/2,oa=2*ia,qa=ia+fa,ja=B.chartAPI,ka=function(c,d,b,p,r){return f((d-b[1]-p.top)/r,c-b[0]-p.left)},ma=B.graphics.getDarkColor,S=B.graphics.getLightColor,wa=B.getFirstValue,ta=B.graphics.convertColor,O=B.COMMASTRING,da=B.toRaphaelColor,ra=B.hasSVG,ua=function(c,d){for(var b=[],p=0,r=c.length;p<r;p++)b[p]=d.call(c[p],c[p],
p,c);return b},sa=function(c,d){var b=d?360:oa;c=(c||0)%b;return 0>c?b+c:c},va={},za={};ja("pie3d",{defaultDatasetType:"Pie3D",applicableDSList:{Pie3D:!0},is3D:!0,friendlyName:"3D Pie Chart",fireGroupEvent:!0,creditLabel:!1,getPointColor:function(c){return c},_configureManager:function(){var c=this.components.dataset[0],d=c.config,b=c.components,c=b.Pie3DManager,b=b.data;c&&c.configure(d.pieSliceDepth,1===b.length,d.use3DLighting,!1)},defaultPlotShadow:0,_preDrawCalculate:function(){var c,d,b=this.config,
p=0,r=this.components.dataset[0],g=r.config;c=r.components;d=g.dataLabelOptions;var t=g.pie3DOptions=r._parsePie3DOptions(),Z=y(g.startAngle,0)%oa,la=g.managedPieSliceDepth,q=g.slicedOffset=t.slicedOffset,F=b.canvasWidth,V=b.canvasHeight,I=[b.canvasLeft+.5*F,b.canvasTop+.5*V-.5*la],A,Ba,b=c.data,f,e=x(F,V),z,Ca=d.distance;A=g.pieYScale;var l=g.slicedOffsetY||(g.slicedOffsetY=q*g.pieYScale);f=c.Pie3DManager;I.push(2*g.pieMinRadius,t.innerSize||0);I=ua(I,function(b,d){return(z=/%$/.test(b))?[F,V-la,
e,e][d]*parseInt(b,10)/100:b});I[2]/=2;I[3]/=2;I.push(I[2]*A);I.push((I[2]+I[3])/2);I.push(I[5]*A);r.getX=function(b,d){Ba=h.asin((b-I[1])/(I[2]+Ca));return I[0]+(d?-1:1)*k(Ba)*(I[2]+Ca)};g.center=I;w(b,function(b){p+=b.config.y});g.labelsRadius=I[2]+Ca;g.labelsRadiusY=g.labelsRadius*A;g.quadrantHeight=(V-la)/2;g.quadrantWidth=F/2;r=m(1E3*Z)/1E3;t=r+oa;Z=v(parseInt(d.style.fontSize,10),10)+4;g.maxLabels=X(g.quadrantHeight/Z);g.labelFontSize=Z;g.connectorPadding=v(d.connectorPadding,5);g.isSmartLineSlanted=
y(d.isSmartLineSlanted,!0);g.connectorWidth=v(d.connectorWidth,1);g.enableSmartLabels=d.enableSmartLabels;f||(f=c.Pie3DManager=new a(this),this.get("graphics","datasetGroup").trackTooltip(!0));this._configureManager();for(c=b.length-1;0<=c;--c)d=b[c],d=d.config,Z=r,f=p?d.y/p:0,r=m(1E3*(r+f*oa))/1E3,r>t&&(r=t),A=r,d.shapeArgs={start:m(1E3*Z)/1E3,end:m(1E3*A)/1E3},d.centerAngle=Ba=(A+Z)/2%oa,d.slicedTranslation=[m(k(Ba)*q),m(n(Ba)*l)],Z=k(Ba)*I[2],g.radiusY=A=n(Ba)*I[4],d.tooltipPos=[I[0]+.7*Z,I[1]+
A],d.percentage=100*f,d.total=p},placeDataLabels:function(){var c=function(b,d){return b.point.value-d.point.value},d=function(b,d){return b.angle-d.angle},b=["start","start","end","end"],p=[-1,1,1,-1],r=[1,1,-1,-1];return function(g){var t,Z,a=this.config,q=this.components,F=q.dataset[0],V=F.config,I=F.components.data,Aa=V.piePlotOptions,Ba=a.canvasLeft,f=a.canvasTop,e=a.canvasWidth,z=Ba+.5*a.canvasWidth,Ca=f+.5*a.canvasHeight,l=this.linkedItems.smartLabel,Fa=V.dataLabelOptions,xa=Fa.style;t=v(u(parseFloat(xa.lineHeight)),
12);t=wa(Fa.placeInside,!1);var y=Fa.skipOverlapLabels,R=Fa.manageLabelOverflow,B=Fa.connectorPadding,D=Fa.distance,L=Fa.connectorWidth,C=[[],[],[],[]],H=parseInt(xa.fontSize,10),E=H,J=E/2,B=[B,B,-B,-B],ca=Fa.isSmartLineSlanted,P,M,N,U,Q,O,X,Sa,da,S,ga,ba,K,T,ea,D=0<D,ka=V.center||(V.center=[z,Ca,Aa.size,Aa.innerSize||0]),ma=ka[1],ja=ka[0],Aa=ka[2],z=ka[4],Ca=V.labelsRadius,ha=m(100*V.labelsRadiusY)/100,pa=V.maxLabels,ra=V.enableSmartLabels,sa=V.pieSliceDepth/2;M=this.get("config","animationObj");
var ta=g?0:M.duration,ua=M.dummyObj,va=M.animObj,Ga=M.animType,ya,Y,Ia=this._plotDragMove,za=this._plotDragStart,Ja=this._plotDragEnd,aa=this._plotRollOver,Ha=this._plotRollOut,Na=q.paper,Ua=F.graphics.dataLabelContainer;l.useEllipsesOnOverflow(a.useEllipsesWhenOverflow);if(V.dataLabelCounter)if(g||l.setStyle(xa),1==I.length)M=I[0],T=M.graphics,K=M.config,Y=K._textAttrs,ya=K._textCss,ga=T.label,ea=T.connector,K.slicedTranslation=[Ba,f],null!==K.y&&void 0!==K.y&&(Y.visibility=A,Y["text-anchor"]="middle",
Y.x=ja,Y.y=ma+J-2,Y._x=ja),ga?ga.animateWith(ua,va,Y,ta,Ga):ga=T.label=Na.text(Y,ya,Ua).drag(Ia,za,Ja).hover(aa,Ha),Y._x&&(ga.x=Y._x,delete Y.x),ga.data("plotItem",Y.plotItem).data("eventArgs",Y.eventArgs),Y.visibility===A&&ga.show(),ea&&ea.hide();else if(t)w(I,function(b){T=b.graphics;K=b.config;Y=K._textAttrs;ga=T.label;if(null!==K.y&&void 0!==K.y){S=K.angle;da=ma+ka[6]*n(S)+J-2;Q=ja+ka[5]*k(S);Y._x=Q;Y._y=da;if(K.sliced){b=b.slicedTranslation;var d=b[1]-f;Q+=b[0]-Ba;da+=d}Y.visibility=A;Y.align=
"middle";Y.x=Q;Y.y=da}ga?ga.animateWith(ua,va,Y,ta,Ga):ga=T.label=Na.text(Y,ya,Ua).drag(Ia,za,Ja).hover(aa,Ha);ga.data("plotItem",Y.plotItem).data("eventArgs",Y.eventArgs);Y.visibility===A&&ga.show();ga.x=Y._x;ga._x=Y._x;ga._y=Y._y});else{w(I,function(b){T=b.graphics;K=b.config;ya=K._textCss;Y=K._textAttrs;if(Y.text=K.displayValue)T=b.graphics,null!==K.y&&void 0!==K.y&&(ga=T.label,(ea=T.connector)&&ea.show(),ga&&ga.show()),ga=T.label,S=K.angle,0>S&&(S=oa+S),ba=0<=S&&S<fa?1:S<ia?2:S<qa?3:0,C[ba].push({point:b,
angle:S})});for(q=a=4;q--;){if(y&&(F=C[q].length-pa,0<F))for(C[q].sort(c),V=C[q].splice(0,F),F=0,t=V.length;F<t;F+=1)M=V[F].point,T=M.graphics,T.label&&T.label.attr("visibility","hidden"),T.connector&&T.connector.attr({visibility:"hidden"});C[q].sort(d)}q=G(C[0].length,C[1].length,C[2].length,C[3].length);ha=G(x(q,pa)*E,ha+E);C[1].reverse();C[3].reverse();for(l.setStyle(xa);a--;){F=C[a];t=F.length;y||(E=t>pa?ha/t:H,J=E/2);V=t*E;xa=ha;for(q=0;q<t;q+=1,V-=E)M=W(ha*n(F[q].angle)),xa<M?M=xa:M<V&&(M=V),
xa=(F[q].oriY=M)-E;V=b[a];I=ha-(t-1)*E;xa=0;for(q=F.length-1;0<=q;--q,I+=E)M=F[q].point,T=M.graphics,K=M.config,Y=K._textAttrs,ya=K._textCss,null!==K.y&&Y.text&&(S=F[q].angle,N=K.sliced,ga=T.label,M=W(ha*n(S)),M<xa?M=xa:M>I&&(M=I),xa=M+E,X=(M+F[q].oriY)/2,M=ja+r[a]*Ca*k(h.asin(X/ha)),X*=p[a],X+=ma,Sa=ma+z*n(S),U=ja+Aa*k(S),(2>a&&M<U||1<a&&M>U)&&(M=U),Q=M+B[a],da=X+J-2,O=Q+B[a],Y._x=O,R&&(P=1<a?O-Ba:Ba+e-O,l.setStyle(K.style),t=v(u(parseFloat(K.style.lineHeight)),12)+(2*u(parseFloat(K.style.border),
12)||0),t=l.getSmartText(K.displayValue,P,t),Y.text=t.text,Y.tooltip=t.tooltext),S<ia&&(X+=sa,Sa+=sa,da+=sa),Y._y=da,N&&(t=K.transX,N=K.transY,Q+=t,M+=t,U+=t,Sa+=N,O+=t),Y.visibility=A,Y["text-anchor"]=V,(t=ga&&ga.data("textPos"))&&ga.attr({x:t.x,y:t.y}),Y.x=O,Y.y=X,!g&&t?ga.animateWith(ua,va,Y,ta,Ga):ga?Y&&ga.attr(Y):ga=T.label=Na.text(Y,ya,Ua).drag(Ia,za,Ja).hover(aa,Ha),ga.data("textPos",{x:O,y:X}).data("plotItem",Y.plotItem).data("eventArgs",Y.eventArgs),ga.x=Y._x,ga._x=Y._x,ga.y=Y._y,Y.tooltip&&
(ga.tooltip(Y.tooltip),delete Y.tooltip),D&&L&&ra&&(ea=T.connector,K.connectorPath||(Z=!0),K.connectorPath=t=["M",U,Sa,"L",ca?M:U,X,Q,X],t={path:t,"stroke-width":L,stroke:Fa.connectorColor||"#606060",visibility:A},ea&&(g||Z?ea.attr(t):ea.animateWith(ua,va,t,ta,Ga))))}}}}(),animate:function(){var c,d,b,p,r=this,g=r.components.dataset[0],t=g.components.data;c=r.graphics.datasetGroup;var a=t.length;d=g.config.alphaAnimation;b=function(){r.disposed||r.disposing||r.placeDataLabels(!1)};var h=r.get("config",
"animationObj"),g=h.duration||0,q=h.dummyObj,F=h.animObj,h=h.animType;if(d)c.attr({opacity:0}),c.animateWith(q,F,{opacity:1},g,h,b);else for(c=0;c<a;c++)if(d=t[c],b=d.graphics,d=d.config,p=d.shapeArgs,d=2*J,b=b.element)b.attr({start:d,end:d}),b=p.start,p=p.end,(void 0).animateWith(q,F,{cx:b-d,cy:p-d},g,h)},_rotate:function(c){var d=this.components.dataset[0],b=d.config,d=d.components,p=d.data,r=b.slicedOffset,g=b.slicedOffsetY,t=b.startAngle,h;c=isNaN(c)?-b._lastAngle:c;h=(c-t)%360;b.startAngle=v(c,
b.startAngle)%360;h=-(h*J)/180;d.Pie3DManager&&d.Pie3DManager.rotate(h);w(p,function(b){var d=[],p=b.config;b=b.graphics.element;var d=p.shapeArgs,c=d.start+=h,d=d.end+=h,t=p.angle=sa((c+d)/2),c=p.sliced,d=k(t),t=n(t),d=p.slicedTranslation=[m(d*r),m(t*g)];p.transX=d[0];p.transY=d[1];p.slicedX=c?k(h)*r:0;p.slicedY=c?n(h)*g:0;b&&c&&b.attr({transform:"t"+d[0]+","+d[1]})});this.placeDataLabels(!0,p)},_plotRollOver:function(c){var d=this.data("plotItem"),b=d.chart,p=b.config,r=b.components.dataset[0],
g=r.components.data[d.index],d=g.graphics.element,g=g.config.hoverEffects;r.config.isRotating||(q.call(d,b,c,"DataPlotRollOver"),g.enabled&&d.attr(g));p.isHovered=!0},_plotRollOut:function(c){var d=this.data("plotItem"),b=d.chart,p=b.config,r=b.components.dataset[0],g=r.components.data[d.index],d=g.config,g=g.graphics.element;r.config.isRotating||(q.call(g,b,c,"DataPlotRollOut"),g.attr({color:d.color.color.split(",")[0],alpha:d._3dAlpha,borderWidth:d.borderWidth,borderColor:d.borderColor}));p.isHovered=
!1},_plotDragStart:function(c,d){var b=this.data("plotItem"),p=d[0],r=d[1],g=b.chart,b=g.components.dataset[0].config;b.isRightClicked=z||0===c.button||1===c.button?!1:!0;b.enableRotation&&!b.isRightClicked&&(b.isRotating=!1,p=ka.call(c,p,r,b.center,b.chartPosition=D(g.linkedItems.container),b.pieYScale),b.dragStartAngle=p,b._lastAngle=-b.startAngle,b.startingAngleOnDragStart=b.startAngle)},_plotDragEnd:function(c){var d=this.data("plotItem"),b=d.index,d=d.chart,p=d.config,r=d.components.dataset[0],
g=r.config,r=r.components.Pie3DManager,t=g.startAngle;g.isRightClicked||(g.isRotating?(setTimeout(function(){g.isRotating=!1},0),e.raiseEvent("rotationEnd",{startingAngle:sa(t,!0),changeInAngle:t-g.startingAngleOnDragStart},d.chartInstance),!p.isHovered&&r.colorObjs[b]&&r.onPlotHover(b,!1)):d._plotGraphicClick.call(this,c))},_plotDragMove:function(c,d){var b=this.data("plotItem"),p=d[1],r=d[2],g=d[3],t=b.chart,b=t.components.dataset[0].config;isNaN(d[0])||isNaN(p)||!b.enableRotation||b.singletonCase||
b.isRightClicked||(p=ka.call(c,r,g,b.center,b.chartPosition,b.pieYScale),b.isRotating||(b.dragStartAngle!==p&&(b.isRotating=!0),e.raiseEvent("rotationStart",{startingAngle:sa(b.startAngle,!0)},t.chartInstance)),r=p-b.dragStartAngle,b.dragStartAngle=p,b.moveDuration=0,b._lastAngle+=180*r/J,p=(new Date).getTime(),b._lastTime&&!(b._lastTime+b.timerThreshold<p))||(b._lastTime||t._rotate(),b.timerId=setTimeout(function(){t.disposed&&t.disposing||t._rotate()},b.timerThreshold),b._lastTime=p)},_stubRadius:function(c,
d,b,p,r,g,t){var h=this.components.dataset[0],a=h.config,q=v(h.config.slicingdistance),h=a.dataLabelOptions||(a.dataLabelOptions=h._parseDataLabelOptions()),F=0,F=a.pieYScale;b-=a.pieSliceDepth;F=x(c/2-d-r,(b/2-g)/F)-p;F>=t?t=F:q||(r=p=G(x(p-(t-F),r),10));a.slicingDistance=r;a.pieMinRadius=t;h.distance=p;return t},_startingAngle:function(c,d){var b,p=this.components.dataset[0].config,r=(b=p.startAngle)+(0>b?360:0);isNaN(c)||p.singletonCase||p.isRotating||(c+=d?r:0,this._rotate(c),r=c);return m(100*
((r%=360)+(0>r?360:0)))/100}},ja.pie2d,{plotborderthickness:.1,alphaanimation:1});l._availableAnimAttrs&&l._availableAnimAttrs.cx&&(l._availableAnimAttrs.innerR=l._availableAnimAttrs.depth=l._availableAnimAttrs.radiusYFactor=l._availableAnimAttrs.start=l._availableAnimAttrs.end=l._availableAnimAttrs.cx);a.prototype={configure:function(c,d,b,p){var r=this.linkedItems.chart,g=r.get("components","paper"),r=r.get("graphics","datasetGroup");"object"===typeof c&&(c=c.depth,d=c.hasOnePoint,b=c.use3DLighting,
p=c.isDoughnut);this.renderer||(this.renderer=g);this.hasOnePoint=d;this.use3DLighting=b;this.isDoughnut=p;this.depth=c;!this.bottomBorderGroup&&(this.bottomBorderGroup=g.group("bottom-border",r));this.bottomBorderGroup.attr({transform:"t0,"+c});!this.slicingWallsBackGroup&&(this.slicingWallsBackGroup=g.group("slicingWalls-back-Side",r));!this.slicingWallsFrontGroup&&(this.slicingWallsFrontGroup=g.group("slicingWalls-front-Side",r));!this.topGroup&&(this.topGroup=g.group("top-Side",r));!this.pointElemStore&&
(this.pointElemStore=[]);!this.slicingWallsArr&&(this.slicingWallsArr=[]);this.moveCmdArr=["M"];this.lineCmdArr=["L"];this.closeCmdArr=["Z"];this.colorObjs=[]},getArcPath:function(c,d,b,p,r,g,t,h,a,q){return b==r&&p==g?[]:["A",t,h,0,q,a,r,g]},_parseSliceColor:function(c,d,b){var p,r,g,t,h,a,q,F,V,I,A,m,k,n,x;x=3;var f=(p=this.use3DLighting)?va:za,e=b.radiusYFactor,w=b.cx,z=b.cy,l=b.r,v=l*e,y=b.innerR||0,W=w+l,L=w-l,C=w+y,H=w-y;d=d||100;b=d/2;f[c]&&f[c][d]?f=f[c][d]:(f[c]||(f[c]={}),f[c][d]||(f[c][d]=
{}),f=f[c][d],p?(p=ma(c,80),r=ma(c,75),a=S(c,85),q=S(c,70),F=S(c,40),V=S(c,50),S(c,30),I=S(c,65),ma(c,85),g=ma(c,69),t=ma(c,75),h=ma(c,95)):(x=10,p=ma(c,90),r=ma(c,87),a=S(c,93),q=S(c,87),F=S(c,80),I=V=S(c,85),S(c,80),h=ma(c,85),g=ma(c,75),t=ma(c,80)),A=r+O+a+O+q+O+a+O+r,k=d+O+d+O+d+O+d+O+d,m=r+O+c+O+a+O+c+O+r,n=b+O+b+O+b+O+b+O+b,F=r+O+c+O+F+O+c+O+r,g=t+O+a+O+V+O+a+O+g,t="FFFFFF"+O+"FFFFFF"+O+"FFFFFF"+O+"FFFFFF"+O+"FFFFFF",x=0+O+b/x+O+d/x+O+b/x+O+0,f.top=ra?{FCcolor:{gradientUnits:"userSpaceOnUse",
radialGradient:!0,color:I+O+h,alpha:d+O+d,ratio:"0,100"}}:{FCcolor:{gradientUnits:"objectBoundingBox",color:q+O+q+O+a+O+r,alpha:d+O+d+O+d+O+d,angle:-72,ratio:"0,8,15,77"}},f.frontOuter={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:g,alpha:k,angle:0,ratio:"0,20,15,15,50"}},f.backOuter={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:F,alpha:n,angle:0,ratio:"0,62,8,8,22"}},f.frontInner={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:m,alpha:n,angle:0,ratio:"0,25,5,5,65"}},
f.backInner={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:A,alpha:k,angle:0,ratio:"0,62,8,8,22"}},f.topBorder={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:t,alpha:x,angle:0,ratio:"0,20,15,15,50"}},f.topInnerBorder={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:t,alpha:x,angle:0,ratio:"0,50,15,15,20"}},f.bottom=da(ta(c,b)),f.startSlice=da(ta(p,d)),f.endSlice=da(ta(p,d)));if(f.cx!==w||f.cy!==z||f.rx!==l||f.radiusYFactor!==e||f.innerRx!==y)ra&&(f.top.FCcolor.cx=w,f.top.FCcolor.cy=
z,f.top.FCcolor.r=l,f.top.FCcolor.fx=w-.3*l,f.top.FCcolor.fy=z+1.2*v),f.topBorder.FCcolor.x1=f.backOuter.FCcolor.x1=f.frontOuter.FCcolor.x1=L,f.topBorder.FCcolor.x2=f.backOuter.FCcolor.x2=f.frontOuter.FCcolor.x2=W,f.topInnerBorder.FCcolor.x1=f.backInner.FCcolor.x1=f.frontInner.FCcolor.x1=H,f.topInnerBorder.FCcolor.x2=f.backInner.FCcolor.x2=f.frontInner.FCcolor.x2=C,f.cx=w,f.cy=z,f.rx=l,f.radiusYFactor=e,f.innerRx=y;return f},rotate:function(c){var d=this.pointElemStore,b=0,p=d.length,r;if(!this.hasOnePoint){for(;b<
p;b+=1)r=d[b],r=r._confObject,r.start+=c,r.end+=c,this._setSliceShape(r);this.refreshDrawing()}},removeSlice:function(c){var d=this.pointElemStore,b=c._confObject.elements,p=this.slicingWallsArr,r;r=d.length;var g;for(--r;0<=r;--r)g=d[r],g===c&&d.splice(r,1);r=p.length;for(--r;0<=r;--r)d=p[r],d!==b.startSlice&&d!==b.frontOuter1&&d!==b.frontOuter&&d!==b.backInner&&d!==b.endSlice||p.splice(r,1);c.hide&&c.hide();this._slicePool||(this._slicePool=[]);this._slicePool.push(c);this.refreshDrawing()},useSliceFromPool:function(){var c=
this._slicePool||(this._slicePool=[]),d=this.slicingWallsArr,b=!1;c.length&&(b=c.shift(),this.pointElemStore.push(b),b.show(),c=b._confObject.elements,d.push(c.startSlice,c.frontOuter1,c.frontOuter),c.backInner&&d.push(c.backInner),d.push(c.endSlice));return b},refreshDrawing:function(){var c=function(d,b){return d._conf.index-b._conf.index||d._conf.cIndex-b._conf.cIndex||d._conf.isStart-b._conf.isStart||d._conf.si-b._conf.si};return function(){var d=this.slicingWallsArr,b=0,p,r=d.length,g,t,h,a,
q=this.slicingWallsFrontGroup,F=this.slicingWallsBackGroup;d.sort(c);a:{var V=d[0]&&d[0]._conf.index,I,f;a=V<=ia;g=1;for(p=d.length;g<p;g+=1)if(f=d[g]._conf.index,I=f<=ia,I!=a||f<V)break a;g=0}for(;b<r;b+=1,g+=1)g===r&&(g=0),p=d[g],a=p._conf.index,a<fa?q.appendChild(p):a<=ia?(t?p.insertBefore(t):q.appendChild(p),t=p):a<=qa?(h?p.insertBefore(h):F.appendChild(p),h=p):F.appendChild(p)}}(),_setSliceShape:function(c,d){var b=this.getArcPath,p=c.start,r=c.end,g=sa(p),t=sa(r),h,a,q,F,V,I,f,A,m,x,w,e,z,l,
v,y,W,R=this.isDoughnut,G=c.radiusYFactor,L=c.cx,C=c.cy,H=c.r,E=H*G,B=H+(ra?-1:2),ca=E+(ra?-1:2),P=c.innerR||0,M=P*G,N=this.depth,U=N+C,Q=L+H,D=L-H,J=L+P,u=L-P,O=C-E,na=["M",u,O,"L",u,U+E,"Z"],G=c.elements,X,ba,K,T,ea,S="path",da=(g+t)/2,ka=g>t;a=k(g);q=n(g);F=k(t);V=n(t);I=L+H*a;f=C+E*q;A=L+B*a;m=C+ca*q;X=f+N;ba=L+H*F;K=C+E*V;x=L+B*F;w=C+ca*V;T=K+N;R?(e=L+P*a,z=C+M*q,y=z+N,l=L+P*F,v=C+M*V,W=v+N,c.startSlice=["M",I,f,"L",I,X,e,y,e,z,"Z"],c.endSlice=["M",ba,K,"L",ba,T,l,W,l,v,"Z"]):(c.startSlice=["M",
I,f,"L",I,X,L,U,L,C,"Z"],c.endSlice=["M",ba,K,"L",ba,T,L,U,L,C,"Z"]);ra?(h=(g>t?oa:0)+t-g,c.clipTopPath=R?[["M",I,f,"A",H,E,0,h>ia?1:0,1,ba,K,"L",l,v,"A",P,M,0,h>ia?1:0,0,e,z,"Z"]]:[["M",I,f,"A",H,E,0,h>ia?1:0,1,ba,K,"L",L,C,"Z"]],c.clipOuterFrontPath1=[na],c.clipTopBorderPath=[["M",A,m,"A",B,ca,0,h>ia?1:0,1,x,w,"L",ba,K,ba,K+1,"A",H,E,0,h>ia?1:0,0,I,f+1,"L",I,f,"Z"]],p!=r?g>t?g<ia?(c.clipOuterFrontPath=[["M",Q,C,"A",H,E,0,0,1,ba,K,"v",N,"A",H,E,0,0,0,Q,C+N,"Z"]],c.clipOuterFrontPath1=[["M",D,C,"A",
H,E,0,0,0,I,f,"v",N,"A",H,E,0,0,1,D,C+N,"Z"]],c.clipOuterBackPath=[["M",Q,C,"A",H,E,0,1,0,D,C,"v",N,"A",H,E,0,1,1,Q,C+N,"Z"]],R&&(c.clipInnerBackPath=[["M",J,C,"A",P,M,0,1,0,u,C,"v",N,"A",P,M,0,1,1,J,C+N,"Z"]],c.clipInnerFrontPath=[["M",J,C,"A",P,M,0,0,1,l,v,"v",N,"A",P,M,0,0,0,J,C+N,"Z","M",u,C,"A",P,M,0,0,0,e,z,"v",N,"A",P,M,0,0,1,u,C+N,"Z"]])):t>ia?(c.clipOuterFrontPath=[["M",Q,C,"A",H,E,0,1,1,D,C,"v",N,"A",H,E,0,1,0,Q,C+N,"Z"]],c.clipOuterBackPath=[["M",D,C,"A",H,E,0,0,1,ba,K,"v",N,"A",H,E,0,
0,0,D,C+N,"Z","M",Q,C,"A",H,E,0,0,0,I,f,"v",N,"A",H,E,0,0,1,Q,C+N,"Z"]],R&&(c.clipInnerFrontPath=[["M",J,C,"A",P,M,0,1,1,u,C,"v",N,"A",P,M,0,1,0,J,C+N,"Z"]],c.clipInnerBackPath=[["M",u,C,"A",P,M,0,0,1,l,v,"v",N,"A",P,M,0,0,0,u,C+N,"Z","M",J,C,"A",P,M,0,0,0,e,z,"v",N,"A",P,M,0,0,1,J,C+N,"Z"]])):(c.clipOuterFrontPath=[["M",Q,C,"A",H,E,0,0,1,ba,K,"v",N,"A",H,E,0,0,0,Q,C+N,"Z"]],c.clipOuterBackPath=[["M",I,f,"A",H,E,0,0,1,Q,C,"v",N,"A",H,E,0,0,0,I,X,"Z"]],R&&(c.clipInnerFrontPath=[["M",J,C,"A",P,M,0,
0,1,l,v,"v",N,"A",P,M,0,0,0,J,C+N,"Z"]],c.clipInnerBackPath=[["M",e,z,"A",P,M,0,0,1,J,C,"v",N,"A",P,M,0,0,0,e,y,"Z"]])):g<ia?t>ia?(c.clipOuterFrontPath=[["M",I,f,"A",H,E,0,0,1,D,C,"v",N,"A",H,E,0,0,0,I,X,"Z"]],c.clipOuterBackPath=[["M",D,C,"A",H,E,0,0,1,ba,K,"v",N,"A",H,E,0,0,0,D,C+N,"Z"]],R&&(c.clipInnerFrontPath=[["M",e,z,"A",P,M,0,0,1,u,C,"v",N,"A",P,M,0,0,0,e,y,"Z"]],c.clipInnerBackPath=[["M",u,C,"A",P,M,0,0,1,l,v,"v",N,"A",P,M,0,0,0,u,C+N,"Z"]])):(c.clipOuterFrontPath=[["M",I,f,"A",H,E,0,0,1,
ba,K,"v",N,"A",H,E,0,0,0,I,X,"Z"]],c.clipOuterBackPath=[na],R&&(c.clipInnerFrontPath=[["M",e,z,"A",P,M,0,0,1,l,v,"v",N,"A",P,M,0,0,0,e,y,"Z"]],c.clipInnerBackPath=[na])):(c.clipOuterFrontPath=[na],c.clipOuterBackPath=[["M",I,f,"A",H,E,0,0,1,ba,K,"v",N,"A",H,E,0,0,0,I,X,"Z"]],R&&(c.clipInnerFrontPath=[na],c.clipInnerBackPath=[["M",e,z,"A",P,M,0,0,1,l,v,"v",N,"A",P,M,0,0,0,e,y,"Z"]])):c.clipOuterFrontPath=c.clipOuterBackPath=c.clipInnerBackPath=c.clipInnerFrontPath=[na],S="litepath",c.clipBottomBorderPath=
c.clipTopPath,c.startSlice=[c.startSlice],c.endSlice=[c.endSlice]):(B=this.moveCmdArr,ca=this.lineCmdArr,a=this.closeCmdArr,N=[L,C],q=[D,C],O=[L,O],F=[Q,C],V=[L,C+E],na=[D,U],ea=[Q,U],A=[u,C],m=[J,C],x=[u,U],w=[J,U],c.clipOuterFrontPath1=[],p!=r?(g>t?g<ia?(p=b(L,C,I,f,D,C,H,E,1,0),r=b(L,C,D,C,Q,C,H,E,1,0),K=b(L,C,Q,C,ba,K,H,E,1,0),c.clipOuterBackPath=B.concat(q,r,ca,ea,b(L,U,Q,U,D,U,H,E,0,0),a),c.clipOuterFrontPath1=B.concat([I,f],p,ca,na,b(L,U,D,U,I,X,H,E,0,0),a),c.clipOuterFrontPath=B.concat(F,
K,ca,[ba,T],b(L,U,ba,T,Q,U,H,E,0,0),a),c.clipTopBorderPath=B.concat([I,f],p,r,K),R?(H=b(L,C,l,v,J,C,P,M,0,0),E=b(L,C,J,C,u,C,P,M,0,0),z=b(L,C,u,C,e,z,P,M,0,0),c.clipInnerBackPath=B.concat(m,E,ca,x,b(L,U,u,U,J,U,P,M,1,0),a),c.clipInnerFrontPath=B.concat(A,z,ca,[e,y],b(L,U,e,y,u,U,P,M,1,0),a,B,[l,v],H,ca,w,b(L,U,J,U,l,W,P,M,1,0),a),c.clipTopPath=c.clipTopBorderPath.concat(ca,[l,v],H,E,z,a),c.clipTopBorderPath=c.clipTopBorderPath.concat(B,[l,v],H,E,z)):c.clipTopPath=c.clipTopBorderPath.concat(ca,N,a)):
t>ia?(p=b(L,C,I,f,Q,C,H,E,1,0),r=b(L,C,Q,C,D,C,H,E,1,0),K=b(L,C,D,C,ba,K,H,E,1,0),c.clipOuterFrontPath=B.concat(F,r,ca,na,b(L,U,D,U,Q,U,H,E,0,0),a),c.clipOuterBackPath=B.concat([I,f],p,ca,ea,b(L,U,Q,U,I,X,H,E,0,0),a,B,q,K,ca,[ba,T],b(L,U,ba,T,D,U,H,E,0,0),a),c.clipTopBorderPath=B.concat([I,f],p,r,K),R?(H=b(L,C,l,v,u,C,P,M,0,0),E=b(L,C,u,C,J,C,P,M,0,0),z=b(L,C,J,C,e,z,P,M,0,0),c.clipInnerFrontPath=B.concat(A,E,ca,w,b(L,U,J,U,u,U,P,M,1,0),a),c.clipInnerBackPath=B.concat(m,z,ca,[e,y],b(L,U,e,y,J,U,P,
M,1,0),a,B,[l,v],H,ca,x,b(L,U,u,U,l,W,P,M,1,0),a),c.clipTopPath=c.clipTopBorderPath.concat(ca,[l,v],H,E,z,a),c.clipTopBorderPath=c.clipTopBorderPath.concat(B,[l,v],H,E,z)):c.clipTopPath=c.clipTopBorderPath.concat(ca,N,a)):(p=b(L,C,I,f,Q,C,H,E,1,0),r=b(L,C,Q,C,ba,K,H,E,1,0),c.clipOuterFrontPath=B.concat(F,r,ca,[ba,T],b(L,U,ba,T,Q,U,H,E,0,0),a),c.clipOuterBackPath=B.concat([I,f],p,ca,ea,b(L,U,Q,U,I,X,H,E,0,0),a),c.clipTopBorderPath=B.concat([I,f],p,r),R?(H=b(L,C,l,v,J,C,P,M,0,0),E=b(L,C,J,C,e,z,P,M,
0,0),c.clipInnerFrontPath=B.concat([l,v],H,ca,w,b(L,U,J,U,l,W,P,M,1,0),a),c.clipInnerBackPath=B.concat(m,E,ca,[e,y],b(L,U,e,y,J,U,P,M,1,0),a),c.clipTopPath=c.clipTopBorderPath.concat(ca,[l,v],H,E,a),c.clipTopBorderPath=c.clipTopBorderPath.concat(B,[l,v],H,E)):c.clipTopPath=c.clipTopBorderPath.concat(ca,N,a)):g<ia?t>ia?(p=b(L,C,I,f,D,C,H,E,1,0),r=b(L,C,D,C,ba,K,H,E,1,0),c.clipOuterBackPath=B.concat(q,r,ca,[ba,T],b(L,U,ba,T,D,U,H,E,0,0),a),c.clipOuterFrontPath=B.concat([I,f],p,ca,na,b(L,U,D,U,I,X,H,
E,0,0),a),c.clipTopBorderPath=B.concat([I,f],p,r),R?(H=b(L,C,l,v,u,C,P,M,0,0),E=b(L,C,u,C,e,z,P,M,0,0),c.clipInnerBackPath=B.concat([l,v],H,ca,x,b(L,U,u,U,l,W,P,M,1,0),a),c.clipInnerFrontPath=B.concat(A,E,ca,[e,y],b(L,U,e,y,u,U,P,M,1,0),a),c.clipTopPath=c.clipTopBorderPath.concat(ca,[l,v],H,E,a),c.clipTopBorderPath=c.clipTopBorderPath.concat(B,[l,v],H,E)):c.clipTopPath=c.clipTopBorderPath.concat(ca,N,a)):(p=b(L,C,I,f,ba,K,H,E,1,0),c.clipOuterBackPath=B.concat([I,f]),c.clipTopBorderPath=c.clipOuterBackPath.concat(p),
c.clipOuterFrontPath=c.clipTopBorderPath.concat(ca,[ba,T],b(L,U,ba,T,I,X,H,E,0,0),a),R?(H=b(L,C,l,v,e,z,P,M,0,0),c.clipInnerBackPath=B.concat([l,v]),c.clipTopPath=c.clipTopBorderPath.concat(ca,[l,v],H,a),c.clipTopBorderPath=c.clipTopBorderPath.concat(B,[l,v],H),c.clipInnerFrontPath=c.clipInnerBackPath.concat(H,ca,[e,y],b(L,U,e,y,l,W,P,M,1,0),a)):c.clipTopPath=c.clipTopBorderPath.concat(ca,N,a)):(p=b(L,C,I,f,ba,K,H,E,1,0),c.clipOuterFrontPath=B.concat([I,f]),c.clipTopBorderPath=c.clipOuterFrontPath.concat(p),
c.clipOuterBackPath=c.clipTopBorderPath.concat(ca,[ba,T],b(L,U,ba,T,I,X,H,E,0,0),a),R?(H=b(L,C,l,v,e,z,P,M,0,0),c.clipInnerFrontPath=B.concat([l,v]),c.clipTopPath=c.clipTopBorderPath.concat(ca,[l,v],H,a),c.clipTopBorderPath=c.clipTopBorderPath.concat(c.clipInnerFrontPath,H),c.clipInnerBackPath=c.clipInnerFrontPath.concat(H,ca,[e,y],b(L,U,e,y,l,W,P,M,1,0),a)):c.clipTopPath=c.clipTopBorderPath.concat(ca,N,a)),p=B.concat(q,ca,F),H=B.concat(O,ca,V),c.clipTopPath=c.clipTopPath.concat(p,H),c.clipOuterFrontPath=
c.clipOuterFrontPath.concat(p),c.clipOuterFrontPath1=c.clipOuterFrontPath1.concat(p),c.clipOuterBackPath=c.clipOuterBackPath.concat(p),R&&(H=B.concat(A,ca,m),c.clipInnerFrontPath=c.clipInnerFrontPath.concat(H),c.clipInnerBackPath=c.clipInnerBackPath.concat(H))):(c.clipTopPath=c.clipOuterFrontPath=c.clipOuterBackPath=[],R&&(c.clipInnerFrontPath=c.clipInnerBackPath=[])),c.clipBottomBorderPath=c.clipTopBorderPath);d||(G.startSlice._conf.index=g,G.endSlice._conf.index=t,G.backOuter._conf.index=e=ka&&
(g<=qa||t>qa)||g<=qa&&t>qa?qa:g>ia?g:t,G.frontOuter._conf.index=b=t<=fa?t:g>t||g<=fa?fa:g,G.frontOuter1._conf.index=g,G.frontOuter1._conf.cIndex=ia,g>t?(G.backOuter._conf.cIndex=g<qa?qa:oa,G.startSlice._conf.cIndex=g<ia?(g+ia)/2:(g+oa)/2,G.endSlice._conf.cIndex=G.frontOuter._conf.cIndex=0):G.backOuter._conf.cIndex=G.startSlice._conf.cIndex=G.endSlice._conf.cIndex=G.frontOuter._conf.cIndex=da,h>ia?G.frontOuter1.show().attr(S,c.clipOuterFrontPath1):G.frontOuter1.hide(),c.thisElement._attr(S,c.clipTopPath),
G.bottom.attr(S,c.clipTopPath),G.bottomBorder.attr(S,c.clipBottomBorderPath),G.topBorder&&G.topBorder.attr(S,c.clipTopBorderPath),G.frontOuter.attr(S,c.clipOuterFrontPath),G.backOuter.attr(S,c.clipOuterBackPath),R&&(G.backInner.attr(S,c.clipInnerBackPath),G.frontInner.attr(S,c.clipInnerFrontPath),G.backInner._conf.index=e,G.frontInner._conf.index=b,g>t?(G.backInner._conf.cIndex=oa,G.frontInner._conf.cIndex=0):G.backInner._conf.cIndex=G.frontInner._conf.cIndex=da),this.hasOnePoint?(G.startSlice.hide(),
G.endSlice.hide()):(G.startSlice.attr(S,c.startSlice).show(),G.endSlice.attr(S,c.endSlice).show()))},_setSliceCosmetics:function(c){var d=c.thisElement,b=c.showBorderEffect,p=c.elements,r=ta(c.borderColor,v(c.borderAlpha,c.alpha)),g=c.borderWidth,t;c.color&&(c=this._parseSliceColor(c.color,c.alpha,c),ra?(t={fill:da(c.top),"stroke-width":0},b?p.topBorder.show().attr({fill:da(c.topBorder),"stroke-width":0}):(p.topBorder.hide(),t.stroke=r,t["stroke-width"]=g),d._attr(t)):(d._attr({fill:da(c.top),"stroke-width":0}),
p.topBorder.attr({stroke:r,"stroke-width":g})),p.bottom.attr({fill:da(c.bottom)}),p.bottomBorder.attr({stroke:r,"stroke-width":g}),p.frontOuter.attr({fill:da(c.frontOuter)}),p.frontOuter1.attr({fill:da(c.frontOuter)}),p.backOuter.attr({fill:da(c.backOuter)}),p.startSlice.attr({fill:da(c.startSlice),stroke:r,"stroke-width":g}),p.endSlice.attr({fill:da(c.endSlice),stroke:r,"stroke-width":g}),this.isDoughnut&&(p.frontInner.attr({fill:da(c.frontInner)}),p.backInner.attr({fill:da(c.backInner)})))},createSlice:function(){var c=
{stroke:!0,strokeWidth:!0,"stroke-width":!0,dashstyle:!0,"stroke-dasharray":!0,translateX:!0,translateY:!0,"stroke-opacity":!0,fill:!0,opacity:!0,transform:!0,ishot:!0,cursor:!0,start:!0,end:!0,color:!0,alpha:!0,borderColor:!0,borderAlpha:!0,borderWidth:!0,rolloverProps:!0,showBorderEffect:!0,positionIndex:!0,cx:!0,cy:!0,radiusYFactor:!0,r:!0,innerR:!0},d=function(b,d){var p,r,g=this,t=g._confObject,a={},h=t.elements,q,f,Z,A=t.Pie3DManager,m;"string"===typeof b&&void 0!==d&&null!==d&&(p=b,b={},b[p]=
d);if(b&&"string"!==typeof b){for(p in b)if(r=b[p],c[p])if(t[p]=r,"ishot"===p||"cursor"===p||"transform"===p)a[p]=r,m=!0;else if("start"===p||"end"===p||"cx"===p||"cy"===p||"radiusYFactor"===p||"r"===p||"innerR"===p)f=!0;else{if("color"===p||"alpha"===p||"borderColor"===p||"borderAlpha"===p||"borderWidth"===p)Z=!0}else g._attr(p,r);f&&(A._setSliceShape(t),A.refreshDrawing());(Z||f)&&A._setSliceCosmetics(t);if(m){for(q in h)h[q].attr(a);g._attr(a)}}else g=c[b]?t[b]:g._attr(b);return g},b=function(b,
d){var p=this._confObject.elements,c;for(c in p)p[c].on(b,d);return this._on(b,d)},p=function(b,d,p){var c,r=this._confObject.elements,g=-1<R.navigator.userAgent.toLowerCase().indexOf("android");for(c in r)g?"topBorder"!==c&&"frontOuter"!==c&&"startSlice"!==c&&"endSlice"!==c||r[c].drag(b,d,p):r[c].drag(b,d,p);return this._drag(b,d,p)},r=function(){var b=this._confObject.elements,d;for(d in b)b[d].hide();return this._hide()},g=function(){var b=this._confObject.elements,d;for(d in b)b[d].show();return this._show()},
t=function(){var b=this._confObject,d=b.elements,p;for(p in d)d[p].destroy();ra&&(b.clipTop.destroy(),b.clipOuterFront.destroy(),b.clipOuterBack.destroy(),b.clipOuterFront1&&b.clipOuterFront1.destroy(),b.clipInnerFront&&b.clipInnerFront.destroy(),b.clipInnerBack&&b.clipInnerBack.destroy());return this._destroy()},a=function(b){var d=this._confObject.elements,p;for(p in d)d[p].tooltip(b);return this._tooltip(b)},h=function(b,d){var p=this._confObject.elements,c;if(void 0===d)return this._data(b);for(c in p)p[c].data(b,
d);return this._data(b,d)},q=0;return function(){var c=this.renderer,f,A={elements:{},Pie3DManager:this},m=this.slicingWallsArr,k=A.elements,n=ra?"litepath":"path";f=c[n](this.topGroup);f._confObject=A;A.thisElement=f;f._destroy=f.destroy;f.destroy=t;f._show=f.show;f.show=g;f._hide=f.hide;f.hide=r;f._on=f.on;f.on=b;f._drag=f.drag;f.drag=p;f._attr=f.attr;f.attr=d;f._tooltip=f.tooltip;f.tooltip=a;f._data=f.data;f.data=h;this.pointElemStore.push(f);k.topBorder=c[n](this.topGroup);k.bottom=c[n](this.bottomBorderGroup).attr({"stroke-width":0});
k.bottomBorder=c[n](this.bottomBorderGroup);k.frontOuter=c[n](this.slicingWallsFrontGroup).attr({"stroke-width":0});k.backOuter=c[n](this.slicingWallsFrontGroup).attr({"stroke-width":0});k.startSlice=c[n](this.slicingWallsFrontGroup);k.endSlice=c[n](this.slicingWallsFrontGroup);k.frontOuter1=c[n](this.slicingWallsFrontGroup).attr({"stroke-width":0});k.frontOuter._conf={si:q,isStart:.5};k.frontOuter1._conf={si:q,isStart:.5};k.startSlice._conf={si:q,isStart:0};k.endSlice._conf={si:q,isStart:1};k.backOuter._conf=
{si:q,isStart:.4};m.push(k.startSlice,k.frontOuter1,k.frontOuter,k.backOuter,k.endSlice);this.isDoughnut&&(k.frontInner=c[n](this.slicingWallsFrontGroup).attr({"stroke-width":0}),k.backInner=c[n](this.slicingWallsFrontGroup).attr({"stroke-width":0}),k.backInner._conf={si:q,isStart:.5},k.frontInner._conf={si:q,isStart:.4},m.push(k.frontInner,k.backInner));q+=1;return f}}()};a.prototype.constructor=a}]);u.register("module",["private","modules.renderer.js-doughnut2d",function(){var a=this,e=a.hcLib,
B=e.chartAPI,l=e.getFirstColor,z=e.getFirstAlpha,R=e.hasSVG,D=e.toRaphaelColor,y=e.hashify,v=8===a.window.document.documentMode?"visible":"",w=e.graphics.getLightColor,q=Math.floor,A=e.graphics.getDarkColor;B("doughnut2d",{friendlyName:"Doughnut Chart",defaultDatasetType:"Doughnut2D",creditLabel:!1,applicableDSList:{Doughnut2D:!0},getPointColor:function(a,n,k){var m;a=l(a);n=z(n);100>k&&R?(m=A(a,q(100*(85-.2*(100-k)))/100),a=w(a,q(100*(100-.5*k))/100),n={FCcolor:{color:m+","+a+","+a+","+m,alpha:n+
","+n+","+n+","+n,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:k}}):n={FCcolor:{color:a+","+a,alpha:n+","+n,ratio:"0,100"}};return n},drawDoughnutCenterLabel:function(a,q,k,A,f,x,e){var l=this.components,z=l.dataset[0].config;x=x||z.lastCenterLabelConfig;var l=l.paper,w=this.linkedItems.smartLabel,B=this.graphics,R=B.datasetGroup,u=x.padding,oa=2*x.textPadding,qa={fontFamily:x.font,fontSize:x.fontSize+"px",lineHeight:1.2*x.fontSize+"px",fontWeight:x.bold?"bold":"",fontStyle:x.italic?"italic":
""},ja=1.414*(.5*A-u)-oa;f=1.414*(.5*f-u)-oa;var ka;w.setStyle(qa);w.useEllipsesOnOverflow(this.config.useEllipsesWhenOverflow);w=w.getSmartText(a,ja,f);(f=B.doughnutCenterLabel)?(f.attr("text")!==a&&this.centerLabelChange(a),ka=B.centerLabelOvalBg):(x.bgOval&&(B.centerLabelOvalBg=ka=l.circle(q,k,.5*A-u,R)),f=B.doughnutCenterLabel=l.text(R).hover(this.centerLabelRollover,this.centerLabelRollout).click(this.centerLabelClick),f.chart=this);a?(f.css(qa).attr({x:q,y:k,text:w.text,visibility:v,direction:z.textDirection,
fill:D({FCcolor:{color:x.color,alpha:x.alpha}}),"text-bound":x.bgOval?"none":[D({FCcolor:{color:x.bgColor,alpha:x.bgAlpha}}),D({FCcolor:{color:x.borderColor,alpha:x.borderAlpha}}),x.borderThickness,x.textPadding,x.borderRadius]}).tooltip(x.toolText||w.tooltext),x.bgOval&&ka&&ka.attr({visibility:v,fill:y(x.bgColor),"fill-opacity":x.bgAlpha/100,stroke:y(x.borderColor),"stroke-width":x.borderThickness,"stroke-opacity":x.borderAlpha/100})):(f.attr("visibility","hidden"),ka&&ka.attr("visibility","hidden"));
e&&(z.lastCenterLabelConfig=x,z.centerLabelConfig=x)},centerLabelRollover:function(){var h=this.chart,q=h.config,k=h.chartInstance,A=k.ref,f=h.components.dataset[0].config.lastCenterLabelConfig,q={height:q.height,width:q.width,pixelHeight:A.offsetHeight,pixelWidth:A.offsetWidth,id:k.id,renderer:k.args.renderer,container:h.linkedItems.container,centerLabelText:f&&f.label};this.attr("text")&&a.raiseEvent("centerLabelRollover",q,k,this,h.hoverOnCenterLabel)},centerLabelRollout:function(){var h=this.chart,
q=h.config,A=h.chartInstance,m=A.ref,f=h.components.dataset[0].config.lastCenterLabelConfig,q={height:q.height,width:q.width,pixelHeight:m.offsetHeight,pixelWidth:m.offsetWidth,id:A.id,renderer:A.args.renderer,container:h.linkedItems.container,centerLabelText:f&&f.label};this.attr("text")&&a.raiseEvent("centerLabelRollout",q,A,this,h.hoverOffCenterLabel)},centerLabelClick:function(){var q=this.chart,A=q.config,k=q.chartInstance,m=k.ref,f=q.components.dataset[0].config.lastCenterLabelConfig,q={height:A.height,
width:A.width,pixelHeight:m.offsetHeight,pixelWidth:m.offsetWidth,id:k.id,renderer:k.args.renderer,container:q.linkedItems.container,centerLabelText:f&&f.label};this.attr("text")&&a.raiseEvent("centerLabelClick",q,k)},centerLabelChange:function(q){var A=this.config,k=this.chartInstance,m=k.ref;a.raiseEvent("centerLabelChanged",{height:A.height,width:A.width,pixelHeight:m.offsetHeight,pixelWidth:m.offsetWidth,id:k.id,renderer:k.args.renderer,container:this.linkedItems.container,centerLabelText:q},
k)},hoverOnCenterLabel:function(){var a=this.chart.components.dataset[0].config.lastCenterLabelConfig;(a.hoverColor||a.hoverAlpha)&&this.attr({fill:D({FCcolor:{color:a.hoverColor||a.color,alpha:a.hoverAlpha||a.alpha}})})},hoverOffCenterLabel:function(){var a=this.chart.components.dataset[0].config.lastCenterLabelConfig;(a.hoverColor||a.hoverAlpha)&&this.attr({fill:D({FCcolor:{color:a.color,alpha:a.alpha}})})}},B.pie2d,{singletonPlaceValue:!1})}]);u.register("module",["private","modules.renderer.js-doughnut3d",
function(){var a=this.hcLib.chartAPI;a("doughnut3d",{friendlyName:"3D Doughnut Chart",defaultDatasetType:"Doughnut3D",creditLabel:!1,applicableDSList:{Doughnut3D:!0},_configureManager:function(){var a=this.components.dataset[0],B=a.config,l=a.components,a=l.Pie3DManager,l=l.data;a&&a.configure(B.pieSliceDepth,1===l.length,B.use3DLighting,!0)}},a.pie3d)}]);u.register("module",["private","modules.renderer.js-mscolumn2d",function(){var a=this.hcLib.chartAPI;a("mscolumn2d",{standaloneInit:!0,friendlyName:"Multi-series Column Chart",
creditLabel:!1,defaultDatasetType:"column",applicableDSList:{column:!0},eiMethods:{}},a.mscartesian,{enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-mscolumn3d",function(){var a=this.hcLib.chartAPI;a("mscolumn3d",{standaloneInit:!0,defaultDatasetType:"column3d",friendlyName:"Multi-series 3D Column Chart",applicableDSList:{column3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,creditLabel:!1,defaultZeroPlaneHighlighted:!1},a.mscartesian3d,{showplotborder:0,enablemousetracking:!0})}]);
u.register("module",["private","modules.renderer.js-msbar2d",function(){var a=this.hcLib.chartAPI;a("msbar2d",{standaloneInit:!0,friendlyName:"Multi-series Bar Chart",isBar:!0,hasLegend:!0,creditLabel:!1,defaultDatasetType:"bar2d",applicableDSList:{bar2d:!0}},a.msbarcartesian,{enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-msbar3d",function(){var a=this.hcLib.chartAPI;a("msbar3d",{standaloneInit:!0,defaultSeriesType:"bar3d",friendlyName:"Multi-series 3D Bar Chart",
fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0,isBar:!0,hasLegend:!0,creditLabel:!1,defaultZeroPlaneHighlighted:!1,defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0}},a.msbarcartesian3d,{showplotborder:0,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-msarea",function(){var a=this.hcLib.chartAPI;a("msarea",{standaloneInit:!0,friendlyName:"Multi-series Area Chart",creditLabel:!1,defaultDatasetType:"area",defaultPlotShadow:0,applicableDSList:{area:!0}},a.areabase,
{enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-msline",function(){var a=this.hcLib.chartAPI;a("msline",{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:!1,defaultDatasetType:"line",defaultPlotShadow:1,axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{line:!0}},a.areabase,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-stackedarea2d",function(){var a=
this.hcLib,e=a.chartAPI;e("stackedarea2d",{friendlyName:"Stacked Area Chart",showsum:0,creditLabel:!1},e.msarea,{plotfillalpha:a.preDefStr.HUNDREDSTRING,isstacked:1})}]);u.register("module",["private","modules.renderer.js-stackedcolumn2d",function(){var a=this.hcLib.chartAPI;a("stackedcolumn2d",{friendlyName:"Stacked Column Chart",creditLabel:!1},a.mscolumn2d,{isstacked:!0})}]);u.register("module",["private","modules.renderer.js-stackedcolumn3d",function(){var a=this.hcLib,e=a.chartAPI;e("stackedcolumn3d",
{friendlyName:"3D Stacked Column Chart",creditLabel:!1,_mouseEvtHandler:function(e){var l=e.data.mouseTracker,z=this.config,R=z.canvasLeft,u=z.canvasRight,y=z.canvasBottom,v=z.canvasTop,w=z.datasetOrder||this.components.dataset,q=a.getMouseCoordinate(this.linkedItems.container,e.originalEvent,this),A=q.chartX,q=q.chartY,h,n=this.components,k="datasetGroup_"+w[0].type,m,f=!1,x=w.length,G,W=l._lastDatasetIndex,J=l._lastPointIndex;if(A>R&&A<u&&q>v&&q<y||this.config.plotOverFlow){for(;x--&&!f;)h=w[x],
h.valueLook=!0,h&&h.visible&&(m=h._getHoveredPlot&&h._getHoveredPlot(A,q))&&m.hovered&&(f=!0,m.datasetIndex=x,G=l._getMouseEvents(e,m.datasetIndex,m.pointIndex));for(x=0;x<w.length&&!f;)h=w[x],h.valueLook=!1,h&&h.visible&&(m=h._getHoveredPlot&&h._getHoveredPlot(A,q))&&m.hovered&&(f=!0,m.datasetIndex=x,G=l._getMouseEvents(e,m.datasetIndex,m.pointIndex)),x++}(!f||G&&G.fireOut)&&void 0!==W&&(delete l._lastDatasetIndex,delete l._lastPointIndex,w[W]&&w[W]._firePlotEvent&&w[W]._firePlotEvent("mouseout",
J,e));if(f)for(R=G.events&&G.events.length,l._lastDatasetIndex=m.datasetIndex,J=l._lastPointIndex=m.pointIndex,z.drawTrendRegion&&n[k]._notifyGroup(!0,e),l=0;l<R;l+=1)h&&h._firePlotEvent&&h._firePlotEvent(G.events[l],J,e,m.datasetIndex);else z.drawTrendRegion&&n[k]._notifyGroup(!1,e);z.drawTrendRegion&&n[k]._getHoveredRegion(A,q,e)}},e.mscolumn3d,{showplotborder:0,enablemousetracking:!0},e.stackedcolumn2d)}]);u.register("module",["private","modules.renderer.js-stackedbar2d",function(){var a=this.hcLib.chartAPI;
a("stackedbar2d",{friendlyName:"Stacked Bar Chart",creditLabel:!1},a.msbar2d,{maxbarheight:50,enablemousetracking:!0},a.stackedcolumn2d)}]);u.register("module",["private","modules.renderer.js-stackedbar3d",function(){var a=this.hcLib,e=a.chartAPI;e("stackedbar3d",{friendlyName:"3D Stacked Bar Chart",creditLabel:!1,_mouseEvtHandler:function(e){var l=e.data.mouseTracker,z=this.config,R=z.canvasLeft,u=z.canvasRight,y=z.canvasBottom,v=z.canvasTop,w=z.datasetOrder||this.components.dataset,q=a.getMouseCoordinate(this.linkedItems.container,
e.originalEvent,this),A=q.chartX,q=q.chartY,h,n=this.components,k="datasetGroup_"+w[0].type,m,f=!1,x=w.length,G,W=l._lastDatasetIndex,J=l._lastPointIndex;if(A>R&&A<u&&q>v&&q<y||this.config.plotOverFlow){for(x=w.length;x--&&!f;)if(h=w[x],h.valueLook=!0,h&&h.visible){if((m=h._getHoveredPlot&&h._getHoveredPlot(A,q))&&m.hovered)for(R=0;R<=x;++R)if(x!==R&&m&&(u=w[R],(y=u._getHoveredPlot&&u._getHoveredPlot(A,q))&&y.pointIndex===m.pointIndex-1)){m=y;x=R;h=u;h.valueLook=!0;break}m&&m.hovered&&(f=!0,m.datasetIndex=
x,G=l._getMouseEvents(e,m.datasetIndex,m.pointIndex))}for(x=0;x<w.length&&!f;){h=w[x];h.valueLook=!1;if(h&&h.visible){if((m=h._getHoveredPlot&&h._getHoveredPlot(A,q))&&m.hovered)for(R=0;R<=x;++R)if(x!==R&&m&&(u=w[R],(y=u._getHoveredPlot&&u._getHoveredPlot(A,q))&&y.pointIndex===m.pointIndex-1)){m=y;x=R;h=u;h.valueLook=!1;break}m&&m.hovered&&(f=!0,m.datasetIndex=x,G=l._getMouseEvents(e,m.datasetIndex,m.pointIndex))}x++}}(!f||G&&G.fireOut)&&void 0!==W&&(delete l._lastDatasetIndex,delete l._lastPointIndex,
w[W]&&w[W]._firePlotEvent&&w[W]._firePlotEvent("mouseout",J,e));if(f)for(w=G.events&&G.events.length,l._lastDatasetIndex=m.datasetIndex,J=l._lastPointIndex=m.pointIndex,z.drawTrendRegion&&n[k]._notifyGroup(!0,e),l=0;l<w;l+=1)h&&h._firePlotEvent&&h._firePlotEvent(G.events[l],J,e,m.datasetIndex);else z.drawTrendRegion&&n[k]._notifyGroup(!1,e);z.drawTrendRegion&&n[k]._getHoveredRegion(A,q,e)}},e.msbar3d,{showplotborder:0,enablemousetracking:!0},e.stackedcolumn2d)}]);u.register("module",["private","modules.renderer.js-marimekko",
function(){var a=this.hcLib.chartAPI,e=Math,u=e.min,l=e.max;a("marimekko",{standaloneInit:!0,friendlyName:"Marimekko Chart",isValueAbs:!0,usesXYinCategory:!0,distributedColumns:!0,stack100percent:!0,defaultDatasetType:"marimekko",applicableDSList:{marimekko:!0},isStacked:!0,showsum:1,creditLabel:!1,_setAxisLimits:function(){var a=this.components,e=a.dataset,D=a.yAxis,a=a.xAxis,y,v=e.length,w,q=-Infinity,A=Infinity,h=Infinity,n=-Infinity,k,m,f={};k=this.config.categories;var x=[],G=function(a){q=l(q,
a.max);A=u(A,a.min);n=l(n,a.xMax||-Infinity);h=u(h,a.xMin||Infinity)};for(w=0;w<v;w++)y=e[w],(m=y.groupManager)?f[y.type]=m:x.push(y);for(m in f)e=f[m].getDataLimits(),G(e);v=x.length;for(w=0;w<v;w++)e=x[w].getDataLimits(),G(e);-Infinity===q&&(q=0);Infinity===A&&(A=0);D[0].setAxisConfig({isPercent:this.config.isstacked?this.config.stack100percent:0});D[0].setDataLimit(q,A);if(-Infinity!==n||Infinity!==h)a[0].config.xaxisrange={max:n,min:h},a[0].setDataLimit(n,h);D=f[m].getStackSumPercent();w=D.length;
m=a[0].getCategoryLen();m>w&&k.splice(w,m-w);this._setCategories();w=a[0].getLimit();h=w.min;n=w.max;k=h;m=n-h;for(w=0;w<D.length;w++)e=D[w],v=m*e/100,e=k+v/2,a[0].updateCategory(w,{x:e}),k+=v}},a.mscartesian,{isstacked:!0,showpercentvalues:0,usepercentdistribution:1,showsum:1,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-msstackedcolumn2d",function(){var a=this.hcLib,e=a.chartAPI,B=a.pluck,l=a.componentDispose;e("msstackedcolumn2d",{standaloneInit:!0,defaultDatasetType:"column",
applicableDSList:{column:!0},friendlyName:"Multi-series Stacked Column Chart",_createDatasets:function(){var a=this.components,e=this.jsonData,D=e.dataset,y=D&&D.length||0,v,w,q,A=this.defaultDatasetType,h=this.applicableDSList,n,k,m,f,x,G,W=e.lineset||[],J=this.config,na=J.dataSetMap,X=J.lineSetMap,ia=na&&na.length,fa=a.legend,oa=[],qa=[],ja=0;m=0;var ka,ma=-1,S,wa=this.config.catLen,ta=a.xAxis[0],O,da,ra=a.dataset;if(D||0!==W.length){this.config.categories=e.categories&&e.categories[0].category;
w=a.dataset=[];for(e=0;e<y;e++){x=D[e];ma++;if(x.dataset)for(da=!0,G=x.dataset&&x.dataset.length||0,oa[e]=[],v=0;v<G;v++){if(m=x.dataset[v],n=(n=B(m.renderas,A))&&n.toLowerCase(),h[n]||(n=A),q=u.get("component",["dataset",n]))f="datasetGroup_"+n,k=u.register("component",["datasetGroup",n]),n=a[f],k&&!n?(n=a[f]=new k,n.chart=this,n.init()):n&&na&&0!==na.length&&!ka&&(n.init(),ka=!0),na&&na[e]&&na[e][v]?(q=na[e][v],q.index=ja,f=q.JSONData,k=f.data&&f.data.length||0,f=m.data&&m.data.length||0,S=ta.getCategoryLen(),
O=wa-S,k-=f,k=this._getDiff(k,f,O,S),f=k.diff,k=k.startIndex,0<f&&q.removeData(k,f,!1),q.JSONData=m,q.configure()):(q=new q,q.chart=this,q.index=ja,q.init(m)),ja++,oa[e].push(q),w.push(q),n&&n.addDataSet(q,ma,v)}else G=v=0,ma--;x=na&&na[e]&&na[e].length;if(x>G)for(m=v,x=x-G+v;m<x;m++)n=na[e][m],fa.removeItem(n.legendItemId),l.call(n)}if(ia>y)for(m=e,x=ia-y+e;m<x;m++)for(G=na[m].length,v=0;v<G;v++)n=na[m][v],fa.removeItem(n.legendItemId),l.call(n);J.dataSetMap=oa;if(this.lineset){e=0;for(y=W.length;e<
y;e++)D=W[e],q=u.get("component",["dataset","line"]),q=new q,X&&X[e]?(q=X[e],q.index=ja,f=q.JSONData,k=f.data.length,f=D.data&&D.data.length||0,k>f&&q.removeData(f,k-f,!1),q.JSONData=D,q.configure()):(q.chart=this,q.index=ja,q.init(D)),qa.push(q),w.push(q),ja++;W=X&&X.length;if(W>y)for(m=e,x=W-y+e;m<x;m++)n=X[m],fa.removeItem(n.legendItemId),l.call(n);J.lineSetMap=qa}da?this.config.catLen=ta.getCategoryLen():(a.dataset=ra,this.setChartMessage())}else this.setChartMessage()},creditLabel:!1},e.mscartesian,
{isstacked:!0,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-mscombi2d",function(){var a=this.hcLib,e=a.chartAPI,B=a.pluck,l=a.componentDispose;e("mscombi2d",{friendlyName:"Multi-series Combination Chart",standaloneInit:!0,creditLabel:!1,defaultDatasetType:"column",applicableDSList:{line:!0,area:!0,column:!0},_createDatasets:function(){var a=this.components,e=this.jsonData,D=e.dataset,y=D&&D.length,v,w,q=this.defaultDatasetType,A=this.applicableDSList;v=this.components.legend;
var h=a.xAxis[0],n,k,m,f,x,G=this.config.isstacked,W,J,na=[],X={},ia=this.config,fa=this.config.catLen,oa=ia.datasetMap||(ia.datasetMap={line:[],area:[],column:[],column3d:[],scrollcolumn2d:[]}),qa={line:[],area:[],column:[],column3d:[],scrollcolumn2d:[]};D||this.setChartMessage();this.config.categories=e.categories&&e.categories[0].category;e=a.dataset=[];v&&v.emptyItems();for(v=0;v<y;v++)if(x=D[v],f=x.parentyaxis||"",k=(k=this.config.isdual&&"s"===f.toLowerCase()?"line"===this.defaultSecondaryDataset?
this.sDefaultDatasetType:B(x.renderas,this.sDefaultDatasetType):B(x.renderas,q))&&k.toLowerCase(),A[k]||(k=q),m=u.get("component",["dataset",k]))void 0===X[k]?X[k]=0:X[k]++,w="datasetGroup_"+k,f=u.register("component",["datasetGroup",k]),(n=a[w])&&na.push(n),f&&!n&&(n=a[w]=new f,n.chart=this,n.init()),f=oa[k],(w=f[0])?(delete w.legendItemId,n=h.getCategoryLen(),m=fa-n,J=w.JSONData,W=J.data&&J.data.length,J=x.data&&x.data.length||0,W-=J,m=this._getDiff(W,J,m,n),n=m.diff,m=m.startIndex,0<n&&w.removeData(m,
n,!1),w.index=v,w.JSONData=x,w.configure(),f.splice(0,1)):(w=new m,w.chart=this,w.index=v,n&&(G?n.addDataSet(w,0,X[k]):n.addDataSet(w,X[k],0)),w.init(x)),qa[k].push(w),e.push(w);this._setDatasetOrder();for(D in oa)if(f=oa[D],q=f[0]&&f[0].groupManager,y=f.length,A=void 0===X[D]?0:X[D]+1,y)for(G&&q&&q.removeDataSet(0,A,y),a=0;a<y;a++)q&&!G&&q.removeDataSet(A,0,1),"column"===f[a].type&&!0===this.is3D?(f[a].visible=!1,f[a].draw()):l.call(f[a]);ia.datasetMap=qa;this.config.catLen=h.getCategoryLen()}},
e.areabase,{enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-mscombi3d",function(){var a=this.hcLib.chartAPI;a("mscombi3d",{standaloneInit:!0,friendlyName:"Multi-series 3D Combination Chart",defaultDatasetType:"column3d",is3D:!0,creditLabel:!1,defaultPlotShadow:1,applicableDSList:{column3d:!0,line:!0,area:!0},_createDatasets:a.mscombi2d},a.mscartesian3d,{showplotborder:0,enablemousetracking:!0},a.areabase)}]);u.register("module",["private","modules.renderer.js-mscolumnline3d",
function(){var a=this.hcLib.chartAPI;a("mscolumnline3d",{friendlyName:"Multi-series Column and Line Chart",is3D:!0,creditLabel:!1,defaultPlotShadow:1,applicableDSList:{column3d:!0,line:!0}},a.mscombi3d,{use3dlineshift:1,showplotborder:0,enablemousetracking:!0},a.msarea)}]);u.register("module",["private","modules.renderer.js-stackedcolumn2dline",function(){var a=this.hcLib.chartAPI;a("stackedcolumn2dline",{friendlyName:"Stacked Column and Line Chart",defaultDatasetType:"column",creditLabel:!1,applicableDSList:{line:!0,
column:!0}},a.mscombi2d,{isstacked:!0,stack100percent:0,enablemousetracking:!0},a.msarea)}]);u.register("module",["private","modules.renderer.js-stackedcolumn3dline",function(){var a=this.hcLib.chartAPI;a("stackedcolumn3dline",{friendlyName:"Stacked 3D Column and Line Chart",is3D:!0,creditLabel:!1,_mouseEvtHandler:a.stackedcolumn3d._mouseEvtHandler,applicableDSList:{column3d:!0,line:!0}},a.mscombi3d,{use3dlineshift:1,isstacked:!0,stack100percent:0,showplotborder:0,enablemousetracking:!0},a.msarea)}]);
u.register("module",["private","modules.renderer.js-mscombidy2d",function(){var a=this.hcLib.chartAPI;a("mscombidy2d",{standaloneInit:!0,friendlyName:"Multi-series Dual Y-Axis Combination Chart",defaultDatasetType:"column",sDefaultDatasetType:"line",_createDatasets:a.mscombi2d,creditLabel:!1,applicableDSList:{column:!0,line:!0,area:!0}},a.msdybasecartesian,{isdual:1,enablemousetracking:!0},a.msarea)}]);u.register("module",["private","modules.renderer.js-mscolumn3dlinedy",function(){var a=this.hcLib.chartAPI;
a("mscolumn3dlinedy",{standaloneInit:!0,friendlyName:"Multi-series 3D Column and Line Chart",defaultDatasetType:"column3d",sDefaultDatasetType:"line",is3D:!0,creditLabel:!1,_createDatasets:a.mscombi2d,defaultPlotShadow:1,applicableDSList:{column3d:!0,line:!0}},a.msdybasecartesian3d,{use3dlineshift:1,isdual:!0,showplotborder:0,enablemousetracking:!0},a.msarea)}]);u.register("module",["private","modules.renderer.js-stackedcolumn3dlinedy",function(){var a=this.hcLib.chartAPI;a("stackedcolumn3dlinedy",
{standaloneInit:!0,friendlyName:"Stacked 3D Column and Line Chart",is3D:!0,defaultDatasetType:"column3d",creditLabel:!1,sDefaultDatasetType:"line",defaultSecondaryDataset:"line",_createDatasets:a.mscombi2d,_mouseEvtHandler:a.stackedcolumn3d._mouseEvtHandler,applicableDSList:{column3d:!0,line:!0}},a.msdybasecartesian3d,{use3dlineshift:1,isdual:!0,isstacked:!0,showplotborder:0,enablemousetracking:!0},a.msarea)}]);u.register("module",["private","modules.renderer.js-msstackedcolumn2dlinedy",function(){var a=
this.hcLib.chartAPI;a("msstackedcolumn2dlinedy",{standaloneInit:!0,friendlyName:"Multi-series Dual Y-Axis Stacked Column and Line Chart",stack100percent:0,defaultDatasetType:"column",sDefaultDatasetType:"line",hasLineSet:!0,creditLabel:!1,applicableDSList:{column:!0},lineset:!0,_createDatasets:a.msstackedcolumn2d},a.msdybasecartesian,{isdual:!0,haslineset:!0,isstacked:!0,enablemousetracking:!0},a.msarea)}]);u.register("module",["private","modules.renderer.js-scrollcolumn2d",function(){var a=this,
e=a.hcLib,u=e.chartAPI,l=Math,z=l.min,R=l.max,D=l.floor,y=l.round,v=e.pluckNumber,w=e.Raphael;u("scrollcolumn2d",{standaloneInit:!0,friendlyName:"Scrollable Multi-series Column Chart",tooltipConstraint:"plot",canvasborderthickness:1,creditLabel:!1,defaultDatasetType:"scrollcolumn2d",applicableDSList:{scrollcolumn2d:!0},avgScrollPointWidth:40,hasScroll:!0,defaultPlotShadow:1,binSize:0,_swipeX:function(q,e){var h=this.config,n=this.components,k=n.scrollBar.conf,m=k.scrollRatio,f=k.width-1,x=k.height-
1,l=h.scrollToEnd,k=h.lastScrollPosition;v(n.canvas.config.canvasBorderWidth,n.xAxis[0].config.lineStartExtension);var n=this.touchCurrPos,w=this.swipeStart,u=q.type,x=h.scrollShowButtons?z(x,.5*f):0,y=this.config.mousedown,k=void 0!==k?k:l;switch(u){case "touchstart":case "mousedown":this.config.mousedown=!0;this.prevScrollPosition=k;this.touchCurrPos=e;break;case "touchmove":case "mousemove":if(y)return w||a.raiseEvent("scrollStart",{scrollPosition:k},this.chartInstance),h=f-2*x-(f*m-2*x*m),h=z(R(k+
(n-e)/h,0),1),this.updateManager(h),this.swipeStart=!0,this.touchCurrPos=e,q.originalEvent.preventDefault?q.originalEvent.preventDefault():q.originalEvent.returnValue=!1,!0;break;case "touchend":case "mouseup":y&&(this.swipeStart&&(a.raiseEvent("scrollEnd",{prevScrollPosition:this.prevScrollPosition,scrollPosition:h.lastScrollPosition},this.chartInstance),this.swipeStart=!1),h.mousedown=!1)}},eiMethods:{scrollTo:u.mscartesian._scrollTo},_manageScrollerPosition:function(){var a=this.config,e;e=this._scrollBar.get;
var h=this.components.scrollBar,n;e=e()[0];h.setConfiguaration(e.conf);e=a.scrollEnabled;n=h.getLogicalSpace();this._allocateSpace({bottom:a.shift=!1===e?0:n.height+h.conf.padding})},_resetViewPortConfig:function(){this.config.viewPortConfig={scaleX:1,scaleY:1,x:0,y:0}},_setInitialDrawingIndex:function(){var a=this.config,e=this.components,h=e.xAxis[0],n=h._getVisibleConfig(),h=h.getCategoryLen(),k=e.dataset,m,f,x,l=k.length,w;a.showsum&&a.isstacked&&this._createSumLabelPool();this._createDataPool();
for(w=0;w<l;w++)m=k[w],x=m.components,x.removeDataArr=[],f=x.pool,m.drawn&&f&&(m=x.data.slice(a.scrollMinVal,a.scrollMaxVal),f.element&&f.element.push.apply(f.element,m.filter(this._filterDataFn).map(this._datasetModifyFn)),f.label&&f.label.push.apply(f.label,m.filter(this._filterLabelFn).map(this._labelModifyFn)),f.image&&f.image.push.apply(f.image,m.filter(this._filterImageFn).map(this._imageModifyFn)));(f=(e=e.datasetGroup_scrollcolumn2d)&&e.pool)&&a.isstacked&&(f=f.sumLabels[0])&&f.push.apply(f,
e.graphics.sumLabels[0].slice(a.scrollMinVal,a.scrollMaxVal).filter(this._filterSumFn).map(this._sumValModifyFn));a.visibleAxisMinVal=n.minValue;a.visibleAxisMaxVal=n.maxValue;a.startPathIndex=a.scrollMinVal=Math.max(Math.round(n.minValue),0);a.endPathIndex=a.scrollMaxVal=Math.min(Math.round(n.maxValue)+1,h)},updateManager:function(a){var e=this.config,h=this.config.viewPortConfig,n=h.scaleX,k=this.graphics.datasetGroup,m=this.graphics.datalabelsGroup,f=this.graphics.trackerGroup,x=e.canvasWidth*
(n-1)*a,l=this.components,w=l.xAxis[0],v=this.graphics.sumLabelsLayer;h.x=x/n;h="t"+-y(x)+",0";e.lastScrollPosition=a;void 0!==a&&l.scrollBar.node&&l.scrollBar.node.attr({"scroll-position":a});this._manageScroll();k.attr({transform:h});m.attr({transform:h});f.attr({transform:h});v&&v.attr({transform:h});a=w.getAxisConfig("animateAxis");e=w.getAxisConfig("drawAxisName");w.setAxisConfig({animateAxis:!1,drawAxisName:!1});w.draw();w.setAxisConfig({animateAxis:a,drawAxisName:e})},_filterLabelFn:function(a){if(a.graphics&&
a.graphics.label)return a},_filterDataFn:function(a){a._xPos=void 0;a._yPos=void 0;a._baseXPos=void 0;a._baseYPos=void 0;if(a.graphics&&a.graphics.element)return a},_filterImageFn:function(a){if(a.graphics&&a.graphics.image)return a},_filterSumFn:function(a){if(a.graphics&&a.element)return a},_datasetModifyFn:function(a){var e=a.graphics.element;a.graphics.element=void 0;return e.hide()},_imageModifyFn:function(a){var e=a.graphics.image;a.graphics.image=void 0;return e.hide()},_labelModifyFn:function(a){var e=
a.graphics.label;a.graphics.label=void 0;return e.hide()},_sumValModifyFn:function(a){var e=a.element;a.element=void 0;return e.hide()},_createSumLabelPool:function(){var a=this.components,e,h=a.paper,n;e=a.datasetGroup_scrollcolumn2d;a=e.pool;n=e.graphics&&e.graphics.sumLabelContainer;if(!a&&n)for(a=e.pool={sumLabels:[[]]},e=0;2>e;e++)a.sumLabels[0].push(h.text(n[0]))},_createDataPool:function(){var a=this.components,e,h=a.dataset,n=h.length,k,m,f,x,l=a.paper;for(k=0;k<n;k++){a=h[k];if(!a.drawn)break;
e=a.components;m=a.graphics;f=m.container.anchorGroup||m.container;x=m.dataLabelContainer;m=e.pool;if(!m)for(m=e.pool={element:[],label:[],image:[]},e=0;2>e;e++)m.element.push("column"===a.type?l.rect(f):l.polypath(f)),m.label.push(l.text(x))}},_manageScroll:function(){var a=this.config,e=this.components,h;h=e.xAxis[0]._getVisibleConfig();var n=e.dataset,k=n.length,m,f,x,l=a.scrollMinVal,w=a.scrollMaxVal,v=y(h.minValue),u=y(h.maxValue+1);m=a.visibleAxisMinVal;var z=u-v,B,D;.5<=h.maxValue-a.visibleAxisMaxVal?
(D=u-w>z,a.scrollMinVal=D?u-z:w,a.scrollMaxVal=u,a.visibleAxisMaxVal=h.maxValue,a.visibleAxisMinVal=h.minValue,a.startPathIndex=u-z,a.endPathIndex=u,x=!0):.5<=m-h.minValue&&(D=l-v>z,a.scrollMinVal=v,a.scrollMaxVal=D?v+z:l,a.visibleAxisMaxVal=h.maxValue,a.visibleAxisMinVal=h.minValue,a.startPathIndex=v,a.endPathIndex=v+z,f=!0);if(f||x){a.showsum&&a.isstacked&&(e=e.datasetGroup_scrollcolumn2d,e.drawSumValueFlag=!0,this._createSumLabelPool(),h=e.pool,x?B=e.graphics.sumLabels[0].slice(l,D?l+z:v):f&&(B=
e.graphics.sumLabels[0].slice(D?w-z:u,w)),h.sumLabels[0].push.apply(h.sumLabels[0],B.filter(this._filterSumFn).map(this._sumValModifyFn)));for(e=0;e<k;e++)m=n[e],h=m.components,this._createDataPool(),h=h.pool,x?B=m.components.data.slice(l,D?l+z:v):f&&(B=m.components.data.slice(D?w-z:u,w)),h.element.push.apply(h.element,B.filter(this._filterDataFn).map(this._datasetModifyFn)),h.label.push.apply(h.label,B.filter(this._filterLabelFn).map(this._labelModifyFn)),m.config.imageCount&&h.image.push.apply(h.image,
B.filter(this._filterImageFn).map(this._imageModifyFn)),m.draw();a.scrollMinVal=v;a.scrollMaxVal=u}},_createToolBox:function(){var e=this.components,l=this._scrollBar,h=l.get,n=l.add,k,m,f=e.scrollBar;u.mscartesian._createToolBox.call(this);k=e.tb;m=(e.toolBoxAPI||k.getAPIInstances(k.ALIGNMENT_HORIZONTAL)).Scroller;l.clear();n({isHorizontal:!0},{scroll:function(e){return function(){var h=arguments&&arguments[0],f=e.components.scrollBar.conf,q=f.scrollTo;e.config.scrollCurrPosition=h;q||a.raiseEvent("onScroll",
{scrollPosition:h},e.chartInstance);f.scrollTo=!1;e.updateManager.apply(e,arguments)}}(this)});l=h()[0];f||(e.scrollBar=(new m(l.conf,k.idCount,k.pId)).attachEventHandlers(l.handler))},_setAxisScale:function(){var a=this.config,e=this.components.xAxis[0].getCategoryLen(),h=this.jsonData,l=a.scrollOptions||(a.scrollOptions={}),k=this.components.dataset,m=k.length,f,x,w=0,u;u=a.canvasWidth;var z=a.scrollToEnd,y=a.lastScrollPosition,h=v(h.chart.numvisibleplot,D(a.width/this.avgScrollPointWidth));for(x=
0;x<m;x++)f=k[x],"column"===f.type&&w++;this.config.isstacked&&(w=1);e*=w||1;2<=h&&h<e?(a.viewPortConfig.scaleX=e/=h,u=u*(e-1)*(void 0!==y?y:z?1:0),a.viewPortConfig.x=u/e,l.vxLength=h/m,a.scrollEnabled=!0):a.scrollEnabled=!1},drawScrollBar:function(){var e=this,l=e.config,h=l.viewPortConfig,n=e.components,k=e.graphics,m=n.paper,f=n.xAxis[0],x=f.config,u=f.config.axisRange,z=l.scrollOptions||(l.scrollOptions={}),y=u.max,B=u.min,D=z.vxLength,R=n.scrollBar,u=R.node,fa=l.scrollToEnd,oa=l.lastScrollPosition,
qa=h.scaleX,ja,ka,ma,S,wa;S=void 0!==oa?oa:fa?1:0;h=l.canvasLeft;fa=l.canvasTop;oa=l.canvasHeight;ja=l.canvasWidth;n=n.canvas.config;ka=n.canvasBorderWidth;ma=x.showAxisLine?x.axisLineThickness||0:0;wa=v(ka,x.lineStartExtension);x=v(ka,x.lineEndExtension);z.viewPortMin=B;z.viewPortMax=y;qa=z.scrollRatio=1/qa;D=z.windowedCanvasWidth=f.getAxisPosition(D);f=z.fullCanvasWidth=f.getAxisPosition(y-B)-D;z=k.scrollBarParentGroup;z||(z=k.scrollBarParentGroup=m.group("scrollBarParentGroup",k.parentGroup).insertBefore(k.datalabelsGroup));
!1!==l.scrollEnabled?(R.draw(h-wa,fa+oa+ka+ma-2,{width:ja+wa+x,scrollRatio:qa,roundEdges:n.isRoundEdges,fullCanvasWidth:f,windowedCanvasWidth:D,scrollPosition:S,parentLayer:z}),!u&&function(){var h;w.eve.on("raphael.scroll.start."+R.node.id,function(f){h=f;a.raiseEvent("scrollstart",{scrollPosition:f},e.chartInstance)});w.eve.on("raphael.scroll.end."+R.node.id,function(f){a.raiseEvent("scrollend",{prevScrollPosition:h,scrollPosition:f},e.chartInstance)})}()):R&&R.node&&R.node.hide()},_drawDataset:function(){this._setClipping();
u.mscartesian._drawDataset.call(this)},_setClipping:function(){var a=this.config,e=this.graphics.datasetGroup,h=this.graphics.datalabelsGroup,l=this.graphics.trackerGroup,k=a.viewPortConfig,m=this.graphics.sumLabelsLayer,f=k.scaleX,w=this.get("config","animationObj"),v=w.duration,u=w.dummyObj,z=w.animObj,w=w.animType,k=k.x,a=a.height,y=this.components.canvas.config.clip["clip-canvas"],y=y&&y.slice(0)||[];this.config.clipSet?(e.animateWith(u,z,{"clip-rect":y},v,w),h.animateWith(u,z,{"clip-rect":y},
v,w),l.attr({"clip-rect":y}),y[3]=a,y[1]=0,m&&m.animateWith(u,z,{"clip-rect":y},v,w)):(e.attr({"clip-rect":y}),h.attr({"clip-rect":y}),l.attr({"clip-rect":y}),y[3]=a,y[1]=0,m&&m.attr({"clip-rect":y}));e.attr({transform:"T"+-(k*f)+",0"});h.attr({transform:"T"+-(k*f)+",0"});l.attr({transform:"T"+-(k*f)+",0"});m&&m.attr({transform:"T"+-(k*f)+",0"});this.config.clipSet=!0},configure:function(){var a=this.jsonData.chart,e;u.mscolumn2d.configure.call(this);e=this.config;e.scrollToEnd=v(a.scrolltoend,0);
e.lastScrollPosition=void 0}},u.scrollbase)}]);u.register("module",["private","modules.renderer.js-scrollarea2d",function(){var a=this.hcLib,e=a.chartAPI,u=a.pluckNumber,l=Math.floor;e("scrollarea2d",{friendlyName:"Scrollable Multi-series Area Chart",tooltipConstraint:"plot",canvasborderthickness:1,creditLabel:!1,hasScroll:!0,defaultDatasetType:"scrollarea2d",applicableDSList:{scrollarea2d:!0},avgScrollPointWidth:75,defaultPlotShadow:0,binSize:0,_setAxisScale:function(){var a=this.config,e=this.components.xAxis[0].getCategoryLen(),
D=this.jsonData,y=a.scrollOptions||(a.scrollOptions={}),v;v=a.lastScrollPosition;var w=a.scrollToEnd,q=a.canvasWidth,D=u(D.chart.numvisibleplot,l(a.width/this.avgScrollPointWidth));2<=D&&D<e?(a.viewPortConfig.scaleX=e/=D,v=q*(e-1)*(void 0!==v?v:w?1:0),a.viewPortConfig.x=v/e,y.vxLength=D,a.scrollEnabled=!0):a.scrollEnabled=!1}},e.scrollcolumn2d,{enablemousetracking:!0},e.areabase)}]);u.register("module",["private","modules.renderer.js-scrollline2d",function(){var a=this.hcLib.chartAPI;a("scrollline2d",
{friendlyName:"Scrollable Multi-series Line Chart",tooltipConstraint:"plot",canvasborderthickness:1,defaultDatasetType:"line",creditLabel:!1,avgScrollPointWidth:75,defaultPlotShadow:1,binSize:0},a.scrollarea2d,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0,enablemousetracking:!0},a.areabase)}]);u.register("module",["private","modules.renderer.js-scrollstackedcolumn2d",function(){var a=this.hcLib.chartAPI;a("scrollstackedcolumn2d",{friendlyName:"Scrollable Stacked Column Chart",canvasborderthickness:1,
tooltipConstraint:"plot",avgScrollPointWidth:75,creditLabel:!1},a.scrollcolumn2d,{},a.stackedcolumn2d)}]);u.register("module",["private","modules.renderer.js-scrollcombi2d",function(){var a=this.hcLib.chartAPI;a("scrollcombi2d",{friendlyName:"Scrollable Combination Chart",tooltipConstraint:"plot",hasScroll:!0,canvasborderthickness:1,avgScrollPointWidth:40,applicableDSList:{area:!0,line:!0,column:!0},creditLabel:!1,_createDatasets:a.mscombi2d},a.scrollcolumn2d,{},a.msarea)}]);u.register("module",["private",
"modules.renderer.js-scrollcombidy2d",function(){var a=this.hcLib.chartAPI;a("scrollcombidy2d",{friendlyName:"Scrollable Dual Y-Axis Combination Chart",tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40,hasScroll:!0,_swipeX:a.scrollcolumn2d,_drawDataset:a.scrollcolumn2d,updateManager:a.scrollcolumn2d,_setAxisScale:a.scrollcolumn2d,_createToolBox:a.scrollcolumn2d,_scrollBar:a.scrollcolumn2d,_manageScrollerPosition:a.scrollcolumn2d,drawScrollBar:a.scrollcolumn2d,_setClipping:a.scrollcolumn2d,
_setInitialDrawingIndex:a.scrollcolumn2d,_filterLabelFn:a.scrollcolumn2d,_filterDataFn:a.scrollcolumn2d,_filterSumFn:a.scrollcolumn2d,_datasetModifyFn:a.scrollcolumn2d,_labelModifyFn:a.scrollcolumn2d,_sumValModifyFn:a.scrollcolumn2d,_manageScroll:a.scrollcolumn2d,_createSumLabelPool:a.scrollcolumn2d,_createDataPool:a.scrollcolumn2d,_imageModifyFn:a.scrollcolumn2d,_filterImageFn:a.scrollcolumn2d,creditLabel:!1,configure:a.scrollcolumn2d,eiMethods:{scrollTo:a.mscartesian._scrollTo}},a.mscombidy2d,{enablemousetracking:!0,
isdual:!0},a.areabase)}]);u.register("module",["private","modules.renderer.js-scatter",function(){var a=this.hcLib.chartAPI;a("scatter",{friendlyName:"Scatter Chart",isXY:!0,usesXYinCategory:!0,standaloneInit:!0,hasLegend:!0,defaultZeroPlaneHighlighted:!1,creditLabel:!1,defaultDatasetType:"Scatter",applicableDSList:{Scatter:!0},drawTracker:!0},a.scatterBase,{allowreversexaxis:!0,enablemousetracking:!0})}]);u.register("module",["private","modules.renderer.js-bubble",function(){var a=this.hcLib.chartAPI,
e=Math,u=e.max,l=e.min;a("bubble",{friendlyName:"Bubble Chart",standaloneInit:!0,defaultDatasetType:"bubble",creditLabel:!1,applicableDSList:{bubble:!0},getDataLimits:function(){var a=this.components.dataset,e,D,y,v=-Infinity,w=Infinity;e=0;for(y=a.length;e<y;e++)D=a[e],D=D.getDataLimits(),v=u(v,D.zMax||-Infinity),w=l(w,D.zMin||Infinity);v=-Infinity===v?0:v;w=Infinity===w?0:w;return{zMax:v,zMin:w}}},a.scatter,{enablemousetracking:!0})}])},[3,2,2,"sr4"]]);u.register("module",["private","modules.renderer.js-zoomline",
function(){var a=this,e=a.hcLib,B=e.hashify,l=a.window,z=l.document,R=l.Image,D=l.MouseEvent,y=/msie/i.test(l.navigator.userAgent)&&!l.opera,v=e.chartAPI,w=e.extend2,q=e.addEvent,A=e.pluck,h=e.pluckNumber,n=e.getFirstColor,k=e.graphics.convertColor,m=e.bindSelectionEvent,f=e.parseUnsafeString,x=e.componentDispose,G=e.Raphael,W=e.toRaphaelColor,J=e.hasTouch,na=e.plotEventHandler,X=e.getMouseCoordinate,ia=e.TOUCH_THRESHOLD_PIXELS,fa=e.CLICK_THRESHOLD_PIXELS,oa=J?ia:fa,qa=e.preDefStr.DEFAULT,ja="rgba(192,192,192,"+
(y?.002:1E-6)+")",ka=e.schedular,ma=e.priorityList,S=Math,wa=S.ceil,ta=S.floor,O=S.round,da=S.max,ra=S.min,ua=S.cos,sa=S.sin,va=l.parseFloat,za=l.parseInt,c;w(e.eventList,{zoomed:"FC_Zoomed",pinned:"FC_Pinned",resetzoomchart:"FC_ResetZoomChart"});v("zoomline",{standaloneInit:!0,canvasborderthickness:1,defaultDatasetType:"zoomline",applicableDSList:{zoomline:!0},friendlyName:"Zoomable and Panable Multi-series Line Chart",creditLabel:!1,_drawAxis:function(){var d=this.components.yAxis||[],b,a;b=0;for(a=
d.length;b<a;b++)d[b].draw()},_setCategories:function(){var d=this.config,b=this.jsonData,a=this.components.xAxis,c,g,t;g=d.cdmchar;var e=b.categories&&b.categories[0].category||[];if((d.cdm||"string"===typeof e)&&e.split){d=e.split(g);c=[];g=0;for(t=d.length;g<t;g+=1)c.push({label:d[g]});this.config.categories=b.categories[0].category=c}a[0].setAxisPadding(0,0);a[0].setCategory(c||e)},_createDatasets:function(){var d,b,a,c,g,t,e,f,h;g={};var k=this.config;d=this.components;f=this.jsonData;var l=
f.dataset,m=l&&l.length,w=k.cdmchar,q=k.cdm,n=this.defaultDatasetType,v=this.applicableDSList,k=this.components.legend.components.items||[];f=f.categories&&f.categories[0].category;l&&f||this.setChartMessage();this.config.categories=f;f=d.dataset||(d.dataset=[]);h=f.length;for(d=0;d<m;d++){e=l[d];if(q&&e.data&&e.data.split){t=e.data.split(w);c=[];b=0;for(a=t.length;b<a;b++)c.push({value:t[b]});e.data=c}b=e.parentyaxis||"";b=(b=this.isDual&&"s"===b.toLowerCase()?A(e.renderas,this.sDefaultDatasetType):
A(e.renderas,n))&&b.toLowerCase();v[b]||(b=n);if(a=u.get("component",["dataset",b]))void 0===g[b]?g[b]=0:g[b]++,(b=f[d])?(a=(b.JSONData.data||[]).length,c=(e.data||[]).length,a>c&&b.removeData(c,a-c,!1),f[d].JSONData=e,f[d].configure(),f[d]._deleteGridImages&&f[d]._deleteGridImages()):(b=new a,f.push(b),b.chart=this,b.index=d,b.init(e))}if(h>m){g=h-m;b=d;for(m=g+d;b<m;b++)x.call(f[b]);f.splice(d,g);k.splice(d,g)}},isWithinCanvas:function(d,b){var a=b.get("config"),c=e.getMouseCoordinate(b.get("linkedItems",
"container"),d,b),g=c.chartX,t=c.chartY,f=a.canvasLeft,h=a.canvasTop,k=a.canvasLeft+a.canvasWidth,a=a.canvasHeight+a.canvasTop;c.insideCanvas=!1;c.originalEvent=d;g>f&&g<k&&t>h&&t<a&&(c.insideCanvas=!0);return c},highlightPoint:function(d,b,a,c,g,t){var f=this,h=f.config,k=f.components,l=f.graphics,m=k.paper,w=l.tracker,q=(k=k.dataset[g])&&k.config;g=k&&q.zoomedRadius||0;var n=k&&q.hoverCosmetics,k=n&&n.fill,q=n&&n.borderColor,n=n&&n.borderThickness,x={},x=function(b){e.plotEventHandler.call(this,
f,b)},v=function(b){e.plotEventHandler.call(this,f,b,"dataplotRollover")},u=function(b){e.plotEventHandler.call(this,f,b,"dataplotRollout")};w||(w=l.tracker=m.circle(0,0,0,l.trackerGroup).attr({"clip-rect":h.canvasLeft+","+h.canvasTop+","+h.canvasWidth+","+h.canvasHeight}).click(x).trackTooltip(!0).hover(v,u));c&&w.data("eventArgs",{x:c.x,y:c.y,tooltip:c.tooltip,link:c.link});h.lastHoveredPoint=c;x=Number(d)?{r:g,fill:k,stroke:q,"stroke-width":n}:{r:g,fill:ja,stroke:ja,"stroke-width":0};w.attr(x).tooltip(t).transform("t"+
(b+h.canvasLeft)+","+(a+h.canvasTop));c&&f.fireMouseEvent("mouseover",w&&w.node,h.lastMouseEvent)},fireMouseEvent:function(d,b,a){var c;b&&d&&(a||(a={}),a.originalEvent&&(a=a.originalEvent),a.touches&&(a=a.touches[0]),b.dispatchEvent?(D?c=new D(d,{bubbles:!!a.bubbles,cancelable:!!a.cancelable,clientX:a.clientX||a.pageX&&a.pageX-z.body.scrollLeft-z.documentElement.scrollLeft||0,clientY:a.clientY||a.pageY&&a.pageY-z.body.scrollTop-z.documentElement.scrollTop||0,screenX:a.screenX||0,screenY:a.screenY||
0,pageX:a.pageX||0,pageY:a.pageY||0}):z.createEvent&&(c=z.createEvent("HTMLEvents"),c.initEvent(d,!!a.bubbles,!!a.cancelable)),c.eventName=d,c&&b.dispatchEvent(c)):z.createEventObject&&b.fireEvent&&(c=z.createEventObject(),c.eventType=d,c.eventName=d,b.fireEvent("on"+d,c)))},configure:function(){var d,b=this.jsonData.chart||{},a=this.components.colorManager,c=a.getColor("canvasBorderColor"),g;b.animation=0;b.showvalues=0;v.msline.configure.call(this);g=this.config;d=g.style;w(g,{useRoundEdges:h(b.useroundedges,
0),animation:!1,zoomType:"x",canvasPadding:h(b.canvaspadding,0),scrollColor:n(A(b.scrollcolor,a.getColor("altHGridColor"))),scrollShowButtons:!!h(b.scrollshowbuttons,1),scrollHeight:h(b.scrollheight,16)||16,scrollBarFlat:h(b.flatscrollbars,0),allowPinMode:h(b.allowpinmode,1),skipOverlapPoints:h(b.skipoverlappoints,1),showToolBarButtonTooltext:h(b.showtoolbarbuttontooltext,1),btnResetChartTooltext:A(b.btnresetcharttooltext,"Reset Chart"),btnZoomOutTooltext:A(b.btnzoomouttooltext,"Zoom out one level"),
btnSwitchToZoomModeTooltext:A(b.btnswitchtozoommodetooltext,"<strong>Switch to Zoom Mode</strong><br/>Select a subset of data to zoom into it for detailed view"),btnSwitchToPinModeTooltext:A(b.btnswitchtopinmodetooltext,"<strong>Switch to Pin Mode</strong><br/>Select a subset of data and compare with the rest of the view"),pinPaneFill:k(A(b.pinpanebgcolor,c),h(b.pinpanebgalpha,15)),zoomPaneFill:k(A(b.zoompanebgcolor,"#b9d5f1"),h(b.zoompanebgalpha,30)),zoomPaneStroke:k(A(b.zoompanebordercolor,"#3399ff"),
h(b.zoompaneborderalpha,80)),showPeakData:h(b.showpeakdata,0),maxPeakDataLimit:h(b.maxpeakdatalimit,b.maxpeaklimit,null),minPeakDataLimit:h(b.minpeakdatalimit,b.minpeaklimit,null),crossline:{enabled:h(b.showcrossline,1),line:{"stroke-width":h(b.crosslinethickness,1),stroke:n(A(b.crosslinecolor,"#000000")),"stroke-opacity":h(b.crosslinealpha,20)/100},labelEnabled:h(b.showcrosslinelabel,b.showcrossline,1),labelstyle:{fontSize:va(b.crosslinelabelsize)?va(b.crosslinelabelsize)+"px":d.outCanfontSize,fontFamily:A(b.crosslinelabelfont,
d.outCanfontFamily)},valueEnabled:h(b.showcrosslinevalues,b.showcrossline,1),valuestyle:{fontSize:va(b.crosslinevaluesize)?va(b.crosslinevaluesize)+"px":d.inCanfontSize,fontFamily:A(b.crosslinevaluefont,d.inCanvasStyle.fontFamily)}},useCrossline:h(b.usecrossline,1),tooltipSepChar:A(b.tooltipsepchar,", "),showTerminalValidData:h(b.showterminalvaliddata,0),cdmchar:A(b.dataseparator,"|"),cdm:h(b.compactdatamode,0)})},getValuePixel:function(d){var b=this.config.viewPortConfig;return b.ddsi+ta(d/b.ppp)},
__toolbar:function(){var d,b,a,c,g=this,t=g.components,e=t.tb=new (u.register("component",["toolbox","toolbox"])),f=e.getDefaultConfiguration(),l,m;e.init({iAPI:{chart:g},graphics:g.graphics,chart:g,components:t});d=t.toolBoxAPI||e.getAPIInstances(e.ALIGNMENT_HORIZONTAL);b=d.SymbolStore;a=d.ComponentGroup;c=d.Toolbar;l=d.Symbol;m=d.Scroller;e.graphics={};return{reInit:function(){e.init({iAPI:{chart:g},graphics:g.graphics,chart:g,components:t})},addSymbol:function(b,d,a,c){b=new l(b);a&&c.setConfiguaration({buttons:w(w({},
f),a)});d.tooltext=a.tooltip;d&&b.attachEventHandlers(d);c.addSymbol(b);return b},addScroll:function(b,d){var a=new m(b);d&&a.attachEventHandlers(d);return a},addComponentGroup:function(b,d){var c;c=new a;c.setConfiguaration({group:{fill:d?d.fill:k("EBEBEB",0),borderThickness:d?h(d.borderThickness,0):0}});return c},addToolBox:function(b){var d,a=new c;for(d=0;d<b.length;d+=1)a.addComponent(b[d]);return a},setDrawingArea:function(b,d){b.drawingArea=d;return b},draw:function(b){var d,a,c;for(d=0;d<
b.length;d+=1)a=b[d],c=a.drawingArea,a.draw(c.x,c.y)},registerSymbol:function(d,a){b.register(d,a)},getLogicalSpace:function(b){return b.getLogicalSpace()},getNode:function(b){return b.node}}},__preDraw:function(){var d,b,a,r,g,e,f,k,l,q=this,n=q.components,x=n.paper,v=q.graphics;b=v.imageContainer;var u=q.config,y=u.canvasLeft,z=u.canvasWidth;d=q.jsonData.chart;var A=u.cdm;a=n.xAxis[0];var B=u.viewPortConfig,D=q.components.canvas.config;g=da(D.canvasPadding,D.canvasPaddingLeft,D.canvasPaddingRight);
e=n.yAxis[0];l=v.datasetGroup;var D=u.canvasHeight,J=u.canvasTop,O=q.jsonData.chart,O=u.borderWidth||(u.borderWidth=h(O.showborder,1)?h(O.borderthickness,1):0);f=u.allowPinMode;var R=u.crossline,B=a.getCategoryLen(),S=za(h(d.displaystartindex,1),10)-1,W=za(h(d.displayendindex,B||2),10)-1,X=0,L=n.dataset,C=L.length,n=v.crossline;u.updateAnimDuration=500;b.transform("t"+y+","+J);b.attr({"clip-rect":y+","+J+","+z+","+D});u.status="zoom";u.maxZoomLimit=h(d.maxzoomlimit,1E3);u.viewPortHistory=[];1>(b=
h(d.pixelsperpoint,15))&&(b=1);(a=h(d.pixelsperlabel,d.xaxisminlabelwidth,a.getAxisConfig("labels").rotation?20:60))<b&&(a=b);(0>S||S>=(B-1||1))&&(S=0);(W<=S||W>(B-1||1))&&(W=B-1||1);B=u.viewPortConfig=w(u.viewPortConfig,{amrd:h(d.anchorminrenderdistance,20),nvl:h(d.numvisiblelabels,0),cdm:A,oppp:b,oppl:a,dsi:S,dei:W,vdl:W-S,clen:B,offset:0,step:1,llen:0,alen:0,ddsi:S,ddei:W,ppc:0});if(B.clen){for(;C--;)d=L[C].config,X=da(X,d.drawanchors&&(d.anchorradius||0)+(Number(d.anchorborderthickness)||0)||
0);u.overFlowingMarkerWidth=X;g=u.canvasPadding=da(X,g);u._prezoomed=B.dei-B.dsi<B.clen-1;d=u._visw=u.canvasWidth-2*g;r=u._visx=u.canvasLeft+g;u._visout=-(u.height+D+1E3);u._ypvr=e&&e.getPVR()||0;g=u._yminValue=e.getLimit().min;e=u._ymin=e.getPixel(g);l=l.attr("clip-rect",[r-X,J,d+2*X,D]);v.scroll||(v.scroll=x.group("scroll").insertAfter(v.datasetGroup));f&&(u.viewPortConfig.pinned=!1,f=G.crispBound(0,J-e,0,D,O),u["clip-pinrect"]=[f.x,J,f.width,f.height],k=(v.zoompin||(v.zoompin=x.group("zoompin"))).insertBefore(l).transform(u._pingrouptransform=
["T",r,e]).hide(),l={"stroke-width":0,stroke:"none",fill:u.pinPaneFill,"shape-rendering":"crisp",ishot:!0},v.pinrect?(l.x=0,l.y=J-e,l.width=d,l.height=D,v.pinrect.attr(l)):v.pinrect=x.rect(0,J-e,d,D,k).attr(l),l={transform:k.transform(),x:0,y:J-e,width:0,height:D,stroke:"none",fill:ja,ishot:!0,cursor:G.svg&&"ew-resize"||"e-resize"},v.pintracker?v.pintracker.attr(l).hide():v.pintracker=x.rect(v.trackerGroup).attr(l).hide().drag(function(b,d){var a=d[0],c=r+a+this.__pindragdelta,p=this.__pinboundleft,
g=this.__pinboundright,e=this.data("cliprect").slice(0),t=u._ymin;c<p?c=p:c>g&&(c=g);k.transform(["T",c,t]);v.pintracker.transform(k.transform());G.svg||(e[0]=e[0]+c-r-this.__pindragdelta,k.attr("clip-rect",e));this.__pindragoffset=a},function(){var b=u["clip-pinrect"],d=u._visw;this.__pinboundleft=0-b[0]+u._visx+u.canvasLeft;this.__pinboundright=this.__pinboundleft+d-b[2];this.data("cliprect",k.attr("clip-rect"));k._.clipispath=!0},function(){k._.clipispath=!1;this.__pindragdelta+=this.__pindragoffset;
delete this.__pindragoffset;delete this.__pinboundleft;delete this.__pinboundright}));O++;f=G.crispBound(y-O,J+D+O,z+O+O,u.scrollHeight,O);O--;m(q,{attr:{stroke:u.zoomPaneStroke,fill:u.zoomPaneFill,strokeWidth:0},selectionStart:function(){},selectionEnd:function(b){var d=b.selectionLeft-y;b=d+b.selectionWidth;v.crossline&&v.crossline.hide();q[u.viewPortConfig.pinned?"pinRangePixels":"zoomRangePixels"](d,b)}});R&&0!==R.enabled&&1===u.useCrossline?(n||(n=v.crossline=new c),n.configure(q,R)):(R&&(R.enabled=
0),n&&n.hide())}},resetZoom:function(){var d=this.config.viewPortHistory,b=d[0];if(!d.length)return!1;d.length=0;this.zoomTo(b.dsi,b.dei,b)&&a.raiseEvent("zoomReset",this._zoomargs,this.chartInstance,[this.chartInstance.id]);return!0},eiMethods:{zoomOut:function(d){var b=this.apiInstance,a=b.chartInstance.args.asyncRender,c,g=b.getJobList();if(b)if(a)g.eiMethods.push(ka.addJob(function(){c=b.zoomOut&&b.zoomOut();"function"===typeof d&&d(c)},ma.postRender));else return b.zoomOut&&b.zoomOut()},scrollTo:v.mscartesian._scrollTo,
zoomTo:function(d,b,a){var c=this.apiInstance,g=c.chartInstance.args.asyncRender,e,f=c.getJobList();if(c)if(g||a)f.eiMethods.push(ka.addJob(function(){e=c.zoomRange&&c.zoomRange(d,b);"function"===typeof a&&a(e)},ma.postRender));else return c.zoomRange&&c.zoomRange(d,b)},resetChart:function(){var d=this.apiInstance,b=d.chartInstance.args.asyncRender,a=d.getJobList(),c=function(){d.pinRangePixels&&d.pinRangePixels();d.resetZoom&&d.resetZoom()};d&&(b?a.eiMethods.push(ka.addJob(c,ma.postRender)):c())},
setZoomMode:function(d){var b=this.apiInstance,a=b.chartInstance.args.asyncRender,c=b.getJobList();b&&(a?c.eiMethods.push(ka.addJob(function(){b.activatePin&&b.activatePin(!d)},ma.postRender)):b.activatePin&&b.activatePin(!d))},getViewStartIndex:function(d){var b=this.apiInstance,a=b.chartInstance.args.asyncRender,c,g=b.getJobList();if(d||a)g.eiMethods.push(ka.addJob(function(){"function"===typeof d&&b&&(c=b.config.viewPortConfig)&&d(c.ddsi)},ma.postRender));else if(b&&(c=b.config.viewPortConfig))return c.ddsi},
getViewEndIndex:function(d){var b=this.apiInstance,a=b.chartInstance.args.asyncRender,c,g,e=b.getJobList();if(d||a)e.eiMethods.push(ka.addJob(function(){"function"===typeof d&&b&&(c=b.config.viewPortConfig)&&(g=c.ddei-1,d((g>=c.clen?c.clen:g)-1))},ma.postRender));else if(b&&(c=b.config.viewPortConfig))return g=c.ddei-1,(g>=c.clen?c.clen:g)-1}},zoomOut:function(){var d,b,c=this.config;b=c.viewPortHistory;var e,g,t;d=b.pop();b=b[0]||c.viewPortConfig;d?(e=d.dsi,g=d.dei):c._prezoomed&&(e=0,g=b.clen-1);
(t=this.zoomTo(e,g,d))&&a.raiseEvent("zoomedout",t,this.chartInstance);return!0},zoomRangePixels:function(d,b){var c=this.config,e=c.viewPortHistory,c=c.viewPortConfig,g=c.ppp,t=c.ddsi,f;e.push(c);(f=this.zoomTo(t+ta(d/g),t+ta(b/g)))?a.raiseEvent("zoomedin",f,this.chartInstance):e.pop()},zoomRange:function(d,b){var c,e,g=this.config,t=g.viewPortConfig;e=this.components.xAxis[0];var f=g.viewPortHistory,h;f.push(t);c=e.getPixel(d);e=e.getPixel(b);t.x=c;t.scaleX=g.canvasWidth/(c-e);(h=this.zoomTo(+d,
+b))?a.raiseEvent("zoomedin",h,this.chartInstance):f.pop()},zoomTo:function(d,b,c){var e,g;e=this.config;var t=this.components,f=e.viewPortConfig,h=e.canvasHeight;g=e.canvasLeft;var l=e.canvasTop,k=e.canvasBottom,m=e.viewPortHistory,q=f.clen,u=this.components.xAxis[0];0>d&&(d=0);d>=q-1&&(d=q-1);b<=d&&(b=d+1);b>q-1&&(b=q-1);if(d===b||d===f.dsi&&b===f.dei)return!1;this.pinRangePixels();f=w({},f);f.dsi=d;f.dei=b;f=e.viewPortConfig=f;c?this.updateVisual(c.x,c.y,c.scaleX,c.scaleY):(c=u.getPixel(d),e=u.getPixel(b),
g=this.getOriginalPositions(c-g,l,e-g,k-l),this.zoomSelection(g[0],0,g[2],h));t.scrollBar.node.attr({"scroll-ratio":f.vdl/(q-!!q),"scroll-position":[f.dsi/(q-f.vdl-1),!0]});t={level:m.length+1,startIndex:d,startLabel:u.getLabel(d).label,endIndex:b,endLabel:u.getLabel(b).label};a.raiseEvent("zoomed",t,this.chartInstance,[this.chartInstance.id,d,b,t.startLabel,t.endLabel,t.level]);return t},activatePin:function(d){var b=this.config.viewPortConfig,c=this.components.tb.graphics.pinButton;if(b.pinned^
(d=!!d))return d||this.pinRangePixels(),a.raiseEvent("zoomModeChanged",{pinModeActive:d},this.chartInstance,[]),this.updateButtonVisual(c.node,d?"pressed":"enable"),b.pinned=d},updateButtonVisual:function(d,b){return d.attr({disable:{config:{hover:{fill:"#FFFFFF","fill-symbol":"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"},normal:{fill:"#FFFFFF","fill-symbol":"#FFFFFF",stroke:"#E3E3E3","stroke-width":1,cursor:"default"},disable:{fill:"#FFFFFF","fill-symbol":"#FFFFFF","stroke-width":1,
stroke:"#E3E3E3","stroke-opacity":1,cursor:"default"},pressed:{fill:"#FFFFFF","fill-symbol":"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"}},"button-disabled":!1,stroke:"#E3E3E3","stroke-opacity":1},enable:{config:{hover:{fill:"#FFFFFF","fill-symbol":"#FFFFFF","stroke-width":1,stroke:"#aaaaaa",cursor:"pointer"},normal:{fill:"#FFFFFF","fill-symbol":"#FFFFFF",stroke:"#C2C2C2","stroke-width":1,cursor:"pointer"},disable:{fill:"#FFFFFF","fill-symbol":"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",
"stroke-opacity":1,cursor:"pointer"},pressed:{fill:"#EFEFEF","fill-symbol":"#EFEFEF","stroke-width":1,stroke:"#C2C2C2",cursor:"pointer"}},"button-disabled":!1,fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#C2C2C2","stroke-opacity":1},pressed:{config:{hover:{fill:"#dcdcdc","fill-symbol":"#FFFFFF","stroke-width":1,stroke:"#b7b7b7",cursor:"pointer"},normal:{fill:"#dcdcdc","fill-symbol":"#FFFFFF","stroke-width":1,stroke:"#b7b7b7",cursor:"pointer"},pressed:{fill:"#dcdcdc","fill-symbol":"#FFFFFF",
"stroke-width":1,stroke:"#b7b7b7",cursor:"pointer"}},fill:"#dcdcdc","fill-symbol":"#FFFFFF","stroke-width":1,stroke:"#b7b7b7",cursor:"pointer"}}[b])},pinRangePixels:function(d,b){var a,c=this.components,g=c.paper,e=this.graphics,f=this.config,h=f.canvasLeft,l=f.viewPortConfig,k=e.zoompin;a=e.pinrect;var m=f["clip-pinrect"],q=f._pingrouptransform,c=c.dataset,u=b-d,n,w,v,e=e.pintracker;if(l&&k&&a){if(d===b)return k.hide(),e.hide(),l.pinned=!1;for(v=c.length;v--;)n=c[v],a=n.graphics,w=a.pinline,w||(w=
a.pinline=g.path(k)),w.attr({path:a.lineElement.attrs.path,transform:["T",-f._visx,-f._ymin]}).attr(n.config.pin);m[0]=d+h;m[2]=u;k.attr({"clip-rect":m,transform:q}).show();e.__pindragdelta=0;e.show().attr({transform:q,x:d,width:u});this.getValuePixel(d);this.getValuePixel(b);return l.pinned=!0}},_createLayers:function(){var d,b=this.components.paper;v.scatter._createLayers.call(this);d=this.graphics;d.imageContainer=b.group("dataset-orphan",d.dataSetGroup);this.__preDraw()},getValue:function(d){var b=
this.config,a=this.components,c=b.viewPortConfig;d=this.getOriginalPositions(d.x,d.y,d.x,d.y);var g=a.xAxis[0].config.axisRange,a=a.yAxis[0].config.axisRange,e=g.min,f=a.max;return{x:e+(d[0]-b.canvasLeft)/(b.canvasWidth*c.scaleX/(g.max-e)),y:f-(d[1]-b.canvasTop)/(b.canvasHeight*c.scaleY/(f-a.min))}},getOriginalPositions:function(d,b,a,c){var g=this.config,e=g.viewPortConfig,f=e.scaleX,h=e.scaleY,l=e.x,e=e.y,k=ra(d,a);d=da(d,a);a=ra(b,c);b=da(b,c);d=d>g.canvasWidth?g.canvasWidth:d;b=b>g.canvasHeight?
g.canvasHeight:b;k=0>k?0:k;a=0>a?0:a;return[l+k/f,e+a/h,(d-k)/f,(b-a)/h]},zoomSelection:function(d,b,a,c){var g=this.config;a&&c&&(a=Math.abs(g.canvasWidth/a),c=Math.abs(g.canvasHeight/c),this.updateVisual(d,b,a,c))},updateVisual:function(d,b,a,c,g){var e=this.config,f=e.viewPortConfig,h=e.canvasWidth,k=e.canvasHeight,l=e.viewPortHistory.slice(-1)[0]||f,e=e.maxZoomLimit;f.x=isNaN(d)?d=l.x:d;f.y=isNaN(b)?b=l.y:b;f.scaleX=a||(a=l.scaleX);f.scaleY=c||(c=l.scaleY);a>e&&(f.x=ra(d,h-h/e),f.scaleX=e);c>
e&&(f.y=ra(b,k-k/e),f.scaleY=e);this.updateManager(g)},toogleDragPan:function(d){var b=this.config.viewPortConfig,a=b.status;d&&(b.status="zoom"===a?"pan":"zoom")},resize:function(){var d=this.config,b=this.graphics,a=this.components.canvas,c=a.graphics,g=c.canvasBorderElement,c=c.canvasElement,a=a.config.canvasBorderThickness,e=a/2,f=d.canvasHeight-=a,h=d.canvasWidth-=2*a,k=d.canvasLeft+=a;d.canvasBottom-=a;d.canvasRight-=a;c?c.attr({x:k,y:d.canvasTop,height:f,width:h}):this.drawCanvas();g&&g.attr({x:k-
e,y:d.canvasTop-e,height:f+a,width:h+a,"stroke-width":a});b.imageContainer.attr({"clip-rect":d.canvasLeft+","+d.canvasTop+","+d.canvasWidth+","+d.canvasHeight}).transform("t"+d.canvasLeft+","+d.canvasTop);b.trackerElem.attr({x:d.canvasLeft,y:d.canvasTop,width:d.canvasWidth,height:d.canvasHeight});b.tracker&&b.tracker.attr({"clip-rect":d.canvasLeft+","+d.canvasTop+","+d.canvasWidth+","+d.canvasHeight})},updateManager:function(d){var b,a;a=this.components;var c=a.dataset,g=c.length;b=this.config;var e=
b.allowPinMode,f=b.viewPortConfig,h=b._ypvr,k=b._visw,m=this.components.xAxis[0],q=function(){return m.getPixel.apply(m,arguments)},w=m.getAxisConfig("labels").style,n,v,x,y,z,A=this.updateButtonVisual,B=a.tb.graphics,D=B.zoomOutButton,G=B.resetButton,B=B.pinButton,J=b.viewPortHistory;if(b.legendClicked)for(d=0;d<g;d+=1)c[d].draw();else{!f&&(f=b.viewPortConfig);n=f.oppp;z=x=f.nvl;v=f.dsi;x=f.dei;v=f.vdl=x-v;x=f.ppl=z?k/z:f.oppl;k=f.step=(y=f.ppp=k/v)<n?wa(n/y):1;w=f.lskip=wa(da(x,va(w.lineHeight))/
y/k);void 0!==d?(n=(f.clen-v-1)*d,f.offset=(n-(n=za(n)))*y,v=n+v):(n=f.dsi,v=f.dei,f.offset=0);y=f.norm=n%k;f.ddsi=n-=y;f.ddei=v=v+2*k-y;f.pvr=h;f._ymin=b._ymin;f._yminValue=b._yminValue;f.x=(q(n)-q(m.getLimit().min)+f.offset)/f.scaleX;v-n>m.getCategoryLen()?f.scaleX=1:f.scaleX=m.getCategoryLen()/Math.abs(v-n-k-.9);void 0!==d&&a.scrollBar.node&&a.scrollBar.node.attr({"scroll-position":f._pos=d});a=m._getVisibleConfig();a=Math.ceil((a.maxValue-a.minValue+1)/z);b=b.viewPortConfig&&b.viewPortConfig.scaleX;
b=Math.max(Math.round(m.getAxisConfig("labelStep")/b),z?a:w*k);m.setLabelConfig({step:b});b=m.getAxisConfig("animateAxis");z=m.getAxisConfig("drawAxisName");d&&m.setAxisConfig({animateAxis:!1,drawAxisName:!1});m.draw();m.setAxisConfig({animateAxis:b,drawAxisName:z});for(d=0;d<g;d+=1)c[d].draw();A(D.node,f.vdl===f.clen-1?"disable":"enable");A(G.node,0<J.length?"enable":"disable");B&&A(B.node,e?"enable":"disable");l.FC_DEV_ENVIRONMENT&&l.jQuery&&(u["debugger"].enable()?(this.debug=this.debug||(l.jQuery("#fc-zoominfo").length||
l.jQuery("body").append('<pre id="fc-zoominfo">'),l.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(f,0,2))):(this.debug&&l.jQuery("#fc-zoominfo").remove(),delete this.debug))}},_drawDataset:function(){v.zoomline.updateManager.call(this)},getParsedLabel:function(d){var b=this.xlabels;return b.parsed[d]||
(b.parsed[d]=f(b.data[d]||""))},_createToolBox:function(){var d,b,a,c,e,f,h,k=this,l=k.config;h=l.allowPinMode;c=k.components;var m=l.showToolBarButtonTooltext;d=c.chartMenuBar;b=c.actionBar;d&&d.drawn||b&&b.drawn||(v.scrollcolumn2d._createToolBox.call(k),d=c.tb,b=d.graphics||(d.graphics={}),a=c.toolBoxAPI||d.getAPIInstances(d.ALIGNMENT_HORIZONTAL),a=a.Symbol,c=(c.chartMenuBar||c.actionBar).componentGroups[0],e=b.zoomOutButton=(new a("zoomOutIcon",void 0,d.idCount++,d.pId)).attachEventHandlers({click:function(){k.zoomOut()},
tooltext:m&&l.btnZoomOutTooltext||""}),f=b.resetButton=(new a("resetIcon",void 0,d.idCount++,d.pId)).attachEventHandlers({click:function(){k.resetZoom()},tooltext:m&&l.btnResetChartTooltext||""}),h&&(h=b.pinButton=(new a("pinModeIcon",void 0,d.idCount++,d.pId)).attachEventHandlers({click:function(){k.activatePin(!l.viewPortConfig.pinned)},tooltext:m&&l.btnSwitchToPinModeTooltext||""}),c.addSymbol(h,!0)),c.addSymbol(f,!0),c.addSymbol(e,!0))},_scrollBar:v.scrollcolumn2d,_manageScrollerPosition:v.scrollcolumn2d,
draw:function(){var d,b,c,e,g,f,h,k,l,m,q=this,n=q.config,u=q.graphics||(q.graphics={});f=q.components;d=q.jsonData;e=d.dataset;var w=d.categories&&d.categories[0].category,x;v.msline.draw.call(q);h=n.canvasLeft;k=n.canvasTop;l=n.canvasHeight;m=n.canvasWidth;d=n.borderWidth;b=n.useRoundEdges;c=n.viewPortConfig;(x=u.toolboxParentGroup)||(x=u.toolboxParentGroup=f.paper.group("toolbarParentGroup",u.parentGroup));e&&w&&(d++,e=G.crispBound(h-d,k+l+d,m+d+d,n.scrollHeight,d),d--,f=(g=f.scrollBar)&&g.node,
g.draw(e.x+(b&&-1||d%2),e.y-(b&&4||2),{isHorizontal:!0,width:e.width-(!b&&2||0),height:e.height,showButtons:n.scrollShowButtons,scrollRatio:c.vdl/(c.clen-!!c.clen),scrollPosition:[c.dsi/(c.clen-c.vdl-1),!1],r:b&&2||0,parentLayer:x.insertBefore(u.datalabelsGroup)}),!f&&function(){var b;G.eve.on("raphael.scroll.start."+g.node.id,function(d){b=d;q.graphics.crossline&&q.graphics.crossline.disable(!0);a.raiseEvent("scrollstart",{scrollPosition:d},q.chartInstance)});G.eve.on("raphael.scroll.end."+g.node.id,
function(d){q.graphics.crossline&&q.graphics.crossline.disable(!1);a.raiseEvent("scrollend",{prevScrollPosition:b,scrollPosition:d},q.chartInstance)})}())}},v.msline,{showValues:0,zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0,enablemousetracking:!0});v("zoomlinedy",{standaloneInit:!0,defaultDatasetType:"zoomline",applicableDSList:{zoomline:!0},creditLabel:!1,friendlyName:"Zoomable and Panable Multi-series Dual-axis Line Chart",_spaceManager:v.msdybasecartesian._spaceManager,_setAxisLimits:v.msdybasecartesian._setAxisLimits,
_createAxes:v.msdybasecartesian._createAxes,_feedAxesRawData:v.msdybasecartesian._feedAxesRawData},v.zoomline,{isdual:!0});u.register("component",["dataset","zoomline",{_setConfigure:function(){var d=this.config,b=this.chart.jsonData.chart,a=this.JSONData;d.drawanchors=h(b.drawanchors,b.showanchors,1);d.anchorradius=h(a.anchorradius,b.anchorradius,d.linethickness+2);this.__base__._setConfigure.apply(this,arguments)},_firePlotEvent:function(d,b,a,c){var g=this.chart,f=this.components,f=(f.dataRT||
f.data)[b],h=f.graphics.element,k=e.toolTip,l=a.originalEvent,m=g.components.paper.canvas.style,q=!this.chart.config.useCrossline,n,u;if(h)switch(n=f.config,u=n.setLink,n=n.eventArgs,d){case "mouseover":q&&this._decideTooltipType(b,c,a);this._rolloverResponseSetter(g,f,l);u&&(m.cursor="pointer");break;case "mouseout":k.hide(g.chartInstance.id);this._rolloutResponseSetter(g,f,l);u&&(m.cursor=qa);break;case "click":na.call(h,g,l,"dataplotclick",n);break;case "mousemove":q&&this._decideTooltipType(b,
c,a)}},configure:function(){var a,b,c={};a=this.chart.jsonData.chart;a.animation=0;a.showvalues=h(a.showvalues,0);this.__base__.configure.call(this);b=this.config;a=b.linethickness+h(a.pinlinethicknessdelta,1);c["stroke-width"]=0<a&&a||0;c["stroke-dasharray"]=[3,2];c.stroke=e.hashify(b.linecolor);c["stroke-opacity"]=b.alpha/100;c["stroke-linejoin"]=b["stroke-linejoin"]="round";c["stroke-linecap"]=b["stroke-linecap"]="round";b.pin=c;b.animation=!1;b.transposeanimduration=0},isWithinShape:function(a,
b,c,e){if(a){var g=a.config.anchorProps,f=g.borderThickness,k=this.components.data,l=h(a.config.dragTolerance,0),m,q;m=a._xPos;q=a._yPos;if(null!==q)return a=a.config.hoverEffects,g=Math.max(g.radius,a&&a.anchorRadius||0,oa)+f/2,c=Math.sqrt(Math.pow(c-m,2)+Math.pow(e-q,2)),c<=g||c<=l?{pointIndex:b,hovered:!0,pointObj:k[b]}:!1}},draw:function(){var a,b,c=!1,f=!1,g=this,t=g.JSONData,k=g.chart,l=k.components,m=g.config,q=g.index||g.positionIndex,n=k.config,u=k.jsonData.chart,w=g.components,v=w.data,
x=v.length,y,z=l.paper,B=l.xAxis[0],D=g.yAxis,G,J,O=k.graphics,S=O.datalabelsGroup,ia=e.parseUnsafeString,ka=e.getValidValue,L,C,H,E,ma,ca,P,M,N,U=m.linethickness,Q=g.graphics.container,na=g.graphics.trackerContainer,oa=n.viewPortConfig,ja=O.datasetGroup,fa,qa=m.shadow,ga,ba=g.graphics.dataLabelContainer,K={},T,ea,sa=k.is3D,ta=m.use3dlineshift,ua,ha,pa,va=D.getAxisBase(),wa=D.yBasePos=D.getAxisPosition(va),za=B.getAxisPosition(0),qb=B.getAxisPosition(1)-za,Ta,Ga=sa?10:0,ya=sa&&ta?10:0,Y=[da(0,n.canvasLeft-
Ga),da(0,n.canvasTop-ya),da(1,n.canvasWidth+2*Ga),da(1,n.canvasHeight+ya)],Ia=[da(0,n.canvasLeft-Ga),da(0,n.canvasTop-ya),1,da(1,n.canvasHeight+2*ya)],rb={},Ja=k.hasScroll||!1,aa,Ha=m.lineDashStyle,Na={color:m.linecolor,alpha:m.alpha};[W(Na),Ha].join(":");var Ua,gb,$a,Qa=g.graphics.lineElement,Va=g.visible,hb,ab,Ka=g.pool||(g.pool={element:[]}),ib={},bb={},jb={},kb,cb=[],lb,Ea,Wa,Xa,db,eb,sb=n.showTerminalValidData,Ra=n.viewPortConfig,tb=n.showPeakData,mb=n.maxPeakDataLimit,nb=n.minPeakDataLimit,
ub=h(n.useCrossline,0),La=Ra.step,fb=B.getPixel(Ra.step)-za<Ra.amrd,ob=function(b,a){var d=b.graphics;ea=b.config;E=ea.setValue;H=ea.setLink;hb=ea.x||a;ha=ka(ia(A(ea.setLevelTooltext,t.plottooltext,u.plottooltext)));ea.toolTipValue=D.dataLabels(E);ua=ea.showValue;K=ea.anchorProps;ga=K.shadow;ca=ea.displayValue;ab=ea.dip||0;b||(b=v[a]={graphics:{}});$a={color:ea.color,alpha:ea.alpha};pa=ea.dashStyle;G=ea.xPos||B.getAxisPosition(hb)-Ga;J=g.visible?D.getAxisPosition(E)+ya:wa;fa=ea.hoverEffects;K.isAnchorHoverRadius=
fa.anchorRadius;kb=B.getLabel(a);L=ea.toolText+(ha?"":ea.toolTipValue);ea.finalTooltext=L;ma={index:a,link:H,value:E,displayValue:ca,categoryLabel:kb,toolText:L,id:m.userID,datasetIndex:q,datasetName:t.seriesname,visible:Va};null===ea.setValue||fb||(K.imageUrl?(T=new R,T.onload=g._onAnchorImageLoad(g,a,ma,G,J),T.onerror=g._onErrorSetter(G,J,a,g),T.src=K.imageUrl):(C=d.element,C||(C=Ka.element&&Ka.element.length?d.element=Ka.element.shift():d.element=z.polypath(Q.anchorGroup)),C.attr({polypath:[K.symbol[1]||
2,G,J,K.radius,K.startAngle,ab],fill:W({color:K.bgColor,alpha:K.bgAlpha}),stroke:W({color:K.borderColor,alpha:K.borderAlpha}),"stroke-width":K.borderThickness,visibility:K.radius?Va:"hidden"}).shadow(ga,Q.anchorShadowGroup).data("anchorRadius",K.radius).data("anchorHoverRadius",fa.anchorRadius).data("hoverEnabled",fa.enabled).data("eventArgs",ma),fa.enabled&&(N={polypath:[fa.anchorSides||2,G,J,fa.anchorRadius,fa.startAngle,fa.dip],fill:W({color:fa.anchorColor,alpha:fa.anchorBgAlpha}),stroke:W({color:fa.anchorBorderColor,
alpha:fa.anchorBorderAlpha}),"stroke-width":fa.anchorBorderThickness},M={polypath:[K.sides,G,J,K.radius,K.startAngle,ab],fill:W({color:K.bgColor,alpha:K.bgAlpha}),stroke:W({color:K.borderColor,alpha:K.borderAlpha}),"stroke-width":K.borderThickness},C&&C.data("setRolloverAttr",N).data("setRolloutAttr",M)),C[E||0===E?"show":"hide"]()),da(K.radius,fa&&fa.anchorRadius||0));b._xPos=G;b._yPos=J;[W($a||Na),pa||Ha].join(":");jb=g.getLinePath([b],jb);Ua=W($a||Na);gb=pa||Ha;A(ea.setColor,ea.setAlpha,ea.setDashed);
[Ua,gb].join(":");ua&&!K.imageUrl&&g.drawLabel(a);cb.push(b)},vb=function(b,a){var d=b&&b.length,c=b.slice().sort(function(b,a){return b.config.setValue-a.config.setValue}),e=c&&c.pop().config.setValue,g=c.length&&c.shift().config.setValue||e,c=0;if(e>mb||g<nb)for(;c<d;){C=b[c];e=C.config.setValue;if(e>mb||e<nb)e=a+c,ob(C,e);c+=1}},Ya=function(b,c){--b;c+=1;var e;for(y=b;y<c;y+=1)for(e in a=v[y]&&v[y].graphics||{},v[y]&&(v[y].config.isRemoving=!0),a)Ka[e]||(Ka[e]=[]),a[e]&&(Ka[e].push(a[e].hide()),
a[e]=void 0)},Za=oa.ddsi||0,Ma=oa.ddei||x,Oa=m._oldStartIndex,Pa=m._oldEndIndex,wb=m._oldStep,pb=w.removeDataArr,xb=pb&&pb.length;ja.line=ja.line||z.group("line",ja);ja.lineConnector=ja.lineConnector||z.group("line-connector",ja);Q||(Q=g.graphics.container={lineShadowGroup:z.group("connector-shadow",ja.line),anchorShadowGroup:z.group("anchor-shadow",ja.lineConnector),lineGroup:z.group("line",ja.line),anchorGroup:z.group("anchors",ja.lineConnector)},Q.lineGroup.trackTooltip(!0),Va||(Q.lineShadowGroup.hide(),
Q.anchorShadowGroup.hide(),Q.lineGroup.hide(),Q.anchorGroup.hide()));na||(na=g.graphics.trackerContainer=z.group("line-hot",O.trackerGroup).toBack(),Va||na.hide());v||(v=g.components.data=[]);ba||(ba=g.graphics.dataLabelContainer=g.graphics.dataLabelContainer||z.group("datalabel",S),Va||ba.hide());Ta=qb*x;fb&&!m._oldHideAnchors?Ya(Oa,Pa):La!==wb?Ya(Oa,Pa):(Za>Oa&&Ya(Oa,Za>Pa?Pa:Za),Ma<Pa&&Ya(Ma<Oa?Oa:Ma,Pa),(Za<Oa||Ma>Pa)&&Ya(Oa,Pa));m._oldHideAnchors=fb;m._oldEndIndex=Ma;m._oldStep=La;g.setVisibility(Va);
for(y=m._oldStartIndex=Za;y<=Ma;y+=La){P=v[y]||{};ea=P.config||{};ea.isRemoving=!1;E=ea.setValue||null;Wa=y;if(sb)if(0===y&&null===E){lb=0;for(Ea=b=y;Ea<x;)if(null!==v[Ea].config.setValue||c?c=!0:Ea++,null===v[b].config.setValue&&!f&&b<=x?(b+=La,lb++):f=!0,c&&f){c=f=!1;break}0!==Ea%La&&(ea=v[Ea].config,Wa=Ea)}else if(y>=x&&null===E){for(Ea=b=y;0<Ea&&(void 0!==v[Ea]||c?c=!0:Ea--,void 0===v[b]&&!f&&0<=b?b-=La:f=!0,!c||!f););0!==Ea%La&&(ea=v[Ea].config,Wa=Ea)}if(P=v[Wa])ob(P,Wa),tb&&1<La&&(Xa=ra(y+1,
Ma),eb=ra(Xa+La,Ma),db=eb===Ma?v.slice(Xa):v.slice(Xa,eb),db.length&&vb(db,Xa))}bb=g.getLinePath(cb,{});ib=g.getLinePath(cb,ib);m.lastPath=bb;Qa||(Qa=Ka.lineElement&&Ka.lineElement.length?g.graphics.lineElement=Ka.lineElement.shift():g.graphics.lineElement=z.path(Q.lineGroup));ub||Qa.tooltipListenerAttached||(Qa.tooltipListenerAttached=!0,Qa.mousemove(function(b){Ra=n.viewPortConfig;var a=n._visx,c=Ra.step,d=Ra.ppp*c,a=X(k.linkedItems.container,b,k).chartX-a,e;b=n.tooltipSepChar;a=(a+=d/2+Ra.offset)-
a%d;e=(e=k.getValuePixel(a))+e%c;c=B.getLabel(e).label+b+g.components.data[e].config.formatedVal;c=m.seriesname&&m.seriesname+b+c||c;Qa.tooltip(0===n.crossline.enabled?c:!1)}));Qa.attr({path:bb.getPathArr(),"stroke-dasharray":Ha,"stroke-width":U,stroke:W(Na),"stroke-linecap":"round","stroke-linejoin":2<=U?"round":"miter"}).shadow(qa,Q.lineShadowGroup);Ja&&(aa=rb.startPercent,Y[2]=Ta+Ia[0],1===aa&&(Ia[0]=Y[2],Y[0]=0));Y[3]+=ya;g.drawn=!0;xb&&g.remove()},setVisibility:function(a,b){var c=this.graphics,
e=c&&c.container,g=c&&c.trackerContainer,c=c&&c.dataLabelContainer,f=a?"show":"hide";e.lineGroup[f]();e.anchorGroup[f]();e.anchorShadowGroup[f]();e.lineShadowGroup[f]();g[f]();c[f]();b&&this.transposeLimits(a)},transposeLimits:function(a){var b=this.chart,c=b.config,e=this.yAxis;b._chartAnimation();this.visible=a;this._conatinerHidden=!a;b._setAxisLimits();e.draw();c.legendClicked=!0;b._drawDataset();delete c.legendClicked},hide:function(){this.setVisibility(!1,!0)},show:function(){this.setVisibility(!0,
!0)}},"Line"]);c=function(){};c.prototype.configure=function(a,b){var c,e,g,f={},h=this,k=a.components,l=k.numberFormatter,m=k.paper,n=a.config;c=a.graphics;e=this.left=n._visx;g=this.top=n.canvasTop;var v=this.height=n.canvasHeight,u=this._visout=n._visout,x=this.plots=a.components.dataset,y=c.datalabelsGroup,z,A,D=b.labelstyle,G=b.valuestyle,J=k.yAxis[0],O=J.getLimit(),R=k.yAxis[1],S=R&&R.getLimit();A=this.tracker;var k=this.labels,W=this.positionLabel;z=a.get("linkedItems");var X=z.container,L=
z.eventListeners||(z.eventListeners=[]);h.width=n._visw;z=this.group;z||(z=this.group=m.group("crossline-labels",y),this.container=X);z.attr({transform:["T",e,n._ymin]}).css(G);A||(A=h.tracker=X,L.push(q(X,"touchstart mousemove",function(b){var c=h.onMouseMove,e=h.onMouseOut;a.isWithinCanvas(b,a).insideCanvas?c.call(h,b):e.call(h,b)},h)),L.push(q(X,"mousedown",function(){h.onMouseDown()},h)),L.push(q(X,"mouseup",function(){h.onMouseUp()},h)),L.push(q(X,"mouseout",function(){h.onMouseOut()},h)));A=
this.line;A||(A=this.line=m.path(y).toBack());A.attr(w({path:["M",e,g,"l",0,v]},b.line));k||(k=this.labels=b.valueEnabled&&m.set());b.labelEnabled?(f.x=u,f.y=g+v+(n.scrollHeight||0)+2.5,f["vertical-align"]="top",f.direction=n.textDirection,f.text="",W?(W.attr(f),W.css(D)):W=this.positionLabel=m.text(f,D,c.datalabelsGroup).insertBefore(c.datasetGroup)):(W&&W.remove(),delete this.positionLabel);this.hide();this.ppixelRatio=-J.getPVR();this.spixelRatio=R&&-R.getPVR();this.yminValue=n._yminValue;this.pyaxisminvalue=
O.min;this.pyaxismaxvalue=O.max;this.syaxisminvalue=S&&S.min;this.syaxismaxvalue=S&&S.max;this.positionLabels=n.xlabels||{data:[],parsed:[]};this.chart=a;this.getZoomInfo=function(){return n.viewPortConfig};this.getDataIndexFromPixel=function(b){return Math.round(a.components.xAxis[0].getValue(b))};this.getPositionLabel=function(b){return(b=a.components.xAxis[0].getLabel(b))&&b.label||""};if(b.valueEnabled){c=0;for(e=x.length;c<e;c+=1)g=x[c],g=B(g.config.linecolor),f.x=0,f.y=u,f.fill=g,f.direction=
n.textDirection,f.text="",f["text-bound"]=G["text-bound"],f.lineHeight=G.lineHeight,k[c]?k[c].attr(f):k[c]=k.items[c]=m.text(f,void 0,z);for(;c<k.items.length;c+=1)k[c].remove(),delete k[c],k.items.splice(c,1);this.numberFormatter=l}else if(k.items&&k.items.length){for(c=0;c<k.items.length;c+=1)k[c].remove(),delete k[c];k.length=0}};c.prototype.disable=function(a){void 0!==a&&(this.disabled=!!a)&&this.visible&&this.hide();return this.disabled};c.prototype.onMouseOut=function(){this.hide();this.position=
void 0};c.prototype.onMouseDown=function(){!J&&this.hide();this._mouseIsDown=!0};c.prototype.onMouseUp=function(){!J&&this.hide();delete this._mouseIsDown};c.prototype.onMouseMove=function(a){if(!(this.disabled||this._mouseIsDown&&!J)){var b,c=this.getZoomInfo(),e=this.line,f=this.left,c=c.step,h=this.chart,k=h.components.xAxis[0],m=h.get("config"),l=m.canvasLeft,n=k.getAxisConfig("axisDimention");a=X(this.container,a,h).chartX-f;var f=k._getVisibleConfig(),n=n.x-l,q;q=(q=this.getDataIndexFromPixel(O(a)))+
((b=q%c)>c/2?c-b:-b);a=k.getPixel(q)-n-l;e.transform(["T",O(a),0]);this.hidden&&0!==m.crossline.enabled&&this.show();(q<f.minValue||q>f.maxValue)&&this.hide();if(q!==this.position||this.hidden)this.position=q,this.lineX=a,this.updateLabels()}};c.prototype.updateLabels=function(){var a=this,b=a.labels,c=a.plots,e=a.width,f=a.position,h=a.lineX,k=ta(h),m=a.ppixelRatio,l=a.spixelRatio,n=a.yminValue,q=a._visout,v=a.numberFormatter,u=a.pyaxisminvalue,w=a.pyaxismaxvalue,x=a.syaxisminvalue,y=a.syaxismaxvalue,
z=function(){function b(){this.y=0;this.lRef=void 0;this.__index=this.__shift=0}function c(b){for(var a=0;a<b;)this.push(a++);return this}function e(b){var a,c,d,f={},g=Number.POSITIVE_INFINITY;for(a=0;a<this.length;a++)c=this[a]-b,0>c?d=u.NEG:d=u.POS,c=t(c),c<=g&&(g=c,f.absValue=c,f.noScaleSide=d);return f}function f(b){this.holes=c.call([],b)}var g=-1*a.height,h=n*m,k=0,p,l={},r,t=Math.abs,v=Math.floor,u={};"function"!=typeof Object.create&&(Object.create=function(){function b(){}var a=Object.prototype.hasOwnProperty;
return function(c){var d,e,f;if("object"!=typeof c)throw new TypeError("Object prototype may only be an Object or null");b.prototype=c;f=new b;b.prototype=null;if(1<arguments.length)for(e in d=Object(arguments[1]),d)a.call(d,e)&&(f[e]=d[e]);return f}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(b,a){var c,d,e;if(null==this)throw new TypeError('"this" is null or not defined');d=Object(this);e=d.length>>>0;if(0===e)return-1;c=+a||0;Infinity===Math.abs(c)&&(c=0);if(c>=e)return-1;for(c=
Math.max(0<=c?c:e-Math.abs(c),0);c<e;){if(c in d&&d[c]===b)return c;c++}return-1});Array.prototype.forEach||(Array.prototype.forEach=function(b,a){var c,d,e,f,g;if(null==this)throw new TypeError(" this is null or not defined");e=Object(this);f=e.length>>>0;if("function"!==typeof b)throw new TypeError(b+" is not a function");1<arguments.length&&(c=a);for(d=0;d<f;)d in e&&(g=e[d],b.call(c,g,d,e)),d++});b.prototype.constructor=b;b.prototype.applyShift=function(b){this.__shift=b;this.lRef.calcY=this.y+=
b*k};b.prototype.applyDirectIndex=function(b){this.__index=b;this.lRef.calcY=this.y=g-b*k*-1};try{Object.defineProperty(u,"POS",{enumerable:!1,configurable:!1,get:function(){return 1}}),Object.defineProperty(u,"NEG",{enumerable:!1,configurable:!1,get:function(){return-1}})}catch(w){u.POS=1,u.NEG=-1}f.prototype=Object.create(Array.prototype);f.prototype.constructor=f;f.prototype.repositionHoles=function(){var b,a=0,c;for(b=this.holes.length=0;b<this.length;b++)c=this[b],!c&&(this.holes[a++]=b)};f.prototype.attachShift=
function(a,c,d){var f,g=this.length;if(a===q)d.calcY=q;else if(g=c>g-1?g-1:c,f=this[g],c=new b,c.y=a,c.lRef=d,f){a=e.call(this.holes,g);d=g+a.absValue*a.noScaleSide;if(a.noScaleSide===u.POS)return c.applyDirectIndex(d),this.splice(d,1,c),this.holes.splice(this.holes.indexOf(d),1),d;if(a.noScaleSide===u.NEG){a=this.splice(d+1,this.length-1);this.pop();a.forEach(function(b){b&&b.applyShift(-1)});for([].push.apply(this,a);this[d];)d++;this.push(0);this.repositionHoles();a=e.call(this.holes,d);d+=a.absValue*
a.noScaleSide;c.applyDirectIndex(d);this.splice(d,1,c);this.repositionHoles();return this.length-1}}else c.applyDirectIndex(g),this.splice(g,1,c),this.holes.splice(this.holes.indexOf(g),1)};try{Object.defineProperty(l,"top",{enumerable:!1,configurable:!1,get:function(){return g}}),Object.defineProperty(l,"bottom",{enumerable:!1,configurable:!1,get:function(){return h}})}catch(w){l.top=g,l.bottom=h}l.init=function(b,a){var c;k=b+2;g+=k/2;r=v(t(g)/k);p=new f(r);for(c=0;c<r;c++)p.push(0)};l.occupy=function(b,
a){var c=v(t(g-b)/k);p&&p.attachShift(b,c,a)};return l}();b&&(b[0]&&b[0].attr({text:v.yAxis("0")}),b[0]&&z.init(b[0].getBBox().height,b.length),b.forEach(function(b,a){var d=c[a],e=d.components.data[f]&&d.components.data[f].config.setValue,h=d.config.parentYAxis;z.occupy(void 0===e||!d.visible||(h?e>y||e<x:e>w||e<u)?q:h?(e-x)*l:(e-u)*m,b)}));b&&b.forEach(function(b,a){var d=c[a],l,m;(d=v[d.config.parentYAxis?"sYAxis":"yAxis"](d.components.data[f]&&d.components.data[f].config.setValue))?(b.attr({text:d}),
d=(d=(d=(d=b.getBBox())&&d.width)&&.5*d)&&d+10,m=b.calcY,l=da(0,ra(k,e)),void 0!==m&&void 0!==l&&b.attr({x:l,y:m,"text-anchor":h<=d&&"start"||h+d>=e&&"end"||"middle","text-bound":["rgba(255,255,255,0.8)","rgba(0,0,0,0.2)",1,2.5]})):b.attr({x:-e})});a.positionLabel&&a.positionLabel.attr({x:h+a.left,text:a.getPositionLabel(f),"text-bound":["rgba(255,255,255,1)","rgba(0,0,0,1)",1,2.5]})};c.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"))};c.prototype.hide=function(){this.hidden=!0;this.group.attr("visibility","hidden");this.line.attr("visibility","hidden");this.positionLabel&&this.positionLabel.attr("visibility","hidden")};c.prototype.dispose=function(){for(var a in this)this.hasOwnProperty(a)&&delete this[a]};G.addSymbol({pinModeIcon:function(a,b,c){var e=.5*c,f=a-c,h=a+c,k=a-e,l=a+e,m=a+.5,n=m+1,q=m+1.5,u=b-c,v=b+e,w=b-e,e=b+(c-e);return["M",f,u,"L",
k,w,k,e,f,v,a-.5,v,a,b+c+.5,m,v,h,v,l,e,l,w,h,u,q,u,q,w,q,e,n,e,n,w,q,w,q,u,"Z"]},zoomOutIcon:function(a,b,c){a-=.2*c;b-=.2*c;var e=.8*c,f=G.rad(43),h=G.rad(48),k=a+e*ua(f),f=b+e*sa(f),l=a+e*ua(h),h=b+e*sa(h),m=G.rad(45),n=k+c*ua(m),q=f+c*sa(m),u=l+c*ua(m);c=h+c*sa(m);return["M",k,f,"A",e,e,0,1,0,l,h,"Z","M",k+1,f+1,"L",n,q,u,c,l+1,h+1,"Z","M",a-2,b,"L",a+2,b,"Z"]},resetIcon:function(a,b,c){var e=a-c,f=(S.PI/2+S.PI)/2;a+=c*ua(f);var f=b+c*sa(f),h=2*c/3;return["M",e,b,"A",c,c,0,1,1,a,f,"L",a+h,f-1,
a+2,f+h-.5,a,f]}})}])});

//# sourceMappingURL=http://localhost:3052/3.12.2/map/licensed/fusioncharts.charts.js.map
