@canvasjs/charts 3.14.7 → 3.14.8

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.
Files changed (3) hide show
  1. package/LICENSE +1 -1
  2. package/canvasjs.min.js +404 -404
  3. package/package.json +1 -1
package/canvasjs.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS Chart - v3.14.7 GA - https://canvasjs.com/
2
+ CanvasJS Chart - v3.14.8 GA - https://canvasjs.com/
3
3
  Copyright 2025 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -285,339 +285,339 @@ viewportMaximum:this[b[e]][d].sessionVariables.newViewportMaximum});else if("axi
285
285
  u.prototype._mouseEventHandler=function(a){function g(){u.capturedEventParam&&(e=u.capturedEventParam,p=e.bounds,"mouseup"===b&&(u.capturedEventParam=null,e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",e.chart._mouseEventHandler,!1)),e.hasOwnProperty(b)&&("mouseup"!==b||e.chart.overlaidCanvas.releaseCapture?a.target!==e.chart.overlaidCanvas&&v||e[b].call(e.context,c.x,c.y):a.target!==e.chart.overlaidCanvas&&(e.chart.isDrag=
286
286
  !1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);var c=Ra(a),b=a.type,e,d;a.which?d=3==a.which:a.button&&(d=2==a.button);if(this._ignoreNextEvent)g(),this._ignoreNextEvent=!1;else if(g(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var p;Ja&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+c.y),d&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!d){if(!u.capturedEventParam&&
287
287
  this._events){for(d=0;d<this._events.length;d++)if(this._events[d].hasOwnProperty(b))if(e=this._events[d],p=e.bounds,c.x>=p.x1&&c.x<=p.x2&&c.y>=p.y1&&c.y<=p.y2){e[b].call(e.context,c.x,c.y);"mousedown"===b&&!0===e.capture?(u.capturedEventParam=e,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===b&&(e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",
288
- this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=e&&e.cursor?e.cursor:this._defaultCursor}d=this.plotArea;if(c.x<d.x1||c.x>d.x2||c.y<d.y1||c.y>d.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):(this.resetOverlayedCanvas(),this.sessionVariables._dataHighlighted=!1);for(d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&(this.axisX[d].crosshair.hide(),
288
+ this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=e&&e.cursor?e.cursor:this._defaultCursor}d=this.plotArea;if(c.x<d.x1||c.x>d.x2||c.y<d.y1||c.y>d.y2||"mouseout"===b){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):(this.resetOverlayedCanvas(),this.sessionVariables._dataHighlighted=!1);for(d=0;d<this.axisX.length;d++)this.axisX[d].crosshair&&this.axisX[d].crosshair.enabled&&(this.axisX[d].crosshair.hide(),
289
289
  this.axisX[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[d].options},this.axisX[d].crosshair));for(d=0;d<this.axisX2.length;d++)this.axisX2[d].crosshair&&this.axisX2[d].crosshair.enabled&&(this.axisX2[d].crosshair.hide(),this.axisX2[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[d].options},this.axisX2[d].crosshair));for(d=0;d<this.axisY.length;d++)this.axisY[d].crosshair&&this.axisY[d].crosshair.enabled&&(this.axisY[d].crosshair.hide(),this.axisY[d].crosshair.dispatchEvent("hidden",
290
- {chart:this,axis:this.axisY[d].options},this.axisY[d].crosshair));for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&(this.axisY2[d].crosshair.hide(),this.axisY2[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[d].options},this.axisY2[d].crosshair))}this.sessionVariables.mouseX=c.x;this.sessionVariables.mouseY=c.y;this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a)}}};u.prototype._plotAreaMouseDown=function(a,
291
- g){this.isDrag=!0;this.dragStartPoint={x:a,y:g}};u.prototype._plotAreaMouseUp=function(a,g){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=g-this.dragStartPoint.y,b=a-this.dragStartPoint.x,e=0<=this.zoomType.indexOf("x"),d=0<=this.zoomType.indexOf("y"),p=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var r=d,d=e,e=r;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=d=0;e<this._axes.length;e++)c=this._axes[e],
292
- c.logarithmic?c.viewportMinimum<c.minimum?(d=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*d,c.sessionVariables.newViewportMaximum=c.viewportMaximum*d,p=!0):c.viewportMaximum>c.maximum&&(d=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/d,c.sessionVariables.newViewportMaximum=c.viewportMaximum/d,p=!0):c.viewportMinimum<c.minimum?(d=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum+d,c.sessionVariables.newViewportMaximum=
293
- c.viewportMaximum+d,p=!0):c.viewportMaximum>c.maximum&&(d=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-d,c.sessionVariables.newViewportMaximum=c.viewportMaximum-d,p=!0);else if((!e||2<Math.abs(b))&&(!d||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=e?this.dragStartPoint.x:this.plotArea.x1;b=d?this.dragStartPoint.y:this.plotArea.y1;e=e?a:this.plotArea.x2;d=d?g:this.plotArea.y2;2<Math.abs(c-e)&&2<Math.abs(b-d)&&this._zoomPanToSelectedRegion(c,
294
- b,e,d,"xy"!==this.zoomType&&"y"!==this.zoomType)&&(p=!0)}p&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",
295
- this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.rangeUpdatedBy="chart",this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),p&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Na(this._zoomButton,this._resetButton),va(this,this._zoomButton,"pan"),va(this,this._resetButton,"reset")))}}this.isDrag=
296
- !1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(p=0;p<this.axisX.length;p++)this.axisX[p].crosshair&&this.axisX[p].crosshair.enabled&&this.axisX[p].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(p=0;p<this.axisX2.length;p++)this.axisX2[p].crosshair&&this.axisX2[p].crosshair.enabled&&this.axisX2[p].renderCrosshair(a,g);if(this.axisY&&0<this.axisY.length)for(p=0;p<this.axisY.length;p++)this.axisY[p].crosshair&&this.axisY[p].crosshair.enabled&&
297
- this.axisY[p].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(p=0;p<this.axisY2.length;p++)this.axisY2[p].crosshair&&this.axisY2[p].crosshair.enabled&&this.axisY2[p].renderCrosshair(a,g);if(this.axisX&&0<this.axisX.length)for(p=0;p<this.axisX.length;p++)this.axisX[p].crosshair&&this.axisX[p].crosshair.enabled&&this.axisX[p].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(p=0;p<this.axisX2.length;p++)this.axisX2[p].crosshair&&this.axisX2[p].crosshair.enabled&&this.axisX2[p].crosshair.renderLabel();
298
- if(this.axisY&&0<this.axisY.length)for(p=0;p<this.axisY.length;p++)this.axisY[p].crosshair&&this.axisY[p].crosshair.enabled&&this.axisY[p].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(p=0;p<this.axisY2.length;p++)this.axisY2[p].crosshair&&this.axisY2[p].crosshair.enabled&&this.axisY2[p].crosshair.renderLabel()}};u.prototype._plotAreaMouseMove=function(a,g){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,e=c=null,e=0<=this.zoomType.indexOf("x"),d=0<=this.zoomType.indexOf("y"),
299
- p=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=d,d=e,e=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-g;if(2<Math.abs(c)&&8>Math.abs(c)&&(this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&(this.axisX[r].crosshair.hide(),this.axisX[r].crosshair.dispatchEvent("hidden",{chart:this,
300
- axis:this.axisX[r].options},this.axisX[r].crosshair));for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&(this.axisX2[r].crosshair.hide(),this.axisX2[r].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[r].options},this.axisX2[r].crosshair));for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&(this.axisY[r].crosshair.hide(),this.axisY[r].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[r].options},
301
- this.axisY[r].crosshair));for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&(this.axisY2[r].crosshair.hide(),this.axisY2[r].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[r].options},this.axisY2[r].crosshair))}else if(!this.panEnabled&&!this.zoomEnabled&&(this.toolTip.mouseMoveHandler(a,g),"none"!==this.plotInfo.axisPlacement)){this.sessionVariables._dataHighlighted||this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(r=0;r<
302
- this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&(this.axisX[r].sessionVariables.crosshairShownByPixel=!0,this.axisX[r].renderCrosshair(a,g));if(this.axisX2&&0<this.axisX2.length)for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&(this.axisX2[r].sessionVariables.crosshairShownByPixel=!0,this.axisX2[r].renderCrosshair(a,g));if(this.axisY&&0<this.axisY.length)for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&
303
- (this.axisY[r].sessionVariables.crosshairShownByPixel=!0,this.axisY[r].renderCrosshair(a,g));if(this.axisY2&&0<this.axisY2.length)for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&(this.axisY2[r].sessionVariables.crosshairShownByPixel=!0,this.axisY2[r].renderCrosshair(a,g));if(this.axisX&&0<this.axisX.length)for(r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&this.axisX[r].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(r=
304
- 0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&this.axisX2[r].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&this.axisY[r].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&this.axisY2[r].crosshair.renderLabel()}if((!e||2<Math.abs(c)||!d||2<Math.abs(b))&&
305
- (this.panEnabled||this.zoomEnabled))if(this.panEnabled)e={x1:e?this.plotArea.x1+c:this.plotArea.x1,y1:d?this.plotArea.y1+b:this.plotArea.y1,x2:e?this.plotArea.x2+c:this.plotArea.x2,y2:d?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(p._panTimerId),p._panTimerId=setTimeout(function(b,c,e,f){return function(){if(p._zoomPanToSelectedRegion(b,c,e,f,!0)){p.sessionVariables.disableToolTip=!0;p.resetOverlayedCanvas();p._dispatchRangeEvent("rangeChanging","pan");p.stockChart&&(p.stockChart._rangeEventParameter.type=
306
- "rangeChanging",p.stockChart.dispatchEvent("rangeChanging",p.stockChart._rangeEventParameter,p.stockChart));p.render();p._dispatchRangeEvent("rangeChanged","pan");if(p.stockChart){var d=p.stockChart.rangeSelector.sessionVariables,k=p.stockChart.rangeSelector.buttons;k&&(0<k.length&&(k[d._clickedRangeButtonIndex]&&"ytd"===k[d._clickedRangeButtonIndex].rangeType||k[d.selectedRangeButtonIndex]&&"ytd"===k[d.selectedRangeButtonIndex].rangeType))&&(p.stockChart.rangeUpdatedBy="navigator",p.stockChart.rangeSelector.resetRangeButtons());
307
- p.stockChart._rangeEventParameter.type="rangeChanged";p.stockChart.dispatchEvent("rangeChanged",p.stockChart._rangeEventParameter,p.stockChart)}p.dragStartPoint.x=a;p.dragStartPoint.y=g;p.sessionVariables.disableToolTip=p.disableToolTip=!1}}}(e.x1,e.y1,e.x2,e.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=e?this.dragStartPoint.x:this.plotArea.x1,r=d?this.dragStartPoint.y:this.plotArea.y1,l=e?a-this.dragStartPoint.x:
308
- this.plotArea.x2-this.plotArea.x1,k=d?g-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,r,e?a:this.plotArea.x2-this.plotArea.x1,d?g:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType&&"y"!==this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=0.7;this.overlaidCanvasCtx.fillRect(b,r,l,k);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,g),"none"!==this.plotInfo.axisPlacement){this.sessionVariables._dataHighlighted||
309
- this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&(this.axisX[r].sessionVariables.crosshairShownByPixel=!0,this.axisX[r].renderCrosshair(a,g));if(this.axisX2&&0<this.axisX2.length)for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&(this.axisX2[r].sessionVariables.crosshairShownByPixel=!0,this.axisX2[r].renderCrosshair(a,g));if(this.axisY&&0<this.axisY.length)for(r=
310
- 0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&(this.axisY[r].sessionVariables.crosshairShownByPixel=!0,this.axisY[r].renderCrosshair(a,g));if(this.axisY2&&0<this.axisY2.length)for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&(this.axisY2[r].sessionVariables.crosshairShownByPixel=!0,this.axisY2[r].renderCrosshair(a,g));if(this.axisX&&0<this.axisX.length)for(r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&
311
- this.axisX[r].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&this.axisX2[r].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&this.axisY[r].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&this.axisY2[r].crosshair.renderLabel()}};
312
- u.prototype._zoomPanToSelectedRegion=function(a,g,c,b,e){a=this.validateRegion(a,g,c,b,e);g=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<g.length;b++){e=g[b];var d=c[b];e.setViewPortRange(d.val1,d.val2);this.syncCharts&&("axisX"===e.type&&"y"!=this.zoomType)&&this.syncCharts(d.val1,d.val2);this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:d.val1,maximum:d.val2})}return a.isValid};u.prototype.validateRegion=
313
- function(a,g,c,b,e){e=e||!1;for(var d=0<=this.zoomType.indexOf("x"),p=0<=this.zoomType.indexOf("y"),r=!1,l=[],k=[],n=[],m=0;m<this._axes.length;m++)("axisX"===this._axes[m].type&&d||"axisY"===this._axes[m].type&&p)&&k.push(this._axes[m]);for(p=0;p<k.length;p++){var m=k[p],d=!1,q=m.convertPixelToValue({x:a,y:g}),f=m.convertPixelToValue({x:c,y:b});if(q>f)var h=f,f=q,q=h;if(m.scaleBreaks)for(h=0;!d&&h<m.scaleBreaks._appliedBreaks.length;h++)d=m.scaleBreaks._appliedBreaks[h].startValue<=q&&m.scaleBreaks._appliedBreaks[h].endValue>=
314
- f;if(isFinite(m.dataInfo.minDiff))if(h=m.getApparentDifference(q,f,null,!0),!(d||!(this.panEnabled&&m.scaleBreaks&&m.scaleBreaks._appliedBreaks.length)&&(m.logarithmic&&h<Math.pow(m.dataInfo.minDiff,3)||!m.logarithmic&&h<3*Math.abs(m.dataInfo.minDiff))||q<m.minimum||f>m.maximum))l.push(m),n.push({val1:q,val2:f}),r=!0;else if(!e){r=!1;break}}return{isValid:r,axesWithValidRange:l,axesRanges:n}};u.prototype.preparePlotArea=function(){var a=this.plotArea;!v&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);
315
- if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var g=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=g.x1<c.lineCoordinates.x2?g.x1:c.lineCoordinates.x1;a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1;a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2;a.y2=g.y1>c.lineCoordinates.y2?g.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<
316
- this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],a.x1=g.x1<c.lineCoordinates.x2?g.x1:c.lineCoordinates.x1,a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1,a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2,a.y2=g.y2>c.lineCoordinates.y2?g.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else g=this.layoutManager.getFreeSpace(),a.x1=g.x1,a.x2=g.x2,a.y1=g.y1,a.y2=g.y2,a.width=g.width,a.height=g.height;v||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=
317
- a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,-a.y1));a.layoutManager=new Ga(a.x1,a.y1,a.x2,a.y2,2)};u.prototype.renderIndexLabels=function(a){var g=a||this.plotArea.ctx,c=this.plotArea,b=0,e=0,d=0,p=e=d=0,r=0,K=b=0,k=0;for(a=0;a<this._indexLabels.length;a++){var n=this._indexLabels[a],m=n.chartType.toLowerCase(),q,f,r=la("indexLabelFontColor",n.dataPoint,n.dataSeries),h=la("indexLabelFontSize",n.dataPoint,n.dataSeries),K=la("indexLabelFontFamily",n.dataPoint,n.dataSeries),
318
- k=la("indexLabelFontStyle",n.dataPoint,n.dataSeries);q=la("indexLabelFontWeight",n.dataPoint,n.dataSeries);var A=la("indexLabelBackgroundColor",n.dataPoint,n.dataSeries);f=la("indexLabelBorderColor",n.dataPoint,n.dataSeries);var d=la("indexLabelBorderThickness",n.dataPoint,n.dataSeries),e=la("indexLabelMaxWidth",n.dataPoint,n.dataSeries),p=la("indexLabelWrap",n.dataPoint,n.dataSeries),C=la("indexLabelLineDashType",n.dataPoint,n.dataSeries),t=la("indexLabelLineColor",n.dataPoint,n.dataSeries),x=l(n.dataPoint.indexLabelLineThickness)?
319
- l(n.dataSeries.options.indexLabelLineThickness)?0:n.dataSeries.options.indexLabelLineThickness:n.dataPoint.indexLabelLineThickness,b=0<x?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,w=la("indexLabelPadding",n.dataPoint,n.dataSeries),s={percent:null,total:null},B=null;if(0<=n.dataSeries.type.indexOf("stacked")||"pie"===n.dataSeries.type||"doughnut"===n.dataSeries.type)s=this.getPercentAndTotal(n.dataSeries,n.dataPoint);if(n.dataSeries.indexLabelFormatter||
320
- n.dataPoint.indexLabelFormatter)B={chart:this,dataSeries:n.dataSeries,dataPoint:n.dataPoint,index:n.indexKeyword,total:s.total,percent:s.percent};var da=n.dataPoint.indexLabelFormatter?n.dataPoint.indexLabelFormatter(B):n.dataPoint.indexLabel?this.replaceKeywordsWithValue(n.dataPoint.indexLabel,n.dataPoint,n.dataSeries,null,n.indexKeyword):n.dataSeries.indexLabelFormatter?n.dataSeries.indexLabelFormatter(B):n.dataSeries.indexLabel?this.replaceKeywordsWithValue(n.dataSeries.indexLabel,n.dataPoint,
321
- n.dataSeries,null,n.indexKeyword):null;if(null!==da&&""!==da){var s=la("indexLabelPlacement",n.dataPoint,n.dataSeries),B=la("indexLabelOrientation",n.dataPoint,n.dataSeries),u=la("indexLabelTextAlign",n.dataPoint,n.dataSeries),y=n.direction,I=n.dataSeries.axisX,M=n.dataSeries.axisY,ba=!1,A=new ka(g,{x:0,y:0,maxWidth:e?e:0.5*this.width,maxHeight:(p?5*h:1.5*h)+("object"===typeof w?(w.top||0)+(w.bottom||0):2*w),angle:"horizontal"===B?0:-90,text:da,padding:w,backgroundColor:A,borderColor:f,borderThickness:d,
322
- textAlign:u,fontSize:h,fontFamily:K,fontWeight:q,fontColor:r,fontStyle:k,textBaseline:"middle"});A.measureText();n.dataSeries.indexLabelMaxWidth=A.maxWidth;if("stackedarea100"===m){if(n.point.x<c.x1||n.point.x>c.x2||n.point.y<c.y1-1||n.point.y>c.y2+1)continue}else if("rangearea"===m||"rangesplinearea"===m){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||Math.max.apply(null,n.dataPoint.y)<M.viewportMinimum||Math.min.apply(null,n.dataPoint.y)>M.viewportMaximum)continue}else if(0<=
323
- m.indexOf("line")||0<=m.indexOf("area")||0<=m.indexOf("bubble")||0<=m.indexOf("scatter")){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||n.dataPoint.y<M.viewportMinimum||n.dataPoint.y>M.viewportMaximum)continue}else if(0<=m.indexOf("column")){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||(0<n.dataPoint.y.length?Math.max.apply(null,n.dataPoint.y):n.cumulativeY?n.cumulativeY:n.dataPoint.y)<M.viewportMinimum||(0<n.dataPoint.y.length?Math.min.apply(null,n.dataPoint.y):
324
- n.cumulativeY?n.cumulativeY-n.dataPoint.y:0)>M.viewportMaximum)continue}else if("waterfall"===m||"error"===m&&!n.axisSwapped){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||n.bounds.y1>c.y2||n.bounds.y2<c.y1)continue}else if(0<=m.indexOf("bar")||"error"===m){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||n.bounds.x1>c.x2||n.bounds.x2<c.x1)continue}else if("candlestick"===m||"ohlc"===m){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||
325
- Math.max.apply(null,n.dataPoint.y)<M.viewportMinimum||Math.min.apply(null,n.dataPoint.y)>M.viewportMaximum)continue}else if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum)continue;p=r=2;"horizontal"===B?(K=A.width,k=A.height):(k=A.width,K=A.height);if("normal"===this.plotInfo.axisPlacement){if(0<=m.indexOf("line")||0<=m.indexOf("area"))s="auto",r=4;else if(0<=m.indexOf("stacked"))"auto"===s&&(s="inside");else if("bubble"===m||"scatter"===m)s="inside";q=n.point.x-K/2+("horizontal"===
326
- B?0:A._lineHeight/2);if("inside"!==s)e=c.y1,d=c.y2,0<y?(f=n.point.y+A._lineHeight/2-k-r-b,f<e&&(f="auto"===s?Math.max(n.point.y,e)+A._lineHeight/2+r+b:e+A._lineHeight/2+r+b,ba=f+("horizontal"===B?k-A._lineHeight/2:0)>n.point.y,!ba||(0<=m.indexOf("line")||0<=m.indexOf("area"))||(f-=b))):(f=n.point.y+A._lineHeight/2+r+b,f>d-k+A._lineHeight/2-r&&(f="auto"===s?Math.min(n.point.y,d)+A._lineHeight/2-k-r-b:d+A._lineHeight/2-k-r-b,ba=f-("horizontal"===B?A._lineHeight/2:k)<n.point.y,!ba||(0<=m.indexOf("line")||
327
- 0<=m.indexOf("area"))||(f+=b)));else{Math.max(n.bounds.y1,c.y1);d=Math.min(n.bounds.y2,c.y2)-k+A._lineHeight/2;b=0<=m.indexOf("range")||"error"===m?0<y?Math.max(n.bounds.y1,c.y1)+A._lineHeight/2+r:Math.min(n.bounds.y2,c.y2)+A._lineHeight/2-k-r:(Math.max(n.bounds.y1,c.y1)+Math.min(n.bounds.y2,c.y2))/2-k/2+A._lineHeight/2;if(0<y){if(f=b,"bubble"===m||"scatter"===m)f=n.point.y-k/2+A._lineHeight/2,k>n.bounds.y2-n.bounds.y1&&(f-=k/2+r),0>f-A._lineHeight/2&&(f+=Math.abs(f-A._lineHeight/2)<=(n.bounds.y2-
328
- n.bounds.y1)/2+r?Math.abs(f-A._lineHeight/2):(n.bounds.y2-n.bounds.y1)/2+r)}else f=Math.min(n.point.y,b),f>d-k-r&&("bubble"===m||"scatter"===m)&&(f=Math.min(n.point.y+r,c.y2-k-r));f=Math.min(f,d)}}else 0<=m.indexOf("line")||0<=m.indexOf("area")||0<=m.indexOf("scatter")?(s="auto",p=4):0<=m.indexOf("stacked")?"auto"===s&&(s="inside"):"bubble"===m&&(s="inside"),f=n.point.y+A._lineHeight/2-k/2,"inside"!==s?(d=c.x1,e=c.x2,0>y?(q=n.point.x-K+("horizontal"===B?0:A._lineHeight/2)-p-b,("horizontal"===B?q:
329
- q-A._lineHeight/2)<d&&(q="auto"===s?Math.max(n.point.x,d)+("horizontal"===B?0:A._lineHeight/2)+r+b:d+("horizontal"===B?0:A._lineHeight/2)+p,(ba=q+K-("horizontal"===B?0:A._lineHeight/2)>n.point.x)&&(q-=b))):(q=n.point.x+("horizontal"===B?0:A._lineHeight/2)+p+b,("horizontal"===B?q:q-A._lineHeight/2)>e-K-p-b&&(q="auto"===s?Math.min(n.point.x,e)-("horizontal"===B?K:K-A._lineHeight/2)-p-b:e-K-p+("horizontal"===B?0:A._lineHeight/2),(ba=q-("horizontal"===B?0:A._lineHeight/2)<n.point.x)&&(q+=b)))):(d=Math.max(n.bounds.x1,
330
- c.x1),Math.min(n.bounds.x2,c.x2),b=0<=m.indexOf("range")||"error"===m?0>y?Math.max(n.bounds.x1,c.x1):Math.min(n.bounds.x2,c.x2)-K-p+("horizontal"===B?0:A._lineHeight/2):(Math.max(n.bounds.x1,c.x1)+Math.min(n.bounds.x2,c.x2))/2-K/2+("horizontal"===B?0:A._lineHeight/2),q=0>y?b:Math.min(n.point.x,b),q=Math.max(q,d+("horizontal"===B?0:A._lineHeight/2+r)));"vertical"===B&&(f+=k-A._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(m)&&
331
- (ba=0<y?f+("horizontal"===B?k-A._lineHeight/2:0)>n.point.y:f-("horizontal"===B?A._lineHeight/2:k)<n.point.y),"bubble"===m||"scatter"===m)&&(q+=A._lineHeight/2-h/2);A.x=q;A.y=f;A.render(!0);x&&("inside"!==s&&(0>m.indexOf("bar")&&("error"!==m||!n.axisSwapped)&&n.point.x>c.x1&&n.point.x<c.x2||!ba)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(m)&&("error"!==m||n.axisSwapped)&&n.point.y>c.y1&&n.point.y<c.y2||!ba))&&(g.lineWidth=x,g.strokeStyle=
332
- t?t:"gray",g.setLineDash&&g.setLineDash(H(C,x)),g.beginPath(),g.moveTo(n.point.x,n.point.y),0<=m.indexOf("bar")||"error"===m&&n.axisSwapped?g.lineTo(q+(0<n.direction?0:K)+("vertical"===B?-A._lineHeight/2:0),f+("vertical"===B?-k/2:k/2-A._lineHeight/2)):0<=m.indexOf("column")||"error"===m&&!n.axisSwapped?g.lineTo(q+K/2-("horizontal"===B?0:A._lineHeight/2),f+("vertical"===B?f-k<n.point.y?0:-k:(f-A._lineHeight/2<n.point.y?k:0)-A._lineHeight/2)):0<=m.indexOf("waterfall")?g.lineTo(q+K/2-("horizontal"===
333
- B?0:A._lineHeight/2),"vertical"===B?0<y&&f<n.point.y?f:0>y&&f-k>n.point.y?f-k:n.point.y:0<y&&f+k-A._lineHeight/2<n.point.y?f+k-A._lineHeight/2:0>y&&f-A._lineHeight/2>n.point.y?f-A._lineHeight/2:n.point.y):g.lineTo(q+K/2-("horizontal"===B?0:A._lineHeight/2),f+("vertical"===B?f-k<n.point.y?0:-k:(f+k-A._lineHeight/2<n.point.y?k:0)-A._lineHeight/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0,startTimePercent:0.7};
334
- for(a=0;a<this._indexLabels.length;a++)n=this._indexLabels[a],A=la("indexLabelBackgroundColor",n.dataPoint,n.dataSeries),n.dataSeries.indexLabelBackgroundColor=l(A)?v?"transparent":null:A;return g};u.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var d=[],p,r=0;r<a.dataSeriesIndexes.length;r++){var l=
335
- a.dataSeriesIndexes[r],k=this.data[l];c.lineWidth=k.lineThickness;var n=k.dataPoints,m="solid";if(c.setLineDash){var q=H(k.nullDataLineDashType,k.lineThickness),m=k.lineDashType,f=H(m,k.lineThickness);c.setLineDash(f)}var h=k.id;this._eventManager.objectMap[h]={objectType:"dataSeries",dataSeriesIndex:l};h=W(h);b.strokeStyle=h;b.lineWidth=0<k.lineThickness?Math.max(k.lineThickness,4):0;var h=k._colorSet,A=h=k.lineColor=k.options.lineColor?k.options.lineColor:h[0];c.strokeStyle=h;var C=!0,t=0,x,w;c.beginPath();
336
- if(0<n.length){for(var s=!1,t=0;t<n.length;t++)if(x=n[t].x.getTime?n[t].x.getTime():n[t].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!s)))if("number"!==typeof n[t].y)0<t&&!(k.connectNullData||s||C)&&(c.stroke(),v&&b.stroke()),s=!0;else{x=a.axisX.convertValueToPixel(x);w=a.axisY.convertValueToPixel(n[t].y);var B=k.dataPointIds[t];this._eventManager.objectMap[B]={id:B,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:t,x1:x,y1:w};C||s?(!C&&k.connectNullData?
337
- (c.setLineDash&&(k.options.nullDataLineDashType||m===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(p.x,p.y),m=k.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,w),v&&b.lineTo(x,w)):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),b.moveTo(x,w))),s=C=!1):(c.lineTo(x,w),v&&b.lineTo(x,w),0==t%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&(b.stroke(),b.beginPath(),b.moveTo(x,w))));p={x:x,y:w};t<n.length-1&&(A!==(n[t].lineColor||h)||m!==(n[t].lineDashType||
338
- k.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),A=n[t].lineColor||h,c.strokeStyle=A,c.setLineDash&&(n[t].lineDashType?(m=n[t].lineDashType,c.setLineDash(H(m,k.lineThickness))):(m=k.lineDashType,c.setLineDash(f))));if(0!==n[t].markerSize&&(0<n[t].markerSize||0<k.markerSize)){var da=k.getMarkerProperties(t,x,w,c);d.push(da);B=W(B);v&&d.push({x:x,y:w,ctx:b,type:da.type,size:da.size,color:B,borderColor:B,borderThickness:da.borderThickness})}(n[t].indexLabel||k.indexLabel||n[t].indexLabelFormatter||
339
- k.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:n[t],dataSeries:k,point:{x:x,y:w},direction:0>n[t].y===a.axisY.reversed?1:-1,color:h})}c.stroke();v&&b.stroke()}}X.drawMarkers(d);v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
340
- 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStepLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var d=
341
- [],p,r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l];c.lineWidth=k.lineThickness;var n=k.dataPoints,m="solid";if(c.setLineDash){var q=H(k.nullDataLineDashType,k.lineThickness),m=k.lineDashType,f=H(m,k.lineThickness);c.setLineDash(f)}var h=k.id;this._eventManager.objectMap[h]={objectType:"dataSeries",dataSeriesIndex:l};h=W(h);b.strokeStyle=h;b.lineWidth=0<k.lineThickness?Math.max(k.lineThickness,4):0;var h=k._colorSet,A=h=k.lineColor=k.options.lineColor?k.options.lineColor:
342
- h[0];c.strokeStyle=h;var C=!0,t=0,x,w;c.beginPath();if(0<n.length){for(var s=!1,t=0;t<n.length;t++)if(x=n[t].getTime?n[t].x.getTime():n[t].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!s)))if("number"!==typeof n[t].y)0<t&&!(k.connectNullData||s||C)&&(c.stroke(),v&&b.stroke()),s=!0;else{var B=w;x=a.axisX.convertValueToPixel(x);w=a.axisY.convertValueToPixel(n[t].y);var da=k.dataPointIds[t];this._eventManager.objectMap[da]={id:da,objectType:"dataPoint",dataSeriesIndex:l,
343
- dataPointIndex:t,x1:x,y1:w};C||s?(!C&&k.connectNullData?(c.setLineDash&&(k.options.nullDataLineDashType||m===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(p.x,p.y),m=k.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,B),c.lineTo(x,w),v&&(b.lineTo(x,B),b.lineTo(x,w))):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),b.moveTo(x,w))),s=C=!1):(c.lineTo(x,B),v&&b.lineTo(x,B),c.lineTo(x,w),v&&b.lineTo(x,w),0==t%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&
344
- (b.stroke(),b.beginPath(),b.moveTo(x,w))));p={x:x,y:w};t<n.length-1&&(A!==(n[t].lineColor||h)||m!==(n[t].lineDashType||k.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),A=n[t].lineColor||h,c.strokeStyle=A,c.setLineDash&&(n[t].lineDashType?(m=n[t].lineDashType,c.setLineDash(H(m,k.lineThickness))):(m=k.lineDashType,c.setLineDash(f))));0!==n[t].markerSize&&(0<n[t].markerSize||0<k.markerSize)&&(B=k.getMarkerProperties(t,x,w,c),d.push(B),da=W(da),v&&d.push({x:x,y:w,ctx:b,type:B.type,size:B.size,
345
- color:da,borderColor:da,borderThickness:B.borderThickness}));(n[t].indexLabel||k.indexLabel||n[t].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:n[t],dataSeries:k,point:{x:x,y:w},direction:0>n[t].y===a.axisY.reversed?1:-1,color:h})}c.stroke();v&&b.stroke()}}X.drawMarkers(d);v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,
346
- this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderSpline=function(a){function g(a){a=s(a,2);if(0<a.length){b.beginPath();v&&e.beginPath();
347
- b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);v&&e.moveTo(a[0].x,a[0].y);for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),v&&e.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+
348
- 3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),v&&(e.stroke(),e.beginPath(),e.moveTo(a[c+3].x,a[c+3].y));b.stroke();v&&e.stroke()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;b.save();var d=this.plotArea;b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();for(var p=[],r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l];b.lineWidth=k.lineThickness;
349
- var n=k.dataPoints,m="solid";if(b.setLineDash){var q=H(k.nullDataLineDashType,k.lineThickness),m=k.lineDashType,f=H(m,k.lineThickness);b.setLineDash(f)}var h=k.id;this._eventManager.objectMap[h]={objectType:"dataSeries",dataSeriesIndex:l};h=W(h);e.strokeStyle=h;e.lineWidth=0<k.lineThickness?Math.max(k.lineThickness,4):0;var h=k._colorSet,A=h=k.lineColor=k.options.lineColor?k.options.lineColor:h[0];b.strokeStyle=h;var C=0,t,x,w=[];b.beginPath();if(0<n.length)for(x=!1,C=0;C<n.length;C++)if(t=n[C].getTime?
350
- n[C].x.getTime():n[C].x,!(t<a.axisX.dataInfo.viewPortMin||t>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!x)))if("number"!==typeof n[C].y)0<C&&!x&&(k.connectNullData?b.setLineDash&&(0<w.length&&(k.options.nullDataLineDashType||!n[C-1].lineDashType))&&(w[w.length-1].newLineDashArray=q,m=k.nullDataLineDashType):(g(w),w=[])),x=!0;else{t=a.axisX.convertValueToPixel(t);x=a.axisY.convertValueToPixel(n[C].y);var u=k.dataPointIds[C];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:l,
351
- dataPointIndex:C,x1:t,y1:x};w[w.length]={x:t,y:x};C<n.length-1&&(A!==(n[C].lineColor||h)||m!==(n[C].lineDashType||k.lineDashType))&&(A=n[C].lineColor||h,w[w.length-1].newStrokeStyle=A,b.setLineDash&&(n[C].lineDashType?(m=n[C].lineDashType,w[w.length-1].newLineDashArray=H(m,k.lineThickness)):(m=k.lineDashType,w[w.length-1].newLineDashArray=f)));if(0!==n[C].markerSize&&(0<n[C].markerSize||0<k.markerSize)){var B=k.getMarkerProperties(C,t,x,b);p.push(B);u=W(u);v&&p.push({x:t,y:x,ctx:e,type:B.type,size:B.size,
352
- color:u,borderColor:u,borderThickness:B.borderThickness})}(n[C].indexLabel||k.indexLabel||n[C].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:n[C],dataSeries:k,point:{x:t,y:x},direction:0>n[C].y===a.axisY.reversed?1:-1,color:h});x=!1}g(w)}X.drawMarkers(p);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
353
- b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),e.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=
354
- null,e=this.plotArea,d=0,p,r,l,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,n=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,m=a.axisX.dataInfo.minDiff;isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.dataPointWidth=this.options.dataPointWidth?
355
- this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>n&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,n));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&n<d)&&(n=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));m<d&&(m=d);m>n&&(m=n);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);
356
- c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],f=this.data[q],h=f.dataPoints;if(0<h.length)for(var A=5<m&&f.bevelEnabled?!0:!1,d=0;d<h.length;d++)if(h[d].getTime?l=h[d].x.getTime():l=h[d].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof h[d].y){p=a.axisX.convertValueToPixel(l);r=a.axisY.convertValueToPixel(h[d].y);
357
- p=a.axisX.reversed?p+a.plotType.totalDataSeries*m/2-(a.previousDataSeriesCount+n)*m<<0:p-a.plotType.totalDataSeries*m/2+(a.previousDataSeriesCount+n)*m<<0;var C=a.axisX.reversed?p-m<<0:p+m<<0,t;if(0<=h[d].y){if(t=k,r>t){var x=r;r=t;t=x}}else t=r,r=k,r>t&&(x=r,r=t,t=x);var x=Math.max(r,e.y1),w=Math.min(t,e.y2),b=h[d].color?h[d].color:f._colorSet[d%f._colorSet.length];fa(c,a.axisX.reversed?C:p,x,a.axisX.reversed?p:C,w,b,0,null,A&&(a.axisY.reversed?0>h[d].y:0<=h[d].y),(a.axisY.reversed?0<=h[d].y:0>h[d].y)&&
358
- A,!1,!1,f.fillOpacity);b=f.dataPointIds[d];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:d,x1:p,y1:x,x2:C,y2:w};b=W(b);v&&fa(this._eventManager.ghostCtx,a.axisX.reversed?C:p,x,a.axisX.reversed?p:C,w,b,0,null,!1,!1,!1,!1);(h[d].indexLabel||f.indexLabel||h[d].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:h[d],dataSeries:f,point:{x:p+(C-p)/2,y:0>h[d].y===a.axisY.reversed?r:t},direction:0>h[d].y===a.axisY.reversed?
359
- 1:-1,bounds:{x1:p,y1:Math.min(r,t),x2:C,y2:Math.max(r,t)},color:b})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());
360
- c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.yScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:k<a.axisY.bounds.y1?a.axisY.bounds.y1:k>a.axisY.bounds.y2?a.axisY.bounds.y2:k}}};u.prototype.renderStackedColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=[],p=[],r=[],l=[],k=0,n,m,q,f=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),
361
- k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,A=a.axisX.dataInfo.minDiff;isFinite(A)||(A=0.3*Math.abs(a.axisX.range));A=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(A)/Math.log(a.axisX.range):Math.abs(A)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&
362
- k>h&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<k)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));A<k&&(A=k);A>h&&(A=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var C=
363
- a.dataSeriesIndexes[h],t=this.data[C],x=t.dataPoints;if(0<x.length){var w=5<A&&t.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<x.length;k++)if(q=x[k].x.getTime?x[k].x.getTime():x[k].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[k].y){n=a.axisX.convertValueToPixel(q);n=n-a.plotType.plotUnits.length*A/2+a.index*A<<0;var s=n+A<<0,B;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[k].y)r[q]=x[k].y+(r[q]?r[q]:
364
- 0),0<r[q]&&(m=a.axisY.convertValueToPixel(r[q]),B="undefined"!==typeof d[q]?d[q]:f,d[q]=m);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=x[k].y)l[q]=x[k].y+(l[q]?l[q]:0),B=a.axisY.convertValueToPixel(l[q]),m="undefined"!==typeof p[q]?p[q]:f,p[q]=B;else if(m=a.axisY.convertValueToPixel(x[k].y),0<=x[k].y){var da="undefined"!==typeof d[q]?d[q]:0;m-=da;B=f-da;d[q]=da+(B-m)}else da=p[q]?p[q]:0,B=m+da,m=f+da,p[q]=da+(B-m);b=x[k].color?x[k].color:t._colorSet[k%t._colorSet.length];
365
- q=Math.max(m,e.y1);da=Math.min(B,e.y2);fa(c,n,a.axisY.reversed?da:q,s,a.axisY.reversed?q:da,b,0,null,w&&(a.axisY.reversed?0>x[k].y:0<=x[k].y),(a.axisY.reversed?0<=x[k].y:0>x[k].y)&&w,!1,!1,t.fillOpacity);b=t.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:C,dataPointIndex:k,x1:n,y1:q,x2:s,y2:da};b=W(b);v&&fa(this._eventManager.ghostCtx,n,q,s,da,b,0,null,!1,!1,!1,!1);(x[k].indexLabel||t.indexLabel||x[k].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",
366
- dataPoint:x[k],dataSeries:t,point:{x:n+(s-n)/2,y:0<=x[k].y?m:B},direction:0>x[k].y===a.axisY.reversed?1:-1,bounds:{x1:n,y1:Math.min(m,B),x2:s,y2:Math.max(m,B)},color:b,cumulativeY:t.dataPointEOs[k].cumulativeY})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
367
- this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.yScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:f<a.axisY.bounds.y1?a.axisY.bounds.y1:f>a.axisY.bounds.y2?a.axisY.bounds.y2:f}}};u.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=
368
- a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=[],p=[],r=[],l=[],k=0,n,m,q,f=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0;var h=a.axisX.dataInfo.minDiff;isFinite(h)||(h=0.3*Math.abs(a.axisX.range));h=this.options.dataPointWidth?this.dataPointWidth:
369
- 0.9*(e.width*(a.axisX.logarithmic?Math.log(h)/Math.log(a.axisX.range):Math.abs(h)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));h<k&&(h=k);h>q&&(h=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&
370
- (this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var A=0;A<a.dataSeriesIndexes.length;A++){var C=a.dataSeriesIndexes[A],t=this.data[C],x=t.dataPoints;if(0<x.length)for(var w=5<h&&t.bevelEnabled?!0:!1,k=0;k<x.length;k++)if(q=x[k].x.getTime?x[k].x.getTime():x[k].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[k].y){n=a.axisX.convertValueToPixel(q);m=0!==a.dataPointYSums[q]?
371
- 100*(x[k].y/a.dataPointYSums[q]):0;n=n-a.plotType.plotUnits.length*h/2+a.index*h<<0;var s=n+h<<0,B;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[k].y){r[q]=m+("undefined"!==typeof r[q]?r[q]:0);if(0>=r[q])continue;m=a.axisY.convertValueToPixel(r[q]);B=d[q]?d[q]:f;d[q]=m}else a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=x[k].y?(l[q]=m+("undefined"!==typeof l[q]?l[q]:0),B=a.axisY.convertValueToPixel(l[q]),m=p[q]?p[q]:f,p[q]=B):(m=
372
- a.axisY.convertValueToPixel(m),0<=x[k].y?(b="undefined"!==typeof d[q]?d[q]:0,m-=b,B=f-b,a.dataSeriesIndexes.length-1===A&&1>=Math.abs(e.y1-m)&&(m=e.y1),d[q]=b+(B-m)):(b="undefined"!==typeof p[q]?p[q]:0,B=m+b,m=f+b,a.dataSeriesIndexes.length-1===A&&1>=Math.abs(e.y2-B)&&(B=e.y2),p[q]=b+(B-m)));b=x[k].color?x[k].color:t._colorSet[k%t._colorSet.length];fa(c,n,a.axisY.reversed?B:m,s,a.axisY.reversed?m:B,b,0,null,w&&(a.axisY.reversed?0>x[k].y:0<=x[k].y),(a.axisY.reversed?0<=x[k].y:0>x[k].y)&&w,!1,!1,t.fillOpacity);
373
- b=t.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:C,dataPointIndex:k,x1:n,y1:m,x2:s,y2:B};b=W(b);v&&fa(this._eventManager.ghostCtx,n,m,s,B,b,0,null,!1,!1,!1,!1);(x[k].indexLabel||t.indexLabel||x[k].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:x[k],dataSeries:t,point:{x:n+(s-n)/2,y:0<=x[k].y?m:B},direction:0>x[k].y===a.axisY.reversed?1:-1,bounds:{x1:n,y1:Math.min(m,B),x2:s,y2:Math.max(m,B)},
374
- color:b,yCumulative:100*(t.dataPointEOs[k].cumulativeY/a.dataPointYSums[q])})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());
375
- c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.yScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:f<a.axisY.bounds.y1?a.axisY.bounds.y1:f>a.axisY.bounds.y2?a.axisY.bounds.y2:f}}};u.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=0,p,r,l,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?
376
- this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,n=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,m=a.axisX.dataInfo.minDiff;isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<
377
- 0;this.dataPointMaxWidth&&d>n&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,n));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&n<d)&&(n=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));m<d&&(m=d);m>n&&(m=n);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
378
- for(n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],f=this.data[q],h=f.dataPoints;if(0<h.length){var A=5<m&&f.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(d=0;d<h.length;d++)if(h[d].getTime?l=h[d].x.getTime():l=h[d].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof h[d].y){r=a.axisX.convertValueToPixel(l);p=a.axisY.convertValueToPixel(h[d].y);r=a.axisX.reversed?r+a.plotType.totalDataSeries*m/2-(a.previousDataSeriesCount+n)*m<<0:r-a.plotType.totalDataSeries*
379
- m/2+(a.previousDataSeriesCount+n)*m<<0;var C=a.axisX.reversed?r-m<<0:r+m<<0,t;0<=h[d].y?t=k:(t=p,p=k);b=h[d].color?h[d].color:f._colorSet[d%f._colorSet.length];fa(c,a.axisY.reversed?p:t,a.axisX.reversed?C:r,a.axisY.reversed?t:p,a.axisX.reversed?r:C,b,0,null,A,!1,!1,!1,f.fillOpacity);b=f.dataPointIds[d];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:d,x1:t,y1:r,x2:p,y2:C};b=W(b);v&&fa(this._eventManager.ghostCtx,t,a.axisX.reversed?C:r,p,a.axisX.reversed?
380
- r:C,b,0,null,!1,!1,!1,!1);(h[d].indexLabel||f.indexLabel||h[d].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:h[d],dataSeries:f,point:{x:0<=h[d].y?p:t,y:r+(C-r)/2},direction:0>h[d].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(t,p),y1:r,x2:Math.max(t,p),y2:C},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
381
- a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:k<a.axisY.bounds.x1?a.axisY.bounds.x1:k>a.axisY.bounds.x2?a.axisY.bounds.x2:k}}};u.prototype.renderStackedBar=
382
- function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=[],p=[],r=[],l=[],k=0,n,m,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,f=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,h=a.axisX.dataInfo.minDiff;
383
- isFinite(h)||(h=0.3*Math.abs(a.axisX.range));h=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(h)/Math.log(a.axisX.range):Math.abs(h)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&k>f&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,f));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&f<k)&&(f=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));h<k&&(h=k);h>f&&(h=f);c.save();v&&
384
- this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(f=0;f<a.dataSeriesIndexes.length;f++){var A=a.dataSeriesIndexes[f],C=this.data[A],t=C.dataPoints;if(0<t.length){var x=5<h&&C.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<t.length;k++)if(b=t[k].x.getTime?t[k].x.getTime():t[k].x,!(b<a.axisX.dataInfo.viewPortMin||
385
- b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof t[k].y){m=a.axisX.convertValueToPixel(b);m=m-a.plotType.plotUnits.length*h/2+a.index*h<<0;var w=m+h<<0,s;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<t[k].y)r[b]=t[k].y+(r[b]?r[b]:0),0<r[b]&&(s=d[b]?d[b]:q,d[b]=n=a.axisY.convertValueToPixel(r[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=t[k].y)l[b]=t[k].y+(l[b]?l[b]:0),n=p[b]?p[b]:q,p[b]=s=a.axisY.convertValueToPixel(l[b]);
386
- else if(n=a.axisY.convertValueToPixel(t[k].y),0<=t[k].y){var B=d[b]?d[b]:0;s=q+B;n+=B;d[b]=B+(n-s)}else B=p[b]?p[b]:0,s=n-B,n=q-B,p[b]=B+(n-s);b=t[k].color?t[k].color:C._colorSet[k%C._colorSet.length];fa(c,a.axisY.reversed?n:s,m,a.axisY.reversed?s:n,w,b,0,null,x,!1,!1,!1,C.fillOpacity);b=C.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:k,x1:s,y1:m,x2:n,y2:w};b=W(b);v&&fa(this._eventManager.ghostCtx,s,m,n,w,b,0,null,!1,!1,!1,!1);(t[k].indexLabel||
387
- C.indexLabel||t[k].indexLabelFormatter||C.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:t[k],dataSeries:C,point:{x:0<=t[k].y?n:s,y:m+(w-m)/2},direction:0>t[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(s,n),y1:m,x2:Math.max(s,n),y2:w},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,
388
- 0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?a.axisY.bounds.x2:q}}};u.prototype.renderStackedBar100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,
389
- c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=[],p=[],r=[],l=[],k=0,n,m,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,f=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,h=a.axisX.dataInfo.minDiff;isFinite(h)||(h=0.3*Math.abs(a.axisX.range));h=this.options.dataPointWidth?
390
- this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(h)/Math.log(a.axisX.range):Math.abs(h)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&k>f&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,f));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&f<k)&&(f=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));h<k&&(h=k);h>f&&(h=f);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);
391
- c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(f=0;f<a.dataSeriesIndexes.length;f++){var A=a.dataSeriesIndexes[f],C=this.data[A],t=C.dataPoints;if(0<t.length){var x=5<h&&C.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<t.length;k++)if(b=t[k].x.getTime?t[k].x.getTime():t[k].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof t[k].y){m=a.axisX.convertValueToPixel(b);
392
- var w;w=0!==a.dataPointYSums[b]?100*(t[k].y/a.dataPointYSums[b]):0;m=m-a.plotType.plotUnits.length*h/2+a.index*h<<0;var s=m+h<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<t[k].y){r[b]=w+(r[b]?r[b]:0);if(0>=r[b])continue;w=d[b]?d[b]:q;d[b]=n=a.axisY.convertValueToPixel(r[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=t[k].y)l[b]=w+(l[b]?l[b]:0),n=p[b]?p[b]:q,p[b]=w=a.axisY.convertValueToPixel(l[b]);else if(n=a.axisY.convertValueToPixel(w),
393
- 0<=t[k].y){var B=d[b]?d[b]:0;w=q+B;n+=B;a.dataSeriesIndexes.length-1===f&&1>=Math.abs(e.x2-n)&&(n=e.x2);d[b]=B+(n-w)}else B=p[b]?p[b]:0,w=n-B,n=q-B,a.dataSeriesIndexes.length-1===f&&1>=Math.abs(e.x1-w)&&(w=e.x1),p[b]=B+(n-w);b=t[k].color?t[k].color:C._colorSet[k%C._colorSet.length];fa(c,a.axisY.reversed?n:w,m,a.axisY.reversed?w:n,s,b,0,null,x,!1,!1,!1,C.fillOpacity);b=C.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:k,x1:w,y1:m,x2:n,y2:s};
394
- b=W(b);v&&fa(this._eventManager.ghostCtx,w,m,n,s,b,0,null,!1,!1,!1,!1);(t[k].indexLabel||C.indexLabel||t[k].indexLabelFormatter||C.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:t[k],dataSeries:C,point:{x:0<=t[k].y?n:w,y:m+(s-m)/2},direction:0>t[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(w,n),y1:m,x2:Math.max(w,n),y2:s},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&
395
- c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?
396
- a.axisY.bounds.x2:q}}};u.prototype.renderArea=function(a){var g,c;function b(){B&&(0<f.lineThickness&&d.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=w:0>a.axisY.viewportMaximum?s=r.y1:0<a.axisY.viewportMinimum&&(s=w),d.lineTo(C,s),d.lineTo(B.x,s),d.closePath(),d.globalAlpha=f.fillOpacity,d.fill(),d.globalAlpha=1,v&&(p.lineTo(C,s),p.lineTo(B.x,s),p.closePath(),p.fill()),d.beginPath(),d.moveTo(C,t),p.beginPath(),p.moveTo(C,t),B={x:C,y:t})}var e=a.targetCanvasCtx||
397
- this.plotArea.ctx,d=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var p=this._eventManager.ghostCtx,r=a.axisY.lineCoordinates,l=[],k=this.plotArea,n;d.save();v&&p.save();d.beginPath();d.rect(k.x1,k.y1,k.width,k.height);d.clip();v&&(p.beginPath(),p.rect(k.x1,k.y1,k.width,k.height),p.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var q=a.dataSeriesIndexes[m],f=this.data[q],h=f.dataPoints,l=f.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:q};l=W(l);p.fillStyle=
398
- l;l=[];g=!0;var A=0,C,t,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,B=null;if(0<h.length){var da=f._colorSet[A%f._colorSet.length],u=f.lineColor=f.options.lineColor||da,y=u;d.fillStyle=da;d.strokeStyle=u;d.lineWidth=f.lineThickness;c="solid";if(d.setLineDash){var I=H(f.nullDataLineDashType,f.lineThickness);c=f.lineDashType;var M=H(c,f.lineThickness);d.setLineDash(M)}for(var ba=!0;A<h.length;A++)if(x=h[A].x.getTime?h[A].x.getTime():h[A].x,!(x<a.axisX.dataInfo.viewPortMin||
399
- x>a.axisX.dataInfo.viewPortMax&&(!f.connectNullData||!ba)))if("number"!==typeof h[A].y)f.connectNullData||(ba||g)||b(),ba=!0;else{C=a.axisX.convertValueToPixel(x);t=a.axisY.convertValueToPixel(h[A].y);g||ba?(!g&&f.connectNullData?(d.setLineDash&&(f.options.nullDataLineDashType||c===f.lineDashType&&f.lineDashType!==f.nullDataLineDashType)&&(g=C,c=t,C=n.x,t=n.y,b(),d.moveTo(n.x,n.y),C=g,t=c,B=n,c=f.nullDataLineDashType,d.setLineDash(I)),d.lineTo(C,t),v&&p.lineTo(C,t)):(d.beginPath(),d.moveTo(C,t),v&&
400
- (p.beginPath(),p.moveTo(C,t)),B={x:C,y:t}),ba=g=!1):(d.lineTo(C,t),v&&p.lineTo(C,t),0==A%250&&b());n={x:C,y:t};A<h.length-1&&(y!==(h[A].lineColor||u)||c!==(h[A].lineDashType||f.lineDashType))&&(b(),y=h[A].lineColor||u,d.strokeStyle=y,d.setLineDash&&(h[A].lineDashType?(c=h[A].lineDashType,d.setLineDash(H(c,f.lineThickness))):(c=f.lineDashType,d.setLineDash(M))));var Z=f.dataPointIds[A];this._eventManager.objectMap[Z]={id:Z,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:A,x1:C,y1:t};0!==h[A].markerSize&&
401
- (0<h[A].markerSize||0<f.markerSize)&&(x=f.getMarkerProperties(A,C,t,d),l.push(x),Z=W(Z),v&&l.push({x:C,y:t,ctx:p,type:x.type,size:x.size,color:Z,borderColor:Z,borderThickness:x.borderThickness}));(h[A].indexLabel||f.indexLabel||h[A].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:h[A],dataSeries:f,point:{x:C,y:t},direction:0>h[A].y===a.axisY.reversed?1:-1,color:da})}b();X.drawMarkers(l)}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
402
- d.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&d.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&d.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),d.clearRect(k.x1,k.y1,k.width,k.height),this._eventManager.ghostCtx.restore());d.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};
403
- u.prototype.renderSplineArea=function(a){function g(){var c=s(x,2);if(0<c.length){if(0<n.lineThickness){b.beginPath();b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var f=0;f<c.length-3;f+=3)if(b.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y),v&&e.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y),c[f+3].newStrokeStyle||c[f+3].newLineDashArray)b.stroke(),b.beginPath(),
404
- b.moveTo(c[f+3].x,c[f+3].y),c[f+3].newStrokeStyle&&(b.strokeStyle=c[f+3].newStrokeStyle),c[f+3].newLineDashArray&&b.setLineDash(c[f+3].newLineDashArray);b.stroke()}b.beginPath();b.moveTo(c[0].x,c[0].y);v&&(e.beginPath(),e.moveTo(c[0].x,c[0].y));for(f=0;f<c.length-3;f+=3)b.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y),v&&e.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?C=A:0>a.axisY.viewportMaximum?
405
- C=d.y1:0<a.axisY.viewportMinimum&&(C=A);t={x:c[0].x,y:c[0].y};b.lineTo(c[c.length-1].x,C);b.lineTo(t.x,C);b.closePath();b.globalAlpha=n.fillOpacity;b.fill();b.globalAlpha=1;v&&(e.lineTo(c[c.length-1].x,C),e.lineTo(t.x,C),e.closePath(),e.fill())}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,p=[],r=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(r.x1,r.y1,r.width,r.height);
406
- b.clip();v&&(e.beginPath(),e.rect(r.x1,r.y1,r.width,r.height),e.clip());for(var l=0;l<a.dataSeriesIndexes.length;l++){var k=a.dataSeriesIndexes[l],n=this.data[k],m=n.dataPoints,p=n.id;this._eventManager.objectMap[p]={objectType:"dataSeries",dataSeriesIndex:k};p=W(p);e.fillStyle=p;var p=[],q=0,f,h,A=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),C,t=null,x=[];if(0<m.length){var w=n._colorSet[q%n._colorSet.length],u=n.lineColor=n.options.lineColor||w,B=u;b.fillStyle=w;b.strokeStyle=
407
- u;b.lineWidth=n.lineThickness;var da="solid";if(b.setLineDash){var y=H(n.nullDataLineDashType,n.lineThickness),da=n.lineDashType,z=H(da,n.lineThickness);b.setLineDash(z)}for(h=!1;q<m.length;q++)if(f=m[q].x.getTime?m[q].x.getTime():m[q].x,!(f<a.axisX.dataInfo.viewPortMin||f>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!h)))if("number"!==typeof m[q].y)0<q&&!h&&(n.connectNullData?b.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!m[q-1].lineDashType))&&(x[x.length-1].newLineDashArray=
408
- y,da=n.nullDataLineDashType):(g(),x=[])),h=!0;else{f=a.axisX.convertValueToPixel(f);h=a.axisY.convertValueToPixel(m[q].y);var I=n.dataPointIds[q];this._eventManager.objectMap[I]={id:I,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:q,x1:f,y1:h};x[x.length]={x:f,y:h};q<m.length-1&&(B!==(m[q].lineColor||u)||da!==(m[q].lineDashType||n.lineDashType))&&(B=m[q].lineColor||u,x[x.length-1].newStrokeStyle=B,b.setLineDash&&(m[q].lineDashType?(da=m[q].lineDashType,x[x.length-1].newLineDashArray=H(da,
409
- n.lineThickness)):(da=n.lineDashType,x[x.length-1].newLineDashArray=z)));if(0!==m[q].markerSize&&(0<m[q].markerSize||0<n.markerSize)){var M=n.getMarkerProperties(q,f,h,b);p.push(M);I=W(I);v&&p.push({x:f,y:h,ctx:e,type:M.type,size:M.size,color:I,borderColor:I,borderThickness:M.borderThickness})}(m[q].indexLabel||n.indexLabel||m[q].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:m[q],dataSeries:n,point:{x:f,y:h},direction:0>m[q].y===a.axisY.reversed?
410
- 1:-1,color:w});h=!1}g();X.drawMarkers(p)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(r.x1,r.y1,r.width,r.height),this._eventManager.ghostCtx.restore());b.restore();
411
- return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStepArea=function(a){var g,c;function b(){B&&(0<f.lineThickness&&d.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=w:0>a.axisY.viewportMaximum?s=r.y1:0<a.axisY.viewportMinimum&&(s=w),d.lineTo(C,s),d.lineTo(B.x,s),d.closePath(),d.globalAlpha=f.fillOpacity,d.fill(),d.globalAlpha=1,v&&(p.lineTo(C,s),p.lineTo(B.x,s),p.closePath(),
412
- p.fill()),d.beginPath(),d.moveTo(C,t),p.beginPath(),p.moveTo(C,t),B={x:C,y:t})}var e=a.targetCanvasCtx||this.plotArea.ctx,d=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var p=this._eventManager.ghostCtx,r=a.axisY.lineCoordinates,l=[],k=this.plotArea,n;d.save();v&&p.save();d.beginPath();d.rect(k.x1,k.y1,k.width,k.height);d.clip();v&&(p.beginPath(),p.rect(k.x1,k.y1,k.width,k.height),p.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var q=a.dataSeriesIndexes[m],f=this.data[q],h=
413
- f.dataPoints,l=f.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:q};l=W(l);p.fillStyle=l;l=[];g=!0;var A=0,C,t,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,B=null;c=!1;if(0<h.length){var u=f._colorSet[A%f._colorSet.length],y=f.lineColor=f.options.lineColor||u,z=y;d.fillStyle=u;d.strokeStyle=y;d.lineWidth=f.lineThickness;var I="solid";if(d.setLineDash){var M=H(f.nullDataLineDashType,f.lineThickness),I=f.lineDashType,ba=H(I,f.lineThickness);
414
- d.setLineDash(ba)}for(;A<h.length;A++)if(x=h[A].x.getTime?h[A].x.getTime():h[A].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!f.connectNullData||!c))){var Z=t;"number"!==typeof h[A].y?(f.connectNullData||(c||g)||b(),c=!0):(C=a.axisX.convertValueToPixel(x),t=a.axisY.convertValueToPixel(h[A].y),g||c?(!g&&f.connectNullData?(d.setLineDash&&(f.options.nullDataLineDashType||I===f.lineDashType&&f.lineDashType!==f.nullDataLineDashType)&&(g=C,c=t,C=n.x,t=n.y,b(),d.moveTo(n.x,n.y),C=
415
- g,t=c,B=n,I=f.nullDataLineDashType,d.setLineDash(M)),d.lineTo(C,Z),d.lineTo(C,t),v&&(p.lineTo(C,Z),p.lineTo(C,t))):(d.beginPath(),d.moveTo(C,t),v&&(p.beginPath(),p.moveTo(C,t)),B={x:C,y:t}),c=g=!1):(d.lineTo(C,Z),v&&p.lineTo(C,Z),d.lineTo(C,t),v&&p.lineTo(C,t),0==A%250&&b()),n={x:C,y:t},A<h.length-1&&(z!==(h[A].lineColor||y)||I!==(h[A].lineDashType||f.lineDashType))&&(b(),z=h[A].lineColor||y,d.strokeStyle=z,d.setLineDash&&(h[A].lineDashType?(I=h[A].lineDashType,d.setLineDash(H(I,f.lineThickness))):
416
- (I=f.lineDashType,d.setLineDash(ba)))),x=f.dataPointIds[A],this._eventManager.objectMap[x]={id:x,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:A,x1:C,y1:t},0!==h[A].markerSize&&(0<h[A].markerSize||0<f.markerSize)&&(Z=f.getMarkerProperties(A,C,t,d),l.push(Z),x=W(x),v&&l.push({x:C,y:t,ctx:p,type:Z.type,size:Z.size,color:x,borderColor:x,borderThickness:Z.borderThickness})),(h[A].indexLabel||f.indexLabel||h[A].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepArea",
417
- dataPoint:h[A],dataSeries:f,point:{x:C,y:t},direction:0>h[A].y===a.axisY.reversed?1:-1,color:u}))}b();X.drawMarkers(l)}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),d.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&d.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&d.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),d.clearRect(k.x1,
418
- k.y1,k.width,k.height),this._eventManager.ghostCtx.restore());d.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStackedArea=function(a){function g(){if(!(1>k.length)){for(0<u.lineThickness&&b.stroke();0<k.length;){var a=k.pop();b.lineTo(a.x,a.y);v&&C.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=u.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();v&&(C.closePath(),C.fill(),C.beginPath());k=[]}}var c=
419
- a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=null,p=[],r=this.plotArea,l=[],k=[],n=[],m=[],q=0,f,h,A=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),C=this._eventManager.ghostCtx,t,x,w;v&&C.beginPath();b.save();v&&C.save();b.beginPath();b.rect(r.x1,r.y1,r.width,r.height);b.clip();v&&(C.beginPath(),C.rect(r.x1,r.y1,r.width,r.height),C.clip());for(var e=[],s=0;s<a.dataSeriesIndexes.length;s++){var B=a.dataSeriesIndexes[s],
420
- u=this.data[B],y=u.dataPoints;u.dataPointIndexes=[];for(q=0;q<y.length;q++)B=y[q].x.getTime?y[q].x.getTime():y[q].x,u.dataPointIndexes[B]=q,e[B]||(n.push(B),e[B]=!0);n.sort(Ua)}for(s=0;s<a.dataSeriesIndexes.length;s++){B=a.dataSeriesIndexes[s];u=this.data[B];y=u.dataPoints;x=!0;k=[];q=u.id;this._eventManager.objectMap[q]={objectType:"dataSeries",dataSeriesIndex:B};q=W(q);C.fillStyle=q;if(0<n.length){var e=u._colorSet[0],z=u.lineColor=u.options.lineColor||e,I=z;b.fillStyle=e;b.strokeStyle=z;b.lineWidth=
421
- u.lineThickness;w="solid";if(b.setLineDash){var M=H(u.nullDataLineDashType,u.lineThickness);w=u.lineDashType;var ba=H(w,u.lineThickness);b.setLineDash(ba)}for(var Z=!0,q=0;q<n.length;q++){var d=n[q],ca=null,ca=0<=u.dataPointIndexes[d]?y[u.dataPointIndexes[d]]:{x:d,y:null};if(!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax&&(!u.connectNullData||!Z)))if("number"!==typeof ca.y)u.connectNullData||(Z||x)||g(),Z=!0;else{f=a.axisX.convertValueToPixel(d);var pa=l[d]?l[d]:0;if(a.axisY.logarithmic||
422
- a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){m[d]=ca.y+(m[d]?m[d]:0);if(0>=m[d]&&a.axisY.logarithmic)continue;h=a.axisY.convertValueToPixel(m[d])}else h=a.axisY.convertValueToPixel(ca.y),h-=pa;k.push({x:f,y:A-pa});l[d]=A-h;x||Z?(!x&&u.connectNullData?(b.setLineDash&&(u.options.nullDataLineDashType||w===u.lineDashType&&u.lineDashType!==u.nullDataLineDashType)&&(x=k.pop(),w=k[k.length-1],g(),b.moveTo(t.x,t.y),k.push(w),k.push(x),w=u.nullDataLineDashType,b.setLineDash(M)),b.lineTo(f,
423
- h),v&&C.lineTo(f,h)):(b.beginPath(),b.moveTo(f,h),v&&(C.beginPath(),C.moveTo(f,h))),Z=x=!1):(b.lineTo(f,h),v&&C.lineTo(f,h),0==q%250&&(g(),b.moveTo(f,h),v&&C.moveTo(f,h),k.push({x:f,y:A-pa})));t={x:f,y:h};q<y.length-1&&(I!==(y[q].lineColor||z)||w!==(y[q].lineDashType||u.lineDashType))&&(g(),b.beginPath(),b.moveTo(f,h),k.push({x:f,y:A-pa}),I=y[q].lineColor||z,b.strokeStyle=I,b.setLineDash&&(y[q].lineDashType?(w=y[q].lineDashType,b.setLineDash(H(w,u.lineThickness))):(w=u.lineDashType,b.setLineDash(ba))));
424
- if(0<=u.dataPointIndexes[d]){var ea=u.dataPointIds[u.dataPointIndexes[d]];this._eventManager.objectMap[ea]={id:ea,objectType:"dataPoint",dataSeriesIndex:B,dataPointIndex:u.dataPointIndexes[d],x1:f,y1:h}}0<=u.dataPointIndexes[d]&&0!==ca.markerSize&&(0<ca.markerSize||0<u.markerSize)&&(pa=u.getMarkerProperties(u.dataPointIndexes[d],f,h,b),p.push(pa),d=W(ea),v&&p.push({x:f,y:h,ctx:C,type:pa.type,size:pa.size,color:d,borderColor:d,borderThickness:pa.borderThickness}));(ca.indexLabel||u.indexLabel||ca.indexLabelFormatter||
425
- u.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:ca,dataSeries:u,point:{x:f,y:h},direction:0>ca.y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(f,h);v&&C.moveTo(f,h)}delete u.dataPointIndexes}X.drawMarkers(p);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
426
- this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(r.x1,r.y1,r.width,r.height),C.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStackedArea100=function(a){function g(){for(0<y.lineThickness&&b.stroke();0<k.length;){var a=k.pop();b.lineTo(a.x,a.y);v&&w.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=y.fillOpacity;b.fill();
427
- b.globalAlpha=1;b.beginPath();v&&(w.closePath(),w.fill(),w.beginPath());k=[]}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=null,p=this.plotArea,r=[],l=[],k=[],n=[],m=[],q=0,f,h,A,C,t,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),w=this._eventManager.ghostCtx;b.save();v&&w.save();b.beginPath();b.rect(p.x1,p.y1,p.width,p.height);b.clip();v&&(w.beginPath(),w.rect(p.x1,p.y1,p.width,p.height),w.clip());
428
- for(var e=[],s=0;s<a.dataSeriesIndexes.length;s++){var u=a.dataSeriesIndexes[s],y=this.data[u],z=y.dataPoints;y.dataPointIndexes=[];for(q=0;q<z.length;q++)u=z[q].x.getTime?z[q].x.getTime():z[q].x,y.dataPointIndexes[u]=q,e[u]||(n.push(u),e[u]=!0);n.sort(Ua)}for(s=0;s<a.dataSeriesIndexes.length;s++){u=a.dataSeriesIndexes[s];y=this.data[u];z=y.dataPoints;C=!0;e=y.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:u};e=W(e);w.fillStyle=e;k=[];if(0<n.length){var e=y._colorSet[q%
429
- y._colorSet.length],D=y.lineColor=y.options.lineColor||e,I=D;b.fillStyle=e;b.strokeStyle=D;b.lineWidth=y.lineThickness;t="solid";if(b.setLineDash){var M=H(y.nullDataLineDashType,y.lineThickness);t=y.lineDashType;var ba=H(t,y.lineThickness);b.setLineDash(ba)}for(var Z=!0,q=0;q<n.length;q++){var d=n[q],ca=null,ca=0<=y.dataPointIndexes[d]?z[y.dataPointIndexes[d]]:{x:d,y:null};if(!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax&&(!y.connectNullData||!Z)))if("number"!==typeof ca.y)y.connectNullData||
430
- (Z||C)||g(),Z=!0;else{var pa;pa=0!==a.dataPointYSums[d]?100*(ca.y/a.dataPointYSums[d]):0;f=a.axisX.convertValueToPixel(d);var ea=l[d]?l[d]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){m[d]=pa+(m[d]?m[d]:0);if(0>=m[d]&&a.axisY.logarithmic)continue;h=a.axisY.convertValueToPixel(m[d])}else h=a.axisY.convertValueToPixel(pa),h-=ea;k.push({x:f,y:x-ea});l[d]=x-h;C||Z?(!C&&y.connectNullData?(b.setLineDash&&(y.options.nullDataLineDashType||t===y.lineDashType&&
431
- y.lineDashType!==y.nullDataLineDashType)&&(C=k.pop(),t=k[k.length-1],g(),b.moveTo(A.x,A.y),k.push(t),k.push(C),t=y.nullDataLineDashType,b.setLineDash(M)),b.lineTo(f,h),v&&w.lineTo(f,h)):(b.beginPath(),b.moveTo(f,h),v&&(w.beginPath(),w.moveTo(f,h))),Z=C=!1):(b.lineTo(f,h),v&&w.lineTo(f,h),0==q%250&&(g(),b.moveTo(f,h),v&&w.moveTo(f,h),k.push({x:f,y:x-ea})));A={x:f,y:h};q<z.length-1&&(I!==(z[q].lineColor||D)||t!==(z[q].lineDashType||y.lineDashType))&&(g(),b.beginPath(),b.moveTo(f,h),k.push({x:f,y:x-
432
- ea}),I=z[q].lineColor||D,b.strokeStyle=I,b.setLineDash&&(z[q].lineDashType?(t=z[q].lineDashType,b.setLineDash(H(t,y.lineThickness))):(t=y.lineDashType,b.setLineDash(ba))));if(0<=y.dataPointIndexes[d]){var E=y.dataPointIds[y.dataPointIndexes[d]];this._eventManager.objectMap[E]={id:E,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:y.dataPointIndexes[d],x1:f,y1:h}}0<=y.dataPointIndexes[d]&&0!==ca.markerSize&&(0<ca.markerSize||0<y.markerSize)&&(ea=y.getMarkerProperties(y.dataPointIndexes[d],f,
433
- h,b),r.push(ea),d=W(E),v&&r.push({x:f,y:h,ctx:w,type:ea.type,size:ea.size,color:d,borderColor:d,borderThickness:ea.borderThickness}));(ca.indexLabel||y.indexLabel||ca.indexLabelFormatter||y.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ca,dataSeries:y,point:{x:f,y:h},direction:0>ca.y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(f,h);v&&w.moveTo(f,h)}delete y.dataPointIndexes}X.drawMarkers(r);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
434
- b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(p.x1,p.y1,p.width,p.height),w.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderBubble=
435
- function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,d,p;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var r=-Infinity,l=Infinity,k=0;k<a.dataSeriesIndexes.length;k++)for(var n=a.dataSeriesIndexes[k],m=this.data[n],
436
- q=m.dataPoints,f=0,e=0;e<q.length;e++)d=q[e].getTime?d=q[e].x.getTime():d=q[e].x,d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax||"undefined"===typeof q[e].z||(f=q[e].z,f>r&&(r=f),f<l&&(l=f));for(var h=25*Math.PI,A=Math.max(Math.pow(0.25*Math.min(b.height,b.width)/2,2)*Math.PI,h),k=0;k<a.dataSeriesIndexes.length;k++)if(n=a.dataSeriesIndexes[k],m=this.data[n],q=m.dataPoints,0<q.length)for(c.strokeStyle="#4572A7 ",e=0;e<q.length;e++)if(d=q[e].getTime?d=q[e].x.getTime():d=q[e].x,!(d<a.axisX.dataInfo.viewPortMin||
437
- d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof q[e].y){d=a.axisX.convertValueToPixel(d);p=a.axisY.convertValueToPixel(q[e].y);var f=q[e].z,C=2*Math.max(Math.sqrt((r===l?A/2:h+(A-h)/(r-l)*(f-l))/Math.PI)<<0,1),f=m.getMarkerProperties(e,c);f.size=C;c.globalAlpha=m.fillOpacity;X.drawMarker(d,p,c,f.type,f.size,f.color,f.borderColor,f.borderThickness);c.globalAlpha=1;var t=m.dataPointIds[e];this._eventManager.objectMap[t]={id:t,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:e,x1:d,y1:p,size:C};
438
- C=W(t);v&&X.drawMarker(d,p,this._eventManager.ghostCtx,f.type,f.size,C,C,f.borderThickness);(q[e].indexLabel||m.indexLabel||q[e].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:q[e],dataSeries:m,point:{x:d,y:p},direction:1,bounds:{x1:d-f.size/2,y1:p-f.size/2,x2:d+f.size/2,y2:p+f.size/2},color:null})}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,
439
- 0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderScatter=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,
440
- c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,d,p;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l],n=k.dataPoints;if(0<n.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,
441
- b.width)/2,2);for(var m=0,q=0,e=0;e<n.length;e++)if(d=n[e].getTime?d=n[e].x.getTime():d=n[e].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof n[e].y){d=a.axisX.convertValueToPixel(d);p=a.axisY.convertValueToPixel(n[e].y);var f=k.getMarkerProperties(e,d,p,c);c.globalAlpha=k.fillOpacity;X.drawMarker(f.x,f.y,f.ctx,f.type,f.size,f.color,f.borderColor,f.borderThickness);c.globalAlpha=1;Math.sqrt((m-d)*(m-d)+(q-p)*(q-p))<Math.min(f.size,5)&&n.length>Math.min(this.plotArea.width,
442
- this.plotArea.height)||(m=k.dataPointIds[e],this._eventManager.objectMap[m]={id:m,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:e,x1:d,y1:p},m=W(m),v&&X.drawMarker(f.x,f.y,this._eventManager.ghostCtx,f.type,f.size,m,m,f.borderThickness),(n[e].indexLabel||k.indexLabel||n[e].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:n[e],dataSeries:k,point:{x:d,y:p},direction:1,bounds:{x1:d-f.size/2,y1:p-f.size/2,x2:d+f.size/2,y2:p+f.size/2},color:null}),
443
- m=d,q=p)}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,
444
- animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderCandlestick=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=null,p=this.plotArea,r=0,h,k,n,m,q,f,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?
445
- this.dataPointWidth:0.015*this.width,s=a.axisX.dataInfo.minDiff;isFinite(s)||(s=0.3*Math.abs(a.axisX.range));s=this.options.dataPointWidth?this.dataPointWidth:0.7*p.width*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));s<
446
- e&&(s=e);s>d&&(s=d);c.save();v&&b.save();c.beginPath();c.rect(p.x1,p.y1,p.width,p.height);c.clip();v&&(b.beginPath(),b.rect(p.x1,p.y1,p.width,p.height),b.clip());for(var A=0;A<a.dataSeriesIndexes.length;A++){var C=a.dataSeriesIndexes[A],t=this.data[C],x=t.dataPoints;if(0<x.length)for(var w=5<s&&t.bevelEnabled?!0:!1,r=0;r<x.length;r++)if(x[r].getTime?f=x[r].x.getTime():f=x[r].x,!(f<a.axisX.dataInfo.viewPortMin||f>a.axisX.dataInfo.viewPortMax)&&!l(x[r].y)&&x[r].y.length&&"number"===typeof x[r].y[0]&&
447
- "number"===typeof x[r].y[1]&&"number"===typeof x[r].y[2]&&"number"===typeof x[r].y[3]){h=a.axisX.convertValueToPixel(f);k=a.axisY.convertValueToPixel(x[r].y[0]);n=a.axisY.convertValueToPixel(x[r].y[1]);m=a.axisY.convertValueToPixel(x[r].y[2]);q=a.axisY.convertValueToPixel(x[r].y[3]);var u=h-s/2<<0,B=u+s<<0,d=t.options.fallingColor?t.fallingColor:t._colorSet[0],e=x[r].color?x[r].color:t._colorSet[0],y=Math.round(Math.max(1,0.15*s)),z=0===y%2?0:0.5,D=t.dataPointIds[r];this._eventManager.objectMap[D]=
448
- {id:D,objectType:"dataPoint",dataSeriesIndex:C,dataPointIndex:r,x1:u,y1:k,x2:B,y2:n,x3:h,y3:m,x4:h,y4:q,borderThickness:y,color:e};c.strokeStyle=e;c.beginPath();c.lineWidth=y;b.lineWidth=Math.max(y,4);"candlestick"===t.type?(c.moveTo(h-z,n),c.lineTo(h-z,Math.min(k,q)),c.stroke(),c.moveTo(h-z,Math.max(k,q)),c.lineTo(h-z,m),c.stroke(),fa(c,u,Math.min(k,q),B,Math.max(k,q),x[r].y[0]<=x[r].y[3]?t.risingColor:d,y,e,w,w,!1,!1,t.fillOpacity),v&&(e=W(D),b.strokeStyle=e,b.moveTo(h-z,n),b.lineTo(h-z,Math.min(k,
449
- q)),b.stroke(),b.moveTo(h-z,Math.max(k,q)),b.lineTo(h-z,m),b.stroke(),fa(b,u,Math.min(k,q),B,Math.max(k,q),e,0,null,!1,!1,!1,!1))):"ohlc"===t.type&&(c.moveTo(h-z,n),c.lineTo(h-z,m),c.stroke(),c.beginPath(),c.moveTo(h,k),c.lineTo(u,k),c.stroke(),c.beginPath(),c.moveTo(h,q),c.lineTo(B,q),c.stroke(),v&&(e=W(D),b.strokeStyle=e,b.moveTo(h-z,n),b.lineTo(h-z,m),b.stroke(),b.beginPath(),b.moveTo(h,k),b.lineTo(u,k),b.stroke(),b.beginPath(),b.moveTo(h,q),b.lineTo(B,q),b.stroke()));(x[r].indexLabel||t.indexLabel||
450
- x[r].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:t.type,dataPoint:x[r],dataSeries:t,point:{x:u+(B-u)/2,y:a.axisY.reversed?m:n},direction:1,bounds:{x1:u,y1:Math.min(n,m),x2:B,y2:Math.max(n,m)},color:e})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
451
- this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(p.x1,p.y1,p.width,p.height),b.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=this.plotArea,
452
- p=0,r,h,k,n,m,q,f,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,s=a.axisX.dataInfo.minDiff;isFinite(s)||(s=0.3*Math.abs(a.axisX.range));s=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>
453
- p&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<e)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));s<e&&(s=e);s>p&&(s=p);c.save();v&&b.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();v&&(b.beginPath(),b.rect(d.x1,d.y1,d.width,d.height),b.clip());for(var A=!1,A=!!a.axisY.reversed,C=0;C<a.dataSeriesIndexes.length;C++){var t=a.dataSeriesIndexes[C],x=this.data[t],w=x.dataPoints;
454
- if(0<w.length)for(var u=5<s&&x.bevelEnabled?!0:!1,p=0;p<w.length;p++)if(w[p].getTime?f=w[p].x.getTime():f=w[p].x,!(f<a.axisX.dataInfo.viewPortMin||f>a.axisX.dataInfo.viewPortMax)&&!l(w[p].y)&&w[p].y.length&&"number"===typeof w[p].y[0]&&"number"===typeof w[p].y[1]&&"number"===typeof w[p].y[2]&&"number"===typeof w[p].y[3]&&"number"===typeof w[p].y[4]&&5===w[p].y.length){r=a.axisX.convertValueToPixel(f);h=a.axisY.convertValueToPixel(w[p].y[0]);k=a.axisY.convertValueToPixel(w[p].y[1]);n=a.axisY.convertValueToPixel(w[p].y[2]);
455
- m=a.axisY.convertValueToPixel(w[p].y[3]);q=a.axisY.convertValueToPixel(w[p].y[4]);var B=r-s/2<<0,y=r+s/2<<0,e=w[p].color?w[p].color:x._colorSet[0],z=Math.round(Math.max(1,0.15*s)),D=0===z%2?0:0.5,I=w[p].whiskerColor?w[p].whiskerColor:w[p].color?x.whiskerColor?x.whiskerColor:w[p].color:x.whiskerColor?x.whiskerColor:e,M="number"===typeof w[p].whiskerThickness?w[p].whiskerThickness:"number"===typeof x.options.whiskerThickness?x.whiskerThickness:z,ba=w[p].whiskerDashType?w[p].whiskerDashType:x.whiskerDashType,
456
- Z=l(w[p].whiskerLength)?l(x.options.whiskerLength)?s:x.whiskerLength:w[p].whiskerLength,Z="number"===typeof Z?0>=Z?0:Z>=s?s:Z:"string"===typeof Z?parseInt(Z)*s/100>s?s:parseInt(Z)*s/100:s,ca=1===Math.round(M)%2?0.5:0,pa=w[p].stemColor?w[p].stemColor:w[p].color?x.stemColor?x.stemColor:w[p].color:x.stemColor?x.stemColor:e,ea="number"===typeof w[p].stemThickness?w[p].stemThickness:"number"===typeof x.options.stemThickness?x.stemThickness:z,E=1===Math.round(ea)%2?0.5:0,F=w[p].stemDashType?w[p].stemDashType:
457
- x.stemDashType,J=w[p].lineColor?w[p].lineColor:w[p].color?x.lineColor?x.lineColor:w[p].color:x.lineColor?x.lineColor:e,O="number"===typeof w[p].lineThickness?w[p].lineThickness:"number"===typeof x.options.lineThickness?x.lineThickness:z,V=w[p].lineDashType?w[p].lineDashType:x.lineDashType,$=1===Math.round(O)%2?0.5:0,R=x.upperBoxColor,ya=x.lowerBoxColor,ua=l(x.options.fillOpacity)?1:x.fillOpacity,N=x.dataPointIds[p];this._eventManager.objectMap[N]={id:N,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:p,
458
- x1:B,y1:h,x2:y,y2:k,x3:r,y3:n,x4:r,y4:m,y5:q,borderThickness:z,color:e,stemThickness:ea,stemColor:pa,whiskerThickness:M,whiskerLength:Z,whiskerColor:I,lineThickness:O,lineColor:J};c.save();0<ea&&(c.beginPath(),c.strokeStyle=pa,c.lineWidth=ea,c.setLineDash&&c.setLineDash(H(F,ea)),c.moveTo(r-E,k),c.lineTo(r-E,h),c.stroke(),c.moveTo(r-E,m),c.lineTo(r-E,n),c.stroke());c.restore();b.lineWidth=Math.max(z,4);c.beginPath();fa(c,B,Math.max(Math.min(q,k),d.y1-z/2),y,Math.min(Math.max(k,q),d.y2+z/2),ya,0,e,
459
- A?u:!1,A?!1:u,!1,!1,ua);c.beginPath();fa(c,B,Math.max(Math.min(n,q),d.y1-z/2),y,Math.min(Math.max(q,n),d.y2+z/2),R,0,e,A?!1:u,A?u:!1,!1,!1,ua);c.beginPath();c.lineWidth=z;c.strokeStyle=e;c.rect(B-D,Math.max(Math.min(k,n)-D,d.y1-z/2),y-B+2*D,Math.min(Math.max(k,n),d.y2+z/2)-Math.max(Math.min(k,n)-D,d.y1-z/2)+2*D);c.stroke();c.save();0<O&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(H(V,O)),c.strokeStyle=J,c.lineWidth=O,c.moveTo(B,q-$),c.lineTo(y,q-$),c.stroke());c.restore();c.save();
460
- 0<M&&(c.beginPath(),c.setLineDash&&c.setLineDash(H(ba,M)),c.strokeStyle=I,c.lineWidth=M,c.moveTo(r-Z/2<<0,m-ca),c.lineTo(r+Z/2<<0,m-ca),c.stroke(),c.moveTo(r-Z/2<<0,h+ca),c.lineTo(r+Z/2<<0,h+ca),c.stroke());c.restore();v&&(e=W(N),b.strokeStyle=e,b.lineWidth=ea,0<ea&&(b.moveTo(r-D-E,k),b.lineTo(r-D-E,Math.max(h,m)),b.stroke(),b.moveTo(r-D-E,Math.min(h,m)),b.lineTo(r-D-E,n),b.stroke()),fa(b,B,Math.max(k,n),y,Math.min(k,n),e,0,null,!1,!1,!1,!1),0<M&&(b.beginPath(),b.lineWidth=M,b.moveTo(r+Z/2,m-ca),
461
- b.lineTo(r-Z/2,m-ca),b.stroke(),b.moveTo(r+Z/2,h+ca),b.lineTo(r-Z/2,h+ca),b.stroke()));(w[p].indexLabel||x.indexLabel||w[p].indexLabelFormatter||x.indexLabelFormatter)&&this._indexLabels.push({chartType:x.type,dataPoint:w[p],dataSeries:x,point:{x:B+(y-B)/2,y:a.axisY.reversed?h:m},direction:1,bounds:{x1:B,y1:Math.min(h,m),x2:y,y2:Math.max(h,m)},color:e})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,
462
- 0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),b.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderRangeColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:
463
- g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=0,p,r,h,d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.03*this.width;var k=a.axisX.dataInfo.minDiff;isFinite(k)||(k=0.3*Math.abs(a.axisX.range));k=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(k)/Math.log(a.axisX.range):Math.abs(k)/
464
- Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>p&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<d)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));k<d&&(k=d);k>p&&(k=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,
465
- e.width,e.height),this._eventManager.ghostCtx.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var m=a.dataSeriesIndexes[n],q=this.data[m],f=q.dataPoints;if(0<f.length)for(var s=5<k&&q.bevelEnabled?!0:!1,d=0;d<f.length;d++)if(f[d].getTime?h=f[d].x.getTime():h=f[d].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!l(f[d].y)&&f[d].y.length&&"number"===typeof f[d].y[0]&&"number"===typeof f[d].y[1]){b=a.axisX.convertValueToPixel(h);p=a.axisY.convertValueToPixel(f[d].y[0]);r=a.axisY.convertValueToPixel(f[d].y[1]);
466
- var A=a.axisX.reversed?b+a.plotType.totalDataSeries*k/2-(a.previousDataSeriesCount+n)*k<<0:b-a.plotType.totalDataSeries*k/2+(a.previousDataSeriesCount+n)*k<<0,C=a.axisX.reversed?A-k<<0:A+k<<0,b=f[d].color?f[d].color:q._colorSet[d%q._colorSet.length];if(p>r){var t=p;p=r;r=t}var t=Math.max(p,e.y1),x=Math.min(r,e.y2),w=q.dataPointIds[d];this._eventManager.objectMap[w]={id:w,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:d,x1:A,y1:t,x2:C,y2:x};fa(c,a.axisX.reversed?C:A,t,a.axisX.reversed?A:C,
467
- x,b,0,b,s,s,!1,!1,q.fillOpacity);b=W(w);v&&fa(this._eventManager.ghostCtx,a.axisX.reversed?C:A,t,a.axisX.reversed?A:C,x,b,0,null,!1,!1,!1,!1);if(f[d].indexLabel||q.indexLabel||f[d].indexLabelFormatter||q.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:f[d],dataSeries:q,indexKeyword:0,point:{x:A+(C-A)/2,y:f[d].y[1]>=f[d].y[0]?r:p},direction:f[d].y[1]>=f[d].y[0]?-1:1,bounds:{x1:A,y1:Math.min(p,r),x2:C,y2:Math.max(p,r)},color:b}),this._indexLabels.push({chartType:"rangeColumn",
468
- dataPoint:f[d],dataSeries:q,indexKeyword:1,point:{x:A+(C-A)/2,y:f[d].y[1]>=f[d].y[0]?p:r},direction:f[d].y[1]>=f[d].y[0]?1:-1,bounds:{x1:A,y1:Math.min(p,r),x2:C,y2:Math.max(p,r)},color:b})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
469
- 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderError=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g,b=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=!1,p=this.plotArea,
470
- r=0,h,k,n,m,q,f,s,A=a.axisX.dataInfo.minDiff;isFinite(A)||(A=0.3*Math.abs(a.axisX.range));c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(p.x1,p.y1,p.width,p.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(p.x1,p.y1,p.width,p.height),this._eventManager.ghostCtx.clip());for(var C=0,t=0;t<this.data.length;t++)!this.data[t].type.match(/(bar|column)/ig)||!this.data[t].visible||this.data[t].type.match(/(stacked)/ig)&&C||C++;for(var x=0;x<
471
- a.dataSeriesIndexes.length;x++){var w=a.dataSeriesIndexes[x],u=this.data[w],B=u.dataPoints,y=l(u._linkedSeries)?!1:u._linkedSeries.type.match(/(bar|column)/ig)&&u._linkedSeries.visible?!0:!1,D=0;if(y)for(e=u._linkedSeries.id,t=0;t<e;t++)!this.data[t].type.match(/(bar|column)/ig)||!this.data[t].visible||this.data[t].type.match(/(stacked)/ig)&&D||(this.data[t].type.match(/(range)/ig)&&(d=!0),D++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:
472
- 1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(y?C:1)))<<0:0.3*this.width;d&&(r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(y?C:1)))<<0:0.03*this.width);t=this.options.dataPointWidth?this.dataPointWidth:0.9*((b?p.height:p.width)*(a.axisX.logarithmic?Math.log(A)/Math.log(a.axisX.range):
473
- Math.abs(A)/Math.abs(a.axisX.range))/(y?C:1))<<0;this.dataPointMaxWidth&&e>r&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<e)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));t<e&&(t=e);t>r&&(t=r);if(0<B.length)for(var F=u._colorSet,r=0;r<B.length;r++){var e=u.lineColor=u.options.color?u.options.color:F[0],I={color:B[r].whiskerColor?B[r].whiskerColor:B[r].color?u.whiskerColor?u.whiskerColor:B[r].color:
474
- u.whiskerColor?u.whiskerColor:e,thickness:l(B[r].whiskerThickness)?u.whiskerThickness:B[r].whiskerThickness,dashType:B[r].whiskerDashType?B[r].whiskerDashType:u.whiskerDashType,length:l(B[r].whiskerLength)?l(u.options.whiskerLength)?t:u.options.whiskerLength:B[r].whiskerLength,trimLength:l(B[r].whiskerLength)?l(u.options.whiskerLength)?50:0:0};I.length="number"===typeof I.length?0>=I.length?0:I.length>=t?t:I.length:"string"===typeof I.length?parseInt(I.length)*t/100>t?t:parseInt(I.length)*t/100>t:
475
- t;I.thickness="number"===typeof I.thickness?0>I.thickness?0:Math.round(I.thickness):2;var M={color:B[r].stemColor?B[r].stemColor:B[r].color?u.stemColor?u.stemColor:B[r].color:u.stemColor?u.stemColor:e,thickness:B[r].stemThickness?B[r].stemThickness:u.stemThickness,dashType:B[r].stemDashType?B[r].stemDashType:u.stemDashType};M.thickness="number"===typeof M.thickness?0>M.thickness?0:Math.round(M.thickness):2;B[r].getTime?s=B[r].x.getTime():s=B[r].x;if(!(s<a.axisX.dataInfo.viewPortMin||s>a.axisX.dataInfo.viewPortMax)&&
476
- !l(B[r].y)&&B[r].y.length&&"number"===typeof B[r].y[0]&&"number"===typeof B[r].y[1]){var ba=a.axisX.convertValueToPixel(s);b?k=ba:h=ba;ba=a.axisY.convertValueToPixel(B[r].y[0]);b?n=ba:q=ba;ba=a.axisY.convertValueToPixel(B[r].y[1]);b?m=ba:f=ba;b?(q=a.axisX.reversed?k+(y?C:1)*t/2-(y?D-1:0)*t<<0:k-(y?C:1)*t/2+(y?D-1:0)*t<<0,f=a.axisX.reversed?q-t<<0:q+t<<0):(n=a.axisX.reversed?h+(y?C:1)*t/2-(y?D-1:0)*t<<0:h-(y?C:1)*t/2+(y?D-1:0)*t<<0,m=a.axisX.reversed?n-t<<0:n+t<<0);!b&&q>f&&(ba=q,q=f,f=ba);b&&n>m&&
477
- (ba=n,n=m,m=ba);ba=u.dataPointIds[r];this._eventManager.objectMap[ba]={id:ba,objectType:"dataPoint",dataSeriesIndex:w,dataPointIndex:r,x1:Math.min(n,m),y1:Math.min(q,f),x2:Math.max(m,n),y2:Math.max(f,q),isXYSwapped:b,stemProperties:M,whiskerProperties:I};z(c,Math.min(n,m),Math.min(q,f),Math.max(m,n),Math.max(f,q),e,I,M,b);v&&z(this._eventManager.ghostCtx,n,q,m,f,e,I,M,b);if(B[r].indexLabel||u.indexLabel||B[r].indexLabelFormatter||u.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:B[r],
478
- dataSeries:u,indexKeyword:0,point:{x:b?B[r].y[1]>=B[r].y[0]?n:m:n+(m-n)/2,y:b?q+(f-q)/2:B[r].y[1]>=B[r].y[0]?f:q},direction:B[r].y[1]>=B[r].y[0]?-1:1,bounds:{x1:b?Math.min(n,m):n,y1:b?q:Math.min(q,f),x2:b?Math.max(n,m):m,y2:b?f:Math.max(q,f)},color:e,axisSwapped:b}),this._indexLabels.push({chartType:"error",dataPoint:B[r],dataSeries:u,indexKeyword:1,point:{x:b?B[r].y[1]>=B[r].y[0]?m:n:n+(m-n)/2,y:b?q+(f-q)/2:B[r].y[1]>=B[r].y[0]?q:f},direction:B[r].y[1]>=B[r].y[0]?1:-1,bounds:{x1:b?Math.min(n,m):
479
- n,y1:b?q:Math.min(q,f),x2:b?Math.max(n,m):m,y2:b?f:Math.max(q,f)},color:e,axisSwapped:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(p.x1,p.y1,p.width,p.height),
480
- this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=0,p,r,h,k,d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;p=this.options.dataPointMaxWidth?
481
- this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>p&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:
482
- Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<d)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));n<d&&(n=d);n>p&&(n=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var q=a.dataSeriesIndexes[m],f=this.data[q],
483
- s=f.dataPoints;if(0<s.length){var A=5<n&&f.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(d=0;d<s.length;d++)if(s[d].getTime?k=s[d].x.getTime():k=s[d].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&!l(s[d].y)&&s[d].y.length&&"number"===typeof s[d].y[0]&&"number"===typeof s[d].y[1]){p=a.axisY.convertValueToPixel(s[d].y[0]);r=a.axisY.convertValueToPixel(s[d].y[1]);h=a.axisX.convertValueToPixel(k);h=a.axisX.reversed?h+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+m)*
484
- n<<0:h-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+m)*n<<0;var C=a.axisX.reversed?h-n<<0:h+n<<0;p>r&&(b=p,p=r,r=b);b=s[d].color?s[d].color:f._colorSet[d%f._colorSet.length];fa(c,p,a.axisX.reversed?C:h,r,a.axisX.reversed?h:C,b,0,null,A,!1,!1,!1,f.fillOpacity);b=f.dataPointIds[d];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:d,x1:p,y1:h,x2:r,y2:C};b=W(b);v&&fa(this._eventManager.ghostCtx,p,a.axisX.reversed?C:h,r,a.axisX.reversed?h:C,b,0,
485
- null,!1,!1,!1,!1);if(s[d].indexLabel||f.indexLabel||s[d].indexLabelFormatter||f.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:s[d],dataSeries:f,indexKeyword:0,point:{x:s[d].y[1]>=s[d].y[0]?p:r,y:h+(C-h)/2},direction:s[d].y[1]>=s[d].y[0]?-1:1,bounds:{x1:Math.min(p,r),y1:h,x2:Math.max(p,r),y2:C},color:b}),this._indexLabels.push({chartType:"rangeBar",dataPoint:s[d],dataSeries:f,indexKeyword:1,point:{x:s[d].y[1]>=s[d].y[0]?r:p,y:h+(C-h)/2},direction:s[d].y[1]>=s[d].y[0]?1:
486
- -1,bounds:{x1:Math.min(p,r),y1:h,x2:Math.max(p,r),y2:C},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());
487
- c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderRangeArea=function(a){function g(){if(x){for(var a=null,c=l.length-1;0<=c;c--)a=l[c],b.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);b.closePath();b.globalAlpha=n.fillOpacity;b.fill();b.globalAlpha=1;e.fill();if(0<n.lineThickness){b.beginPath();b.moveTo(a.x,a.y2);for(c=0;c<l.length;c++)a=l[c],b.lineTo(a.x,a.y2);b.moveTo(l[0].x,l[0].y1);for(c=0;c<l.length;c++)a=
488
- l[c],b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(h,A);e.beginPath();e.moveTo(h,A);x={x:h,y:A};l=[];l.push({x:h,y1:A,y2:s})}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,d=[],p=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(p.x1,p.y1,p.width,p.height);b.clip();v&&(e.beginPath(),e.rect(p.x1,p.y1,p.width,p.height),e.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var l=[],k=a.dataSeriesIndexes[r],
489
- n=this.data[k],m=n.dataPoints,d=n.id;this._eventManager.objectMap[d]={objectType:"dataSeries",dataSeriesIndex:k};d=W(d);e.fillStyle=d;var d=[],q=!0,f=0,h,A,s,t,x=null;if(0<m.length){var w=n._colorSet[f%n._colorSet.length],u=n.lineColor=n.options.lineColor||w,y=u;b.fillStyle=w;b.strokeStyle=u;b.lineWidth=n.lineThickness;var z="solid";if(b.setLineDash){var D=H(n.nullDataLineDashType,n.lineThickness),z=n.lineDashType,F=H(z,n.lineThickness);b.setLineDash(F)}for(var I=!0;f<m.length;f++)if(t=m[f].x.getTime?
490
- m[f].x.getTime():m[f].x,!(t<a.axisX.dataInfo.viewPortMin||t>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!I)))if(null!==m[f].y&&m[f].y.length&&"number"===typeof m[f].y[0]&&"number"===typeof m[f].y[1]){h=a.axisX.convertValueToPixel(t);A=a.axisY.convertValueToPixel(m[f].y[0]);s=a.axisY.convertValueToPixel(m[f].y[1]);q||I?(n.connectNullData&&!q?(b.setLineDash&&(n.options.nullDataLineDashType||z===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(l[l.length-1].newLineDashArray=F,z=n.nullDataLineDashType,
491
- b.setLineDash(D)),b.lineTo(h,A),v&&e.lineTo(h,A),l.push({x:h,y1:A,y2:s})):(b.beginPath(),b.moveTo(h,A),x={x:h,y:A},l=[],l.push({x:h,y1:A,y2:s}),v&&(e.beginPath(),e.moveTo(h,A))),I=q=!1):(b.lineTo(h,A),l.push({x:h,y1:A,y2:s}),v&&e.lineTo(h,A),0==f%250&&g());t=n.dataPointIds[f];this._eventManager.objectMap[t]={id:t,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:f,x1:h,y1:A,y2:s};f<m.length-1&&(y!==(m[f].lineColor||u)||z!==(m[f].lineDashType||n.lineDashType))&&(g(),y=m[f].lineColor||u,l[l.length-
492
- 1].newStrokeStyle=y,b.strokeStyle=y,b.setLineDash&&(m[f].lineDashType?(z=m[f].lineDashType,l[l.length-1].newLineDashArray=H(z,n.lineThickness),b.setLineDash(l[l.length-1].newLineDashArray)):(z=n.lineDashType,l[l.length-1].newLineDashArray=F,b.setLineDash(F))));if(0!==m[f].markerSize&&(0<m[f].markerSize||0<n.markerSize)){var M=n.getMarkerProperties(f,h,s,b);d.push(M);var ba=W(t);v&&d.push({x:h,y:s,ctx:e,type:M.type,size:M.size,color:ba,borderColor:ba,borderThickness:M.borderThickness});M=n.getMarkerProperties(f,
493
- h,A,b);d.push(M);ba=W(t);v&&d.push({x:h,y:A,ctx:e,type:M.type,size:M.size,color:ba,borderColor:ba,borderThickness:M.borderThickness})}if(m[f].indexLabel||n.indexLabel||m[f].indexLabelFormatter||n.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:m[f],dataSeries:n,indexKeyword:0,point:{x:h,y:A},direction:m[f].y[0]>m[f].y[1]===a.axisY.reversed?-1:1,color:w}),this._indexLabels.push({chartType:"rangeArea",dataPoint:m[f],dataSeries:n,indexKeyword:1,point:{x:h,y:s},direction:m[f].y[0]>
494
- m[f].y[1]===a.axisY.reversed?1:-1,color:w})}else I||q||g(),I=!0;g();X.drawMarkers(d)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(p.x1,p.y1,p.width,p.height),this._eventManager.ghostCtx.restore());
495
- b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderRangeSplineArea=function(a){function g(a,c){var f=s(A,2);if(0<f.length){if(0<k.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(f[0].x,f[0].y);for(var d=0;d<f.length-3;d+=3){if(f[d].newStrokeStyle||f[d].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(f[d].x,f[d].y),f[d].newStrokeStyle&&(b.strokeStyle=f[d].newStrokeStyle),
496
- f[d].newLineDashArray&&b.setLineDash(f[d].newLineDashArray);b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y)}}b.beginPath();b.moveTo(f[0].x,f[0].y);v&&(e.beginPath(),e.moveTo(f[0].x,f[0].y));for(d=0;d<f.length-3;d+=3)b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y),v&&e.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y);f=s(C,2);b.lineTo(C[C.length-1].x,C[C.length-1].y);for(d=f.length-1;2<d;d-=3)b.bezierCurveTo(f[d-1].x,f[d-1].y,f[d-2].x,
497
- f[d-2].y,f[d-3].x,f[d-3].y),v&&e.bezierCurveTo(f[d-1].x,f[d-1].y,f[d-2].x,f[d-2].y,f[d-3].x,f[d-3].y);b.closePath();b.globalAlpha=k.fillOpacity;b.fill();v&&(e.closePath(),e.fill());b.globalAlpha=1;if(0<k.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(f[0].x,f[0].y);for(var g=d=0;d<f.length-3;d+=3,g++){if(A[g].newStrokeStyle||A[g].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(f[d].x,f[d].y),A[g].newStrokeStyle&&(b.strokeStyle=A[g].newStrokeStyle),A[g].newLineDashArray&&
498
- b.setLineDash(A[g].newLineDashArray);b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y)}f=s(A,2);b.moveTo(f[0].x,f[0].y);for(g=d=0;d<f.length-3;d+=3,g++){if(A[g].newStrokeStyle||A[g].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(f[d].x,f[d].y),A[g].newStrokeStyle&&(b.strokeStyle=A[g].newStrokeStyle),A[g].newLineDashArray&&b.setLineDash(A[g].newLineDashArray);b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y)}b.stroke()}b.beginPath()}}var c=a.targetCanvasCtx||
499
- this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,d=[],p=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(p.x1,p.y1,p.width,p.height);b.clip();v&&(e.beginPath(),e.rect(p.x1,p.y1,p.width,p.height),e.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l],n=k.dataPoints,d=k.id;this._eventManager.objectMap[d]={objectType:"dataSeries",dataSeriesIndex:l};d=W(d);e.fillStyle=d;var d=[],m=0,q,
500
- f,h,A=[],C=[];if(0<n.length){var t=k._colorSet[m%k._colorSet.length],x=k.lineColor=k.options.lineColor||t,w=x;b.fillStyle=t;b.lineWidth=k.lineThickness;var u="solid",y;if(b.setLineDash){var z=H(k.nullDataLineDashType,k.lineThickness),u=k.lineDashType;y=H(u,k.lineThickness)}for(f=!1;m<n.length;m++)if(q=n[m].x.getTime?n[m].x.getTime():n[m].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!f)))if(null!==n[m].y&&n[m].y.length&&"number"===typeof n[m].y[0]&&"number"===
501
- typeof n[m].y[1]){q=a.axisX.convertValueToPixel(q);f=a.axisY.convertValueToPixel(n[m].y[0]);h=a.axisY.convertValueToPixel(n[m].y[1]);var D=k.dataPointIds[m];this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:m,x1:q,y1:f,y2:h};A[A.length]={x:q,y:f};C[C.length]={x:q,y:h};m<n.length-1&&(w!==(n[m].lineColor||x)||u!==(n[m].lineDashType||k.lineDashType))&&(w=n[m].lineColor||x,A[A.length-1].newStrokeStyle=w,b.setLineDash&&(n[m].lineDashType?(u=n[m].lineDashType,
502
- A[A.length-1].newLineDashArray=H(u,k.lineThickness)):(u=k.lineDashType,A[A.length-1].newLineDashArray=y)));if(0!==n[m].markerSize&&(0<n[m].markerSize||0<k.markerSize)){var F=k.getMarkerProperties(m,q,f,b);d.push(F);var I=W(D);v&&d.push({x:q,y:f,ctx:e,type:F.type,size:F.size,color:I,borderColor:I,borderThickness:F.borderThickness});F=k.getMarkerProperties(m,q,h,b);d.push(F);I=W(D);v&&d.push({x:q,y:h,ctx:e,type:F.type,size:F.size,color:I,borderColor:I,borderThickness:F.borderThickness})}if(n[m].indexLabel||
503
- k.indexLabel||n[m].indexLabelFormatter||k.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:n[m],dataSeries:k,indexKeyword:0,point:{x:q,y:f},direction:n[m].y[0]<=n[m].y[1]?-1:1,color:t}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:n[m],dataSeries:k,indexKeyword:1,point:{x:q,y:h},direction:n[m].y[0]<=n[m].y[1]?1:-1,color:t});f=!1}else 0<m&&!f&&(k.connectNullData?b.setLineDash&&(0<A.length&&(k.options.nullDataLineDashType||!n[m-1].lineDashType))&&(A[A.length-
504
- 1].newLineDashArray=z,u=k.nullDataLineDashType):(g(y,x),A=[],C=[])),f=!0;g(y,x);X.drawMarkers(d)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(p.x1,p.y1,p.width,p.height),
505
- this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderWaterfall=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx,e=null,d=this.plotArea,p=0,r,l,k,n,m=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),p=this.options.dataPointMinWidth?this.dataPointMinWidth:
506
- this.options.dataPointWidth?this.dataPointWidth:1;l=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?this.dataPointWidth:0.6*(d.width*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
507
- p>l&&(p=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,l));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&l<p)&&(l=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,p));q<p&&(q=p);q>l&&(q=l);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var h=
508
- a.dataSeriesIndexes[f],A=this.data[h],s=A.dataPoints,e=A._colorSet[0];A.risingColor=A.options.risingColor?A.options.risingColor:e;A.fallingColor=A.options.fallingColor?A.options.fallingColor:"#e40a0a";var t="number"===typeof A.options.lineThickness?Math.round(A.lineThickness):1,x=1===Math.round(t)%2?-0.5:0;if(0<s.length)for(var w=5<q&&A.bevelEnabled?!0:!1,u=!1,y=null,z=null,p=0;p<s.length;p++)if(s[p].getTime?n=s[p].x.getTime():n=s[p].x,"number"!==typeof s[p].y){if(0<p&&!u&&A.connectNullData)var D=
509
- A.options.nullDataLineDashType||!s[p-1].lineDashType?A.nullDataLineDashType:s[p-1].lineDashType;u=!0}else{r=a.axisX.convertValueToPixel(n);l=0===A.dataPointEOs[p].cumulativeSum?m:a.axisY.convertValueToPixel(A.dataPointEOs[p].cumulativeSum);k=0===A.dataPointEOs[p].cumulativeSumYStartValue?m:a.axisY.convertValueToPixel(A.dataPointEOs[p].cumulativeSumYStartValue);r=a.axisX.reversed?r+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+f)*q<<0:r-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+
510
- f)*q<<0;var F=a.axisX.reversed?r-q<<0:r+q<<0;l>k&&(e=l,l=k,k=e);a.axisY.reversed&&(e=l,l=k,k=e);e=A.dataPointIds[p];this._eventManager.objectMap[e]={id:e,objectType:"dataPoint",dataSeriesIndex:h,dataPointIndex:p,x1:r,y1:l,x2:F,y2:k};var I=s[p].color?s[p].color:0<s[p].y?A.risingColor:A.fallingColor;fa(c,a.axisX.reversed?F:r,a.axisY.reversed?k:l,a.axisX.reversed?r:F,a.axisY.reversed?l:k,I,0,I,w,w,!1,!1,A.fillOpacity);e=W(e);v&&fa(this._eventManager.ghostCtx,a.axisX.reversed?F:r,l,a.axisX.reversed?r:
511
- F,k,e,0,null,!1,!1,!1,!1);var M,I=r;M="undefined"!==typeof s[p].isIntermediateSum&&!0===s[p].isIntermediateSum||"undefined"!==typeof s[p].isCumulativeSum&&!0===s[p].isCumulativeSum?0<s[p].y?l:k:0<s[p].y?k:l;0<p&&y&&(!u||A.connectNullData)&&(u&&c.setLineDash&&c.setLineDash(H(D,t)),c.beginPath(),c.moveTo(y,z-x),c.lineTo(I,M-x),0<t&&c.stroke(),v&&(b.beginPath(),b.moveTo(y,z-x),b.lineTo(I,M-x),0<t&&b.stroke()));u=!1;y=F;z=0<s[p].y?l:k;I=s[p].lineDashType?s[p].lineDashType:A.options.lineDashType?A.options.lineDashType:
512
- "shortDash";c.strokeStyle=s[p].lineColor?s[p].lineColor:A.options.lineColor?A.options.lineColor:"#9e9e9e";c.lineWidth=t;c.setLineDash&&(I=H(I,t),c.setLineDash(I));(s[p].indexLabel||A.indexLabel||s[p].indexLabelFormatter||A.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:s[p],dataSeries:A,point:{x:r+(F-r)/2,y:0<=s[p].y?l:k},direction:0>s[p].y===a.axisY.reversed?1:-1,bounds:{x1:r,y1:Math.min(l,k),x2:F,y2:Math.max(l,k)},color:e})}}v&&(g.drawImage(this._preRenderCanvas,0,
513
- 0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,
514
- animationBase:0}}};var sa=function(a,g,c,b,e,d,p,l,h){if(!(0>c)){"undefined"===typeof l&&(l=1);if(!v){var k=Number((p%(2*Math.PI)).toFixed(8));Number((d%(2*Math.PI)).toFixed(8))===k&&(p-=1E-4)}a.save();a.globalAlpha=l;"pie"===e?(a.beginPath(),a.moveTo(g.x,g.y),a.arc(g.x,g.y,c,d,p,!1),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(g.x,g.y,c,d,p,!1),0<=h&&a.arc(g.x,g.y,h*c,p,d,!0),a.closePath(),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=
515
- 2,a.fill());a.globalAlpha=1;a.restore()}};u.prototype.renderPie=function(a){function g(){if(k&&n){var a=0,b=0,c=0,e=0;l(k.options.indexLabelMaxWidth)&&(k.indexLabelMaxWidth=0.33*q.width);for(var d=0;d<n.length;d++){var g=n[d],p=k.dataPointIds[d];f[d].id=p;f[d].objectType="dataPoint";f[d].dataPointIndex=d;f[d].dataSeriesIndex=0;var m=f[d],r={percent:null,total:null},v=null,r=h.getPercentAndTotal(k,g);if(k.indexLabelFormatter||g.indexLabelFormatter)v={chart:h.options,dataSeries:k,dataPoint:g,total:r.total,
516
- percent:r.percent};r=g.indexLabelFormatter?g.indexLabelFormatter(v):g.indexLabel?h.replaceKeywordsWithValue(g.indexLabel,g,k,d):k.indexLabelFormatter?k.indexLabelFormatter(v):k.indexLabel?h.replaceKeywordsWithValue(k.indexLabel,g,k,d):g.label?g.label:"";h._eventManager.objectMap[p]=m;m.center={x:w.x,y:w.y};m.y=g.y;m.radius=z;m.percentInnerRadius=F;m.indexLabelText=r;m.indexLabelPlacement=k.indexLabelPlacement;m.indexLabelLineColor=g.indexLabelLineColor?g.indexLabelLineColor:k.options.indexLabelLineColor?
517
- k.options.indexLabelLineColor:g.color?g.color:k._colorSet[d%k._colorSet.length];m.indexLabelLineThickness=l(g.indexLabelLineThickness)?k.indexLabelLineThickness:g.indexLabelLineThickness;m.indexLabelLineDashType=g.indexLabelLineDashType?g.indexLabelLineDashType:k.indexLabelLineDashType;m.indexLabelFontColor=g.indexLabelFontColor?g.indexLabelFontColor:k.indexLabelFontColor;m.indexLabelFontStyle=g.indexLabelFontStyle?g.indexLabelFontStyle:k.indexLabelFontStyle;m.indexLabelFontWeight=g.indexLabelFontWeight?
518
- g.indexLabelFontWeight:k.indexLabelFontWeight;m.indexLabelFontSize=l(g.indexLabelFontSize)?k.indexLabelFontSize:g.indexLabelFontSize;m.indexLabelFontFamily=g.indexLabelFontFamily?g.indexLabelFontFamily:k.indexLabelFontFamily;m.indexLabelBackgroundColor=g.indexLabelBackgroundColor?g.indexLabelBackgroundColor:k.options.indexLabelBackgroundColor?k.options.indexLabelBackgroundColor:k.indexLabelBackgroundColor;m.indexLabelBorderColor=g.indexLabelBorderColor?g.indexLabelBorderColor:k.options.indexLabelBorderColor?
519
- k.options.indexLabelBorderColor:k.indexLabelBorderColor;m.indexLabelBorderThickness=g.indexLabelBorderThickness?g.indexLabelBorderThickness:k.options.indexLabelBorderThickness?k.options.indexLabelBorderThickness:k.indexLabelBorderThickness;m.indexLabelPadding=g.indexLabelPadding?g.indexLabelPadding:k.options.indexLabelPadding?k.options.indexLabelPadding:k.indexLabelPadding;m.indexLabelMaxWidth=g.indexLabelMaxWidth?g.indexLabelMaxWidth:k.indexLabelMaxWidth;m.indexLabelWrap="undefined"!==typeof g.indexLabelWrap?
520
- g.indexLabelWrap:k.indexLabelWrap;m.indexLabelTextAlign=g.indexLabelTextAlign?g.indexLabelTextAlign:k.indexLabelTextAlign?k.indexLabelTextAlign:"left";m.startAngle=0===d?k.startAngle?k.startAngle/180*Math.PI:0:f[d-1].endAngle;m.startAngle=(m.startAngle+2*Math.PI)%(2*Math.PI);m.endAngle=m.startAngle+2*Math.PI/y*Math.abs(g.y);g=(m.endAngle+m.startAngle)/2;g=(g+2*Math.PI)%(2*Math.PI);m.midAngle=g;if(m.midAngle>Math.PI/2-t&&m.midAngle<Math.PI/2+t){if(0===a||f[c].midAngle>m.midAngle)c=d;a++}else if(m.midAngle>
521
- 3*Math.PI/2-t&&m.midAngle<3*Math.PI/2+t){if(0===b||f[e].midAngle>m.midAngle)e=d;b++}m.hemisphere=g>Math.PI/2&&g<=3*Math.PI/2?"left":"right";m.indexLabelTextBlock=new ka(h.plotArea.ctx,{fontSize:m.indexLabelFontSize,fontFamily:m.indexLabelFontFamily,fontColor:m.indexLabelFontColor,fontStyle:m.indexLabelFontStyle,fontWeight:m.indexLabelFontWeight,textAlign:m.indexLabelTextAlign,backgroundColor:m.indexLabelBackgroundColor,borderColor:m.indexLabelBorderColor,borderThickness:m.indexLabelBorderThickness,
522
- maxWidth:m.indexLabelMaxWidth,maxHeight:m.indexLabelWrap?5*m.indexLabelFontSize:1.5*m.indexLabelFontSize,text:m.indexLabelText,padding:m.indexLabelPadding,textBaseline:"middle"});m.indexLabelTextBlock.measureText()}p=g=0;r=!1;for(d=0;d<n.length;d++)m=f[(c+d)%n.length],1<a&&(m.midAngle>Math.PI/2-t&&m.midAngle<Math.PI/2+t)&&(g<=a/2&&!r?(m.hemisphere="right",g++):(m.hemisphere="left",r=!0));r=!1;for(d=0;d<n.length;d++)m=f[(e+d)%n.length],1<b&&(m.midAngle>3*Math.PI/2-t&&m.midAngle<3*Math.PI/2+t)&&(p<=
523
- b/2&&!r?(m.hemisphere="left",p++):(m.hemisphere="right",r=!0))}}function c(a,b){var c=h.plotArea.ctx;c.clearRect(q.x1,q.y1,q.width,q.height);c.fillStyle=h.backgroundColor;c.fillRect(q.x1,q.y1,q.width,q.height);for(c=0;c<n.length;c++){var d=f[c].startAngle,e=f[c].endAngle;if(e>d){var g=0.07*z*Math.cos(f[c].midAngle),p=0.07*z*Math.sin(f[c].midAngle),l=!1;if(n[c].exploded){if(1E-9<Math.abs(f[c].center.x-(w.x+g))||1E-9<Math.abs(f[c].center.y-(w.y+p)))f[c].center.x=w.x+g*a,f[c].center.y=w.y+p*a,l=!0}else if(0<
524
- Math.abs(f[c].center.x-w.x)||0<Math.abs(f[c].center.y-w.y))f[c].center.x=w.x+g*(1-a),f[c].center.y=w.y+p*(1-a),l=!0;l&&b&&(g={},g.dataSeries=k,g.dataPoint=k.dataPoints[c],g.index=c,h.toolTip.highlightObjects([g]));sa(h.plotArea.ctx,f[c].center,f[c].radius,n[c].color?n[c].color:k._colorSet[c%k._colorSet.length],k.type,d,e,k.fillOpacity,f[c].percentInnerRadius)}}c=h.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline="middle";c.lineJoin="round";for(d=d=0;d<n.length;d++)e=f[d],
525
- e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,g=0,g="left"===e.hemisphere?"inside"!==k.indexLabelPlacement?-(e.indexLabelTextBlock.width+m):-e.indexLabelTextBlock.width/2:"inside"!==k.indexLabelPlacement?m:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=g,e.indexLabelTextBlock.render(!0),e.indexLabelTextBlock.x-=g,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,"inside"!==e.indexLabelPlacement&&
526
- 0<e.indexLabelLineThickness&&(g=e.center.x+z*Math.cos(e.midAngle),p=e.center.y+z*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(H(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(g,p),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+("left"===e.hemisphere?-m:m),e.indexLabelTextBlock.y),c.stroke()),c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-
527
- a.indexLabelTextBlock.height/2,e=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,f=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,d=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?f-e:c-d}function e(a){for(var c=null,e=1;e<n.length;e++)if(c=(a+e+f.length)%f.length,f[c].hemisphere!==f[a].hemisphere){c=null;break}else if(f[c].indexLabelText&&c!==a&&(0>b(f[c],f[a])||("right"===f[a].hemisphere?f[c].indexLabelTextBlock.y>=f[a].indexLabelTextBlock.y:
528
- f[c].indexLabelTextBlock.y<=f[a].indexLabelTextBlock.y)))break;else c=null;return c}function d(a,c,g){g=(g||0)+1;if(1E3<g)return 0;c=c||0;var k=0,p=w.y-1*s,m=w.y+1*s;if(0<=a&&a<n.length){var l=f[a];if(0>c&&l.indexLabelTextBlock.y<p||0<c&&l.indexLabelTextBlock.y>m)return 0;var r=0,h=0,h=r=r=0;0>c?l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2>p&&l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2+c<p&&(c=-(p-(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2+c))):l.indexLabelTextBlock.y+
529
- l.indexLabelTextBlock.height/2<p&&l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+c>m&&(c=l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+c-m);c=l.indexLabelTextBlock.y+c;p=0;p="right"===l.hemisphere?w.x+Math.sqrt(Math.pow(s,2)-Math.pow(c-w.y,2)):w.x-Math.sqrt(Math.pow(s,2)-Math.pow(c-w.y,2));h=w.x+z*Math.cos(l.midAngle);r=w.y+z*Math.sin(l.midAngle);r=Math.sqrt(Math.pow(p-h,2)+Math.pow(c-r,2));h=Math.acos(z/s);r=Math.acos((s*s+z*z-r*r)/(2*z*s));c=r<h?c-l.indexLabelTextBlock.y:0;p=null;
530
- for(m=1;m<n.length;m++)if(p=(a-m+f.length)%f.length,f[p].hemisphere!==f[a].hemisphere){p=null;break}else if(f[p].indexLabelText&&f[p].hemisphere===f[a].hemisphere&&p!==a&&(0>b(f[p],f[a])||("right"===f[a].hemisphere?f[p].indexLabelTextBlock.y<=f[a].indexLabelTextBlock.y:f[p].indexLabelTextBlock.y>=f[a].indexLabelTextBlock.y)))break;else p=null;h=p;r=e(a);m=p=0;0>c?(m="right"===l.hemisphere?h:r,k=c,null!==m&&(h=-c,c=l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-(f[m].indexLabelTextBlock.y+
531
- f[m].indexLabelTextBlock.height/2),c-h<v&&(p=-h,m=d(m,p,g+1),+m.toFixed(x)>+p.toFixed(x)&&(k=c>v?-(c-v):-(h-(m-p)))))):0<c&&(m="right"===l.hemisphere?r:h,k=c,null!==m&&(h=c,c=f[m].indexLabelTextBlock.y-f[m].indexLabelTextBlock.height/2-(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2),c-h<v&&(p=h,m=d(m,p,g+1),+m.toFixed(x)<+p.toFixed(x)&&(k=c>v?c-v:h-(p-m)))));k&&(g=l.indexLabelTextBlock.y+k,c=0,c="right"===l.hemisphere?w.x+Math.sqrt(Math.pow(s,2)-Math.pow(g-w.y,2)):w.x-Math.sqrt(Math.pow(s,
532
- 2)-Math.pow(g-w.y,2)),l.midAngle>Math.PI/2-t&&l.midAngle<Math.PI/2+t?(p=(a-1+f.length)%f.length,p=f[p],a=f[(a+1+f.length)%f.length],"left"===l.hemisphere&&"right"===p.hemisphere&&c>p.indexLabelTextBlock.x?c=p.indexLabelTextBlock.x-15:"right"===l.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):l.midAngle>3*Math.PI/2-t&&l.midAngle<3*Math.PI/2+t&&(p=(a-1+f.length)%f.length,p=f[p],a=f[(a+1+f.length)%f.length],"right"===l.hemisphere&&"left"===p.hemisphere&&
533
- c<p.indexLabelTextBlock.x?c=p.indexLabelTextBlock.x+15:"left"===l.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),l.indexLabelTextBlock.y=g,l.indexLabelTextBlock.x=c,l.indexLabelAngle=Math.atan2(l.indexLabelTextBlock.y-w.y,l.indexLabelTextBlock.x-w.x))}return k}function p(){var a=h.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var c=a=0,g=0,p=!0,c=0;10>c&&(1>c||0<g);c++){if(k.radius||!k.radius&&
534
- "undefined"!==typeof k.innerRadius&&null!==k.innerRadius&&z-g<=D)p=!1;p&&(z-=g);g=0;if("inside"!==k.indexLabelPlacement){s=z*u;for(a=0;a<n.length;a++){var l=f[a];l.indexLabelTextBlock.x=w.x+s*Math.cos(l.midAngle);l.indexLabelTextBlock.y=w.y+s*Math.sin(l.midAngle);l.indexLabelAngle=l.midAngle;l.radius=z;l.percentInnerRadius=F}for(var r,t,a=0;a<n.length;a++){var l=f[a],y=e(a);if(null!==y){r=f[a];t=f[y];var B=0,B=b(r,t)-v;if(0>B){for(var H=t=0,L=0;L<n.length;L++)L!==a&&f[L].hemisphere===l.hemisphere&&
535
- (f[L].indexLabelTextBlock.y<l.indexLabelTextBlock.y?t++:H++);t=B/(t+H||1)*H;var H=-1*(B-t),J=L=0;"right"===l.hemisphere?(L=d(a,t),H=-1*(B-L),J=d(y,H),+J.toFixed(x)<+H.toFixed(x)&&+L.toFixed(x)<=+t.toFixed(x)&&d(a,-(H-J))):(L=d(y,t),H=-1*(B-L),J=d(a,H),+J.toFixed(x)<+H.toFixed(x)&&+L.toFixed(x)<=+t.toFixed(x)&&d(y,-(H-J)))}}}}else for(a=0;a<n.length;a++)l=f[a],s="pie"===k.type?0.7*z:0.85*z,y=w.x+s*Math.cos(l.midAngle),t=w.y+s*Math.sin(l.midAngle),l.indexLabelTextBlock.x=y,l.indexLabelTextBlock.y=t;
536
- for(a=0;a<n.length;a++)if(l=f[a],y=l.indexLabelTextBlock.measureText(),0!==y.height&&0!==y.width)y=y=0,"right"===l.hemisphere?(y=q.x2-(l.indexLabelTextBlock.x+l.indexLabelTextBlock.width+m),y*=-1):y=q.x1-(l.indexLabelTextBlock.x-l.indexLabelTextBlock.width-m),0<y&&(!p&&l.indexLabelText&&(t="right"===l.hemisphere?q.x2-l.indexLabelTextBlock.x:l.indexLabelTextBlock.x-q.x1,0.3*l.indexLabelTextBlock.maxWidth>t?l.indexLabelText="":l.indexLabelTextBlock.maxWidth=0.85*t,0.3*l.indexLabelTextBlock.maxWidth<
537
- t&&(l.indexLabelTextBlock.x-="right"===l.hemisphere?2:-2)),Math.abs(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-w.y)<z||Math.abs(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2-w.y)<z)&&(y/=Math.abs(Math.cos(l.indexLabelAngle)),9<y&&(y*=0.3),y>g&&(g=y)),y=y=0,0<l.indexLabelAngle&&l.indexLabelAngle<Math.PI?(y=q.y2-(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+5),y*=-1):y=q.y1-(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-5),0<y&&(!p&&l.indexLabelText&&(t=0<l.indexLabelAngle&&
538
- l.indexLabelAngle<Math.PI?-1:1,0===d(a,y*t)&&d(a,2*t)),Math.abs(l.indexLabelTextBlock.x-w.x)<z&&(y/=Math.abs(Math.sin(l.indexLabelAngle)),9<y&&(y*=0.3),y>g&&(g=y)));var O=function(a,b,c){for(var e=[],d=0;e.push(f[b]),b!==c;b=(b+1+n.length)%n.length);e.sort(function(a,b){return a.y-b.y});for(b=0;b<e.length;b++)if(c=e[b],d<0.7*a)d+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,d=0,g=!1,p=0;p<
539
- n.length;p++)if(g=!1,r=f[p],r.indexLabelText){var l=e(p);if(null!==l){var k=f[l];B=0;B=b(r,k);var h;if(h=0>B){h=r.indexLabelTextBlock.x;var q=r.indexLabelTextBlock.y-r.indexLabelTextBlock.height/2,t=r.indexLabelTextBlock.y+r.indexLabelTextBlock.height/2,v=k.indexLabelTextBlock.y-k.indexLabelTextBlock.height/2,s=k.indexLabelTextBlock.x+k.indexLabelTextBlock.width,w=k.indexLabelTextBlock.y+k.indexLabelTextBlock.height/2;h=r.indexLabelTextBlock.x+r.indexLabelTextBlock.width<k.indexLabelTextBlock.x-m||
540
- h>s+m||q>w+m||t<v-m?!1:!0}h?(0>a&&(a=p),l!==a&&(c=l,d+=-B),0===p%Math.max(n.length/10,3)&&(g=!0)):g=!0;g&&(0<d&&0<=a&&0<=c)&&(O(d,a,c),c=a=-1,d=0)}}0<d&&O(d,a,c)})()}}function r(){h.plotArea.layoutManager.reset();h.title&&(h.title.dockInsidePlotArea||"center"===h.title.horizontalAlign&&"center"===h.title.verticalAlign)&&h.title.render();if(h.subtitles)for(var a=0;a<h.subtitles.length;a++){var b=h.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}h.legend&&
541
- (h.legend.dockInsidePlotArea||"center"===h.legend.horizontalAlign&&"center"===h.legend.verticalAlign)&&(h.legend.setLayout(),h.legend.render())}var h=this;if(!(0>=a.dataSeriesIndexes.length)){var k=this.data[a.dataSeriesIndexes[0]],n=k.dataPoints,m=10,q=this.plotArea,f=k.dataPointEOs,v=2,s,u=1.3,t=20/180*Math.PI,x=6,w={x:(q.x2+q.x1)/2,y:(q.y2+q.y1)/2},y=0;a=!1;for(var B=0;B<n.length;B++)y+=Math.abs(n[B].y),!a&&("undefined"!==typeof n[B].indexLabel&&null!==n[B].indexLabel&&0<n[B].indexLabel.toString().length)&&
542
- (a=!0),!a&&("undefined"!==typeof n[B].label&&null!==n[B].label&&0<n[B].label.toString().length)&&(a=!0);if(0!==y){a=a||"undefined"!==typeof k.indexLabel&&null!==k.indexLabel&&0<k.indexLabel.toString().length;var z="inside"!==k.indexLabelPlacement&&a?0.75*Math.min(q.width,q.height)/2:0.92*Math.min(q.width,q.height)/2;k.radius&&(z=Wa(k.radius,z));var D="undefined"!==typeof k.innerRadius&&null!==k.innerRadius?Wa(k.innerRadius,z,0.7*z):0.7*z,F=Math.min(D/z,(z-1)/z);this.pieDoughnutClickHandler=function(a){h.isAnimating||
543
- !l(this.explodeOnClick)&&!this.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&h._animator.animate(0,500,function(a){c(a,!0);r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h});h.dispatchEvent("dataAnimationEnd",{chart:h})}))};g();p();p();p();p();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=h.plotArea.ctx;b.clearRect(q.x1,q.y1,q.width,q.height);b.fillStyle=h.backgroundColor;b.fillRect(q.x1,
544
- q.y1,q.width,q.height);for(var b=f[0].startAngle+2*Math.PI*a,c=0;c<n.length;c++){var e=0===c?f[c].startAngle:d,d=e+(f[c].endAngle-f[c].startAngle),g=!1;d>b&&(d=b,g=!0);var p=n[c].color?n[c].color:k._colorSet[c%k._colorSet.length];d>e&&sa(h.plotArea.ctx,f[c].center,f[c].radius,p,k.type,e,d,k.fillOpacity,f[c].percentInnerRadius);if(g)break}r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h});1<=a&&h.dispatchEvent("dataAnimationEnd",{chart:h})},function(){h.disableToolTip=!1;h._animator.animate(0,
545
- h.animatedRender?500:0,function(a){c(a,!1);r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h})});h.dispatchEvent("dataAnimationEnd",{chart:h})});k.radius=z;"doughnut"===k.type&&(k.innerRadius=D)}}};var ta=function(a,g,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),Math.round(g.y2)),a.lineTo(Math.round(g.x3),Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),
546
- "undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};u.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<x.length;c++){if("undefined"===typeof x[c].y)return-1;x[c].y="number"===typeof x[c].y?x[c].y:0;a+=Math.abs(x[c].y)}if(0===a)return-1;for(c=b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=U,b=T,c=$,e=X,d,f;d=Z;f=
547
- ca-ea;e=Math.abs((f-d)*(b-a+(e-c))/2);c=X-$;d=f-d;f=c*(f-ca);f=Math.abs(f);f=e+f;for(var e=[],g=0,p=0;p<x.length;p++){if("undefined"===typeof x[p].y)return-1;x[p].y="number"===typeof x[p].y?x[p].y:0;g+=Math.abs(x[p].y)}if(0===g)return-1;for(var l=e[0]=0,k=0,m,r,b=b-a,l=!1,p=0;p<x.length;p++)a=Math.abs(x[p].y)*f/g,l?m=0==Number(c.toFixed(3))?0:a/c:(r=Y*Y*b*b-4*Math.abs(Y)*a,0>r?(r=c,l=(b+r)*(d-k)/2,a-=l,m=d-k,k+=d-k,m+=0==r?0:a/r,k+=a/r,l=!0):(m=(Math.abs(Y)*b-Math.sqrt(r))/2,r=b-2*m/Math.abs(Y),k+=
548
- m,k>d&&(k-=m,r=c,l=(b+r)*(d-k)/2,a-=l,m=d-k,k+=d-k,m+=a/r,k+=a/r,l=!0),b=r)),e.push(m);return e}function b(){if(t&&x){for(var a,b,c,e,d,g,p,k,m,r,n,h,q,s,w,A,y,K,z=[],B=[],P={percent:null,total:null},D=null,E=0;E<x.length;E++)K=N[E],K="undefined"!==typeof K.x5?(K.y2+K.y4)/2:(K.y2+K.y3)/2,K=f(K).x2+1,z[E]=O-(isNaN(K)?0:K)-W;K=0.5*W;for(var E=0,F=x.length-1;E<x.length||0<=F;E++,F--){b=t.reversed?x[F]:x[E];a=b.color?b.color:t.reversed?t._colorSet[(x.length-1-E)%t._colorSet.length]:t._colorSet[E%t._colorSet.length];
549
- c=b.indexLabelPlacement||t.indexLabelPlacement||"outside";y=b.indexLabelTextAlign||t.indexLabelTextAlign||"left";e=b.indexLabelBackgroundColor||t.indexLabelBackgroundColor||(v?"transparent":null);d=b.indexLabelBorderColor||t.indexLabelBorderColor||(v?"transparent":null);g=l(b.indexLabelBorderThickness)?t.indexLabelBorderThickness:b.indexLabelBorderThickness;p=l(b.indexLabelPadding)?t.options.indexLabelPadding?t.options.indexLabelPadding:t.indexLabelPadding:b.indexLabelPadding;k=b.indexLabelFontColor||
550
- t.indexLabelFontColor||"#979797";m=l(b.indexLabelFontSize)?t.indexLabelFontSize:b.indexLabelFontSize;r=b.indexLabelFontStyle||t.indexLabelFontStyle||"normal";n=b.indexLabelFontFamily||t.indexLabelFontFamily||"arial";h=b.indexLabelFontWeight||t.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||t.options.indexLabelLineColor||a;q="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof t.indexLabelLineThickness?t.indexLabelLineThickness:2;s=b.indexLabelLineDashType||
551
- t.indexLabelLineDashType||"solid";w="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof t.indexLabelWrap?t.indexLabelWrap:!0;A=t.dataPointIds[E];u._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataPointIndex:E,dataSeriesIndex:0,funnelSection:N[t.reversed?x.length-1-E:E]};"inside"===t.indexLabelPlacement&&(z[E]=E!==fa?t.reversed?N[E].x2-N[E].x1:N[E].x3-N[E].x4:N[E].x3-N[E].x6,20>z[E]&&(z[E]=E!==fa?t.reversed?N[E].x3-N[E].x4:N[E].x2-N[E].x1:N[E].x2-N[E].x1,z[E]/=2));
552
- A=b.indexLabelMaxWidth?b.indexLabelMaxWidth:t.options.indexLabelMaxWidth?t.indexLabelMaxWidth:z[E];if(A>z[E]||0>A)A=z[E];B[E]="inside"===t.indexLabelPlacement?w?Math.max(N[E].height,m):1.5*m+("object"===typeof p?(p.top||0)+(p.bottom||0):2*p):!1;P=u.getPercentAndTotal(t,b);if(t.indexLabelFormatter||b.indexLabelFormatter)D={chart:u.options,dataSeries:t,dataPoint:b,total:P.total,percent:P.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(D):b.indexLabel?u.replaceKeywordsWithValue(b.indexLabel,b,
553
- t,E):t.indexLabelFormatter?t.indexLabelFormatter(D):t.indexLabel?u.replaceKeywordsWithValue(t.indexLabel,b,t,E):b.label?b.label:"";0>=q&&(q=0);1E3>A&&1E3-A<K&&(A+=1E3-A);l(t.options.indexLabelMaxWidth)&&(t.indexLabelMaxWidth=l(t.indexLabelMaxWidth)?A:Math.max(A,t.indexLabelMaxWidth));R.roundRect||Ba(R);c=new ka(R,{fontSize:m,fontFamily:n,fontColor:k,fontStyle:r,fontWeight:h,horizontalAlign:c,textAlign:y,backgroundColor:e,borderColor:d,borderThickness:g,maxWidth:A,maxHeight:!1===B[E]?(w?4.28571429*
554
- m:1.5*m)+("object"===typeof p?(p.top||0)+(p.bottom||0):2*p):B[E],text:b,padding:p,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;G.push({textBlock:c,id:t.reversed?F:E,isDirty:!1,lineColor:a,lineThickness:q,lineDashType:s,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,e,d,f=[];d=!1;c=0;for(var g,p=O-T-W/2,p=t.options.indexLabelMaxWidth?t.indexLabelMaxWidth>
555
- p?p:t.indexLabelMaxWidth:p,k=G.length-1;0<=k;k--){g=x[G[k].id];c=G[k];e=c.textBlock;b=(a=q(k)<N.length?G[q(k)]:null)?a.textBlock:null;c=c.height;a&&e.y+c+ga>b.y&&(d=!0);c=g.indexLabelMaxWidth||p;if(c>p||0>c)c=p;f.push(c)}if(d)for(k=G.length-1;0<=k;k--)a=N[k],G[k].textBlock.maxWidth=f[f.length-(k+1)],G[k].textBlock.measureText(),G[k].textBlock.height=G[k].textBlock.height===2*G[k].textBlock.padding?0:G[k].textBlock.height,G[k].textBlock.width=G[k].textBlock.width===2*G[k].textBlock.padding?0:G[k].textBlock.width,
556
- G[k].textBlock.x=O-p,c=G[k].textBlock.height<G[k].textBlock.maxHeight?G[k].textBlock.height:G[k].textBlock.maxHeight,d=G[k].textBlock.width<G[k].textBlock.maxWidth?G[k].textBlock.width:G[k].textBlock.maxWidth,G[k].height=c,G[k].width=d,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,G[k].textBlock.y=c-G[k].height/2,t.reversed?(G[k].textBlock.y+G[k].height>S+y&&(G[k].textBlock.y=S+y-G[k].height),G[k].textBlock.y<ua-y&&(G[k].textBlock.y=ua-y)):(G[k].textBlock.y<S-y&&(G[k].textBlock.y=S-y),G[k].textBlock.y+
557
- G[k].height>ua+y&&(G[k].textBlock.y=ua+y-G[k].height))}function d(){var a,b,c,e;if("inside"!==t.indexLabelPlacement)for(var d=0;d<N.length;d++)0==G[d].textBlock.text.length?G[d].isDirty=!0:(a=N[d],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=t.reversed?"undefined"!==typeof a.x5?c>ya?f(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ya?f(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,G[d].textBlock.x=b+W,G[d].textBlock.y=c-G[d].height/2,t.reversed?(G[d].textBlock.y+G[d].height>
558
- S+y&&(G[d].textBlock.y=S+y-G[d].height),G[d].textBlock.y<ua-y&&(G[d].textBlock.y=ua-y)):(G[d].textBlock.y<S-y&&(G[d].textBlock.y=S-y),G[d].textBlock.y+G[d].height>ua+y&&(G[d].textBlock.y=ua+y-G[d].height)));else for(d=0;d<N.length;d++)0==G[d].textBlock.text.length?G[d].isDirty=!0:(a=N[d],b=a.height,c=G[d].height,e=G[d].width,b>=c?(b=d!=fa?(a.x4+a.x3)/2-e/2:(a.x5+a.x4)/2-e/2,c=d!=fa?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,G[d].textBlock.x=b,G[d].textBlock.y=c):G[d].isDirty=!0)}function p(){function a(b,
559
- c){var d;if(0>b||b>=G.length)return 0;var e,f=G[b].textBlock;if(0>c){c*=-1;e=m(b);d=r(e,b);if(d>=c)return f.y-=c,c;if(0==b)return 0<d&&(f.y-=d),d;d+=a(e,-(c-d));0<d&&(f.y-=d);return d}e=q(b);d=r(b,e);if(d>=c)return f.y+=c,c;if(b==N.length-1)return 0<d&&(f.y+=d),d;d+=a(e,c-d);0<d&&(f.y+=d);return d}function b(){var a,d,e,f,g=0,k;f=(ca-Z+2*y)/l;k=l;for(var p,r=1;r<k;r++){e=r*f;for(var h=G.length-1;0<=h;h--)!G[h].isDirty&&(G[h].textBlock.y<e&&G[h].textBlock.y+G[h].height>e)&&(p=q(h),!(p>=G.length-1)&&
560
- G[h].textBlock.y+G[h].height+ga>G[p].textBlock.y&&(G[h].textBlock.y=G[h].textBlock.y+G[h].height-e>e-G[h].textBlock.y?e+1:e-G[h].height-1))}for(p=N.length-1;0<p;p--)if(!G[p].isDirty){e=m(p);if(0>e&&(e=0,G[e].isDirty))break;if(G[p].textBlock.y<G[e].textBlock.y+G[e].height){d=d||p;f=p;for(k=0;G[f].textBlock.y<G[e].textBlock.y+G[e].height+ga;){a=a||G[f].textBlock.y+G[f].height;k+=G[f].height;k+=ga;f=e;if(0>=f){f=0;k+=G[f].height;break}e=m(f);if(0>e){f=0;k+=G[f].height;break}}if(f!=p){g=G[f].textBlock.y;
561
- a-=g;a=k-a;g=c(a,d,f);break}}}return g}function c(a,b,d){var e=[],f=0,g=0;for(a=Math.abs(a);d<=b;d++)e.push(N[d]);e.sort(function(a,b){return a.height-b.height});for(d=0;d<e.length;d++)if(b=e[d],f<a)g++,f+=G[b.id].height+ga,G[b.id].textBlock.text="",G[b.id].indexLabelText="",G[b.id].isDirty=!0,G[b.id].textBlock.measureText();else break;return g}for(var d,e,f,g,k,p,l=1,n=0;n<2*l;n++){for(var h=G.length-1;0<=h&&!(0<=m(h)&&m(h),f=G[h],g=f.textBlock,p=(k=q(h)<N.length?G[q(h)]:null)?k.textBlock:null,d=
562
- +f.height.toFixed(6),e=+g.y.toFixed(6),!f.isDirty&&(k&&e+d+ga>+p.y.toFixed(6))&&(d=g.y+d+ga-p.y,e=a(h,-d),e<d&&(0<e&&(d-=e),e=a(q(h),d),e!=d)));h--);b()}}function r(a,b){return(b<N.length?G[b].textBlock.y:t.reversed?S+y:ua+y)-(0>a?t.reversed?ua-y:S-y:G[a].textBlock.y+G[a].height+ga)}function h(a,b,c){var e,f,g,p=[],l=y,m=[];-1!==b&&(0<=aa.indexOf(b)?(f=aa.indexOf(b),aa.splice(f,1)):(aa.push(b),aa=aa.sort(function(a,b){return a-b})));if(0===aa.length)p=ja;else{f=y*(1!=aa.length||0!=aa[0]&&aa[0]!=N.length-
563
- 1?2:1)/k();for(var r=0;r<N.length;r++){if(1==aa.length&&0==aa[0]){if(0===r){p.push(ja[r]);e=l;continue}}else 0===r&&(e=-1*l);p.push(ja[r]+e);if(0<=aa.indexOf(r)||r<N.length&&0<=aa.indexOf(r+1))e+=f}}g=function(){for(var a=[],b=0;b<N.length;b++)a.push(p[b]-N[b].y1);return a}();var q={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,d){return L.easing.easeOutQuart(a,b,c,d)},changeSection:function(a){for(var b,c,d=0;d<N.length;d++)b=g[d],c=N[d],b*=a,"undefined"===typeof m[d]&&
564
- (m[d]=0),0>m&&(m*=-1),c.y1+=b-m[d],c.y2+=b-m[d],c.y3+=b-m[d],c.y4+=b-m[d],c.y5&&(c.y5+=b-m[d],c.y6+=b-m[d]),m[d]=b}};a._animator.animate(0,c,function(c){var e=a.plotArea.ctx||a.ctx;ia=!0;e.clearRect(w.x1,w.y1,w.x2-w.x1,w.y2-w.y1);e.fillStyle=a.backgroundColor;e.fillRect(w.x1,w.y1,w.width,w.height);q.changeSection(c,b);var f={};f.dataSeries=t;f.dataPoint=t.reversed?t.dataPoints[x.length-1-b]:t.dataPoints[b];f.index=t.reversed?x.length-1-b:b;a.toolTip.highlightObjects([f]);for(f=0;f<N.length;f++)ta(e,
565
- N[f],t.fillOpacity);A(e);I&&("inside"!==t.indexLabelPlacement?n(e):d(),s(e));1<=c&&(ia=!1)},null,L.easing.easeOutQuart)}function k(){for(var a=0,b=0;b<N.length-1;b++)(0<=aa.indexOf(b)||0<=aa.indexOf(b+1))&&a++;return a}function n(a){for(var b,c,d,e,g=0;g<N.length;g++)e=1===G[g].lineThickness%2?0.5:0,c=((N[g].y2+N[g].y4)/2<<0)+e,b=f(c).x2-1,isNaN(b)&&(Math.round(N[g].x1)===Math.round(N[g].x4)&&Math.round(N[g].x2)===Math.round(N[g].x3))&&(b=N[g].x2),d=G[g].textBlock.x,e=(G[g].textBlock.y+G[g].height/
566
- 2<<0)+e,G[g].isDirty||0==G[g].lineThickness||(a.strokeStyle=G[g].lineColor,a.lineWidth=G[g].lineThickness,a.setLineDash&&a.setLineDash(H(G[g].lineDashType,G[g].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(d,e),a.stroke())}function m(a){for(a-=1;-1<=a&&-1!=a&&G[a].isDirty;a--);return a}function q(a){for(a+=1;a<=N.length&&a!=N.length&&G[a].isDirty;a++);return a}function f(a){for(var b,c=0;c<x.length;c++)if(N[c].y1<a&&N[c].y4>a){b=N[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*
567
- (a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function s(a){for(var b=0;b<N.length;b++)G[b].isDirty||(a&&(G[b].textBlock.ctx=a),G[b].textBlock.y+=G[b].textBlock._lineHeight/2,G[b].textBlock.render(!0),G[b].textBlock.y-=G[b].textBlock._lineHeight/2)}function A(a){u.plotArea.layoutManager.reset();a.roundRect||Ba(a);u.title&&(u.title.dockInsidePlotArea||"center"===u.title.horizontalAlign&&"center"===u.title.verticalAlign)&&(u.title.ctx=a,u.title.render());
568
- if(u.subtitles)for(var b=0;b<u.subtitles.length;b++){var c=u.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)u.subtitles.ctx=a,c.render()}u.legend&&(u.legend.dockInsidePlotArea||"center"===u.legend.horizontalAlign&&"center"===u.legend.verticalAlign)&&(u.legend.ctx=a,u.legend.setLayout(),u.legend.render());V.fNg&&V.fNg(u)}var u=this;if(!(0>=a.dataSeriesIndexes.length)){for(var t=this.data[a.dataSeriesIndexes[0]],x=t.dataPoints,w=this.plotArea,y=0.025*
569
- w.width,z=0.01*w.width,D=0,F=w.height-2*y-4,J=Math.min(w.width-2*z,2.8*w.height),I=!1,M=0;M<x.length;M++)if(!I&&("undefined"!==typeof x[M].indexLabel&&null!==x[M].indexLabel&&0<x[M].indexLabel.toString().length)&&(I=!0),!I&&("undefined"!==typeof x[M].label&&null!==x[M].label&&0<x[M].label.toString().length)&&(I=!0),!I&&"function"===typeof t.indexLabelFormatter||"function"===typeof x[M].indexLabelFormatter)I=!0;I=I||"undefined"!==typeof t.indexLabel&&null!==t.indexLabel&&0<t.indexLabel.toString().length;
570
- "inside"!==t.indexLabelPlacement&&I||(z=(w.width-0.75*J)/2);var M=w.x1+z,O=w.x2-z,Z=w.y1+y+2,ca=w.y2-y-2,R=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=t.length&&(t.dataPoints&&t.visible)&&0!==x.length){var ea,E;a=75*J/100;var W=30*(O-a)/100;"funnel"===t.type?(ea=l(t.options.neckHeight)?0.35*F:t.neckHeight,E=l(t.options.neckWidth)?0.25*a:t.neckWidth,"string"===typeof ea&&ea.match(/%$/)?(ea=parseInt(ea),ea=ea*F/100):ea=parseInt(ea),"string"===typeof E&&E.match(/%$/)?(E=parseInt(E),E=E*a/100):
571
- E=parseInt(E),ea>F?ea=F:0>=ea&&(ea=0),E>a?E=a-0.5:0>=E&&(E=0)):"pyramid"===t.type&&(E=ea=0,t.reversed=t.reversed?!1:!0);var z=M+a/2,U=M,T=M+a,S=t.reversed?ca:Z,$=z-E/2,X=z+E/2,ya=t.reversed?Z+ea:ca-ea,ua=t.reversed?Z:ca;E=t.valueRepresents=t.valueRepresents?t.valueRepresents:"height";M=[];a=[];var N=[],z=[],Q=Z,fa,Y=(ya-S)/($-U),ha=-Y,J="area"===E?c():g();if(-1!==J){if(t.reversed)for(z.push(Q),E=J.length-1;0<E;E--)Q+=J[E],z.push(Math.round(Q));else for(E=0;E<J.length;E++)Q+=J[E],z.push(Math.round(Q));
572
- if(t.reversed)for(E=0;E<J.length;E++)z[E]<ya?(M.push($),a.push(X),fa=E):(M.push((z[E]-S+Y*U)/Y),a.push((z[E]-S+ha*T)/ha));else for(E=0;E<J.length;E++)z[E]<ya?(M.push((z[E]-S+Y*U)/Y),a.push((z[E]-S+ha*T)/ha),fa=E):(M.push($),a.push(X));for(E=0;E<J.length-1;E++)Q=t.reversed?x[x.length-1-E].color?x[x.length-1-E].color:t._colorSet[(x.length-1-E)%t._colorSet.length]:x[E].color?x[E].color:t._colorSet[E%t._colorSet.length],E===fa?N.push({x1:M[E],y1:z[E],x2:a[E],y2:z[E],x3:X,y3:ya,x4:a[E+1],y4:z[E+1],x5:M[E+
573
- 1],y5:z[E+1],x6:$,y6:ya,id:E,height:z[E+1]-z[E],color:Q}):N.push({x1:M[E],y1:z[E],x2:a[E],y2:z[E],x3:a[E+1],y3:z[E+1],x4:M[E+1],y4:z[E+1],id:E,height:z[E+1]-z[E],color:Q}),t.dataPointEOs[E]&&N[E]&&(t.dataPointEOs[E].sectionsofFunnel=N[E]);var ga=2,G=[],ia=!1,aa=[],ja=[],M=!1;a=a=0;Fa(aa);for(E=0;E<x.length;E++)x[E].exploded&&(M=!0,t.reversed?aa.push(x.length-1-E):aa.push(E));R.clearRect(w.x1,w.y1,w.width,w.height);R.fillStyle=u.backgroundColor;R.fillRect(w.x1,w.y1,w.width,w.height);if(I&&t.visible&&
574
- (b(),d(),"inside"!==t.indexLabelPlacement)){e();p();for(E=0;E<x.length;E++)G[E].isDirty||(a=G[E].textBlock.x+G[E].width,a=(O-a)/2,0==E&&(D=a),D>a&&(D=a));for(E=0;E<N.length;E++)N[E].x1+=D,N[E].x2+=D,N[E].x3+=D,N[E].x4+=D,N[E].x5&&(N[E].x5+=D,N[E].x6+=D),G[E].textBlock.x+=D}for(E=0;E<N.length;E++)D=N[E],ta(R,D,t.fillOpacity),ja.push(D.y1);A(R);I&&t.visible&&("inside"===t.indexLabelPlacement||u.animationEnabled||n(R),u.animationEnabled||s());if(!I)for(E=0;E<x.length;E++)D=t.dataPointIds[E],a={id:D,
575
- objectType:"dataPoint",dataPointIndex:E,dataSeriesIndex:0,funnelSection:N[t.reversed?x.length-1-E:E]},u._eventManager.objectMap[D]=a;!u.animationEnabled&&M?h(u,-1,0):u.animationEnabled&&!u.animatedRender&&h(u,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!ia&&!u.isAnimating&&(l(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=t.reversed?x.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===t.type||"pyramid"===t.type)t.reversed?x[x.length-1-a].exploded=
576
- x[x.length-1-a].exploded?!1:!0:x[a].exploded=x[a].exploded?!1:!0;h(u,b,500)}};return{source:R,dest:this.plotArea.ctx,animationCallback:function(a,b){L.fadeInAnimation(a,b);1<=a&&(h(u,-1,500),A(u.plotArea.ctx||u.ctx))},easingFunction:L.easing.easeInQuad,animationBase:0}}}}};u.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,
577
- 1E3/60)}}();u.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;u.prototype.set=function(a,g,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=g,c&&this.render()):u.base.set.call(this,a,g,c)};u.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var g=a.format?a.format:"png",c=a.fileName?a.fileName:
578
- this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+g);var b=this.canvas;if(b&&g&&c){c=c+"."+g;a="image/"+g;var b=b.toDataURL(a),e=!1,d=document.createElement("a");d.download=c;d.href=b;if("undefined"!==typeof Blob&&new Blob){for(var p=b.replace(/^data:[a-z\/]*;base64,/,""),p=atob(p),l=new ArrayBuffer(p.length),l=new Uint8Array(l),h=0;h<p.length;h++)l[h]=p.charCodeAt(h);g=new Blob([l.buffer],{type:"image/"+g});try{window.navigator.msSaveBlob(g,c),e=!0}catch(k){d.dataset.downloadurl=
579
- [a,d.download,d.href].join(":"),d.href=window.URL.createObjectURL(g)}}if(!e)try{event=document.createEvent("MouseEvents"),event.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),d.dispatchEvent?d.dispatchEvent(event):d.fireEvent&&d.fireEvent("onclick")}catch(n){g=window.open(),g.document.write("<img src='"+b+"'></img><div>Please right click on the image and save it to your device</div>"),g.document.close()}}};u.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),g=document.createElement("iframe");
580
- g.setAttribute("class","canvasjs-chart-print-frame");R(g,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});g.style.height=this.height+"px";this._canvasJSContainer.appendChild(g);var c=this,b=g.contentWindow||g.contentDocument.document||g.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding=
581
- "0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(g)},1E3)},500)};u.prototype.getPercentAndTotal=function(a,g){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=g.x.getTime?g.x.getTime():g.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(g.y)?0:0===c?0:100*(g.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||
582
- (b+=a.dataPoints[c].y);e=isNaN(g.y)?0:100*(g.y/b)}return{percent:e,total:b}};u.prototype.replaceKeywordsWithValue=function(a,g,c,b,e){var d=this;e="undefined"===typeof e?0:e;if((0<=c.type.indexOf("stacked")||"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var p="#percent",l="#total",h=this.getPercentAndTotal(c,g),l=isNaN(h.total)?l:h.total,p=isNaN(h.percent)?p:h.percent;do{h="";if(c.percentFormatString)h=c.percentFormatString;
583
- else{var h="#,##0.",k=Math.max(Math.ceil(Math.log(1/Math.abs(p))/Math.LN10),2);if(isNaN(k)||!isFinite(k))k=2;for(var n=0;n<k;n++)h+="#";c.percentFormatString=h}a=a.replace("#percent",ha(p,h,d._cultureInfo));a=a.replace("#total",ha(l,c.yValueFormatString?c.yValueFormatString:"#,##0.########",d._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,
584
- a.length-1);a=Ia(a.slice(1,a.length-1));a=a.replace("#index",e);var k=null;try{var f=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);f&&0<f.length&&(k=Ia(f[2]),a=Ia(f[1]))}catch(p){}f=null;if("color"===a)return"waterfall"===c.type?g.color?g.color:0<g.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[k%c._colorSet.length]:g.color?g.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(g.hasOwnProperty(a))f=g;else if(c.hasOwnProperty(a))f=c;else return"";f=f[a];null!==k&&(f=f[k]);
585
- return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||g.x&&g.x.getTime)&&!c.axisX.logarithmic?Ea(f,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=d.axisX&&d.axisX.autoValueFormatString?d.axisX.autoValueFormatString:"DD MMM YY",d._cultureInfo):ha(f,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",d._cultureInfo):"y"===a?ha(f,g.yValueFormatString?
586
- g.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString=c.axisY&&c.axisY.logarithmic&&"number"===typeof f&&0<f&&(1E-7>Math.abs(f)||1E7<Math.abs(f))?"0.##E+0":"#,##0.########",d._cultureInfo):"z"===a?ha(f,g.zValueFormatString?g.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",d._cultureInfo):f})};ra(D,S);D.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,g=a.layoutManager.getFreeSpace(),
587
- c=null,b=0,e=0,d=0,p=0,h=this.markerMargin=this.chart.options.legend&&!l(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var v=[],k=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,d=this.maxWidth=null!==this.maxWidth?this.maxWidth:g.width,p=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*g.height;else if("center"===this.verticalAlign){this.orientation="vertical";
588
- if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;d=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*g.width;p=this.maxHeight=null!==this.maxHeight?this.maxHeight:g.height}this.errorMarkerColor=[];for(var n=0;n<this.dataSeries.length;n++){var m=this.dataSeries[n];if(m.dataPoints&&m.dataPoints.length){if("pie"!==m.type&&"doughnut"!==m.type&&"funnel"!==m.type&&"pyramid"!==m.type){var q=m.legendMarkerType=m.legendMarkerType?m.legendMarkerType:
589
- "line"!==m.type&&"stepLine"!==m.type&&"spline"!==m.type&&"scatter"!==m.type&&"bubble"!==m.type||!m.markerType?"error"===m.type&&m._linkedSeries?m._linkedSeries.legendMarkerType?m._linkedSeries.legendMarkerType:T.getDefaultLegendMarker(m._linkedSeries.type):T.getDefaultLegendMarker(m.type):m.markerType,f=m.legendText?m.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:m,dataPoint:null}):m.name,s=m.legendMarkerColor=m.legendMarkerColor?m.legendMarkerColor:
590
- m.markerColor?m.markerColor:"error"===m.type?l(m.whiskerColor)?m._colorSet[0]:m.whiskerColor:m._colorSet[0],A=m.markerSize||"line"!==m.type&&"stepLine"!==m.type&&"spline"!==m.type?0.75*this.lineHeight:0,u=m.legendMarkerBorderColor?m.legendMarkerBorderColor:m.markerBorderColor,t=m.legendMarkerBorderThickness?m.legendMarkerBorderThickness:m.markerBorderThickness?Math.max(1,Math.round(0.2*A)):0;"error"===m.type&&this.errorMarkerColor.push(s);f=m.legendText=this.chart.replaceKeywordsWithValue(f,m.dataPoints[0],
591
- m,n);q={markerType:q,markerColor:s,text:f,textBlock:null,chartType:m.type,markerSize:A,lineColor:m._colorSet[0],dataSeriesIndex:m.index,dataPointIndex:null,markerBorderColor:u,markerBorderThickness:t};v.push(q)}else{l(m.options.legendText)&&(m.legendText=m.options.legendText);for(var x=0;x<m.dataPoints.length;x++){var w=m.dataPoints[x],q=w.legendMarkerType?w.legendMarkerType:m.legendMarkerType?m.legendMarkerType:T.getDefaultLegendMarker(m.type),f=w.legendText?w.legendText:w.name?w.name:m.legendText?
592
- m.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:m,dataPoint:w}):w.name?w.name:"DataPoint: "+(x+1),s=w.legendMarkerColor?w.legendMarkerColor:m.legendMarkerColor?m.legendMarkerColor:w.color?w.color:m.color?m.color:m._colorSet[x%m._colorSet.length],A=0.75*this.lineHeight,u=w.legendMarkerBorderColor?w.legendMarkerBorderColor:m.legendMarkerBorderColor?m.legendMarkerBorderColor:w.markerBorderColor?w.markerBorderColor:m.markerBorderColor,t=w.legendMarkerBorderThickness?
593
- w.legendMarkerBorderThickness:m.legendMarkerBorderThickness?m.legendMarkerBorderThickness:w.markerBorderThickness||m.markerBorderThickness?Math.max(1,Math.round(0.2*A)):0,f=this.chart.replaceKeywordsWithValue(f,w,m,x),q={markerType:q,markerColor:s,text:f,textBlock:null,chartType:m.type,markerSize:A,dataSeriesIndex:n,dataPointIndex:x,markerBorderColor:u,markerBorderThickness:t};(w.showInLegend||m.showInLegend&&!1!==w.showInLegend)&&v.push(q)}}l(m.legendText)&&(m.legendText=m.name)}}!0===this.reversed&&
594
- v.reverse();if(0<v.length){m=null;f=w=x=0;w=null!==this.itemWidth?null!==this.itemMaxWidth?this.itemWidth=Math.min(this.itemWidth,this.itemMaxWidth,d):this.itemMaxWidth=Math.min(this.itemWidth,d):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,d):this.itemMaxWidth=d;A=0===A?0.75*this.lineHeight:A;w-=A+h;for(n=0;n<v.length;n++){q=v[n];s=w;if("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType)s-=2*0.1*this.lineHeight;if(!(0>=p||"undefined"===typeof p||0>=s||"undefined"===typeof s))if("horizontal"===
595
- this.orientation){q.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:s,maxHeight:this.itemWrap?p:this.lineHeight,angle:0,text:q.text,textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});q.textBlock.measureText();null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(A+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!m||
596
- m.width+Math.round(q.textBlock.width+A+h+(0===m.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>d)m={items:[],width:0},k.push(m),this.height+=f,f=0;f=Math.max(f,q.textBlock.height?q.textBlock.height:this.lineHeight);q.textBlock.x=m.width;q.textBlock.y=0;m.width+=Math.round(q.textBlock.width+A+h+(0===m.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:
597
- 0));m.items.push(q);this.width=Math.max(m.width,this.width)}else q.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:w,maxHeight:!0===this.itemWrap?p:1.5*this.fontSize,angle:0,text:q.text,textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"}),q.textBlock.measureText(),null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(A+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===
598
- q.chartType?2*0.1*this.lineHeight:0))),this.height<p-this.lineHeight?(m={items:[],width:0},k.push(m)):(m=k[x],x=(x+1)%k.length),m&&(this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight,q.textBlock.x=m.width,q.textBlock.y=0,m.width+=Math.round(q.textBlock.width+A+h+(0===m.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)),m.items.push(q),this.width=Math.max(m.width,this.width))}this.height=!1===this.itemWrap?
599
- k.length*this.lineHeight:this.height+f;this.height=Math.min(p,this.height)>=this.lineHeight?Math.min(p,this.height):0;this.width=Math.min(d,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width-2:g.x1+g.width/2-this.width/2,b=g.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width-2:g.x1+g.width/2-this.width/2,b=g.y1+g.height/2-this.height/2):"bottom"===this.verticalAlign&&
600
- (e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width-2:g.x1+g.width/2-this.width/2,b=g.y2-this.height);this.items=v;for(n=0;n<this.items.length;n++)q=v[n],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]={id:q.id,objectType:"legendItem",legendItemIndex:n,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=A;this.rows=k;0<v.length&&0<this.height&&a.layoutManager.registerSpace(c,{width:this.width+2+2,
601
- height:this.height+5+5});this.bounds={x1:e,y1:b,x2:e+this.width,y2:b+this.height}};D.prototype.render=function(){var a=this.bounds.x1,g=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,d=this.markerSize,p=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,g,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);for(var l=0,h=0;h<p.length;h++){for(var k=p[h],n=0,m=0;m<k.items.length;m++){var q=
602
- k.items[m],f=q.textBlock.x+a+(0===m?0.2*d:this.horizontalSpacing),v=g+l,s=f;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,g,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)this.ctx.strokeStyle=q.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),this.ctx.moveTo(f-0.1*this.lineHeight,v+this.lineHeight/2),this.ctx.lineTo(f+
603
- 0.85*this.lineHeight,v+this.lineHeight/2),this.ctx.stroke(),s-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=d/8;this.ctx.beginPath();var u=f-0.08*this.lineHeight+0.1*this.lineHeight,t=v+0.15*this.lineHeight,x=0.7*this.lineHeight,w=x+0.02*this.lineHeight;this.ctx.moveTo(u,t);this.ctx.lineTo(u+x,t);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(u+x/2,t);this.ctx.lineTo(u+x/2,t+w);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(u,
604
- t+w);this.ctx.lineTo(u+x,t+w);this.ctx.stroke();this.errorMarkerColor.shift()}X.drawMarker(f+d/2,v+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=f+c+d;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;q.textBlock.y=Math.round(v+this.lineHeight/2);q.textBlock.render(!0);this.ctx.restore();
605
- n=0<m?Math.max(n,q.textBlock.height?q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);f=W(q.id);this.ghostCtx.fillStyle=f;this.ghostCtx.beginPath();this.ghostCtx.fillRect(s,q.textBlock.y-this.lineHeight/2,q.textBlock.x+q.textBlock.width-s,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=s;q.y1=this.chart._eventManager.objectMap[q.id].y1=
606
- q.textBlock.y-this.lineHeight/2;q.x2=this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}l+=n}};ra(T,S);T.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===a||"stackedLine"===a||"bubble"===a||"scatter"===a||
607
- "stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};T.getDefaultLegendMarker=function(a){if("column"===
608
- a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===a||"stackedArea"===a||"stackedArea100"===a||
609
- "funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};T.prototype.getDataPointAtX=function(a,g,c){if(!this.dataPoints||0===this.dataPoints.length)return null;var b={dataPoint:null,distance:Infinity,index:NaN},e=null,d=0,p=0,h=1,v=Infinity,k=0,n=0,m=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(m=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),m=1<m?Math.min(Math.max((this.dataPoints.length-
610
- 1)/m*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(m=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<m?Math.min(Math.max((this.dataPoints.length-1)/m*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){p=0<h?m+d:m-d;if(0<=p&&p<this.dataPoints.length){var e=this.dataPoints[p],q=this.axisX&&this.axisX.logarithmic?e.x>a?e.x/a:a/e.x:Math.abs(e.x-a);q<b.distance&&(l(c)||c&&!l(e.y))&&(b.dataPoint=e,b.distance=q,b.index=p);e=q;e<=v?v=e:0<h?k++:n++;
611
- if(1E3<k&&1E3<n)break}else if(0>m-d&&m+d>=this.dataPoints.length)break;-1===h?(d++,h=1):h=-1}return g||(b.dataPoint.x.getTime?b.dataPoint.x.getTime():b.dataPoint.x)!==(a.getTime?a.getTime():a)?g&&null!==b.dataPoint?b:null:b};T.prototype.getDataPointAtXY=function(a,g,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||g<this.chart.plotArea.y1||g>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,d=0,p=1,h=!1,v=Infinity,k=0,n=0,m=0;if("none"!==
612
- this.chart.plotInfo.axisPlacement)if(m=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:g}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),m=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(m/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else q=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<q?Math.min(Math.max((this.dataPoints.length-1)/q*(m-this.dataPoints[0].x)>>0,0),
613
- this.dataPoints.length):0;for(;;){d=0<p?m+e:m-e;if(0<=d&&d<this.dataPoints.length){var q=this.chart._eventManager.objectMap[this.dataPointIds[d]],f=this.dataPoints[d],s=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=q.x1&&(a<=q.x2&&g>=q.y1&&g<=q.y2)&&(b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-
614
- a),Math.abs(q.y1-g),Math.abs(q.y2-g))}),h=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var A=la("markerSize",f,this)||4,u=c?20:A,s=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-g,2));s<=u&&b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:s});q=Math.abs(q.x1-a);q<=v?v=q:0<p?k++:n++;s<=A/2&&(h=!0);break;case "rangeArea":case "rangeSplineArea":A=la("markerSize",f,this)||4;u=c?20:A;s=
615
- Math.min(Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-g,2)),Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y2-g,2)));s<=u&&b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:s});q=Math.abs(q.x1-a);q<=v?v=q:0<p?k++:n++;s<=A/2&&(h=!0);break;case "bubble":A=q.size;s=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-g,2));s<=A/2&&(b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:s}),h=!0);break;case "pie":case "doughnut":A=q.center;u="doughnut"===this.type?q.percentInnerRadius*q.radius:0;s=Math.sqrt(Math.pow(A.x-
616
- a,2)+Math.pow(A.y-g,2));s<q.radius&&s>u&&(s=Math.atan2(g-A.y,a-A.x),0>s&&(s+=2*Math.PI),s=Number(((180*(s/Math.PI)%360+360)%360).toFixed(12)),A=Number(((180*(q.startAngle/Math.PI)%360+360)%360).toFixed(12)),u=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===u&&1<q.endAngle&&(u=360),A>=u&&(0!==f.y&&!l(f.y))&&(u+=360,s<A&&(s+=360)),s>A&&s<u&&(b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:0}),h=!0));break;case "funnel":case "pyramid":s=q.funnelSection;g>=s.y1&&g<s.y4&&
617
- (s.y6?g>=s.y6?(d=s.x6+(s.x5-s.x6)/(s.y5-s.y6)*(g-s.y6),s=s.x3+(s.x4-s.x3)/(s.y4-s.y3)*(g-s.y3)):(d=s.x1+(s.x6-s.x1)/(s.y6-s.y1)*(g-s.y1),s=s.x2+(s.x3-s.x2)/(s.y3-s.y2)*(g-s.y2)):(d=s.x1+(s.x4-s.x1)/(s.y4-s.y1)*(g-s.y1),s=s.x2+(s.x3-s.x2)/(s.y3-s.y2)*(g-s.y2)),a>d&&a<s&&(b.push({dataPoint:f,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),h=!0));break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&g>=q.y4-q.borderThickness/2&&g<=q.y1+q.borderThickness/
618
- 2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&g>=q.y1&&g<=q.y4)b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-g),Math.abs(q.y3-g))}),h=!0;break;case "candlestick":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&g>=q.y2-q.borderThickness/2&&g<=q.y3+q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&g>=q.y1&&g<=q.y4)b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),
619
- Math.abs(q.x2-a),Math.abs(q.y2-g),Math.abs(q.y3-g))}),h=!0;break;case "ohlc":if(Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&g>=q.y2&&g<=q.y3||a>=q.x1&&a<=(q.x2+q.x1)/2&&g>=q.y1-q.borderThickness/2&&g<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&g>=q.y4-q.borderThickness/2&&g<=q.y4+q.borderThickness/2)b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-g),Math.abs(q.y3-g))}),h=!0}if(h||1E3<k&&1E3<n)break}}else if(0>m-e&&m+e>=
620
- this.dataPoints.length)break;-1===p?(e++,p=1):p=-1}a=null;for(g=0;g<b.length;g++)a?b[g].distance<=a.distance&&(a=b[g]):a=b[g];return a};T.prototype.getMarkerProperties=function(a,g,c,b){var e=this.dataPoints,d=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],p=e[a].markerBorderColor?e[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,h=l(e[a].markerBorderThickness)?this.markerBorderThickness?
290
+ {chart:this,axis:this.axisY[d].options},this.axisY[d].crosshair));for(d=0;d<this.axisY2.length;d++)this.axisY2[d].crosshair&&this.axisY2[d].crosshair.enabled&&(this.axisY2[d].crosshair.hide(),this.axisY2[d].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[d].options},this.axisY2[d].crosshair))}this.sessionVariables.mouseX=c.x;this.sessionVariables.mouseY=c.y;this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a);if(("mouseout"===b||"mouseleave"===
291
+ b)&&this._eventManager){for(d=0;d<this._eventManager.mouseoveredObjectMaps.length;d++)this._eventManager.fireEvent(this._eventManager.mouseoveredObjectMaps[d],"mouseout",a);this._eventManager.mouseoveredObjectMaps=[]}}}};u.prototype._plotAreaMouseDown=function(a,g){this.isDrag=!0;this.dragStartPoint={x:a,y:g}};u.prototype._plotAreaMouseUp=function(a,g){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=g-this.dragStartPoint.y,b=a-this.dragStartPoint.x,
292
+ e=0<=this.zoomType.indexOf("x"),d=0<=this.zoomType.indexOf("y"),p=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var r=d,d=e,e=r;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=d=0;e<this._axes.length;e++)c=this._axes[e],c.logarithmic?c.viewportMinimum<c.minimum?(d=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*d,c.sessionVariables.newViewportMaximum=c.viewportMaximum*d,p=!0):c.viewportMaximum>c.maximum&&(d=c.viewportMaximum/
293
+ c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/d,c.sessionVariables.newViewportMaximum=c.viewportMaximum/d,p=!0):c.viewportMinimum<c.minimum?(d=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum+d,c.sessionVariables.newViewportMaximum=c.viewportMaximum+d,p=!0):c.viewportMaximum>c.maximum&&(d=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-d,c.sessionVariables.newViewportMaximum=c.viewportMaximum-d,p=!0);else if((!e||
294
+ 2<Math.abs(b))&&(!d||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=e?this.dragStartPoint.x:this.plotArea.x1;b=d?this.dragStartPoint.y:this.plotArea.y1;e=e?a:this.plotArea.x2;d=d?g:this.plotArea.y2;2<Math.abs(c-e)&&2<Math.abs(b-d)&&this._zoomPanToSelectedRegion(c,b,e,d,"xy"!==this.zoomType&&"y"!==this.zoomType)&&(p=!0)}p&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter=
295
+ {stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type="rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.rangeUpdatedBy="chart",this.stockChart._rangeEventParameter.type=
296
+ "rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),p&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Na(this._zoomButton,this._resetButton),va(this,this._zoomButton,"pan"),va(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(p=0;p<this.axisX.length;p++)this.axisX[p].crosshair&&this.axisX[p].crosshair.enabled&&this.axisX[p].renderCrosshair(a,
297
+ g);if(this.axisX2&&0<this.axisX2.length)for(p=0;p<this.axisX2.length;p++)this.axisX2[p].crosshair&&this.axisX2[p].crosshair.enabled&&this.axisX2[p].renderCrosshair(a,g);if(this.axisY&&0<this.axisY.length)for(p=0;p<this.axisY.length;p++)this.axisY[p].crosshair&&this.axisY[p].crosshair.enabled&&this.axisY[p].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(p=0;p<this.axisY2.length;p++)this.axisY2[p].crosshair&&this.axisY2[p].crosshair.enabled&&this.axisY2[p].renderCrosshair(a,g);if(this.axisX&&
298
+ 0<this.axisX.length)for(p=0;p<this.axisX.length;p++)this.axisX[p].crosshair&&this.axisX[p].crosshair.enabled&&this.axisX[p].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(p=0;p<this.axisX2.length;p++)this.axisX2[p].crosshair&&this.axisX2[p].crosshair.enabled&&this.axisX2[p].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(p=0;p<this.axisY.length;p++)this.axisY[p].crosshair&&this.axisY[p].crosshair.enabled&&this.axisY[p].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(p=
299
+ 0;p<this.axisY2.length;p++)this.axisY2[p].crosshair&&this.axisY2[p].crosshair.enabled&&this.axisY2[p].crosshair.renderLabel()}};u.prototype._plotAreaMouseMove=function(a,g){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,e=c=null,e=0<=this.zoomType.indexOf("x"),d=0<=this.zoomType.indexOf("y"),p=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=d,d=e,e=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-g;if(2<Math.abs(c)&&8>Math.abs(c)&&(this.panEnabled||this.zoomEnabled)){this.toolTip.hide();
300
+ this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&(this.axisX[r].crosshair.hide(),this.axisX[r].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[r].options},this.axisX[r].crosshair));for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&(this.axisX2[r].crosshair.hide(),this.axisX2[r].crosshair.dispatchEvent("hidden",
301
+ {chart:this,axis:this.axisX2[r].options},this.axisX2[r].crosshair));for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&(this.axisY[r].crosshair.hide(),this.axisY[r].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[r].options},this.axisY[r].crosshair));for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&(this.axisY2[r].crosshair.hide(),this.axisY2[r].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[r].options},
302
+ this.axisY2[r].crosshair))}else if(!this.panEnabled&&!this.zoomEnabled&&(this.toolTip.mouseMoveHandler(a,g),"none"!==this.plotInfo.axisPlacement)){this.sessionVariables._dataHighlighted||this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&(this.axisX[r].sessionVariables.crosshairShownByPixel=!0,this.axisX[r].renderCrosshair(a,g));if(this.axisX2&&0<this.axisX2.length)for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&
303
+ this.axisX2[r].crosshair.enabled&&(this.axisX2[r].sessionVariables.crosshairShownByPixel=!0,this.axisX2[r].renderCrosshair(a,g));if(this.axisY&&0<this.axisY.length)for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&(this.axisY[r].sessionVariables.crosshairShownByPixel=!0,this.axisY[r].renderCrosshair(a,g));if(this.axisY2&&0<this.axisY2.length)for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&(this.axisY2[r].sessionVariables.crosshairShownByPixel=
304
+ !0,this.axisY2[r].renderCrosshair(a,g));if(this.axisX&&0<this.axisX.length)for(r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&this.axisX[r].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&this.axisX2[r].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&this.axisY[r].crosshair.renderLabel();
305
+ if(this.axisY2&&0<this.axisY2.length)for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&this.axisY2[r].crosshair.renderLabel()}if((!e||2<Math.abs(c)||!d||2<Math.abs(b))&&(this.panEnabled||this.zoomEnabled))if(this.panEnabled)e={x1:e?this.plotArea.x1+c:this.plotArea.x1,y1:d?this.plotArea.y1+b:this.plotArea.y1,x2:e?this.plotArea.x2+c:this.plotArea.x2,y2:d?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(p._panTimerId),p._panTimerId=setTimeout(function(b,c,
306
+ e,f){return function(){if(p._zoomPanToSelectedRegion(b,c,e,f,!0)){p.sessionVariables.disableToolTip=!0;p.resetOverlayedCanvas();p._dispatchRangeEvent("rangeChanging","pan");p.stockChart&&(p.stockChart._rangeEventParameter.type="rangeChanging",p.stockChart.dispatchEvent("rangeChanging",p.stockChart._rangeEventParameter,p.stockChart));p.render();p._dispatchRangeEvent("rangeChanged","pan");if(p.stockChart){var d=p.stockChart.rangeSelector.sessionVariables,k=p.stockChart.rangeSelector.buttons;k&&(0<k.length&&
307
+ (k[d._clickedRangeButtonIndex]&&"ytd"===k[d._clickedRangeButtonIndex].rangeType||k[d.selectedRangeButtonIndex]&&"ytd"===k[d.selectedRangeButtonIndex].rangeType))&&(p.stockChart.rangeUpdatedBy="navigator",p.stockChart.rangeSelector.resetRangeButtons());p.stockChart._rangeEventParameter.type="rangeChanged";p.stockChart.dispatchEvent("rangeChanged",p.stockChart._rangeEventParameter,p.stockChart)}p.dragStartPoint.x=a;p.dragStartPoint.y=g;p.sessionVariables.disableToolTip=p.disableToolTip=!1}}}(e.x1,e.y1,
308
+ e.x2,e.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=e?this.dragStartPoint.x:this.plotArea.x1,r=d?this.dragStartPoint.y:this.plotArea.y1,l=e?a-this.dragStartPoint.x:this.plotArea.x2-this.plotArea.x1,k=d?g-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,r,e?a:this.plotArea.x2-this.plotArea.x1,d?g:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType&&"y"!==this.zoomType).isValid&&
309
+ (this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=0.7;this.overlaidCanvasCtx.fillRect(b,r,l,k);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,g),"none"!==this.plotInfo.axisPlacement){this.sessionVariables._dataHighlighted||this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&(this.axisX[r].sessionVariables.crosshairShownByPixel=
310
+ !0,this.axisX[r].renderCrosshair(a,g));if(this.axisX2&&0<this.axisX2.length)for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&(this.axisX2[r].sessionVariables.crosshairShownByPixel=!0,this.axisX2[r].renderCrosshair(a,g));if(this.axisY&&0<this.axisY.length)for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&(this.axisY[r].sessionVariables.crosshairShownByPixel=!0,this.axisY[r].renderCrosshair(a,g));if(this.axisY2&&0<this.axisY2.length)for(r=
311
+ 0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&(this.axisY2[r].sessionVariables.crosshairShownByPixel=!0,this.axisY2[r].renderCrosshair(a,g));if(this.axisX&&0<this.axisX.length)for(r=0;r<this.axisX.length;r++)this.axisX[r].crosshair&&this.axisX[r].crosshair.enabled&&this.axisX[r].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(r=0;r<this.axisX2.length;r++)this.axisX2[r].crosshair&&this.axisX2[r].crosshair.enabled&&this.axisX2[r].crosshair.renderLabel();
312
+ if(this.axisY&&0<this.axisY.length)for(r=0;r<this.axisY.length;r++)this.axisY[r].crosshair&&this.axisY[r].crosshair.enabled&&this.axisY[r].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(r=0;r<this.axisY2.length;r++)this.axisY2[r].crosshair&&this.axisY2[r].crosshair.enabled&&this.axisY2[r].crosshair.renderLabel()}};u.prototype._zoomPanToSelectedRegion=function(a,g,c,b,e){a=this.validateRegion(a,g,c,b,e);g=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<g.length;b++){e=
313
+ g[b];var d=c[b];e.setViewPortRange(d.val1,d.val2);this.syncCharts&&("axisX"===e.type&&"y"!=this.zoomType)&&this.syncCharts(d.val1,d.val2);this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:d.val1,maximum:d.val2})}return a.isValid};u.prototype.validateRegion=function(a,g,c,b,e){e=e||!1;for(var d=0<=this.zoomType.indexOf("x"),p=0<=this.zoomType.indexOf("y"),r=!1,l=[],k=[],n=[],m=0;m<this._axes.length;m++)("axisX"===
314
+ this._axes[m].type&&d||"axisY"===this._axes[m].type&&p)&&k.push(this._axes[m]);for(p=0;p<k.length;p++){var m=k[p],d=!1,q=m.convertPixelToValue({x:a,y:g}),f=m.convertPixelToValue({x:c,y:b});if(q>f)var h=f,f=q,q=h;if(m.scaleBreaks)for(h=0;!d&&h<m.scaleBreaks._appliedBreaks.length;h++)d=m.scaleBreaks._appliedBreaks[h].startValue<=q&&m.scaleBreaks._appliedBreaks[h].endValue>=f;if(isFinite(m.dataInfo.minDiff))if(h=m.getApparentDifference(q,f,null,!0),!(d||!(this.panEnabled&&m.scaleBreaks&&m.scaleBreaks._appliedBreaks.length)&&
315
+ (m.logarithmic&&h<Math.pow(m.dataInfo.minDiff,3)||!m.logarithmic&&h<3*Math.abs(m.dataInfo.minDiff))||q<m.minimum||f>m.maximum))l.push(m),n.push({val1:q,val2:f}),r=!0;else if(!e){r=!1;break}}return{isValid:r,axesWithValidRange:l,axesRanges:n}};u.prototype.preparePlotArea=function(){var a=this.plotArea;!v&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var g=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;
316
+ if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=g.x1<c.lineCoordinates.x2?g.x1:c.lineCoordinates.x1;a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1;a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2;a.y2=g.y1>c.lineCoordinates.y2?g.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],a.x1=g.x1<c.lineCoordinates.x2?g.x1:c.lineCoordinates.x1,a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1,
317
+ a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2,a.y2=g.y2>c.lineCoordinates.y2?g.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else g=this.layoutManager.getFreeSpace(),a.x1=g.x1,a.x2=g.x2,a.y1=g.y1,a.y2=g.y2,a.width=g.width,a.height=g.height;v||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,-a.y1));a.layoutManager=new Ga(a.x1,a.y1,a.x2,a.y2,2)};u.prototype.renderIndexLabels=
318
+ function(a){var g=a||this.plotArea.ctx,c=this.plotArea,b=0,e=0,d=0,p=e=d=0,r=0,K=b=0,k=0;for(a=0;a<this._indexLabels.length;a++){var n=this._indexLabels[a],m=n.chartType.toLowerCase(),q,f,r=la("indexLabelFontColor",n.dataPoint,n.dataSeries),h=la("indexLabelFontSize",n.dataPoint,n.dataSeries),K=la("indexLabelFontFamily",n.dataPoint,n.dataSeries),k=la("indexLabelFontStyle",n.dataPoint,n.dataSeries);q=la("indexLabelFontWeight",n.dataPoint,n.dataSeries);var A=la("indexLabelBackgroundColor",n.dataPoint,
319
+ n.dataSeries);f=la("indexLabelBorderColor",n.dataPoint,n.dataSeries);var d=la("indexLabelBorderThickness",n.dataPoint,n.dataSeries),e=la("indexLabelMaxWidth",n.dataPoint,n.dataSeries),p=la("indexLabelWrap",n.dataPoint,n.dataSeries),C=la("indexLabelLineDashType",n.dataPoint,n.dataSeries),t=la("indexLabelLineColor",n.dataPoint,n.dataSeries),x=l(n.dataPoint.indexLabelLineThickness)?l(n.dataSeries.options.indexLabelLineThickness)?0:n.dataSeries.options.indexLabelLineThickness:n.dataPoint.indexLabelLineThickness,
320
+ b=0<x?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,w=la("indexLabelPadding",n.dataPoint,n.dataSeries),s={percent:null,total:null},B=null;if(0<=n.dataSeries.type.indexOf("stacked")||"pie"===n.dataSeries.type||"doughnut"===n.dataSeries.type)s=this.getPercentAndTotal(n.dataSeries,n.dataPoint);if(n.dataSeries.indexLabelFormatter||n.dataPoint.indexLabelFormatter)B={chart:this,dataSeries:n.dataSeries,dataPoint:n.dataPoint,index:n.indexKeyword,total:s.total,
321
+ percent:s.percent};var da=n.dataPoint.indexLabelFormatter?n.dataPoint.indexLabelFormatter(B):n.dataPoint.indexLabel?this.replaceKeywordsWithValue(n.dataPoint.indexLabel,n.dataPoint,n.dataSeries,null,n.indexKeyword):n.dataSeries.indexLabelFormatter?n.dataSeries.indexLabelFormatter(B):n.dataSeries.indexLabel?this.replaceKeywordsWithValue(n.dataSeries.indexLabel,n.dataPoint,n.dataSeries,null,n.indexKeyword):null;if(null!==da&&""!==da){var s=la("indexLabelPlacement",n.dataPoint,n.dataSeries),B=la("indexLabelOrientation",
322
+ n.dataPoint,n.dataSeries),u=la("indexLabelTextAlign",n.dataPoint,n.dataSeries),y=n.direction,I=n.dataSeries.axisX,M=n.dataSeries.axisY,ba=!1,A=new ka(g,{x:0,y:0,maxWidth:e?e:0.5*this.width,maxHeight:(p?5*h:1.5*h)+("object"===typeof w?(w.top||0)+(w.bottom||0):2*w),angle:"horizontal"===B?0:-90,text:da,padding:w,backgroundColor:A,borderColor:f,borderThickness:d,textAlign:u,fontSize:h,fontFamily:K,fontWeight:q,fontColor:r,fontStyle:k,textBaseline:"middle"});A.measureText();n.dataSeries.indexLabelMaxWidth=
323
+ A.maxWidth;if("stackedarea100"===m){if(n.point.x<c.x1||n.point.x>c.x2||n.point.y<c.y1-1||n.point.y>c.y2+1)continue}else if("rangearea"===m||"rangesplinearea"===m){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||Math.max.apply(null,n.dataPoint.y)<M.viewportMinimum||Math.min.apply(null,n.dataPoint.y)>M.viewportMaximum)continue}else if(0<=m.indexOf("line")||0<=m.indexOf("area")||0<=m.indexOf("bubble")||0<=m.indexOf("scatter")){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||
324
+ n.dataPoint.y<M.viewportMinimum||n.dataPoint.y>M.viewportMaximum)continue}else if(0<=m.indexOf("column")){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||(0<n.dataPoint.y.length?Math.max.apply(null,n.dataPoint.y):n.cumulativeY?n.cumulativeY:n.dataPoint.y)<M.viewportMinimum||(0<n.dataPoint.y.length?Math.min.apply(null,n.dataPoint.y):n.cumulativeY?n.cumulativeY-n.dataPoint.y:0)>M.viewportMaximum)continue}else if("waterfall"===m||"error"===m&&!n.axisSwapped){if(n.dataPoint.x<I.viewportMinimum||
325
+ n.dataPoint.x>I.viewportMaximum||n.bounds.y1>c.y2||n.bounds.y2<c.y1)continue}else if(0<=m.indexOf("bar")||"error"===m){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||n.bounds.x1>c.x2||n.bounds.x2<c.x1)continue}else if("candlestick"===m||"ohlc"===m){if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>I.viewportMaximum||Math.max.apply(null,n.dataPoint.y)<M.viewportMinimum||Math.min.apply(null,n.dataPoint.y)>M.viewportMaximum)continue}else if(n.dataPoint.x<I.viewportMinimum||n.dataPoint.x>
326
+ I.viewportMaximum)continue;p=r=2;"horizontal"===B?(K=A.width,k=A.height):(k=A.width,K=A.height);if("normal"===this.plotInfo.axisPlacement){if(0<=m.indexOf("line")||0<=m.indexOf("area"))s="auto",r=4;else if(0<=m.indexOf("stacked"))"auto"===s&&(s="inside");else if("bubble"===m||"scatter"===m)s="inside";q=n.point.x-K/2+("horizontal"===B?0:A._lineHeight/2);if("inside"!==s)e=c.y1,d=c.y2,0<y?(f=n.point.y+A._lineHeight/2-k-r-b,f<e&&(f="auto"===s?Math.max(n.point.y,e)+A._lineHeight/2+r+b:e+A._lineHeight/
327
+ 2+r+b,ba=f+("horizontal"===B?k-A._lineHeight/2:0)>n.point.y,!ba||(0<=m.indexOf("line")||0<=m.indexOf("area"))||(f-=b))):(f=n.point.y+A._lineHeight/2+r+b,f>d-k+A._lineHeight/2-r&&(f="auto"===s?Math.min(n.point.y,d)+A._lineHeight/2-k-r-b:d+A._lineHeight/2-k-r-b,ba=f-("horizontal"===B?A._lineHeight/2:k)<n.point.y,!ba||(0<=m.indexOf("line")||0<=m.indexOf("area"))||(f+=b)));else{Math.max(n.bounds.y1,c.y1);d=Math.min(n.bounds.y2,c.y2)-k+A._lineHeight/2;b=0<=m.indexOf("range")||"error"===m?0<y?Math.max(n.bounds.y1,
328
+ c.y1)+A._lineHeight/2+r:Math.min(n.bounds.y2,c.y2)+A._lineHeight/2-k-r:(Math.max(n.bounds.y1,c.y1)+Math.min(n.bounds.y2,c.y2))/2-k/2+A._lineHeight/2;if(0<y){if(f=b,"bubble"===m||"scatter"===m)f=n.point.y-k/2+A._lineHeight/2,k>n.bounds.y2-n.bounds.y1&&(f-=k/2+r),0>f-A._lineHeight/2&&(f+=Math.abs(f-A._lineHeight/2)<=(n.bounds.y2-n.bounds.y1)/2+r?Math.abs(f-A._lineHeight/2):(n.bounds.y2-n.bounds.y1)/2+r)}else f=Math.min(n.point.y,b),f>d-k-r&&("bubble"===m||"scatter"===m)&&(f=Math.min(n.point.y+r,c.y2-
329
+ k-r));f=Math.min(f,d)}}else 0<=m.indexOf("line")||0<=m.indexOf("area")||0<=m.indexOf("scatter")?(s="auto",p=4):0<=m.indexOf("stacked")?"auto"===s&&(s="inside"):"bubble"===m&&(s="inside"),f=n.point.y+A._lineHeight/2-k/2,"inside"!==s?(d=c.x1,e=c.x2,0>y?(q=n.point.x-K+("horizontal"===B?0:A._lineHeight/2)-p-b,("horizontal"===B?q:q-A._lineHeight/2)<d&&(q="auto"===s?Math.max(n.point.x,d)+("horizontal"===B?0:A._lineHeight/2)+r+b:d+("horizontal"===B?0:A._lineHeight/2)+p,(ba=q+K-("horizontal"===B?0:A._lineHeight/
330
+ 2)>n.point.x)&&(q-=b))):(q=n.point.x+("horizontal"===B?0:A._lineHeight/2)+p+b,("horizontal"===B?q:q-A._lineHeight/2)>e-K-p-b&&(q="auto"===s?Math.min(n.point.x,e)-("horizontal"===B?K:K-A._lineHeight/2)-p-b:e-K-p+("horizontal"===B?0:A._lineHeight/2),(ba=q-("horizontal"===B?0:A._lineHeight/2)<n.point.x)&&(q+=b)))):(d=Math.max(n.bounds.x1,c.x1),Math.min(n.bounds.x2,c.x2),b=0<=m.indexOf("range")||"error"===m?0>y?Math.max(n.bounds.x1,c.x1):Math.min(n.bounds.x2,c.x2)-K-p+("horizontal"===B?0:A._lineHeight/
331
+ 2):(Math.max(n.bounds.x1,c.x1)+Math.min(n.bounds.x2,c.x2))/2-K/2+("horizontal"===B?0:A._lineHeight/2),q=0>y?b:Math.min(n.point.x,b),q=Math.max(q,d+("horizontal"===B?0:A._lineHeight/2+r)));"vertical"===B&&(f+=k-A._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(m)&&(ba=0<y?f+("horizontal"===B?k-A._lineHeight/2:0)>n.point.y:f-("horizontal"===B?A._lineHeight/2:k)<n.point.y),"bubble"===m||"scatter"===m)&&(q+=A._lineHeight/2-h/
332
+ 2);A.x=q;A.y=f;A.render(!0);x&&("inside"!==s&&(0>m.indexOf("bar")&&("error"!==m||!n.axisSwapped)&&n.point.x>c.x1&&n.point.x<c.x2||!ba)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(m)&&("error"!==m||n.axisSwapped)&&n.point.y>c.y1&&n.point.y<c.y2||!ba))&&(g.lineWidth=x,g.strokeStyle=t?t:"gray",g.setLineDash&&g.setLineDash(H(C,x)),g.beginPath(),g.moveTo(n.point.x,n.point.y),0<=m.indexOf("bar")||"error"===m&&n.axisSwapped?g.lineTo(q+
333
+ (0<n.direction?0:K)+("vertical"===B?-A._lineHeight/2:0),f+("vertical"===B?-k/2:k/2-A._lineHeight/2)):0<=m.indexOf("column")||"error"===m&&!n.axisSwapped?g.lineTo(q+K/2-("horizontal"===B?0:A._lineHeight/2),f+("vertical"===B?f-k<n.point.y?0:-k:(f-A._lineHeight/2<n.point.y?k:0)-A._lineHeight/2)):0<=m.indexOf("waterfall")?g.lineTo(q+K/2-("horizontal"===B?0:A._lineHeight/2),"vertical"===B?0<y&&f<n.point.y?f:0>y&&f-k>n.point.y?f-k:n.point.y:0<y&&f+k-A._lineHeight/2<n.point.y?f+k-A._lineHeight/2:0>y&&f-
334
+ A._lineHeight/2>n.point.y?f-A._lineHeight/2:n.point.y):g.lineTo(q+K/2-("horizontal"===B?0:A._lineHeight/2),f+("vertical"===B?f-k<n.point.y?0:-k:(f+k-A._lineHeight/2<n.point.y?k:0)-A._lineHeight/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)n=this._indexLabels[a],A=la("indexLabelBackgroundColor",n.dataPoint,n.dataSeries),n.dataSeries.indexLabelBackgroundColor=
335
+ l(A)?v?"transparent":null:A;return g};u.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var d=[],p,r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l];c.lineWidth=k.lineThickness;var n=k.dataPoints,m="solid";if(c.setLineDash){var q=H(k.nullDataLineDashType,
336
+ k.lineThickness),m=k.lineDashType,f=H(m,k.lineThickness);c.setLineDash(f)}var h=k.id;this._eventManager.objectMap[h]={objectType:"dataSeries",dataSeriesIndex:l};h=W(h);b.strokeStyle=h;b.lineWidth=0<k.lineThickness?Math.max(k.lineThickness,4):0;var h=k._colorSet,A=h=k.lineColor=k.options.lineColor?k.options.lineColor:h[0];c.strokeStyle=h;var C=!0,t=0,x,w;c.beginPath();if(0<n.length){for(var s=!1,t=0;t<n.length;t++)if(x=n[t].x.getTime?n[t].x.getTime():n[t].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&
337
+ (!k.connectNullData||!s)))if("number"!==typeof n[t].y)0<t&&!(k.connectNullData||s||C)&&(c.stroke(),v&&b.stroke()),s=!0;else{x=a.axisX.convertValueToPixel(x);w=a.axisY.convertValueToPixel(n[t].y);var B=k.dataPointIds[t];this._eventManager.objectMap[B]={id:B,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:t,x1:x,y1:w};C||s?(!C&&k.connectNullData?(c.setLineDash&&(k.options.nullDataLineDashType||m===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(p.x,
338
+ p.y),m=k.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,w),v&&b.lineTo(x,w)):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),b.moveTo(x,w))),s=C=!1):(c.lineTo(x,w),v&&b.lineTo(x,w),0==t%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&(b.stroke(),b.beginPath(),b.moveTo(x,w))));p={x:x,y:w};t<n.length-1&&(A!==(n[t].lineColor||h)||m!==(n[t].lineDashType||k.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),A=n[t].lineColor||h,c.strokeStyle=A,c.setLineDash&&(n[t].lineDashType?(m=n[t].lineDashType,
339
+ c.setLineDash(H(m,k.lineThickness))):(m=k.lineDashType,c.setLineDash(f))));if(0!==n[t].markerSize&&(0<n[t].markerSize||0<k.markerSize)){var da=k.getMarkerProperties(t,x,w,c);d.push(da);B=W(B);v&&d.push({x:x,y:w,ctx:b,type:da.type,size:da.size,color:B,borderColor:B,borderThickness:da.borderThickness})}(n[t].indexLabel||k.indexLabel||n[t].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:n[t],dataSeries:k,point:{x:x,y:w},direction:0>n[t].y===a.axisY.reversed?
340
+ 1:-1,color:h})}c.stroke();v&&b.stroke()}}X.drawMarkers(d);v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();
341
+ return{source:g,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStepLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var d=[],p,r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l];c.lineWidth=k.lineThickness;
342
+ var n=k.dataPoints,m="solid";if(c.setLineDash){var q=H(k.nullDataLineDashType,k.lineThickness),m=k.lineDashType,f=H(m,k.lineThickness);c.setLineDash(f)}var h=k.id;this._eventManager.objectMap[h]={objectType:"dataSeries",dataSeriesIndex:l};h=W(h);b.strokeStyle=h;b.lineWidth=0<k.lineThickness?Math.max(k.lineThickness,4):0;var h=k._colorSet,A=h=k.lineColor=k.options.lineColor?k.options.lineColor:h[0];c.strokeStyle=h;var C=!0,t=0,x,w;c.beginPath();if(0<n.length){for(var s=!1,t=0;t<n.length;t++)if(x=n[t].getTime?
343
+ n[t].x.getTime():n[t].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!s)))if("number"!==typeof n[t].y)0<t&&!(k.connectNullData||s||C)&&(c.stroke(),v&&b.stroke()),s=!0;else{var B=w;x=a.axisX.convertValueToPixel(x);w=a.axisY.convertValueToPixel(n[t].y);var da=k.dataPointIds[t];this._eventManager.objectMap[da]={id:da,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:t,x1:x,y1:w};C||s?(!C&&k.connectNullData?(c.setLineDash&&(k.options.nullDataLineDashType||
344
+ m===k.lineDashType&&k.lineDashType!==k.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(p.x,p.y),m=k.nullDataLineDashType,c.setLineDash(q)),c.lineTo(x,B),c.lineTo(x,w),v&&(b.lineTo(x,B),b.lineTo(x,w))):(c.beginPath(),c.moveTo(x,w),v&&(b.beginPath(),b.moveTo(x,w))),s=C=!1):(c.lineTo(x,B),v&&b.lineTo(x,B),c.lineTo(x,w),v&&b.lineTo(x,w),0==t%500&&(c.stroke(),c.beginPath(),c.moveTo(x,w),v&&(b.stroke(),b.beginPath(),b.moveTo(x,w))));p={x:x,y:w};t<n.length-1&&(A!==(n[t].lineColor||h)||m!==(n[t].lineDashType||
345
+ k.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(x,w),A=n[t].lineColor||h,c.strokeStyle=A,c.setLineDash&&(n[t].lineDashType?(m=n[t].lineDashType,c.setLineDash(H(m,k.lineThickness))):(m=k.lineDashType,c.setLineDash(f))));0!==n[t].markerSize&&(0<n[t].markerSize||0<k.markerSize)&&(B=k.getMarkerProperties(t,x,w,c),d.push(B),da=W(da),v&&d.push({x:x,y:w,ctx:b,type:B.type,size:B.size,color:da,borderColor:da,borderThickness:B.borderThickness}));(n[t].indexLabel||k.indexLabel||n[t].indexLabelFormatter||
346
+ k.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:n[t],dataSeries:k,point:{x:x,y:w},direction:0>n[t].y===a.axisY.reversed?1:-1,color:h})}c.stroke();v&&b.stroke()}}X.drawMarkers(d);v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
347
+ 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderSpline=function(a){function g(a){a=s(a,2);if(0<a.length){b.beginPath();v&&e.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);v&&e.moveTo(a[0].x,a[0].y);
348
+ for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),v&&e.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),v&&(e.stroke(),e.beginPath(),e.moveTo(a[c+3].x,a[c+3].y));b.stroke();v&&e.stroke()}}
349
+ var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;b.save();var d=this.plotArea;b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();for(var p=[],r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l];b.lineWidth=k.lineThickness;var n=k.dataPoints,m="solid";if(b.setLineDash){var q=H(k.nullDataLineDashType,k.lineThickness),m=k.lineDashType,f=H(m,k.lineThickness);b.setLineDash(f)}var h=
350
+ k.id;this._eventManager.objectMap[h]={objectType:"dataSeries",dataSeriesIndex:l};h=W(h);e.strokeStyle=h;e.lineWidth=0<k.lineThickness?Math.max(k.lineThickness,4):0;var h=k._colorSet,A=h=k.lineColor=k.options.lineColor?k.options.lineColor:h[0];b.strokeStyle=h;var C=0,t,x,w=[];b.beginPath();if(0<n.length)for(x=!1,C=0;C<n.length;C++)if(t=n[C].getTime?n[C].x.getTime():n[C].x,!(t<a.axisX.dataInfo.viewPortMin||t>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!x)))if("number"!==typeof n[C].y)0<C&&!x&&
351
+ (k.connectNullData?b.setLineDash&&(0<w.length&&(k.options.nullDataLineDashType||!n[C-1].lineDashType))&&(w[w.length-1].newLineDashArray=q,m=k.nullDataLineDashType):(g(w),w=[])),x=!0;else{t=a.axisX.convertValueToPixel(t);x=a.axisY.convertValueToPixel(n[C].y);var u=k.dataPointIds[C];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:C,x1:t,y1:x};w[w.length]={x:t,y:x};C<n.length-1&&(A!==(n[C].lineColor||h)||m!==(n[C].lineDashType||k.lineDashType))&&(A=n[C].lineColor||
352
+ h,w[w.length-1].newStrokeStyle=A,b.setLineDash&&(n[C].lineDashType?(m=n[C].lineDashType,w[w.length-1].newLineDashArray=H(m,k.lineThickness)):(m=k.lineDashType,w[w.length-1].newLineDashArray=f)));if(0!==n[C].markerSize&&(0<n[C].markerSize||0<k.markerSize)){var B=k.getMarkerProperties(C,t,x,b);p.push(B);u=W(u);v&&p.push({x:t,y:x,ctx:e,type:B.type,size:B.size,color:u,borderColor:u,borderThickness:B.borderThickness})}(n[C].indexLabel||k.indexLabel||n[C].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",
353
+ dataPoint:n[C],dataSeries:k,point:{x:t,y:x},direction:0>n[C].y===a.axisY.reversed?1:-1,color:h});x=!1}g(w)}X.drawMarkers(p);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,
354
+ d.y1,d.width,d.height),e.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=0,p,r,l,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?
355
+ this.dataPointWidth:1,n=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,m=a.axisX.dataInfo.minDiff;isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&
356
+ d>n&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,n));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&n<d)&&(n=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));m<d&&(m=d);m>n&&(m=n);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(n=0;n<a.dataSeriesIndexes.length;n++){var q=
357
+ a.dataSeriesIndexes[n],f=this.data[q],h=f.dataPoints;if(0<h.length)for(var A=5<m&&f.bevelEnabled?!0:!1,d=0;d<h.length;d++)if(h[d].getTime?l=h[d].x.getTime():l=h[d].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof h[d].y){p=a.axisX.convertValueToPixel(l);r=a.axisY.convertValueToPixel(h[d].y);p=a.axisX.reversed?p+a.plotType.totalDataSeries*m/2-(a.previousDataSeriesCount+n)*m<<0:p-a.plotType.totalDataSeries*m/2+(a.previousDataSeriesCount+n)*m<<0;var C=a.axisX.reversed?
358
+ p-m<<0:p+m<<0,t;if(0<=h[d].y){if(t=k,r>t){var x=r;r=t;t=x}}else t=r,r=k,r>t&&(x=r,r=t,t=x);var x=Math.max(r,e.y1),w=Math.min(t,e.y2),b=h[d].color?h[d].color:f._colorSet[d%f._colorSet.length];fa(c,a.axisX.reversed?C:p,x,a.axisX.reversed?p:C,w,b,0,null,A&&(a.axisY.reversed?0>h[d].y:0<=h[d].y),(a.axisY.reversed?0<=h[d].y:0>h[d].y)&&A,!1,!1,f.fillOpacity);b=f.dataPointIds[d];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:d,x1:p,y1:x,x2:C,y2:w};b=W(b);v&&
359
+ fa(this._eventManager.ghostCtx,a.axisX.reversed?C:p,x,a.axisX.reversed?p:C,w,b,0,null,!1,!1,!1,!1);(h[d].indexLabel||f.indexLabel||h[d].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:h[d],dataSeries:f,point:{x:p+(C-p)/2,y:0>h[d].y===a.axisY.reversed?r:t},direction:0>h[d].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(r,t),x2:C,y2:Math.max(r,t)},color:b})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation=
360
+ "source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.yScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:k<a.axisY.bounds.y1?
361
+ a.axisY.bounds.y1:k>a.axisY.bounds.y2?a.axisY.bounds.y2:k}}};u.prototype.renderStackedColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=[],p=[],r=[],l=[],k=0,n,m,q,f=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:
362
+ this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,A=a.axisX.dataInfo.minDiff;isFinite(A)||(A=0.3*Math.abs(a.axisX.range));A=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(A)/Math.log(a.axisX.range):Math.abs(A)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&k>h&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<k)&&(h=Math.max(this.options.dataPointWidth?
363
+ this.dataPointWidth:-Infinity,k));A<k&&(A=k);A>h&&(A=h);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var C=a.dataSeriesIndexes[h],t=this.data[C],x=t.dataPoints;if(0<x.length){var w=5<A&&t.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<x.length;k++)if(q=
364
+ x[k].x.getTime?x[k].x.getTime():x[k].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[k].y){n=a.axisX.convertValueToPixel(q);n=n-a.plotType.plotUnits.length*A/2+a.index*A<<0;var s=n+A<<0,B;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[k].y)r[q]=x[k].y+(r[q]?r[q]:0),0<r[q]&&(m=a.axisY.convertValueToPixel(r[q]),B="undefined"!==typeof d[q]?d[q]:f,d[q]=m);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
365
+ 0>=x[k].y)l[q]=x[k].y+(l[q]?l[q]:0),B=a.axisY.convertValueToPixel(l[q]),m="undefined"!==typeof p[q]?p[q]:f,p[q]=B;else if(m=a.axisY.convertValueToPixel(x[k].y),0<=x[k].y){var da="undefined"!==typeof d[q]?d[q]:0;m-=da;B=f-da;d[q]=da+(B-m)}else da=p[q]?p[q]:0,B=m+da,m=f+da,p[q]=da+(B-m);b=x[k].color?x[k].color:t._colorSet[k%t._colorSet.length];q=Math.max(m,e.y1);da=Math.min(B,e.y2);fa(c,n,a.axisY.reversed?da:q,s,a.axisY.reversed?q:da,b,0,null,w&&(a.axisY.reversed?0>x[k].y:0<=x[k].y),(a.axisY.reversed?
366
+ 0<=x[k].y:0>x[k].y)&&w,!1,!1,t.fillOpacity);b=t.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:C,dataPointIndex:k,x1:n,y1:q,x2:s,y2:da};b=W(b);v&&fa(this._eventManager.ghostCtx,n,q,s,da,b,0,null,!1,!1,!1,!1);(x[k].indexLabel||t.indexLabel||x[k].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:x[k],dataSeries:t,point:{x:n+(s-n)/2,y:0<=x[k].y?m:B},direction:0>x[k].y===a.axisY.reversed?1:-1,bounds:{x1:n,
367
+ y1:Math.min(m,B),x2:s,y2:Math.max(m,B)},color:b,cumulativeY:t.dataPointEOs[k].cumulativeY})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),
368
+ this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.yScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:f<a.axisY.bounds.y1?a.axisY.bounds.y1:f>a.axisY.bounds.y2?a.axisY.bounds.y2:f}}};u.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=[],p=[],r=[],l=[],k=0,n,m,q,f=a.axisY.convertValueToPixel(a.axisY.logarithmic?
369
+ a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0;var h=a.axisX.dataInfo.minDiff;isFinite(h)||(h=0.3*Math.abs(a.axisX.range));h=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(h)/Math.log(a.axisX.range):Math.abs(h)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
370
+ 0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));h<k&&(h=k);h>q&&(h=q);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
371
+ for(var A=0;A<a.dataSeriesIndexes.length;A++){var C=a.dataSeriesIndexes[A],t=this.data[C],x=t.dataPoints;if(0<x.length)for(var w=5<h&&t.bevelEnabled?!0:!1,k=0;k<x.length;k++)if(q=x[k].x.getTime?x[k].x.getTime():x[k].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax)&&"number"===typeof x[k].y){n=a.axisX.convertValueToPixel(q);m=0!==a.dataPointYSums[q]?100*(x[k].y/a.dataPointYSums[q]):0;n=n-a.plotType.plotUnits.length*h/2+a.index*h<<0;var s=n+h<<0,B;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&
372
+ 0<a.axisY.scaleBreaks._appliedBreaks.length&&0<x[k].y){r[q]=m+("undefined"!==typeof r[q]?r[q]:0);if(0>=r[q])continue;m=a.axisY.convertValueToPixel(r[q]);B=d[q]?d[q]:f;d[q]=m}else a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=x[k].y?(l[q]=m+("undefined"!==typeof l[q]?l[q]:0),B=a.axisY.convertValueToPixel(l[q]),m=p[q]?p[q]:f,p[q]=B):(m=a.axisY.convertValueToPixel(m),0<=x[k].y?(b="undefined"!==typeof d[q]?d[q]:0,m-=b,B=f-b,a.dataSeriesIndexes.length-1===A&&1>=Math.abs(e.y1-m)&&
373
+ (m=e.y1),d[q]=b+(B-m)):(b="undefined"!==typeof p[q]?p[q]:0,B=m+b,m=f+b,a.dataSeriesIndexes.length-1===A&&1>=Math.abs(e.y2-B)&&(B=e.y2),p[q]=b+(B-m)));b=x[k].color?x[k].color:t._colorSet[k%t._colorSet.length];fa(c,n,a.axisY.reversed?B:m,s,a.axisY.reversed?m:B,b,0,null,w&&(a.axisY.reversed?0>x[k].y:0<=x[k].y),(a.axisY.reversed?0<=x[k].y:0>x[k].y)&&w,!1,!1,t.fillOpacity);b=t.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:C,dataPointIndex:k,x1:n,y1:m,x2:s,
374
+ y2:B};b=W(b);v&&fa(this._eventManager.ghostCtx,n,m,s,B,b,0,null,!1,!1,!1,!1);(x[k].indexLabel||t.indexLabel||x[k].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:x[k],dataSeries:t,point:{x:n+(s-n)/2,y:0<=x[k].y?m:B},direction:0>x[k].y===a.axisY.reversed?1:-1,bounds:{x1:n,y1:Math.min(m,B),x2:s,y2:Math.max(m,B)},color:b,yCumulative:100*(t.dataPointEOs[k].cumulativeY/a.dataPointYSums[q])})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,
375
+ this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.yScaleAnimation,easingFunction:L.easing.easeOutQuart,
376
+ animationBase:f<a.axisY.bounds.y1?a.axisY.bounds.y1:f>a.axisY.bounds.y2?a.axisY.bounds.y2:f}}};u.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=0,p,r,l,k=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,n=this.options.dataPointMaxWidth?this.dataPointMaxWidth:
377
+ this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,m=a.axisX.dataInfo.minDiff;isFinite(m)||(m=0.3*Math.abs(a.axisX.range));m=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(m)/Math.log(a.axisX.range):Math.abs(m)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>n&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,n));!this.dataPointMaxWidth&&
378
+ (this.dataPointMinWidth&&n<d)&&(n=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));m<d&&(m=d);m>n&&(m=n);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(n=0;n<a.dataSeriesIndexes.length;n++){var q=a.dataSeriesIndexes[n],f=this.data[q],h=f.dataPoints;if(0<h.length){var A=5<m&&f.bevelEnabled?
379
+ !0:!1;c.strokeStyle="#4572A7 ";for(d=0;d<h.length;d++)if(h[d].getTime?l=h[d].x.getTime():l=h[d].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof h[d].y){r=a.axisX.convertValueToPixel(l);p=a.axisY.convertValueToPixel(h[d].y);r=a.axisX.reversed?r+a.plotType.totalDataSeries*m/2-(a.previousDataSeriesCount+n)*m<<0:r-a.plotType.totalDataSeries*m/2+(a.previousDataSeriesCount+n)*m<<0;var C=a.axisX.reversed?r-m<<0:r+m<<0,t;0<=h[d].y?t=k:(t=p,p=k);b=h[d].color?h[d].color:
380
+ f._colorSet[d%f._colorSet.length];fa(c,a.axisY.reversed?p:t,a.axisX.reversed?C:r,a.axisY.reversed?t:p,a.axisX.reversed?r:C,b,0,null,A,!1,!1,!1,f.fillOpacity);b=f.dataPointIds[d];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:d,x1:t,y1:r,x2:p,y2:C};b=W(b);v&&fa(this._eventManager.ghostCtx,t,a.axisX.reversed?C:r,p,a.axisX.reversed?r:C,b,0,null,!1,!1,!1,!1);(h[d].indexLabel||f.indexLabel||h[d].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",
381
+ dataPoint:h[d],dataSeries:f,point:{x:0<=h[d].y?p:t,y:r+(C-r)/2},direction:0>h[d].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(t,p),y1:r,x2:Math.max(t,p),y2:C},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
382
+ 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:k<a.axisY.bounds.x1?a.axisY.bounds.x1:k>a.axisY.bounds.x2?a.axisY.bounds.x2:k}}};u.prototype.renderStackedBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=
383
+ [],p=[],r=[],l=[],k=0,n,m,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,f=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,h=a.axisX.dataInfo.minDiff;isFinite(h)||(h=0.3*Math.abs(a.axisX.range));h=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(h)/
384
+ Math.log(a.axisX.range):Math.abs(h)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&k>f&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,f));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&f<k)&&(f=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));h<k&&(h=k);h>f&&(h=f);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,
385
+ e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(f=0;f<a.dataSeriesIndexes.length;f++){var A=a.dataSeriesIndexes[f],C=this.data[A],t=C.dataPoints;if(0<t.length){var x=5<h&&C.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<t.length;k++)if(b=t[k].x.getTime?t[k].x.getTime():t[k].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof t[k].y){m=a.axisX.convertValueToPixel(b);m=m-a.plotType.plotUnits.length*h/2+a.index*h<<0;var w=m+h<<0,s;if(a.axisY.logarithmic||
386
+ a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<t[k].y)r[b]=t[k].y+(r[b]?r[b]:0),0<r[b]&&(s=d[b]?d[b]:q,d[b]=n=a.axisY.convertValueToPixel(r[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=t[k].y)l[b]=t[k].y+(l[b]?l[b]:0),n=p[b]?p[b]:q,p[b]=s=a.axisY.convertValueToPixel(l[b]);else if(n=a.axisY.convertValueToPixel(t[k].y),0<=t[k].y){var B=d[b]?d[b]:0;s=q+B;n+=B;d[b]=B+(n-s)}else B=p[b]?p[b]:0,s=n-B,n=q-B,p[b]=B+(n-s);b=t[k].color?t[k].color:C._colorSet[k%
387
+ C._colorSet.length];fa(c,a.axisY.reversed?n:s,m,a.axisY.reversed?s:n,w,b,0,null,x,!1,!1,!1,C.fillOpacity);b=C.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:k,x1:s,y1:m,x2:n,y2:w};b=W(b);v&&fa(this._eventManager.ghostCtx,s,m,n,w,b,0,null,!1,!1,!1,!1);(t[k].indexLabel||C.indexLabel||t[k].indexLabelFormatter||C.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:t[k],dataSeries:C,point:{x:0<=t[k].y?n:s,y:m+(w-
388
+ m)/2},direction:0>t[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(s,n),y1:m,x2:Math.max(s,n),y2:w},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,
389
+ e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?a.axisY.bounds.x2:q}}};u.prototype.renderStackedBar100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=[],p=[],r=[],l=[],k=0,n,m,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?
390
+ a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,f=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,h=a.axisX.dataInfo.minDiff;isFinite(h)||(h=0.3*Math.abs(a.axisX.range));h=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(h)/Math.log(a.axisX.range):Math.abs(h)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
391
+ 0;this.dataPointMaxWidth&&k>f&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,f));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&f<k)&&(f=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));h<k&&(h=k);h>f&&(h=f);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
392
+ for(f=0;f<a.dataSeriesIndexes.length;f++){var A=a.dataSeriesIndexes[f],C=this.data[A],t=C.dataPoints;if(0<t.length){var x=5<h&&C.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(k=0;k<t.length;k++)if(b=t[k].x.getTime?t[k].x.getTime():t[k].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof t[k].y){m=a.axisX.convertValueToPixel(b);var w;w=0!==a.dataPointYSums[b]?100*(t[k].y/a.dataPointYSums[b]):0;m=m-a.plotType.plotUnits.length*h/2+a.index*h<<0;var s=m+h<<0;if(a.axisY.logarithmic||
393
+ a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<t[k].y){r[b]=w+(r[b]?r[b]:0);if(0>=r[b])continue;w=d[b]?d[b]:q;d[b]=n=a.axisY.convertValueToPixel(r[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=t[k].y)l[b]=w+(l[b]?l[b]:0),n=p[b]?p[b]:q,p[b]=w=a.axisY.convertValueToPixel(l[b]);else if(n=a.axisY.convertValueToPixel(w),0<=t[k].y){var B=d[b]?d[b]:0;w=q+B;n+=B;a.dataSeriesIndexes.length-1===f&&1>=Math.abs(e.x2-n)&&(n=e.x2);d[b]=B+(n-w)}else B=p[b]?
394
+ p[b]:0,w=n-B,n=q-B,a.dataSeriesIndexes.length-1===f&&1>=Math.abs(e.x1-w)&&(w=e.x1),p[b]=B+(n-w);b=t[k].color?t[k].color:C._colorSet[k%C._colorSet.length];fa(c,a.axisY.reversed?n:w,m,a.axisY.reversed?w:n,s,b,0,null,x,!1,!1,!1,C.fillOpacity);b=C.dataPointIds[k];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:A,dataPointIndex:k,x1:w,y1:m,x2:n,y2:s};b=W(b);v&&fa(this._eventManager.ghostCtx,w,m,n,s,b,0,null,!1,!1,!1,!1);(t[k].indexLabel||C.indexLabel||t[k].indexLabelFormatter||
395
+ C.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:t[k],dataSeries:C,point:{x:0<=t[k].y?n:w,y:m+(s-m)/2},direction:0>t[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(w,n),y1:m,x2:Math.max(w,n),y2:s},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
396
+ this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.xScaleAnimation,easingFunction:L.easing.easeOutQuart,animationBase:q<a.axisY.bounds.x1?a.axisY.bounds.x1:q>a.axisY.bounds.x2?a.axisY.bounds.x2:q}}};u.prototype.renderArea=function(a){var g,c;function b(){B&&(0<f.lineThickness&&d.stroke(),a.axisY.logarithmic||
397
+ 0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=w:0>a.axisY.viewportMaximum?s=r.y1:0<a.axisY.viewportMinimum&&(s=w),d.lineTo(C,s),d.lineTo(B.x,s),d.closePath(),d.globalAlpha=f.fillOpacity,d.fill(),d.globalAlpha=1,v&&(p.lineTo(C,s),p.lineTo(B.x,s),p.closePath(),p.fill()),d.beginPath(),d.moveTo(C,t),p.beginPath(),p.moveTo(C,t),B={x:C,y:t})}var e=a.targetCanvasCtx||this.plotArea.ctx,d=v?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var p=this._eventManager.ghostCtx,r=a.axisY.lineCoordinates,
398
+ l=[],k=this.plotArea,n;d.save();v&&p.save();d.beginPath();d.rect(k.x1,k.y1,k.width,k.height);d.clip();v&&(p.beginPath(),p.rect(k.x1,k.y1,k.width,k.height),p.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var q=a.dataSeriesIndexes[m],f=this.data[q],h=f.dataPoints,l=f.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:q};l=W(l);p.fillStyle=l;l=[];g=!0;var A=0,C,t,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),s,B=null;if(0<h.length){var da=
399
+ f._colorSet[A%f._colorSet.length],u=f.lineColor=f.options.lineColor||da,y=u;d.fillStyle=da;d.strokeStyle=u;d.lineWidth=f.lineThickness;c="solid";if(d.setLineDash){var I=H(f.nullDataLineDashType,f.lineThickness);c=f.lineDashType;var M=H(c,f.lineThickness);d.setLineDash(M)}for(var ba=!0;A<h.length;A++)if(x=h[A].x.getTime?h[A].x.getTime():h[A].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!f.connectNullData||!ba)))if("number"!==typeof h[A].y)f.connectNullData||(ba||g)||b(),ba=
400
+ !0;else{C=a.axisX.convertValueToPixel(x);t=a.axisY.convertValueToPixel(h[A].y);g||ba?(!g&&f.connectNullData?(d.setLineDash&&(f.options.nullDataLineDashType||c===f.lineDashType&&f.lineDashType!==f.nullDataLineDashType)&&(g=C,c=t,C=n.x,t=n.y,b(),d.moveTo(n.x,n.y),C=g,t=c,B=n,c=f.nullDataLineDashType,d.setLineDash(I)),d.lineTo(C,t),v&&p.lineTo(C,t)):(d.beginPath(),d.moveTo(C,t),v&&(p.beginPath(),p.moveTo(C,t)),B={x:C,y:t}),ba=g=!1):(d.lineTo(C,t),v&&p.lineTo(C,t),0==A%250&&b());n={x:C,y:t};A<h.length-
401
+ 1&&(y!==(h[A].lineColor||u)||c!==(h[A].lineDashType||f.lineDashType))&&(b(),y=h[A].lineColor||u,d.strokeStyle=y,d.setLineDash&&(h[A].lineDashType?(c=h[A].lineDashType,d.setLineDash(H(c,f.lineThickness))):(c=f.lineDashType,d.setLineDash(M))));var Z=f.dataPointIds[A];this._eventManager.objectMap[Z]={id:Z,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:A,x1:C,y1:t};0!==h[A].markerSize&&(0<h[A].markerSize||0<f.markerSize)&&(x=f.getMarkerProperties(A,C,t,d),l.push(x),Z=W(Z),v&&l.push({x:C,y:t,
402
+ ctx:p,type:x.type,size:x.size,color:Z,borderColor:Z,borderThickness:x.borderThickness}));(h[A].indexLabel||f.indexLabel||h[A].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:h[A],dataSeries:f,point:{x:C,y:t},direction:0>h[A].y===a.axisY.reversed?1:-1,color:da})}b();X.drawMarkers(l)}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),d.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&d.drawImage(a.axisX.maskCanvas,0,0,this.width,
403
+ this.height),a.axisY.maskCanvas&&d.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),d.clearRect(k.x1,k.y1,k.width,k.height),this._eventManager.ghostCtx.restore());d.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderSplineArea=function(a){function g(){var c=s(x,2);if(0<c.length){if(0<n.lineThickness){b.beginPath();
404
+ b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var f=0;f<c.length-3;f+=3)if(b.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y),v&&e.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y),c[f+3].newStrokeStyle||c[f+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(c[f+3].x,c[f+3].y),c[f+3].newStrokeStyle&&(b.strokeStyle=c[f+3].newStrokeStyle),c[f+3].newLineDashArray&&
405
+ b.setLineDash(c[f+3].newLineDashArray);b.stroke()}b.beginPath();b.moveTo(c[0].x,c[0].y);v&&(e.beginPath(),e.moveTo(c[0].x,c[0].y));for(f=0;f<c.length-3;f+=3)b.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y),v&&e.bezierCurveTo(c[f+1].x,c[f+1].y,c[f+2].x,c[f+2].y,c[f+3].x,c[f+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?C=A:0>a.axisY.viewportMaximum?C=d.y1:0<a.axisY.viewportMinimum&&(C=A);t={x:c[0].x,y:c[0].y};b.lineTo(c[c.length-1].x,C);b.lineTo(t.x,
406
+ C);b.closePath();b.globalAlpha=n.fillOpacity;b.fill();b.globalAlpha=1;v&&(e.lineTo(c[c.length-1].x,C),e.lineTo(t.x,C),e.closePath(),e.fill())}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,p=[],r=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(r.x1,r.y1,r.width,r.height);b.clip();v&&(e.beginPath(),e.rect(r.x1,r.y1,r.width,r.height),e.clip());for(var l=0;l<a.dataSeriesIndexes.length;l++){var k=
407
+ a.dataSeriesIndexes[l],n=this.data[k],m=n.dataPoints,p=n.id;this._eventManager.objectMap[p]={objectType:"dataSeries",dataSeriesIndex:k};p=W(p);e.fillStyle=p;var p=[],q=0,f,h,A=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),C,t=null,x=[];if(0<m.length){var w=n._colorSet[q%n._colorSet.length],u=n.lineColor=n.options.lineColor||w,B=u;b.fillStyle=w;b.strokeStyle=u;b.lineWidth=n.lineThickness;var da="solid";if(b.setLineDash){var y=H(n.nullDataLineDashType,n.lineThickness),da=
408
+ n.lineDashType,z=H(da,n.lineThickness);b.setLineDash(z)}for(h=!1;q<m.length;q++)if(f=m[q].x.getTime?m[q].x.getTime():m[q].x,!(f<a.axisX.dataInfo.viewPortMin||f>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!h)))if("number"!==typeof m[q].y)0<q&&!h&&(n.connectNullData?b.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!m[q-1].lineDashType))&&(x[x.length-1].newLineDashArray=y,da=n.nullDataLineDashType):(g(),x=[])),h=!0;else{f=a.axisX.convertValueToPixel(f);h=a.axisY.convertValueToPixel(m[q].y);
409
+ var I=n.dataPointIds[q];this._eventManager.objectMap[I]={id:I,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:q,x1:f,y1:h};x[x.length]={x:f,y:h};q<m.length-1&&(B!==(m[q].lineColor||u)||da!==(m[q].lineDashType||n.lineDashType))&&(B=m[q].lineColor||u,x[x.length-1].newStrokeStyle=B,b.setLineDash&&(m[q].lineDashType?(da=m[q].lineDashType,x[x.length-1].newLineDashArray=H(da,n.lineThickness)):(da=n.lineDashType,x[x.length-1].newLineDashArray=z)));if(0!==m[q].markerSize&&(0<m[q].markerSize||0<n.markerSize)){var M=
410
+ n.getMarkerProperties(q,f,h,b);p.push(M);I=W(I);v&&p.push({x:f,y:h,ctx:e,type:M.type,size:M.size,color:I,borderColor:I,borderThickness:M.borderThickness})}(m[q].indexLabel||n.indexLabel||m[q].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:m[q],dataSeries:n,point:{x:f,y:h},direction:0>m[q].y===a.axisY.reversed?1:-1,color:w});h=!1}g();X.drawMarkers(p)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
411
+ "source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(r.x1,r.y1,r.width,r.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStepArea=
412
+ function(a){var g,c;function b(){B&&(0<f.lineThickness&&d.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?s=w:0>a.axisY.viewportMaximum?s=r.y1:0<a.axisY.viewportMinimum&&(s=w),d.lineTo(C,s),d.lineTo(B.x,s),d.closePath(),d.globalAlpha=f.fillOpacity,d.fill(),d.globalAlpha=1,v&&(p.lineTo(C,s),p.lineTo(B.x,s),p.closePath(),p.fill()),d.beginPath(),d.moveTo(C,t),p.beginPath(),p.moveTo(C,t),B={x:C,y:t})}var e=a.targetCanvasCtx||this.plotArea.ctx,d=v?this._preRenderCtx:
413
+ e;if(!(0>=a.dataSeriesIndexes.length)){var p=this._eventManager.ghostCtx,r=a.axisY.lineCoordinates,l=[],k=this.plotArea,n;d.save();v&&p.save();d.beginPath();d.rect(k.x1,k.y1,k.width,k.height);d.clip();v&&(p.beginPath(),p.rect(k.x1,k.y1,k.width,k.height),p.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var q=a.dataSeriesIndexes[m],f=this.data[q],h=f.dataPoints,l=f.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:q};l=W(l);p.fillStyle=l;l=[];g=!0;var A=0,C,t,x,w=a.axisY.convertValueToPixel(a.axisY.logarithmic?
414
+ a.axisY.viewportMinimum:0),s,B=null;c=!1;if(0<h.length){var u=f._colorSet[A%f._colorSet.length],y=f.lineColor=f.options.lineColor||u,z=y;d.fillStyle=u;d.strokeStyle=y;d.lineWidth=f.lineThickness;var I="solid";if(d.setLineDash){var M=H(f.nullDataLineDashType,f.lineThickness),I=f.lineDashType,ba=H(I,f.lineThickness);d.setLineDash(ba)}for(;A<h.length;A++)if(x=h[A].x.getTime?h[A].x.getTime():h[A].x,!(x<a.axisX.dataInfo.viewPortMin||x>a.axisX.dataInfo.viewPortMax&&(!f.connectNullData||!c))){var Z=t;"number"!==
415
+ typeof h[A].y?(f.connectNullData||(c||g)||b(),c=!0):(C=a.axisX.convertValueToPixel(x),t=a.axisY.convertValueToPixel(h[A].y),g||c?(!g&&f.connectNullData?(d.setLineDash&&(f.options.nullDataLineDashType||I===f.lineDashType&&f.lineDashType!==f.nullDataLineDashType)&&(g=C,c=t,C=n.x,t=n.y,b(),d.moveTo(n.x,n.y),C=g,t=c,B=n,I=f.nullDataLineDashType,d.setLineDash(M)),d.lineTo(C,Z),d.lineTo(C,t),v&&(p.lineTo(C,Z),p.lineTo(C,t))):(d.beginPath(),d.moveTo(C,t),v&&(p.beginPath(),p.moveTo(C,t)),B={x:C,y:t}),c=g=
416
+ !1):(d.lineTo(C,Z),v&&p.lineTo(C,Z),d.lineTo(C,t),v&&p.lineTo(C,t),0==A%250&&b()),n={x:C,y:t},A<h.length-1&&(z!==(h[A].lineColor||y)||I!==(h[A].lineDashType||f.lineDashType))&&(b(),z=h[A].lineColor||y,d.strokeStyle=z,d.setLineDash&&(h[A].lineDashType?(I=h[A].lineDashType,d.setLineDash(H(I,f.lineThickness))):(I=f.lineDashType,d.setLineDash(ba)))),x=f.dataPointIds[A],this._eventManager.objectMap[x]={id:x,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:A,x1:C,y1:t},0!==h[A].markerSize&&(0<h[A].markerSize||
417
+ 0<f.markerSize)&&(Z=f.getMarkerProperties(A,C,t,d),l.push(Z),x=W(x),v&&l.push({x:C,y:t,ctx:p,type:Z.type,size:Z.size,color:x,borderColor:x,borderThickness:Z.borderThickness})),(h[A].indexLabel||f.indexLabel||h[A].indexLabelFormatter||f.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepArea",dataPoint:h[A],dataSeries:f,point:{x:C,y:t},direction:0>h[A].y===a.axisY.reversed?1:-1,color:u}))}b();X.drawMarkers(l)}}v&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),d.globalCompositeOperation=
418
+ "source-atop",a.axisX.maskCanvas&&d.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&d.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),d.clearRect(k.x1,k.y1,k.width,k.height),this._eventManager.ghostCtx.restore());d.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStackedArea=
419
+ function(a){function g(){if(!(1>k.length)){for(0<u.lineThickness&&b.stroke();0<k.length;){var a=k.pop();b.lineTo(a.x,a.y);v&&C.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=u.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();v&&(C.closePath(),C.fill(),C.beginPath());k=[]}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=null,p=[],r=this.plotArea,l=[],k=[],n=[],m=[],q=0,f,h,A=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:
420
+ 0),C=this._eventManager.ghostCtx,t,x,w;v&&C.beginPath();b.save();v&&C.save();b.beginPath();b.rect(r.x1,r.y1,r.width,r.height);b.clip();v&&(C.beginPath(),C.rect(r.x1,r.y1,r.width,r.height),C.clip());for(var e=[],s=0;s<a.dataSeriesIndexes.length;s++){var B=a.dataSeriesIndexes[s],u=this.data[B],y=u.dataPoints;u.dataPointIndexes=[];for(q=0;q<y.length;q++)B=y[q].x.getTime?y[q].x.getTime():y[q].x,u.dataPointIndexes[B]=q,e[B]||(n.push(B),e[B]=!0);n.sort(Ua)}for(s=0;s<a.dataSeriesIndexes.length;s++){B=a.dataSeriesIndexes[s];
421
+ u=this.data[B];y=u.dataPoints;x=!0;k=[];q=u.id;this._eventManager.objectMap[q]={objectType:"dataSeries",dataSeriesIndex:B};q=W(q);C.fillStyle=q;if(0<n.length){var e=u._colorSet[0],z=u.lineColor=u.options.lineColor||e,I=z;b.fillStyle=e;b.strokeStyle=z;b.lineWidth=u.lineThickness;w="solid";if(b.setLineDash){var M=H(u.nullDataLineDashType,u.lineThickness);w=u.lineDashType;var ba=H(w,u.lineThickness);b.setLineDash(ba)}for(var Z=!0,q=0;q<n.length;q++){var d=n[q],ca=null,ca=0<=u.dataPointIndexes[d]?y[u.dataPointIndexes[d]]:
422
+ {x:d,y:null};if(!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax&&(!u.connectNullData||!Z)))if("number"!==typeof ca.y)u.connectNullData||(Z||x)||g(),Z=!0;else{f=a.axisX.convertValueToPixel(d);var pa=l[d]?l[d]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){m[d]=ca.y+(m[d]?m[d]:0);if(0>=m[d]&&a.axisY.logarithmic)continue;h=a.axisY.convertValueToPixel(m[d])}else h=a.axisY.convertValueToPixel(ca.y),h-=pa;k.push({x:f,y:A-pa});l[d]=A-h;x||Z?(!x&&
423
+ u.connectNullData?(b.setLineDash&&(u.options.nullDataLineDashType||w===u.lineDashType&&u.lineDashType!==u.nullDataLineDashType)&&(x=k.pop(),w=k[k.length-1],g(),b.moveTo(t.x,t.y),k.push(w),k.push(x),w=u.nullDataLineDashType,b.setLineDash(M)),b.lineTo(f,h),v&&C.lineTo(f,h)):(b.beginPath(),b.moveTo(f,h),v&&(C.beginPath(),C.moveTo(f,h))),Z=x=!1):(b.lineTo(f,h),v&&C.lineTo(f,h),0==q%250&&(g(),b.moveTo(f,h),v&&C.moveTo(f,h),k.push({x:f,y:A-pa})));t={x:f,y:h};q<y.length-1&&(I!==(y[q].lineColor||z)||w!==
424
+ (y[q].lineDashType||u.lineDashType))&&(g(),b.beginPath(),b.moveTo(f,h),k.push({x:f,y:A-pa}),I=y[q].lineColor||z,b.strokeStyle=I,b.setLineDash&&(y[q].lineDashType?(w=y[q].lineDashType,b.setLineDash(H(w,u.lineThickness))):(w=u.lineDashType,b.setLineDash(ba))));if(0<=u.dataPointIndexes[d]){var ea=u.dataPointIds[u.dataPointIndexes[d]];this._eventManager.objectMap[ea]={id:ea,objectType:"dataPoint",dataSeriesIndex:B,dataPointIndex:u.dataPointIndexes[d],x1:f,y1:h}}0<=u.dataPointIndexes[d]&&0!==ca.markerSize&&
425
+ (0<ca.markerSize||0<u.markerSize)&&(pa=u.getMarkerProperties(u.dataPointIndexes[d],f,h,b),p.push(pa),d=W(ea),v&&p.push({x:f,y:h,ctx:C,type:pa.type,size:pa.size,color:d,borderColor:d,borderThickness:pa.borderThickness}));(ca.indexLabel||u.indexLabel||ca.indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:ca,dataSeries:u,point:{x:f,y:h},direction:0>ca.y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(f,h);v&&C.moveTo(f,h)}delete u.dataPointIndexes}X.drawMarkers(p);
426
+ v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(r.x1,r.y1,r.width,r.height),C.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,
427
+ easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderStackedArea100=function(a){function g(){for(0<y.lineThickness&&b.stroke();0<k.length;){var a=k.pop();b.lineTo(a.x,a.y);v&&w.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=y.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();v&&(w.closePath(),w.fill(),w.beginPath());k=[]}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=null,p=this.plotArea,r=[],l=[],k=[],n=[],m=[],q=
428
+ 0,f,h,A,C,t,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),w=this._eventManager.ghostCtx;b.save();v&&w.save();b.beginPath();b.rect(p.x1,p.y1,p.width,p.height);b.clip();v&&(w.beginPath(),w.rect(p.x1,p.y1,p.width,p.height),w.clip());for(var e=[],s=0;s<a.dataSeriesIndexes.length;s++){var u=a.dataSeriesIndexes[s],y=this.data[u],z=y.dataPoints;y.dataPointIndexes=[];for(q=0;q<z.length;q++)u=z[q].x.getTime?z[q].x.getTime():z[q].x,y.dataPointIndexes[u]=q,e[u]||(n.push(u),e[u]=
429
+ !0);n.sort(Ua)}for(s=0;s<a.dataSeriesIndexes.length;s++){u=a.dataSeriesIndexes[s];y=this.data[u];z=y.dataPoints;C=!0;e=y.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:u};e=W(e);w.fillStyle=e;k=[];if(0<n.length){var e=y._colorSet[q%y._colorSet.length],D=y.lineColor=y.options.lineColor||e,I=D;b.fillStyle=e;b.strokeStyle=D;b.lineWidth=y.lineThickness;t="solid";if(b.setLineDash){var M=H(y.nullDataLineDashType,y.lineThickness);t=y.lineDashType;var ba=H(t,y.lineThickness);
430
+ b.setLineDash(ba)}for(var Z=!0,q=0;q<n.length;q++){var d=n[q],ca=null,ca=0<=y.dataPointIndexes[d]?z[y.dataPointIndexes[d]]:{x:d,y:null};if(!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax&&(!y.connectNullData||!Z)))if("number"!==typeof ca.y)y.connectNullData||(Z||C)||g(),Z=!0;else{var pa;pa=0!==a.dataPointYSums[d]?100*(ca.y/a.dataPointYSums[d]):0;f=a.axisX.convertValueToPixel(d);var ea=l[d]?l[d]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){m[d]=
431
+ pa+(m[d]?m[d]:0);if(0>=m[d]&&a.axisY.logarithmic)continue;h=a.axisY.convertValueToPixel(m[d])}else h=a.axisY.convertValueToPixel(pa),h-=ea;k.push({x:f,y:x-ea});l[d]=x-h;C||Z?(!C&&y.connectNullData?(b.setLineDash&&(y.options.nullDataLineDashType||t===y.lineDashType&&y.lineDashType!==y.nullDataLineDashType)&&(C=k.pop(),t=k[k.length-1],g(),b.moveTo(A.x,A.y),k.push(t),k.push(C),t=y.nullDataLineDashType,b.setLineDash(M)),b.lineTo(f,h),v&&w.lineTo(f,h)):(b.beginPath(),b.moveTo(f,h),v&&(w.beginPath(),w.moveTo(f,
432
+ h))),Z=C=!1):(b.lineTo(f,h),v&&w.lineTo(f,h),0==q%250&&(g(),b.moveTo(f,h),v&&w.moveTo(f,h),k.push({x:f,y:x-ea})));A={x:f,y:h};q<z.length-1&&(I!==(z[q].lineColor||D)||t!==(z[q].lineDashType||y.lineDashType))&&(g(),b.beginPath(),b.moveTo(f,h),k.push({x:f,y:x-ea}),I=z[q].lineColor||D,b.strokeStyle=I,b.setLineDash&&(z[q].lineDashType?(t=z[q].lineDashType,b.setLineDash(H(t,y.lineThickness))):(t=y.lineDashType,b.setLineDash(ba))));if(0<=y.dataPointIndexes[d]){var E=y.dataPointIds[y.dataPointIndexes[d]];
433
+ this._eventManager.objectMap[E]={id:E,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:y.dataPointIndexes[d],x1:f,y1:h}}0<=y.dataPointIndexes[d]&&0!==ca.markerSize&&(0<ca.markerSize||0<y.markerSize)&&(ea=y.getMarkerProperties(y.dataPointIndexes[d],f,h,b),r.push(ea),d=W(E),v&&r.push({x:f,y:h,ctx:w,type:ea.type,size:ea.size,color:d,borderColor:d,borderThickness:ea.borderThickness}));(ca.indexLabel||y.indexLabel||ca.indexLabelFormatter||y.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",
434
+ dataPoint:ca,dataSeries:y,point:{x:f,y:h},direction:0>ca.y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(f,h);v&&w.moveTo(f,h)}delete y.dataPointIndexes}X.drawMarkers(r);v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
435
+ 0,0,this.width,this.height),b.clearRect(p.x1,p.y1,p.width,p.height),w.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderBubble=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,d,p;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),
436
+ this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var r=-Infinity,l=Infinity,k=0;k<a.dataSeriesIndexes.length;k++)for(var n=a.dataSeriesIndexes[k],m=this.data[n],q=m.dataPoints,f=0,e=0;e<q.length;e++)d=q[e].getTime?d=q[e].x.getTime():d=q[e].x,d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax||"undefined"===typeof q[e].z||(f=q[e].z,f>r&&(r=f),f<l&&(l=f));for(var h=25*Math.PI,A=Math.max(Math.pow(0.25*Math.min(b.height,b.width)/2,2)*Math.PI,
437
+ h),k=0;k<a.dataSeriesIndexes.length;k++)if(n=a.dataSeriesIndexes[k],m=this.data[n],q=m.dataPoints,0<q.length)for(c.strokeStyle="#4572A7 ",e=0;e<q.length;e++)if(d=q[e].getTime?d=q[e].x.getTime():d=q[e].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof q[e].y){d=a.axisX.convertValueToPixel(d);p=a.axisY.convertValueToPixel(q[e].y);var f=q[e].z,C=2*Math.max(Math.sqrt((r===l?A/2:h+(A-h)/(r-l)*(f-l))/Math.PI)<<0,1),f=m.getMarkerProperties(e,c);f.size=C;c.globalAlpha=
438
+ m.fillOpacity;X.drawMarker(d,p,c,f.type,f.size,f.color,f.borderColor,f.borderThickness);c.globalAlpha=1;var t=m.dataPointIds[e];this._eventManager.objectMap[t]={id:t,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:e,x1:d,y1:p,size:C};C=W(t);v&&X.drawMarker(d,p,this._eventManager.ghostCtx,f.type,f.size,C,C,f.borderThickness);(q[e].indexLabel||m.indexLabel||q[e].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:q[e],dataSeries:m,point:{x:d,y:p},
439
+ direction:1,bounds:{x1:d-f.size/2,y1:p-f.size/2,x2:d+f.size/2,y2:p+f.size/2},color:null})}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());
440
+ c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderScatter=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,d,p;c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,
441
+ b.width,b.height),this._eventManager.ghostCtx.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var l=a.dataSeriesIndexes[r],k=this.data[l],n=k.dataPoints;if(0<n.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,b.width)/2,2);for(var m=0,q=0,e=0;e<n.length;e++)if(d=n[e].getTime?d=n[e].x.getTime():d=n[e].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof n[e].y){d=a.axisX.convertValueToPixel(d);p=a.axisY.convertValueToPixel(n[e].y);var f=k.getMarkerProperties(e,
442
+ d,p,c);c.globalAlpha=k.fillOpacity;X.drawMarker(f.x,f.y,f.ctx,f.type,f.size,f.color,f.borderColor,f.borderThickness);c.globalAlpha=1;Math.sqrt((m-d)*(m-d)+(q-p)*(q-p))<Math.min(f.size,5)&&n.length>Math.min(this.plotArea.width,this.plotArea.height)||(m=k.dataPointIds[e],this._eventManager.objectMap[m]={id:m,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:e,x1:d,y1:p},m=W(m),v&&X.drawMarker(f.x,f.y,this._eventManager.ghostCtx,f.type,f.size,m,m,f.borderThickness),(n[e].indexLabel||k.indexLabel||
443
+ n[e].indexLabelFormatter||k.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:n[e],dataSeries:k,point:{x:d,y:p},direction:1,bounds:{x1:d-f.size/2,y1:p-f.size/2,x2:d+f.size/2,y2:p+f.size/2},color:null}),m=d,q=p)}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
444
+ this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderCandlestick=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=
445
+ null,d=null,p=this.plotArea,r=0,h,k,n,m,q,f,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,s=a.axisX.dataInfo.minDiff;isFinite(s)||(s=0.3*Math.abs(a.axisX.range));s=this.options.dataPointWidth?this.dataPointWidth:0.7*p.width*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))<<0;
446
+ this.dataPointMaxWidth&&e>d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));s<e&&(s=e);s>d&&(s=d);c.save();v&&b.save();c.beginPath();c.rect(p.x1,p.y1,p.width,p.height);c.clip();v&&(b.beginPath(),b.rect(p.x1,p.y1,p.width,p.height),b.clip());for(var A=0;A<a.dataSeriesIndexes.length;A++){var C=a.dataSeriesIndexes[A],t=this.data[C],x=t.dataPoints;
447
+ if(0<x.length)for(var w=5<s&&t.bevelEnabled?!0:!1,r=0;r<x.length;r++)if(x[r].getTime?f=x[r].x.getTime():f=x[r].x,!(f<a.axisX.dataInfo.viewPortMin||f>a.axisX.dataInfo.viewPortMax)&&!l(x[r].y)&&x[r].y.length&&"number"===typeof x[r].y[0]&&"number"===typeof x[r].y[1]&&"number"===typeof x[r].y[2]&&"number"===typeof x[r].y[3]){h=a.axisX.convertValueToPixel(f);k=a.axisY.convertValueToPixel(x[r].y[0]);n=a.axisY.convertValueToPixel(x[r].y[1]);m=a.axisY.convertValueToPixel(x[r].y[2]);q=a.axisY.convertValueToPixel(x[r].y[3]);
448
+ var u=h-s/2<<0,B=u+s<<0,d=t.options.fallingColor?t.fallingColor:t._colorSet[0],e=x[r].color?x[r].color:t._colorSet[0],y=Math.round(Math.max(1,0.15*s)),z=0===y%2?0:0.5,D=t.dataPointIds[r];this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:C,dataPointIndex:r,x1:u,y1:k,x2:B,y2:n,x3:h,y3:m,x4:h,y4:q,borderThickness:y,color:e};c.strokeStyle=e;c.beginPath();c.lineWidth=y;b.lineWidth=Math.max(y,4);"candlestick"===t.type?(c.moveTo(h-z,n),c.lineTo(h-z,Math.min(k,q)),c.stroke(),c.moveTo(h-
449
+ z,Math.max(k,q)),c.lineTo(h-z,m),c.stroke(),fa(c,u,Math.min(k,q),B,Math.max(k,q),x[r].y[0]<=x[r].y[3]?t.risingColor:d,y,e,w,w,!1,!1,t.fillOpacity),v&&(e=W(D),b.strokeStyle=e,b.beginPath(),b.moveTo(h-z,n),b.lineTo(h-z,Math.min(k,q)),b.stroke(),b.moveTo(h-z,Math.max(k,q)),b.lineTo(h-z,m),b.stroke(),fa(b,u,Math.min(k,q),B,Math.max(k,q),e,0,null,!1,!1,!1,!1))):"ohlc"===t.type&&(c.moveTo(h-z,n),c.lineTo(h-z,m),c.stroke(),c.beginPath(),c.moveTo(h,k),c.lineTo(u,k),c.stroke(),c.beginPath(),c.moveTo(h,q),
450
+ c.lineTo(B,q),c.stroke(),v&&(b.beginPath(),e=W(D),b.strokeStyle=e,b.moveTo(h-z,n),b.lineTo(h-z,m),b.stroke(),b.beginPath(),b.moveTo(h,k),b.lineTo(u,k),b.stroke(),b.beginPath(),b.moveTo(h,q),b.lineTo(B,q),b.stroke()));(x[r].indexLabel||t.indexLabel||x[r].indexLabelFormatter||t.indexLabelFormatter)&&this._indexLabels.push({chartType:t.type,dataPoint:x[r],dataSeries:t,point:{x:u+(B-u)/2,y:a.axisY.reversed?m:n},direction:1,bounds:{x1:u,y1:Math.min(n,m),x2:B,y2:Math.max(n,m)},color:e})}}v&&(g.drawImage(this._preRenderCanvas,
451
+ 0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(p.x1,p.y1,p.width,p.height),b.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,
452
+ animationBase:0}}};u.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=this.plotArea,p=0,r,h,k,n,m,q,f,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,s=a.axisX.dataInfo.minDiff;isFinite(s)||
453
+ (s=0.3*Math.abs(a.axisX.range));s=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(s)/Math.log(a.axisX.range):Math.abs(s)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>p&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<e)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));s<e&&(s=e);s>p&&(s=p);c.save();v&&b.save();c.beginPath();c.rect(d.x1,d.y1,d.width,
454
+ d.height);c.clip();v&&(b.beginPath(),b.rect(d.x1,d.y1,d.width,d.height),b.clip());for(var A=!1,A=!!a.axisY.reversed,C=0;C<a.dataSeriesIndexes.length;C++){var t=a.dataSeriesIndexes[C],x=this.data[t],w=x.dataPoints;if(0<w.length)for(var u=5<s&&x.bevelEnabled?!0:!1,p=0;p<w.length;p++)if(w[p].getTime?f=w[p].x.getTime():f=w[p].x,!(f<a.axisX.dataInfo.viewPortMin||f>a.axisX.dataInfo.viewPortMax)&&!l(w[p].y)&&w[p].y.length&&"number"===typeof w[p].y[0]&&"number"===typeof w[p].y[1]&&"number"===typeof w[p].y[2]&&
455
+ "number"===typeof w[p].y[3]&&"number"===typeof w[p].y[4]&&5===w[p].y.length){r=a.axisX.convertValueToPixel(f);h=a.axisY.convertValueToPixel(w[p].y[0]);k=a.axisY.convertValueToPixel(w[p].y[1]);n=a.axisY.convertValueToPixel(w[p].y[2]);m=a.axisY.convertValueToPixel(w[p].y[3]);q=a.axisY.convertValueToPixel(w[p].y[4]);var B=r-s/2<<0,y=r+s/2<<0,e=w[p].color?w[p].color:x._colorSet[0],z=Math.round(Math.max(1,0.15*s)),D=0===z%2?0:0.5,I=w[p].whiskerColor?w[p].whiskerColor:w[p].color?x.whiskerColor?x.whiskerColor:
456
+ w[p].color:x.whiskerColor?x.whiskerColor:e,M="number"===typeof w[p].whiskerThickness?w[p].whiskerThickness:"number"===typeof x.options.whiskerThickness?x.whiskerThickness:z,ba=w[p].whiskerDashType?w[p].whiskerDashType:x.whiskerDashType,Z=l(w[p].whiskerLength)?l(x.options.whiskerLength)?s:x.whiskerLength:w[p].whiskerLength,Z="number"===typeof Z?0>=Z?0:Z>=s?s:Z:"string"===typeof Z?parseInt(Z)*s/100>s?s:parseInt(Z)*s/100:s,ca=1===Math.round(M)%2?0.5:0,pa=w[p].stemColor?w[p].stemColor:w[p].color?x.stemColor?
457
+ x.stemColor:w[p].color:x.stemColor?x.stemColor:e,ea="number"===typeof w[p].stemThickness?w[p].stemThickness:"number"===typeof x.options.stemThickness?x.stemThickness:z,E=1===Math.round(ea)%2?0.5:0,F=w[p].stemDashType?w[p].stemDashType:x.stemDashType,J=w[p].lineColor?w[p].lineColor:w[p].color?x.lineColor?x.lineColor:w[p].color:x.lineColor?x.lineColor:e,O="number"===typeof w[p].lineThickness?w[p].lineThickness:"number"===typeof x.options.lineThickness?x.lineThickness:z,V=w[p].lineDashType?w[p].lineDashType:
458
+ x.lineDashType,$=1===Math.round(O)%2?0.5:0,R=x.upperBoxColor,ya=x.lowerBoxColor,ua=l(x.options.fillOpacity)?1:x.fillOpacity,N=x.dataPointIds[p];this._eventManager.objectMap[N]={id:N,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:p,x1:B,y1:h,x2:y,y2:k,x3:r,y3:n,x4:r,y4:m,y5:q,borderThickness:z,color:e,stemThickness:ea,stemColor:pa,whiskerThickness:M,whiskerLength:Z,whiskerColor:I,lineThickness:O,lineColor:J};c.save();0<ea&&(c.beginPath(),c.strokeStyle=pa,c.lineWidth=ea,c.setLineDash&&c.setLineDash(H(F,
459
+ ea)),c.moveTo(r-E,k),c.lineTo(r-E,h),c.stroke(),c.moveTo(r-E,m),c.lineTo(r-E,n),c.stroke());c.restore();b.lineWidth=Math.max(z,4);c.beginPath();fa(c,B,Math.max(Math.min(q,k),d.y1-z/2),y,Math.min(Math.max(k,q),d.y2+z/2),ya,0,e,A?u:!1,A?!1:u,!1,!1,ua);c.beginPath();fa(c,B,Math.max(Math.min(n,q),d.y1-z/2),y,Math.min(Math.max(q,n),d.y2+z/2),R,0,e,A?!1:u,A?u:!1,!1,!1,ua);c.beginPath();c.lineWidth=z;c.strokeStyle=e;c.rect(B-D,Math.max(Math.min(k,n)-D,d.y1-z/2),y-B+2*D,Math.min(Math.max(k,n),d.y2+z/2)-Math.max(Math.min(k,
460
+ n)-D,d.y1-z/2)+2*D);c.stroke();c.save();0<O&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(H(V,O)),c.strokeStyle=J,c.lineWidth=O,c.moveTo(B,q-$),c.lineTo(y,q-$),c.stroke());c.restore();c.save();0<M&&(c.beginPath(),c.setLineDash&&c.setLineDash(H(ba,M)),c.strokeStyle=I,c.lineWidth=M,c.moveTo(r-Z/2<<0,m-ca),c.lineTo(r+Z/2<<0,m-ca),c.stroke(),c.moveTo(r-Z/2<<0,h+ca),c.lineTo(r+Z/2<<0,h+ca),c.stroke());c.restore();v&&(e=W(N),b.strokeStyle=e,b.lineWidth=ea,0<ea&&(b.beginPath(),b.moveTo(r-
461
+ D-E,k),b.lineTo(r-D-E,Math.max(h,m)),b.stroke(),b.moveTo(r-D-E,Math.min(h,m)),b.lineTo(r-D-E,n),b.stroke()),fa(b,B,Math.max(k,n),y,Math.min(k,n),e,0,null,!1,!1,!1,!1),0<M&&(b.beginPath(),b.lineWidth=M,b.moveTo(r+Z/2,m-ca),b.lineTo(r-Z/2,m-ca),b.stroke(),b.moveTo(r+Z/2,h+ca),b.lineTo(r-Z/2,h+ca),b.stroke()));(w[p].indexLabel||x.indexLabel||w[p].indexLabelFormatter||x.indexLabelFormatter)&&this._indexLabels.push({chartType:x.type,dataPoint:w[p],dataSeries:x,point:{x:B+(y-B)/2,y:a.axisY.reversed?h:m},
462
+ direction:1,bounds:{x1:B,y1:Math.min(h,m),x2:y,y2:Math.max(h,m)},color:e})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),b.restore());c.restore();
463
+ return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderRangeColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=0,p,r,h,d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?
464
+ this.dataPointWidth:0.03*this.width;var k=a.axisX.dataInfo.minDiff;isFinite(k)||(k=0.3*Math.abs(a.axisX.range));k=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(k)/Math.log(a.axisX.range):Math.abs(k)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>p&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<d)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:
465
+ -Infinity,d));k<d&&(k=d);k>p&&(k=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var n=0;n<a.dataSeriesIndexes.length;n++){var m=a.dataSeriesIndexes[n],q=this.data[m],f=q.dataPoints;if(0<f.length)for(var s=5<k&&q.bevelEnabled?!0:!1,d=0;d<f.length;d++)if(f[d].getTime?h=f[d].x.getTime():h=f[d].x,!(h<
466
+ a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!l(f[d].y)&&f[d].y.length&&"number"===typeof f[d].y[0]&&"number"===typeof f[d].y[1]){b=a.axisX.convertValueToPixel(h);p=a.axisY.convertValueToPixel(f[d].y[0]);r=a.axisY.convertValueToPixel(f[d].y[1]);var A=a.axisX.reversed?b+a.plotType.totalDataSeries*k/2-(a.previousDataSeriesCount+n)*k<<0:b-a.plotType.totalDataSeries*k/2+(a.previousDataSeriesCount+n)*k<<0,C=a.axisX.reversed?A-k<<0:A+k<<0,b=f[d].color?f[d].color:q._colorSet[d%q._colorSet.length];
467
+ if(p>r){var t=p;p=r;r=t}var t=Math.max(p,e.y1),x=Math.min(r,e.y2),w=q.dataPointIds[d];this._eventManager.objectMap[w]={id:w,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:d,x1:A,y1:t,x2:C,y2:x};fa(c,a.axisX.reversed?C:A,t,a.axisX.reversed?A:C,x,b,0,b,s,s,!1,!1,q.fillOpacity);b=W(w);v&&fa(this._eventManager.ghostCtx,a.axisX.reversed?C:A,t,a.axisX.reversed?A:C,x,b,0,null,!1,!1,!1,!1);if(f[d].indexLabel||q.indexLabel||f[d].indexLabelFormatter||q.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",
468
+ dataPoint:f[d],dataSeries:q,indexKeyword:0,point:{x:A+(C-A)/2,y:f[d].y[1]>=f[d].y[0]?r:p},direction:f[d].y[1]>=f[d].y[0]?-1:1,bounds:{x1:A,y1:Math.min(p,r),x2:C,y2:Math.max(p,r)},color:b}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:f[d],dataSeries:q,indexKeyword:1,point:{x:A+(C-A)/2,y:f[d].y[1]>=f[d].y[0]?p:r},direction:f[d].y[1]>=f[d].y[0]?1:-1,bounds:{x1:A,y1:Math.min(p,r),x2:C,y2:Math.max(p,r)},color:b})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation=
469
+ "source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderError=
470
+ function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g,b=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,d=!1,p=this.plotArea,r=0,h,k,n,m,q,f,s,A=a.axisX.dataInfo.minDiff;isFinite(A)||(A=0.3*Math.abs(a.axisX.range));c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(p.x1,p.y1,p.width,p.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(p.x1,
471
+ p.y1,p.width,p.height),this._eventManager.ghostCtx.clip());for(var C=0,t=0;t<this.data.length;t++)!this.data[t].type.match(/(bar|column)/ig)||!this.data[t].visible||this.data[t].type.match(/(stacked)/ig)&&C||C++;for(var x=0;x<a.dataSeriesIndexes.length;x++){var w=a.dataSeriesIndexes[x],u=this.data[w],B=u.dataPoints,y=l(u._linkedSeries)?!1:u._linkedSeries.type.match(/(bar|column)/ig)&&u._linkedSeries.visible?!0:!1,D=0;if(y)for(e=u._linkedSeries.id,t=0;t<e;t++)!this.data[t].type.match(/(bar|column)/ig)||
472
+ !this.data[t].visible||this.data[t].type.match(/(stacked)/ig)&&D||(this.data[t].type.match(/(range)/ig)&&(d=!0),D++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(y?C:1)))<<0:0.3*this.width;d&&(r=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
473
+ b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(y?C:1)))<<0:0.03*this.width);t=this.options.dataPointWidth?this.dataPointWidth:0.9*((b?p.height:p.width)*(a.axisX.logarithmic?Math.log(A)/Math.log(a.axisX.range):Math.abs(A)/Math.abs(a.axisX.range))/(y?C:1))<<0;this.dataPointMaxWidth&&e>r&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,r));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&r<e)&&(r=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));t<e&&
474
+ (t=e);t>r&&(t=r);if(0<B.length)for(var F=u._colorSet,r=0;r<B.length;r++){var e=u.lineColor=u.options.color?u.options.color:F[0],I={color:B[r].whiskerColor?B[r].whiskerColor:B[r].color?u.whiskerColor?u.whiskerColor:B[r].color:u.whiskerColor?u.whiskerColor:e,thickness:l(B[r].whiskerThickness)?u.whiskerThickness:B[r].whiskerThickness,dashType:B[r].whiskerDashType?B[r].whiskerDashType:u.whiskerDashType,length:l(B[r].whiskerLength)?l(u.options.whiskerLength)?t:u.options.whiskerLength:B[r].whiskerLength,
475
+ trimLength:l(B[r].whiskerLength)?l(u.options.whiskerLength)?50:0:0};I.length="number"===typeof I.length?0>=I.length?0:I.length>=t?t:I.length:"string"===typeof I.length?parseInt(I.length)*t/100>t?t:parseInt(I.length)*t/100>t:t;I.thickness="number"===typeof I.thickness?0>I.thickness?0:Math.round(I.thickness):2;var M={color:B[r].stemColor?B[r].stemColor:B[r].color?u.stemColor?u.stemColor:B[r].color:u.stemColor?u.stemColor:e,thickness:B[r].stemThickness?B[r].stemThickness:u.stemThickness,dashType:B[r].stemDashType?
476
+ B[r].stemDashType:u.stemDashType};M.thickness="number"===typeof M.thickness?0>M.thickness?0:Math.round(M.thickness):2;B[r].getTime?s=B[r].x.getTime():s=B[r].x;if(!(s<a.axisX.dataInfo.viewPortMin||s>a.axisX.dataInfo.viewPortMax)&&!l(B[r].y)&&B[r].y.length&&"number"===typeof B[r].y[0]&&"number"===typeof B[r].y[1]){var ba=a.axisX.convertValueToPixel(s);b?k=ba:h=ba;ba=a.axisY.convertValueToPixel(B[r].y[0]);b?n=ba:q=ba;ba=a.axisY.convertValueToPixel(B[r].y[1]);b?m=ba:f=ba;b?(q=a.axisX.reversed?k+(y?C:
477
+ 1)*t/2-(y?D-1:0)*t<<0:k-(y?C:1)*t/2+(y?D-1:0)*t<<0,f=a.axisX.reversed?q-t<<0:q+t<<0):(n=a.axisX.reversed?h+(y?C:1)*t/2-(y?D-1:0)*t<<0:h-(y?C:1)*t/2+(y?D-1:0)*t<<0,m=a.axisX.reversed?n-t<<0:n+t<<0);!b&&q>f&&(ba=q,q=f,f=ba);b&&n>m&&(ba=n,n=m,m=ba);ba=u.dataPointIds[r];this._eventManager.objectMap[ba]={id:ba,objectType:"dataPoint",dataSeriesIndex:w,dataPointIndex:r,x1:Math.min(n,m),y1:Math.min(q,f),x2:Math.max(m,n),y2:Math.max(f,q),isXYSwapped:b,stemProperties:M,whiskerProperties:I};z(c,Math.min(n,m),
478
+ Math.min(q,f),Math.max(m,n),Math.max(f,q),e,I,M,b);v&&z(this._eventManager.ghostCtx,n,q,m,f,e,I,M,b);if(B[r].indexLabel||u.indexLabel||B[r].indexLabelFormatter||u.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:B[r],dataSeries:u,indexKeyword:0,point:{x:b?B[r].y[1]>=B[r].y[0]?n:m:n+(m-n)/2,y:b?q+(f-q)/2:B[r].y[1]>=B[r].y[0]?f:q},direction:B[r].y[1]>=B[r].y[0]?-1:1,bounds:{x1:b?Math.min(n,m):n,y1:b?q:Math.min(q,f),x2:b?Math.max(n,m):m,y2:b?f:Math.max(q,f)},color:e,axisSwapped:b}),
479
+ this._indexLabels.push({chartType:"error",dataPoint:B[r],dataSeries:u,indexKeyword:1,point:{x:b?B[r].y[1]>=B[r].y[0]?m:n:n+(m-n)/2,y:b?q+(f-q)/2:B[r].y[1]>=B[r].y[0]?q:f},direction:B[r].y[1]>=B[r].y[0]?1:-1,bounds:{x1:b?Math.min(n,m):n,y1:b?q:Math.min(q,f),x2:b?Math.max(n,m):m,y2:b?f:Math.max(q,f)},color:e,axisSwapped:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),
480
+ a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(p.x1,p.y1,p.width,p.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:
481
+ g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,d=0,p,r,h,k,d=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*
482
+ (e.height*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&d>p&&(d=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<d)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,d));n<d&&(n=d);n>p&&(n=p);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();v&&(this._eventManager.ghostCtx.beginPath(),
483
+ this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var m=0;m<a.dataSeriesIndexes.length;m++){var q=a.dataSeriesIndexes[m],f=this.data[q],s=f.dataPoints;if(0<s.length){var A=5<n&&f.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(d=0;d<s.length;d++)if(s[d].getTime?k=s[d].x.getTime():k=s[d].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&!l(s[d].y)&&s[d].y.length&&"number"===typeof s[d].y[0]&&"number"===typeof s[d].y[1]){p=a.axisY.convertValueToPixel(s[d].y[0]);
484
+ r=a.axisY.convertValueToPixel(s[d].y[1]);h=a.axisX.convertValueToPixel(k);h=a.axisX.reversed?h+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+m)*n<<0:h-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+m)*n<<0;var C=a.axisX.reversed?h-n<<0:h+n<<0;p>r&&(b=p,p=r,r=b);b=s[d].color?s[d].color:f._colorSet[d%f._colorSet.length];fa(c,p,a.axisX.reversed?C:h,r,a.axisX.reversed?h:C,b,0,null,A,!1,!1,!1,f.fillOpacity);b=f.dataPointIds[d];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",
485
+ dataSeriesIndex:q,dataPointIndex:d,x1:p,y1:h,x2:r,y2:C};b=W(b);v&&fa(this._eventManager.ghostCtx,p,a.axisX.reversed?C:h,r,a.axisX.reversed?h:C,b,0,null,!1,!1,!1,!1);if(s[d].indexLabel||f.indexLabel||s[d].indexLabelFormatter||f.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:s[d],dataSeries:f,indexKeyword:0,point:{x:s[d].y[1]>=s[d].y[0]?p:r,y:h+(C-h)/2},direction:s[d].y[1]>=s[d].y[0]?-1:1,bounds:{x1:Math.min(p,r),y1:h,x2:Math.max(p,r),y2:C},color:b}),this._indexLabels.push({chartType:"rangeBar",
486
+ dataPoint:s[d],dataSeries:f,indexKeyword:1,point:{x:s[d].y[1]>=s[d].y[0]?r:p,y:h+(C-h)/2},direction:s[d].y[1]>=s[d].y[0]?1:-1,bounds:{x1:Math.min(p,r),y1:h,x2:Math.max(p,r),y2:C},color:b})}}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
487
+ 0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};u.prototype.renderRangeArea=function(a){function g(){if(x){for(var a=null,c=l.length-1;0<=c;c--)a=l[c],b.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);b.closePath();b.globalAlpha=n.fillOpacity;b.fill();b.globalAlpha=1;e.fill();if(0<n.lineThickness){b.beginPath();
488
+ b.moveTo(a.x,a.y2);for(c=0;c<l.length;c++)a=l[c],b.lineTo(a.x,a.y2);b.moveTo(l[0].x,l[0].y1);for(c=0;c<l.length;c++)a=l[c],b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(h,A);e.beginPath();e.moveTo(h,A);x={x:h,y:A};l=[];l.push({x:h,y1:A,y2:s})}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,d=[],p=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(p.x1,p.y1,p.width,p.height);b.clip();v&&(e.beginPath(),
489
+ e.rect(p.x1,p.y1,p.width,p.height),e.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var l=[],k=a.dataSeriesIndexes[r],n=this.data[k],m=n.dataPoints,d=n.id;this._eventManager.objectMap[d]={objectType:"dataSeries",dataSeriesIndex:k};d=W(d);e.fillStyle=d;var d=[],q=!0,f=0,h,A,s,t,x=null;if(0<m.length){var w=n._colorSet[f%n._colorSet.length],u=n.lineColor=n.options.lineColor||w,y=u;b.fillStyle=w;b.strokeStyle=u;b.lineWidth=n.lineThickness;var z="solid";if(b.setLineDash){var D=H(n.nullDataLineDashType,
490
+ n.lineThickness),z=n.lineDashType,F=H(z,n.lineThickness);b.setLineDash(F)}for(var I=!0;f<m.length;f++)if(t=m[f].x.getTime?m[f].x.getTime():m[f].x,!(t<a.axisX.dataInfo.viewPortMin||t>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!I)))if(null!==m[f].y&&m[f].y.length&&"number"===typeof m[f].y[0]&&"number"===typeof m[f].y[1]){h=a.axisX.convertValueToPixel(t);A=a.axisY.convertValueToPixel(m[f].y[0]);s=a.axisY.convertValueToPixel(m[f].y[1]);q||I?(n.connectNullData&&!q?(b.setLineDash&&(n.options.nullDataLineDashType||
491
+ z===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(l[l.length-1].newLineDashArray=F,z=n.nullDataLineDashType,b.setLineDash(D)),b.lineTo(h,A),v&&e.lineTo(h,A),l.push({x:h,y1:A,y2:s})):(b.beginPath(),b.moveTo(h,A),x={x:h,y:A},l=[],l.push({x:h,y1:A,y2:s}),v&&(e.beginPath(),e.moveTo(h,A))),I=q=!1):(b.lineTo(h,A),l.push({x:h,y1:A,y2:s}),v&&e.lineTo(h,A),0==f%250&&g());t=n.dataPointIds[f];this._eventManager.objectMap[t]={id:t,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:f,x1:h,y1:A,
492
+ y2:s};f<m.length-1&&(y!==(m[f].lineColor||u)||z!==(m[f].lineDashType||n.lineDashType))&&(g(),y=m[f].lineColor||u,l[l.length-1].newStrokeStyle=y,b.strokeStyle=y,b.setLineDash&&(m[f].lineDashType?(z=m[f].lineDashType,l[l.length-1].newLineDashArray=H(z,n.lineThickness),b.setLineDash(l[l.length-1].newLineDashArray)):(z=n.lineDashType,l[l.length-1].newLineDashArray=F,b.setLineDash(F))));if(0!==m[f].markerSize&&(0<m[f].markerSize||0<n.markerSize)){var M=n.getMarkerProperties(f,h,s,b);d.push(M);var ba=W(t);
493
+ v&&d.push({x:h,y:s,ctx:e,type:M.type,size:M.size,color:ba,borderColor:ba,borderThickness:M.borderThickness});M=n.getMarkerProperties(f,h,A,b);d.push(M);ba=W(t);v&&d.push({x:h,y:A,ctx:e,type:M.type,size:M.size,color:ba,borderColor:ba,borderThickness:M.borderThickness})}if(m[f].indexLabel||n.indexLabel||m[f].indexLabelFormatter||n.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:m[f],dataSeries:n,indexKeyword:0,point:{x:h,y:A},direction:m[f].y[0]>m[f].y[1]===a.axisY.reversed?
494
+ -1:1,color:w}),this._indexLabels.push({chartType:"rangeArea",dataPoint:m[f],dataSeries:n,indexKeyword:1,point:{x:h,y:s},direction:m[f].y[0]>m[f].y[1]===a.axisY.reversed?1:-1,color:w})}else I||q||g(),I=!0;g();X.drawMarkers(d)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
495
+ this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(p.x1,p.y1,p.width,p.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderRangeSplineArea=function(a){function g(a,c){var f=s(A,2);if(0<f.length){if(0<k.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(f[0].x,f[0].y);for(var d=
496
+ 0;d<f.length-3;d+=3){if(f[d].newStrokeStyle||f[d].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(f[d].x,f[d].y),f[d].newStrokeStyle&&(b.strokeStyle=f[d].newStrokeStyle),f[d].newLineDashArray&&b.setLineDash(f[d].newLineDashArray);b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y)}}b.beginPath();b.moveTo(f[0].x,f[0].y);v&&(e.beginPath(),e.moveTo(f[0].x,f[0].y));for(d=0;d<f.length-3;d+=3)b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y),v&&e.bezierCurveTo(f[d+
497
+ 1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y);f=s(C,2);b.lineTo(C[C.length-1].x,C[C.length-1].y);for(d=f.length-1;2<d;d-=3)b.bezierCurveTo(f[d-1].x,f[d-1].y,f[d-2].x,f[d-2].y,f[d-3].x,f[d-3].y),v&&e.bezierCurveTo(f[d-1].x,f[d-1].y,f[d-2].x,f[d-2].y,f[d-3].x,f[d-3].y);b.closePath();b.globalAlpha=k.fillOpacity;b.fill();v&&(e.closePath(),e.fill());b.globalAlpha=1;if(0<k.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(f[0].x,f[0].y);for(var g=d=0;d<f.length-
498
+ 3;d+=3,g++){if(A[g].newStrokeStyle||A[g].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(f[d].x,f[d].y),A[g].newStrokeStyle&&(b.strokeStyle=A[g].newStrokeStyle),A[g].newLineDashArray&&b.setLineDash(A[g].newLineDashArray);b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y)}f=s(A,2);b.moveTo(f[0].x,f[0].y);for(g=d=0;d<f.length-3;d+=3,g++){if(A[g].newStrokeStyle||A[g].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(f[d].x,f[d].y),A[g].newStrokeStyle&&(b.strokeStyle=A[g].newStrokeStyle),
499
+ A[g].newLineDashArray&&b.setLineDash(A[g].newLineDashArray);b.bezierCurveTo(f[d+1].x,f[d+1].y,f[d+2].x,f[d+2].y,f[d+3].x,f[d+3].y)}b.stroke()}b.beginPath()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=v?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,d=[],p=this.plotArea;b.save();v&&e.save();b.beginPath();b.rect(p.x1,p.y1,p.width,p.height);b.clip();v&&(e.beginPath(),e.rect(p.x1,p.y1,p.width,p.height),e.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var l=
500
+ a.dataSeriesIndexes[r],k=this.data[l],n=k.dataPoints,d=k.id;this._eventManager.objectMap[d]={objectType:"dataSeries",dataSeriesIndex:l};d=W(d);e.fillStyle=d;var d=[],m=0,q,f,h,A=[],C=[];if(0<n.length){var t=k._colorSet[m%k._colorSet.length],x=k.lineColor=k.options.lineColor||t,w=x;b.fillStyle=t;b.lineWidth=k.lineThickness;var u="solid",y;if(b.setLineDash){var z=H(k.nullDataLineDashType,k.lineThickness),u=k.lineDashType;y=H(u,k.lineThickness)}for(f=!1;m<n.length;m++)if(q=n[m].x.getTime?n[m].x.getTime():
501
+ n[m].x,!(q<a.axisX.dataInfo.viewPortMin||q>a.axisX.dataInfo.viewPortMax&&(!k.connectNullData||!f)))if(null!==n[m].y&&n[m].y.length&&"number"===typeof n[m].y[0]&&"number"===typeof n[m].y[1]){q=a.axisX.convertValueToPixel(q);f=a.axisY.convertValueToPixel(n[m].y[0]);h=a.axisY.convertValueToPixel(n[m].y[1]);var D=k.dataPointIds[m];this._eventManager.objectMap[D]={id:D,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:m,x1:q,y1:f,y2:h};A[A.length]={x:q,y:f};C[C.length]={x:q,y:h};m<n.length-1&&(w!==
502
+ (n[m].lineColor||x)||u!==(n[m].lineDashType||k.lineDashType))&&(w=n[m].lineColor||x,A[A.length-1].newStrokeStyle=w,b.setLineDash&&(n[m].lineDashType?(u=n[m].lineDashType,A[A.length-1].newLineDashArray=H(u,k.lineThickness)):(u=k.lineDashType,A[A.length-1].newLineDashArray=y)));if(0!==n[m].markerSize&&(0<n[m].markerSize||0<k.markerSize)){var F=k.getMarkerProperties(m,q,f,b);d.push(F);var I=W(D);v&&d.push({x:q,y:f,ctx:e,type:F.type,size:F.size,color:I,borderColor:I,borderThickness:F.borderThickness});
503
+ F=k.getMarkerProperties(m,q,h,b);d.push(F);I=W(D);v&&d.push({x:q,y:h,ctx:e,type:F.type,size:F.size,color:I,borderColor:I,borderThickness:F.borderThickness})}if(n[m].indexLabel||k.indexLabel||n[m].indexLabelFormatter||k.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:n[m],dataSeries:k,indexKeyword:0,point:{x:q,y:f},direction:n[m].y[0]<=n[m].y[1]?-1:1,color:t}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:n[m],dataSeries:k,indexKeyword:1,point:{x:q,
504
+ y:h},direction:n[m].y[0]<=n[m].y[1]?1:-1,color:t});f=!1}else 0<m&&!f&&(k.connectNullData?b.setLineDash&&(0<A.length&&(k.options.nullDataLineDashType||!n[m-1].lineDashType))&&(A[A.length-1].newLineDashArray=z,u=k.nullDataLineDashType):(g(y,x),A=[],C=[])),f=!0;g(y,x);X.drawMarkers(d)}}v&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,
505
+ 0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(p.x1,p.y1,p.width,p.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:L.xClipAnimation,easingFunction:L.easing.linear,animationBase:0}}};u.prototype.renderWaterfall=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=v?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx,
506
+ e=null,d=this.plotArea,p=0,r,l,k,n,m=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),p=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;l=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?
507
+ this.dataPointWidth:0.6*(d.width*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&p>l&&(p=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,l));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&l<p)&&(l=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,p));q<p&&(q=p);q>l&&(q=l);c.save();v&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);
508
+ c.clip();v&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var h=a.dataSeriesIndexes[f],A=this.data[h],s=A.dataPoints,e=A._colorSet[0];A.risingColor=A.options.risingColor?A.options.risingColor:e;A.fallingColor=A.options.fallingColor?A.options.fallingColor:"#e40a0a";var t="number"===typeof A.options.lineThickness?Math.round(A.lineThickness):1,x=1===Math.round(t)%
509
+ 2?-0.5:0;if(0<s.length)for(var w=5<q&&A.bevelEnabled?!0:!1,u=!1,y=null,z=null,p=0;p<s.length;p++)if(s[p].getTime?n=s[p].x.getTime():n=s[p].x,"number"!==typeof s[p].y){if(0<p&&!u&&A.connectNullData)var D=A.options.nullDataLineDashType||!s[p-1].lineDashType?A.nullDataLineDashType:s[p-1].lineDashType;u=!0}else{r=a.axisX.convertValueToPixel(n);l=0===A.dataPointEOs[p].cumulativeSum?m:a.axisY.convertValueToPixel(A.dataPointEOs[p].cumulativeSum);k=0===A.dataPointEOs[p].cumulativeSumYStartValue?m:a.axisY.convertValueToPixel(A.dataPointEOs[p].cumulativeSumYStartValue);
510
+ r=a.axisX.reversed?r+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+f)*q<<0:r-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+f)*q<<0;var F=a.axisX.reversed?r-q<<0:r+q<<0;l>k&&(e=l,l=k,k=e);a.axisY.reversed&&(e=l,l=k,k=e);e=A.dataPointIds[p];this._eventManager.objectMap[e]={id:e,objectType:"dataPoint",dataSeriesIndex:h,dataPointIndex:p,x1:r,y1:l,x2:F,y2:k};var I=s[p].color?s[p].color:0<s[p].y?A.risingColor:A.fallingColor;fa(c,a.axisX.reversed?F:r,a.axisY.reversed?k:l,a.axisX.reversed?
511
+ r:F,a.axisY.reversed?l:k,I,0,I,w,w,!1,!1,A.fillOpacity);e=W(e);v&&fa(this._eventManager.ghostCtx,a.axisX.reversed?F:r,l,a.axisX.reversed?r:F,k,e,0,null,!1,!1,!1,!1);var M,I=r;M="undefined"!==typeof s[p].isIntermediateSum&&!0===s[p].isIntermediateSum||"undefined"!==typeof s[p].isCumulativeSum&&!0===s[p].isCumulativeSum?0<s[p].y?l:k:0<s[p].y?k:l;0<p&&y&&(!u||A.connectNullData)&&(u&&c.setLineDash&&c.setLineDash(H(D,t)),c.beginPath(),c.moveTo(y,z-x),c.lineTo(I,M-x),0<t&&c.stroke(),v&&(b.beginPath(),b.moveTo(y,
512
+ z-x),b.lineTo(I,M-x),0<t&&b.stroke()));u=!1;y=F;z=0<s[p].y?l:k;I=s[p].lineDashType?s[p].lineDashType:A.options.lineDashType?A.options.lineDashType:"shortDash";c.strokeStyle=s[p].lineColor?s[p].lineColor:A.options.lineColor?A.options.lineColor:"#9e9e9e";c.lineWidth=t;c.setLineDash&&(I=H(I,t),c.setLineDash(I));(s[p].indexLabel||A.indexLabel||s[p].indexLabelFormatter||A.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:s[p],dataSeries:A,point:{x:r+(F-r)/2,y:0<=s[p].y?l:k},
513
+ direction:0>s[p].y===a.axisY.reversed?1:-1,bounds:{x1:r,y1:Math.min(l,k),x2:F,y2:Math.max(l,k)},color:e})}}v&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,
514
+ d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:L.fadeInAnimation,easingFunction:L.easing.easeInQuad,animationBase:0}}};var sa=function(a,g,c,b,e,d,p,l,h){if(!(0>c)){"undefined"===typeof l&&(l=1);if(!v){var k=Number((p%(2*Math.PI)).toFixed(8));Number((d%(2*Math.PI)).toFixed(8))===k&&(p-=1E-4)}a.save();a.globalAlpha=l;"pie"===e?(a.beginPath(),a.moveTo(g.x,g.y),a.arc(g.x,g.y,c,d,p,!1),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=
515
+ 2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(g.x,g.y,c,d,p,!1),0<=h&&a.arc(g.x,g.y,h*c,p,d,!0),a.closePath(),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=2,a.fill());a.globalAlpha=1;a.restore()}};u.prototype.renderPie=function(a){function g(){if(k&&n){var a=0,b=0,c=0,e=0;l(k.options.indexLabelMaxWidth)&&(k.indexLabelMaxWidth=0.33*q.width);for(var d=0;d<n.length;d++){var g=n[d],p=k.dataPointIds[d];f[d].id=p;f[d].objectType="dataPoint";f[d].dataPointIndex=d;f[d].dataSeriesIndex=
516
+ 0;var m=f[d],r={percent:null,total:null},v=null,r=h.getPercentAndTotal(k,g);if(k.indexLabelFormatter||g.indexLabelFormatter)v={chart:h.options,dataSeries:k,dataPoint:g,total:r.total,percent:r.percent};r=g.indexLabelFormatter?g.indexLabelFormatter(v):g.indexLabel?h.replaceKeywordsWithValue(g.indexLabel,g,k,d):k.indexLabelFormatter?k.indexLabelFormatter(v):k.indexLabel?h.replaceKeywordsWithValue(k.indexLabel,g,k,d):g.label?g.label:"";h._eventManager.objectMap[p]=m;m.center={x:w.x,y:w.y};m.y=g.y;m.radius=
517
+ z;m.percentInnerRadius=F;m.indexLabelText=r;m.indexLabelPlacement=k.indexLabelPlacement;m.indexLabelLineColor=g.indexLabelLineColor?g.indexLabelLineColor:k.options.indexLabelLineColor?k.options.indexLabelLineColor:g.color?g.color:k._colorSet[d%k._colorSet.length];m.indexLabelLineThickness=l(g.indexLabelLineThickness)?k.indexLabelLineThickness:g.indexLabelLineThickness;m.indexLabelLineDashType=g.indexLabelLineDashType?g.indexLabelLineDashType:k.indexLabelLineDashType;m.indexLabelFontColor=g.indexLabelFontColor?
518
+ g.indexLabelFontColor:k.indexLabelFontColor;m.indexLabelFontStyle=g.indexLabelFontStyle?g.indexLabelFontStyle:k.indexLabelFontStyle;m.indexLabelFontWeight=g.indexLabelFontWeight?g.indexLabelFontWeight:k.indexLabelFontWeight;m.indexLabelFontSize=l(g.indexLabelFontSize)?k.indexLabelFontSize:g.indexLabelFontSize;m.indexLabelFontFamily=g.indexLabelFontFamily?g.indexLabelFontFamily:k.indexLabelFontFamily;m.indexLabelBackgroundColor=g.indexLabelBackgroundColor?g.indexLabelBackgroundColor:k.options.indexLabelBackgroundColor?
519
+ k.options.indexLabelBackgroundColor:k.indexLabelBackgroundColor;m.indexLabelBorderColor=g.indexLabelBorderColor?g.indexLabelBorderColor:k.options.indexLabelBorderColor?k.options.indexLabelBorderColor:k.indexLabelBorderColor;m.indexLabelBorderThickness=g.indexLabelBorderThickness?g.indexLabelBorderThickness:k.options.indexLabelBorderThickness?k.options.indexLabelBorderThickness:k.indexLabelBorderThickness;m.indexLabelPadding=g.indexLabelPadding?g.indexLabelPadding:k.options.indexLabelPadding?k.options.indexLabelPadding:
520
+ k.indexLabelPadding;m.indexLabelMaxWidth=g.indexLabelMaxWidth?g.indexLabelMaxWidth:k.indexLabelMaxWidth;m.indexLabelWrap="undefined"!==typeof g.indexLabelWrap?g.indexLabelWrap:k.indexLabelWrap;m.indexLabelTextAlign=g.indexLabelTextAlign?g.indexLabelTextAlign:k.indexLabelTextAlign?k.indexLabelTextAlign:"left";m.startAngle=0===d?k.startAngle?k.startAngle/180*Math.PI:0:f[d-1].endAngle;m.startAngle=(m.startAngle+2*Math.PI)%(2*Math.PI);m.endAngle=m.startAngle+2*Math.PI/y*Math.abs(g.y);g=(m.endAngle+m.startAngle)/
521
+ 2;g=(g+2*Math.PI)%(2*Math.PI);m.midAngle=g;if(m.midAngle>Math.PI/2-t&&m.midAngle<Math.PI/2+t){if(0===a||f[c].midAngle>m.midAngle)c=d;a++}else if(m.midAngle>3*Math.PI/2-t&&m.midAngle<3*Math.PI/2+t){if(0===b||f[e].midAngle>m.midAngle)e=d;b++}m.hemisphere=g>Math.PI/2&&g<=3*Math.PI/2?"left":"right";m.indexLabelTextBlock=new ka(h.plotArea.ctx,{fontSize:m.indexLabelFontSize,fontFamily:m.indexLabelFontFamily,fontColor:m.indexLabelFontColor,fontStyle:m.indexLabelFontStyle,fontWeight:m.indexLabelFontWeight,
522
+ textAlign:m.indexLabelTextAlign,backgroundColor:m.indexLabelBackgroundColor,borderColor:m.indexLabelBorderColor,borderThickness:m.indexLabelBorderThickness,maxWidth:m.indexLabelMaxWidth,maxHeight:m.indexLabelWrap?5*m.indexLabelFontSize:1.5*m.indexLabelFontSize,text:m.indexLabelText,padding:m.indexLabelPadding,textBaseline:"middle"});m.indexLabelTextBlock.measureText()}p=g=0;r=!1;for(d=0;d<n.length;d++)m=f[(c+d)%n.length],1<a&&(m.midAngle>Math.PI/2-t&&m.midAngle<Math.PI/2+t)&&(g<=a/2&&!r?(m.hemisphere=
523
+ "right",g++):(m.hemisphere="left",r=!0));r=!1;for(d=0;d<n.length;d++)m=f[(e+d)%n.length],1<b&&(m.midAngle>3*Math.PI/2-t&&m.midAngle<3*Math.PI/2+t)&&(p<=b/2&&!r?(m.hemisphere="left",p++):(m.hemisphere="right",r=!0))}}function c(a,b){var c=h.plotArea.ctx;c.clearRect(q.x1,q.y1,q.width,q.height);c.fillStyle=h.backgroundColor;c.fillRect(q.x1,q.y1,q.width,q.height);for(c=0;c<n.length;c++){var d=f[c].startAngle,e=f[c].endAngle;if(e>d){var g=0.07*z*Math.cos(f[c].midAngle),p=0.07*z*Math.sin(f[c].midAngle),
524
+ l=!1;if(n[c].exploded){if(1E-9<Math.abs(f[c].center.x-(w.x+g))||1E-9<Math.abs(f[c].center.y-(w.y+p)))f[c].center.x=w.x+g*a,f[c].center.y=w.y+p*a,l=!0}else if(0<Math.abs(f[c].center.x-w.x)||0<Math.abs(f[c].center.y-w.y))f[c].center.x=w.x+g*(1-a),f[c].center.y=w.y+p*(1-a),l=!0;l&&b&&(g={},g.dataSeries=k,g.dataPoint=k.dataPoints[c],g.index=c,h.toolTip.highlightObjects([g]));sa(h.plotArea.ctx,f[c].center,f[c].radius,n[c].color?n[c].color:k._colorSet[c%k._colorSet.length],k.type,d,e,k.fillOpacity,f[c].percentInnerRadius)}}c=
525
+ h.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline="middle";c.lineJoin="round";for(d=d=0;d<n.length;d++)e=f[d],e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,g=0,g="left"===e.hemisphere?"inside"!==k.indexLabelPlacement?-(e.indexLabelTextBlock.width+m):-e.indexLabelTextBlock.width/2:"inside"!==k.indexLabelPlacement?m:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=g,e.indexLabelTextBlock.render(!0),
526
+ e.indexLabelTextBlock.x-=g,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,"inside"!==e.indexLabelPlacement&&0<e.indexLabelLineThickness&&(g=e.center.x+z*Math.cos(e.midAngle),p=e.center.y+z*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(H(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(g,p),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+
527
+ ("left"===e.hemisphere?-m:m),e.indexLabelTextBlock.y),c.stroke()),c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,e=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,f=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,d=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?f-e:c-d}function e(a){for(var c=null,e=1;e<n.length;e++)if(c=(a+e+f.length)%f.length,f[c].hemisphere!==
528
+ f[a].hemisphere){c=null;break}else if(f[c].indexLabelText&&c!==a&&(0>b(f[c],f[a])||("right"===f[a].hemisphere?f[c].indexLabelTextBlock.y>=f[a].indexLabelTextBlock.y:f[c].indexLabelTextBlock.y<=f[a].indexLabelTextBlock.y)))break;else c=null;return c}function d(a,c,g){g=(g||0)+1;if(1E3<g)return 0;c=c||0;var k=0,p=w.y-1*s,m=w.y+1*s;if(0<=a&&a<n.length){var l=f[a];if(0>c&&l.indexLabelTextBlock.y<p||0<c&&l.indexLabelTextBlock.y>m)return 0;var r=0,h=0,h=r=r=0;0>c?l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/
529
+ 2>p&&l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2+c<p&&(c=-(p-(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2+c))):l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2<p&&l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+c>m&&(c=l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+c-m);c=l.indexLabelTextBlock.y+c;p=0;p="right"===l.hemisphere?w.x+Math.sqrt(Math.pow(s,2)-Math.pow(c-w.y,2)):w.x-Math.sqrt(Math.pow(s,2)-Math.pow(c-w.y,2));h=w.x+z*Math.cos(l.midAngle);r=w.y+z*
530
+ Math.sin(l.midAngle);r=Math.sqrt(Math.pow(p-h,2)+Math.pow(c-r,2));h=Math.acos(z/s);r=Math.acos((s*s+z*z-r*r)/(2*z*s));c=r<h?c-l.indexLabelTextBlock.y:0;p=null;for(m=1;m<n.length;m++)if(p=(a-m+f.length)%f.length,f[p].hemisphere!==f[a].hemisphere){p=null;break}else if(f[p].indexLabelText&&f[p].hemisphere===f[a].hemisphere&&p!==a&&(0>b(f[p],f[a])||("right"===f[a].hemisphere?f[p].indexLabelTextBlock.y<=f[a].indexLabelTextBlock.y:f[p].indexLabelTextBlock.y>=f[a].indexLabelTextBlock.y)))break;else p=null;
531
+ h=p;r=e(a);m=p=0;0>c?(m="right"===l.hemisphere?h:r,k=c,null!==m&&(h=-c,c=l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-(f[m].indexLabelTextBlock.y+f[m].indexLabelTextBlock.height/2),c-h<v&&(p=-h,m=d(m,p,g+1),+m.toFixed(x)>+p.toFixed(x)&&(k=c>v?-(c-v):-(h-(m-p)))))):0<c&&(m="right"===l.hemisphere?r:h,k=c,null!==m&&(h=c,c=f[m].indexLabelTextBlock.y-f[m].indexLabelTextBlock.height/2-(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2),c-h<v&&(p=h,m=d(m,p,g+1),+m.toFixed(x)<+p.toFixed(x)&&
532
+ (k=c>v?c-v:h-(p-m)))));k&&(g=l.indexLabelTextBlock.y+k,c=0,c="right"===l.hemisphere?w.x+Math.sqrt(Math.pow(s,2)-Math.pow(g-w.y,2)):w.x-Math.sqrt(Math.pow(s,2)-Math.pow(g-w.y,2)),l.midAngle>Math.PI/2-t&&l.midAngle<Math.PI/2+t?(p=(a-1+f.length)%f.length,p=f[p],a=f[(a+1+f.length)%f.length],"left"===l.hemisphere&&"right"===p.hemisphere&&c>p.indexLabelTextBlock.x?c=p.indexLabelTextBlock.x-15:"right"===l.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):l.midAngle>
533
+ 3*Math.PI/2-t&&l.midAngle<3*Math.PI/2+t&&(p=(a-1+f.length)%f.length,p=f[p],a=f[(a+1+f.length)%f.length],"right"===l.hemisphere&&"left"===p.hemisphere&&c<p.indexLabelTextBlock.x?c=p.indexLabelTextBlock.x+15:"left"===l.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),l.indexLabelTextBlock.y=g,l.indexLabelTextBlock.x=c,l.indexLabelAngle=Math.atan2(l.indexLabelTextBlock.y-w.y,l.indexLabelTextBlock.x-w.x))}return k}function p(){var a=h.plotArea.ctx;a.fillStyle=
534
+ "grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline="middle";for(var c=a=0,g=0,p=!0,c=0;10>c&&(1>c||0<g);c++){if(k.radius||!k.radius&&"undefined"!==typeof k.innerRadius&&null!==k.innerRadius&&z-g<=D)p=!1;p&&(z-=g);g=0;if("inside"!==k.indexLabelPlacement){s=z*u;for(a=0;a<n.length;a++){var l=f[a];l.indexLabelTextBlock.x=w.x+s*Math.cos(l.midAngle);l.indexLabelTextBlock.y=w.y+s*Math.sin(l.midAngle);l.indexLabelAngle=l.midAngle;l.radius=z;l.percentInnerRadius=F}for(var r,t,a=0;a<n.length;a++){var l=
535
+ f[a],y=e(a);if(null!==y){r=f[a];t=f[y];var B=0,B=b(r,t)-v;if(0>B){for(var H=t=0,L=0;L<n.length;L++)L!==a&&f[L].hemisphere===l.hemisphere&&(f[L].indexLabelTextBlock.y<l.indexLabelTextBlock.y?t++:H++);t=B/(t+H||1)*H;var H=-1*(B-t),J=L=0;"right"===l.hemisphere?(L=d(a,t),H=-1*(B-L),J=d(y,H),+J.toFixed(x)<+H.toFixed(x)&&+L.toFixed(x)<=+t.toFixed(x)&&d(a,-(H-J))):(L=d(y,t),H=-1*(B-L),J=d(a,H),+J.toFixed(x)<+H.toFixed(x)&&+L.toFixed(x)<=+t.toFixed(x)&&d(y,-(H-J)))}}}}else for(a=0;a<n.length;a++)l=f[a],s=
536
+ "pie"===k.type?0.7*z:0.85*z,y=w.x+s*Math.cos(l.midAngle),t=w.y+s*Math.sin(l.midAngle),l.indexLabelTextBlock.x=y,l.indexLabelTextBlock.y=t;for(a=0;a<n.length;a++)if(l=f[a],y=l.indexLabelTextBlock.measureText(),0!==y.height&&0!==y.width)y=y=0,"right"===l.hemisphere?(y=q.x2-(l.indexLabelTextBlock.x+l.indexLabelTextBlock.width+m),y*=-1):y=q.x1-(l.indexLabelTextBlock.x-l.indexLabelTextBlock.width-m),0<y&&(!p&&l.indexLabelText&&(t="right"===l.hemisphere?q.x2-l.indexLabelTextBlock.x:l.indexLabelTextBlock.x-
537
+ q.x1,0.3*l.indexLabelTextBlock.maxWidth>t?l.indexLabelText="":l.indexLabelTextBlock.maxWidth=0.85*t,0.3*l.indexLabelTextBlock.maxWidth<t&&(l.indexLabelTextBlock.x-="right"===l.hemisphere?2:-2)),Math.abs(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-w.y)<z||Math.abs(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2-w.y)<z)&&(y/=Math.abs(Math.cos(l.indexLabelAngle)),9<y&&(y*=0.3),y>g&&(g=y)),y=y=0,0<l.indexLabelAngle&&l.indexLabelAngle<Math.PI?(y=q.y2-(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/
538
+ 2+5),y*=-1):y=q.y1-(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-5),0<y&&(!p&&l.indexLabelText&&(t=0<l.indexLabelAngle&&l.indexLabelAngle<Math.PI?-1:1,0===d(a,y*t)&&d(a,2*t)),Math.abs(l.indexLabelTextBlock.x-w.x)<z&&(y/=Math.abs(Math.sin(l.indexLabelAngle)),9<y&&(y*=0.3),y>g&&(g=y)));var O=function(a,b,c){for(var e=[],d=0;e.push(f[b]),b!==c;b=(b+1+n.length)%n.length);e.sort(function(a,b){return a.y-b.y});for(b=0;b<e.length;b++)if(c=e[b],d<0.7*a)d+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text=
539
+ "",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,d=0,g=!1,p=0;p<n.length;p++)if(g=!1,r=f[p],r.indexLabelText){var l=e(p);if(null!==l){var k=f[l];B=0;B=b(r,k);var h;if(h=0>B){h=r.indexLabelTextBlock.x;var q=r.indexLabelTextBlock.y-r.indexLabelTextBlock.height/2,t=r.indexLabelTextBlock.y+r.indexLabelTextBlock.height/2,v=k.indexLabelTextBlock.y-k.indexLabelTextBlock.height/2,s=k.indexLabelTextBlock.x+k.indexLabelTextBlock.width,w=k.indexLabelTextBlock.y+
540
+ k.indexLabelTextBlock.height/2;h=r.indexLabelTextBlock.x+r.indexLabelTextBlock.width<k.indexLabelTextBlock.x-m||h>s+m||q>w+m||t<v-m?!1:!0}h?(0>a&&(a=p),l!==a&&(c=l,d+=-B),0===p%Math.max(n.length/10,3)&&(g=!0)):g=!0;g&&(0<d&&0<=a&&0<=c)&&(O(d,a,c),c=a=-1,d=0)}}0<d&&O(d,a,c)})()}}function r(){h.plotArea.layoutManager.reset();h.title&&(h.title.dockInsidePlotArea||"center"===h.title.horizontalAlign&&"center"===h.title.verticalAlign)&&h.title.render();if(h.subtitles)for(var a=0;a<h.subtitles.length;a++){var b=
541
+ h.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}h.legend&&(h.legend.dockInsidePlotArea||"center"===h.legend.horizontalAlign&&"center"===h.legend.verticalAlign)&&(h.legend.setLayout(),h.legend.render())}var h=this;if(!(0>=a.dataSeriesIndexes.length)){var k=this.data[a.dataSeriesIndexes[0]],n=k.dataPoints,m=10,q=this.plotArea,f=k.dataPointEOs,v=2,s,u=1.3,t=20/180*Math.PI,x=6,w={x:(q.x2+q.x1)/2,y:(q.y2+q.y1)/2},y=0;a=!1;for(var B=0;B<n.length;B++)y+=
542
+ Math.abs(n[B].y),!a&&("undefined"!==typeof n[B].indexLabel&&null!==n[B].indexLabel&&0<n[B].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof n[B].label&&null!==n[B].label&&0<n[B].label.toString().length)&&(a=!0);if(0!==y){a=a||"undefined"!==typeof k.indexLabel&&null!==k.indexLabel&&0<k.indexLabel.toString().length;var z="inside"!==k.indexLabelPlacement&&a?0.75*Math.min(q.width,q.height)/2:0.92*Math.min(q.width,q.height)/2;k.radius&&(z=Wa(k.radius,z));var D="undefined"!==typeof k.innerRadius&&
543
+ null!==k.innerRadius?Wa(k.innerRadius,z,0.7*z):0.7*z,F=Math.min(D/z,(z-1)/z);this.pieDoughnutClickHandler=function(a){h.isAnimating||!l(this.explodeOnClick)&&!this.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&h._animator.animate(0,500,function(a){c(a,!0);r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h});h.dispatchEvent("dataAnimationEnd",{chart:h})}))};g();p();p();p();p();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:
544
+ 0,function(a){var b=h.plotArea.ctx;b.clearRect(q.x1,q.y1,q.width,q.height);b.fillStyle=h.backgroundColor;b.fillRect(q.x1,q.y1,q.width,q.height);for(var b=f[0].startAngle+2*Math.PI*a,c=0;c<n.length;c++){var e=0===c?f[c].startAngle:d,d=e+(f[c].endAngle-f[c].startAngle),g=!1;d>b&&(d=b,g=!0);var p=n[c].color?n[c].color:k._colorSet[c%k._colorSet.length];d>e&&sa(h.plotArea.ctx,f[c].center,f[c].radius,p,k.type,e,d,k.fillOpacity,f[c].percentInnerRadius);if(g)break}r();h.dispatchEvent("dataAnimationIterationEnd",
545
+ {chart:h});1<=a&&h.dispatchEvent("dataAnimationEnd",{chart:h})},function(){h.disableToolTip=!1;h._animator.animate(0,h.animatedRender?500:0,function(a){c(a,!1);r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h})});h.dispatchEvent("dataAnimationEnd",{chart:h})});k.radius=z;"doughnut"===k.type&&(k.innerRadius=D)}}};var ta=function(a,g,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),
546
+ Math.round(g.y2)),a.lineTo(Math.round(g.x3),Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),"undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};u.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<x.length;c++){if("undefined"===typeof x[c].y)return-1;x[c].y="number"===typeof x[c].y?x[c].y:0;a+=Math.abs(x[c].y)}if(0===a)return-1;for(c=
547
+ b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=U,b=T,c=$,e=X,d,f;d=Z;f=ca-ea;e=Math.abs((f-d)*(b-a+(e-c))/2);c=X-$;d=f-d;f=c*(f-ca);f=Math.abs(f);f=e+f;for(var e=[],g=0,p=0;p<x.length;p++){if("undefined"===typeof x[p].y)return-1;x[p].y="number"===typeof x[p].y?x[p].y:0;g+=Math.abs(x[p].y)}if(0===g)return-1;for(var l=e[0]=0,k=0,m,r,b=b-a,l=!1,p=0;p<x.length;p++)a=Math.abs(x[p].y)*f/g,l?m=0==Number(c.toFixed(3))?0:a/c:(r=Y*Y*b*b-4*Math.abs(Y)*a,0>r?(r=c,l=(b+r)*(d-k)/
548
+ 2,a-=l,m=d-k,k+=d-k,m+=0==r?0:a/r,k+=a/r,l=!0):(m=(Math.abs(Y)*b-Math.sqrt(r))/2,r=b-2*m/Math.abs(Y),k+=m,k>d&&(k-=m,r=c,l=(b+r)*(d-k)/2,a-=l,m=d-k,k+=d-k,m+=a/r,k+=a/r,l=!0),b=r)),e.push(m);return e}function b(){if(t&&x){for(var a,b,c,e,d,g,p,k,m,r,n,h,q,s,w,A,y,K,z=[],B=[],P={percent:null,total:null},D=null,E=0;E<x.length;E++)K=N[E],K="undefined"!==typeof K.x5?(K.y2+K.y4)/2:(K.y2+K.y3)/2,K=f(K).x2+1,z[E]=O-(isNaN(K)?0:K)-W;K=0.5*W;for(var E=0,F=x.length-1;E<x.length||0<=F;E++,F--){b=t.reversed?
549
+ x[F]:x[E];a=b.color?b.color:t.reversed?t._colorSet[(x.length-1-E)%t._colorSet.length]:t._colorSet[E%t._colorSet.length];c=b.indexLabelPlacement||t.indexLabelPlacement||"outside";y=b.indexLabelTextAlign||t.indexLabelTextAlign||"left";e=b.indexLabelBackgroundColor||t.indexLabelBackgroundColor||(v?"transparent":null);d=b.indexLabelBorderColor||t.indexLabelBorderColor||(v?"transparent":null);g=l(b.indexLabelBorderThickness)?t.indexLabelBorderThickness:b.indexLabelBorderThickness;p=l(b.indexLabelPadding)?
550
+ t.options.indexLabelPadding?t.options.indexLabelPadding:t.indexLabelPadding:b.indexLabelPadding;k=b.indexLabelFontColor||t.indexLabelFontColor||"#979797";m=l(b.indexLabelFontSize)?t.indexLabelFontSize:b.indexLabelFontSize;r=b.indexLabelFontStyle||t.indexLabelFontStyle||"normal";n=b.indexLabelFontFamily||t.indexLabelFontFamily||"arial";h=b.indexLabelFontWeight||t.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||t.options.indexLabelLineColor||a;q="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:
551
+ "number"===typeof t.indexLabelLineThickness?t.indexLabelLineThickness:2;s=b.indexLabelLineDashType||t.indexLabelLineDashType||"solid";w="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof t.indexLabelWrap?t.indexLabelWrap:!0;A=t.dataPointIds[E];u._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataPointIndex:E,dataSeriesIndex:0,funnelSection:N[t.reversed?x.length-1-E:E]};"inside"===t.indexLabelPlacement&&(z[E]=E!==fa?t.reversed?N[E].x2-N[E].x1:N[E].x3-N[E].x4:N[E].x3-
552
+ N[E].x6,20>z[E]&&(z[E]=E!==fa?t.reversed?N[E].x3-N[E].x4:N[E].x2-N[E].x1:N[E].x2-N[E].x1,z[E]/=2));A=b.indexLabelMaxWidth?b.indexLabelMaxWidth:t.options.indexLabelMaxWidth?t.indexLabelMaxWidth:z[E];if(A>z[E]||0>A)A=z[E];B[E]="inside"===t.indexLabelPlacement?w?Math.max(N[E].height,m):1.5*m+("object"===typeof p?(p.top||0)+(p.bottom||0):2*p):!1;P=u.getPercentAndTotal(t,b);if(t.indexLabelFormatter||b.indexLabelFormatter)D={chart:u.options,dataSeries:t,dataPoint:b,total:P.total,percent:P.percent};b=b.indexLabelFormatter?
553
+ b.indexLabelFormatter(D):b.indexLabel?u.replaceKeywordsWithValue(b.indexLabel,b,t,E):t.indexLabelFormatter?t.indexLabelFormatter(D):t.indexLabel?u.replaceKeywordsWithValue(t.indexLabel,b,t,E):b.label?b.label:"";0>=q&&(q=0);1E3>A&&1E3-A<K&&(A+=1E3-A);l(t.options.indexLabelMaxWidth)&&(t.indexLabelMaxWidth=l(t.indexLabelMaxWidth)?A:Math.max(A,t.indexLabelMaxWidth));R.roundRect||Ba(R);c=new ka(R,{fontSize:m,fontFamily:n,fontColor:k,fontStyle:r,fontWeight:h,horizontalAlign:c,textAlign:y,backgroundColor:e,
554
+ borderColor:d,borderThickness:g,maxWidth:A,maxHeight:!1===B[E]?(w?4.28571429*m:1.5*m)+("object"===typeof p?(p.top||0)+(p.bottom||0):2*p):B[E],text:b,padding:p,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;G.push({textBlock:c,id:t.reversed?F:E,isDirty:!1,lineColor:a,lineThickness:q,lineDashType:s,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,e,d,f=[];
555
+ d=!1;c=0;for(var g,p=O-T-W/2,p=t.options.indexLabelMaxWidth?t.indexLabelMaxWidth>p?p:t.indexLabelMaxWidth:p,k=G.length-1;0<=k;k--){g=x[G[k].id];c=G[k];e=c.textBlock;b=(a=q(k)<N.length?G[q(k)]:null)?a.textBlock:null;c=c.height;a&&e.y+c+ga>b.y&&(d=!0);c=g.indexLabelMaxWidth||p;if(c>p||0>c)c=p;f.push(c)}if(d)for(k=G.length-1;0<=k;k--)a=N[k],G[k].textBlock.maxWidth=f[f.length-(k+1)],G[k].textBlock.measureText(),G[k].textBlock.height=G[k].textBlock.height===2*G[k].textBlock.padding?0:G[k].textBlock.height,
556
+ G[k].textBlock.width=G[k].textBlock.width===2*G[k].textBlock.padding?0:G[k].textBlock.width,G[k].textBlock.x=O-p,c=G[k].textBlock.height<G[k].textBlock.maxHeight?G[k].textBlock.height:G[k].textBlock.maxHeight,d=G[k].textBlock.width<G[k].textBlock.maxWidth?G[k].textBlock.width:G[k].textBlock.maxWidth,G[k].height=c,G[k].width=d,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,G[k].textBlock.y=c-G[k].height/2,t.reversed?(G[k].textBlock.y+G[k].height>S+y&&(G[k].textBlock.y=S+y-G[k].height),G[k].textBlock.y<
557
+ ua-y&&(G[k].textBlock.y=ua-y)):(G[k].textBlock.y<S-y&&(G[k].textBlock.y=S-y),G[k].textBlock.y+G[k].height>ua+y&&(G[k].textBlock.y=ua+y-G[k].height))}function d(){var a,b,c,e;if("inside"!==t.indexLabelPlacement)for(var d=0;d<N.length;d++)0==G[d].textBlock.text.length?G[d].isDirty=!0:(a=N[d],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=t.reversed?"undefined"!==typeof a.x5?c>ya?f(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ya?f(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/
558
+ 2+1,G[d].textBlock.x=b+W,G[d].textBlock.y=c-G[d].height/2,t.reversed?(G[d].textBlock.y+G[d].height>S+y&&(G[d].textBlock.y=S+y-G[d].height),G[d].textBlock.y<ua-y&&(G[d].textBlock.y=ua-y)):(G[d].textBlock.y<S-y&&(G[d].textBlock.y=S-y),G[d].textBlock.y+G[d].height>ua+y&&(G[d].textBlock.y=ua+y-G[d].height)));else for(d=0;d<N.length;d++)0==G[d].textBlock.text.length?G[d].isDirty=!0:(a=N[d],b=a.height,c=G[d].height,e=G[d].width,b>=c?(b=d!=fa?(a.x4+a.x3)/2-e/2:(a.x5+a.x4)/2-e/2,c=d!=fa?(a.y1+a.y3)/2-c/2:
559
+ (a.y1+a.y4)/2-c/2,G[d].textBlock.x=b,G[d].textBlock.y=c):G[d].isDirty=!0)}function p(){function a(b,c){var d;if(0>b||b>=G.length)return 0;var e,f=G[b].textBlock;if(0>c){c*=-1;e=m(b);d=r(e,b);if(d>=c)return f.y-=c,c;if(0==b)return 0<d&&(f.y-=d),d;d+=a(e,-(c-d));0<d&&(f.y-=d);return d}e=q(b);d=r(b,e);if(d>=c)return f.y+=c,c;if(b==N.length-1)return 0<d&&(f.y+=d),d;d+=a(e,c-d);0<d&&(f.y+=d);return d}function b(){var a,d,e,f,g=0,k;f=(ca-Z+2*y)/l;k=l;for(var p,r=1;r<k;r++){e=r*f;for(var h=G.length-1;0<=
560
+ h;h--)!G[h].isDirty&&(G[h].textBlock.y<e&&G[h].textBlock.y+G[h].height>e)&&(p=q(h),!(p>=G.length-1)&&G[h].textBlock.y+G[h].height+ga>G[p].textBlock.y&&(G[h].textBlock.y=G[h].textBlock.y+G[h].height-e>e-G[h].textBlock.y?e+1:e-G[h].height-1))}for(p=N.length-1;0<p;p--)if(!G[p].isDirty){e=m(p);if(0>e&&(e=0,G[e].isDirty))break;if(G[p].textBlock.y<G[e].textBlock.y+G[e].height){d=d||p;f=p;for(k=0;G[f].textBlock.y<G[e].textBlock.y+G[e].height+ga;){a=a||G[f].textBlock.y+G[f].height;k+=G[f].height;k+=ga;f=
561
+ e;if(0>=f){f=0;k+=G[f].height;break}e=m(f);if(0>e){f=0;k+=G[f].height;break}}if(f!=p){g=G[f].textBlock.y;a-=g;a=k-a;g=c(a,d,f);break}}}return g}function c(a,b,d){var e=[],f=0,g=0;for(a=Math.abs(a);d<=b;d++)e.push(N[d]);e.sort(function(a,b){return a.height-b.height});for(d=0;d<e.length;d++)if(b=e[d],f<a)g++,f+=G[b.id].height+ga,G[b.id].textBlock.text="",G[b.id].indexLabelText="",G[b.id].isDirty=!0,G[b.id].textBlock.measureText();else break;return g}for(var d,e,f,g,k,p,l=1,n=0;n<2*l;n++){for(var h=
562
+ G.length-1;0<=h&&!(0<=m(h)&&m(h),f=G[h],g=f.textBlock,p=(k=q(h)<N.length?G[q(h)]:null)?k.textBlock:null,d=+f.height.toFixed(6),e=+g.y.toFixed(6),!f.isDirty&&(k&&e+d+ga>+p.y.toFixed(6))&&(d=g.y+d+ga-p.y,e=a(h,-d),e<d&&(0<e&&(d-=e),e=a(q(h),d),e!=d)));h--);b()}}function r(a,b){return(b<N.length?G[b].textBlock.y:t.reversed?S+y:ua+y)-(0>a?t.reversed?ua-y:S-y:G[a].textBlock.y+G[a].height+ga)}function h(a,b,c){var e,f,g,p=[],l=y,m=[];-1!==b&&(0<=aa.indexOf(b)?(f=aa.indexOf(b),aa.splice(f,1)):(aa.push(b),
563
+ aa=aa.sort(function(a,b){return a-b})));if(0===aa.length)p=ja;else{f=y*(1!=aa.length||0!=aa[0]&&aa[0]!=N.length-1?2:1)/k();for(var r=0;r<N.length;r++){if(1==aa.length&&0==aa[0]){if(0===r){p.push(ja[r]);e=l;continue}}else 0===r&&(e=-1*l);p.push(ja[r]+e);if(0<=aa.indexOf(r)||r<N.length&&0<=aa.indexOf(r+1))e+=f}}g=function(){for(var a=[],b=0;b<N.length;b++)a.push(p[b]-N[b].y1);return a}();var q={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,d){return L.easing.easeOutQuart(a,
564
+ b,c,d)},changeSection:function(a){for(var b,c,d=0;d<N.length;d++)b=g[d],c=N[d],b*=a,"undefined"===typeof m[d]&&(m[d]=0),0>m&&(m*=-1),c.y1+=b-m[d],c.y2+=b-m[d],c.y3+=b-m[d],c.y4+=b-m[d],c.y5&&(c.y5+=b-m[d],c.y6+=b-m[d]),m[d]=b}};a._animator.animate(0,c,function(c){var e=a.plotArea.ctx||a.ctx;ia=!0;e.clearRect(w.x1,w.y1,w.x2-w.x1,w.y2-w.y1);e.fillStyle=a.backgroundColor;e.fillRect(w.x1,w.y1,w.width,w.height);q.changeSection(c,b);var f={};f.dataSeries=t;f.dataPoint=t.reversed?t.dataPoints[x.length-1-
565
+ b]:t.dataPoints[b];f.index=t.reversed?x.length-1-b:b;a.toolTip.highlightObjects([f]);for(f=0;f<N.length;f++)ta(e,N[f],t.fillOpacity);A(e);I&&("inside"!==t.indexLabelPlacement?n(e):d(),s(e));1<=c&&(ia=!1)},null,L.easing.easeOutQuart)}function k(){for(var a=0,b=0;b<N.length-1;b++)(0<=aa.indexOf(b)||0<=aa.indexOf(b+1))&&a++;return a}function n(a){for(var b,c,d,e,g=0;g<N.length;g++)e=1===G[g].lineThickness%2?0.5:0,c=((N[g].y2+N[g].y4)/2<<0)+e,b=f(c).x2-1,isNaN(b)&&(Math.round(N[g].x1)===Math.round(N[g].x4)&&
566
+ Math.round(N[g].x2)===Math.round(N[g].x3))&&(b=N[g].x2),d=G[g].textBlock.x,e=(G[g].textBlock.y+G[g].height/2<<0)+e,G[g].isDirty||0==G[g].lineThickness||(a.strokeStyle=G[g].lineColor,a.lineWidth=G[g].lineThickness,a.setLineDash&&a.setLineDash(H(G[g].lineDashType,G[g].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(d,e),a.stroke())}function m(a){for(a-=1;-1<=a&&-1!=a&&G[a].isDirty;a--);return a}function q(a){for(a+=1;a<=N.length&&a!=N.length&&G[a].isDirty;a++);return a}function f(a){for(var b,
567
+ c=0;c<x.length;c++)if(N[c].y1<a&&N[c].y4>a){b=N[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function s(a){for(var b=0;b<N.length;b++)G[b].isDirty||(a&&(G[b].textBlock.ctx=a),G[b].textBlock.y+=G[b].textBlock._lineHeight/2,G[b].textBlock.render(!0),G[b].textBlock.y-=G[b].textBlock._lineHeight/2)}function A(a){u.plotArea.layoutManager.reset();a.roundRect||Ba(a);u.title&&(u.title.dockInsidePlotArea||
568
+ "center"===u.title.horizontalAlign&&"center"===u.title.verticalAlign)&&(u.title.ctx=a,u.title.render());if(u.subtitles)for(var b=0;b<u.subtitles.length;b++){var c=u.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)u.subtitles.ctx=a,c.render()}u.legend&&(u.legend.dockInsidePlotArea||"center"===u.legend.horizontalAlign&&"center"===u.legend.verticalAlign)&&(u.legend.ctx=a,u.legend.setLayout(),u.legend.render());V.fNg&&V.fNg(u)}var u=this;if(!(0>=a.dataSeriesIndexes.length)){for(var t=
569
+ this.data[a.dataSeriesIndexes[0]],x=t.dataPoints,w=this.plotArea,y=0.025*w.width,z=0.01*w.width,D=0,F=w.height-2*y-4,J=Math.min(w.width-2*z,2.8*w.height),I=!1,M=0;M<x.length;M++)if(!I&&("undefined"!==typeof x[M].indexLabel&&null!==x[M].indexLabel&&0<x[M].indexLabel.toString().length)&&(I=!0),!I&&("undefined"!==typeof x[M].label&&null!==x[M].label&&0<x[M].label.toString().length)&&(I=!0),!I&&"function"===typeof t.indexLabelFormatter||"function"===typeof x[M].indexLabelFormatter)I=!0;I=I||"undefined"!==
570
+ typeof t.indexLabel&&null!==t.indexLabel&&0<t.indexLabel.toString().length;"inside"!==t.indexLabelPlacement&&I||(z=(w.width-0.75*J)/2);var M=w.x1+z,O=w.x2-z,Z=w.y1+y+2,ca=w.y2-y-2,R=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=t.length&&(t.dataPoints&&t.visible)&&0!==x.length){var ea,E;a=75*J/100;var W=30*(O-a)/100;"funnel"===t.type?(ea=l(t.options.neckHeight)?0.35*F:t.neckHeight,E=l(t.options.neckWidth)?0.25*a:t.neckWidth,"string"===typeof ea&&ea.match(/%$/)?(ea=parseInt(ea),ea=ea*F/100):
571
+ ea=parseInt(ea),"string"===typeof E&&E.match(/%$/)?(E=parseInt(E),E=E*a/100):E=parseInt(E),ea>F?ea=F:0>=ea&&(ea=0),E>a?E=a-0.5:0>=E&&(E=0)):"pyramid"===t.type&&(E=ea=0,t.reversed=t.reversed?!1:!0);var z=M+a/2,U=M,T=M+a,S=t.reversed?ca:Z,$=z-E/2,X=z+E/2,ya=t.reversed?Z+ea:ca-ea,ua=t.reversed?Z:ca;E=t.valueRepresents=t.valueRepresents?t.valueRepresents:"height";M=[];a=[];var N=[],z=[],Q=Z,fa,Y=(ya-S)/($-U),ha=-Y,J="area"===E?c():g();if(-1!==J){if(t.reversed)for(z.push(Q),E=J.length-1;0<E;E--)Q+=J[E],
572
+ z.push(Math.round(Q));else for(E=0;E<J.length;E++)Q+=J[E],z.push(Math.round(Q));if(t.reversed)for(E=0;E<J.length;E++)z[E]<ya?(M.push($),a.push(X),fa=E):(M.push((z[E]-S+Y*U)/Y),a.push((z[E]-S+ha*T)/ha));else for(E=0;E<J.length;E++)z[E]<ya?(M.push((z[E]-S+Y*U)/Y),a.push((z[E]-S+ha*T)/ha),fa=E):(M.push($),a.push(X));for(E=0;E<J.length-1;E++)Q=t.reversed?x[x.length-1-E].color?x[x.length-1-E].color:t._colorSet[(x.length-1-E)%t._colorSet.length]:x[E].color?x[E].color:t._colorSet[E%t._colorSet.length],E===
573
+ fa?N.push({x1:M[E],y1:z[E],x2:a[E],y2:z[E],x3:X,y3:ya,x4:a[E+1],y4:z[E+1],x5:M[E+1],y5:z[E+1],x6:$,y6:ya,id:E,height:z[E+1]-z[E],color:Q}):N.push({x1:M[E],y1:z[E],x2:a[E],y2:z[E],x3:a[E+1],y3:z[E+1],x4:M[E+1],y4:z[E+1],id:E,height:z[E+1]-z[E],color:Q}),t.dataPointEOs[E]&&N[E]&&(t.dataPointEOs[E].sectionsofFunnel=N[E]);var ga=2,G=[],ia=!1,aa=[],ja=[],M=!1;a=a=0;Fa(aa);for(E=0;E<x.length;E++)x[E].exploded&&(M=!0,t.reversed?aa.push(x.length-1-E):aa.push(E));R.clearRect(w.x1,w.y1,w.width,w.height);R.fillStyle=
574
+ u.backgroundColor;R.fillRect(w.x1,w.y1,w.width,w.height);if(I&&t.visible&&(b(),d(),"inside"!==t.indexLabelPlacement)){e();p();for(E=0;E<x.length;E++)G[E].isDirty||(a=G[E].textBlock.x+G[E].width,a=(O-a)/2,0==E&&(D=a),D>a&&(D=a));for(E=0;E<N.length;E++)N[E].x1+=D,N[E].x2+=D,N[E].x3+=D,N[E].x4+=D,N[E].x5&&(N[E].x5+=D,N[E].x6+=D),G[E].textBlock.x+=D}for(E=0;E<N.length;E++)D=N[E],ta(R,D,t.fillOpacity),ja.push(D.y1);A(R);I&&t.visible&&("inside"===t.indexLabelPlacement||u.animationEnabled||n(R),u.animationEnabled||
575
+ s());if(!I)for(E=0;E<x.length;E++)D=t.dataPointIds[E],a={id:D,objectType:"dataPoint",dataPointIndex:E,dataSeriesIndex:0,funnelSection:N[t.reversed?x.length-1-E:E]},u._eventManager.objectMap[D]=a;!u.animationEnabled&&M?h(u,-1,0):u.animationEnabled&&!u.animatedRender&&h(u,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!ia&&!u.isAnimating&&(l(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=t.reversed?x.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===t.type||
576
+ "pyramid"===t.type)t.reversed?x[x.length-1-a].exploded=x[x.length-1-a].exploded?!1:!0:x[a].exploded=x[a].exploded?!1:!0;h(u,b,500)}};return{source:R,dest:this.plotArea.ctx,animationCallback:function(a,b){L.fadeInAnimation(a,b);1<=a&&(h(u,-1,500),A(u.plotArea.ctx||u.ctx))},easingFunction:L.easing.easeInQuad,animationBase:0}}}}};u.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||
577
+ window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();u.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;u.prototype.set=function(a,g,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=g,c&&this.render()):u.base.set.call(this,a,g,c)};u.prototype.exportChart=function(a){a="undefined"===typeof a?
578
+ {}:a;var g=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+g);var b=this.canvas;if(b&&g&&c){c=c+"."+g;a="image/"+g;var b=b.toDataURL(a),e=!1,d=document.createElement("a");d.download=c;d.href=b;if("undefined"!==typeof Blob&&new Blob){for(var p=b.replace(/^data:[a-z\/]*;base64,/,""),p=atob(p),l=new ArrayBuffer(p.length),l=new Uint8Array(l),h=0;h<p.length;h++)l[h]=p.charCodeAt(h);g=new Blob([l.buffer],{type:"image/"+g});try{window.navigator.msSaveBlob(g,
579
+ c),e=!0}catch(k){d.dataset.downloadurl=[a,d.download,d.href].join(":"),d.href=window.URL.createObjectURL(g)}}if(!e)try{event=document.createEvent("MouseEvents"),event.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),d.dispatchEvent?d.dispatchEvent(event):d.fireEvent&&d.fireEvent("onclick")}catch(n){g=window.open(),g.document.write("<img src='"+b+"'></img><div>Please right click on the image and save it to your device</div>"),g.document.close()}}};u.prototype.print=function(){var a=
580
+ this.exportChart({toDataURL:!0}),g=document.createElement("iframe");g.setAttribute("class","canvasjs-chart-print-frame");R(g,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});g.style.height=this.height+"px";this._canvasJSContainer.appendChild(g);var c=this,b=g.contentWindow||g.contentDocument.document||g.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&
581
+ (b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();b.print();setTimeout(function(){c._canvasJSContainer.removeChild(g)},1E3)},500)};u.prototype.getPercentAndTotal=function(a,g){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=g.x.getTime?g.x.getTime():g.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(g.y)?0:0===c?0:100*(g.y/c));else if("pie"===a.type||
582
+ "doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);e=isNaN(g.y)?0:100*(g.y/b)}return{percent:e,total:b}};u.prototype.replaceKeywordsWithValue=function(a,g,c,b,e){var d=this;e="undefined"===typeof e?0:e;if((0<=c.type.indexOf("stacked")||"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var p="#percent",l="#total",h=this.getPercentAndTotal(c,
583
+ g),l=isNaN(h.total)?l:h.total,p=isNaN(h.percent)?p:h.percent;do{h="";if(c.percentFormatString)h=c.percentFormatString;else{var h="#,##0.",k=Math.max(Math.ceil(Math.log(1/Math.abs(p))/Math.LN10),2);if(isNaN(k)||!isFinite(k))k=2;for(var n=0;n<k;n++)h+="#";c.percentFormatString=h}a=a.replace("#percent",ha(p,h,d._cultureInfo));a=a.replace("#total",ha(l,c.yValueFormatString?c.yValueFormatString:"#,##0.########",d._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,
584
+ function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Ia(a.slice(1,a.length-1));a=a.replace("#index",e);var k=null;try{var f=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);f&&0<f.length&&(k=Ia(f[2]),a=Ia(f[1]))}catch(p){}f=null;if("color"===a)return"waterfall"===c.type?g.color?g.color:0<g.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[k%c._colorSet.length]:g.color?g.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(g.hasOwnProperty(a))f=
585
+ g;else if(c.hasOwnProperty(a))f=c;else return"";f=f[a];null!==k&&(f=f[k]);return"x"===a?(c.axisX&&"dateTime"===c.axisX.valueType||"dateTime"===c.xValueType||g.x&&g.x.getTime)&&!c.axisX.logarithmic?Ea(f,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=d.axisX&&d.axisX.autoValueFormatString?d.axisX.autoValueFormatString:"DD MMM YY",d._cultureInfo):ha(f,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=
586
+ "#,##0.########",d._cultureInfo):"y"===a?ha(f,g.yValueFormatString?g.yValueFormatString:c.yValueFormatString?c.yValueFormatString:c.yValueFormatString=c.axisY&&c.axisY.logarithmic&&"number"===typeof f&&0<f&&(1E-7>Math.abs(f)||1E7<Math.abs(f))?"0.##E+0":"#,##0.########",d._cultureInfo):"z"===a?ha(f,g.zValueFormatString?g.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",d._cultureInfo):f})};ra(D,S);D.prototype.setLayout=function(){var a=this.dockInsidePlotArea?
587
+ this.chart.plotArea:this.chart,g=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,d=0,p=0,h=this.markerMargin=this.chart.options.legend&&!l(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:0.3*this.fontSize;this.height=0;var v=[],k=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,d=this.maxWidth=null!==this.maxWidth?this.maxWidth:g.width,p=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*g.height;else if("center"===
588
+ this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;d=this.maxWidth=null!==this.maxWidth?this.maxWidth:0.5*g.width;p=this.maxHeight=null!==this.maxHeight?this.maxHeight:g.height}this.errorMarkerColor=[];for(var n=0;n<this.dataSeries.length;n++){var m=this.dataSeries[n];if(m.dataPoints&&m.dataPoints.length){if("pie"!==m.type&&"doughnut"!==m.type&&"funnel"!==m.type&&"pyramid"!==m.type){var q=
589
+ m.legendMarkerType=m.legendMarkerType?m.legendMarkerType:"line"!==m.type&&"stepLine"!==m.type&&"spline"!==m.type&&"scatter"!==m.type&&"bubble"!==m.type||!m.markerType?"error"===m.type&&m._linkedSeries?m._linkedSeries.legendMarkerType?m._linkedSeries.legendMarkerType:T.getDefaultLegendMarker(m._linkedSeries.type):T.getDefaultLegendMarker(m.type):m.markerType,f=m.legendText?m.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:m,dataPoint:null}):
590
+ m.name,s=m.legendMarkerColor=m.legendMarkerColor?m.legendMarkerColor:m.markerColor?m.markerColor:"error"===m.type?l(m.whiskerColor)?m._colorSet[0]:m.whiskerColor:m._colorSet[0],A=m.markerSize||"line"!==m.type&&"stepLine"!==m.type&&"spline"!==m.type?0.75*this.lineHeight:0,u=m.legendMarkerBorderColor?m.legendMarkerBorderColor:m.markerBorderColor,t=m.legendMarkerBorderThickness?m.legendMarkerBorderThickness:m.markerBorderThickness?Math.max(1,Math.round(0.2*A)):0;"error"===m.type&&this.errorMarkerColor.push(s);
591
+ f=m.legendText=this.chart.replaceKeywordsWithValue(f,m.dataPoints[0],m,n);q={markerType:q,markerColor:s,text:f,textBlock:null,chartType:m.type,markerSize:A,lineColor:m._colorSet[0],dataSeriesIndex:m.index,dataPointIndex:null,markerBorderColor:u,markerBorderThickness:t};v.push(q)}else{l(m.options.legendText)&&(m.legendText=m.options.legendText);for(var x=0;x<m.dataPoints.length;x++){var w=m.dataPoints[x],q=w.legendMarkerType?w.legendMarkerType:m.legendMarkerType?m.legendMarkerType:T.getDefaultLegendMarker(m.type),
592
+ f=w.legendText?w.legendText:w.name?w.name:m.legendText?m.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:m,dataPoint:w}):w.name?w.name:"DataPoint: "+(x+1),s=w.legendMarkerColor?w.legendMarkerColor:m.legendMarkerColor?m.legendMarkerColor:w.color?w.color:m.color?m.color:m._colorSet[x%m._colorSet.length],A=0.75*this.lineHeight,u=w.legendMarkerBorderColor?w.legendMarkerBorderColor:m.legendMarkerBorderColor?m.legendMarkerBorderColor:w.markerBorderColor?
593
+ w.markerBorderColor:m.markerBorderColor,t=w.legendMarkerBorderThickness?w.legendMarkerBorderThickness:m.legendMarkerBorderThickness?m.legendMarkerBorderThickness:w.markerBorderThickness||m.markerBorderThickness?Math.max(1,Math.round(0.2*A)):0,f=this.chart.replaceKeywordsWithValue(f,w,m,x),q={markerType:q,markerColor:s,text:f,textBlock:null,chartType:m.type,markerSize:A,dataSeriesIndex:n,dataPointIndex:x,markerBorderColor:u,markerBorderThickness:t};(w.showInLegend||m.showInLegend&&!1!==w.showInLegend)&&
594
+ v.push(q)}}l(m.legendText)&&(m.legendText=m.name)}}!0===this.reversed&&v.reverse();if(0<v.length){m=null;f=w=x=0;w=null!==this.itemWidth?null!==this.itemMaxWidth?this.itemWidth=Math.min(this.itemWidth,this.itemMaxWidth,d):this.itemMaxWidth=Math.min(this.itemWidth,d):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,d):this.itemMaxWidth=d;A=0===A?0.75*this.lineHeight:A;w-=A+h;for(n=0;n<v.length;n++){q=v[n];s=w;if("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType)s-=2*0.1*this.lineHeight;
595
+ if(!(0>=p||"undefined"===typeof p||0>=s||"undefined"===typeof s))if("horizontal"===this.orientation){q.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:s,maxHeight:this.itemWrap?p:this.lineHeight,angle:0,text:q.text,textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});q.textBlock.measureText();null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(A+h+("line"===q.chartType||
596
+ "spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!m||m.width+Math.round(q.textBlock.width+A+h+(0===m.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>d)m={items:[],width:0},k.push(m),this.height+=f,f=0;f=Math.max(f,q.textBlock.height?q.textBlock.height:this.lineHeight);q.textBlock.x=m.width;q.textBlock.y=0;m.width+=Math.round(q.textBlock.width+A+h+(0===m.width?0:this.horizontalSpacing)+("line"===
597
+ q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0));m.items.push(q);this.width=Math.max(m.width,this.width)}else q.textBlock=new ka(this.ctx,{x:0,y:0,maxWidth:w,maxHeight:!0===this.itemWrap?p:1.5*this.fontSize,angle:0,text:q.text,textAlign:this.itemTextAlign,fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"}),q.textBlock.measureText(),null!==this.itemWidth&&(q.textBlock.width=
598
+ this.itemWidth-(A+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))),this.height<p-this.lineHeight?(m={items:[],width:0},k.push(m)):(m=k[x],x=(x+1)%k.length),m&&(this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight,q.textBlock.x=m.width,q.textBlock.y=0,m.width+=Math.round(q.textBlock.width+A+h+(0===m.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)),m.items.push(q),
599
+ this.width=Math.max(m.width,this.width))}this.height=!1===this.itemWrap?k.length*this.lineHeight:this.height+f;this.height=Math.min(p,this.height)>=this.lineHeight?Math.min(p,this.height):0;this.width=Math.min(d,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width-2:g.x1+g.width/2-this.width/2,b=g.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width-2:g.x1+g.width/
600
+ 2-this.width/2,b=g.y1+g.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width-2:g.x1+g.width/2-this.width/2,b=g.y2-this.height);this.items=v;for(n=0;n<this.items.length;n++)q=v[n],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]={id:q.id,objectType:"legendItem",legendItemIndex:n,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=A;this.rows=k;0<
601
+ v.length&&0<this.height&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:e,y1:b,x2:e+this.width,y2:b+this.height}};D.prototype.render=function(){var a=this.bounds.x1,g=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,d=this.markerSize,p=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,g,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);
602
+ for(var l=0,h=0;h<p.length;h++){for(var k=p[h],n=0,m=0;m<k.items.length;m++){var q=k.items[m],f=q.textBlock.x+a+(0===m?0.2*d:this.horizontalSpacing),v=g+l,s=f;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,g,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)this.ctx.strokeStyle=q.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),
603
+ this.ctx.moveTo(f-0.1*this.lineHeight,v+this.lineHeight/2),this.ctx.lineTo(f+0.85*this.lineHeight,v+this.lineHeight/2),this.ctx.stroke(),s-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=d/8;this.ctx.beginPath();var u=f-0.08*this.lineHeight+0.1*this.lineHeight,t=v+0.15*this.lineHeight,x=0.7*this.lineHeight,w=x+0.02*this.lineHeight;this.ctx.moveTo(u,t);this.ctx.lineTo(u+x,t);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(u+x/2,
604
+ t);this.ctx.lineTo(u+x/2,t+w);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(u,t+w);this.ctx.lineTo(u+x,t+w);this.ctx.stroke();this.errorMarkerColor.shift()}X.drawMarker(f+d/2,v+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=f+c+d;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;
605
+ q.textBlock.y=Math.round(v+this.lineHeight/2);q.textBlock.render(!0);this.ctx.restore();n=0<m?Math.max(n,q.textBlock.height?q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);f=W(q.id);this.ghostCtx.fillStyle=f;this.ghostCtx.beginPath();this.ghostCtx.fillRect(s,q.textBlock.y-this.lineHeight/2,q.textBlock.x+q.textBlock.width-s,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=
606
+ s;q.y1=this.chart._eventManager.objectMap[q.id].y1=q.textBlock.y-this.lineHeight/2;q.x2=this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}l+=n}};ra(T,S);T.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===
607
+ a||"stackedLine"===a||"bubble"===a||"scatter"===a||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};
608
+ T.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===
609
+ a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};T.prototype.getDataPointAtX=function(a,g,c){if(!this.dataPoints||0===this.dataPoints.length)return null;var b={dataPoint:null,distance:Infinity,index:NaN},e=null,d=0,p=0,h=1,v=Infinity,k=0,n=0,m=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(m=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),
610
+ m=1<m?Math.min(Math.max((this.dataPoints.length-1)/m*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(m=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<m?Math.min(Math.max((this.dataPoints.length-1)/m*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){p=0<h?m+d:m-d;if(0<=p&&p<this.dataPoints.length){var e=this.dataPoints[p],q=this.axisX&&this.axisX.logarithmic?e.x>a?e.x/a:a/e.x:Math.abs(e.x-a);q<b.distance&&(l(c)||c&&!l(e.y))&&(b.dataPoint=e,
611
+ b.distance=q,b.index=p);e=q;e<=v?v=e:0<h?k++:n++;if(1E3<k&&1E3<n)break}else if(0>m-d&&m+d>=this.dataPoints.length)break;-1===h?(d++,h=1):h=-1}return g||(b.dataPoint.x.getTime?b.dataPoint.x.getTime():b.dataPoint.x)!==(a.getTime?a.getTime():a)?g&&null!==b.dataPoint?b:null:b};T.prototype.getDataPointAtXY=function(a,g,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||g<this.chart.plotArea.y1||g>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=
612
+ 0,d=0,p=1,h=!1,v=Infinity,k=0,n=0,m=0;if("none"!==this.chart.plotInfo.axisPlacement)if(m=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:g}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),m=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(m/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else q=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<q?Math.min(Math.max((this.dataPoints.length-
613
+ 1)/q*(m-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){d=0<p?m+e:m-e;if(0<=d&&d<this.dataPoints.length){var q=this.chart._eventManager.objectMap[this.dataPointIds[d]],f=this.dataPoints[d],s=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=q.x1&&(a<=q.x2&&g>=q.y1&&g<=q.y2)&&(b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-
614
+ a),Math.abs(q.x2-a),Math.abs(q.y1-g),Math.abs(q.y2-g))}),h=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var A=la("markerSize",f,this)||4,u=c?20:A,s=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-g,2));s<=u&&b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:s});q=Math.abs(q.x1-a);q<=v?v=q:0<p?k++:n++;s<=A/2&&(h=!0);break;case "rangeArea":case "rangeSplineArea":A=la("markerSize",f,this)||
615
+ 4;u=c?20:A;s=Math.min(Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-g,2)),Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y2-g,2)));s<=u&&b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:s});q=Math.abs(q.x1-a);q<=v?v=q:0<p?k++:n++;s<=A/2&&(h=!0);break;case "bubble":A=q.size;s=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-g,2));s<=A/2&&(b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:s}),h=!0);break;case "pie":case "doughnut":A=q.center;u="doughnut"===this.type?q.percentInnerRadius*q.radius:
616
+ 0;s=Math.sqrt(Math.pow(A.x-a,2)+Math.pow(A.y-g,2));s<q.radius&&s>u&&(s=Math.atan2(g-A.y,a-A.x),0>s&&(s+=2*Math.PI),s=Number(((180*(s/Math.PI)%360+360)%360).toFixed(12)),A=Number(((180*(q.startAngle/Math.PI)%360+360)%360).toFixed(12)),u=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===u&&1<q.endAngle&&(u=360),A>=u&&(0!==f.y&&!l(f.y))&&(u+=360,s<A&&(s+=360)),s>A&&s<u&&(b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:0}),h=!0));break;case "funnel":case "pyramid":s=q.funnelSection;
617
+ g>=s.y1&&g<s.y4&&(s.y6?g>=s.y6?(d=s.x6+(s.x5-s.x6)/(s.y5-s.y6)*(g-s.y6),s=s.x3+(s.x4-s.x3)/(s.y4-s.y3)*(g-s.y3)):(d=s.x1+(s.x6-s.x1)/(s.y6-s.y1)*(g-s.y1),s=s.x2+(s.x3-s.x2)/(s.y3-s.y2)*(g-s.y2)):(d=s.x1+(s.x4-s.x1)/(s.y4-s.y1)*(g-s.y1),s=s.x2+(s.x3-s.x2)/(s.y3-s.y2)*(g-s.y2)),a>d&&a<s&&(b.push({dataPoint:f,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),h=!0));break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&g>=q.y4-q.borderThickness/2&&g<=q.y1+
618
+ q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&g>=q.y1&&g<=q.y4)b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-g),Math.abs(q.y3-g))}),h=!0;break;case "candlestick":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&g>=q.y2-q.borderThickness/2&&g<=q.y3+q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&g>=q.y1&&g<=q.y4)b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-
619
+ a),Math.abs(q.x2-a),Math.abs(q.y2-g),Math.abs(q.y3-g))}),h=!0;break;case "ohlc":if(Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&g>=q.y2&&g<=q.y3||a>=q.x1&&a<=(q.x2+q.x1)/2&&g>=q.y1-q.borderThickness/2&&g<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&g>=q.y4-q.borderThickness/2&&g<=q.y4+q.borderThickness/2)b.push({dataPoint:f,dataPointIndex:d,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-g),Math.abs(q.y3-g))}),h=!0}if(h||1E3<k&&1E3<n)break}}else if(0>m-e&&
620
+ m+e>=this.dataPoints.length)break;-1===p?(e++,p=1):p=-1}a=null;for(g=0;g<b.length;g++)a?b[g].distance<=a.distance&&(a=b[g]):a=b[g];return a};T.prototype.getMarkerProperties=function(a,g,c,b){var e=this.dataPoints,d=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],p=e[a].markerBorderColor?e[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,h=l(e[a].markerBorderThickness)?this.markerBorderThickness?
621
621
  this.markerBorderThickness:null:e[a].markerBorderThickness,s=e[a].markerType?e[a].markerType:this.markerType;a=l(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:g,y:c,ctx:b,type:s,size:a,color:d,borderColor:p,borderThickness:h}};ra(y,S);y.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var g=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(g/this.viewportMinimum)<this.noTicks-1){for(var c=y.getNiceNumber((g-this.viewportMinimum)/Math.min(Math.max(2,
622
622
  this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<g;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Ua);this.createExtraLabelsForLog(a)}}};y.prototype.createLabels=function(){var a,g,c=0,b=0,e,d=0,p=0,b=0,b=this.interval,h=0,s,k=0.6*this.chart.height,n;a=!1;var m=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],q=m.length?l(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
623
623
  this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels&&l(this.options.interval)){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),f=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])f=!0;else{f=!1;break}f&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,f=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;
@@ -810,76 +810,76 @@ this.conversionParameters=g};y.prototype.calculateAxisParameters=function(){if(t
810
810
  this.minimum;if(l(this.options.viewportMaximum)&&!l(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;!l(this.minimum)&&this.viewportMinimum<this.minimum&&(this.viewportMinimum=this.minimum);!l(this.maximum)&&this.viewportMaximum>this.maximum&&(this.viewportMaximum=this.maximum);if(this.scaleBreaks)for(b=
811
811
  0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!l(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!l(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!l(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!l(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||
812
812
  !l(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!l(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;d=null!==this.viewportMaximum?
813
- this.viewportMaximum:this.dataInfo.viewPortMax;0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b);Infinity!==this.dataInfo.minDiff?h=this.dataInfo.minDiff:1<d-e?h=0.5*Math.abs(d-e):(h=1,c&&(g=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,h=Math.pow(2,50),isFinite(e)||isFinite(d)?isFinite(e)?isFinite(d)||(d=e):e=d:(d="undefined"===
814
- typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(e>=h||d>=h||e<=-h||d<=-h)&&10>d-e?d+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)),h=Infinity!==this.dataInfo.minDiff?
815
- this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>d&&(d=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum,null,!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=
816
- a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType=
817
- "millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*F.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*F.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*F.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*F.secondDuration)<=a?(this.interval=10,this.intervalType="second"):b/(15*F.secondDuration)<=
818
- a?(this.interval=15,this.intervalType="second"):b/(20*F.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*F.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*F.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*F.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*F.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*F.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):b/(15*F.minuteDuration)<=
819
- a?(this.interval=15,this.intervalType="minute"):b/(20*F.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*F.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*F.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*F.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*F.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*F.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):b/(1*F.dayDuration)<=a?(this.interval=1,
820
- this.intervalType="day"):b/(2*F.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*F.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*F.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*F.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*F.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*F.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*F.monthDuration)<=a?(this.interval=2,this.intervalType="month"):b/(3*F.monthDuration)<=
821
- a?(this.interval=3,this.intervalType="month"):b/(6*F.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*F.yearDuration)<=a?1:b/(2*F.yearDuration)<=a?2:b/(4*F.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/F.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-h/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=d+h/2;g?this.autoValueFormatString="MMM DD YYYY HH:mm":
822
- "year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString=
823
- "fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d+h/2:
824
- Math.ceil(d/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?
825
- this.maximum:this.dataInfo.max,0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1):"axisY"===this.type&&(e=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(d)?0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,
826
- e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)):(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||
827
- isNaN(this.maximum))&&0>d&&(d=0)),Math.abs(this.getApparentDifference(e,d,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-h/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=d+h/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||
828
- isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?d+h/2:Math.ceil(d/this.interval)*
829
- this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));l(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));l(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,
830
- this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),g=Math.log(this.logarithmBase),
831
- c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,e,d,h;h=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(h=
832
- 0;h<this.scaleBreaks._appliedBreaks.length;h++)if((!l(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue||!l(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[h].startValue||!l(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue)&&(!l(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue||
833
- !l(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[h].endValue||!l(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue)){this.scaleBreaks._appliedBreaks.splice(h,1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(h=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?
834
- 0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-
835
- 1/this.logarithmBase,b=1):1===e/b?(h=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=h,b/=h):b>e?(h=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===
836
- this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);var r=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType=
837
- "number";h=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(h)/g),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(h)/g/(a-1),!0),c=y.getNiceNumber(r/(a-1),!0));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=
838
- "axisX"===this.type?e*Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceExponent(Math.ceil(Math.log(h)/g)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-
839
- this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(h=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?
840
- this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(h=Math.pow(this.logarithmBase,this.interval),e*=h,b/=h):b>e?(h=Math.min(0.01*(b/e),5),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),d=Infinity!==this.dataInfo.minDiff?
841
- this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval)),l(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?
842
- "undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(d):
843
- Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval)),l(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
844
- 0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||
845
- this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval);this.range=
846
- this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(g=Math.floor(this.viewportMinimum/c+0.5)*c;g<this.viewportMinimum;)g+=c;this.equidistantInterval=!1;this.intervalStartPosition=g;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval))),
847
- this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){g=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(g)||!isFinite(g))g=2;if(2<g)for(h=0;h<g-2;h++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,g){var c="#,##0.",b=g;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(b)||!isFinite(b))&&(b=g);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,
848
- g){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,g){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=g?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.prototype.getLabelStartPoint=function(){var a=F[this.intervalType+"Duration"]*this.interval,a=
849
- new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===
850
- this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||
851
- 0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ra(aa,S);ra(Y,S);Y.prototype.createUserOptions=function(a){if("undefined"!==
852
- typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),g=this.parent.options[this.optionsName].indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][g]=this.options}};Y.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var g=
853
- this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;W(this.id);var d,h,l,s,k,n;a=Math.max(this.spacing,
854
- 3);var m=Math.max(0,this.lineThickness);this.ctx.lineWidth=m;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,m));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===m%2?(b.x<<0)+0.5:b.x<<0,h=1===m%2?(e.x<<0)+0.5:e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,l=this.chart.plotArea.y2+m/2+0.5<<0):(e=this.chart.plotArea.y2,l=this.chart.plotArea.y1-m/2+0.5<<0,a*=-1),this.bounds={x1:b-m/2,y1:e,x2:h+m/2,y2:l},this.ctx.moveTo(b,
855
- e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,l),this.ctx.lineTo(h,l),this.ctx.lineTo(h,e);else if("wavy"===this.type){s=b;k=e;d=0.5;n=(l-k)/a/3;for(var q=0;q<n;q++)this.ctx.bezierCurveTo(s+d*a,k+a,s+d*a,k+2*a,s,k+3*a),k+=3*a,d*=-1;this.ctx.bezierCurveTo(s+d*a,k+a,s+d*a,k+2*a,s,k+3*a);s=h;d*=-1;this.ctx.lineTo(s,k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+d*a,k-a,s+d*a,k-2*a,s,k-3*a),k-=3*a,d*=-1}else{if("zigzag"===
856
- this.type){d=-1;k=e+a;s=b+a;n=(l-k)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),s+=2*d*a,k+=2*a,d*=-1;this.ctx.lineTo(s,k);s+=h-b;for(q=0;q<n+1;q++)this.ctx.lineTo(s,k),s+=2*d*a,k-=2*a,d*=-1;this.ctx.lineTo(s+d*a,k+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===this.scaleBreaks.parent._position)if(e=1===m%2?(e.y<<0)+0.5:e.y<<0,l=1===m%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,h=this.chart.plotArea.x2+m/2+0.5<<0):(b=this.chart.plotArea.x2,
857
- h=this.chart.plotArea.x1-m/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-m/2,x2:h,y2:l+m/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(h,e),this.ctx.lineTo(h,l),this.ctx.lineTo(b,l);else if("wavy"===this.type){s=b;k=e;d=0.5;n=(h-s)/a/3;for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k),s+=3*a,d*=-1;this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k);k=l;d*=-1;this.ctx.lineTo(s,
858
- k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s-a,k+d*a,s-2*a,k+d*a,s-3*a,k),s-=3*a,d*=-1}else if("zigzag"===this.type){d=1;k=e-a;s=b+a;n=(h-s)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),k+=2*d*a,s+=2*a,d*=-1;this.ctx.lineTo(s,k);k+=l-e;for(q=0;q<n+1;q++)this.ctx.lineTo(s,k),k+=2*d*a,s-=2*a,d*=-1;this.ctx.lineTo(s+a,k+d*a)}0<m&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=
859
- c;this.ctx=g}};ra(ia,S);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),g=this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[g]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),
860
- g=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<g){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=c;W(this.id);var e,d,h,l;this.ctx.lineWidth=g;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,g));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===
861
- this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=d=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,l=this.chart.plotArea.y2,this.bounds={x1:e-g/2,y1:h,x2:d+g/2,y2:l};else if("left"===this.parent._position||"right"===this.parent._position)a="pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=l=1===this.ctx.lineWidth%2?(a<<
862
- 0)+0.5:a<<0,e=this.chart.plotArea.x1,d=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-g/2,x2:d,y2:l+g/2};this.ctx.moveTo(e,h);this.ctx.lineTo(d,l);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(ga,S);ga.prototype.showAt=function(a){if(!this.enabled)return!1;var g=this.chart,c=!1;g.resetOverlayedCanvas();g.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===g.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?g.axisY:g.axisX:
863
- "top"===this.parent._position?b=e?g.axisY2:g.axisX2:"left"===this.parent._position?b=e?g.axisX:g.axisY:"right"===this.parent._position&&(b=e?g.axisX2:g.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?a:null);b=["axisX","axisX2","axisY","axisY2"];for(e=0;e<b.length;e++)for(var d=b[e],h=0;h<g[d].length;h++){var r=g[d][h],s=r._crosshairValue;r.crosshair&&r.crosshair.enabled&&(this.parent===r&&(r.sessionVariables.crosshairShownByPixel=
864
- !1,r.sessionVariables.crosshairValue=r.crosshair._updatedValue=s||a),!l(s)&&s>=r.viewportMinimum&&s<=r.viewportMaximum?(r.showCrosshair(s),this===r.crosshair&&(c=!0)):void 0!==s&&(r.sessionVariables.crosshairValue=null,r.crosshair._updatedValue=null))}this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};ga.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&
865
- (this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};ga.prototype.render=function(a,g,c){var b,e,d,h,r=null,s=null,k=null,n="";this.valueFormatString||("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(k=0,k="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?
866
- 0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0),this.valueFormatString=y.generateValueFormatString(this.parent.range,k)));var m=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*
867
- this.thickness),f=this.chart.overlaidCanvasCtx,v=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(l(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=l(this.options.labelMaxWidth)?0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=l(this.options.labelWrap)||this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||
868
- 0):2*this.labelPadding);k=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,text:n,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});
869
- if(this.snapToDataPoint){var u=0,n=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)u=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?this.chart.sessionVariables.mouseY:g});else if("left"===this.parent._position||"right"===this.parent._position)u=this.parent.convertPixelToValue({y:g});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,
870
- !0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));z=null;if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});var x=z=0;yPercent=cumulativeY=0;for(var u=Infinity,w,t=0;t<n.length;t++){if("rangeBar"===n[t].dataSeries.type||"error"===n[t].dataSeries.type){if(n[t].dataPoint.y)for(var D=0;D<n[t].dataPoint.y.length;D++)x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y[D])),x<=u&&(u=x,z=t)}else"stackedBar"===
871
- n[t].dataSeries.type?(cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),x<=u&&(u=x,z=t)):"stackedBar100"===n[t].dataSeries.type?(x=n[0].dataPoint.x.getTime?n[0].dataPoint.x.getTime():n[0].dataPoint.x,l(w)&&(w=Math.abs(a-this.parent.convertValueToPixel(100*(n[0].dataSeries.dataPointEOs[n[0].index].cumulativeY/n[0].dataSeries.plotUnit.dataPointYSums[x])))),cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?
872
- n[t].dataPoint.x.getTime():n[t].dataPoint.x,yPercent=100*(cumulativeY/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(a-this.parent.convertValueToPixel(yPercent)),x<=w&&(w=x,z=t)):(x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y)),x<=u&&(u=x,z=t));l(w)||(u=Math.min(u,w))}w=n[z];t=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===w.dataSeries.type||"error"===w.dataSeries.type){u=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(n=
873
- 0;n<w.dataPoint.y.length;n++)x=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[n])),x<u&&(u=x,t=n);r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[t])<<0;this.value=w.dataPoint.y[t];0!==w.dataPoint.y[t]%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?
874
- 1:0)));k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[t]}):l(this.options.label)?ha(w.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<
875
- 0,this.value=cumulativeY,0!==cumulativeY%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:cumulativeY}):l(this.options.label)?ha(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===
876
- w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,yPercent=100*(cumulativeY/w.dataSeries.plotUnit.dataPointYSums[x]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,this.value=yPercent,0!==yPercent%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,
877
- Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):l(this.options.label)?ha(yPercent,this.valueFormatString,this.chart._cultureInfo):this.label):(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y)<<0,this.value=w.dataPoint.y,0!==w.dataPoint.y%
878
- 1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):l(this.options.label)?ha(w.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label);b=e=r;d=this.chart.plotArea.y1;h=this.chart.plotArea.y2;
879
- this.bounds={x1:b-q/2,y1:d,x2:e+q/2,y2:h};k.x=b-k.measureText().width/2;k.x+k.width>this.chart.bounds.x2?k.x=this.chart.bounds.x2-k.width:k.x<this.chart.bounds.x1&&(k.x=this.chart.bounds.x1);k.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-k.height+this.parent.tickLength:k.fontSize/2)+2;k.y+k.height>this.chart.bounds.y2?k.y=this.chart.bounds.y2-k.height:k.y<this.chart.bounds.y1&&(k.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){d=
880
- h=s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:d-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(u=Math.ceil(this.parent.interval),n=0;n<this.parent.viewportMaximum;n+=u)if(this.parent.labels[n])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(u=this.parent.convertPixelToValue({y:g}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=
881
- this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==w.dataPoint.x%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+
882
- (5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?ha(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?Ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):
813
+ this.viewportMaximum:this.dataInfo.viewPortMax;0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b);Infinity!==this.dataInfo.minDiff?h=this.dataInfo.minDiff:1<d-e?h=0.5*Math.abs(d-e):(h=this.dataInfo.min===this.dataInfo.max?1:Math.abs(this.dataInfo.max-this.dataInfo.min),c&&(g=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,
814
+ h=Math.pow(2,50),isFinite(e)||isFinite(d)?isFinite(e)?isFinite(d)||(d=e):e=d:(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(e>=h||d>=h||e<=-h||d<=-h)&&10>d-e?d+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,
815
+ d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>d&&(d=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum,null,
816
+ !0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=
817
+ 200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*F.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*F.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*F.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*F.secondDuration)<=
818
+ a?(this.interval=10,this.intervalType="second"):b/(15*F.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*F.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*F.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*F.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*F.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*F.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*F.minuteDuration)<=
819
+ a?(this.interval=10,this.intervalType="minute"):b/(15*F.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*F.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*F.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*F.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*F.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*F.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*F.hourDuration)<=a?(this.interval=
820
+ 6,this.intervalType="hour"):b/(1*F.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*F.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*F.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*F.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*F.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*F.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*F.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*F.monthDuration)<=
821
+ a?(this.interval=2,this.intervalType="month"):b/(3*F.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*F.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*F.yearDuration)<=a?1:b/(2*F.yearDuration)<=a?2:b/(4*F.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/F.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-h/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=
822
+ d+h/2;g?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString=
823
+ "hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||
824
+ isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d+h/2:Math.ceil(d/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=
825
+ null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1):"axisY"===this.type&&(e=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(d)?0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),
826
+ 5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)):(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.minimum||
827
+ isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>d&&(d=0)),Math.abs(this.getApparentDifference(e,d,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-h/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=
828
+ d+h/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum)),
829
+ null===this.maximum&&(this.maximum="axisX"===this.type?d+h/2:Math.ceil(d/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));l(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));
830
+ l(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,2))}};y.prototype.calculateLogarithmicAxisParameters=
831
+ function(){var a=this.chart.layoutManager.getFreeSpace(),g=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,e,d,h;h=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||
832
+ isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(h=0;h<this.scaleBreaks._appliedBreaks.length;h++)if((!l(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue||!l(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[h].startValue||!l(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue)&&(!l(this.sessionVariables.newViewportMaximum)&&
833
+ this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue||!l(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[h].endValue||!l(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue)){this.scaleBreaks._appliedBreaks.splice(h,1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,
834
+ 1===e/b&&(h=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e="undefined"===typeof this.options.interval?0:
835
+ this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(h=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=h,b/=h):b>e?(h=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?
836
+ e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);var r=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||
837
+ null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";h=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(h)/g),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(h)/g/(a-1),!0),c=y.getNiceNumber(r/(a-1),!0));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval));
838
+ if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&
839
+ (this.interval=y.getNiceExponent(Math.ceil(Math.log(h)/g)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(h=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?
840
+ e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(h=Math.pow(this.logarithmBase,this.interval),e*=h,b/=h):b>e?(h=Math.min(0.01*(b/e),5),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)):(e="undefined"===
841
+ typeof this.options.interval?0:this.options.interval,b=1),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/
842
+ g/this.interval)),l(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:
843
+ this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval)),l(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||
844
+ isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,
845
+ this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=
846
+ Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(g=Math.floor(this.viewportMinimum/c+0.5)*c;g<this.viewportMinimum;)g+=c;this.equidistantInterval=!1;this.intervalStartPosition=g;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&
847
+ (this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){g=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(g)||!isFinite(g))g=2;if(2<g)for(h=0;h<g-2;h++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,g){var c="#,##0.",b=g;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/
848
+ Math.LN10)),isNaN(b)||!isFinite(b))&&(b=g);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,g){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,g){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=g?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};
849
+ y.prototype.getLabelStartPoint=function(){var a=F[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||
850
+ 0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),
851
+ a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),
852
+ a.setSeconds(0),a.setMilliseconds(0));return a};ra(aa,S);ra(Y,S);Y.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),g=this.parent.options[this.optionsName].indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][g]=this.options}};Y.prototype.render=function(a){if(0!==
853
+ this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var g=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=
854
+ this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;W(this.id);var d,h,l,s,k,n;a=Math.max(this.spacing,3);var m=Math.max(0,this.lineThickness);this.ctx.lineWidth=m;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,m));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===m%2?(b.x<<0)+0.5:b.x<<0,h=1===m%2?(e.x<<0)+0.5:e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,l=this.chart.plotArea.y2+
855
+ m/2+0.5<<0):(e=this.chart.plotArea.y2,l=this.chart.plotArea.y1-m/2+0.5<<0,a*=-1),this.bounds={x1:b-m/2,y1:e,x2:h+m/2,y2:l},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,l),this.ctx.lineTo(h,l),this.ctx.lineTo(h,e);else if("wavy"===this.type){s=b;k=e;d=0.5;n=(l-k)/a/3;for(var q=0;q<n;q++)this.ctx.bezierCurveTo(s+d*a,k+a,s+d*a,k+2*a,s,k+3*a),k+=3*a,d*=-1;this.ctx.bezierCurveTo(s+d*a,
856
+ k+a,s+d*a,k+2*a,s,k+3*a);s=h;d*=-1;this.ctx.lineTo(s,k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+d*a,k-a,s+d*a,k-2*a,s,k-3*a),k-=3*a,d*=-1}else{if("zigzag"===this.type){d=-1;k=e+a;s=b+a;n=(l-k)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),s+=2*d*a,k+=2*a,d*=-1;this.ctx.lineTo(s,k);s+=h-b;for(q=0;q<n+1;q++)this.ctx.lineTo(s,k),s+=2*d*a,k-=2*a,d*=-1;this.ctx.lineTo(s+d*a,k+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===this.scaleBreaks.parent._position)if(e=1===m%2?(e.y<<0)+0.5:e.y<<
857
+ 0,l=1===m%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,h=this.chart.plotArea.x2+m/2+0.5<<0):(b=this.chart.plotArea.x2,h=this.chart.plotArea.x1-m/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-m/2,x2:h,y2:l+m/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(h,e),this.ctx.lineTo(h,l),this.ctx.lineTo(b,l);else if("wavy"===this.type){s=b;k=e;d=0.5;n=
858
+ (h-s)/a/3;for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k),s+=3*a,d*=-1;this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k);k=l;d*=-1;this.ctx.lineTo(s,k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s-a,k+d*a,s-2*a,k+d*a,s-3*a,k),s-=3*a,d*=-1}else if("zigzag"===this.type){d=1;k=e-a;s=b+a;n=(h-s)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),k+=2*d*a,s+=2*a,d*=-1;this.ctx.lineTo(s,k);k+=l-e;for(q=0;q<n+1;q++)this.ctx.lineTo(s,k),k+=2*d*a,s-=2*a,d*=-1;this.ctx.lineTo(s+a,k+d*a)}0<m&&this.ctx.stroke();
859
+ this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=g}};ra(ia,S);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),g=this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===
860
+ typeof a?{}:a;this.parent.options.stripLines[g]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),g=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<g){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=c;W(this.id);var e,d,h,
861
+ l;this.ctx.lineWidth=g;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,g));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=d=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,l=this.chart.plotArea.y2,this.bounds={x1:e-g/2,y1:h,x2:d+g/2,y2:l};else if("left"===this.parent._position||"right"===this.parent._position)a=
862
+ "pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=l=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,e=this.chart.plotArea.x1,d=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-g/2,x2:d,y2:l+g/2};this.ctx.moveTo(e,h);this.ctx.lineTo(d,l);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(ga,S);ga.prototype.showAt=function(a){if(!this.enabled)return!1;var g=this.chart,c=!1;g.resetOverlayedCanvas();g.clearedOverlayedCanvas=
863
+ this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===g.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?g.axisY:g.axisX:"top"===this.parent._position?b=e?g.axisY2:g.axisX2:"left"===this.parent._position?b=e?g.axisX:g.axisY:"right"===this.parent._position&&(b=e?g.axisX2:g.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?a:null);b=["axisX","axisX2","axisY","axisY2"];for(e=0;e<b.length;e++)for(var d=
864
+ b[e],h=0;h<g[d].length;h++){var r=g[d][h],s=r._crosshairValue;r.crosshair&&r.crosshair.enabled&&(this.parent===r&&(r.sessionVariables.crosshairShownByPixel=!1,r.sessionVariables.crosshairValue=r.crosshair._updatedValue=s||a),!l(s)&&s>=r.viewportMinimum&&s<=r.viewportMaximum?(r.showCrosshair(s),this===r.crosshair&&(c=!0)):void 0!==s&&(r.sessionVariables.crosshairValue=null,r.crosshair._updatedValue=null))}this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&
865
+ this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};ga.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};ga.prototype.render=function(a,g,c){var b,e,d,h,r=null,s=null,k=null,n="";this.valueFormatString||
866
+ ("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(k=0,k="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0),this.valueFormatString=y.generateValueFormatString(this.parent.range,
867
+ k)));var m=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*this.thickness),f=this.chart.overlaidCanvasCtx,v=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(l(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=l(this.options.labelMaxWidth)?0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=l(this.options.labelWrap)||
868
+ this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding);k=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,text:n,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,
869
+ fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var u=0,n=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)u=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?this.chart.sessionVariables.mouseY:g});else if("left"===this.parent._position||"right"===
870
+ this.parent._position)u=this.parent.convertPixelToValue({y:g});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));z=null;if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});var x=z=0;yPercent=cumulativeY=0;for(var u=Infinity,w,t=0;t<n.length;t++){if("rangeBar"===n[t].dataSeries.type||"error"===n[t].dataSeries.type){if(n[t].dataPoint.y)for(var D=
871
+ 0;D<n[t].dataPoint.y.length;D++)x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y[D])),x<=u&&(u=x,z=t)}else"stackedBar"===n[t].dataSeries.type?(cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),x<=u&&(u=x,z=t)):"stackedBar100"===n[t].dataSeries.type?(x=n[0].dataPoint.x.getTime?n[0].dataPoint.x.getTime():n[0].dataPoint.x,l(w)&&(w=Math.abs(a-this.parent.convertValueToPixel(100*(n[0].dataSeries.dataPointEOs[n[0].index].cumulativeY/
872
+ n[0].dataSeries.plotUnit.dataPointYSums[x])))),cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?n[t].dataPoint.x.getTime():n[t].dataPoint.x,yPercent=100*(cumulativeY/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(a-this.parent.convertValueToPixel(yPercent)),x<=w&&(w=x,z=t)):(x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y)),x<=u&&(u=x,z=t));l(w)||(u=Math.min(u,w))}w=n[z];t=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===
873
+ w.dataSeries.type||"error"===w.dataSeries.type){u=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(n=0;n<w.dataPoint.y.length;n++)x=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[n])),x<u&&(u=x,t=n);r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[t])<<0;this.value=w.dataPoint.y[t];0!==w.dataPoint.y[t]%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,
874
+ Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[t]}):l(this.options.label)?ha(w.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,
875
+ r=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,0!==cumulativeY%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:cumulativeY}):
876
+ l(this.options.label)?ha(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,yPercent=100*(cumulativeY/w.dataSeries.plotUnit.dataPointYSums[x]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,
877
+ this.value=yPercent,0!==yPercent%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):l(this.options.label)?ha(yPercent,this.valueFormatString,this.chart._cultureInfo):this.label):(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y)<<
878
+ 0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y)<<0,this.value=w.dataPoint.y,0!==w.dataPoint.y%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):l(this.options.label)?ha(w.dataPoint.y,this.valueFormatString,
879
+ this.chart._cultureInfo):this.label);b=e=r;d=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:d,x2:e+q/2,y2:h};k.x=b-k.measureText().width/2;k.x+k.width>this.chart.bounds.x2?k.x=this.chart.bounds.x2-k.width:k.x<this.chart.bounds.x1&&(k.x=this.chart.bounds.x1);k.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-k.height+this.parent.tickLength:k.fontSize/2)+2;k.y+k.height>this.chart.bounds.y2?k.y=this.chart.bounds.y2-k.height:k.y<this.chart.bounds.y1&&(k.y=this.chart.bounds.y1)}else if("left"===
880
+ this.parent._position||"right"===this.parent._position){d=h=s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:d-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(u=Math.ceil(this.parent.interval),n=0;n<this.parent.viewportMaximum;n+=u)if(this.parent.labels[n])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(u=this.parent.convertPixelToValue({y:g}),
881
+ z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==w.dataPoint.x%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/
882
+ Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?ha(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?Ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):
883
883
  this.label;this.value=w.dataPoint.x;k.y=h+k.fontSize/2-k.measureText().height/2+2;k.y-k.fontSize/2<this.chart.bounds.y1?k.y=this.chart.bounds.y1+k.fontSize/2+2:k.y+k.measureText().height-k.fontSize/2>this.chart.bounds.y2&&(k.y=this.chart.bounds.y2-k.measureText().height+k.fontSize/2);"left"===this.parent._position?k.x=this.parent.lineCoordinates.x2-k.measureText().width:"right"===this.parent._position&&(k.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){u=
884
884
  this.parent.convertPixelToValue({x:a});for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});w=n[0];b=e=r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;d=this.chart.plotArea.y1;h=this.chart.plotArea.y2;
885
885
  this.bounds={x1:b-q/2,y1:d,x2:e+q/2,y2:h};t=!1;if(this.parent.labels)for(u=Math.ceil(this.parent.interval),n=0;n<this.parent.viewportMaximum;n+=u)if(this.parent.labels[n])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(u=this.parent.convertPixelToValue({x:a}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
@@ -989,7 +989,7 @@ onComplete:b});for(a=[];0<this.animations.length;)if(g=this.animations.shift(),c
989
989
  ma)}},xClipAnimation:function(a,g){if(0!==a){var c=g.dest,b=g.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ma,b.height/ma);c.restore()}},fadeInAnimation:function(a,g){if(0!==a){var c=g.dest,b=g.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ma,c.canvas.height/ma);c.restore()}},easing:{linear:function(a,g,c,b){return c*a/b+g},easeOutQuad:function(a,g,c,b){return-c*(a/=b)*(a-2)+g},easeOutQuart:function(a,g,c,b){return-c*
990
990
  ((a=a/b-1)*a*a*a-1)+g},easeInQuad:function(a,g,c,b){return c*(a/=b)*a+g},easeInQuart:function(a,g,c,b){return c*(a/=b)*a*a*a+g}}},X={drawMarker:function(a,g,c,b,e,d,h,l){if(c){var s=1;c.fillStyle=d?d:"#000000";c.strokeStyle=h?h:"#000000";c.lineWidth=l?l:0;c.setLineDash&&c.setLineDash(H("solid",l));"circle"===b?(c.moveTo(a,g),c.beginPath(),c.arc(a,g,e/2,0,2*Math.PI,!1),d&&c.fill(),l&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"square"===b?
991
991
  (c.beginPath(),c.rect(a-e/2,g-e/2,e,e),d&&c.fill(),l&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,g+e/2),c.lineTo(a+e/2,g+e/2),c.lineTo(a,g-e/2),c.closePath(),d&&c.fill(),l&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s)),c.beginPath()):"cross"===b&&(c.strokeStyle=d,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,g-e/2),c.lineTo(a+e/2,g+e/2),c.stroke(),
992
- c.moveTo(a+e/2,g-e/2),c.lineTo(a-e/2,g+e/2),c.stroke())}},drawMarkers:function(a){for(var g=0;g<a.length;g++){var c=a[g];X.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return u}();s.version="v3.14.7 GA";window.CanvasJS&&(s&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=s)})();
992
+ c.moveTo(a+e/2,g-e/2),c.lineTo(a-e/2,g+e/2),c.stroke())}},drawMarkers:function(a){for(var g=0;g<a.length;g++){var c=a[g];X.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return u}();s.version="v3.14.8 GA";window.CanvasJS&&(s&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=s)})();
993
993
 
994
994
  /*
995
995
  excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.