@canvasjs/stockcharts 1.7.25 → 1.7.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- CanvasJS StockChart - v1.7.25 GA - https://canvasjs.com/
1
+ CanvasJS StockChart - v1.7.27 GA - https://canvasjs.com/
2
2
  Copyright 2023 fenopix
3
3
 
4
4
  --------------------- License Information --------------------
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS StockChart - v1.7.25 GA - https://canvasjs.com/
2
+ CanvasJS StockChart - v1.7.27 GA - https://canvasjs.com/
3
3
  Copyright 2023 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -561,147 +561,148 @@ p.legendMarkerType?p.legendMarkerType:O.getDefaultLegendMarker(p.type),k=t.legen
561
561
  p.legendMarkerBorderColor:t.markerBorderColor?t.markerBorderColor:p.markerBorderColor,w=t.legendMarkerBorderThickness?t.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:t.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*x)):0,k=this.chart.replaceKeywordsWithValue(k,t,p,u),q={markerType:q,markerColor:r,text:k,textBlock:null,chartType:p.type,markerSize:x,dataSeriesIndex:n,dataPointIndex:u,markerBorderColor:s,markerBorderThickness:w};(t.showInLegend||
562
562
  p.showInLegend&&!1!==t.showInLegend)&&v.push(q)}}!0===this.reversed&&v.reverse();if(0<v.length){p=null;r=k=t=u=0;t=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,h):this.itemMaxWidth=Math.min(this.itemWidth,h):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,h):this.itemMaxWidth=h;x=0===x?0.75*this.lineHeight:x;t-=x+l;for(n=0;n<v.length;n++){q=v[n];s=t;if("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType)s-=2*0.1*this.lineHeight;if(!(0>=
563
563
  d||"undefined"===typeof d||0>=s||"undefined"===typeof s)){if("horizontal"===this.orientation){q.textBlock=new na(this.ctx,{x:0,y:0,maxWidth:s,maxHeight:this.itemWrap?d:this.lineHeight,angle:0,text:q.text,horizontalAlign:"left",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-(x+l+("line"===q.chartType||"spline"===q.chartType||
564
- "stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+x+l+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>h)p={items:[],width:0},m.push(p),this.height+=k,k=0;k=Math.max(k,q.textBlock.height)}else q.textBlock=new na(this.ctx,{x:0,y:0,maxWidth:t,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,
565
- fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"}),q.textBlock.measureText(),null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(x+l+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(p={items:[],width:0},m.push(p)):(p=m[u],u=(u+1)%m.length),this.height+=q.textBlock.height;q.textBlock.x=p.width;q.textBlock.y=0;p.width+=Math.round(q.textBlock.width+x+l+(0===p.width?
566
- 0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0));p.items.push(q);this.width=Math.max(p.width,this.width);r=q.textBlock.width+(x+l+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))}}this.itemWidth=r;this.height=!1===this.itemWrap?m.length*this.lineHeight:this.height+k;this.height=Math.min(d,this.height);this.width=Math.min(h,this.width)}"top"===this.verticalAlign?(g="left"===this.horizontalAlign?
567
- f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1):"center"===this.verticalAlign?(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1+f.height/2-this.height/2):"bottom"===this.verticalAlign&&(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y2-this.height);this.items=v;for(n=0;n<this.items.length;n++)q=v[n],q.id=++this.chart._eventManager.lastObjectId,
568
- this.chart._eventManager.objectMap[q.id]={id:q.id,objectType:"legendItem",legendItemIndex:n,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=x;this.rows=m;0<v.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:g,y1:b,x2:g+this.width,y2:b+this.height}};J.prototype.render=function(){var a=this.bounds.x1,f=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,g=this.maxHeight,h=this.markerSize,d=this.rows;(0<this.borderThickness&&
569
- this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,f,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);for(var e=0,l=0;l<d.length;l++){for(var m=d[l],n=0,p=0;p<m.items.length;p++){var q=m.items[p],k=q.textBlock.x+a+(0===p?0.2*h:this.horizontalSpacing),r=f+e,v=k;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,f,b,Math.max(g-g%this.lineHeight,0));this.ctx.clip();
570
- 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(k-0.1*this.lineHeight,r+this.lineHeight/2),this.ctx.lineTo(k+0.85*this.lineHeight,r+this.lineHeight/2),this.ctx.stroke(),v-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=h/8;this.ctx.beginPath();var x=k-0.08*this.lineHeight+0.1*this.lineHeight,
571
- w=r+0.15*this.lineHeight,u=0.7*this.lineHeight,t=u+0.02*this.lineHeight;this.ctx.moveTo(x,w);this.ctx.lineTo(x+u,w);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(x+u/2,w);this.ctx.lineTo(x+u/2,w+t);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(x,w+t);this.ctx.lineTo(x+u,w+t);this.ctx.stroke();this.errorMarkerColor.shift()}s.drawMarker(k+h/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,
572
- q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=k+c+h;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;q.textBlock.y=Math.round(r+this.lineHeight/2);q.textBlock.render(!0);this.ctx.restore();n=0<p?Math.max(n,q.textBlock.height):q.textBlock.height;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);k=W(q.id);this.ghostCtx.fillStyle=k;this.ghostCtx.beginPath();this.ghostCtx.fillRect(v,q.textBlock.y-this.lineHeight/
573
- 2,q.textBlock.x+q.textBlock.width-v,q.textBlock.height);q.x1=this.chart._eventManager.objectMap[q.id].x1=v;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-this.lineHeight/2}e+=n}};ia(O,aa);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===
574
- a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===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";
575
- "error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};O.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"===
576
- a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===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};O.prototype.getDataPointAtX=function(a,f){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,g=0,h=0,d=1,e=Infinity,l=0,m=0,n=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?
577
- (n=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),n=1<n?Math.min(Math.max((this.dataPoints.length-1)/n*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(n=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,n=0<n?Math.min(Math.max((this.dataPoints.length-1)/n*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){h=0<d?n+g:n-g;if(0<=h&&h<this.dataPoints.length){var b=this.dataPoints[h],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:
578
- Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=h);b=p;b<=e?e=b:0<d?l++:m++;if(1E3<l&&1E3<m)break}else if(0>n-g&&n+g>=this.dataPoints.length)break;-1===d?(g++,d=1):d=-1}return f||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?f&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=function(a,f,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||f<this.chart.plotArea.y1||f>this.chart.plotArea.y2)return null;
579
- c=c||!1;var b=[],g=0,h=0,d=1,l=!1,v=Infinity,m=0,n=0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:f}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else q=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<q?Math.min(Math.max((this.dataPoints.length-
580
- 1)/q*(p-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){h=0<d?p+g:p-g;if(0<=h&&h<this.dataPoints.length){var q=this.chart._eventManager.objectMap[this.dataPointIds[h]],k=this.dataPoints[h],r=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&&f>=q.y1&&f<=q.y2)&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-
581
- a),Math.abs(q.x2-a),Math.abs(q.y1-f),Math.abs(q.y2-f))}),l=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var x=qa("markerSize",k,this)||4,s=c?20:x,r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=s&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "rangeArea":case "rangeSplineArea":x=qa("markerSize",k,this)||
582
- 4;s=c?20:x;r=Math.min(Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2)),Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y2-f,2)));r<=s&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "bubble":x=q.size;r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=x/2&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r}),l=!0);break;case "pie":case "doughnut":x=q.center;s="doughnut"===this.type?q.percentInnerRadius*q.radius:
583
- 0;r=Math.sqrt(Math.pow(x.x-a,2)+Math.pow(x.y-f,2));r<q.radius&&r>s&&(r=Math.atan2(f-x.y,a-x.x),0>r&&(r+=2*Math.PI),r=Number(((180*(r/Math.PI)%360+360)%360).toFixed(12)),x=Number(((180*(q.startAngle/Math.PI)%360+360)%360).toFixed(12)),s=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===s&&1<q.endAngle&&(s=360),x>=s&&(0!==k.y&&!e(k.y))&&(s+=360,r<x&&(r+=360)),r>x&&r<s&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:0}),l=!0));break;case "funnel":case "pyramid":r=q.funnelSection;
584
- f>r.y1&&f<r.y4&&(r.y6?f>r.y6?(h=r.x6+(r.x5-r.x6)/(r.y5-r.y6)*(f-r.y6),r=r.x3+(r.x4-r.x3)/(r.y4-r.y3)*(f-r.y3)):(h=r.x1+(r.x6-r.x1)/(r.y6-r.y1)*(f-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(f-r.y2)):(h=r.x1+(r.x4-r.x1)/(r.y4-r.y1)*(f-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(f-r.y2)),a>h&&a<r&&(b.push({dataPoint:k,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),l=!0));break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&f>=q.y4-q.borderThickness/2&&f<=q.y1+q.borderThickness/
585
- 2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y1&&f<=q.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0;break;case "candlestick":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&f>=q.y2-q.borderThickness/2&&f<=q.y3+q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y1&&f<=q.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),
586
- Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0;break;case "ohlc":if(Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y2&&f<=q.y3||a>=q.x1&&a<=(q.x2+q.x1)/2&&f>=q.y1-q.borderThickness/2&&f<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&f>=q.y4-q.borderThickness/2&&f<=q.y4+q.borderThickness/2)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0}if(l||1E3<m&&1E3<n)break}}else if(0>p-g&&p+g>=
587
- this.dataPoints.length)break;-1===d?(g++,d=1):d=-1}a=null;for(f=0;f<b.length;f++)a?b[f].distance<=a.distance&&(a=b[f]):a=b[f];return a};O.prototype.getMarkerProperties=function(a,f,c,b){var g=this.dataPoints,h=g[a].markerColor?g[a].markerColor:this.markerColor?this.markerColor:g[a].color?g[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=g[a].markerBorderColor?g[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,l=e(g[a].markerBorderThickness)?this.markerBorderThickness?
588
- this.markerBorderThickness:null:g[a].markerBorderThickness,v=g[a].markerType?g[a].markerType:this.markerType;a=e(g[a].markerSize)?this.markerSize:g[a].markerSize;return{x:f,y:c,ctx:b,type:v,size:a,color:h,borderColor:d,borderThickness:l}};ia(z,aa);z.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var f=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(f/this.viewportMinimum)<this.noTicks-1){for(var c=z.getNiceNumber((f-this.viewportMinimum)/Math.min(Math.max(2,
589
- this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<f;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Xa);this.createExtraLabelsForLog(a)}}};z.prototype.createLabels=function(){var a,f,c=0,b=0,g,h=0,d=0,b=0,b=this.interval,l=0,v,m=0.6*this.chart.height,n;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],q=p.length?e(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
590
- this.valueType||this.logarithmic){g=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),k=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])k=!0;else{k=!1;break}k&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,k=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;k<p.length&&
591
- c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,
592
- textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}k=q;for(c=this.intervalStartPosition;c<=g;c=parseFloat(1E-12>this.interval?this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?
593
- c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;k<p.length&&c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,
594
- textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),
595
- this.intervalType,this.interval),g=cb(new Date(this.viewportMaximum),this.interval,this.intervalType),k=q,c=this.intervalStartPosition;c<g;cb(c,b,this.intervalType)){for(a=c.getTime();k<p.length&&a>p[k].endValue;k++);n=a;a=k<p.length&&a>=p[k].startValue&&a<=p[k].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(n),label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ga(n,this.valueFormatString,this.chart._cultureInfo),
596
- a=new na(this.ctx,{x:0,y:0,maxWidth:h,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,
597
- effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)l=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*
598
- ba[this.intervalType+"Duration"]*this.interval,h="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)l=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/
599
- this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*ba[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(h="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*
600
- this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=h;a.maxHeight=d;var r=a.measureText();v=r.height}g=[];q=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(e(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(h=0.9*l>>0,q=0,!this.chart.panEnabled&&
601
- 1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;for(var x,k=a.text.split(" "),b=0;b<k.length;b++)n=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),
602
- n.width>q&&(x=c,q=n.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,g);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=h*Math.sin(Math.PI/
603
- 180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(e(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=(m-(v+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!e(this.options.labelWrap))this.labelWrap?e(this.options.labelMaxWidth)?
604
- (this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),this.sessionVariables.labelWrap=this.labelWrap,f&&r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle):e(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=
605
- d,this.sessionVariables.labelMaxWidth=h,f&&r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(e(this.options.labelWrap))if(!e(this.options.labelMaxWidth))this.options.labelMaxWidth<h?
606
- (this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!e(f))if(b=r.width+f.width>>0,k=this.labelFontSize,q<h)b-2*h>p&&(p=b-2*h,b>=2*h&&b<2.2*h?(this.sessionVariables.labelMaxWidth=h,e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
607
- k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*h&&b<2.8*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=k):b>=2.8*h&&b<3.2*h?(this.sessionVariables.labelMaxWidth=Math.max(h,q),this.sessionVariables.labelWrap=!0,e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
608
- k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*h&&b<3.6*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*h&&b<5*h?(e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=
609
- -25,this.sessionVariables.labelMaxWidth=n):b>5*h&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelFontSize=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(x===c&&(0===x&&q+this._labels[x+1].textBlock.measureText().width-2*h>p||x===this._labels.length-1&&q+this._labels[x-1].textBlock.measureText().width-2*h>p||0<x&&x<this._labels.length-1&&q+this._labels[x+1].textBlock.measureText().width-2*h>p&&
610
- q+this._labels[x-1].textBlock.measureText().width-2*h>p))p=0===x?q+this._labels[x+1].textBlock.measureText().width-2*h:q+this._labels[x-1].textBlock.measureText().width-2*h,this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n;else if(0===p)for(this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=
611
- !0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),r=a.measureText(),b<this._labels.length-1&&(k=b+1,f=this._labels[k].textBlock,f.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),f=f.measureText(),r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/
612
- 180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=0!=this.labelAngle?(m-(v+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):h,this.sessionVariables.labelMaxHeight=this.labelWrap?(m-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?
613
- (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=b<0.9*l?0.9*l:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
614
- this.options.labelMaxWidth:n):(e(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
615
- a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=e(this.options.labelMaxWidth)?e(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=e(this.options.labelFontSize)?e(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
616
- this.options.labelFontSize,a.angle=this.labelAngle=e(this.options.labelAngle)?e(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=e(this.options.labelWrap)?e(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=e(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,
617
- a.measureText();else if("left"===this._position||"right"===this._position)if(h=e(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?
618
- 0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,g);b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
619
- Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));e(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?e(this.options.labelWrap)?e(this.options.labelWrap)&&(e(this.options.labelMaxWidth)?e(f)||(l=r.height+f.height>>0,l-2*d>q&&(q=l-2*d,l>=2*d&&l<2.4*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=
620
- e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):l>=2.4*d&&l<2.8*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):l>=2.8*d&&l<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=!0,e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
621
- this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):l>=3.2*d&&l<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):l>3.6*d&&l<10*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
622
- this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):l>10*d&&l<50*d&&(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
623
- d,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?
624
- this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?h:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
625
- this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,e(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
626
- h):(this.sessionVariables.labelMaxHeight=d,e(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=
627
- this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=e(this.options.labelMaxWidth)?e(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=e(this.options.labelFontSize)?e(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=
628
- this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=e(this.options.labelAngle)?e(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=e(this.options.labelWrap)?e(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=e(this.sessionVariables.labelMaxHeight)?
629
- this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var h=this.stripLines[c],s;if("outside"===h.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)e(h.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;
630
- if("left"===this._position||"right"===this._position)e(h.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;e(h.labelBackgroundColor)&&(h.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,s=e(h.options.labelWrap)||h.labelWrap?"bottom"===this._position||
631
- "top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,e(h.labelBackgroundColor)&&(e(h.startValue)&&0!==h.startValue?h.labelBackgroundColor=u?"transparent":null:h.labelBackgroundColor="#EEEEEE");a=new na(this.ctx,{x:0,y:0,backgroundColor:h.labelBackgroundColor,borderColor:h.labelBorderColor,borderThickness:h.labelBorderThickness,cornerRadius:h.labelCornerRadius,maxWidth:h.options.labelMaxWidth?h.options.labelMaxWidth:d,maxHeight:s,angle:this.labelAngle,text:h.labelFormatter?
632
- h.labelFormatter({chart:this.chart,axis:this,stripLine:h}):h.label,textAlign:this.labelTextAlign,fontSize:"outside"===h.labelPlacement?h.options.labelFontSize?h.labelFontSize:this.labelFontSize:h.labelFontSize,fontFamily:"outside"===h.labelPlacement?h.options.labelFontFamily?h.labelFontFamily:this.labelFontFamily:h.labelFontFamily,fontWeight:"outside"===h.labelPlacement?h.options.labelFontWeight?h.labelFontWeight:this.labelFontWeight:h.labelFontWeight,fontColor:h.labelFontColor||h.color,fontStyle:"outside"===
633
- h.labelPlacement?h.options.labelFontStyle?h.labelFontStyle:this.fontWeight:h.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:h.value,textBlock:a,effectiveHeight:null,stripLine:h})}};z.prototype.createLabelsAndCalculateWidth=function(){var a=0,f=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(f=
634
- 0;f<this._labels.length;f++){var b=this._labels[f].textBlock,g=b.measureText(),h=0,h=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveWidth=a=h);this._labels[f].effectiveWidth=h}for(f=0;f<this._stripLineLabels.length;f++)"outside"===this._stripLineLabels[f].stripLine.labelPlacement&&(this._stripLineLabels[f].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[f].stripLine.value<=
635
- this.viewportMaximum)&&(b=this._stripLineLabels[f].textBlock,g=b.measureText(),h=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveWidth=this._stripLineLabels[f].effectiveWidth=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===
636
- this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};z.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var f,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(c=0;c<this._labels.length;c++){f=this._labels[c].textBlock;var g=f.measureText(),h=0,h=0===this.labelAngle?g.height:g.width*Math.sin(Math.PI/
637
- 180*Math.abs(this.labelAngle))+(g.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveHeight=a=h);this._labels[c].effectiveHeight=h}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(f=this._stripLineLabels[c].textBlock,g=f.measureText(),h=0===this.labelAngle?g.height:g.width*
638
- Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(g.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};z.setLayout=function(a,f,c,b,g,h){var d,
639
- l,v,m,n=a[0]?a[0].chart:f[0].chart,p=n.isNavigator?0:10,q=n._axes;if(a&&0<a.length)for(var k=0;k<a.length;k++)a[k]&&a[k].calculateAxisParameters();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<q.length;k++)if(q[k]&&q[k].scaleBreaks&&q[k].scaleBreaks._appliedBreaks.length)for(var r=q[k].scaleBreaks._appliedBreaks,x=0;x<r.length&&
640
- !(r[x].startValue>q[k].viewportMaximum);x++)r[x].endValue<q[k].viewportMinimum||(e(q[k].scaleBreaks.firstBreakIndex)&&(q[k].scaleBreaks.firstBreakIndex=x),r[x].startValue>=q[k].viewPortMinimum&&(q[k].scaleBreaks.lastBreakIndex=x));for(var s=x=0,w=0,u=0,t=0,y=0,z=0,D,E,F=l=0,I,J,R,r=I=J=R=!1,k=0;k<q.length;k++)q[k]&&q[k].title&&(q[k]._titleTextBlock=new na(q[k].ctx,{text:q[k].title,horizontalAlign:"center",fontSize:q[k].titleFontSize,fontFamily:q[k].titleFontFamily,fontWeight:q[k].titleFontWeight,
641
- fontColor:q[k].titleFontColor,fontStyle:q[k].titleFontStyle,borderColor:q[k].titleBorderColor,borderThickness:q[k].titleBorderThickness,backgroundColor:q[k].titleBackgroundColor,cornerRadius:q[k].titleCornerRadius,textBaseline:"top"}));for(k=0;k<q.length;k++)if(q[k].title)switch(q[k]._position){case "left":q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.width:1.5*q[k].titleFontSize;q[k]._titleTextBlock.angle=-90;break;case "right":q[k]._titleTextBlock.maxWidth=
642
- q[k].titleMaxWidth||h.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.width:1.5*q[k].titleFontSize;q[k]._titleTextBlock.angle=90;break;default:q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.width,q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.height:1.5*q[k].titleFontSize,q[k]._titleTextBlock.angle=0}if("normal"===g){for(var u=[],t=[],y=[],z=[],N=[],O=[],M=[],P=[];4>x;){var G=0,W=0,S=0,$=0,T=g=0,U=0,ca=0,aa=0,Y=0,V=0,ba=0;if(c&&0<c.length)for(y=[],k=V=0;k<c.length;k++)y.push(Math.ceil(c[k]?
643
- c[k].createLabelsAndCalculateWidth():0)),V+=y[k],U+=c[k]&&!n.isNavigator?c[k].margin:0;else y.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(y);if(b&&0<b.length)for(z=[],k=ba=0;k<b.length;k++)z.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),ba+=z[k],ca+=b[k]?b[k].margin:0;else z.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(z);d=Math.round(h.x1+V+U);v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca);if(a&&0<a.length)for(u=[],k=aa=0;k<a.length;k++)a[k]&&
644
- (a[k].lineCoordinates={}),a[k].lineCoordinates.width=Math.abs(v-d),a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.width?a[k].titleMaxWidth:a[k].lineCoordinates.width),u.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),aa+=u[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else u.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));N.push(u);if(f&&0<f.length)for(t=[],k=Y=0;k<f.length;k++)f[k]&&(f[k].lineCoordinates={}),f[k].lineCoordinates.width=
645
- Math.abs(v-d),f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.width?f[k].titleMaxWidth:f[k].lineCoordinates.width),t.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateHeight():0)),Y+=t[k],T+=f[k]&&!n.isNavigator?f[k].margin:0;else t.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateHeight():0));O.push(t);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates.x1=d,v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca),a[k]._labels&&
646
- 1<a[k]._labels.length&&(l=m=0,m=a[k]._labels[1],l="dateTime"===a[k].valueType?a[k]._labels[a[k]._labels.length-2]:a[k]._labels[a[k]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle))),!a[k]||(!a[k].labelAutoFit||
647
- e(D)||e(E)||n.isNavigator||n.stockChart)||(l=0,0<a[k].labelAngle?E+w>v&&(l+=0<a[k].labelAngle?E+w-v-ba:0):0>a[k].labelAngle?D-s<d&&D-s<a[k].viewportMinimum&&(F=d-(U+a[k].tickLength+y+D-s+a[k].labelFontSize/2)):0===a[k].labelAngle&&(E+w>v&&(l=E+w/2-v-ba),D-s<d&&D-s<a[k].viewportMinimum&&(F=d-U-a[k].tickLength-y-D+s/2)),a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0<a[k].labelAngle&&0<l?v-=l:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0>a[k].labelAngle&&
648
- 0<F?d+=F:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0===a[k].labelAngle&&(0<F&&(d+=F),0<l&&(v-=l))),n.panEnabled?aa=e(n.sessionVariables.axisX.height)?n.sessionVariables.axisX.height=aa:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=aa,l=Math.round(h.y2-aa-g+G),m=Math.round(h.y2),a[k].lineCoordinates.x2=v,a[k].lineCoordinates.width=v-d,a[k].lineCoordinates.y1=l,a[k].lineCoordinates.y2=l+a[k].lineThickness/2,"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.y1=
649
- a[k-1].lineCoordinates.y2+G+(a[k].labelEffectiveHeight||0),a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),a[k].bounds={x1:d,y1:l,x2:v,y2:m-(aa+g-u[k]-G),width:v-d},a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1),G+=u[k]+a[k].margin;if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].lineCoordinates.x1=Math.round(h.x1+V+U),f[k].lineCoordinates.x2=
650
- Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca),f[k].lineCoordinates.width=Math.abs(v-d),f[k]._labels&&1<f[k]._labels.length&&(m=f[k]._labels[1],l="dateTime"===f[k].valueType?f[k]._labels[f[k]._labels.length-2]:f[k]._labels[f[k]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-
651
- l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle))),n.panEnabled?Y=e(n.sessionVariables.axisX2.height)?n.sessionVariables.axisX2.height=Y:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=Y,l=Math.round(h.y1),m=f[k].lineCoordinates.y1=l+Y+T-W,f[k].lineCoordinates.y2=l,"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.y1=f[k-1].lineCoordinates.y1-W-(f[k].labelEffectiveHeight||0)),"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.y1-=f[k].tickLength),
652
- f[k].bounds={x1:d,y1:l+(Y+T-t[k]-W),x2:v,y2:m,width:v-d},f[k].bounds.height=f[k].bounds.y2-f[k].bounds.y1,W+=t[k]+f[k].margin;if(c&&0<c.length)for(k=0;k<c.length;k++)U=n.isNavigator?0:10,c[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-1].textBlock.height/2:p,l=Math.round(h.y1+Y+T<Math.max(U,p)?Math.max(U,p):h.y1+Y+T),v=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=0<a.length?0:c[k]._labels&&
653
- 0<c[k]._labels.length?c[k]._labels[0].textBlock.height/2:p,m=Math.round(h.y2-aa-g-U),c[k].lineCoordinates={x1:d-S,y1:l,x2:v-S,y2:m,height:Math.abs(m-l)},"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.x1=c[k-1].lineCoordinates.x1-S-(c[k].labelEffectiveWidth||0),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].bounds=
654
- {x1:d-(y[k]+S),y1:l,x2:v-S,y2:m,height:m-l},c[k].bounds.width=c[k].bounds.x2-c[k].bounds.x1,c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),S+=y[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:f[0].lineCoordinates.x2),v=Math.round(d),U=b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,l=Math.round(h.y1+
655
- Y+T<Math.max(U,p)?Math.max(U,p):h.y1+Y+T),U=0<a.length?0:b[k]._labels&&0<b[k]._labels.length?b[k]._labels[0].textBlock.height/2:0,m=Math.round(h.y2-(aa+g+U)),b[k].lineCoordinates={x1:d+$,y1:l,x2:d+$,y2:m,height:Math.abs(m-l)},"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.x1=b[k-1].lineCoordinates.x2+$+(b[k].labelEffectiveWidth||0),b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=
656
- b[k].lineCoordinates.x1+b[k].lineThickness/2),b[k].bounds={x1:d+$,y1:l,x2:v+(z[k]+$),y2:m,height:m-l},b[k].bounds.width=b[k].bounds.x2-b[k].bounds.x1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),$+=z[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),a[k]._labels&&1<a[k]._labels.length&&(D=
657
- (a[k].logarithmic?Math.log(a[k]._labels[1].position/a[k].viewportMinimum)/a[k].conversionParameters.lnLogarithmBase:a[k]._labels[1].position-a[k].viewportMinimum)*Math.abs(a[k].conversionParameters.pixelPerUnit)+a[k].lineCoordinates.x1,d=a[k]._labels[a[k]._labels.length-("dateTime"===a[k].valueType?2:1)].position,d=a[k].getApparentDifference(a[k].viewportMinimum,d),E=a[k].logarithmic?(1<d?Math.log(d)/a[k].conversionParameters.lnLogarithmBase*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1:
658
- (0<d?d*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1));if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateValueToPixelConversionParameters(),f[k].calculateBreaksSizeInValues(),f[k]._labels&&1<f[k]._labels.length&&(D=(f[k].logarithmic?Math.log(f[k]._labels[1].position/f[k].viewportMinimum)/f[k].conversionParameters.lnLogarithmBase:f[k]._labels[1].position-f[k].viewportMinimum)*Math.abs(f[k].conversionParameters.pixelPerUnit)+f[k].lineCoordinates.x1,d=f[k]._labels[f[k]._labels.length-
659
- ("dateTime"===f[k].valueType?2:1)].position,d=f[k].getApparentDifference(f[k].viewportMinimum,d),E=f[k].logarithmic?(1<d?Math.log(d)/f[k].conversionParameters.lnLogarithmBase*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1:(0<d?d*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1);for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=
660
- N[x-1][k]===N[x][k]?!0:!1;else r=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)I=O[x-1][k]===O[x][k]?!0:!1;else I=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=M[x-1][k]===M[x][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)R=P[x-1][k]===P[x][k]?!0:!1;else R=!0}if(r&&I&&J&&R)break;x++}if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels();
661
- if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels()}else{p=[];D=[];F=[];s=[];E=[];w=[];N=[];for(O=[];4>x;){aa=$=S=ca=U=T=g=P=M=G=Y=0;if(a&&0<a.length)for(F=[],k=$=0;k<a.length;k++)F.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateWidth():0)),$+=F[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():
662
- 0));N.push(F);if(f&&0<f.length)for(s=[],k=aa=0;k<f.length;k++)s.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateWidth():0)),aa+=s[k],T+=f[k]?f[k].margin:0;else s.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateWidth():0));O.push(s);if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>n.width-10?n.width-10:h.x2-aa-T),c[k].labelAutoFit&&!e(u)&&(0<!a.length&&(d=0>c[k].labelAngle?Math.max(d,u):0===c[k].labelAngle?Math.max(d,u/2):d),0<!f.length&&
663
- (v=0<c[k].labelAngle?v-t/2:0===c[k].labelAngle?v-t/2:v)),c[k].lineCoordinates.x1=d,c[k].lineCoordinates.x2=v,c[k].lineCoordinates.width=Math.abs(v-d),c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>b[k].chart.width-10?b[k].chart.width-10:h.x2-aa-T),b[k]&&b[k].labelAutoFit&&!e(y)&&
664
- (0<!a.length&&(d=0<b[k].labelAngle?Math.max(d,y):0===b[k].labelAngle?Math.max(d,y/2):d),0<!f.length&&(v-=z/2)),b[k].lineCoordinates.x1=d,b[k].lineCoordinates.x2=v,b[k].lineCoordinates.width=Math.abs(v-d),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width);if(c&&0<c.length)for(p=[],k=S=0;k<c.length;k++)p.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateHeight():0)),S+=p[k]+c[k].margin,U+=c[k].margin;
665
- else p.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));E.push(p);if(b&&0<b.length)for(D=[],k=0;k<b.length;k++)D.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateHeight():0)),ca+=b[k].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));w.push(D);if(c&&0<c.length)for(k=0;k<c.length;k++)0<c[k]._labels.length&&(m=c[k]._labels[0],l=c[k]._labels[c[k]._labels.length-1],u=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/
666
- 2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),t=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle)));if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&0<b[k]._labels.length&&(m=b[k]._labels[0],l=b[k]._labels[b[k]._labels.length-1],y=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),
667
- z=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle)));if(n.panEnabled)for(k=0;k<c.length;k++)p[k]=e(n.sessionVariables.axisY.height)?n.sessionVariables.axisY.height=p[k]:n.sessionVariables.axisY.height;else for(k=0;k<c.length;k++)n.sessionVariables.axisY.height=p[k];if(c&&0<c.length)for(k=c.length-1;0<=k;k--)l=Math.round(h.y2),m=Math.round(h.y2>c[k].chart.height?c[k].chart.height:h.y2),c[k].lineCoordinates.y1=
668
- l-(p[k]+c[k].margin+Y),c[k].lineCoordinates.y2=l-(p[k]+c[k].margin+Y),"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.y1=c[k].lineCoordinates.y1+p[k]-(c[k]._titleTextBlock?c[k]._titleTextBlock.height:0)-c[k].tickLength-(c[k].stripLineLabelEffectiveHeight||0)-5,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.y1+=c[k].tickLength,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),c[k].bounds=
669
- {x1:d,y1:l-(p[k]+Y+c[k].margin),x2:v,y2:m-(Y+c[k].margin),width:v-d,height:p[k]},c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width),Y+=p[k]+c[k].margin;if(b&&0<b.length)for(k=b.length-1;0<=k;k--)b[k]&&(l=Math.round(h.y1),m=Math.round(h.y1+(D[k]+b[k].margin+G)),b[k].lineCoordinates.y1=m,b[k].lineCoordinates.y2=m,"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.y1=m-D[k]+(b[k]._titleTextBlock?
670
- b[k]._titleTextBlock.height:0)+b[k].tickLength+(b[k].stripLineLabelEffectiveHeight||0),b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.y1-=b[k].tickLength,b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),b[k].bounds={x1:d,y1:l+(b[k].margin+G),x2:v,y2:m,width:v-d},b[k].bounds.height=b[k].bounds.y2-b[k].bounds.y1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?
671
- b[k].titleMaxWidth:b[k].lineCoordinates.width),G+=D[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++){U=a[k]._labels&&0<a[k]._labels.length?a[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1+g);l=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x1+$+g);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-S>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2-S):h.y2>n.height-Math.max(U,
672
- 10)?n.height-Math.max(U,10):h.y2;if(c&&0<c.length)for(U=0;U<c.length;U++)c[U]&&c[U].labelAutoFit&&(v=c[U].lineCoordinates.x1,d=0>c[U].labelAngle||0===c[U].labelAngle?v-$:d);if(b&&0<b.length)for(U=0;U<b.length;U++)b[U]&&b[U].labelAutoFit&&(v=b[U].lineCoordinates.x1,d=v-$);a[k].lineCoordinates={x1:v-M,y1:l,x2:v-M,y2:m,height:Math.abs(m-l)};"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.x1=a[k].lineCoordinates.x1-(F[k]-(a[k]._titleTextBlock?a[k]._titleTextBlock.height:0))+a[k].tickLength+
673
- (a[k].stripLineLabelEffectiveWidth||0),a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.x1-=a[k].tickLength,a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);a[k].bounds={x1:v-(F[k]+M),y1:l,x2:v-M,y2:m,height:m-l};a[k].bounds.width=a[k].bounds.x2-a[k].bounds.x1;a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.height?a[k].titleMaxWidth:a[k].lineCoordinates.height);
674
- a[k].calculateValueToPixelConversionParameters();a[k].calculateBreaksSizeInValues();M+=F[k]+a[k].margin}if(f&&0<f.length)for(k=0;k<f.length;k++){U=f[k]._labels&&0<f[k]._labels.length?f[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1-g);l=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x2-aa-T);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-S>n.height-Math.max(U,10)?n.height-Math.max(U,
675
- 10):h.y2-S):h.y2>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2;if(c&&0<c.length)for(U=0;U<c.length;U++)c[U]&&c[U].labelAutoFit&&(v=0>c[U].labelAngle?Math.max(v,u):0===c[U].labelAngle?Math.max(v,u/2):v,d=0>c[U].labelAngle||0===c[U].labelAngle?v-aa:d);if(b&&0<b.length)for(U=0;U<b.length;U++)b[U]&&b[U].labelAutoFit&&(v=b[U].lineCoordinates.x2,d=v-aa);f[k].lineCoordinates={x1:v+P,y1:l,x2:v+P,y2:m,height:Math.abs(m-l)};"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.x1=f[k].lineCoordinates.x1+
676
- (s[k]-(f[k]._titleTextBlock?f[k]._titleTextBlock.height:0)-2)-f[k].tickLength-(f[k].stripLineLabelEffectiveWidth||0),f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.x1+=f[k].tickLength,f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);f[k].bounds={x1:f[k].lineCoordinates.x1,y1:l,x2:v+s[k]+P,y2:m,width:v-d,height:m-l};f[k].bounds.width=f[k].bounds.x2-f[k].bounds.x1;f[k].title&&(f[k]._titleTextBlock.maxWidth=
677
- 0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.height?f[k].titleMaxWidth:f[k].lineCoordinates.height);f[k].calculateValueToPixelConversionParameters();f[k].calculateBreaksSizeInValues();P+=s[k]+f[k].margin}for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=N[x-1][k]===N[x][k]?!0:!1;else r=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)I=O[x-1][k]===O[x][k]?!0:
678
- !1;else I=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=E[x-1][k]===E[x][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)R=w[x-1][k]===w[x][k]?!0:!1;else R=!0}if(r&&I&&J&&R)break;x++}if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels();if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),
679
- a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels()}};z.render=function(a,f,c,b,g){var h=a[0]?a[0].chart:f[0].chart;g=h.ctx;h.alignVerticalAxes&&h.alignVerticalAxes();g.save();g.beginPath();a&&a.length&&g.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);f&&f.length&&g.rect(5,f[f.length-1].bounds.y1,f[0].chart.width-10,f[0].bounds.y2);g.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();
680
- if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderLabelsTicksAndTitle();g.restore();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderLabelsTicksAndTitle();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderLabelsTicksAndTitle();h.preparePlotArea();h=h.plotArea;g.save();g.beginPath();g.rect(h.x1,h.y1,Math.abs(h.x2-h.x1),Math.abs(h.y2-h.y1));g.clip();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("value");
681
- if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderInterlacedColors();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderInterlacedColors();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderInterlacedColors();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderInterlacedColors();g.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),
682
- u&&(a[d].createMask(),a[d].renderBreaksBackground());if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderGrid(),u&&(f[d].createMask(),f[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),u&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderGrid(),u&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderAxisLine();
683
- if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderAxisLine();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderAxisLine();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("pixel");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("pixel");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("pixel");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("pixel")};z.prototype.calculateStripLinesThicknessInValues=
684
- function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var f=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),f=this.getApparentDifference(f,c);this.stripLines[a].value=this.logarithmic?this.stripLines[a].value*Math.sqrt(Math.log(Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue)/Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue))/
685
- Math.log(f)):this.stripLines[a].value+(Math.abs(this.stripLines[a].endValue-this.stripLines[a].startValue)-f)/2;this.stripLines[a].thickness=f;this.stripLines[a]._thicknessType="value"}};z.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,f=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?
686
- this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!e(this.scaleBreaks.options.spacing),g,d=0;d<f.length;d++)g=b||!e(f[d].options.spacing),f[d].spacing=Va(f[d].spacing,a,8,g?0.1*a:8,g?0:3)<<0,f[d].size=0>f[d].spacing?0:Math.abs(f[d].spacing/c),this.logarithmic&&(f[d].size=Math.pow(this.logarithmBase,f[d].size))};z.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=
687
- this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var f=0;f<a.length&&!(a[f].startValue>this.conversionParameters.maximum);f++)a[f].endValue<this.conversionParameters.minimum||(e(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=f),a[f].startValue>=this.conversionParameters.minimum&&(a[f].startPixel=this.convertValueToPixel(a[f].startValue),this.scaleBreaks.lastBreakIndex=f),a[f].endValue<=this.conversionParameters.maximum&&
688
- (a[f].endPixel=this.convertValueToPixel(a[f].endValue)))}};z.prototype.renderLabelsTicksAndTitle=function(){var a=this,f=!1,c=0,b=0,g=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(g=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],g=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,e,l=this.viewportMaximum,v=this.lineCoordinates.width/Math.log(this.range),m=this._labels.length-
689
- 1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===this._labels.length-1||e<Math.log(l/p.position)*v/g)||(c.push(p),l=p.position,e=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(e=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*
690
- Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=e);c>this.lineCoordinates.width*g&&this.labelAutoFit&&(f=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,l=this.viewportMaximum,v=this.lineCoordinates.height/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===this._labels.length-1||n<Math.log(l/p.position)*
691
- v)||(c.push(p),l=p.position,n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*g&&this.labelAutoFit&&(f=!0)}}this.logarithmic&&(!this.equidistantInterval&&
692
- this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var m=0,p,q;if("bottom"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<
693
- 0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.fontSize/2+5):(q.x="inside"===this.labelPlacement?0>this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):q.x-(0>this.labelAngle?p.textBlock.width*
694
- Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0>this.labelAngle?q.y-("inside"===this.tickPlacement?this.tickLength:0)-5:q.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):q.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
695
- function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
696
- this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=
697
- this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.height-p.textBlock.fontSize/2)):(q.x="inside"===this.labelPlacement?0<
698
- this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):q.x+(p.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0<this.labelAngle?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+
699
- ((p.textBlock.height-p.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;
700
- a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(m=
701
- 0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=
702
- q.y,p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(p.textBlock.y="inside"===this.labelPlacement?q.y:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:0<this.labelAngle?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-
703
- ("inside"===this.tickPlacement?0:this.tickLength)-5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),
704
- a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+1,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===
564
+ "stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+x+l+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>h)p={items:[],width:0},m.push(p),this.height+=k,k=0;k=Math.max(k,q.textBlock.height?q.textBlock.height:this.lineHeight)}else q.textBlock=new na(this.ctx,{x:0,y:0,maxWidth:t,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",
565
+ 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-(x+l+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(p={items:[],width:0},m.push(p)):(p=m[u],u=(u+1)%m.length),this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight;q.textBlock.x=
566
+ p.width;q.textBlock.y=0;p.width+=Math.round(q.textBlock.width+x+l+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0));p.items.push(q);this.width=Math.max(p.width,this.width);r=q.textBlock.width+(x+l+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))}}this.itemWidth=r;this.height=!1===this.itemWrap?m.length*this.lineHeight:this.height+k;this.height=Math.min(d,this.height);
567
+ this.width=Math.min(h,this.width)}"top"===this.verticalAlign?(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1):"center"===this.verticalAlign?(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1+f.height/2-this.height/2):"bottom"===this.verticalAlign&&(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,
568
+ b=f.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=x;this.rows=m;0<v.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:g,y1:b,x2:g+this.width,y2:b+this.height}};J.prototype.render=function(){var a=this.bounds.x1,
569
+ f=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,g=this.maxHeight,h=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,f,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);for(var e=0,l=0;l<d.length;l++){for(var m=d[l],n=0,p=0;p<m.items.length;p++){var q=m.items[p],k=q.textBlock.x+a+(0===p?0.2*h:this.horizontalSpacing),r=f+e,v=k;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=
570
+ 0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,f,b,Math.max(g-g%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(k-0.1*this.lineHeight,r+this.lineHeight/2),this.ctx.lineTo(k+0.85*this.lineHeight,r+this.lineHeight/2),this.ctx.stroke(),v-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];
571
+ this.ctx.lineWidth=h/8;this.ctx.beginPath();var x=k-0.08*this.lineHeight+0.1*this.lineHeight,w=r+0.15*this.lineHeight,u=0.7*this.lineHeight,t=u+0.02*this.lineHeight;this.ctx.moveTo(x,w);this.ctx.lineTo(x+u,w);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(x+u/2,w);this.ctx.lineTo(x+u/2,w+t);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(x,w+t);this.ctx.lineTo(x+u,w+t);this.ctx.stroke();this.errorMarkerColor.shift()}s.drawMarker(k+h/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===
572
+ q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=k+c+h;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;q.textBlock.y=Math.round(r+this.lineHeight/2);q.textBlock.render(!0);this.ctx.restore();n=0<p?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||
573
+ (this.ctx.globalAlpha=1);k=W(q.id);this.ghostCtx.fillStyle=k;this.ghostCtx.beginPath();this.ghostCtx.fillRect(v,q.textBlock.y-this.lineHeight/2,q.textBlock.x+q.textBlock.width-v,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=v;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+
574
+ (q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}e+=n}};ia(O,aa);O.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||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===
575
+ 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};O.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||
576
+ "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||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};O.prototype.getDataPointAtX=function(a,
577
+ f){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,g=0,h=0,d=1,e=Infinity,l=0,m=0,n=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(n=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),n=1<n?Math.min(Math.max((this.dataPoints.length-1)/n*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(n=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,n=0<n?Math.min(Math.max((this.dataPoints.length-
578
+ 1)/n*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){h=0<d?n+g:n-g;if(0<=h&&h<this.dataPoints.length){var b=this.dataPoints[h],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=h);b=p;b<=e?e=b:0<d?l++:m++;if(1E3<l&&1E3<m)break}else if(0>n-g&&n+g>=this.dataPoints.length)break;-1===d?(g++,d=1):d=-1}return f||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?f&&null!==c.dataPoint?c:null:
579
+ c};O.prototype.getDataPointAtXY=function(a,f,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||f<this.chart.plotArea.y1||f>this.chart.plotArea.y2)return null;c=c||!1;var b=[],g=0,h=0,d=1,l=!1,v=Infinity,m=0,n=0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:f}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),
580
+ p=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else q=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<q?Math.min(Math.max((this.dataPoints.length-1)/q*(p-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){h=0<d?p+g:p-g;if(0<=h&&h<this.dataPoints.length){var q=this.chart._eventManager.objectMap[this.dataPointIds[h]],k=this.dataPoints[h],r=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>=
581
+ q.x1&&(a<=q.x2&&f>=q.y1&&f<=q.y2)&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y1-f),Math.abs(q.y2-f))}),l=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var x=qa("markerSize",k,this)||4,s=c?20:x,r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=s&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r});q=
582
+ Math.abs(q.x1-a);q<=v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "rangeArea":case "rangeSplineArea":x=qa("markerSize",k,this)||4;s=c?20:x;r=Math.min(Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2)),Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y2-f,2)));r<=s&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "bubble":x=q.size;r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=x/2&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,
583
+ distance:r}),l=!0);break;case "pie":case "doughnut":x=q.center;s="doughnut"===this.type?q.percentInnerRadius*q.radius:0;r=Math.sqrt(Math.pow(x.x-a,2)+Math.pow(x.y-f,2));r<q.radius&&r>s&&(r=Math.atan2(f-x.y,a-x.x),0>r&&(r+=2*Math.PI),r=Number(((180*(r/Math.PI)%360+360)%360).toFixed(12)),x=Number(((180*(q.startAngle/Math.PI)%360+360)%360).toFixed(12)),s=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===s&&1<q.endAngle&&(s=360),x>=s&&(0!==k.y&&!e(k.y))&&(s+=360,r<x&&(r+=360)),r>x&&r<s&&
584
+ (b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:0}),l=!0));break;case "funnel":case "pyramid":r=q.funnelSection;f>r.y1&&f<r.y4&&(r.y6?f>r.y6?(h=r.x6+(r.x5-r.x6)/(r.y5-r.y6)*(f-r.y6),r=r.x3+(r.x4-r.x3)/(r.y4-r.y3)*(f-r.y3)):(h=r.x1+(r.x6-r.x1)/(r.y6-r.y1)*(f-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(f-r.y2)):(h=r.x1+(r.x4-r.x1)/(r.y4-r.y1)*(f-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(f-r.y2)),a>h&&a<r&&(b.push({dataPoint:k,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),l=!0));
585
+ break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&f>=q.y4-q.borderThickness/2&&f<=q.y1+q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y1&&f<=q.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0;break;case "candlestick":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&f>=q.y2-q.borderThickness/2&&f<=q.y3+q.borderThickness/2||Math.abs(q.x2-
586
+ a+q.x1-a)<q.borderThickness&&f>=q.y1&&f<=q.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0;break;case "ohlc":if(Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y2&&f<=q.y3||a>=q.x1&&a<=(q.x2+q.x1)/2&&f>=q.y1-q.borderThickness/2&&f<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&f>=q.y4-q.borderThickness/2&&f<=q.y4+q.borderThickness/2)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-
587
+ a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0}if(l||1E3<m&&1E3<n)break}}else if(0>p-g&&p+g>=this.dataPoints.length)break;-1===d?(g++,d=1):d=-1}a=null;for(f=0;f<b.length;f++)a?b[f].distance<=a.distance&&(a=b[f]):a=b[f];return a};O.prototype.getMarkerProperties=function(a,f,c,b){var g=this.dataPoints,h=g[a].markerColor?g[a].markerColor:this.markerColor?this.markerColor:g[a].color?g[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=g[a].markerBorderColor?g[a].markerBorderColor:
588
+ this.markerBorderColor?this.markerBorderColor:null,l=e(g[a].markerBorderThickness)?this.markerBorderThickness?this.markerBorderThickness:null:g[a].markerBorderThickness,v=g[a].markerType?g[a].markerType:this.markerType;a=e(g[a].markerSize)?this.markerSize:g[a].markerSize;return{x:f,y:c,ctx:b,type:v,size:a,color:h,borderColor:d,borderThickness:l}};ia(z,aa);z.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var f=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
589
+ Math.log(f/this.viewportMinimum)<this.noTicks-1){for(var c=z.getNiceNumber((f-this.viewportMinimum)/Math.min(Math.max(2,this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<f;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Xa);this.createExtraLabelsForLog(a)}}};z.prototype.createLabels=function(){var a,f,c=0,b=0,g,h=0,d=0,b=0,b=this.interval,l=0,v,m=0.6*this.chart.height,n;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
590
+ [],q=p.length?e(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==this.valueType||this.logarithmic){g=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),k=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])k=!0;else{k=!1;break}k&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
591
+ b=0,k=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;k<p.length&&c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,
592
+ text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}k=q;for(c=this.intervalStartPosition;c<=g;c=parseFloat(1E-12>this.interval?
593
+ this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;k<p.length&&c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:
594
+ ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),
595
+ this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),g=cb(new Date(this.viewportMaximum),this.interval,this.intervalType),k=q,c=this.intervalStartPosition;c<g;cb(c,b,this.intervalType)){for(a=c.getTime();k<p.length&&a>p[k].endValue;k++);n=a;a=k<p.length&&a>=p[k].startValue&&a<=p[k].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,
596
+ value:new Date(n),label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ga(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,
597
+ fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)l=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/
598
+ Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*ba[this.intervalType+"Duration"]*this.interval,h="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)l=
599
+ this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*ba[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(h="undefined"===
600
+ typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=h;a.maxHeight=d;var r=a.measureText();v=r.height}g=[];q=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(e(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=
601
+ 180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(h=0.9*l>>0,q=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;
602
+ for(var x,k=a.text.split(" "),b=0;b<k.length;b++)n=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),n.width>q&&(x=c,q=n.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);this.sessionVariables.labelMaxHeight=
603
+ Math.max.apply(Math,g);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(e(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),
604
+ n=(m-(v+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!e(this.options.labelWrap))this.labelWrap?e(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),this.sessionVariables.labelWrap=this.labelWrap,f&&r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>
605
+ h?-25:this.sessionVariables.labelAngle):e(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=h,f&&r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=
606
+ d,this.sessionVariables.labelWrap=this.labelWrap);else{if(e(this.options.labelWrap))if(!e(this.options.labelMaxWidth))this.options.labelMaxWidth<h?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!e(f))if(b=r.width+f.width>>0,k=this.labelFontSize,q<h)b-2*h>p&&(p=b-2*h,b>=2*h&&b<2.2*h?(this.sessionVariables.labelMaxWidth=
607
+ h,e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*h&&b<2.8*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=k):b>=2.8*h&&b<3.2*h?(this.sessionVariables.labelMaxWidth=Math.max(h,q),this.sessionVariables.labelWrap=!0,e(this.options.labelFontSize)&&12<this.labelFontSize&&
608
+ (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*h&&b<3.6*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*h&&b<5*h?(e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=
609
+ e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n):b>5*h&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelFontSize=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(x===c&&(0===x&&q+this._labels[x+1].textBlock.measureText().width-2*h>p||x===this._labels.length-1&&q+this._labels[x-
610
+ 1].textBlock.measureText().width-2*h>p||0<x&&x<this._labels.length-1&&q+this._labels[x+1].textBlock.measureText().width-2*h>p&&q+this._labels[x-1].textBlock.measureText().width-2*h>p))p=0===x?q+this._labels[x+1].textBlock.measureText().width-2*h:q+this._labels[x-1].textBlock.measureText().width-2*h,this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
611
+ n;else if(0===p)for(this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),r=a.measureText(),b<this._labels.length-1&&(k=b+1,f=this._labels[k].textBlock,f.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),f=f.measureText(),r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=
612
+ -25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=0!=this.labelAngle?(m-(v+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):h,this.sessionVariables.labelMaxHeight=this.labelWrap?(m-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):
613
+ 1.5*this.labelFontSize,e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=b<0.9*l?0.9*l:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?
614
+ (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n):(e(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,
615
+ a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=e(this.options.labelMaxWidth)?e(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=e(this.options.labelFontSize)?
616
+ e(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=e(this.options.labelAngle)?e(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=e(this.options.labelWrap)?e(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:
617
+ this.options.labelWrap,a.maxHeight=e(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(h=e(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=
618
+ this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);
619
+ this.sessionVariables.labelMaxHeight=Math.max.apply(Math,g);b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));e(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?e(this.options.labelWrap)?e(this.options.labelWrap)&&(e(this.options.labelMaxWidth)?e(f)||(l=r.height+f.height>>0,l-2*d>q&&(q=l-2*d,l>=2*d&&
620
+ l<2.4*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):l>=2.4*d&&l<2.8*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):l>=2.8*d&&l<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=
621
+ !0,e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):l>=3.2*d&&l<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):l>3.6*
622
+ d&&l<10*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):l>10*d&&l<50*d&&(e(this.options.labelFontSize)&&12<this.labelFontSize&&
623
+ (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):
624
+ (this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?h:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),
625
+ d),e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,e(this.options.labelMaxWidth)&&
626
+ (this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=h):(this.sessionVariables.labelMaxHeight=d,e(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=
627
+ this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=e(this.options.labelMaxWidth)?e(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=
628
+ h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=e(this.options.labelFontSize)?e(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=e(this.options.labelAngle)?e(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=e(this.options.labelWrap)?
629
+ e(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=e(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var h=this.stripLines[c],s;if("outside"===h.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)e(h.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?
630
+ s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;if("left"===this._position||"right"===this._position)e(h.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;e(h.labelBackgroundColor)&&(h.labelBackgroundColor="#EEEEEE")}else d=
631
+ "bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,s=e(h.options.labelWrap)||h.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,e(h.labelBackgroundColor)&&(e(h.startValue)&&0!==h.startValue?h.labelBackgroundColor=u?"transparent":null:h.labelBackgroundColor="#EEEEEE");a=new na(this.ctx,{x:0,y:0,backgroundColor:h.labelBackgroundColor,borderColor:h.labelBorderColor,borderThickness:h.labelBorderThickness,
632
+ cornerRadius:h.labelCornerRadius,maxWidth:h.options.labelMaxWidth?h.options.labelMaxWidth:d,maxHeight:s,angle:this.labelAngle,text:h.labelFormatter?h.labelFormatter({chart:this.chart,axis:this,stripLine:h}):h.label,textAlign:this.labelTextAlign,fontSize:"outside"===h.labelPlacement?h.options.labelFontSize?h.labelFontSize:this.labelFontSize:h.labelFontSize,fontFamily:"outside"===h.labelPlacement?h.options.labelFontFamily?h.labelFontFamily:this.labelFontFamily:h.labelFontFamily,fontWeight:"outside"===
633
+ h.labelPlacement?h.options.labelFontWeight?h.labelFontWeight:this.labelFontWeight:h.labelFontWeight,fontColor:h.labelFontColor||h.color,fontStyle:"outside"===h.labelPlacement?h.options.labelFontStyle?h.labelFontStyle:this.fontWeight:h.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:h.value,textBlock:a,effectiveHeight:null,stripLine:h})}};z.prototype.createLabelsAndCalculateWidth=function(){var a=0,f=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?
634
+ 0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(f=0;f<this._labels.length;f++){var b=this._labels[f].textBlock,g=b.measureText(),h=0,h=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveWidth=a=h);this._labels[f].effectiveWidth=h}for(f=0;f<this._stripLineLabels.length;f++)"outside"===
635
+ this._stripLineLabels[f].stripLine.labelPlacement&&(this._stripLineLabels[f].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[f].stripLine.value<=this.viewportMaximum)&&(b=this._stripLineLabels[f].textBlock,g=b.measureText(),h=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),
636
+ a<h&&(a=h),this.stripLineLabelEffectiveWidth=this._stripLineLabels[f].effectiveWidth=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};z.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var f,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&
637
+ 0<this._index)for(c=0;c<this._labels.length;c++){f=this._labels[c].textBlock;var g=f.measureText(),h=0,h=0===this.labelAngle?g.height:g.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(g.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveHeight=a=h);this._labels[c].effectiveHeight=h}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&
638
+ this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(f=this._stripLineLabels[c].textBlock,g=f.measureText(),h=0===this.labelAngle?g.height:g.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(g.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=h)}return(this.title?this._titleTextBlock.measureText().height+
639
+ 2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};z.setLayout=function(a,f,c,b,g,h){var d,l,v,m,n=a[0]?a[0].chart:f[0].chart,p=n.isNavigator?0:10,q=n._axes;if(a&&0<a.length)for(var k=0;k<a.length;k++)a[k]&&a[k].calculateAxisParameters();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<q.length;k++)if(q[k]&&
640
+ q[k].scaleBreaks&&q[k].scaleBreaks._appliedBreaks.length)for(var r=q[k].scaleBreaks._appliedBreaks,x=0;x<r.length&&!(r[x].startValue>q[k].viewportMaximum);x++)r[x].endValue<q[k].viewportMinimum||(e(q[k].scaleBreaks.firstBreakIndex)&&(q[k].scaleBreaks.firstBreakIndex=x),r[x].startValue>=q[k].viewPortMinimum&&(q[k].scaleBreaks.lastBreakIndex=x));for(var s=x=0,w=0,u=0,t=0,y=0,z=0,D,E,F=l=0,I,J,R,r=I=J=R=!1,k=0;k<q.length;k++)q[k]&&q[k].title&&(q[k]._titleTextBlock=new na(q[k].ctx,{text:q[k].title,horizontalAlign:"center",
641
+ fontSize:q[k].titleFontSize,fontFamily:q[k].titleFontFamily,fontWeight:q[k].titleFontWeight,fontColor:q[k].titleFontColor,fontStyle:q[k].titleFontStyle,borderColor:q[k].titleBorderColor,borderThickness:q[k].titleBorderThickness,backgroundColor:q[k].titleBackgroundColor,cornerRadius:q[k].titleCornerRadius,textBaseline:"top"}));for(k=0;k<q.length;k++)if(q[k].title)switch(q[k]._position){case "left":q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?
642
+ 0.8*h.width:1.5*q[k].titleFontSize;q[k]._titleTextBlock.angle=-90;break;case "right":q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.width:1.5*q[k].titleFontSize;q[k]._titleTextBlock.angle=90;break;default:q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.width,q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.height:1.5*q[k].titleFontSize,q[k]._titleTextBlock.angle=0}if("normal"===g){for(var u=[],t=[],y=[],z=[],N=[],O=[],M=[],P=[];4>
643
+ x;){var G=0,W=0,S=0,$=0,T=g=0,U=0,ca=0,aa=0,Y=0,V=0,ba=0;if(c&&0<c.length)for(y=[],k=V=0;k<c.length;k++)y.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateWidth():0)),V+=y[k],U+=c[k]&&!n.isNavigator?c[k].margin:0;else y.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(y);if(b&&0<b.length)for(z=[],k=ba=0;k<b.length;k++)z.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),ba+=z[k],ca+=b[k]?b[k].margin:0;else z.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));
644
+ P.push(z);d=Math.round(h.x1+V+U);v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca);if(a&&0<a.length)for(u=[],k=aa=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates={}),a[k].lineCoordinates.width=Math.abs(v-d),a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.width?a[k].titleMaxWidth:a[k].lineCoordinates.width),u.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),aa+=u[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else u.push(Math.ceil(a[0]?
645
+ a[0].createLabelsAndCalculateHeight():0));N.push(u);if(f&&0<f.length)for(t=[],k=Y=0;k<f.length;k++)f[k]&&(f[k].lineCoordinates={}),f[k].lineCoordinates.width=Math.abs(v-d),f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.width?f[k].titleMaxWidth:f[k].lineCoordinates.width),t.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateHeight():0)),Y+=t[k],T+=f[k]&&!n.isNavigator?f[k].margin:0;else t.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateHeight():
646
+ 0));O.push(t);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates.x1=d,v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca),a[k]._labels&&1<a[k]._labels.length&&(l=m=0,m=a[k]._labels[1],l="dateTime"===a[k].valueType?a[k]._labels[a[k]._labels.length-2]:a[k]._labels[a[k]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/
647
+ 180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle))),!a[k]||(!a[k].labelAutoFit||e(D)||e(E)||n.isNavigator||n.stockChart)||(l=0,0<a[k].labelAngle?E+w>v&&(l+=0<a[k].labelAngle?E+w-v-ba:0):0>a[k].labelAngle?D-s<d&&D-s<a[k].viewportMinimum&&(F=d-(U+a[k].tickLength+y+D-s+a[k].labelFontSize/2)):0===a[k].labelAngle&&(E+w>v&&(l=E+w/2-v-ba),D-s<d&&D-s<a[k].viewportMinimum&&(F=d-U-a[k].tickLength-y-D+s/2)),a[k].viewportMaximum===a[k].maximum&&
648
+ a[k].viewportMinimum===a[k].minimum&&0<a[k].labelAngle&&0<l?v-=l:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0>a[k].labelAngle&&0<F?d+=F:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0===a[k].labelAngle&&(0<F&&(d+=F),0<l&&(v-=l))),n.panEnabled?aa=e(n.sessionVariables.axisX.height)?n.sessionVariables.axisX.height=aa:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=aa,l=Math.round(h.y2-aa-g+G),m=Math.round(h.y2),a[k].lineCoordinates.x2=
649
+ v,a[k].lineCoordinates.width=v-d,a[k].lineCoordinates.y1=l,a[k].lineCoordinates.y2=l+a[k].lineThickness/2,"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.y1=a[k-1].lineCoordinates.y2+G+(a[k].labelEffectiveHeight||0),a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),a[k].bounds={x1:d,y1:l,x2:v,y2:m-(aa+g-u[k]-G),width:v-d},
650
+ a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1),G+=u[k]+a[k].margin;if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].lineCoordinates.x1=Math.round(h.x1+V+U),f[k].lineCoordinates.x2=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca),f[k].lineCoordinates.width=Math.abs(v-d),f[k]._labels&&1<f[k]._labels.length&&(m=f[k]._labels[1],l="dateTime"===f[k].valueType?f[k]._labels[f[k]._labels.length-2]:f[k]._labels[f[k]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+
651
+ (m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle))),n.panEnabled?Y=e(n.sessionVariables.axisX2.height)?n.sessionVariables.axisX2.height=Y:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=Y,l=Math.round(h.y1),m=f[k].lineCoordinates.y1=l+Y+T-W,f[k].lineCoordinates.y2=l,"inside"===
652
+ f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.y1=f[k-1].lineCoordinates.y1-W-(f[k].labelEffectiveHeight||0)),"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.y1-=f[k].tickLength),f[k].bounds={x1:d,y1:l+(Y+T-t[k]-W),x2:v,y2:m,width:v-d},f[k].bounds.height=f[k].bounds.y2-f[k].bounds.y1,W+=t[k]+f[k].margin;if(c&&0<c.length)for(k=0;k<c.length;k++)U=n.isNavigator?0:10,c[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-
653
+ 1].textBlock.height/2:p,l=Math.round(h.y1+Y+T<Math.max(U,p)?Math.max(U,p):h.y1+Y+T),v=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=0<a.length?0:c[k]._labels&&0<c[k]._labels.length?c[k]._labels[0].textBlock.height/2:p,m=Math.round(h.y2-aa-g-U),c[k].lineCoordinates={x1:d-S,y1:l,x2:v-S,y2:m,height:Math.abs(m-l)},"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.x1=c[k-1].lineCoordinates.x1-S-(c[k].labelEffectiveWidth||0),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+
654
+ c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].bounds={x1:d-(y[k]+S),y1:l,x2:v-S,y2:m,height:m-l},c[k].bounds.width=c[k].bounds.x2-c[k].bounds.x1,c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),S+=y[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&
655
+ (d=Math.round(a[0]?a[0].lineCoordinates.x2:f[0].lineCoordinates.x2),v=Math.round(d),U=b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,l=Math.round(h.y1+Y+T<Math.max(U,p)?Math.max(U,p):h.y1+Y+T),U=0<a.length?0:b[k]._labels&&0<b[k]._labels.length?b[k]._labels[0].textBlock.height/2:0,m=Math.round(h.y2-(aa+g+U)),b[k].lineCoordinates={x1:d+$,y1:l,x2:d+$,y2:m,height:Math.abs(m-l)},"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.x1=b[k-1].lineCoordinates.x2+
656
+ $+(b[k].labelEffectiveWidth||0),b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),b[k].bounds={x1:d+$,y1:l,x2:v+(z[k]+$),y2:m,height:m-l},b[k].bounds.width=b[k].bounds.x2-b[k].bounds.x1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),
657
+ $+=z[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),a[k]._labels&&1<a[k]._labels.length&&(D=(a[k].logarithmic?Math.log(a[k]._labels[1].position/a[k].viewportMinimum)/a[k].conversionParameters.lnLogarithmBase:a[k]._labels[1].position-a[k].viewportMinimum)*Math.abs(a[k].conversionParameters.pixelPerUnit)+a[k].lineCoordinates.x1,d=a[k]._labels[a[k]._labels.length-("dateTime"===a[k].valueType?2:1)].position,
658
+ d=a[k].getApparentDifference(a[k].viewportMinimum,d),E=a[k].logarithmic?(1<d?Math.log(d)/a[k].conversionParameters.lnLogarithmBase*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1:(0<d?d*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1));if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateValueToPixelConversionParameters(),f[k].calculateBreaksSizeInValues(),f[k]._labels&&1<f[k]._labels.length&&(D=(f[k].logarithmic?Math.log(f[k]._labels[1].position/
659
+ f[k].viewportMinimum)/f[k].conversionParameters.lnLogarithmBase:f[k]._labels[1].position-f[k].viewportMinimum)*Math.abs(f[k].conversionParameters.pixelPerUnit)+f[k].lineCoordinates.x1,d=f[k]._labels[f[k]._labels.length-("dateTime"===f[k].valueType?2:1)].position,d=f[k].getApparentDifference(f[k].viewportMinimum,d),E=f[k].logarithmic?(1<d?Math.log(d)/f[k].conversionParameters.lnLogarithmBase*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1:(0<d?d*Math.abs(f[k].conversionParameters.pixelPerUnit):
660
+ 0)+f[k].lineCoordinates.x1);for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=N[x-1][k]===N[x][k]?!0:!1;else r=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)I=O[x-1][k]===O[x][k]?!0:!1;else I=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=M[x-1][k]===M[x][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)R=P[x-1][k]===P[x][k]?!0:!1;else R=!0}if(r&&I&&J&&R)break;x++}if(a&&
661
+ 0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels()}else{p=[];D=[];F=[];s=[];E=[];w=[];N=[];for(O=[];4>
662
+ x;){aa=$=S=ca=U=T=g=P=M=G=Y=0;if(a&&0<a.length)for(F=[],k=$=0;k<a.length;k++)F.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateWidth():0)),$+=F[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));N.push(F);if(f&&0<f.length)for(s=[],k=aa=0;k<f.length;k++)s.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateWidth():0)),aa+=s[k],T+=f[k]?f[k].margin:0;else s.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateWidth():0));O.push(s);if(c&&0<c.length)for(k=
663
+ 0;k<c.length;k++)c[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>n.width-10?n.width-10:h.x2-aa-T),c[k].labelAutoFit&&!e(u)&&(0<!a.length&&(d=0>c[k].labelAngle?Math.max(d,u):0===c[k].labelAngle?Math.max(d,u/2):d),0<!f.length&&(v=0<c[k].labelAngle?v-t/2:0===c[k].labelAngle?v-t/2:v)),c[k].lineCoordinates.x1=d,c[k].lineCoordinates.x2=v,c[k].lineCoordinates.width=Math.abs(v-d),c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?
664
+ c[k].titleMaxWidth:c[k].lineCoordinates.width);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>b[k].chart.width-10?b[k].chart.width-10:h.x2-aa-T),b[k]&&b[k].labelAutoFit&&!e(y)&&(0<!a.length&&(d=0<b[k].labelAngle?Math.max(d,y):0===b[k].labelAngle?Math.max(d,y/2):d),0<!f.length&&(v-=z/2)),b[k].lineCoordinates.x1=d,b[k].lineCoordinates.x2=v,b[k].lineCoordinates.width=Math.abs(v-d),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&
665
+ b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width);if(c&&0<c.length)for(p=[],k=S=0;k<c.length;k++)p.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateHeight():0)),S+=p[k]+c[k].margin,U+=c[k].margin;else p.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));E.push(p);if(b&&0<b.length)for(D=[],k=0;k<b.length;k++)D.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateHeight():0)),ca+=b[k].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():
666
+ 0));w.push(D);if(c&&0<c.length)for(k=0;k<c.length;k++)0<c[k]._labels.length&&(m=c[k]._labels[0],l=c[k]._labels[c[k]._labels.length-1],u=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),t=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle)));if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&
667
+ 0<b[k]._labels.length&&(m=b[k]._labels[0],l=b[k]._labels[b[k]._labels.length-1],y=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),z=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle)));if(n.panEnabled)for(k=0;k<c.length;k++)p[k]=e(n.sessionVariables.axisY[k].height)?n.sessionVariables.axisY[k].height=
668
+ p[k]:n.sessionVariables.axisY[k].height;else for(k=0;k<c.length;k++)n.sessionVariables.axisY[k].height=p[k];if(c&&0<c.length)for(k=c.length-1;0<=k;k--)l=Math.round(h.y2),m=Math.round(h.y2>c[k].chart.height?c[k].chart.height:h.y2),c[k].lineCoordinates.y1=l-(p[k]+c[k].margin+Y),c[k].lineCoordinates.y2=l-(p[k]+c[k].margin+Y),"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.y1=c[k].lineCoordinates.y1+p[k]-(c[k]._titleTextBlock?c[k]._titleTextBlock.height:0)-c[k].tickLength-(c[k].stripLineLabelEffectiveHeight||
669
+ 0)-5,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.y1+=c[k].tickLength,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),c[k].bounds={x1:d,y1:l-(p[k]+Y+c[k].margin),x2:v,y2:m-(Y+c[k].margin),width:v-d,height:p[k]},c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width),Y+=p[k]+c[k].margin;if(b&&0<
670
+ b.length)for(k=b.length-1;0<=k;k--)b[k]&&(l=Math.round(h.y1),m=Math.round(h.y1+(D[k]+b[k].margin+G)),b[k].lineCoordinates.y1=m,b[k].lineCoordinates.y2=m,"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.y1=m-D[k]+(b[k]._titleTextBlock?b[k]._titleTextBlock.height:0)+b[k].tickLength+(b[k].stripLineLabelEffectiveHeight||0),b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.y1-=b[k].tickLength,b[k].lineCoordinates.y2=
671
+ b[k].lineCoordinates.y1-b[k].lineThickness/2),b[k].bounds={x1:d,y1:l+(b[k].margin+G),x2:v,y2:m,width:v-d},b[k].bounds.height=b[k].bounds.y2-b[k].bounds.y1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width),G+=D[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++){U=a[k]._labels&&0<a[k]._labels.length?a[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1+g);l=b&&0<b.length?Math.round(b[0]?
672
+ b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x1+$+g);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-S>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2-S):h.y2>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2;if(c&&0<c.length)for(U=0;U<c.length;U++)c[U]&&c[U].labelAutoFit&&(v=c[U].lineCoordinates.x1,d=0>c[U].labelAngle||0===c[U].labelAngle?v-$:d);if(b&&0<b.length)for(U=0;U<b.length;U++)b[U]&&b[U].labelAutoFit&&
673
+ (v=b[U].lineCoordinates.x1,d=v-$);a[k].lineCoordinates={x1:v-M,y1:l,x2:v-M,y2:m,height:Math.abs(m-l)};"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.x1=a[k].lineCoordinates.x1-(F[k]-(a[k]._titleTextBlock?a[k]._titleTextBlock.height:0))+a[k].tickLength+(a[k].stripLineLabelEffectiveWidth||0),a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.x1-=a[k].tickLength,a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/
674
+ 2);a[k].bounds={x1:v-(F[k]+M),y1:l,x2:v-M,y2:m,height:m-l};a[k].bounds.width=a[k].bounds.x2-a[k].bounds.x1;a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.height?a[k].titleMaxWidth:a[k].lineCoordinates.height);a[k].calculateValueToPixelConversionParameters();a[k].calculateBreaksSizeInValues();M+=F[k]+a[k].margin}if(f&&0<f.length)for(k=0;k<f.length;k++){U=f[k]._labels&&0<f[k]._labels.length?f[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1-
675
+ g);l=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x2-aa-T);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-S>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2-S):h.y2>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2;if(c&&0<c.length)for(U=0;U<c.length;U++)c[U]&&c[U].labelAutoFit&&(v=0>c[U].labelAngle?Math.max(v,u):0===c[U].labelAngle?Math.max(v,u/2):v,d=0>c[U].labelAngle||0===
676
+ c[U].labelAngle?v-aa:d);if(b&&0<b.length)for(U=0;U<b.length;U++)b[U]&&b[U].labelAutoFit&&(v=b[U].lineCoordinates.x2,d=v-aa);f[k].lineCoordinates={x1:v+P,y1:l,x2:v+P,y2:m,height:Math.abs(m-l)};"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.x1=f[k].lineCoordinates.x1+(s[k]-(f[k]._titleTextBlock?f[k]._titleTextBlock.height:0)-2)-f[k].tickLength-(f[k].stripLineLabelEffectiveWidth||0),f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);"inside"===f[k].tickPlacement&&0<k&&
677
+ (f[k].lineCoordinates.x1+=f[k].tickLength,f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);f[k].bounds={x1:f[k].lineCoordinates.x1,y1:l,x2:v+s[k]+P,y2:m,width:v-d,height:m-l};f[k].bounds.width=f[k].bounds.x2-f[k].bounds.x1;f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.height?f[k].titleMaxWidth:f[k].lineCoordinates.height);f[k].calculateValueToPixelConversionParameters();f[k].calculateBreaksSizeInValues();P+=s[k]+f[k].margin}for(k=
678
+ 0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=N[x-1][k]===N[x][k]?!0:!1;else r=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)I=O[x-1][k]===O[x][k]?!0:!1;else I=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=E[x-1][k]===E[x][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)R=w[x-1][k]===w[x][k]?!0:!1;else R=!0}if(r&&I&&J&&R)break;x++}if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),
679
+ c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels();if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels()}};z.render=function(a,f,c,b,g){var h=a[0]?a[0].chart:f[0].chart;g=h.ctx;h.alignVerticalAxes&&h.alignVerticalAxes();g.save();g.beginPath();
680
+ a&&a.length&&g.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);f&&f.length&&g.rect(5,f[f.length-1].bounds.y1,f[0].chart.width-10,f[0].bounds.y2);g.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderLabelsTicksAndTitle();g.restore();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderLabelsTicksAndTitle();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderLabelsTicksAndTitle();h.preparePlotArea();
681
+ h=h.plotArea;g.save();g.beginPath();g.rect(h.x1,h.y1,Math.abs(h.x2-h.x1),Math.abs(h.y2-h.y1));g.clip();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("value");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderInterlacedColors();
682
+ if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderInterlacedColors();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderInterlacedColors();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderInterlacedColors();g.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),u&&(a[d].createMask(),a[d].renderBreaksBackground());if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderGrid(),u&&(f[d].createMask(),f[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),
683
+ u&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderGrid(),u&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderAxisLine();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderAxisLine();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderAxisLine();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("pixel");if(f&&
684
+ 0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("pixel");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("pixel");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("pixel")};z.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var f=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),
685
+ c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),f=this.getApparentDifference(f,c);this.stripLines[a].value=this.logarithmic?this.stripLines[a].value*Math.sqrt(Math.log(Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue)/Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue))/Math.log(f)):this.stripLines[a].value+(Math.abs(this.stripLines[a].endValue-this.stripLines[a].startValue)-f)/2;this.stripLines[a].thickness=f;this.stripLines[a]._thicknessType=
686
+ "value"}};z.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,f=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!e(this.scaleBreaks.options.spacing),
687
+ g,d=0;d<f.length;d++)g=b||!e(f[d].options.spacing),f[d].spacing=Va(f[d].spacing,a,8,g?0.1*a:8,g?0:3)<<0,f[d].size=0>f[d].spacing?0:Math.abs(f[d].spacing/c),this.logarithmic&&(f[d].size=Math.pow(this.logarithmBase,f[d].size))};z.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var f=0;f<a.length&&
688
+ !(a[f].startValue>this.conversionParameters.maximum);f++)a[f].endValue<this.conversionParameters.minimum||(e(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=f),a[f].startValue>=this.conversionParameters.minimum&&(a[f].startPixel=this.convertValueToPixel(a[f].startValue),this.scaleBreaks.lastBreakIndex=f),a[f].endValue<=this.conversionParameters.maximum&&(a[f].endPixel=this.convertValueToPixel(a[f].endValue)))}};z.prototype.renderLabelsTicksAndTitle=function(){var a=this,f=!1,
689
+ c=0,b=0,g=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(g=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],g=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,e,l=this.viewportMaximum,v=this.lineCoordinates.width/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===
690
+ this._labels.length-1||e<Math.log(l/p.position)*v/g)||(c.push(p),l=p.position,e=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(e=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=e);c>this.lineCoordinates.width*g&&this.labelAutoFit&&
691
+ (f=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,l=this.viewportMaximum,v=this.lineCoordinates.height/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===this._labels.length-1||n<Math.log(l/p.position)*v)||(c.push(p),l=p.position,n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*
692
+ Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*g&&this.labelAutoFit&&(f=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var m=0,p,q;if("bottom"===
693
+ this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?
694
+ (q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.fontSize/2+5):(q.x="inside"===this.labelPlacement?0>this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):q.x-(0>this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0>this.labelAngle?q.y-("inside"===
695
+ this.tickPlacement?this.tickLength:0)-5:q.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):q.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<
696
+ a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/
697
+ 2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<
698
+ 0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.height-p.textBlock.fontSize/2)):(q.x="inside"===this.labelPlacement?0<this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/
699
+ 180*this.labelAngle):q.x+(p.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0<this.labelAngle?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+((p.textBlock.height-p.textBlock.fontSize/2)*
700
+ Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%
701
+ 2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],
702
+ p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?
703
+ q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(p.textBlock.y="inside"===this.labelPlacement?q.y:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:0<this.labelAngle?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-
704
+ 5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;
705
+ a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+1,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===
705
706
  this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?
706
707
  (p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(p.textBlock.y="inside"===this.labelPlacement?q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0>this.labelAngle?q.y:q.y-(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-
707
708
  ("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?q.x+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):q.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),
@@ -929,7 +930,7 @@ this.chart.requestAnimFrame.call(window,function(){h.animate.call(h)}):this.char
929
930
  d){if(0!==a){var c=d.dest,b=d.source.canvas,g=d.animationBase;c.drawImage(b,0,0,b.width,b.height,g-g*a,0,a*c.canvas.width/ka,c.canvas.height/ka)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ka,b.height/ka);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ka,c.canvas.height/ka);c.restore()}},easing:{linear:function(a,
930
931
  d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},s={drawMarker:function(a,d,c,b,g,h,e,l){if(c){var v=1;c.fillStyle=h?h:"#000000";c.strokeStyle=e?e:"#000000";c.lineWidth=l?l:0;c.setLineDash&&c.setLineDash(S("solid",l));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,g/2,0,2*Math.PI,!1),h&&c.fill(),
931
932
  l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v))):"square"===b?(c.beginPath(),c.rect(a-g/2,d-g/2,g,g),h&&c.fill(),l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v))):"triangle"===b?(c.beginPath(),c.moveTo(a-g/2,d+g/2),c.lineTo(a+g/2,d+g/2),c.lineTo(a,d-g/2),c.closePath(),h&&c.fill(),l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v)),c.beginPath()):
932
- "cross"===b&&(c.strokeStyle=h,c.lineWidth=g/4,c.beginPath(),c.moveTo(a-g/2,d-g/2),c.lineTo(a+g/2,d+g/2),c.stroke(),c.moveTo(a+g/2,d-g/2),c.lineTo(a-g/2,d+g/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];s.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return t}();Ka.version="v3.7.25 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);ea.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
933
+ "cross"===b&&(c.strokeStyle=h,c.lineWidth=g/4,c.beginPath(),c.moveTo(a-g/2,d-g/2),c.lineTo(a+g/2,d+g/2),c.stroke(),c.moveTo(a+g/2,d-g/2),c.lineTo(a-g/2,d+g/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];s.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return t}();Ka.version="v3.7.27 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);ea.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
933
934
  animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};ea.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"center",
934
935
  dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",options:"readWrite",bounds:"readOnly"}};ea.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,
935
936
  publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};ea.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};ea.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:2,labelFontColor:"#000",
@@ -1115,7 +1116,7 @@ l[d]:this.label};N.prototype.render=function(){this.textBlock.render(!0)};ia(W,a
1115
1116
  this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=this.style.padding.top+"px",this.elements[d].style.paddingRight=this.style.padding.right+"px",this.elements[d].style.paddingBottom=this.style.padding.bottom+"px",this.elements[d].style.paddingLeft=this.style.padding.left+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=
1116
1117
  this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ia(Y,aa);Y.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");
1117
1118
  this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ia(ba,aa);ba.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");
1118
- this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();T.version="v1.7.25 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
1119
+ this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();T.version="v1.7.27 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
1119
1120
  (window.CanvasJS.Chart=Ka,window.CanvasJS.StockChart=T))})();
1120
1121
 
1121
1122
  /*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canvasjs/stockcharts",
3
- "version": "1.7.25",
3
+ "version": "1.7.27",
4
4
  "description": "CanvasJS JavaScript StockCharts",
5
5
  "main": "canvasjs.stock.min.js",
6
6
  "keywords": [