@canvasjs/stockcharts 1.7.20 → 1.7.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- CanvasJS StockChart - v1.7.20 GA - https://canvasjs.com/
1
+ CanvasJS StockChart - v1.7.21 GA - https://canvasjs.com/
2
2
  Copyright 2023 fenopix
3
3
 
4
4
  --------------------- License Information --------------------
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS StockChart - v1.7.20 GA - https://canvasjs.com/
2
+ CanvasJS StockChart - v1.7.21 GA - https://canvasjs.com/
3
3
  Copyright 2023 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -126,135 +126,135 @@ this._wrappedText.lines[u];if("right"===this.horizontalAlign||"right"===this.tex
126
126
  null};na.prototype.measureText=function(){this._lineHeight=eb(this.fontFamily,this.fontSize,this.fontWeight);if(null===this.maxWidth)throw"Please set maxWidth and height for TextBlock";this._wrapText(this.ctx);this._isDirty=!1;return{width:this.width,height:this.height}};na.prototype._getLineWithWidth=function(e,s,u){e=String(e);if(!e)return{text:"",width:0};var y=u=0,F=e.length-1,O=Infinity;for(this.ctx.font=this._getFontString();y<=F;){var O=Math.floor((y+F)/2),z=e.substr(0,O+1);u=this.ctx.measureText(z).width;
127
127
  if(u<s)y=O+1;else if(u>s)F=O-1;else break}u>s&&1<z.length&&(z=z.substr(0,z.length-1),u=this.ctx.measureText(z).width);s=!0;if(z.length===e.length||" "===e[z.length])s=!1;s&&(e=z.split(" "),1<e.length&&e.pop(),z=e.join(" "),u=this.ctx.measureText(z).width);return{text:z,width:u}};na.prototype._wrapText=function(){var e=new String(Pa(String(this.text))),s=[],u=this.ctx.font,y=0,F=0;this.ctx.font=this._getFontString();if(0===this.frontSize)F=y=0;else for(;0<e.length;){var O=this.maxHeight-(this.topPadding+
128
128
  this.bottomPadding),z=this._getLineWithWidth(e,this.maxWidth-(this.leftPadding+this.rightPadding),!1);z.height=this._lineHeight;s.push(z);var J=F,F=Math.max(F,z.width),y=y+z.height,e=Pa(e.slice(z.text.length,e.length));O&&y>O&&(z=s.pop(),y-=z.height,F=J)}this._wrappedText={lines:s,width:F,height:y};this.width=F+(this.leftPadding+this.rightPadding);this.height=y+(this.topPadding+this.bottomPadding);this.ctx.font=u};na.prototype._getFontString=function(){var e;e=""+(this.fontStyle?this.fontStyle+" ":
129
- "");e+=this.fontWeight?this.fontWeight+" ":"";e+=this.fontSize?this.fontSize+"px ":"";var E=this.fontFamily?this.fontFamily+"":"";!s&&E&&(E=E.split(",")[0],"'"!==E[0]&&'"'!==E[0]&&(E="'"+E+"'"));return e+=E};ia(Wa,aa);ia(Ia,aa);Ia.prototype.setLayout=function(){if(this.text){var s=this.dockInsidePlotArea?this.chart.plotArea:this.chart,E=s.layoutManager.getFreeSpace(),u=E.x1,y=E.y1,F=0,O=0,z=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?22:0,J,M;"top"===this.verticalAlign||
129
+ "");e+=this.fontWeight?this.fontWeight+" ":"";e+=this.fontSize?this.fontSize+"px ":"";var E=this.fontFamily?this.fontFamily+"":"";!s&&E&&(E=E.split(",")[0],"'"!==E[0]&&'"'!==E[0]&&(E="'"+E+"'"));return e+=E};ia(Wa,aa);ia(Ia,aa);Ia.prototype.setLayout=function(){if(this.text){var s=this.dockInsidePlotArea?this.chart.plotArea:this.chart,E=s.layoutManager.getFreeSpace(),u=E.x1,y=E.y1,F=0,O=0,z=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?40:0,J,M;"top"===this.verticalAlign||
130
130
  "bottom"===this.verticalAlign?(null===this.maxWidth&&(this.maxWidth=E.width-4-z*("center"===this.horizontalAlign?2:1)),O=0.5*E.height-this.margin-2,F=0):"center"===this.verticalAlign&&("left"===this.horizontalAlign||"right"===this.horizontalAlign?(null===this.maxWidth&&(this.maxWidth=E.height-4),O=0.5*E.width-this.margin-2):"center"===this.horizontalAlign&&(null===this.maxWidth&&(this.maxWidth=E.width-4),O=0.5*E.height-4));var N;e(this.padding)||"number"!==typeof this.padding?e(this.padding)||"object"!==
131
131
  typeof this.padding||(N=this.padding.top?this.padding.top:this.padding.bottom?this.padding.bottom:0,N+=this.padding.bottom?this.padding.bottom:this.padding.top?this.padding.top:0):N=2*this.padding;this.wrap||(O=Math.min(O,1.5*this.fontSize+N));O=new na(this.ctx,{fontSize:this.fontSize,fontFamily:this.fontFamily,fontColor:this.fontColor,fontStyle:this.fontStyle,fontWeight:this.fontWeight,horizontalAlign:this.horizontalAlign,textAlign:this.horizontalAlign,verticalAlign:this.verticalAlign,borderColor:this.borderColor,
132
- borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:O,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"top"});N=O.measureText();"top"===this.verticalAlign||"bottom"===this.verticalAlign?("top"===this.verticalAlign?(y=E.y1+2,M="top"):"bottom"===this.verticalAlign&&(y=E.y2-2-N.height,M="bottom"),"left"===this.horizontalAlign?u=E.x1+2:"center"===this.horizontalAlign?u=E.x1+E.width/2-N.width/2:"right"===this.horizontalAlign&&
133
- (u=E.x2-2-N.width-z),J=this.horizontalAlign,this.width=N.width,this.height=N.height):"center"===this.verticalAlign&&("left"===this.horizontalAlign?(u=E.x1+2,y=E.y2-2-(this.maxWidth/2-N.width/2),F=-90,M="left",this.width=N.height,this.height=N.width):"right"===this.horizontalAlign?(u=E.x2-2,y=E.y1+2+(this.maxWidth/2-N.width/2),F=90,M="right",this.width=N.height,this.height=N.width):"center"===this.horizontalAlign&&(y=s.y1+(s.height/2-N.height/2),u=s.x1+(s.width/2-N.width/2),M="center",this.width=N.width,
134
- this.height=N.height),J="center");O.x=u;O.y=y;O.angle=F;O.horizontalAlign=J;this._textBlock=O;s.layoutManager.registerSpace(M,{width:this.width+("left"===M||"right"===M?this.margin+2:0),height:this.height+("top"===M||"bottom"===M?this.margin+2:0)});this.bounds={x1:u,y1:y,x2:u+this.width,y2:y+this.height};this.ctx.textBaseline="top"}};Ia.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};ia(Na,aa);Na.prototype.setLayout=Ia.prototype.setLayout;Na.prototype.render=Ia.prototype.render;
135
- $a.prototype.get=function(e,s){var u=null;0<this.pool.length?(u=this.pool.pop(),Ta(u,e,s)):u=sa(e,s);return u};$a.prototype.release=function(e){this.pool.push(e)};ia(Oa,aa);var Ra={addTheme:function(e,s){ab[e]=s},addColorSet:function(e,s){ya[e]=s},addCultureInfo:function(e,s){Qa[e]=s},formatNumber:function(e,s,u){u=u||"en";if(Qa[u])return ca(e,s||"#,##0.##",new Oa(u));throw"Unknown Culture Name";},formatDate:function(e,s,u){u=u||"en";if(Qa[u])return ga(e,s||"DD MMM YYYY",new Oa(u));throw"Unknown Culture Name";
136
- }};"undefined"!==typeof module&&"undefined"!==typeof module.exports?module.exports=Ra:"function"===typeof define&&define.amd?define([],function(){return Ra}):(window.CanvasJS&&window.console&&window.console.log("CanvasJS namespace already exists. If you are loading both chart and stockchart scripts, just load stockchart alone as it includes all chart features."),window.CanvasJS=window.CanvasJS?window.CanvasJS:Ra);var Ka=Ra.Chart=function(){function l(a,f){return a.x-f.x}function u(a,f,c){f=f||{};
137
- e(c)?(this.predefinedThemes=ab,this.optionsName=this.parent=this.index=null):(this.parent=c.parent,this.index=c.index,this.predefinedThemes=c.predefinedThemes,this.optionsName=c.optionsName,this.stockChart=c.stockChart,this.panel=a,this.isOptionsInArray=c.isOptionsInArray);this.theme=e(f.theme)||e(this.predefinedThemes[f.theme])?"light1":f.theme;u.base.constructor.call(this,"Chart",this.optionsName,f,this.index,this.parent);var b=this;this._containerId=a;this._objectsInitialized=!1;this.overlaidCanvasCtx=
138
- this.ctx=null;this._indexLabels=[];this._panTimerId=0;this._lastTouchEventType="";this._lastTouchData=null;this.isAnimating=!1;this.renderCount=0;this.disableToolTip=this.animatedRender=!1;this.canvasPool=new $a;this.allDOMEventHandlers=[];this.panEnabled=!1;this._defaultCursor="default";this.plotArea={canvas:null,ctx:null,x1:0,y1:0,x2:0,y2:0,width:0,height:0};this._dataInRenderedOrder=[];(this.container="string"===typeof this._containerId?document.getElementById(this._containerId):this._containerId)?
139
- (this.container.innerHTML="",f=a=0,a=this.options.width?this.width:0<this.container.clientWidth?this.container.clientWidth:this.width,f=this.options.height?this.height:0<this.container.clientHeight?this.container.clientHeight:this.height,this.width=a,this.height=f,this.x1=this.y1=0,this.x2=this.width,this.y2=this.height,this.selectedColorSet="undefined"!==typeof ya[this.colorSet]?ya[this.colorSet]:ya.colorSet1,this._canvasJSContainer=document.createElement("div"),this._canvasJSContainer.setAttribute("class",
140
- "canvasjs-chart-container"),this._canvasJSContainer.style.position="relative",this._canvasJSContainer.style.textAlign="left",this._canvasJSContainer.style.cursor="auto",this._canvasJSContainer.style.direction="ltr",s||(this._canvasJSContainer.style.height="0px"),this.container.appendChild(this._canvasJSContainer),this.canvas=sa(a,f),this._preRenderCanvas=sa(a,f),this.canvas.style.position="absolute",this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none",this.canvas.style.msUserSelect=
141
- "none",this.canvas.style.userSelect="none",this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ha(this.ctx),this._preRenderCtx=this._preRenderCanvas.getContext("2d"),this._preRenderCtx.textBaseline="top",Ha(this._preRenderCtx),s?this.plotArea.ctx=this.ctx:(this.plotArea.canvas=sa(a,f),this.plotArea.canvas.style.position="absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),
142
- this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this.overlaidCanvas=sa(a,f),this.overlaidCanvas.style.position="absolute",this.overlaidCanvas.style.webkitTapHighlightColor="transparent",this.overlaidCanvas.style.WebkitUserSelect="none",this.overlaidCanvas.style.MozUserSelect="none",this.overlaidCanvas.style.msUserSelect="none",this.overlaidCanvas.style.userSelect="none",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),
143
- this.overlaidCanvasCtx.textBaseline="top",Ha(this.overlaidCanvasCtx)),this._eventManager=new ea(this),this.windowResizeHandler=y(window,"resize",function(){b._updateSize()&&b.render()},this.allDOMEventHandlers),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),M(this._toolBar,{position:"absolute",right:"1px",top:"1px"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},y(this.overlaidCanvas,
144
- "click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);za(b._dropdownMenu)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?
145
- "MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},
146
- this.allDOMEventHandlers),this.toolTip=new pa(this,this.options.toolTip),this.data=null,this.axisX=[],this.axisX2=[],this.axisY=[],this.axisY2=[],this.sessionVariables={axisX:[],axisX2:[],axisY:[],axisY2:[]})):window.console&&window.console.log('CanvasJS Error: Chart Container with id "'+this._containerId+'" was not found')}function F(a,f){for(var c=[],b,g=0;g<a.length;g++)if(0==g)c.push(a[0]);else{var h,B,e;e=g-1;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[B].x-a[e].x?
147
- 0.01:a[B].x-a[e].x))*(f-1)/2+1;var d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;c[c.length]=a[e].x>a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x+d/3,y:a[e].y+b/3}:{x:a[e].x,y:a[e].y+b/9};e=g;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[e].x-a[h].x?0.01:a[e].x-a[h].x))*(f-1)/2+1;d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;c[c.length]=a[e].x>a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x-d/3,y:a[e].y-b/3}:{x:a[e].x,y:a[e].y-b/9};c[c.length]=a[g]}return c}function R(a,f,c,b,g,h,B,e,d,m){var n=
148
- 0;m?(B.color=h,e.color=h):m=1;n=d?Math.abs(g-c):Math.abs(b-f);n=0<B.trimLength?Math.abs(n*B.trimLength/100):Math.abs(n-B.length);d?(c+=n/2,g-=n/2):(f+=n/2,b-=n/2);var n=1===Math.round(B.thickness)%2?0.5:0,p=1===Math.round(e.thickness)%2?0.5:0;a.save();a.globalAlpha=m;a.strokeStyle=e.color||h;a.lineWidth=e.thickness||2;a.setLineDash&&a.setLineDash(S(e.dashType,e.thickness));a.beginPath();d&&0<e.thickness?(a.moveTo(b-B.thickness/2,Math.round((c+g)/2)-p),a.lineTo(f+B.thickness/2,Math.round((c+g)/2)-
149
- p)):0<e.thickness&&(a.moveTo(Math.round((f+b)/2)-p,c+B.thickness/2),a.lineTo(Math.round((f+b)/2)-p,g-B.thickness/2));a.stroke();a.strokeStyle=B.color||h;a.lineWidth=B.thickness||2;a.setLineDash&&a.setLineDash(S(B.dashType,B.thickness));a.beginPath();d&&0<B.thickness?(a.moveTo(b-n,c),a.lineTo(b-n,g),a.moveTo(f+n,c),a.lineTo(f+n,g)):0<B.thickness&&(a.moveTo(f,c+n),a.lineTo(b,c+n),a.moveTo(f,g-n),a.lineTo(b,g-n));a.stroke();a.restore()}function J(a,f){J.base.constructor.call(this,"Legend","legend",f,
150
- null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.ghostCtx=this.chart._eventManager.ghostCtx;this.items=[];this.optionsName="legend";this.height=this.width=0;this.orientation=null;this.dataSeries=[];this.bounds={x1:null,y1:null,x2:null,y2:null};"undefined"===typeof this.options.fontSize&&(this.fontSize=this.chart.getAutoFontSize(this.fontSize));this.lineHeight=eb(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function O(a,f,c,b){O.base.constructor.call(this,
151
- "DataSeries","data",f,c,a);this.chart=a;this.canvas=a.canvas;this._ctx=a.canvas.ctx;this.index=c;this.noDataPointsInPlotArea=0;this.id=b;this.chart._eventManager.objectMap[b]={id:b,objectType:"dataSeries",dataSeriesIndex:c};a=f.dataPoints?f.dataPoints.length:0;this.dataPointEOs=[];for(f=0;f<a;f++)this.dataPointEOs[f]={};this.dataPointIds=[];this.plotUnit=[];this.axisY=this.axisX=null;this.optionsName="data";this.isOptionsInArray=!0;null===this.fillOpacity&&(this.type.match(/area/i)?this.fillOpacity=
152
- 0.7:this.fillOpacity=1);this.axisPlacement=this.getDefaultAxisPlacement();"undefined"===typeof this.options.indexLabelFontSize&&(this.indexLabelFontSize=this.chart.getAutoFontSize(this.indexLabelFontSize))}function z(a,f,c,b,g,h){z.base.constructor.call(this,"Axis",f,c,b,a);this.chart=a;this.canvas=a.canvas;this.ctx=a.ctx;this.intervalStartPosition=this.maxHeight=this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,
153
- viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===g?("left"===h||"bottom"===h?(this.optionsName="axisX",e(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",e(this.chart.sessionVariables.axisX2[b])&&(this.chart.sessionVariables.axisX2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX2[b]),this.options.interval||(this.intervalType=
154
- null)):"left"===h||"bottom"===h?(this.optionsName="axisY",e(this.chart.sessionVariables.axisY[b])&&(this.chart.sessionVariables.axisY[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY[b]):(this.optionsName="axisY2",e(this.chart.sessionVariables.axisY2[b])&&(this.chart.sessionVariables.axisY2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY2[b]);"undefined"===typeof this.options.titleFontSize&&(this.titleFontSize=this.chart.getAutoFontSize(this.titleFontSize));"undefined"===
155
- typeof this.options.labelFontSize&&(this.labelFontSize=this.chart.getAutoFontSize(this.labelFontSize));this.type=g;"axisX"!==g||c&&"undefined"!==typeof c.gridThickness||(this.gridThickness=0);this._position=h;this.lineCoordinates={x1:null,y1:null,x2:null,y2:null,width:null};this.labelAngle=(this.labelAngle%360+360)%360;90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360);this.options.scaleBreaks&&(this.scaleBreaks=new P(this.chart,
156
- this.options.scaleBreaks,++this.chart._eventManager.lastObjectId,this));this.stripLines=[];if(this.options.stripLines&&0<this.options.stripLines.length)for(a=0;a<this.options.stripLines.length;a++)this.stripLines.push(new N(this.chart,this.options.stripLines[a],a,++this.chart._eventManager.lastObjectId,this));this.options.crosshair&&(this.crosshair=new Y(this.chart,this.options.crosshair,this));this._titleTextBlock=null;this.hasOptionChanged("viewportMinimum")&&null===this.viewportMinimum&&(this.options.viewportMinimum=
157
- void 0,this.sessionVariables.viewportMinimum=null);this.hasOptionChanged("viewportMinimum")||isNaN(this.sessionVariables.newViewportMinimum)||null===this.sessionVariables.newViewportMinimum?this.sessionVariables.newViewportMinimum=null:this.viewportMinimum=this.sessionVariables.newViewportMinimum;this.hasOptionChanged("viewportMaximum")&&null===this.viewportMaximum&&(this.options.viewportMaximum=void 0,this.sessionVariables.viewportMaximum=null);this.hasOptionChanged("viewportMaximum")||isNaN(this.sessionVariables.newViewportMaximum)||
158
- null===this.sessionVariables.newViewportMaximum?this.sessionVariables.newViewportMaximum=null:this.viewportMaximum=this.sessionVariables.newViewportMaximum;null!==this.minimum&&null!==this.viewportMinimum&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));null!==this.maximum&&null!==this.viewportMaximum&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.trackChanges("viewportMinimum");this.trackChanges("viewportMaximum")}function P(a,f,c,b){P.base.constructor.call(this,
159
- "ScaleBreaks","scaleBreaks",f,null,b);this.id=c;this.chart=a;this.ctx=this.chart.ctx;this.axis=b;this.optionsName="scaleBreaks";this.isOptionsInArray=!1;this._appliedBreaks=[];this.customBreaks=[];this.autoBreaks=[];"string"===typeof this.spacing?(this.spacing=parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?8:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.spacing&&(this.spacing=8);this.autoCalculate&&(this.maxNumberOfAutoBreaks=Math.min(this.maxNumberOfAutoBreaks,5));if(this.options.customBreaks&&
160
- 0<this.options.customBreaks.length){for(a=0;a<this.options.customBreaks.length;a++)this.customBreaks.push(new T(this.chart,"customBreaks",this.options.customBreaks[a],a,++this.chart._eventManager.lastObjectId,this)),"number"===typeof this.customBreaks[a].startValue&&("number"===typeof this.customBreaks[a].endValue&&this.customBreaks[a].endValue!==this.customBreaks[a].startValue)&&this._appliedBreaks.push(this.customBreaks[a]);this._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue});
161
- for(a=0;a<this._appliedBreaks.length-1;a++)this._appliedBreaks[a].endValue>=this._appliedBreaks[a+1].startValue&&(this._appliedBreaks[a].endValue=Math.max(this._appliedBreaks[a].endValue,this._appliedBreaks[a+1].endValue),window.console&&window.console.log("CanvasJS Error: Breaks "+a+" and "+(a+1)+" are overlapping."),this._appliedBreaks.splice(a,2),a--)}}function T(a,f,c,b,g,h){T.base.constructor.call(this,"Break",f,c,b,h);this.id=g;this.chart=a;this.ctx=this.chart.ctx;this.scaleBreaks=h;this.optionsName=
162
- f;this.isOptionsInArray=!0;this.type=c.type?this.type:h.type;this.fillOpacity=e(c.fillOpacity)?h.fillOpacity:this.fillOpacity;this.lineThickness=e(c.lineThickness)?h.lineThickness:this.lineThickness;this.color=c.color?this.color:h.color;this.lineColor=c.lineColor?this.lineColor:h.lineColor;this.lineDashType=c.lineDashType?this.lineDashType:h.lineDashType;!e(this.startValue)&&this.startValue.getTime&&(this.startValue=this.startValue.getTime());!e(this.endValue)&&this.endValue.getTime&&(this.endValue=
163
- this.endValue.getTime());"number"===typeof this.startValue&&("number"===typeof this.endValue&&this.endValue<this.startValue)&&(a=this.startValue,this.startValue=this.endValue,this.endValue=a);this.spacing="undefined"===typeof c.spacing?h.spacing:c.spacing;"string"===typeof this.options.spacing?(this.spacing=parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=h.spacing);this.size=h.parent.logarithmic?
164
- 1:0}function N(a,f,c,b,g){N.base.constructor.call(this,"StripLine","stripLines",f,c,g);this.id=b;this.chart=a;this.ctx=this.chart.ctx;this.label=this.label;this.axis=g;this.optionsName="stripLines";this.isOptionsInArray=!0;this._thicknessType="pixel";null!==this.startValue&&null!==this.endValue&&(this.value=g.logarithmic?Math.sqrt((this.startValue.getTime?this.startValue.getTime():this.startValue)*(this.endValue.getTime?this.endValue.getTime():this.endValue)):((this.startValue.getTime?this.startValue.getTime():
165
- this.startValue)+(this.endValue.getTime?this.endValue.getTime():this.endValue))/2,this._thicknessType=null)}function Y(a,f,c){Y.base.constructor.call(this,"Crosshair","crosshair",f,null,c);this.chart=a;this.ctx=this.chart.ctx;this.axis=c;this.optionsName="crosshair";this._thicknessType="pixel"}function pa(a,f){pa.base.constructor.call(this,"ToolTip","toolTip",f,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.currentDataPointIndex=this.currentSeriesIndex=-1;this._prevY=this._prevX=
166
- NaN;this.containerTransitionDuration=0.1;this.mozContainerTransition=this.getContainerTransition(this.containerTransitionDuration);this.optionsName="toolTip";this._initialize()}function ea(a){this.chart=a;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.previousDataPointEventObject=null;this.ghostCanvas=sa(this.chart.width,this.chart.height,!0);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function la(a){this.chart=a;this.ctx=this.chart.plotArea.ctx;
167
- this.animations=[];this.animationRequestId=null}ia(u,aa);u.prototype.destroy=function(){var a=this.allDOMEventHandlers;this._animator&&this._animator.cancelAllAnimations();this._panTimerId&&clearTimeout(this._panTimerId);for(var f=0;f<a.length;f++)gb(a[f][0],a[f][1],a[f][2],a[f][3]);this.allDOMEventHandlers=[];for(this.removeAllEventListeners();this._canvasJSContainer&&this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);for(;this.container&&
168
- this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);for(;this._dropdownMenu&&this._dropdownMenu.hasChildNodes();)this._dropdownMenu.removeChild(this._dropdownMenu.lastChild);this.container=this._canvasJSContainer=null;this.toolTip.container=null;this.canvas&&Da(this.canvas);this.overlaidCanvas&&Da(this.overlaidCanvas);this._preRenderCanvas&&Da(this._preRenderCanvas);this._breaksCanvas&&Da(this._breaksCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Da(this._eventManager.ghostCanvas);
169
- this._toolBar=this._dropdownMenu=this._menuButton=this._resetButton=this._zoomButton=null};u.prototype._updateOptions=function(){var a=this;this.updateOption("width");this.updateOption("height");this.updateOption("dataPointWidth");this.updateOption("dataPointMinWidth");this.updateOption("dataPointMaxWidth");this.updateOption("interactivityEnabled");this.updateOption("theme");this.updateOption("colorSet")&&(this.selectedColorSet="undefined"!==typeof ya[this.colorSet]?ya[this.colorSet]:ya.colorSet1);
170
- this.updateOption("backgroundColor");this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("culture");this._cultureInfo=new Oa(this.options.culture);this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&s;this.updateOption("animationDuration");this.updateOption("rangeChanging");this.updateOption("rangeChanged");this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("zoomType");this.toolbar=new Wa(this,this.options.toolbar);
171
- if(this.options.zoomEnabled||this.panEnabled){if(this._zoomButton)M(this._zoomButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),xa(this,this._zoomButton,"zoom");else{var f=!1;za(this._zoomButton=document.createElement("button"));xa(this,this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+
172
- this.toolbar.buttonBorderColor;y(this._zoomButton,"touchstart",function(a){f=!0},this.allDOMEventHandlers);y(this._zoomButton,"click",function(){a.zoomEnabled?(a.zoomEnabled=!1,a.panEnabled=!0,xa(a,a._zoomButton,"zoom")):(a.zoomEnabled=!0,a.panEnabled=!1,xa(a,a._zoomButton,"pan"));a.render()},this.allDOMEventHandlers);y(this._zoomButton,"mousemove",function(){f?f=!1:(M(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),
173
- 0>=navigator.userAgent.search("MSIE")&&M(a._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers);y(this._zoomButton,"mouseout",function(){f||(M(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&M(a._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers)}this._resetButton?(M(this._resetButton,
174
- {borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),this._resetButton.title=this._cultureInfo.resetText):(f=!1,za(this._resetButton=document.createElement("button")),xa(this,this._resetButton,"reset"),this._resetButton.style.borderRight=(this.exportEnabled?this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor,this._toolBar.appendChild(this._resetButton),y(this._resetButton,
175
- "touchstart",function(a){f=!0},this.allDOMEventHandlers),y(this._resetButton,"click",function(){a.toolTip.hide();a.toolTip&&a.toolTip.enabled&&a.toolTip.dispatchEvent("hidden",{chart:a,toolTip:a.toolTip},a.toolTip);a.zoomEnabled||a.panEnabled?(a.zoomEnabled=!0,a.panEnabled=!1,xa(a,a._zoomButton,"pan"),a._defaultCursor="default",a.overlaidCanvas.style.cursor=a._defaultCursor):(a.zoomEnabled=!1,a.panEnabled=!1);if(a.sessionVariables.axisX)for(var b=0;b<a.sessionVariables.axisX.length;b++)a.sessionVariables.axisX[b].newViewportMinimum=
176
- null,a.sessionVariables.axisX[b].newViewportMaximum=null;if(a.sessionVariables.axisX2)for(b=0;b<a.sessionVariables.axisX2.length;b++)a.sessionVariables.axisX2[b].newViewportMinimum=null,a.sessionVariables.axisX2[b].newViewportMaximum=null;if(a.sessionVariables.axisY)for(b=0;b<a.sessionVariables.axisY.length;b++)a.sessionVariables.axisY[b].newViewportMinimum=null,a.sessionVariables.axisY[b].newViewportMaximum=null;if(a.sessionVariables.axisY2)for(b=0;b<a.sessionVariables.axisY2.length;b++)a.sessionVariables.axisY2[b].newViewportMinimum=
177
- null,a.sessionVariables.axisY2[b].newViewportMaximum=null;a.resetOverlayedCanvas();0>=navigator.userAgent.search("MSIE")&&M(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});za(a._zoomButton,a._resetButton);a.stockChart&&(a.stockChart._rangeEventParameter={stockChart:a.stockChart,source:"chart",index:a.stockChart.charts.indexOf(a),minimum:null,maximum:null});a._dispatchRangeEvent("rangeChanging","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanging",
178
- a.stockChart.dispatchEvent("rangeChanging",a.stockChart._rangeEventParameter,a.stockChart));a.render();a.syncCharts&&a.syncCharts(null,null);a._dispatchRangeEvent("rangeChanged","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanged",a.stockChart.dispatchEvent("rangeChanged",a.stockChart._rangeEventParameter,a.stockChart))},this.allDOMEventHandlers),y(this._resetButton,"mousemove",function(){f||(M(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,
179
- transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&M(a._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers),y(this._resetButton,"mouseout",function(){f||(M(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&M(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers),
180
- this.overlaidCanvas.style.cursor=a._defaultCursor);this.zoomEnabled||this.panEnabled||(this._zoomButton?(a._zoomButton.getAttribute("state")===a._cultureInfo.zoomText?(this.panEnabled=!0,this.zoomEnabled=!1):(this.zoomEnabled=!0,this.panEnabled=!1),Sa(a._zoomButton,a._resetButton)):(this.zoomEnabled=!0,this.panEnabled=!1))}else this.panEnabled=this.zoomEnabled=!1;ib(this);"none"!==this._toolBar.style.display&&this._zoomButton&&(this.panEnabled?xa(a,a._zoomButton,"zoom"):xa(a,a._zoomButton,"pan"),
181
- a._resetButton.getAttribute("state")!==a._cultureInfo.resetText&&xa(a,a._resetButton,"reset"));this.options.toolTip&&this.toolTip.options!==this.options.toolTip&&(this.toolTip.options=this.options.toolTip);for(var c in this.toolTip.options)this.toolTip.options.hasOwnProperty(c)&&this.toolTip.updateOption(c)};u.prototype._updateSize=function(){return lb.call(this,[this.canvas,this.overlaidCanvas,this._eventManager.ghostCanvas])};u.prototype._initialize=function(){this.isNavigator=e(this.parent)||e(this.parent._defaultsKey)||
182
- "Navigator"!==this.parent._defaultsKey?!1:!0;this._animator?this._animator.cancelAllAnimations():this._animator=new la(this);this.removeAllEventListeners();this.disableToolTip=!1;this._axes=[];this.funnelPyramidClickHandler=this.pieDoughnutClickHandler=null;this._updateOptions();this.animatedRender=s&&this.animationEnabled&&0===this.renderCount;this._updateSize();this.clearCanvas();this.ctx.beginPath();this.axisX=[];this.axisX2=[];this.axisY=[];this.axisY2=[];this._indexLabels=[];this._dataInRenderedOrder=
183
- [];this._events=[];this._eventManager&&this._eventManager.reset();this.plotInfo={axisPlacement:null,plotTypes:[]};this.layoutManager=new La(0,0,this.width,this.height,this.isNavigator?0:2);this.plotArea.layoutManager&&this.plotArea.layoutManager.reset();this.data=[];this.title=null;this.subtitles=[];var a=0,f=null;if(this.options.data){for(var c=0;c<this.options.data.length;c++)if(a++,!this.options.data[c].type||0<=u._supportedChartTypes.indexOf(this.options.data[c].type)){var b=new O(this,this.options.data[c],
184
- a-1,++this._eventManager.lastObjectId);"error"===b.type&&(b.linkedDataSeriesIndex=e(this.options.data[c].linkedDataSeriesIndex)?c-1:this.options.data[c].linkedDataSeriesIndex,0>b.linkedDataSeriesIndex||b.linkedDataSeriesIndex>=this.options.data.length||"number"!==typeof b.linkedDataSeriesIndex||"error"===this.options.data[b.linkedDataSeriesIndex].type)&&(b.linkedDataSeriesIndex=null);null===b.name&&(b.name="DataSeries "+a);null===b.color?1<this.options.data.length?(b._colorSet=[this.selectedColorSet[b.index%
185
- this.selectedColorSet.length]],b.color=this.selectedColorSet[b.index%this.selectedColorSet.length]):b._colorSet="line"===b.type||"stepLine"===b.type||"spline"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"candlestick"===b.type||"ohlc"===b.type||"waterfall"===b.type||"boxAndWhisker"===b.type?[this.selectedColorSet[0]]:this.selectedColorSet:b._colorSet=[b.color];null===b.markerSize&&
186
- (("line"===b.type||"stepLine"===b.type||"spline"===b.type||0<=b.type.toLowerCase().indexOf("area"))&&b.dataPoints&&b.dataPoints.length<this.width/16||"scatter"===b.type)&&(b.markerSize=8);"bubble"!==b.type&&"scatter"!==b.type||!b.dataPoints||(b.dataPoints.some?b.dataPoints.some(function(a){return a.x})&&b.dataPoints.sort(l):b.dataPoints.sort(l));this.data.push(b);var g=b.axisPlacement,f=f||g,h;"normal"===g?"xySwapped"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with bar chart':
187
- "none"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="normal"):"xySwapped"===g?"normal"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with line, area, column or pie chart':"none"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="xySwapped"):"none"===g?"normal"===this.plotInfo.axisPlacement?
188
- h='You cannot combine "'+b.type+'" with line, area, column or bar chart':"xySwapped"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with bar chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="none"):null===g&&"none"===this.plotInfo.axisPlacement&&(h='You cannot combine "'+b.type+'" with pie chart');if(h&&window.console){window.console.log(h);return}}for(c=0;c<this.data.length;c++){if("none"==f&&"error"===this.data[c].type&&window.console){window.console.log('You cannot combine "'+
189
- b.type+'" with error chart');return}"error"===this.data[c].type&&(this.data[c].axisPlacement=this.plotInfo.axisPlacement=f||"normal",this.data[c]._linkedSeries=null===this.data[c].linkedDataSeriesIndex?null:this.data[this.data[c].linkedDataSeriesIndex])}}this._objectsInitialized=!0;this._plotAreaElements=[]};u._supportedChartTypes=Ea("line stepLine spline column area stepArea splineArea bar bubble scatter stackedColumn stackedColumn100 stackedBar stackedBar100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeBar rangeArea rangeSplineArea pie doughnut funnel pyramid waterfall".split(" "));
190
- u.prototype.setLayout=function(){for(var a=this._plotAreaElements,f=0;f<this.data.length;f++)if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement){if(!this.data[f].axisYType||"primary"===this.data[f].axisYType)if(this.options.axisY&&0<this.options.axisY.length){if(!this.axisY.length)for(var c=0;c<this.options.axisY.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[c]=new z(this,"axisY",this.options.axisY[c],c,"axisY","left")):"xySwapped"===
191
- this.plotInfo.axisPlacement&&this._axes.push(this.axisY[c]=new z(this,"axisY",this.options.axisY[c],c,"axisY","bottom"));this.data[f].axisY=this.axisY[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<this.axisY.length?this.data[f].axisYIndex:0];this.axisY[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<this.axisY.length?this.data[f].axisYIndex:0].dataSeries.push(this.data[f])}else this.axisY.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[0]=new z(this,"axisY",this.options.axisY,
192
- 0,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[0]=new z(this,"axisY",this.options.axisY,0,"axisY","bottom"))),this.data[f].axisY=this.axisY[0],this.axisY[0].dataSeries.push(this.data[f]);if("secondary"===this.data[f].axisYType)if(this.options.axisY2&&0<this.options.axisY2.length){if(!this.axisY2.length)for(c=0;c<this.options.axisY2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[c]=new z(this,"axisY2",this.options.axisY2[c],c,
193
- "axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[c]=new z(this,"axisY2",this.options.axisY2[c],c,"axisY","top"));this.data[f].axisY=this.axisY2[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<this.axisY2.length?this.data[f].axisYIndex:0];this.axisY2[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<this.axisY2.length?this.data[f].axisYIndex:0].dataSeries.push(this.data[f])}else this.axisY2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[0]=
194
- new z(this,"axisY2",this.options.axisY2,0,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[0]=new z(this,"axisY2",this.options.axisY2,0,"axisY","top"))),this.data[f].axisY=this.axisY2[0],this.axisY2[0].dataSeries.push(this.data[f]);if(!this.data[f].axisXType||"primary"===this.data[f].axisXType)if(this.options.axisX&&0<this.options.axisX.length){if(!this.axisX.length)for(c=0;c<this.options.axisX.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[c]=
195
- new z(this,"axisX",this.options.axisX[c],c,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[c]=new z(this,"axisX",this.options.axisX[c],c,"axisX","left"));this.data[f].axisX=this.axisX[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX.length?this.data[f].axisXIndex:0];this.axisX[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX.length?this.data[f].axisXIndex:0].dataSeries.push(this.data[f])}else this.axisX.length||("normal"===this.plotInfo.axisPlacement?
196
- this._axes.push(this.axisX[0]=new z(this,"axisX",this.options.axisX,0,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[0]=new z(this,"axisX",this.options.axisX,0,"axisX","left"))),this.data[f].axisX=this.axisX[0],this.axisX[0].dataSeries.push(this.data[f]);if("secondary"===this.data[f].axisXType)if(this.options.axisX2&&0<this.options.axisX2.length){if(!this.axisX2.length)for(c=0;c<this.options.axisX2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[c]=
197
- new z(this,"axisX2",this.options.axisX2[c],c,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[c]=new z(this,"axisX2",this.options.axisX2[c],c,"axisX","right"));this.data[f].axisX=this.axisX2[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX2.length?this.data[f].axisXIndex:0];this.axisX2[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX2.length?this.data[f].axisXIndex:0].dataSeries.push(this.data[f])}else this.axisX2.length||("normal"===
198
- this.plotInfo.axisPlacement?this._axes.push(this.axisX2[0]=new z(this,"axisX2",this.options.axisX2,0,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[0]=new z(this,"axisX2",this.options.axisX2,0,"axisX","right"))),this.data[f].axisX=this.axisX2[0],this.axisX2[0].dataSeries.push(this.data[f])}if(this.axisY){for(c=1;c<this.axisY.length;c++)"undefined"===typeof this.axisY[c].options.gridThickness&&(this.axisY[c].gridThickness=0);for(c=0;c<this.axisY.length-1;c++)"undefined"===
199
- typeof this.axisY[c].options.margin&&(this.axisY[c].margin=10)}if(this.axisY2){for(c=1;c<this.axisY2.length;c++)"undefined"===typeof this.axisY2[c].options.gridThickness&&(this.axisY2[c].gridThickness=0);for(c=0;c<this.axisY2.length-1;c++)"undefined"===typeof this.axisY2[c].options.margin&&(this.axisY2[c].margin=10)}this.axisY&&0<this.axisY.length&&(this.axisY2&&0<this.axisY2.length)&&(0<this.axisY[0].gridThickness&&"undefined"===typeof this.axisY2[0].options.gridThickness?this.axisY2[0].gridThickness=
200
- 0:0<this.axisY2[0].gridThickness&&"undefined"===typeof this.axisY[0].options.gridThickness&&(this.axisY[0].gridThickness=0));if(this.axisX)for(c=0;c<this.axisX.length;c++)"undefined"===typeof this.axisX[c].options.gridThickness&&(this.axisX[c].gridThickness=0);if(this.axisX2)for(c=0;c<this.axisX2.length;c++)"undefined"===typeof this.axisX2[c].options.gridThickness&&(this.axisX2[c].gridThickness=0);this.axisX&&0<this.axisX.length&&(this.axisX2&&0<this.axisX2.length)&&(0<this.axisX[0].gridThickness&&
201
- "undefined"===typeof this.axisX2[0].options.gridThickness?this.axisX2[0].gridThickness=0:0<this.axisX2[0].gridThickness&&"undefined"===typeof this.axisX[0].options.gridThickness&&(this.axisX[0].gridThickness=0));c=!1;if(0<this._axes.length&&this.options.zoomEnabled&&(this.zoomEnabled||this.panEnabled))for(f=0;f<this._axes.length;f++)if(!e(this._axes[f].viewportMinimum)||!e(this._axes[f].viewportMaximum)){c=!0;break}c?(Sa(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+
202
- "px solid "+this.toolbar.buttonBorderColor,this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,this._resetButton.style.borderRight=(this.exportEnabled?this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor):(za(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid transparent",this.options.zoomEnabled&&(this.zoomEnabled=!0,this.panEnabled=!1));qb(this);this._processData();
203
- this.options.title&&(this.title=new Ia(this,this.options.title),this.title.dockInsidePlotArea?a.push(this.title):this.title.setLayout());if(this.options.subtitles)for(f=0;f<this.options.subtitles.length;f++)c=new Na(this,this.options.subtitles[f],f),this.subtitles.push(c),c.dockInsidePlotArea?a.push(c):c.setLayout();this.legend=new J(this,this.options.legend);for(f=0;f<this.data.length;f++)(this.data[f].showInLegend||"pie"===this.data[f].type||"doughnut"===this.data[f].type||"funnel"===this.data[f].type||
204
- "pyramid"===this.data[f].type)&&this.legend.dataSeries.push(this.data[f]);this.legend.dockInsidePlotArea?a.push(this.legend):this.legend.setLayout();for(f=0;f<this._axes.length;f++)if(this._axes[f].scaleBreaks&&this._axes[f].scaleBreaks._appliedBreaks.length){s?(this._breaksCanvas=sa(this.width,this.height,!0),this._breaksCanvasCtx=this._breaksCanvas.getContext("2d")):(this._breaksCanvas=this.canvas,this._breaksCanvasCtx=this.ctx);break}this._preRenderCanvas=sa(this.width,this.height);this._preRenderCtx=
205
- this._preRenderCanvas.getContext("2d");"normal"!==this.plotInfo.axisPlacement&&"xySwapped"!==this.plotInfo.axisPlacement||z.setLayout(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement,this.layoutManager.getFreeSpace())};u.prototype.renderElements=function(){if(this.height){var a=this._plotAreaElements;this.title&&!this.title.dockInsidePlotArea&&this.title.render();for(var f=0;f<this.subtitles.length;f++)this.subtitles[f].dockInsidePlotArea||this.subtitles[f].render();this.legend.dockInsidePlotArea||
206
- this.legend.render();if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)z.render(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement);else if("none"===this.plotInfo.axisPlacement)this.preparePlotArea();else return;for(f=0;f<a.length;f++)a[f].setLayout(),a[f].render();var c=[];if(this.animatedRender){var b=sa(this.width,this.height);b.getContext("2d").drawImage(this.canvas,0,0,this.width,this.height)}sb(this);var a=this.ctx.miterLimit,g;this.ctx.miterLimit=
207
- 3;s&&this._breaksCanvas&&(this._preRenderCtx.drawImage(this.canvas,0,0,this.width,this.height),this._preRenderCtx.drawImage(this._breaksCanvas,0,0,this.width,this.height),this._breaksCanvasCtx.globalCompositeOperation="source-atop",this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),this._preRenderCtx.clearRect(0,0,this.width,this.height));for(f=0;f<this.plotInfo.plotTypes.length;f++)for(var h=this.plotInfo.plotTypes[f],B=0;B<h.plotUnits.length;B++){var e=h.plotUnits[B],
208
- d=null;e.targetCanvas&&Da(e.targetCanvas);e.targetCanvas=null;this.animatedRender&&(e.targetCanvas=sa(this.width,this.height),e.targetCanvasCtx=e.targetCanvas.getContext("2d"),g=e.targetCanvasCtx.miterLimit,e.targetCanvasCtx.miterLimit=3);"line"===e.type?d=this.renderLine(e):"stepLine"===e.type?d=this.renderStepLine(e):"spline"===e.type?d=this.renderSpline(e):"column"===e.type?d=this.renderColumn(e):"bar"===e.type?d=this.renderBar(e):"area"===e.type?d=this.renderArea(e):"stepArea"===e.type?d=this.renderStepArea(e):
209
- "splineArea"===e.type?d=this.renderSplineArea(e):"stackedColumn"===e.type?d=this.renderStackedColumn(e):"stackedColumn100"===e.type?d=this.renderStackedColumn100(e):"stackedBar"===e.type?d=this.renderStackedBar(e):"stackedBar100"===e.type?d=this.renderStackedBar100(e):"stackedArea"===e.type?d=this.renderStackedArea(e):"stackedArea100"===e.type?d=this.renderStackedArea100(e):"bubble"===e.type?d=d=this.renderBubble(e):"scatter"===e.type?d=this.renderScatter(e):"pie"===e.type?this.renderPie(e):"doughnut"===
210
- e.type?this.renderPie(e):"funnel"===e.type?d=this.renderFunnel(e):"pyramid"===e.type?d=this.renderFunnel(e):"candlestick"===e.type?d=this.renderCandlestick(e):"ohlc"===e.type?d=this.renderCandlestick(e):"rangeColumn"===e.type?d=this.renderRangeColumn(e):"error"===e.type?d=this.renderError(e):"rangeBar"===e.type?d=this.renderRangeBar(e):"rangeArea"===e.type?d=this.renderRangeArea(e):"rangeSplineArea"===e.type?d=this.renderRangeSplineArea(e):"waterfall"===e.type?d=this.renderWaterfall(e):"boxAndWhisker"===
211
- e.type&&(d=this.renderBoxAndWhisker(e));for(var m=0;m<e.dataSeriesIndexes.length;m++)this._dataInRenderedOrder.push(this.data[e.dataSeriesIndexes[m]]);this.animatedRender&&(e.targetCanvasCtx.miterLimit=g,d&&c.push(d))}this.ctx.miterLimit=a;this.animatedRender&&this._breaksCanvasCtx&&c.push({source:this._breaksCanvasCtx,dest:this.plotArea.ctx,animationCallback:x.fadeInAnimation,easingFunction:x.easing.easeInQuad,animationBase:0,startTimePercent:0.7});this.animatedRender&&0<this._indexLabels.length&&
212
- (g=sa(this.width,this.height).getContext("2d"),c.push(this.renderIndexLabels(g)));var n=this;if(0<c.length)n.disableToolTip=!0,n._animator.animate(200,n.animationDuration,function(a){n.ctx.clearRect(0,0,n.width,n.height);n.ctx.drawImage(b,0,0,Math.floor(n.width*ka),Math.floor(n.height*ka),0,0,n.width,n.height);for(var f=0;f<c.length;f++)d=c[f],1>a&&"undefined"!==typeof d.startTimePercent?a>=d.startTimePercent&&d.animationCallback(d.easingFunction(a-d.startTimePercent,0,1,1-d.startTimePercent),d):
213
- d.animationCallback(d.easingFunction(a,0,1,1),d);n.dispatchEvent("dataAnimationIterationEnd",{chart:n})},function(){c=[];for(var a=0;a<n.plotInfo.plotTypes.length;a++)for(var f=n.plotInfo.plotTypes[a],g=0;g<f.plotUnits.length;g++){var h=f.plotUnits[g];h.targetCanvas&&Da(h.targetCanvas);h.targetCanvas=null}b=null;n.disableToolTip=!1;n.dispatchEvent("dataAnimationEnd",{chart:n})});else{if(n._breaksCanvas)if(s)n.plotArea.ctx.drawImage(n._breaksCanvas,0,0,this.width,this.height);else for(m=0;m<n._axes.length;m++)n._axes[m].createMask();
214
- 0<n._indexLabels.length&&n.renderIndexLabels();n.dispatchEvent("dataAnimationIterationEnd",{chart:n});n.dispatchEvent("dataAnimationEnd",{chart:n})}this.attachPlotAreaEventHandlers();this.zoomEnabled||(this.panEnabled||!this._zoomButton||"none"===this._zoomButton.style.display)||za(this._zoomButton,this._resetButton);this.toolTip._updateToolTip();this.renderCount++;Ma&&(n=this,setTimeout(function(){var a=document.getElementById("ghostCanvasCopy");a&&(Ta(a,n.width,n.height),a.getContext("2d").drawImage(n._eventManager.ghostCanvas,
215
- 0,0))},2E3));this._breaksCanvas&&(delete this._breaksCanvas,delete this._breaksCanvasCtx);for(m=0;m<this._axes.length;m++)this._axes[m].maskCanvas&&(delete this._axes[m].maskCanvas,delete this._axes[m].maskCtx)}};u.prototype.render=function(a){a&&(this.options=a);this._initialize();this.setLayout();this.renderElements();this._preRenderCanvas&&Da(this._preRenderCanvas)};u.prototype.attachPlotAreaEventHandlers=function(){this.attachEvent({context:this,chart:this,mousedown:this._plotAreaMouseDown,mouseup:this._plotAreaMouseUp,
216
- mousemove:this._plotAreaMouseMove,cursor:this.panEnabled?"move":"default",capture:!0,bounds:this.plotArea})};u.prototype.categoriseDataSeries=function(){for(var a="",f=0;f<this.data.length;f++)if(a=this.data[f],a.dataPoints&&(0!==a.dataPoints.length&&a.visible)&&0<=u._supportedChartTypes.indexOf(a.type)){for(var c=null,b=!1,g=null,h=!1,B=0;B<this.plotInfo.plotTypes.length;B++)if(this.plotInfo.plotTypes[B].type===a.type){b=!0;c=this.plotInfo.plotTypes[B];break}b||(c={type:a.type,totalDataSeries:0,
217
- plotUnits:[]},this.plotInfo.plotTypes.push(c));for(B=0;B<c.plotUnits.length;B++)if(c.plotUnits[B].axisYType===a.axisYType&&c.plotUnits[B].axisXType===a.axisXType&&c.plotUnits[B].axisYIndex===a.axisYIndex&&c.plotUnits[B].axisXIndex===a.axisXIndex){h=!0;g=c.plotUnits[B];break}h||(g={type:a.type,previousDataSeriesCount:0,index:c.plotUnits.length,plotType:c,axisXType:a.axisXType,axisYType:a.axisYType,axisYIndex:a.axisYIndex,axisXIndex:a.axisXIndex,axisY:"primary"===a.axisYType?this.axisY[0<=a.axisYIndex&&
218
- a.axisYIndex<this.axisY.length?a.axisYIndex:0]:this.axisY2[0<=a.axisYIndex&&a.axisYIndex<this.axisY2.length?a.axisYIndex:0],axisX:"primary"===a.axisXType?this.axisX[0<=a.axisXIndex&&a.axisXIndex<this.axisX.length?a.axisXIndex:0]:this.axisX2[0<=a.axisXIndex&&a.axisXIndex<this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},c.plotUnits.push(g));c.totalDataSeries++;g.dataSeriesIndexes.push(f);a.plotUnit=g}for(f=0;f<this.plotInfo.plotTypes.length;f++)for(c=this.plotInfo.plotTypes[f],
219
- B=a=0;B<c.plotUnits.length;B++)c.plotUnits[B].previousDataSeriesCount=a,a+=c.plotUnits[B].dataSeriesIndexes.length};u.prototype.assignIdToDataPoints=function(){for(var a=0;a<this.data.length;a++){var f=this.data[a];if(f.dataPoints)for(var c=f.dataPoints.length,b=0;b<c;b++)f.dataPointIds[b]=++this._eventManager.lastObjectId}};u.prototype._processData=function(){this.assignIdToDataPoints();this.categoriseDataSeries();for(var a=0;a<this.plotInfo.plotTypes.length;a++)for(var f=this.plotInfo.plotTypes[a],
220
- c=0;c<f.plotUnits.length;c++){var b=f.plotUnits[c];"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type?this._processMultiseriesPlotUnit(b):"stackedColumn"===b.type||"stackedBar"===b.type||"stackedArea"===b.type?this._processStackedPlotUnit(b):"stackedColumn100"===b.type||"stackedBar100"===b.type||"stackedArea100"===b.type?this._processStacked100PlotUnit(b):"candlestick"===
221
- b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"error"===b.type||"boxAndWhisker"===b.type?this._processMultiYPlotUnit(b):"waterfall"===b.type&&this._processSpecificPlotUnit(b)}this.calculateAutoBreaks()};u.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=0;B<a.dataSeriesIndexes.length;B++){var e=this.data[a.dataSeriesIndexes[B]],
222
- d=0,m=!1,n=!1,p;if("normal"===e.axisPlacement||"xySwapped"===e.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:
223
- a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(e.dataPoints[d].x&&e.dataPoints[d].x.getTime||"dateTime"===e.xValueType)h=!0;for(d=0;d<e.dataPoints.length;d++){"undefined"===typeof e.dataPoints[d].x&&(e.dataPoints[d].x=d+(a.axisX.logarithmic?1:0));e.dataPoints[d].x.getTime?(h=!0,b=e.dataPoints[d].x.getTime()):b=e.dataPoints[d].x;g=e.dataPoints[d].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);g<f.min&&"number"===typeof g&&(f.min=g);g>f.max&&"number"===typeof g&&(f.max=g);if(0<
224
- d){if(a.axisX.logarithmic){var r=b/e.dataPoints[d-1].x;1>r&&(r=1/r);c.minDiff>r&&1!==r&&(c.minDiff=r)}else r=b-e.dataPoints[d-1].x,0>r&&(r*=-1),c.minDiff>r&&0!==r&&(c.minDiff=r);null!==g&&null!==e.dataPoints[d-1].y&&(a.axisY.logarithmic?(r=g/e.dataPoints[d-1].y,1>r&&(r=1/r),f.minDiff>r&&1!==r&&(f.minDiff=r)):(r=g-e.dataPoints[d-1].y,0>r&&(r*=-1),f.minDiff>r&&0!==r&&(f.minDiff=r)))}if(b<q&&!m)null!==g&&(p=b);else{if(!m&&(m=!0,0<d)){d-=2;continue}if(b>k&&!n)n=!0;else if(b>k&&n)continue;e.dataPoints[d].label&&
225
- (a.axisX.labels[b]=e.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===g?c.viewPortMin===b&&p<b&&(c.viewPortMin=p):(g<f.viewPortMin&&"number"===typeof g&&(f.viewPortMin=g),g>f.viewPortMax&&"number"===typeof g&&(f.viewPortMax=g))}}e.axisX.valueType=e.xValueType=h?"dateTime":"number"}};u.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=[],d=[],
226
- L=Infinity,m=-Infinity,n=0;n<a.dataSeriesIndexes.length;n++){var p=this.data[a.dataSeriesIndexes[n]],q=0,k=!1,r=!1,x;if("normal"===p.axisPlacement||"xySwapped"===p.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,w=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:
227
- a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(p.dataPoints[q].x&&p.dataPoints[q].x.getTime||"dateTime"===p.xValueType)h=!0;for(q=0;q<p.dataPoints.length;q++){"undefined"===typeof p.dataPoints[q].x&&(p.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));p.dataPoints[q].x.getTime?(h=!0,b=p.dataPoints[q].x.getTime()):b=p.dataPoints[q].x;g=e(p.dataPoints[q].y)?0:p.dataPoints[q].y;b<c.min&&(c.min=b);
228
- b>c.max&&(c.max=b);if(0<q){if(a.axisX.logarithmic){var A=b/p.dataPoints[q-1].x;1>A&&(A=1/A);c.minDiff>A&&1!==A&&(c.minDiff=A)}else A=b-p.dataPoints[q-1].x,0>A&&(A*=-1),c.minDiff>A&&0!==A&&(c.minDiff=A);null!==g&&null!==p.dataPoints[q-1].y&&(a.axisY.logarithmic?0<g&&(A=g/p.dataPoints[q-1].y,1>A&&(A=1/A),f.minDiff>A&&1!==A&&(f.minDiff=A)):(A=g-p.dataPoints[q-1].y,0>A&&(A*=-1),f.minDiff>A&&0!==A&&(f.minDiff=A)))}if(b<s&&!k)null!==p.dataPoints[q].y&&(x=b);else{if(!k&&(k=!0,0<q)){q-=2;continue}if(b>w&&
229
- !r)r=!0;else if(b>w&&r)continue;p.dataPoints[q].label&&(a.axisX.labels[b]=p.dataPoints[q].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===p.dataPoints[q].y?c.viewPortMin===b&&x<b&&(c.viewPortMin=x):(a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+g,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(g),0<=g?B[b]?B[b]+=g:(B[b]=g,L=Math.min(g,L)):d[b]?d[b]+=g:(d[b]=g,m=Math.max(g,m)))}}a.axisY.scaleBreaks&&(a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&
230
- (f.dataPointYPositiveSums?(f.dataPointYPositiveSums.push.apply(f.dataPointYPositiveSums,B),f.dataPointYNegativeSums.push.apply(f.dataPointYPositiveSums,d)):(f.dataPointYPositiveSums=B,f.dataPointYNegativeSums=d));p.axisX.valueType=p.xValueType=h?"dateTime":"number"}for(q in B)B.hasOwnProperty(q)&&!isNaN(q)&&(a=B[q],a<f.min&&(f.min=Math.min(a,L)),a>f.max&&(f.max=a),q<c.viewPortMin||q>c.viewPortMax||(a<f.viewPortMin&&(f.viewPortMin=Math.min(a,L)),a>f.viewPortMax&&(f.viewPortMax=a)));for(q in d)d.hasOwnProperty(q)&&
231
- !isNaN(q)&&(a=d[q],a<f.min&&(f.min=a),a>f.max&&(f.max=Math.max(a,m)),q<c.viewPortMin||q>c.viewPortMax||(a<f.viewPortMin&&(f.viewPortMin=a),a>f.viewPortMax&&(f.viewPortMax=Math.max(a,m))))}};u.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=!1,d=!1,L=[],m=0;m<a.dataSeriesIndexes.length;m++){var n=this.data[a.dataSeriesIndexes[m]],p=0,q=!1,k=!1,r;if("normal"===n.axisPlacement||"xySwapped"===
232
- n.axisPlacement)var x=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,s=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:
233
- Infinity;if(n.dataPoints[p].x&&n.dataPoints[p].x.getTime||"dateTime"===n.xValueType)h=!0;for(p=0;p<n.dataPoints.length;p++){"undefined"===typeof n.dataPoints[p].x&&(n.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));n.dataPoints[p].x.getTime?(h=!0,b=n.dataPoints[p].x.getTime()):b=n.dataPoints[p].x;g=e(n.dataPoints[p].y)?null:n.dataPoints[p].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<p){if(a.axisX.logarithmic){var w=b/n.dataPoints[p-1].x;1>w&&(w=1/w);c.minDiff>w&&1!==w&&(c.minDiff=w)}else w=b-n.dataPoints[p-
234
- 1].x,0>w&&(w*=-1),c.minDiff>w&&0!==w&&(c.minDiff=w);e(g)||null===n.dataPoints[p-1].y||(a.axisY.logarithmic?0<g&&(w=g/n.dataPoints[p-1].y,1>w&&(w=1/w),f.minDiff>w&&1!==w&&(f.minDiff=w)):(w=g-n.dataPoints[p-1].y,0>w&&(w*=-1),f.minDiff>w&&0!==w&&(f.minDiff=w)))}if(b<x&&!q)null!==g&&(r=b);else{if(!q&&(q=!0,0<p)){p-=2;continue}if(b>s&&!k)k=!0;else if(b>s&&k)continue;n.dataPoints[p].label&&(a.axisX.labels[b]=n.dataPoints[p].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===
235
- g?c.viewPortMin===b&&r<b&&(c.viewPortMin=r):(a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+g,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(g),0<=g?B=!0:0>g&&(d=!0),L[b]=L[b]?L[b]+Math.abs(g):Math.abs(g))}}n.axisX.valueType=n.xValueType=h?"dateTime":"number"}a.axisY.logarithmic?(f.max=e(f.viewPortMax)?99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(f.viewPortMax,99*Math.pow(a.axisY.logarithmBase,-0.05)),f.min=e(f.viewPortMin)?1:Math.min(f.viewPortMin,1)):B&&!d?(f.max=e(f.viewPortMax)?
236
- 99:Math.max(f.viewPortMax,99),f.min=e(f.viewPortMin)?1:Math.min(f.viewPortMin,1)):B&&d?(f.max=e(f.viewPortMax)?99:Math.max(f.viewPortMax,99),f.min=e(f.viewPortMin)?-99:Math.min(f.viewPortMin,-99)):!B&&d&&(f.max=e(f.viewPortMax)?-1:Math.max(f.viewPortMax,-1),f.min=e(f.viewPortMin)?-99:Math.min(f.viewPortMin,-99));f.viewPortMin=f.min;f.viewPortMax=f.max;a.dataPointYSums=L}};u.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var f=a.axisY.dataInfo,
237
- c=a.axisX.dataInfo,b,g,h,B,e=!1,d=0;d<a.dataSeriesIndexes.length;d++){var m=this.data[a.dataSeriesIndexes[d]],n=0,p=!1,q=!1,k,r,x;if("normal"===m.axisPlacement||"xySwapped"===m.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,w=a.axisX.sessionVariables.newViewportMaximum?
238
- a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(m.dataPoints[n].x&&m.dataPoints[n].x.getTime||"dateTime"===m.xValueType)e=!0;for(n=0;n<m.dataPoints.length;n++){"undefined"===typeof m.dataPoints[n].x&&(m.dataPoints[n].x=n+(a.axisX.logarithmic?1:0));m.dataPoints[n].x.getTime?(e=!0,b=m.dataPoints[n].x.getTime()):b=m.dataPoints[n].x;if((g=m.dataPoints[n].y)&&
239
- g.length){h=Math.min.apply(null,g);B=Math.max.apply(null,g);r=!0;for(var A=0;A<g.length;A++)null===g.k&&(r=!1);r&&(p||(x=k),k=b)}b<c.min&&(c.min=b);b>c.max&&(c.max=b);h<f.min&&(f.min=h);B>f.max&&(f.max=B);0<n&&(a.axisX.logarithmic?(r=b/m.dataPoints[n-1].x,1>r&&(r=1/r),c.minDiff>r&&1!==r&&(c.minDiff=r)):(r=b-m.dataPoints[n-1].x,0>r&&(r*=-1),c.minDiff>r&&0!==r&&(c.minDiff=r)),g&&(null!==g[0]&&m.dataPoints[n-1].y&&null!==m.dataPoints[n-1].y[0])&&(a.axisY.logarithmic?(r=g[0]/m.dataPoints[n-1].y[0],1>
240
- r&&(r=1/r),f.minDiff>r&&1!==r&&(f.minDiff=r)):(r=g[0]-m.dataPoints[n-1].y[0],0>r&&(r*=-1),f.minDiff>r&&0!==r&&(f.minDiff=r))));if(!(b<s)||p){if(!p&&(p=!0,0<n)){n-=2;k=x;continue}if(b>w&&!q)q=!0;else if(b>w&&q)continue;m.dataPoints[n].label&&(a.axisX.labels[b]=m.dataPoints[n].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);if(c.viewPortMin===b&&g)for(A=0;A<g.length;A++)if(null===g[A]&&k<b){c.viewPortMin=k;break}null===g?c.viewPortMin===b&&k<b&&(c.viewPortMin=k):(h<f.viewPortMin&&
241
- (f.viewPortMin=h),B>f.viewPortMax&&(f.viewPortMax=B))}}m.axisX.valueType=m.xValueType=e?"dateTime":"number"}};u.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=0;B<a.dataSeriesIndexes.length;B++){var e=this.data[a.dataSeriesIndexes[B]],d=0,m=!1,n=!1,p=b=0;if("normal"===e.axisPlacement||"xySwapped"===e.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?
242
- a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(e.dataPoints[d].x&&e.dataPoints[d].x.getTime||
243
- "dateTime"===e.xValueType)h=!0;for(d=0;d<e.dataPoints.length;d++)"undefined"!==typeof e.dataPoints[d].isCumulativeSum&&!0===e.dataPoints[d].isCumulativeSum?(e.dataPointEOs[d].cumulativeSumYStartValue=0,e.dataPointEOs[d].cumulativeSum=0===d?0:e.dataPointEOs[d-1].cumulativeSum,e.dataPoints[d].y=0===d?0:e.dataPointEOs[d-1].cumulativeSum):"undefined"!==typeof e.dataPoints[d].isIntermediateSum&&!0===e.dataPoints[d].isIntermediateSum?(e.dataPointEOs[d].cumulativeSumYStartValue=p,e.dataPointEOs[d].cumulativeSum=
244
- 0===d?0:e.dataPointEOs[d-1].cumulativeSum,e.dataPoints[d].y=0===d?0:b,p=0===d?0:e.dataPointEOs[d-1].cumulativeSum,b=0):(g="number"!==typeof e.dataPoints[d].y?0:e.dataPoints[d].y,e.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:e.dataPointEOs[d-1].cumulativeSum,e.dataPointEOs[d].cumulativeSum=0===d?g:e.dataPointEOs[d-1].cumulativeSum+g,b+=g);for(d=0;d<e.dataPoints.length;d++)if("undefined"===typeof e.dataPoints[d].x&&(e.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),e.dataPoints[d].x.getTime?(h=!0,
245
- b=e.dataPoints[d].x.getTime()):b=e.dataPoints[d].x,g=e.dataPoints[d].y,b<c.min&&(c.min=b),b>c.max&&(c.max=b),e.dataPointEOs[d].cumulativeSum<f.min&&(f.min=e.dataPointEOs[d].cumulativeSum),e.dataPointEOs[d].cumulativeSum>f.max&&(f.max=e.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(p=b/e.dataPoints[d-1].x,1>p&&(p=1/p),c.minDiff>p&&1!==p&&(c.minDiff=p)):(p=b-e.dataPoints[d-1].x,0>p&&(p*=-1),c.minDiff>p&&0!==p&&(c.minDiff=p)),null!==g&&null!==e.dataPoints[d-1].y&&(a.axisY.logarithmic?(g=
246
- e.dataPointEOs[d].cumulativeSum/e.dataPointEOs[d-1].cumulativeSum,1>g&&(g=1/g),f.minDiff>g&&1!==g&&(f.minDiff=g)):(g=e.dataPointEOs[d].cumulativeSum-e.dataPointEOs[d-1].cumulativeSum,0>g&&(g*=-1),f.minDiff>g&&0!==g&&(f.minDiff=g)))),!(b<q)||m){if(!m&&(m=!0,0<d)){d-=2;continue}if(b>k&&!n)n=!0;else if(b>k&&n)continue;e.dataPoints[d].label&&(a.axisX.labels[b]=e.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(e.dataPointEOs[d-1].cumulativeSum<f.viewPortMin&&
247
- (f.viewPortMin=e.dataPointEOs[d-1].cumulativeSum),e.dataPointEOs[d-1].cumulativeSum>f.viewPortMax&&(f.viewPortMax=e.dataPointEOs[d-1].cumulativeSum));e.dataPointEOs[d].cumulativeSum<f.viewPortMin&&(f.viewPortMin=e.dataPointEOs[d].cumulativeSum);e.dataPointEOs[d].cumulativeSum>f.viewPortMax&&(f.viewPortMax=e.dataPointEOs[d].cumulativeSum)}e.axisX.valueType=e.xValueType=h?"dateTime":"number"}};u.prototype.calculateAutoBreaks=function(){function a(a,b,c,f){if(f)return c=Math.pow(Math.min(c*a/b,b/a),
248
- 0.2),1>=c&&(c=Math.pow(1>a?1/a:Math.min(b/a,a),0.25)),{startValue:a*c,endValue:b/c};c=0.2*Math.min(c-b+a,b-a);0>=c&&(c=0.25*Math.min(b-a,Math.abs(a)));return{startValue:a+c,endValue:b-c}}function f(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var b=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var f=a.axisY.dataInfo,
249
- h=a.axisX.dataInfo,k,B=h.min,m=h.max,n=f.min,d=f.max,h=h._dataRanges,f=f._dataRanges,p,q=0,ua=0;ua<a.dataSeriesIndexes.length;ua++){var x=g.data[a.dataSeriesIndexes[ua]];if(!(4>x.dataPoints.length))for(q=0;q<x.dataPoints.length;q++)if(b&&(p=(m+1-B)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,k=x.dataPoints[q].x.getTime?x.dataPoints[q].x.getTime():x.dataPoints[q].x,p=Math.floor((k-B)/p),k<h[p].min&&(h[p].min=k),k>h[p].max&&(h[p].max=k)),c){var L=(d+1-n)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||
250
- 10,10)/100;if((k="waterfall"===a.type?x.dataPointEOs[q].cumulativeSum:x.dataPoints[q].y)&&k.length)for(var s=0;s<k.length;s++)p=Math.floor((k[s]-n)/L),k[s]<f[p].min&&(f[p].min=k[s]),k[s]>f[p].max&&(f[p].max=k[s]);else e(k)||(p=Math.floor((k-n)/L),k<f[p].min&&(f[p].min=k),k>f[p].max&&(f[p].max=k))}}}}function c(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=
251
- b.min,f=b.max,h=b._dataRanges,k,B=0,m=0;m<a.dataSeriesIndexes.length;m++){var e=g.data[a.dataSeriesIndexes[m]];if(!(4>e.dataPoints.length))for(B=0;B<e.dataPoints.length;B++)k=(f+1-c)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,b=e.dataPoints[B].x.getTime?e.dataPoints[B].x.getTime():e.dataPoints[B].x,k=Math.floor((b-c)/k),b<h[k].min&&(h[k].min=b),b>h[k].max&&(h[k].max=b)}}for(var b,g=this,h=!1,B=0;B<this._axes.length;B++)if(this._axes[B].scaleBreaks&&this._axes[B].scaleBreaks.autoCalculate&&
252
- 1<=this._axes[B].scaleBreaks.maxNumberOfAutoBreaks){h=!0;this._axes[B].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[B].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[B].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(h){for(B=0;B<this.plotInfo.plotTypes.length;B++)for(h=this.plotInfo.plotTypes[B],d=0;d<h.plotUnits.length;d++)b=h.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||
253
- "splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===b.type?f(b):0<=b.type.indexOf("stacked")&&c(b);for(B=0;B<this._axes.length;B++)if(this._axes[B].dataInfo._dataRanges){var x=this._axes[B].dataInfo.min;b=(this._axes[B].dataInfo.max+1-x)*Math.max(parseFloat(this._axes[B].scaleBreaks.collapsibleThreshold)||
254
- 10,10)/100;var m=this._axes[B].dataInfo._dataRanges,n,p,h=[];if(this._axes[B].dataInfo.dataPointYPositiveSums){var q=this._axes[B].dataInfo.dataPointYPositiveSums;n=m;for(d in q)if(q.hasOwnProperty(d)&&!isNaN(d)&&(p=q[d],!e(p))){var k=Math.floor((p-x)/b);p<n[k].min&&(n[k].min=p);p>n[k].max&&(n[k].max=p)}delete this._axes[B].dataInfo.dataPointYPositiveSums}if(this._axes[B].dataInfo.dataPointYNegativeSums){q=this._axes[B].dataInfo.dataPointYNegativeSums;n=m;for(d in q)q.hasOwnProperty(d)&&!isNaN(d)&&
255
- (p=-1*q[d],e(p)||(k=Math.floor((p-x)/b),p<n[k].min&&(n[k].min=p),p>n[k].max&&(n[k].max=p)));delete this._axes[B].dataInfo.dataPointYNegativeSums}for(d=0;d<m.length-1;d++)if(n=m[d].max,isFinite(n))for(;d<m.length-1;)if(x=m[d+1].min,isFinite(x)){p=x-n;p>b&&h.push({diff:p,start:n,end:x});break}else d++;if(this._axes[B].scaleBreaks.customBreaks)for(d=0;d<this._axes[B].scaleBreaks.customBreaks.length;d++)for(b=0;b<h.length;b++)if(this._axes[B].scaleBreaks.customBreaks[d].startValue<=h[b].start&&h[b].start<=
256
- this._axes[B].scaleBreaks.customBreaks[d].endValue||this._axes[B].scaleBreaks.customBreaks[d].startValue<=h[b].start&&h[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue||h[b].start<=this._axes[B].scaleBreaks.customBreaks[d].startValue&&this._axes[B].scaleBreaks.customBreaks[d].startValue<=h[b].end||h[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue&&this._axes[B].scaleBreaks.customBreaks[d].endValue<=h[b].end)h.splice(b,1),b--;h.sort(function(a,b){return b.diff-a.diff});for(d=
257
- 0;d<Math.min(h.length,this._axes[B].scaleBreaks.maxNumberOfAutoBreaks);d++)b=a(h[d].start,h[d].end,this._axes[B].logarithmic?this._axes[B].dataInfo.max/this._axes[B].dataInfo.min:this._axes[B].dataInfo.max-this._axes[B].dataInfo.min,this._axes[B].logarithmic),this._axes[B].scaleBreaks.autoBreaks.push(new T(this,"autoBreaks",b,d,++this._eventManager.lastObjectId,this._axes[B].scaleBreaks)),this._axes[B].scaleBreaks._appliedBreaks.push(this._axes[B].scaleBreaks.autoBreaks[this._axes[B].scaleBreaks.autoBreaks.length-
132
+ borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:O,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"});N=O.measureText();"top"===this.verticalAlign||"bottom"===this.verticalAlign?("top"===this.verticalAlign?(y=E.y1+2+this.fontSize/2+4,M="top"):"bottom"===this.verticalAlign&&(y=E.y2-2-N.height+this.fontSize/2+4,M="bottom"),"left"===this.horizontalAlign?u=E.x1+2:"center"===this.horizontalAlign?u=E.x1+E.width/
133
+ 2-N.width/2:"right"===this.horizontalAlign&&(u=E.x2-2-N.width-z),J=this.horizontalAlign,this.width=N.width,this.height=N.height):"center"===this.verticalAlign&&("left"===this.horizontalAlign?(u=E.x1+2+(this.fontSize/2+4),y=E.y2-2-(this.maxWidth/2-N.width/2),F=-90,M="left",this.width=N.height,this.height=N.width):"right"===this.horizontalAlign?(u=E.x2-2-(this.fontSize/2+4),y=E.y1+2+(this.maxWidth/2-N.width/2),F=90,M="right",this.width=N.height,this.height=N.width):"center"===this.horizontalAlign&&
134
+ (y=s.y1+(s.height/2-N.height/2)+this.fontSize/2+4,u=s.x1+(s.width/2-N.width/2),M="center",this.width=N.width,this.height=N.height),J="center");O.x=u;O.y=y;O.angle=F;O.horizontalAlign=J;this._textBlock=O;s.layoutManager.registerSpace(M,{width:this.width+("left"===M||"right"===M?this.margin+2:0),height:this.height+("top"===M||"bottom"===M?this.margin+2:0)});this.bounds={x1:u,y1:y,x2:u+this.width,y2:y+this.height};this.ctx.textBaseline="top"}};Ia.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};
135
+ ia(Na,aa);Na.prototype.setLayout=Ia.prototype.setLayout;Na.prototype.render=Ia.prototype.render;$a.prototype.get=function(e,s){var u=null;0<this.pool.length?(u=this.pool.pop(),Ta(u,e,s)):u=sa(e,s);return u};$a.prototype.release=function(e){this.pool.push(e)};ia(Oa,aa);var Ra={addTheme:function(e,s){ab[e]=s},addColorSet:function(e,s){ya[e]=s},addCultureInfo:function(e,s){Qa[e]=s},formatNumber:function(e,s,u){u=u||"en";if(Qa[u])return ca(e,s||"#,##0.##",new Oa(u));throw"Unknown Culture Name";},formatDate:function(e,
136
+ s,u){u=u||"en";if(Qa[u])return ga(e,s||"DD MMM YYYY",new Oa(u));throw"Unknown Culture Name";}};"undefined"!==typeof module&&"undefined"!==typeof module.exports?module.exports=Ra:"function"===typeof define&&define.amd?define([],function(){return Ra}):(window.CanvasJS&&window.console&&window.console.log("CanvasJS namespace already exists. If you are loading both chart and stockchart scripts, just load stockchart alone as it includes all chart features."),window.CanvasJS=window.CanvasJS?window.CanvasJS:
137
+ Ra);var Ka=Ra.Chart=function(){function l(a,f){return a.x-f.x}function u(a,f,c){f=f||{};e(c)?(this.predefinedThemes=ab,this.optionsName=this.parent=this.index=null):(this.parent=c.parent,this.index=c.index,this.predefinedThemes=c.predefinedThemes,this.optionsName=c.optionsName,this.stockChart=c.stockChart,this.panel=a,this.isOptionsInArray=c.isOptionsInArray);this.theme=e(f.theme)||e(this.predefinedThemes[f.theme])?"light1":f.theme;u.base.constructor.call(this,"Chart",this.optionsName,f,this.index,
138
+ this.parent);var b=this;this._containerId=a;this._objectsInitialized=!1;this.overlaidCanvasCtx=this.ctx=null;this._indexLabels=[];this._panTimerId=0;this._lastTouchEventType="";this._lastTouchData=null;this.isAnimating=!1;this.renderCount=0;this.disableToolTip=this.animatedRender=!1;this.canvasPool=new $a;this.allDOMEventHandlers=[];this.panEnabled=!1;this._defaultCursor="default";this.plotArea={canvas:null,ctx:null,x1:0,y1:0,x2:0,y2:0,width:0,height:0};this._dataInRenderedOrder=[];(this.container=
139
+ "string"===typeof this._containerId?document.getElementById(this._containerId):this._containerId)?(this.container.innerHTML="",f=a=0,a=this.options.width?this.width:0<this.container.clientWidth?this.container.clientWidth:this.width,f=this.options.height?this.height:0<this.container.clientHeight?this.container.clientHeight:this.height,this.width=a,this.height=f,this.x1=this.y1=0,this.x2=this.width,this.y2=this.height,this.selectedColorSet="undefined"!==typeof ya[this.colorSet]?ya[this.colorSet]:ya.colorSet1,
140
+ this._canvasJSContainer=document.createElement("div"),this._canvasJSContainer.setAttribute("class","canvasjs-chart-container"),this._canvasJSContainer.style.position="relative",this._canvasJSContainer.style.textAlign="left",this._canvasJSContainer.style.cursor="auto",this._canvasJSContainer.style.direction="ltr",s||(this._canvasJSContainer.style.height="0px"),this.container.appendChild(this._canvasJSContainer),this.canvas=sa(a,f),this._preRenderCanvas=sa(a,f),this.canvas.style.position="absolute",
141
+ this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none",this.canvas.style.msUserSelect="none",this.canvas.style.userSelect="none",this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ha(this.ctx),this._preRenderCtx=this._preRenderCanvas.getContext("2d"),this._preRenderCtx.textBaseline="top",Ha(this._preRenderCtx),s?this.plotArea.ctx=this.ctx:(this.plotArea.canvas=sa(a,f),this.plotArea.canvas.style.position=
142
+ "absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this.overlaidCanvas=sa(a,f),this.overlaidCanvas.style.position="absolute",this.overlaidCanvas.style.webkitTapHighlightColor="transparent",this.overlaidCanvas.style.WebkitUserSelect="none",this.overlaidCanvas.style.MozUserSelect="none",this.overlaidCanvas.style.msUserSelect="none",this.overlaidCanvas.style.userSelect=
143
+ "none",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),this.overlaidCanvasCtx.textBaseline="top",Ha(this.overlaidCanvasCtx)),this._eventManager=new ea(this),this.windowResizeHandler=y(window,"resize",function(){b._updateSize()&&b.render()},this.allDOMEventHandlers),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),M(this._toolBar,{position:"absolute",
144
+ right:"1px",top:"1px"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},y(this.overlaidCanvas,"click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);za(b._dropdownMenu)},
145
+ this.allDOMEventHandlers),y(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},
146
+ this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new pa(this,this.options.toolTip),this.data=null,this.axisX=[],this.axisX2=[],this.axisY=[],this.axisY2=[],this.sessionVariables={axisX:[],axisX2:[],axisY:[],axisY2:[]})):window.console&&window.console.log('CanvasJS Error: Chart Container with id "'+this._containerId+'" was not found')}function F(a,f){for(var c=
147
+ [],b,g=0;g<a.length;g++)if(0==g)c.push(a[0]);else{var h,B,e;e=g-1;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[B].x-a[e].x?0.01:a[B].x-a[e].x))*(f-1)/2+1;var d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;c[c.length]=a[e].x>a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x+d/3,y:a[e].y+b/3}:{x:a[e].x,y:a[e].y+b/9};e=g;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[e].x-a[h].x?0.01:a[e].x-a[h].x))*(f-1)/2+1;d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;c[c.length]=a[e].x>
148
+ a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x-d/3,y:a[e].y-b/3}:{x:a[e].x,y:a[e].y-b/9};c[c.length]=a[g]}return c}function R(a,f,c,b,g,h,B,e,d,m){var n=0;m?(B.color=h,e.color=h):m=1;n=d?Math.abs(g-c):Math.abs(b-f);n=0<B.trimLength?Math.abs(n*B.trimLength/100):Math.abs(n-B.length);d?(c+=n/2,g-=n/2):(f+=n/2,b-=n/2);var n=1===Math.round(B.thickness)%2?0.5:0,p=1===Math.round(e.thickness)%2?0.5:0;a.save();a.globalAlpha=m;a.strokeStyle=e.color||h;a.lineWidth=e.thickness||2;a.setLineDash&&a.setLineDash(S(e.dashType,
149
+ e.thickness));a.beginPath();d&&0<e.thickness?(a.moveTo(b-B.thickness/2,Math.round((c+g)/2)-p),a.lineTo(f+B.thickness/2,Math.round((c+g)/2)-p)):0<e.thickness&&(a.moveTo(Math.round((f+b)/2)-p,c+B.thickness/2),a.lineTo(Math.round((f+b)/2)-p,g-B.thickness/2));a.stroke();a.strokeStyle=B.color||h;a.lineWidth=B.thickness||2;a.setLineDash&&a.setLineDash(S(B.dashType,B.thickness));a.beginPath();d&&0<B.thickness?(a.moveTo(b-n,c),a.lineTo(b-n,g),a.moveTo(f+n,c),a.lineTo(f+n,g)):0<B.thickness&&(a.moveTo(f,c+
150
+ n),a.lineTo(b,c+n),a.moveTo(f,g-n),a.lineTo(b,g-n));a.stroke();a.restore()}function J(a,f){J.base.constructor.call(this,"Legend","legend",f,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.ghostCtx=this.chart._eventManager.ghostCtx;this.items=[];this.optionsName="legend";this.height=this.width=0;this.orientation=null;this.dataSeries=[];this.bounds={x1:null,y1:null,x2:null,y2:null};"undefined"===typeof this.options.fontSize&&(this.fontSize=this.chart.getAutoFontSize(this.fontSize));
151
+ this.lineHeight=eb(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function O(a,f,c,b){O.base.constructor.call(this,"DataSeries","data",f,c,a);this.chart=a;this.canvas=a.canvas;this._ctx=a.canvas.ctx;this.index=c;this.noDataPointsInPlotArea=0;this.id=b;this.chart._eventManager.objectMap[b]={id:b,objectType:"dataSeries",dataSeriesIndex:c};a=f.dataPoints?f.dataPoints.length:0;this.dataPointEOs=[];for(f=0;f<a;f++)this.dataPointEOs[f]={};this.dataPointIds=[];this.plotUnit=
152
+ [];this.axisY=this.axisX=null;this.optionsName="data";this.isOptionsInArray=!0;null===this.fillOpacity&&(this.type.match(/area/i)?this.fillOpacity=0.7:this.fillOpacity=1);this.axisPlacement=this.getDefaultAxisPlacement();"undefined"===typeof this.options.indexLabelFontSize&&(this.indexLabelFontSize=this.chart.getAutoFontSize(this.indexLabelFontSize))}function z(a,f,c,b,g,h){z.base.constructor.call(this,"Axis",f,c,b,a);this.chart=a;this.canvas=a.canvas;this.ctx=a.ctx;this.intervalStartPosition=this.maxHeight=
153
+ this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===g?("left"===h||"bottom"===h?(this.optionsName="axisX",e(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",e(this.chart.sessionVariables.axisX2[b])&&
154
+ (this.chart.sessionVariables.axisX2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX2[b]),this.options.interval||(this.intervalType=null)):"left"===h||"bottom"===h?(this.optionsName="axisY",e(this.chart.sessionVariables.axisY[b])&&(this.chart.sessionVariables.axisY[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY[b]):(this.optionsName="axisY2",e(this.chart.sessionVariables.axisY2[b])&&(this.chart.sessionVariables.axisY2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY2[b]);
155
+ "undefined"===typeof this.options.titleFontSize&&(this.titleFontSize=this.chart.getAutoFontSize(this.titleFontSize));"undefined"===typeof this.options.labelFontSize&&(this.labelFontSize=this.chart.getAutoFontSize(this.labelFontSize));this.type=g;"axisX"!==g||c&&"undefined"!==typeof c.gridThickness||(this.gridThickness=0);this._position=h;this.lineCoordinates={x1:null,y1:null,x2:null,y2:null,width:null};this.labelAngle=(this.labelAngle%360+360)%360;90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=
156
+ 180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360);this.options.scaleBreaks&&(this.scaleBreaks=new P(this.chart,this.options.scaleBreaks,++this.chart._eventManager.lastObjectId,this));this.stripLines=[];if(this.options.stripLines&&0<this.options.stripLines.length)for(a=0;a<this.options.stripLines.length;a++)this.stripLines.push(new N(this.chart,this.options.stripLines[a],a,++this.chart._eventManager.lastObjectId,this));this.options.crosshair&&(this.crosshair=new Y(this.chart,this.options.crosshair,
157
+ this));this._titleTextBlock=null;this.hasOptionChanged("viewportMinimum")&&null===this.viewportMinimum&&(this.options.viewportMinimum=void 0,this.sessionVariables.viewportMinimum=null);this.hasOptionChanged("viewportMinimum")||isNaN(this.sessionVariables.newViewportMinimum)||null===this.sessionVariables.newViewportMinimum?this.sessionVariables.newViewportMinimum=null:this.viewportMinimum=this.sessionVariables.newViewportMinimum;this.hasOptionChanged("viewportMaximum")&&null===this.viewportMaximum&&
158
+ (this.options.viewportMaximum=void 0,this.sessionVariables.viewportMaximum=null);this.hasOptionChanged("viewportMaximum")||isNaN(this.sessionVariables.newViewportMaximum)||null===this.sessionVariables.newViewportMaximum?this.sessionVariables.newViewportMaximum=null:this.viewportMaximum=this.sessionVariables.newViewportMaximum;null!==this.minimum&&null!==this.viewportMinimum&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));null!==this.maximum&&null!==this.viewportMaximum&&(this.viewportMaximum=
159
+ Math.min(this.viewportMaximum,this.maximum));this.trackChanges("viewportMinimum");this.trackChanges("viewportMaximum")}function P(a,f,c,b){P.base.constructor.call(this,"ScaleBreaks","scaleBreaks",f,null,b);this.id=c;this.chart=a;this.ctx=this.chart.ctx;this.axis=b;this.optionsName="scaleBreaks";this.isOptionsInArray=!1;this._appliedBreaks=[];this.customBreaks=[];this.autoBreaks=[];"string"===typeof this.spacing?(this.spacing=parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?8:(10<this.spacing?
160
+ 10:this.spacing)+"%"):"number"!==typeof this.spacing&&(this.spacing=8);this.autoCalculate&&(this.maxNumberOfAutoBreaks=Math.min(this.maxNumberOfAutoBreaks,5));if(this.options.customBreaks&&0<this.options.customBreaks.length){for(a=0;a<this.options.customBreaks.length;a++)this.customBreaks.push(new T(this.chart,"customBreaks",this.options.customBreaks[a],a,++this.chart._eventManager.lastObjectId,this)),"number"===typeof this.customBreaks[a].startValue&&("number"===typeof this.customBreaks[a].endValue&&
161
+ this.customBreaks[a].endValue!==this.customBreaks[a].startValue)&&this._appliedBreaks.push(this.customBreaks[a]);this._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue});for(a=0;a<this._appliedBreaks.length-1;a++)this._appliedBreaks[a].endValue>=this._appliedBreaks[a+1].startValue&&(this._appliedBreaks[a].endValue=Math.max(this._appliedBreaks[a].endValue,this._appliedBreaks[a+1].endValue),window.console&&window.console.log("CanvasJS Error: Breaks "+a+" and "+(a+1)+" are overlapping."),
162
+ this._appliedBreaks.splice(a,2),a--)}}function T(a,f,c,b,g,h){T.base.constructor.call(this,"Break",f,c,b,h);this.id=g;this.chart=a;this.ctx=this.chart.ctx;this.scaleBreaks=h;this.optionsName=f;this.isOptionsInArray=!0;this.type=c.type?this.type:h.type;this.fillOpacity=e(c.fillOpacity)?h.fillOpacity:this.fillOpacity;this.lineThickness=e(c.lineThickness)?h.lineThickness:this.lineThickness;this.color=c.color?this.color:h.color;this.lineColor=c.lineColor?this.lineColor:h.lineColor;this.lineDashType=c.lineDashType?
163
+ this.lineDashType:h.lineDashType;!e(this.startValue)&&this.startValue.getTime&&(this.startValue=this.startValue.getTime());!e(this.endValue)&&this.endValue.getTime&&(this.endValue=this.endValue.getTime());"number"===typeof this.startValue&&("number"===typeof this.endValue&&this.endValue<this.startValue)&&(a=this.startValue,this.startValue=this.endValue,this.endValue=a);this.spacing="undefined"===typeof c.spacing?h.spacing:c.spacing;"string"===typeof this.options.spacing?(this.spacing=parseFloat(this.spacing),
164
+ this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=h.spacing);this.size=h.parent.logarithmic?1:0}function N(a,f,c,b,g){N.base.constructor.call(this,"StripLine","stripLines",f,c,g);this.id=b;this.chart=a;this.ctx=this.chart.ctx;this.label=this.label;this.axis=g;this.optionsName="stripLines";this.isOptionsInArray=!0;this._thicknessType="pixel";null!==this.startValue&&null!==this.endValue&&(this.value=g.logarithmic?Math.sqrt((this.startValue.getTime?
165
+ this.startValue.getTime():this.startValue)*(this.endValue.getTime?this.endValue.getTime():this.endValue)):((this.startValue.getTime?this.startValue.getTime():this.startValue)+(this.endValue.getTime?this.endValue.getTime():this.endValue))/2,this._thicknessType=null)}function Y(a,f,c){Y.base.constructor.call(this,"Crosshair","crosshair",f,null,c);this.chart=a;this.ctx=this.chart.ctx;this.axis=c;this.optionsName="crosshair";this._thicknessType="pixel"}function pa(a,f){pa.base.constructor.call(this,"ToolTip",
166
+ "toolTip",f,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.currentDataPointIndex=this.currentSeriesIndex=-1;this._prevY=this._prevX=NaN;this.containerTransitionDuration=0.1;this.mozContainerTransition=this.getContainerTransition(this.containerTransitionDuration);this.optionsName="toolTip";this._initialize()}function ea(a){this.chart=a;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.previousDataPointEventObject=null;this.ghostCanvas=sa(this.chart.width,
167
+ this.chart.height,!0);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function la(a){this.chart=a;this.ctx=this.chart.plotArea.ctx;this.animations=[];this.animationRequestId=null}ia(u,aa);u.prototype.destroy=function(){var a=this.allDOMEventHandlers;this._animator&&this._animator.cancelAllAnimations();this._panTimerId&&clearTimeout(this._panTimerId);for(var f=0;f<a.length;f++)gb(a[f][0],a[f][1],a[f][2],a[f][3]);this.allDOMEventHandlers=[];for(this.removeAllEventListeners();this._canvasJSContainer&&
168
+ this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);for(;this._dropdownMenu&&this._dropdownMenu.hasChildNodes();)this._dropdownMenu.removeChild(this._dropdownMenu.lastChild);this.container=this._canvasJSContainer=null;this.toolTip.container=null;this.canvas&&Da(this.canvas);this.overlaidCanvas&&Da(this.overlaidCanvas);this._preRenderCanvas&&
169
+ Da(this._preRenderCanvas);this._breaksCanvas&&Da(this._breaksCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Da(this._eventManager.ghostCanvas);this._toolBar=this._dropdownMenu=this._menuButton=this._resetButton=this._zoomButton=null};u.prototype._updateOptions=function(){var a=this;this.updateOption("width");this.updateOption("height");this.updateOption("dataPointWidth");this.updateOption("dataPointMinWidth");this.updateOption("dataPointMaxWidth");this.updateOption("interactivityEnabled");
170
+ this.updateOption("theme");this.updateOption("colorSet")&&(this.selectedColorSet="undefined"!==typeof ya[this.colorSet]?ya[this.colorSet]:ya.colorSet1);this.updateOption("backgroundColor");this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("culture");this._cultureInfo=new Oa(this.options.culture);this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&s;this.updateOption("animationDuration");this.updateOption("rangeChanging");this.updateOption("rangeChanged");
171
+ this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("zoomType");this.toolbar=new Wa(this,this.options.toolbar);if(this.options.zoomEnabled||this.panEnabled){if(this._zoomButton)M(this._zoomButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),xa(this,this._zoomButton,"zoom");else{var f=!1;za(this._zoomButton=document.createElement("button"));xa(this,
172
+ this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor;y(this._zoomButton,"touchstart",function(a){f=!0},this.allDOMEventHandlers);y(this._zoomButton,"click",function(){a.zoomEnabled?(a.zoomEnabled=!1,a.panEnabled=!0,xa(a,a._zoomButton,"zoom")):(a.zoomEnabled=!0,a.panEnabled=!1,xa(a,a._zoomButton,"pan"));a.render()},this.allDOMEventHandlers);y(this._zoomButton,"mousemove",
173
+ function(){f?f=!1:(M(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&M(a._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers);y(this._zoomButton,"mouseout",function(){f||(M(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&
174
+ M(a._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers)}this._resetButton?(M(this._resetButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),this._resetButton.title=this._cultureInfo.resetText):(f=!1,za(this._resetButton=document.createElement("button")),xa(this,this._resetButton,"reset"),this._resetButton.style.borderRight=(this.exportEnabled?
175
+ this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor,this._toolBar.appendChild(this._resetButton),y(this._resetButton,"touchstart",function(a){f=!0},this.allDOMEventHandlers),y(this._resetButton,"click",function(){a.toolTip.hide();a.toolTip&&a.toolTip.enabled&&a.toolTip.dispatchEvent("hidden",{chart:a,toolTip:a.toolTip},a.toolTip);a.zoomEnabled||a.panEnabled?(a.zoomEnabled=!0,a.panEnabled=!1,xa(a,a._zoomButton,"pan"),a._defaultCursor="default",a.overlaidCanvas.style.cursor=
176
+ a._defaultCursor):(a.zoomEnabled=!1,a.panEnabled=!1);if(a.sessionVariables.axisX)for(var b=0;b<a.sessionVariables.axisX.length;b++)a.sessionVariables.axisX[b].newViewportMinimum=null,a.sessionVariables.axisX[b].newViewportMaximum=null;if(a.sessionVariables.axisX2)for(b=0;b<a.sessionVariables.axisX2.length;b++)a.sessionVariables.axisX2[b].newViewportMinimum=null,a.sessionVariables.axisX2[b].newViewportMaximum=null;if(a.sessionVariables.axisY)for(b=0;b<a.sessionVariables.axisY.length;b++)a.sessionVariables.axisY[b].newViewportMinimum=
177
+ null,a.sessionVariables.axisY[b].newViewportMaximum=null;if(a.sessionVariables.axisY2)for(b=0;b<a.sessionVariables.axisY2.length;b++)a.sessionVariables.axisY2[b].newViewportMinimum=null,a.sessionVariables.axisY2[b].newViewportMaximum=null;a.resetOverlayedCanvas();0>=navigator.userAgent.search("MSIE")&&M(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});za(a._zoomButton,a._resetButton);a.stockChart&&(a.stockChart._rangeEventParameter={stockChart:a.stockChart,source:"chart",
178
+ index:a.stockChart.charts.indexOf(a),minimum:null,maximum:null});a._dispatchRangeEvent("rangeChanging","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanging",a.stockChart.dispatchEvent("rangeChanging",a.stockChart._rangeEventParameter,a.stockChart));a.render();a.syncCharts&&a.syncCharts(null,null);a._dispatchRangeEvent("rangeChanged","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanged",a.stockChart.dispatchEvent("rangeChanged",a.stockChart._rangeEventParameter,
179
+ a.stockChart))},this.allDOMEventHandlers),y(this._resetButton,"mousemove",function(){f||(M(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&M(a._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers),y(this._resetButton,"mouseout",function(){f||(M(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,
180
+ transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&M(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers),this.overlaidCanvas.style.cursor=a._defaultCursor);this.zoomEnabled||this.panEnabled||(this._zoomButton?(a._zoomButton.getAttribute("state")===a._cultureInfo.zoomText?(this.panEnabled=!0,this.zoomEnabled=!1):(this.zoomEnabled=!0,this.panEnabled=!1),Sa(a._zoomButton,a._resetButton)):(this.zoomEnabled=!0,this.panEnabled=
181
+ !1))}else this.panEnabled=this.zoomEnabled=!1;ib(this);"none"!==this._toolBar.style.display&&this._zoomButton&&(this.panEnabled?xa(a,a._zoomButton,"zoom"):xa(a,a._zoomButton,"pan"),a._resetButton.getAttribute("state")!==a._cultureInfo.resetText&&xa(a,a._resetButton,"reset"));this.options.toolTip&&this.toolTip.options!==this.options.toolTip&&(this.toolTip.options=this.options.toolTip);for(var c in this.toolTip.options)this.toolTip.options.hasOwnProperty(c)&&this.toolTip.updateOption(c)};u.prototype._updateSize=
182
+ function(){return lb.call(this,[this.canvas,this.overlaidCanvas,this._eventManager.ghostCanvas])};u.prototype._initialize=function(){this.isNavigator=e(this.parent)||e(this.parent._defaultsKey)||"Navigator"!==this.parent._defaultsKey?!1:!0;this._animator?this._animator.cancelAllAnimations():this._animator=new la(this);this.removeAllEventListeners();this.disableToolTip=!1;this._axes=[];this.funnelPyramidClickHandler=this.pieDoughnutClickHandler=null;this._updateOptions();this.animatedRender=s&&this.animationEnabled&&
183
+ 0===this.renderCount;this._updateSize();this.clearCanvas();this.ctx.beginPath();this.axisX=[];this.axisX2=[];this.axisY=[];this.axisY2=[];this._indexLabels=[];this._dataInRenderedOrder=[];this._events=[];this._eventManager&&this._eventManager.reset();this.plotInfo={axisPlacement:null,plotTypes:[]};this.layoutManager=new La(0,0,this.width,this.height,this.isNavigator?0:2);this.plotArea.layoutManager&&this.plotArea.layoutManager.reset();this.data=[];this.title=null;this.subtitles=[];var a=0,f=null;
184
+ if(this.options.data){for(var c=0;c<this.options.data.length;c++)if(a++,!this.options.data[c].type||0<=u._supportedChartTypes.indexOf(this.options.data[c].type)){var b=new O(this,this.options.data[c],a-1,++this._eventManager.lastObjectId);"error"===b.type&&(b.linkedDataSeriesIndex=e(this.options.data[c].linkedDataSeriesIndex)?c-1:this.options.data[c].linkedDataSeriesIndex,0>b.linkedDataSeriesIndex||b.linkedDataSeriesIndex>=this.options.data.length||"number"!==typeof b.linkedDataSeriesIndex||"error"===
185
+ this.options.data[b.linkedDataSeriesIndex].type)&&(b.linkedDataSeriesIndex=null);null===b.name&&(b.name="DataSeries "+a);null===b.color?1<this.options.data.length?(b._colorSet=[this.selectedColorSet[b.index%this.selectedColorSet.length]],b.color=this.selectedColorSet[b.index%this.selectedColorSet.length]):b._colorSet="line"===b.type||"stepLine"===b.type||"spline"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"rangeArea"===
186
+ b.type||"rangeSplineArea"===b.type||"candlestick"===b.type||"ohlc"===b.type||"waterfall"===b.type||"boxAndWhisker"===b.type?[this.selectedColorSet[0]]:this.selectedColorSet:b._colorSet=[b.color];null===b.markerSize&&(("line"===b.type||"stepLine"===b.type||"spline"===b.type||0<=b.type.toLowerCase().indexOf("area"))&&b.dataPoints&&b.dataPoints.length<this.width/16||"scatter"===b.type)&&(b.markerSize=8);"bubble"!==b.type&&"scatter"!==b.type||!b.dataPoints||(b.dataPoints.some?b.dataPoints.some(function(a){return a.x})&&
187
+ b.dataPoints.sort(l):b.dataPoints.sort(l));this.data.push(b);var g=b.axisPlacement,f=f||g,h;"normal"===g?"xySwapped"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with bar chart':"none"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="normal"):"xySwapped"===g?"normal"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with line, area, column or pie chart':"none"===this.plotInfo.axisPlacement?
188
+ h='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="xySwapped"):"none"===g?"normal"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with line, area, column or bar chart':"xySwapped"===this.plotInfo.axisPlacement?h='You cannot combine "'+b.type+'" with bar chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="none"):null===g&&"none"===this.plotInfo.axisPlacement&&(h='You cannot combine "'+b.type+'" with pie chart');
189
+ if(h&&window.console){window.console.log(h);return}}for(c=0;c<this.data.length;c++){if("none"==f&&"error"===this.data[c].type&&window.console){window.console.log('You cannot combine "'+b.type+'" with error chart');return}"error"===this.data[c].type&&(this.data[c].axisPlacement=this.plotInfo.axisPlacement=f||"normal",this.data[c]._linkedSeries=null===this.data[c].linkedDataSeriesIndex?null:this.data[this.data[c].linkedDataSeriesIndex])}}this._objectsInitialized=!0;this._plotAreaElements=[]};u._supportedChartTypes=
190
+ Ea("line stepLine spline column area stepArea splineArea bar bubble scatter stackedColumn stackedColumn100 stackedBar stackedBar100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeBar rangeArea rangeSplineArea pie doughnut funnel pyramid waterfall".split(" "));u.prototype.setLayout=function(){for(var a=this._plotAreaElements,f=0;f<this.data.length;f++)if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement){if(!this.data[f].axisYType||
191
+ "primary"===this.data[f].axisYType)if(this.options.axisY&&0<this.options.axisY.length){if(!this.axisY.length)for(var c=0;c<this.options.axisY.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[c]=new z(this,"axisY",this.options.axisY[c],c,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[c]=new z(this,"axisY",this.options.axisY[c],c,"axisY","bottom"));this.data[f].axisY=this.axisY[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<this.axisY.length?
192
+ this.data[f].axisYIndex:0];this.axisY[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<this.axisY.length?this.data[f].axisYIndex:0].dataSeries.push(this.data[f])}else this.axisY.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[0]=new z(this,"axisY",this.options.axisY,0,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[0]=new z(this,"axisY",this.options.axisY,0,"axisY","bottom"))),this.data[f].axisY=this.axisY[0],this.axisY[0].dataSeries.push(this.data[f]);
193
+ if("secondary"===this.data[f].axisYType)if(this.options.axisY2&&0<this.options.axisY2.length){if(!this.axisY2.length)for(c=0;c<this.options.axisY2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[c]=new z(this,"axisY2",this.options.axisY2[c],c,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[c]=new z(this,"axisY2",this.options.axisY2[c],c,"axisY","top"));this.data[f].axisY=this.axisY2[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<
194
+ this.axisY2.length?this.data[f].axisYIndex:0];this.axisY2[0<=this.data[f].axisYIndex&&this.data[f].axisYIndex<this.axisY2.length?this.data[f].axisYIndex:0].dataSeries.push(this.data[f])}else this.axisY2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[0]=new z(this,"axisY2",this.options.axisY2,0,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[0]=new z(this,"axisY2",this.options.axisY2,0,"axisY","top"))),this.data[f].axisY=this.axisY2[0],
195
+ this.axisY2[0].dataSeries.push(this.data[f]);if(!this.data[f].axisXType||"primary"===this.data[f].axisXType)if(this.options.axisX&&0<this.options.axisX.length){if(!this.axisX.length)for(c=0;c<this.options.axisX.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[c]=new z(this,"axisX",this.options.axisX[c],c,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[c]=new z(this,"axisX",this.options.axisX[c],c,"axisX","left"));this.data[f].axisX=
196
+ this.axisX[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX.length?this.data[f].axisXIndex:0];this.axisX[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX.length?this.data[f].axisXIndex:0].dataSeries.push(this.data[f])}else this.axisX.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[0]=new z(this,"axisX",this.options.axisX,0,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[0]=new z(this,"axisX",this.options.axisX,
197
+ 0,"axisX","left"))),this.data[f].axisX=this.axisX[0],this.axisX[0].dataSeries.push(this.data[f]);if("secondary"===this.data[f].axisXType)if(this.options.axisX2&&0<this.options.axisX2.length){if(!this.axisX2.length)for(c=0;c<this.options.axisX2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[c]=new z(this,"axisX2",this.options.axisX2[c],c,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[c]=new z(this,"axisX2",this.options.axisX2[c],
198
+ c,"axisX","right"));this.data[f].axisX=this.axisX2[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX2.length?this.data[f].axisXIndex:0];this.axisX2[0<=this.data[f].axisXIndex&&this.data[f].axisXIndex<this.axisX2.length?this.data[f].axisXIndex:0].dataSeries.push(this.data[f])}else this.axisX2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[0]=new z(this,"axisX2",this.options.axisX2,0,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[0]=
199
+ new z(this,"axisX2",this.options.axisX2,0,"axisX","right"))),this.data[f].axisX=this.axisX2[0],this.axisX2[0].dataSeries.push(this.data[f])}if(this.axisY){for(c=1;c<this.axisY.length;c++)"undefined"===typeof this.axisY[c].options.gridThickness&&(this.axisY[c].gridThickness=0);for(c=0;c<this.axisY.length-1;c++)"undefined"===typeof this.axisY[c].options.margin&&(this.axisY[c].margin=10)}if(this.axisY2){for(c=1;c<this.axisY2.length;c++)"undefined"===typeof this.axisY2[c].options.gridThickness&&(this.axisY2[c].gridThickness=
200
+ 0);for(c=0;c<this.axisY2.length-1;c++)"undefined"===typeof this.axisY2[c].options.margin&&(this.axisY2[c].margin=10)}this.axisY&&0<this.axisY.length&&(this.axisY2&&0<this.axisY2.length)&&(0<this.axisY[0].gridThickness&&"undefined"===typeof this.axisY2[0].options.gridThickness?this.axisY2[0].gridThickness=0:0<this.axisY2[0].gridThickness&&"undefined"===typeof this.axisY[0].options.gridThickness&&(this.axisY[0].gridThickness=0));if(this.axisX)for(c=0;c<this.axisX.length;c++)"undefined"===typeof this.axisX[c].options.gridThickness&&
201
+ (this.axisX[c].gridThickness=0);if(this.axisX2)for(c=0;c<this.axisX2.length;c++)"undefined"===typeof this.axisX2[c].options.gridThickness&&(this.axisX2[c].gridThickness=0);this.axisX&&0<this.axisX.length&&(this.axisX2&&0<this.axisX2.length)&&(0<this.axisX[0].gridThickness&&"undefined"===typeof this.axisX2[0].options.gridThickness?this.axisX2[0].gridThickness=0:0<this.axisX2[0].gridThickness&&"undefined"===typeof this.axisX[0].options.gridThickness&&(this.axisX[0].gridThickness=0));c=!1;if(0<this._axes.length&&
202
+ this.options.zoomEnabled&&(this.zoomEnabled||this.panEnabled))for(f=0;f<this._axes.length;f++)if(!e(this._axes[f].viewportMinimum)||!e(this._axes[f].viewportMaximum)){c=!0;break}c?(Sa(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,this._resetButton.style.borderRight=(this.exportEnabled?this.toolbar.buttonBorderThickness:
203
+ 0)+"px solid "+this.toolbar.buttonBorderColor):(za(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid transparent",this.options.zoomEnabled&&(this.zoomEnabled=!0,this.panEnabled=!1));qb(this);this._processData();this.options.title&&(this.title=new Ia(this,this.options.title),this.title.dockInsidePlotArea?a.push(this.title):this.title.setLayout());if(this.options.subtitles)for(f=0;f<this.options.subtitles.length;f++)c=new Na(this,this.options.subtitles[f],
204
+ f),this.subtitles.push(c),c.dockInsidePlotArea?a.push(c):c.setLayout();this.legend=new J(this,this.options.legend);for(f=0;f<this.data.length;f++)(this.data[f].showInLegend||"pie"===this.data[f].type||"doughnut"===this.data[f].type||"funnel"===this.data[f].type||"pyramid"===this.data[f].type)&&this.legend.dataSeries.push(this.data[f]);this.legend.dockInsidePlotArea?a.push(this.legend):this.legend.setLayout();for(f=0;f<this._axes.length;f++)if(this._axes[f].scaleBreaks&&this._axes[f].scaleBreaks._appliedBreaks.length){s?
205
+ (this._breaksCanvas=sa(this.width,this.height,!0),this._breaksCanvasCtx=this._breaksCanvas.getContext("2d")):(this._breaksCanvas=this.canvas,this._breaksCanvasCtx=this.ctx);break}this._preRenderCanvas=sa(this.width,this.height);this._preRenderCtx=this._preRenderCanvas.getContext("2d");"normal"!==this.plotInfo.axisPlacement&&"xySwapped"!==this.plotInfo.axisPlacement||z.setLayout(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement,this.layoutManager.getFreeSpace())};u.prototype.renderElements=
206
+ function(){if(this.height){var a=this._plotAreaElements;this.title&&!this.title.dockInsidePlotArea&&this.title.render();for(var f=0;f<this.subtitles.length;f++)this.subtitles[f].dockInsidePlotArea||this.subtitles[f].render();this.legend.dockInsidePlotArea||this.legend.render();if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)z.render(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement);else if("none"===this.plotInfo.axisPlacement)this.preparePlotArea();
207
+ else return;for(f=0;f<a.length;f++)a[f].setLayout(),a[f].render();var c=[];if(this.animatedRender){var b=sa(this.width,this.height);b.getContext("2d").drawImage(this.canvas,0,0,this.width,this.height)}sb(this);var a=this.ctx.miterLimit,g;this.ctx.miterLimit=3;s&&this._breaksCanvas&&(this._preRenderCtx.drawImage(this.canvas,0,0,this.width,this.height),this._preRenderCtx.drawImage(this._breaksCanvas,0,0,this.width,this.height),this._breaksCanvasCtx.globalCompositeOperation="source-atop",this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
208
+ 0,0,this.width,this.height),this._preRenderCtx.clearRect(0,0,this.width,this.height));for(f=0;f<this.plotInfo.plotTypes.length;f++)for(var h=this.plotInfo.plotTypes[f],B=0;B<h.plotUnits.length;B++){var e=h.plotUnits[B],d=null;e.targetCanvas&&Da(e.targetCanvas);e.targetCanvas=null;this.animatedRender&&(e.targetCanvas=sa(this.width,this.height),e.targetCanvasCtx=e.targetCanvas.getContext("2d"),g=e.targetCanvasCtx.miterLimit,e.targetCanvasCtx.miterLimit=3);"line"===e.type?d=this.renderLine(e):"stepLine"===
209
+ e.type?d=this.renderStepLine(e):"spline"===e.type?d=this.renderSpline(e):"column"===e.type?d=this.renderColumn(e):"bar"===e.type?d=this.renderBar(e):"area"===e.type?d=this.renderArea(e):"stepArea"===e.type?d=this.renderStepArea(e):"splineArea"===e.type?d=this.renderSplineArea(e):"stackedColumn"===e.type?d=this.renderStackedColumn(e):"stackedColumn100"===e.type?d=this.renderStackedColumn100(e):"stackedBar"===e.type?d=this.renderStackedBar(e):"stackedBar100"===e.type?d=this.renderStackedBar100(e):"stackedArea"===
210
+ e.type?d=this.renderStackedArea(e):"stackedArea100"===e.type?d=this.renderStackedArea100(e):"bubble"===e.type?d=d=this.renderBubble(e):"scatter"===e.type?d=this.renderScatter(e):"pie"===e.type?this.renderPie(e):"doughnut"===e.type?this.renderPie(e):"funnel"===e.type?d=this.renderFunnel(e):"pyramid"===e.type?d=this.renderFunnel(e):"candlestick"===e.type?d=this.renderCandlestick(e):"ohlc"===e.type?d=this.renderCandlestick(e):"rangeColumn"===e.type?d=this.renderRangeColumn(e):"error"===e.type?d=this.renderError(e):
211
+ "rangeBar"===e.type?d=this.renderRangeBar(e):"rangeArea"===e.type?d=this.renderRangeArea(e):"rangeSplineArea"===e.type?d=this.renderRangeSplineArea(e):"waterfall"===e.type?d=this.renderWaterfall(e):"boxAndWhisker"===e.type&&(d=this.renderBoxAndWhisker(e));for(var m=0;m<e.dataSeriesIndexes.length;m++)this._dataInRenderedOrder.push(this.data[e.dataSeriesIndexes[m]]);this.animatedRender&&(e.targetCanvasCtx.miterLimit=g,d&&c.push(d))}this.ctx.miterLimit=a;this.animatedRender&&this._breaksCanvasCtx&&c.push({source:this._breaksCanvasCtx,
212
+ dest:this.plotArea.ctx,animationCallback:x.fadeInAnimation,easingFunction:x.easing.easeInQuad,animationBase:0,startTimePercent:0.7});this.animatedRender&&0<this._indexLabels.length&&(g=sa(this.width,this.height).getContext("2d"),c.push(this.renderIndexLabels(g)));var n=this;if(0<c.length)n.disableToolTip=!0,n._animator.animate(200,n.animationDuration,function(a){n.ctx.clearRect(0,0,n.width,n.height);n.ctx.drawImage(b,0,0,Math.floor(n.width*ka),Math.floor(n.height*ka),0,0,n.width,n.height);for(var f=
213
+ 0;f<c.length;f++)d=c[f],1>a&&"undefined"!==typeof d.startTimePercent?a>=d.startTimePercent&&d.animationCallback(d.easingFunction(a-d.startTimePercent,0,1,1-d.startTimePercent),d):d.animationCallback(d.easingFunction(a,0,1,1),d);n.dispatchEvent("dataAnimationIterationEnd",{chart:n})},function(){c=[];for(var a=0;a<n.plotInfo.plotTypes.length;a++)for(var f=n.plotInfo.plotTypes[a],g=0;g<f.plotUnits.length;g++){var h=f.plotUnits[g];h.targetCanvas&&Da(h.targetCanvas);h.targetCanvas=null}b=null;n.disableToolTip=
214
+ !1;n.dispatchEvent("dataAnimationEnd",{chart:n})});else{if(n._breaksCanvas)if(s)n.plotArea.ctx.drawImage(n._breaksCanvas,0,0,this.width,this.height);else for(m=0;m<n._axes.length;m++)n._axes[m].createMask();0<n._indexLabels.length&&n.renderIndexLabels();n.dispatchEvent("dataAnimationIterationEnd",{chart:n});n.dispatchEvent("dataAnimationEnd",{chart:n})}this.attachPlotAreaEventHandlers();this.zoomEnabled||(this.panEnabled||!this._zoomButton||"none"===this._zoomButton.style.display)||za(this._zoomButton,
215
+ this._resetButton);this.toolTip._updateToolTip();this.renderCount++;Ma&&(n=this,setTimeout(function(){var a=document.getElementById("ghostCanvasCopy");a&&(Ta(a,n.width,n.height),a.getContext("2d").drawImage(n._eventManager.ghostCanvas,0,0))},2E3));this._breaksCanvas&&(delete this._breaksCanvas,delete this._breaksCanvasCtx);for(m=0;m<this._axes.length;m++)this._axes[m].maskCanvas&&(delete this._axes[m].maskCanvas,delete this._axes[m].maskCtx)}};u.prototype.render=function(a){a&&(this.options=a);this._initialize();
216
+ this.setLayout();this.renderElements();this._preRenderCanvas&&Da(this._preRenderCanvas)};u.prototype.attachPlotAreaEventHandlers=function(){this.attachEvent({context:this,chart:this,mousedown:this._plotAreaMouseDown,mouseup:this._plotAreaMouseUp,mousemove:this._plotAreaMouseMove,cursor:this.panEnabled?"move":"default",capture:!0,bounds:this.plotArea})};u.prototype.categoriseDataSeries=function(){for(var a="",f=0;f<this.data.length;f++)if(a=this.data[f],a.dataPoints&&(0!==a.dataPoints.length&&a.visible)&&
217
+ 0<=u._supportedChartTypes.indexOf(a.type)){for(var c=null,b=!1,g=null,h=!1,B=0;B<this.plotInfo.plotTypes.length;B++)if(this.plotInfo.plotTypes[B].type===a.type){b=!0;c=this.plotInfo.plotTypes[B];break}b||(c={type:a.type,totalDataSeries:0,plotUnits:[]},this.plotInfo.plotTypes.push(c));for(B=0;B<c.plotUnits.length;B++)if(c.plotUnits[B].axisYType===a.axisYType&&c.plotUnits[B].axisXType===a.axisXType&&c.plotUnits[B].axisYIndex===a.axisYIndex&&c.plotUnits[B].axisXIndex===a.axisXIndex){h=!0;g=c.plotUnits[B];
218
+ break}h||(g={type:a.type,previousDataSeriesCount:0,index:c.plotUnits.length,plotType:c,axisXType:a.axisXType,axisYType:a.axisYType,axisYIndex:a.axisYIndex,axisXIndex:a.axisXIndex,axisY:"primary"===a.axisYType?this.axisY[0<=a.axisYIndex&&a.axisYIndex<this.axisY.length?a.axisYIndex:0]:this.axisY2[0<=a.axisYIndex&&a.axisYIndex<this.axisY2.length?a.axisYIndex:0],axisX:"primary"===a.axisXType?this.axisX[0<=a.axisXIndex&&a.axisXIndex<this.axisX.length?a.axisXIndex:0]:this.axisX2[0<=a.axisXIndex&&a.axisXIndex<
219
+ this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},c.plotUnits.push(g));c.totalDataSeries++;g.dataSeriesIndexes.push(f);a.plotUnit=g}for(f=0;f<this.plotInfo.plotTypes.length;f++)for(c=this.plotInfo.plotTypes[f],B=a=0;B<c.plotUnits.length;B++)c.plotUnits[B].previousDataSeriesCount=a,a+=c.plotUnits[B].dataSeriesIndexes.length};u.prototype.assignIdToDataPoints=function(){for(var a=0;a<this.data.length;a++){var f=this.data[a];if(f.dataPoints)for(var c=f.dataPoints.length,
220
+ b=0;b<c;b++)f.dataPointIds[b]=++this._eventManager.lastObjectId}};u.prototype._processData=function(){this.assignIdToDataPoints();this.categoriseDataSeries();for(var a=0;a<this.plotInfo.plotTypes.length;a++)for(var f=this.plotInfo.plotTypes[a],c=0;c<f.plotUnits.length;c++){var b=f.plotUnits[c];"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type?this._processMultiseriesPlotUnit(b):
221
+ "stackedColumn"===b.type||"stackedBar"===b.type||"stackedArea"===b.type?this._processStackedPlotUnit(b):"stackedColumn100"===b.type||"stackedBar100"===b.type||"stackedArea100"===b.type?this._processStacked100PlotUnit(b):"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"error"===b.type||"boxAndWhisker"===b.type?this._processMultiYPlotUnit(b):"waterfall"===b.type&&this._processSpecificPlotUnit(b)}this.calculateAutoBreaks()};
222
+ u.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=0;B<a.dataSeriesIndexes.length;B++){var e=this.data[a.dataSeriesIndexes[B]],d=0,m=!1,n=!1,p;if("normal"===e.axisPlacement||"xySwapped"===e.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&
223
+ a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(e.dataPoints[d].x&&e.dataPoints[d].x.getTime||"dateTime"===e.xValueType)h=!0;for(d=0;d<e.dataPoints.length;d++){"undefined"===typeof e.dataPoints[d].x&&(e.dataPoints[d].x=d+
224
+ (a.axisX.logarithmic?1:0));e.dataPoints[d].x.getTime?(h=!0,b=e.dataPoints[d].x.getTime()):b=e.dataPoints[d].x;g=e.dataPoints[d].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);g<f.min&&"number"===typeof g&&(f.min=g);g>f.max&&"number"===typeof g&&(f.max=g);if(0<d){if(a.axisX.logarithmic){var r=b/e.dataPoints[d-1].x;1>r&&(r=1/r);c.minDiff>r&&1!==r&&(c.minDiff=r)}else r=b-e.dataPoints[d-1].x,0>r&&(r*=-1),c.minDiff>r&&0!==r&&(c.minDiff=r);null!==g&&null!==e.dataPoints[d-1].y&&(a.axisY.logarithmic?(r=g/e.dataPoints[d-
225
+ 1].y,1>r&&(r=1/r),f.minDiff>r&&1!==r&&(f.minDiff=r)):(r=g-e.dataPoints[d-1].y,0>r&&(r*=-1),f.minDiff>r&&0!==r&&(f.minDiff=r)))}if(b<q&&!m)null!==g&&(p=b);else{if(!m&&(m=!0,0<d)){d-=2;continue}if(b>k&&!n)n=!0;else if(b>k&&n)continue;e.dataPoints[d].label&&(a.axisX.labels[b]=e.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===g?c.viewPortMin===b&&p<b&&(c.viewPortMin=p):(g<f.viewPortMin&&"number"===typeof g&&(f.viewPortMin=g),g>f.viewPortMax&&"number"===
226
+ typeof g&&(f.viewPortMax=g))}}e.axisX.valueType=e.xValueType=h?"dateTime":"number"}};u.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=[],d=[],L=Infinity,m=-Infinity,n=0;n<a.dataSeriesIndexes.length;n++){var p=this.data[a.dataSeriesIndexes[n]],q=0,k=!1,r=!1,x;if("normal"===p.axisPlacement||"xySwapped"===p.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:
227
+ a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,w=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(p.dataPoints[q].x&&p.dataPoints[q].x.getTime||"dateTime"===p.xValueType)h=!0;for(q=0;q<p.dataPoints.length;q++){"undefined"===
228
+ typeof p.dataPoints[q].x&&(p.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));p.dataPoints[q].x.getTime?(h=!0,b=p.dataPoints[q].x.getTime()):b=p.dataPoints[q].x;g=e(p.dataPoints[q].y)?0:p.dataPoints[q].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<q){if(a.axisX.logarithmic){var A=b/p.dataPoints[q-1].x;1>A&&(A=1/A);c.minDiff>A&&1!==A&&(c.minDiff=A)}else A=b-p.dataPoints[q-1].x,0>A&&(A*=-1),c.minDiff>A&&0!==A&&(c.minDiff=A);null!==g&&null!==p.dataPoints[q-1].y&&(a.axisY.logarithmic?0<g&&(A=g/p.dataPoints[q-
229
+ 1].y,1>A&&(A=1/A),f.minDiff>A&&1!==A&&(f.minDiff=A)):(A=g-p.dataPoints[q-1].y,0>A&&(A*=-1),f.minDiff>A&&0!==A&&(f.minDiff=A)))}if(b<s&&!k)null!==p.dataPoints[q].y&&(x=b);else{if(!k&&(k=!0,0<q)){q-=2;continue}if(b>w&&!r)r=!0;else if(b>w&&r)continue;p.dataPoints[q].label&&(a.axisX.labels[b]=p.dataPoints[q].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===p.dataPoints[q].y?c.viewPortMin===b&&x<b&&(c.viewPortMin=x):(a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+g,a.yAbsTotals[b]=
230
+ (a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(g),0<=g?B[b]?B[b]+=g:(B[b]=g,L=Math.min(g,L)):d[b]?d[b]+=g:(d[b]=g,m=Math.max(g,m)))}}a.axisY.scaleBreaks&&(a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&(f.dataPointYPositiveSums?(f.dataPointYPositiveSums.push.apply(f.dataPointYPositiveSums,B),f.dataPointYNegativeSums.push.apply(f.dataPointYPositiveSums,d)):(f.dataPointYPositiveSums=B,f.dataPointYNegativeSums=d));p.axisX.valueType=p.xValueType=h?"dateTime":"number"}for(q in B)B.hasOwnProperty(q)&&
231
+ !isNaN(q)&&(a=B[q],a<f.min&&(f.min=Math.min(a,L)),a>f.max&&(f.max=a),q<c.viewPortMin||q>c.viewPortMax||(a<f.viewPortMin&&(f.viewPortMin=Math.min(a,L)),a>f.viewPortMax&&(f.viewPortMax=a)));for(q in d)d.hasOwnProperty(q)&&!isNaN(q)&&(a=d[q],a<f.min&&(f.min=a),a>f.max&&(f.max=Math.max(a,m)),q<c.viewPortMin||q>c.viewPortMax||(a<f.viewPortMin&&(f.viewPortMin=a),a>f.viewPortMax&&(f.viewPortMax=Math.max(a,m))))}};u.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var f=
232
+ a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=!1,d=!1,L=[],m=0;m<a.dataSeriesIndexes.length;m++){var n=this.data[a.dataSeriesIndexes[m]],p=0,q=!1,k=!1,r;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var x=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,s=a.axisX.sessionVariables.newViewportMaximum?
233
+ a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[p].x&&n.dataPoints[p].x.getTime||"dateTime"===n.xValueType)h=!0;for(p=0;p<n.dataPoints.length;p++){"undefined"===typeof n.dataPoints[p].x&&(n.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));n.dataPoints[p].x.getTime?(h=!0,b=n.dataPoints[p].x.getTime()):b=n.dataPoints[p].x;g=e(n.dataPoints[p].y)?
234
+ null:n.dataPoints[p].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<p){if(a.axisX.logarithmic){var w=b/n.dataPoints[p-1].x;1>w&&(w=1/w);c.minDiff>w&&1!==w&&(c.minDiff=w)}else w=b-n.dataPoints[p-1].x,0>w&&(w*=-1),c.minDiff>w&&0!==w&&(c.minDiff=w);e(g)||null===n.dataPoints[p-1].y||(a.axisY.logarithmic?0<g&&(w=g/n.dataPoints[p-1].y,1>w&&(w=1/w),f.minDiff>w&&1!==w&&(f.minDiff=w)):(w=g-n.dataPoints[p-1].y,0>w&&(w*=-1),f.minDiff>w&&0!==w&&(f.minDiff=w)))}if(b<x&&!q)null!==g&&(r=b);else{if(!q&&(q=!0,0<p)){p-=
235
+ 2;continue}if(b>s&&!k)k=!0;else if(b>s&&k)continue;n.dataPoints[p].label&&(a.axisX.labels[b]=n.dataPoints[p].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===g?c.viewPortMin===b&&r<b&&(c.viewPortMin=r):(a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+g,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(g),0<=g?B=!0:0>g&&(d=!0),L[b]=L[b]?L[b]+Math.abs(g):Math.abs(g))}}n.axisX.valueType=n.xValueType=h?"dateTime":"number"}a.axisY.logarithmic?(f.max=e(f.viewPortMax)?
236
+ 99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(f.viewPortMax,99*Math.pow(a.axisY.logarithmBase,-0.05)),f.min=e(f.viewPortMin)?1:Math.min(f.viewPortMin,1)):B&&!d?(f.max=e(f.viewPortMax)?99:Math.max(f.viewPortMax,99),f.min=e(f.viewPortMin)?1:Math.min(f.viewPortMin,1)):B&&d?(f.max=e(f.viewPortMax)?99:Math.max(f.viewPortMax,99),f.min=e(f.viewPortMin)?-99:Math.min(f.viewPortMin,-99)):!B&&d&&(f.max=e(f.viewPortMax)?-1:Math.max(f.viewPortMax,-1),f.min=e(f.viewPortMin)?-99:Math.min(f.viewPortMin,-99));
237
+ f.viewPortMin=f.min;f.viewPortMax=f.max;a.dataPointYSums=L}};u.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h,B,e=!1,d=0;d<a.dataSeriesIndexes.length;d++){var m=this.data[a.dataSeriesIndexes[d]],n=0,p=!1,q=!1,k,r,x;if("normal"===m.axisPlacement||"xySwapped"===m.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?
238
+ a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,w=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(m.dataPoints[n].x&&m.dataPoints[n].x.getTime||"dateTime"===m.xValueType)e=!0;for(n=0;n<m.dataPoints.length;n++){"undefined"===
239
+ typeof m.dataPoints[n].x&&(m.dataPoints[n].x=n+(a.axisX.logarithmic?1:0));m.dataPoints[n].x.getTime?(e=!0,b=m.dataPoints[n].x.getTime()):b=m.dataPoints[n].x;if((g=m.dataPoints[n].y)&&g.length){h=Math.min.apply(null,g);B=Math.max.apply(null,g);r=!0;for(var A=0;A<g.length;A++)null===g.k&&(r=!1);r&&(p||(x=k),k=b)}b<c.min&&(c.min=b);b>c.max&&(c.max=b);h<f.min&&(f.min=h);B>f.max&&(f.max=B);0<n&&(a.axisX.logarithmic?(r=b/m.dataPoints[n-1].x,1>r&&(r=1/r),c.minDiff>r&&1!==r&&(c.minDiff=r)):(r=b-m.dataPoints[n-
240
+ 1].x,0>r&&(r*=-1),c.minDiff>r&&0!==r&&(c.minDiff=r)),g&&(null!==g[0]&&m.dataPoints[n-1].y&&null!==m.dataPoints[n-1].y[0])&&(a.axisY.logarithmic?(r=g[0]/m.dataPoints[n-1].y[0],1>r&&(r=1/r),f.minDiff>r&&1!==r&&(f.minDiff=r)):(r=g[0]-m.dataPoints[n-1].y[0],0>r&&(r*=-1),f.minDiff>r&&0!==r&&(f.minDiff=r))));if(!(b<s)||p){if(!p&&(p=!0,0<n)){n-=2;k=x;continue}if(b>w&&!q)q=!0;else if(b>w&&q)continue;m.dataPoints[n].label&&(a.axisX.labels[b]=m.dataPoints[n].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&
241
+ (c.viewPortMax=b);if(c.viewPortMin===b&&g)for(A=0;A<g.length;A++)if(null===g[A]&&k<b){c.viewPortMin=k;break}null===g?c.viewPortMin===b&&k<b&&(c.viewPortMin=k):(h<f.viewPortMin&&(f.viewPortMin=h),B>f.viewPortMax&&(f.viewPortMax=B))}}m.axisX.valueType=m.xValueType=e?"dateTime":"number"}};u.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var f=a.axisY.dataInfo,c=a.axisX.dataInfo,b,g,h=!1,B=0;B<a.dataSeriesIndexes.length;B++){var e=
242
+ this.data[a.dataSeriesIndexes[B]],d=0,m=!1,n=!1,p=b=0;if("normal"===e.axisPlacement||"xySwapped"===e.axisPlacement)var q=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,k=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?
243
+ a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(e.dataPoints[d].x&&e.dataPoints[d].x.getTime||"dateTime"===e.xValueType)h=!0;for(d=0;d<e.dataPoints.length;d++)"undefined"!==typeof e.dataPoints[d].isCumulativeSum&&!0===e.dataPoints[d].isCumulativeSum?(e.dataPointEOs[d].cumulativeSumYStartValue=0,e.dataPointEOs[d].cumulativeSum=0===d?0:e.dataPointEOs[d-1].cumulativeSum,e.dataPoints[d].y=0===d?0:e.dataPointEOs[d-1].cumulativeSum):"undefined"!==
244
+ typeof e.dataPoints[d].isIntermediateSum&&!0===e.dataPoints[d].isIntermediateSum?(e.dataPointEOs[d].cumulativeSumYStartValue=p,e.dataPointEOs[d].cumulativeSum=0===d?0:e.dataPointEOs[d-1].cumulativeSum,e.dataPoints[d].y=0===d?0:b,p=0===d?0:e.dataPointEOs[d-1].cumulativeSum,b=0):(g="number"!==typeof e.dataPoints[d].y?0:e.dataPoints[d].y,e.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:e.dataPointEOs[d-1].cumulativeSum,e.dataPointEOs[d].cumulativeSum=0===d?g:e.dataPointEOs[d-1].cumulativeSum+g,b+=
245
+ g);for(d=0;d<e.dataPoints.length;d++)if("undefined"===typeof e.dataPoints[d].x&&(e.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),e.dataPoints[d].x.getTime?(h=!0,b=e.dataPoints[d].x.getTime()):b=e.dataPoints[d].x,g=e.dataPoints[d].y,b<c.min&&(c.min=b),b>c.max&&(c.max=b),e.dataPointEOs[d].cumulativeSum<f.min&&(f.min=e.dataPointEOs[d].cumulativeSum),e.dataPointEOs[d].cumulativeSum>f.max&&(f.max=e.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(p=b/e.dataPoints[d-1].x,1>p&&(p=1/p),c.minDiff>
246
+ p&&1!==p&&(c.minDiff=p)):(p=b-e.dataPoints[d-1].x,0>p&&(p*=-1),c.minDiff>p&&0!==p&&(c.minDiff=p)),null!==g&&null!==e.dataPoints[d-1].y&&(a.axisY.logarithmic?(g=e.dataPointEOs[d].cumulativeSum/e.dataPointEOs[d-1].cumulativeSum,1>g&&(g=1/g),f.minDiff>g&&1!==g&&(f.minDiff=g)):(g=e.dataPointEOs[d].cumulativeSum-e.dataPointEOs[d-1].cumulativeSum,0>g&&(g*=-1),f.minDiff>g&&0!==g&&(f.minDiff=g)))),!(b<q)||m){if(!m&&(m=!0,0<d)){d-=2;continue}if(b>k&&!n)n=!0;else if(b>k&&n)continue;e.dataPoints[d].label&&(a.axisX.labels[b]=
247
+ e.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(e.dataPointEOs[d-1].cumulativeSum<f.viewPortMin&&(f.viewPortMin=e.dataPointEOs[d-1].cumulativeSum),e.dataPointEOs[d-1].cumulativeSum>f.viewPortMax&&(f.viewPortMax=e.dataPointEOs[d-1].cumulativeSum));e.dataPointEOs[d].cumulativeSum<f.viewPortMin&&(f.viewPortMin=e.dataPointEOs[d].cumulativeSum);e.dataPointEOs[d].cumulativeSum>f.viewPortMax&&(f.viewPortMax=e.dataPointEOs[d].cumulativeSum)}e.axisX.valueType=
248
+ e.xValueType=h?"dateTime":"number"}};u.prototype.calculateAutoBreaks=function(){function a(a,b,c,f){if(f)return c=Math.pow(Math.min(c*a/b,b/a),0.2),1>=c&&(c=Math.pow(1>a?1/a:Math.min(b/a,a),0.25)),{startValue:a*c,endValue:b/c};c=0.2*Math.min(c-b+a,b-a);0>=c&&(c=0.25*Math.min(b-a,Math.abs(a)));return{startValue:a+c,endValue:b-c}}function f(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var b=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,
249
+ c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var f=a.axisY.dataInfo,h=a.axisX.dataInfo,k,B=h.min,m=h.max,n=f.min,d=f.max,h=h._dataRanges,f=f._dataRanges,p,q=0,ua=0;ua<a.dataSeriesIndexes.length;ua++){var x=g.data[a.dataSeriesIndexes[ua]];if(!(4>x.dataPoints.length))for(q=0;q<x.dataPoints.length;q++)if(b&&(p=(m+1-B)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,k=x.dataPoints[q].x.getTime?x.dataPoints[q].x.getTime():
250
+ x.dataPoints[q].x,p=Math.floor((k-B)/p),k<h[p].min&&(h[p].min=k),k>h[p].max&&(h[p].max=k)),c){var L=(d+1-n)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((k="waterfall"===a.type?x.dataPointEOs[q].cumulativeSum:x.dataPoints[q].y)&&k.length)for(var s=0;s<k.length;s++)p=Math.floor((k[s]-n)/L),k[s]<f[p].min&&(f[p].min=k[s]),k[s]>f[p].max&&(f[p].max=k[s]);else e(k)||(p=Math.floor((k-n)/L),k<f[p].min&&(f[p].min=k),k>f[p].max&&(f[p].max=k))}}}}function c(a){if(a.dataSeriesIndexes&&
251
+ !(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=b.min,f=b.max,h=b._dataRanges,k,B=0,m=0;m<a.dataSeriesIndexes.length;m++){var e=g.data[a.dataSeriesIndexes[m]];if(!(4>e.dataPoints.length))for(B=0;B<e.dataPoints.length;B++)k=(f+1-c)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,b=e.dataPoints[B].x.getTime?e.dataPoints[B].x.getTime():e.dataPoints[B].x,k=Math.floor((b-
252
+ c)/k),b<h[k].min&&(h[k].min=b),b>h[k].max&&(h[k].max=b)}}for(var b,g=this,h=!1,B=0;B<this._axes.length;B++)if(this._axes[B].scaleBreaks&&this._axes[B].scaleBreaks.autoCalculate&&1<=this._axes[B].scaleBreaks.maxNumberOfAutoBreaks){h=!0;this._axes[B].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[B].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[B].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(h){for(B=0;B<this.plotInfo.plotTypes.length;B++)for(h=this.plotInfo.plotTypes[B],
253
+ d=0;d<h.plotUnits.length;d++)b=h.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===b.type?f(b):0<=b.type.indexOf("stacked")&&c(b);for(B=0;B<this._axes.length;B++)if(this._axes[B].dataInfo._dataRanges){var x=
254
+ this._axes[B].dataInfo.min;b=(this._axes[B].dataInfo.max+1-x)*Math.max(parseFloat(this._axes[B].scaleBreaks.collapsibleThreshold)||10,10)/100;var m=this._axes[B].dataInfo._dataRanges,n,p,h=[];if(this._axes[B].dataInfo.dataPointYPositiveSums){var q=this._axes[B].dataInfo.dataPointYPositiveSums;n=m;for(d in q)if(q.hasOwnProperty(d)&&!isNaN(d)&&(p=q[d],!e(p))){var k=Math.floor((p-x)/b);p<n[k].min&&(n[k].min=p);p>n[k].max&&(n[k].max=p)}delete this._axes[B].dataInfo.dataPointYPositiveSums}if(this._axes[B].dataInfo.dataPointYNegativeSums){q=
255
+ this._axes[B].dataInfo.dataPointYNegativeSums;n=m;for(d in q)q.hasOwnProperty(d)&&!isNaN(d)&&(p=-1*q[d],e(p)||(k=Math.floor((p-x)/b),p<n[k].min&&(n[k].min=p),p>n[k].max&&(n[k].max=p)));delete this._axes[B].dataInfo.dataPointYNegativeSums}for(d=0;d<m.length-1;d++)if(n=m[d].max,isFinite(n))for(;d<m.length-1;)if(x=m[d+1].min,isFinite(x)){p=x-n;p>b&&h.push({diff:p,start:n,end:x});break}else d++;if(this._axes[B].scaleBreaks.customBreaks)for(d=0;d<this._axes[B].scaleBreaks.customBreaks.length;d++)for(b=
256
+ 0;b<h.length;b++)if(this._axes[B].scaleBreaks.customBreaks[d].startValue<=h[b].start&&h[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue||this._axes[B].scaleBreaks.customBreaks[d].startValue<=h[b].start&&h[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue||h[b].start<=this._axes[B].scaleBreaks.customBreaks[d].startValue&&this._axes[B].scaleBreaks.customBreaks[d].startValue<=h[b].end||h[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue&&this._axes[B].scaleBreaks.customBreaks[d].endValue<=
257
+ h[b].end)h.splice(b,1),b--;h.sort(function(a,b){return b.diff-a.diff});for(d=0;d<Math.min(h.length,this._axes[B].scaleBreaks.maxNumberOfAutoBreaks);d++)b=a(h[d].start,h[d].end,this._axes[B].logarithmic?this._axes[B].dataInfo.max/this._axes[B].dataInfo.min:this._axes[B].dataInfo.max-this._axes[B].dataInfo.min,this._axes[B].logarithmic),this._axes[B].scaleBreaks.autoBreaks.push(new T(this,"autoBreaks",b,d,++this._eventManager.lastObjectId,this._axes[B].scaleBreaks)),this._axes[B].scaleBreaks._appliedBreaks.push(this._axes[B].scaleBreaks.autoBreaks[this._axes[B].scaleBreaks.autoBreaks.length-
258
258
  1]);this._axes[B].scaleBreaks._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue})}}};u.prototype.renderCrosshairs=function(a){for(var f=0;f<this.axisX.length;f++)this.axisX[f]!=a&&(this.axisX[f].crosshair&&this.axisX[f].crosshair.enabled&&!this.axisX[f].crosshair._hidden)&&this.axisX[f].showCrosshair(this.axisX[f].crosshair._updatedValue);for(f=0;f<this.axisX2.length;f++)this.axisX2[f]!=a&&(this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&!this.axisX2[f].crosshair._hidden)&&
259
259
  this.axisX2[f].showCrosshair(this.axisX2[f].crosshair._updatedValue);for(f=0;f<this.axisY.length;f++)this.axisY[f]!=a&&(this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&!this.axisY[f].crosshair._hidden)&&this.axisY[f].showCrosshair(this.axisY[f].crosshair._updatedValue);for(f=0;f<this.axisY2.length;f++)this.axisY2[f]!=a&&(this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&!this.axisY2[f].crosshair._hidden)&&this.axisY2[f].showCrosshair(this.axisY2[f].crosshair._updatedValue)};u.prototype.getDataPointAtXY=
260
260
  function(a,f,c){c=c||!1;for(var b=[],g=this._dataInRenderedOrder.length-1;0<=g;g--){var h=null;(h=this._dataInRenderedOrder[g].getDataPointAtXY(a,f,c))&&b.push(h)}a=null;f=!1;for(c=0;c<b.length;c++)if("line"===b[c].dataSeries.type||"stepLine"===b[c].dataSeries.type||"area"===b[c].dataSeries.type||"stepArea"===b[c].dataSeries.type)if(g=qa("markerSize",b[c].dataPoint,b[c].dataSeries)||8,b[c].distance<=g/2){f=!0;break}for(c=0;c<b.length;c++)f&&"line"!==b[c].dataSeries.type&&"stepLine"!==b[c].dataSeries.type&&
@@ -927,7 +927,7 @@ this.chart.requestAnimFrame.call(window,function(){h.animate.call(h)}):this.char
927
927
  d){if(0!==a){var c=d.dest,b=d.source.canvas,g=d.animationBase;c.drawImage(b,0,0,b.width,b.height,g-g*a,0,a*c.canvas.width/ka,c.canvas.height/ka)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ka,b.height/ka);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ka,c.canvas.height/ka);c.restore()}},easing:{linear:function(a,
928
928
  d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},t={drawMarker:function(a,d,c,b,g,h,e,l){if(c){var v=1;c.fillStyle=h?h:"#000000";c.strokeStyle=e?e:"#000000";c.lineWidth=l?l:0;c.setLineDash&&c.setLineDash(S("solid",l));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,g/2,0,2*Math.PI,!1),h&&c.fill(),
929
929
  l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v))):"square"===b?(c.beginPath(),c.rect(a-g/2,d-g/2,g,g),h&&c.fill(),l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v))):"triangle"===b?(c.beginPath(),c.moveTo(a-g/2,d+g/2),c.lineTo(a+g/2,d+g/2),c.lineTo(a,d-g/2),c.closePath(),h&&c.fill(),l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v)),c.beginPath()):
930
- "cross"===b&&(c.strokeStyle=h,c.lineWidth=g/4,c.beginPath(),c.moveTo(a-g/2,d-g/2),c.lineTo(a+g/2,d+g/2),c.stroke(),c.moveTo(a+g/2,d-g/2),c.lineTo(a-g/2,d+g/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];t.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return u}();Ka.version="v3.7.20 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);ea.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
930
+ "cross"===b&&(c.strokeStyle=h,c.lineWidth=g/4,c.beginPath(),c.moveTo(a-g/2,d-g/2),c.lineTo(a+g/2,d+g/2),c.stroke(),c.moveTo(a+g/2,d-g/2),c.lineTo(a-g/2,d+g/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];t.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return u}();Ka.version="v3.7.21 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);ea.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
931
931
  animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};ea.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"center",
932
932
  dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",options:"readWrite",bounds:"readOnly"}};ea.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,
933
933
  publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};ea.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};ea.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:2,labelFontColor:"#000",
@@ -1113,7 +1113,7 @@ l[d]:this.label};N.prototype.render=function(){this.textBlock.render(!0)};ia(W,a
1113
1113
  this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=this.style.padding.top+"px",this.elements[d].style.paddingRight=this.style.padding.right+"px",this.elements[d].style.paddingBottom=this.style.padding.bottom+"px",this.elements[d].style.paddingLeft=this.style.padding.left+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=
1114
1114
  this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ia(Y,aa);Y.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");
1115
1115
  this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ia(ba,aa);ba.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");
1116
- this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();T.version="v1.7.20 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
1116
+ this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();T.version="v1.7.21 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
1117
1117
  (window.CanvasJS.Chart=Ka,window.CanvasJS.StockChart=T))})();
1118
1118
 
1119
1119
  /*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canvasjs/stockcharts",
3
- "version": "1.7.20",
3
+ "version": "1.7.21",
4
4
  "description": "CanvasJS JavaScript StockCharts",
5
5
  "main": "canvasjs.stock.min.js",
6
6
  "keywords": [