@canvasjs/charts 3.14.6 → 3.14.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/LICENSE +1 -1
  2. package/canvasjs.min.js +287 -286
  3. package/package.json +1 -1
package/canvasjs.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- CanvasJS Chart - v3.14.6 GA - https://canvasjs.com/
2
+ CanvasJS Chart - v3.14.7 GA - https://canvasjs.com/
3
3
  Copyright 2025 fenopix
4
4
 
5
5
  --------------------- License Information --------------------
@@ -520,11 +520,11 @@ k.options.indexLabelBorderColor:k.indexLabelBorderColor;m.indexLabelBorderThickn
520
520
  g.indexLabelWrap:k.indexLabelWrap;m.indexLabelTextAlign=g.indexLabelTextAlign?g.indexLabelTextAlign:k.indexLabelTextAlign?k.indexLabelTextAlign:"left";m.startAngle=0===d?k.startAngle?k.startAngle/180*Math.PI:0:f[d-1].endAngle;m.startAngle=(m.startAngle+2*Math.PI)%(2*Math.PI);m.endAngle=m.startAngle+2*Math.PI/y*Math.abs(g.y);g=(m.endAngle+m.startAngle)/2;g=(g+2*Math.PI)%(2*Math.PI);m.midAngle=g;if(m.midAngle>Math.PI/2-t&&m.midAngle<Math.PI/2+t){if(0===a||f[c].midAngle>m.midAngle)c=d;a++}else if(m.midAngle>
521
521
  3*Math.PI/2-t&&m.midAngle<3*Math.PI/2+t){if(0===b||f[e].midAngle>m.midAngle)e=d;b++}m.hemisphere=g>Math.PI/2&&g<=3*Math.PI/2?"left":"right";m.indexLabelTextBlock=new ka(h.plotArea.ctx,{fontSize:m.indexLabelFontSize,fontFamily:m.indexLabelFontFamily,fontColor:m.indexLabelFontColor,fontStyle:m.indexLabelFontStyle,fontWeight:m.indexLabelFontWeight,textAlign:m.indexLabelTextAlign,backgroundColor:m.indexLabelBackgroundColor,borderColor:m.indexLabelBorderColor,borderThickness:m.indexLabelBorderThickness,
522
522
  maxWidth:m.indexLabelMaxWidth,maxHeight:m.indexLabelWrap?5*m.indexLabelFontSize:1.5*m.indexLabelFontSize,text:m.indexLabelText,padding:m.indexLabelPadding,textBaseline:"middle"});m.indexLabelTextBlock.measureText()}p=g=0;r=!1;for(d=0;d<n.length;d++)m=f[(c+d)%n.length],1<a&&(m.midAngle>Math.PI/2-t&&m.midAngle<Math.PI/2+t)&&(g<=a/2&&!r?(m.hemisphere="right",g++):(m.hemisphere="left",r=!0));r=!1;for(d=0;d<n.length;d++)m=f[(e+d)%n.length],1<b&&(m.midAngle>3*Math.PI/2-t&&m.midAngle<3*Math.PI/2+t)&&(p<=
523
- b/2&&!r?(m.hemisphere="left",p++):(m.hemisphere="right",r=!0))}}function c(a,b){var c=h.plotArea.ctx;c.clearRect(q.x1,q.y1,q.width,q.height);c.fillStyle=h.backgroundColor;c.fillRect(q.x1,q.y1,q.width,q.height);for(c=0;c<n.length;c++){var e=f[c].startAngle,d=f[c].endAngle;if(d>e){var g=0.07*z*Math.cos(f[c].midAngle),p=0.07*z*Math.sin(f[c].midAngle),l=!1;if(n[c].exploded){if(1E-9<Math.abs(f[c].center.x-(w.x+g))||1E-9<Math.abs(f[c].center.y-(w.y+p)))f[c].center.x=w.x+g*a,f[c].center.y=w.y+p*a,l=!0}else if(0<
524
- Math.abs(f[c].center.x-w.x)||0<Math.abs(f[c].center.y-w.y))f[c].center.x=w.x+g*(1-a),f[c].center.y=w.y+p*(1-a),l=!0;l&&b&&(g={},g.dataSeries=k,g.dataPoint=k.dataPoints[c],g.index=c,h.toolTip.highlightObjects([g]));sa(h.plotArea.ctx,f[c].center,f[c].radius,n[c].color?n[c].color:k._colorSet[c%k._colorSet.length],k.type,e,d,k.fillOpacity,f[c].percentInnerRadius)}}c=h.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline="middle";c.lineJoin="round";for(e=e=0;e<n.length;e++)d=f[e],
525
- d.indexLabelText&&(d.indexLabelTextBlock.y-=d.indexLabelTextBlock.height/2-d.indexLabelTextBlock._lineHeight/2,g=0,g="left"===d.hemisphere?"inside"!==k.indexLabelPlacement?-(d.indexLabelTextBlock.width+m):-d.indexLabelTextBlock.width/2:"inside"!==k.indexLabelPlacement?m:-d.indexLabelTextBlock.width/2,d.indexLabelTextBlock.x+=g,d.indexLabelTextBlock.render(!0),d.indexLabelTextBlock.x-=g,d.indexLabelTextBlock.y+=d.indexLabelTextBlock.height/2-d.indexLabelTextBlock._lineHeight/2,"inside"!==d.indexLabelPlacement&&
526
- 0<d.indexLabelLineThickness&&(g=d.center.x+z*Math.cos(d.midAngle),p=d.center.y+z*Math.sin(d.midAngle),c.strokeStyle=d.indexLabelLineColor,c.lineWidth=d.indexLabelLineThickness,c.setLineDash&&c.setLineDash(H(d.indexLabelLineDashType,d.indexLabelLineThickness)),c.beginPath(),c.moveTo(g,p),c.lineTo(d.indexLabelTextBlock.x,d.indexLabelTextBlock.y),c.lineTo(d.indexLabelTextBlock.x+("left"===d.hemisphere?-m:m),d.indexLabelTextBlock.y),c.stroke()),c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-
527
- a.indexLabelTextBlock.height/2,d=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,f=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,e=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?f-d:c-e}function e(a){for(var c=null,d=1;d<n.length;d++)if(c=(a+d+f.length)%f.length,f[c].hemisphere!==f[a].hemisphere){c=null;break}else if(f[c].indexLabelText&&c!==a&&(0>b(f[c],f[a])||("right"===f[a].hemisphere?f[c].indexLabelTextBlock.y>=f[a].indexLabelTextBlock.y:
523
+ b/2&&!r?(m.hemisphere="left",p++):(m.hemisphere="right",r=!0))}}function c(a,b){var c=h.plotArea.ctx;c.clearRect(q.x1,q.y1,q.width,q.height);c.fillStyle=h.backgroundColor;c.fillRect(q.x1,q.y1,q.width,q.height);for(c=0;c<n.length;c++){var d=f[c].startAngle,e=f[c].endAngle;if(e>d){var g=0.07*z*Math.cos(f[c].midAngle),p=0.07*z*Math.sin(f[c].midAngle),l=!1;if(n[c].exploded){if(1E-9<Math.abs(f[c].center.x-(w.x+g))||1E-9<Math.abs(f[c].center.y-(w.y+p)))f[c].center.x=w.x+g*a,f[c].center.y=w.y+p*a,l=!0}else if(0<
524
+ Math.abs(f[c].center.x-w.x)||0<Math.abs(f[c].center.y-w.y))f[c].center.x=w.x+g*(1-a),f[c].center.y=w.y+p*(1-a),l=!0;l&&b&&(g={},g.dataSeries=k,g.dataPoint=k.dataPoints[c],g.index=c,h.toolTip.highlightObjects([g]));sa(h.plotArea.ctx,f[c].center,f[c].radius,n[c].color?n[c].color:k._colorSet[c%k._colorSet.length],k.type,d,e,k.fillOpacity,f[c].percentInnerRadius)}}c=h.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline="middle";c.lineJoin="round";for(d=d=0;d<n.length;d++)e=f[d],
525
+ e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,g=0,g="left"===e.hemisphere?"inside"!==k.indexLabelPlacement?-(e.indexLabelTextBlock.width+m):-e.indexLabelTextBlock.width/2:"inside"!==k.indexLabelPlacement?m:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=g,e.indexLabelTextBlock.render(!0),e.indexLabelTextBlock.x-=g,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock._lineHeight/2,"inside"!==e.indexLabelPlacement&&
526
+ 0<e.indexLabelLineThickness&&(g=e.center.x+z*Math.cos(e.midAngle),p=e.center.y+z*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(H(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(g,p),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+("left"===e.hemisphere?-m:m),e.indexLabelTextBlock.y),c.stroke()),c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-
527
+ a.indexLabelTextBlock.height/2,e=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,f=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,d=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?f-e:c-d}function e(a){for(var c=null,e=1;e<n.length;e++)if(c=(a+e+f.length)%f.length,f[c].hemisphere!==f[a].hemisphere){c=null;break}else if(f[c].indexLabelText&&c!==a&&(0>b(f[c],f[a])||("right"===f[a].hemisphere?f[c].indexLabelTextBlock.y>=f[a].indexLabelTextBlock.y:
528
528
  f[c].indexLabelTextBlock.y<=f[a].indexLabelTextBlock.y)))break;else c=null;return c}function d(a,c,g){g=(g||0)+1;if(1E3<g)return 0;c=c||0;var k=0,p=w.y-1*s,m=w.y+1*s;if(0<=a&&a<n.length){var l=f[a];if(0>c&&l.indexLabelTextBlock.y<p||0<c&&l.indexLabelTextBlock.y>m)return 0;var r=0,h=0,h=r=r=0;0>c?l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2>p&&l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2+c<p&&(c=-(p-(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2+c))):l.indexLabelTextBlock.y+
529
529
  l.indexLabelTextBlock.height/2<p&&l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+c>m&&(c=l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+c-m);c=l.indexLabelTextBlock.y+c;p=0;p="right"===l.hemisphere?w.x+Math.sqrt(Math.pow(s,2)-Math.pow(c-w.y,2)):w.x-Math.sqrt(Math.pow(s,2)-Math.pow(c-w.y,2));h=w.x+z*Math.cos(l.midAngle);r=w.y+z*Math.sin(l.midAngle);r=Math.sqrt(Math.pow(p-h,2)+Math.pow(c-r,2));h=Math.acos(z/s);r=Math.acos((s*s+z*z-r*r)/(2*z*s));c=r<h?c-l.indexLabelTextBlock.y:0;p=null;
530
530
  for(m=1;m<n.length;m++)if(p=(a-m+f.length)%f.length,f[p].hemisphere!==f[a].hemisphere){p=null;break}else if(f[p].indexLabelText&&f[p].hemisphere===f[a].hemisphere&&p!==a&&(0>b(f[p],f[a])||("right"===f[a].hemisphere?f[p].indexLabelTextBlock.y<=f[a].indexLabelTextBlock.y:f[p].indexLabelTextBlock.y>=f[a].indexLabelTextBlock.y)))break;else p=null;h=p;r=e(a);m=p=0;0>c?(m="right"===l.hemisphere?h:r,k=c,null!==m&&(h=-c,c=l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-(f[m].indexLabelTextBlock.y+
@@ -535,27 +535,27 @@ c<p.indexLabelTextBlock.x?c=p.indexLabelTextBlock.x+15:"left"===l.hemisphere&&("
535
535
  (f[L].indexLabelTextBlock.y<l.indexLabelTextBlock.y?t++:H++);t=B/(t+H||1)*H;var H=-1*(B-t),J=L=0;"right"===l.hemisphere?(L=d(a,t),H=-1*(B-L),J=d(y,H),+J.toFixed(x)<+H.toFixed(x)&&+L.toFixed(x)<=+t.toFixed(x)&&d(a,-(H-J))):(L=d(y,t),H=-1*(B-L),J=d(a,H),+J.toFixed(x)<+H.toFixed(x)&&+L.toFixed(x)<=+t.toFixed(x)&&d(y,-(H-J)))}}}}else for(a=0;a<n.length;a++)l=f[a],s="pie"===k.type?0.7*z:0.85*z,y=w.x+s*Math.cos(l.midAngle),t=w.y+s*Math.sin(l.midAngle),l.indexLabelTextBlock.x=y,l.indexLabelTextBlock.y=t;
536
536
  for(a=0;a<n.length;a++)if(l=f[a],y=l.indexLabelTextBlock.measureText(),0!==y.height&&0!==y.width)y=y=0,"right"===l.hemisphere?(y=q.x2-(l.indexLabelTextBlock.x+l.indexLabelTextBlock.width+m),y*=-1):y=q.x1-(l.indexLabelTextBlock.x-l.indexLabelTextBlock.width-m),0<y&&(!p&&l.indexLabelText&&(t="right"===l.hemisphere?q.x2-l.indexLabelTextBlock.x:l.indexLabelTextBlock.x-q.x1,0.3*l.indexLabelTextBlock.maxWidth>t?l.indexLabelText="":l.indexLabelTextBlock.maxWidth=0.85*t,0.3*l.indexLabelTextBlock.maxWidth<
537
537
  t&&(l.indexLabelTextBlock.x-="right"===l.hemisphere?2:-2)),Math.abs(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-w.y)<z||Math.abs(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2-w.y)<z)&&(y/=Math.abs(Math.cos(l.indexLabelAngle)),9<y&&(y*=0.3),y>g&&(g=y)),y=y=0,0<l.indexLabelAngle&&l.indexLabelAngle<Math.PI?(y=q.y2-(l.indexLabelTextBlock.y+l.indexLabelTextBlock.height/2+5),y*=-1):y=q.y1-(l.indexLabelTextBlock.y-l.indexLabelTextBlock.height/2-5),0<y&&(!p&&l.indexLabelText&&(t=0<l.indexLabelAngle&&
538
- l.indexLabelAngle<Math.PI?-1:1,0===d(a,y*t)&&d(a,2*t)),Math.abs(l.indexLabelTextBlock.x-w.x)<z&&(y/=Math.abs(Math.sin(l.indexLabelAngle)),9<y&&(y*=0.3),y>g&&(g=y)));var O=function(a,b,c){for(var d=[],e=0;d.push(f[b]),b!==c;b=(b+1+n.length)%n.length);d.sort(function(a,b){return a.y-b.y});for(b=0;b<d.length;b++)if(c=d[b],e<0.7*a)e+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,d=0,g=!1,p=0;p<
538
+ l.indexLabelAngle<Math.PI?-1:1,0===d(a,y*t)&&d(a,2*t)),Math.abs(l.indexLabelTextBlock.x-w.x)<z&&(y/=Math.abs(Math.sin(l.indexLabelAngle)),9<y&&(y*=0.3),y>g&&(g=y)));var O=function(a,b,c){for(var e=[],d=0;e.push(f[b]),b!==c;b=(b+1+n.length)%n.length);e.sort(function(a,b){return a.y-b.y});for(b=0;b<e.length;b++)if(c=e[b],d<0.7*a)d+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,d=0,g=!1,p=0;p<
539
539
  n.length;p++)if(g=!1,r=f[p],r.indexLabelText){var l=e(p);if(null!==l){var k=f[l];B=0;B=b(r,k);var h;if(h=0>B){h=r.indexLabelTextBlock.x;var q=r.indexLabelTextBlock.y-r.indexLabelTextBlock.height/2,t=r.indexLabelTextBlock.y+r.indexLabelTextBlock.height/2,v=k.indexLabelTextBlock.y-k.indexLabelTextBlock.height/2,s=k.indexLabelTextBlock.x+k.indexLabelTextBlock.width,w=k.indexLabelTextBlock.y+k.indexLabelTextBlock.height/2;h=r.indexLabelTextBlock.x+r.indexLabelTextBlock.width<k.indexLabelTextBlock.x-m||
540
540
  h>s+m||q>w+m||t<v-m?!1:!0}h?(0>a&&(a=p),l!==a&&(c=l,d+=-B),0===p%Math.max(n.length/10,3)&&(g=!0)):g=!0;g&&(0<d&&0<=a&&0<=c)&&(O(d,a,c),c=a=-1,d=0)}}0<d&&O(d,a,c)})()}}function r(){h.plotArea.layoutManager.reset();h.title&&(h.title.dockInsidePlotArea||"center"===h.title.horizontalAlign&&"center"===h.title.verticalAlign)&&h.title.render();if(h.subtitles)for(var a=0;a<h.subtitles.length;a++){var b=h.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}h.legend&&
541
541
  (h.legend.dockInsidePlotArea||"center"===h.legend.horizontalAlign&&"center"===h.legend.verticalAlign)&&(h.legend.setLayout(),h.legend.render())}var h=this;if(!(0>=a.dataSeriesIndexes.length)){var k=this.data[a.dataSeriesIndexes[0]],n=k.dataPoints,m=10,q=this.plotArea,f=k.dataPointEOs,v=2,s,u=1.3,t=20/180*Math.PI,x=6,w={x:(q.x2+q.x1)/2,y:(q.y2+q.y1)/2},y=0;a=!1;for(var B=0;B<n.length;B++)y+=Math.abs(n[B].y),!a&&("undefined"!==typeof n[B].indexLabel&&null!==n[B].indexLabel&&0<n[B].indexLabel.toString().length)&&
542
542
  (a=!0),!a&&("undefined"!==typeof n[B].label&&null!==n[B].label&&0<n[B].label.toString().length)&&(a=!0);if(0!==y){a=a||"undefined"!==typeof k.indexLabel&&null!==k.indexLabel&&0<k.indexLabel.toString().length;var z="inside"!==k.indexLabelPlacement&&a?0.75*Math.min(q.width,q.height)/2:0.92*Math.min(q.width,q.height)/2;k.radius&&(z=Wa(k.radius,z));var D="undefined"!==typeof k.innerRadius&&null!==k.innerRadius?Wa(k.innerRadius,z,0.7*z):0.7*z,F=Math.min(D/z,(z-1)/z);this.pieDoughnutClickHandler=function(a){h.isAnimating||
543
543
  !l(this.explodeOnClick)&&!this.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&h._animator.animate(0,500,function(a){c(a,!0);r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h});h.dispatchEvent("dataAnimationEnd",{chart:h})}))};g();p();p();p();p();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=h.plotArea.ctx;b.clearRect(q.x1,q.y1,q.width,q.height);b.fillStyle=h.backgroundColor;b.fillRect(q.x1,
544
- q.y1,q.width,q.height);for(var b=f[0].startAngle+2*Math.PI*a,c=0;c<n.length;c++){var d=0===c?f[c].startAngle:e,e=d+(f[c].endAngle-f[c].startAngle),g=!1;e>b&&(e=b,g=!0);var p=n[c].color?n[c].color:k._colorSet[c%k._colorSet.length];e>d&&sa(h.plotArea.ctx,f[c].center,f[c].radius,p,k.type,d,e,k.fillOpacity,f[c].percentInnerRadius);if(g)break}r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h});1<=a&&h.dispatchEvent("dataAnimationEnd",{chart:h})},function(){h.disableToolTip=!1;h._animator.animate(0,
544
+ q.y1,q.width,q.height);for(var b=f[0].startAngle+2*Math.PI*a,c=0;c<n.length;c++){var e=0===c?f[c].startAngle:d,d=e+(f[c].endAngle-f[c].startAngle),g=!1;d>b&&(d=b,g=!0);var p=n[c].color?n[c].color:k._colorSet[c%k._colorSet.length];d>e&&sa(h.plotArea.ctx,f[c].center,f[c].radius,p,k.type,e,d,k.fillOpacity,f[c].percentInnerRadius);if(g)break}r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h});1<=a&&h.dispatchEvent("dataAnimationEnd",{chart:h})},function(){h.disableToolTip=!1;h._animator.animate(0,
545
545
  h.animatedRender?500:0,function(a){c(a,!1);r();h.dispatchEvent("dataAnimationIterationEnd",{chart:h})});h.dispatchEvent("dataAnimationEnd",{chart:h})});k.radius=z;"doughnut"===k.type&&(k.innerRadius=D)}}};var ta=function(a,g,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),Math.round(g.y2)),a.lineTo(Math.round(g.x3),Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),
546
- "undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};u.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<x.length;c++){if("undefined"===typeof x[c].y)return-1;x[c].y="number"===typeof x[c].y?x[c].y:0;a+=Math.abs(x[c].y)}if(0===a)return-1;for(c=b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=U,b=T,c=$,d=X,f,e;f=Z;e=
547
- ca-ea;d=Math.abs((e-f)*(b-a+(d-c))/2);c=X-$;f=e-f;e=c*(e-ca);e=Math.abs(e);e=d+e;for(var d=[],g=0,p=0;p<x.length;p++){if("undefined"===typeof x[p].y)return-1;x[p].y="number"===typeof x[p].y?x[p].y:0;g+=Math.abs(x[p].y)}if(0===g)return-1;for(var l=d[0]=0,k=0,m,r,b=b-a,l=!1,p=0;p<x.length;p++)a=Math.abs(x[p].y)*e/g,l?m=0==Number(c.toFixed(3))?0:a/c:(r=Y*Y*b*b-4*Math.abs(Y)*a,0>r?(r=c,l=(b+r)*(f-k)/2,a-=l,m=f-k,k+=f-k,m+=0==r?0:a/r,k+=a/r,l=!0):(m=(Math.abs(Y)*b-Math.sqrt(r))/2,r=b-2*m/Math.abs(Y),k+=
548
- m,k>f&&(k-=m,r=c,l=(b+r)*(f-k)/2,a-=l,m=f-k,k+=f-k,m+=a/r,k+=a/r,l=!0),b=r)),d.push(m);return d}function b(){if(t&&x){for(var a,b,c,d,e,g,p,k,m,r,n,h,q,s,w,A,y,K,z=[],B=[],P={percent:null,total:null},D=null,E=0;E<x.length;E++)K=N[E],K="undefined"!==typeof K.x5?(K.y2+K.y4)/2:(K.y2+K.y3)/2,K=f(K).x2+1,z[E]=O-(isNaN(K)?0:K)-W;K=0.5*W;for(var E=0,F=x.length-1;E<x.length||0<=F;E++,F--){b=t.reversed?x[F]:x[E];a=b.color?b.color:t.reversed?t._colorSet[(x.length-1-E)%t._colorSet.length]:t._colorSet[E%t._colorSet.length];
549
- c=b.indexLabelPlacement||t.indexLabelPlacement||"outside";y=b.indexLabelTextAlign||t.indexLabelTextAlign||"left";d=b.indexLabelBackgroundColor||t.indexLabelBackgroundColor||(v?"transparent":null);e=b.indexLabelBorderColor||t.indexLabelBorderColor||(v?"transparent":null);g=l(b.indexLabelBorderThickness)?t.indexLabelBorderThickness:b.indexLabelBorderThickness;p=l(b.indexLabelPadding)?t.options.indexLabelPadding?t.options.indexLabelPadding:t.indexLabelPadding:b.indexLabelPadding;k=b.indexLabelFontColor||
546
+ "undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};u.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<x.length;c++){if("undefined"===typeof x[c].y)return-1;x[c].y="number"===typeof x[c].y?x[c].y:0;a+=Math.abs(x[c].y)}if(0===a)return-1;for(c=b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=U,b=T,c=$,e=X,d,f;d=Z;f=
547
+ ca-ea;e=Math.abs((f-d)*(b-a+(e-c))/2);c=X-$;d=f-d;f=c*(f-ca);f=Math.abs(f);f=e+f;for(var e=[],g=0,p=0;p<x.length;p++){if("undefined"===typeof x[p].y)return-1;x[p].y="number"===typeof x[p].y?x[p].y:0;g+=Math.abs(x[p].y)}if(0===g)return-1;for(var l=e[0]=0,k=0,m,r,b=b-a,l=!1,p=0;p<x.length;p++)a=Math.abs(x[p].y)*f/g,l?m=0==Number(c.toFixed(3))?0:a/c:(r=Y*Y*b*b-4*Math.abs(Y)*a,0>r?(r=c,l=(b+r)*(d-k)/2,a-=l,m=d-k,k+=d-k,m+=0==r?0:a/r,k+=a/r,l=!0):(m=(Math.abs(Y)*b-Math.sqrt(r))/2,r=b-2*m/Math.abs(Y),k+=
548
+ m,k>d&&(k-=m,r=c,l=(b+r)*(d-k)/2,a-=l,m=d-k,k+=d-k,m+=a/r,k+=a/r,l=!0),b=r)),e.push(m);return e}function b(){if(t&&x){for(var a,b,c,e,d,g,p,k,m,r,n,h,q,s,w,A,y,K,z=[],B=[],P={percent:null,total:null},D=null,E=0;E<x.length;E++)K=N[E],K="undefined"!==typeof K.x5?(K.y2+K.y4)/2:(K.y2+K.y3)/2,K=f(K).x2+1,z[E]=O-(isNaN(K)?0:K)-W;K=0.5*W;for(var E=0,F=x.length-1;E<x.length||0<=F;E++,F--){b=t.reversed?x[F]:x[E];a=b.color?b.color:t.reversed?t._colorSet[(x.length-1-E)%t._colorSet.length]:t._colorSet[E%t._colorSet.length];
549
+ c=b.indexLabelPlacement||t.indexLabelPlacement||"outside";y=b.indexLabelTextAlign||t.indexLabelTextAlign||"left";e=b.indexLabelBackgroundColor||t.indexLabelBackgroundColor||(v?"transparent":null);d=b.indexLabelBorderColor||t.indexLabelBorderColor||(v?"transparent":null);g=l(b.indexLabelBorderThickness)?t.indexLabelBorderThickness:b.indexLabelBorderThickness;p=l(b.indexLabelPadding)?t.options.indexLabelPadding?t.options.indexLabelPadding:t.indexLabelPadding:b.indexLabelPadding;k=b.indexLabelFontColor||
550
550
  t.indexLabelFontColor||"#979797";m=l(b.indexLabelFontSize)?t.indexLabelFontSize:b.indexLabelFontSize;r=b.indexLabelFontStyle||t.indexLabelFontStyle||"normal";n=b.indexLabelFontFamily||t.indexLabelFontFamily||"arial";h=b.indexLabelFontWeight||t.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||t.options.indexLabelLineColor||a;q="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof t.indexLabelLineThickness?t.indexLabelLineThickness:2;s=b.indexLabelLineDashType||
551
551
  t.indexLabelLineDashType||"solid";w="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof t.indexLabelWrap?t.indexLabelWrap:!0;A=t.dataPointIds[E];u._eventManager.objectMap[A]={id:A,objectType:"dataPoint",dataPointIndex:E,dataSeriesIndex:0,funnelSection:N[t.reversed?x.length-1-E:E]};"inside"===t.indexLabelPlacement&&(z[E]=E!==fa?t.reversed?N[E].x2-N[E].x1:N[E].x3-N[E].x4:N[E].x3-N[E].x6,20>z[E]&&(z[E]=E!==fa?t.reversed?N[E].x3-N[E].x4:N[E].x2-N[E].x1:N[E].x2-N[E].x1,z[E]/=2));
552
552
  A=b.indexLabelMaxWidth?b.indexLabelMaxWidth:t.options.indexLabelMaxWidth?t.indexLabelMaxWidth:z[E];if(A>z[E]||0>A)A=z[E];B[E]="inside"===t.indexLabelPlacement?w?Math.max(N[E].height,m):1.5*m+("object"===typeof p?(p.top||0)+(p.bottom||0):2*p):!1;P=u.getPercentAndTotal(t,b);if(t.indexLabelFormatter||b.indexLabelFormatter)D={chart:u.options,dataSeries:t,dataPoint:b,total:P.total,percent:P.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(D):b.indexLabel?u.replaceKeywordsWithValue(b.indexLabel,b,
553
- t,E):t.indexLabelFormatter?t.indexLabelFormatter(D):t.indexLabel?u.replaceKeywordsWithValue(t.indexLabel,b,t,E):b.label?b.label:"";0>=q&&(q=0);1E3>A&&1E3-A<K&&(A+=1E3-A);l(t.options.indexLabelMaxWidth)&&(t.indexLabelMaxWidth=l(t.indexLabelMaxWidth)?A:Math.max(A,t.indexLabelMaxWidth));R.roundRect||Ba(R);c=new ka(R,{fontSize:m,fontFamily:n,fontColor:k,fontStyle:r,fontWeight:h,horizontalAlign:c,textAlign:y,backgroundColor:d,borderColor:e,borderThickness:g,maxWidth:A,maxHeight:!1===B[E]?(w?4.28571429*
554
- m:1.5*m)+("object"===typeof p?(p.top||0)+(p.bottom||0):2*p):B[E],text:b,padding:p,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;G.push({textBlock:c,id:t.reversed?F:E,isDirty:!1,lineColor:a,lineThickness:q,lineDashType:s,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,d,f,e=[];f=!1;c=0;for(var g,p=O-T-W/2,p=t.options.indexLabelMaxWidth?t.indexLabelMaxWidth>
555
- p?p:t.indexLabelMaxWidth:p,k=G.length-1;0<=k;k--){g=x[G[k].id];c=G[k];d=c.textBlock;b=(a=q(k)<N.length?G[q(k)]:null)?a.textBlock:null;c=c.height;a&&d.y+c+ga>b.y&&(f=!0);c=g.indexLabelMaxWidth||p;if(c>p||0>c)c=p;e.push(c)}if(f)for(k=G.length-1;0<=k;k--)a=N[k],G[k].textBlock.maxWidth=e[e.length-(k+1)],G[k].textBlock.measureText(),G[k].textBlock.height=G[k].textBlock.height===2*G[k].textBlock.padding?0:G[k].textBlock.height,G[k].textBlock.width=G[k].textBlock.width===2*G[k].textBlock.padding?0:G[k].textBlock.width,
556
- G[k].textBlock.x=O-p,c=G[k].textBlock.height<G[k].textBlock.maxHeight?G[k].textBlock.height:G[k].textBlock.maxHeight,f=G[k].textBlock.width<G[k].textBlock.maxWidth?G[k].textBlock.width:G[k].textBlock.maxWidth,G[k].height=c,G[k].width=f,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,G[k].textBlock.y=c-G[k].height/2,t.reversed?(G[k].textBlock.y+G[k].height>S+y&&(G[k].textBlock.y=S+y-G[k].height),G[k].textBlock.y<ua-y&&(G[k].textBlock.y=ua-y)):(G[k].textBlock.y<S-y&&(G[k].textBlock.y=S-y),G[k].textBlock.y+
557
- G[k].height>ua+y&&(G[k].textBlock.y=ua+y-G[k].height))}function d(){var a,b,c,d;if("inside"!==t.indexLabelPlacement)for(var e=0;e<N.length;e++)0==G[e].textBlock.text.length?G[e].isDirty=!0:(a=N[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=t.reversed?"undefined"!==typeof a.x5?c>ya?f(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ya?f(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,G[e].textBlock.x=b+W,G[e].textBlock.y=c-G[e].height/2,t.reversed?(G[e].textBlock.y+G[e].height>
558
- S+y&&(G[e].textBlock.y=S+y-G[e].height),G[e].textBlock.y<ua-y&&(G[e].textBlock.y=ua-y)):(G[e].textBlock.y<S-y&&(G[e].textBlock.y=S-y),G[e].textBlock.y+G[e].height>ua+y&&(G[e].textBlock.y=ua+y-G[e].height)));else for(e=0;e<N.length;e++)0==G[e].textBlock.text.length?G[e].isDirty=!0:(a=N[e],b=a.height,c=G[e].height,d=G[e].width,b>=c?(b=e!=fa?(a.x4+a.x3)/2-d/2:(a.x5+a.x4)/2-d/2,c=e!=fa?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,G[e].textBlock.x=b,G[e].textBlock.y=c):G[e].isDirty=!0)}function p(){function a(b,
553
+ t,E):t.indexLabelFormatter?t.indexLabelFormatter(D):t.indexLabel?u.replaceKeywordsWithValue(t.indexLabel,b,t,E):b.label?b.label:"";0>=q&&(q=0);1E3>A&&1E3-A<K&&(A+=1E3-A);l(t.options.indexLabelMaxWidth)&&(t.indexLabelMaxWidth=l(t.indexLabelMaxWidth)?A:Math.max(A,t.indexLabelMaxWidth));R.roundRect||Ba(R);c=new ka(R,{fontSize:m,fontFamily:n,fontColor:k,fontStyle:r,fontWeight:h,horizontalAlign:c,textAlign:y,backgroundColor:e,borderColor:d,borderThickness:g,maxWidth:A,maxHeight:!1===B[E]?(w?4.28571429*
554
+ m:1.5*m)+("object"===typeof p?(p.top||0)+(p.bottom||0):2*p):B[E],text:b,padding:p,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;G.push({textBlock:c,id:t.reversed?F:E,isDirty:!1,lineColor:a,lineThickness:q,lineDashType:s,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,e,d,f=[];d=!1;c=0;for(var g,p=O-T-W/2,p=t.options.indexLabelMaxWidth?t.indexLabelMaxWidth>
555
+ p?p:t.indexLabelMaxWidth:p,k=G.length-1;0<=k;k--){g=x[G[k].id];c=G[k];e=c.textBlock;b=(a=q(k)<N.length?G[q(k)]:null)?a.textBlock:null;c=c.height;a&&e.y+c+ga>b.y&&(d=!0);c=g.indexLabelMaxWidth||p;if(c>p||0>c)c=p;f.push(c)}if(d)for(k=G.length-1;0<=k;k--)a=N[k],G[k].textBlock.maxWidth=f[f.length-(k+1)],G[k].textBlock.measureText(),G[k].textBlock.height=G[k].textBlock.height===2*G[k].textBlock.padding?0:G[k].textBlock.height,G[k].textBlock.width=G[k].textBlock.width===2*G[k].textBlock.padding?0:G[k].textBlock.width,
556
+ G[k].textBlock.x=O-p,c=G[k].textBlock.height<G[k].textBlock.maxHeight?G[k].textBlock.height:G[k].textBlock.maxHeight,d=G[k].textBlock.width<G[k].textBlock.maxWidth?G[k].textBlock.width:G[k].textBlock.maxWidth,G[k].height=c,G[k].width=d,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,G[k].textBlock.y=c-G[k].height/2,t.reversed?(G[k].textBlock.y+G[k].height>S+y&&(G[k].textBlock.y=S+y-G[k].height),G[k].textBlock.y<ua-y&&(G[k].textBlock.y=ua-y)):(G[k].textBlock.y<S-y&&(G[k].textBlock.y=S-y),G[k].textBlock.y+
557
+ G[k].height>ua+y&&(G[k].textBlock.y=ua+y-G[k].height))}function d(){var a,b,c,e;if("inside"!==t.indexLabelPlacement)for(var d=0;d<N.length;d++)0==G[d].textBlock.text.length?G[d].isDirty=!0:(a=N[d],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=t.reversed?"undefined"!==typeof a.x5?c>ya?f(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ya?f(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,G[d].textBlock.x=b+W,G[d].textBlock.y=c-G[d].height/2,t.reversed?(G[d].textBlock.y+G[d].height>
558
+ S+y&&(G[d].textBlock.y=S+y-G[d].height),G[d].textBlock.y<ua-y&&(G[d].textBlock.y=ua-y)):(G[d].textBlock.y<S-y&&(G[d].textBlock.y=S-y),G[d].textBlock.y+G[d].height>ua+y&&(G[d].textBlock.y=ua+y-G[d].height)));else for(d=0;d<N.length;d++)0==G[d].textBlock.text.length?G[d].isDirty=!0:(a=N[d],b=a.height,c=G[d].height,e=G[d].width,b>=c?(b=d!=fa?(a.x4+a.x3)/2-e/2:(a.x5+a.x4)/2-e/2,c=d!=fa?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,G[d].textBlock.x=b,G[d].textBlock.y=c):G[d].isDirty=!0)}function p(){function a(b,
559
559
  c){var d;if(0>b||b>=G.length)return 0;var e,f=G[b].textBlock;if(0>c){c*=-1;e=m(b);d=r(e,b);if(d>=c)return f.y-=c,c;if(0==b)return 0<d&&(f.y-=d),d;d+=a(e,-(c-d));0<d&&(f.y-=d);return d}e=q(b);d=r(b,e);if(d>=c)return f.y+=c,c;if(b==N.length-1)return 0<d&&(f.y+=d),d;d+=a(e,c-d);0<d&&(f.y+=d);return d}function b(){var a,d,e,f,g=0,k;f=(ca-Z+2*y)/l;k=l;for(var p,r=1;r<k;r++){e=r*f;for(var h=G.length-1;0<=h;h--)!G[h].isDirty&&(G[h].textBlock.y<e&&G[h].textBlock.y+G[h].height>e)&&(p=q(h),!(p>=G.length-1)&&
560
560
  G[h].textBlock.y+G[h].height+ga>G[p].textBlock.y&&(G[h].textBlock.y=G[h].textBlock.y+G[h].height-e>e-G[h].textBlock.y?e+1:e-G[h].height-1))}for(p=N.length-1;0<p;p--)if(!G[p].isDirty){e=m(p);if(0>e&&(e=0,G[e].isDirty))break;if(G[p].textBlock.y<G[e].textBlock.y+G[e].height){d=d||p;f=p;for(k=0;G[f].textBlock.y<G[e].textBlock.y+G[e].height+ga;){a=a||G[f].textBlock.y+G[f].height;k+=G[f].height;k+=ga;f=e;if(0>=f){f=0;k+=G[f].height;break}e=m(f);if(0>e){f=0;k+=G[f].height;break}}if(f!=p){g=G[f].textBlock.y;
561
561
  a-=g;a=k-a;g=c(a,d,f);break}}}return g}function c(a,b,d){var e=[],f=0,g=0;for(a=Math.abs(a);d<=b;d++)e.push(N[d]);e.sort(function(a,b){return a.height-b.height});for(d=0;d<e.length;d++)if(b=e[d],f<a)g++,f+=G[b.id].height+ga,G[b.id].textBlock.text="",G[b.id].indexLabelText="",G[b.id].isDirty=!0,G[b.id].textBlock.measureText();else break;return g}for(var d,e,f,g,k,p,l=1,n=0;n<2*l;n++){for(var h=G.length-1;0<=h&&!(0<=m(h)&&m(h),f=G[h],g=f.textBlock,p=(k=q(h)<N.length?G[q(h)]:null)?k.textBlock:null,d=
@@ -631,273 +631,274 @@ a=new ka(this.ctx,{x:0,y:0,maxWidth:d,backgroundColor:this.labelBackgroundColor,
631
631
  textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)h=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):
632
632
  Math.abs(this.range))*F[this.intervalType+"Duration"]*this.interval,d="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(p="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding));else if("left"===this._position||"right"===this._position)h=this.logarithmic&&!this.equidistantInterval&&
633
633
  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))*F[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(d="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>
634
- 0:this.options.labelMaxWidth),p="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=d;a.maxHeight=p;var u=a.measureText();s=u.height}e=[];q=m=0;if(this.labelAutoFit||this.options.labelAutoFit)if(l(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-=
635
- 360)),"bottom"===this._position||"top"===this._position)if(d=Math.floor(0.9*h),q=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=d;this.sessionVariables.labelMaxHeight=p;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 A,f=a.text.split(" "),b=0;b<f.length;b++)n=
636
- f[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),n.width>q&&(A=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;u=a.measureText();for(f=c+1;f<this._labels.length;f++)if(!this._labels[f].breaksLabelType){g=this._labels[f].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,
637
- e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=d*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(p-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(l(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?p:Math.min((b-d*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=(k-(s+a.fontSize/
638
- 2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!l(this.options.labelWrap))this.labelWrap?l(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(d,q),n),this.sessionVariables.labelWrap=this.labelWrap,g&&u.width+g.width>>0>2*d&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>
639
- d?-25:this.sessionVariables.labelAngle):l(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelMaxWidth=d,g&&u.width+g.width>>0>2*d&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>d?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=
640
- p,this.sessionVariables.labelWrap=this.labelWrap);else{if(l(this.options.labelWrap))if(!l(this.options.labelMaxWidth))this.options.labelMaxWidth<d?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=p);else if(!l(g))if(b=u.width+g.width>>0,f=this.labelFontSize,q<d)b-2*d>m&&(m=b-2*d,b>=2*d&&b<2.2*d?(this.sessionVariables.labelMaxWidth=
641
- d,l(this.options.labelFontSize)&&12<f&&(f=Math.floor(12/13*f),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*d&&b<2.8*d?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=f):b>=2.8*d&&b<3.2*d?(this.sessionVariables.labelMaxWidth=Math.max(d,q),this.sessionVariables.labelWrap=!0,l(this.options.labelFontSize)&&12<this.labelFontSize&&
642
- (this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*d&&b<3.6*d?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*d&&b<5*d?(l(this.options.labelFontSize)&&12<f&&(f=Math.floor(12/13*f),a.measureText()),this.sessionVariables.labelFontSize=
643
- l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n):b>5*d&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=d,this.sessionVariables.labelFontSize=f,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelAngle=this.labelAngle));else if(A===c&&(0===A&&q+this._labels[A+1].textBlock.measureText().width-2*d>m||A===this._labels.length-1&&q+this._labels[A-
644
- 1].textBlock.measureText().width-2*d>m||0<A&&A<this._labels.length-1&&q+this._labels[A+1].textBlock.measureText().width-2*d>m&&q+this._labels[A-1].textBlock.measureText().width-2*d>m))m=0===A?q+this._labels[A+1].textBlock.measureText().width-2*d:q+this._labels[A-1].textBlock.measureText().width-2*d,this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
645
- n;else if(0===m)for(this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f: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(d,q),n),u=a.measureText(),b<this._labels.length-1&&(f=b+1,g=this._labels[f].textBlock,g.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(d,q),n),g=g.measureText(),u.width+g.width>>0>2*d&&(this.sessionVariables.labelAngle=
646
- -25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?p:Math.min((b-d*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=0!=this.labelAngle?(k-(s+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):d,this.sessionVariables.labelMaxHeight=this.labelWrap?(k-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):
647
- 1.5*this.labelFontSize,l(this.options.labelWrap))?l(this.options.labelWrap)&&(this.labelWrap&&!l(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelMaxHeight=p):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=Math.max(b,0.9*h),this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?
648
- (this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n):(l(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=p)}this.sessionVariables.labelMaxHeight=Math.max(this.sessionVariables.labelMaxHeight,1.5*this.labelFontSize);for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,
649
- 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,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=l(this.options.labelMaxWidth)?l(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=d:this.sessionVariables.labelMaxWidth:
650
- this.options.labelMaxWidth,a.fontSize=this.labelFontSize=l(this.options.labelFontSize)?l(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=l(this.options.labelAngle)?l(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=l(this.options.labelWrap)?l(this.sessionVariables.labelWrap)?
651
- this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=l(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=p:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(d=l(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,p="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&
652
- 1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=d;this.sessionVariables.labelMaxHeight=p;this.sessionVariables.labelAngle=l(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;u=a.measureText();for(f=c+1;f<this._labels.length;f++)if(!this._labels[f].breaksLabelType){g=this._labels[f].textBlock;
653
- g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=d*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(p-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));l(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?l(this.options.labelWrap)?l(this.options.labelWrap)&&(l(this.options.labelMaxWidth)?l(g)||(h=u.height+
654
- g.height>>0,h-2*p>q&&(q=h-2*p,h>=2*p&&h<2.4*p?(l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):h>=2.4*p&&h<2.8*p?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):h>=2.8*p&&h<3.2*p?(this.sessionVariables.labelMaxHeight=
655
- p,this.sessionVariables.labelWrap=!0,l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=l(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>=3.2*p&&h<3.6*p?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=
656
- this.labelFontSize):h>3.6*p&&h<10*p?(l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=d,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelAngle=l(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>10*p&&h<50*p&&(l(this.options.labelFontSize)&&
657
- 12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelMaxWidth=d,this.sessionVariables.labelAngle=l(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
658
- this.sessionVariables.labelMaxWidth)):(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:d,this.sessionVariables.labelMaxHeight=p):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?d:Math.min((b-p*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/
659
- Math.cos(Math.PI/180*Math.abs(this.labelAngle)),p),l(this.options.labelWrap))?l(this.options.labelWrap)&&(this.labelWrap&&!l(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:d,this.sessionVariables.labelMaxHeight=0===
660
- this.labelAngle?p:b,l(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?p:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=d):(this.sessionVariables.labelMaxHeight=p,l(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=
661
- 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=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(l(this.chart.stockChart)||this.chart.isNavigator||(this.sessionVariables.labelMaxHeight=p),c=0;c<this._labels.length;c++)a=
662
- this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=l(this.options.labelMaxWidth)?l(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=d:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=l(this.options.labelFontSize)?l(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=l(this.options.labelAngle)?l(this.sessionVariables.labelAngle)?
663
- this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=l(this.options.labelWrap)?l(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=l(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=p:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var d=this.stripLines[c],y;d.labelFontSize=
664
- "outside"===d.labelPlacement&&l(d.options.labelFontSize)?this.labelFontSize:d.labelFontSize;d.labelFontFamily="outside"===d.labelPlacement&&l(d.options.labelFontFamily)?this.labelFontFamily:d.labelFontFamily;d.labelFontWeight="outside"===d.labelPlacement&&l(d.options.labelFontWeight)?this.labelFontWeight:d.labelFontWeight;d.labelFontStyle="outside"===d.labelPlacement&&l(d.options.labelFontStyle)?this.labelFontStyle:d.labelFontStyle;if("outside"===d.labelPlacement){p=this.sessionVariables.labelMaxWidth;
665
- if("bottom"===this._position||"top"===this._position)l(d.options.labelWrap)&&!l(this.sessionVariables.stripLineLabelMaxHeight)?y=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=y=d.labelWrap?0.8*this.chart.height>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?(d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding);if("left"===this._position||"right"===this._position)l(d.options.labelWrap)&&!l(this.sessionVariables.stripLineLabelMaxHeight)?
666
- y=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=y=d.labelWrap?0.8*this.chart.width>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?(d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding);l(d.labelBackgroundColor)&&(d.labelBackgroundColor="#EEEEEE")}else p="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,y=l(d.options.labelWrap)||d.labelWrap?"bottom"===this._position||"top"===this._position?
667
- 0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?(d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding),l(d.labelBackgroundColor)&&(l(d.startValue)&&0!==d.startValue?d.labelBackgroundColor=v?"transparent":null:d.labelBackgroundColor="#EEEEEE");a=new ka(this.ctx,{x:0,y:0,backgroundColor:d.labelBackgroundColor,borderColor:d.labelBorderColor,borderThickness:d.labelBorderThickness,cornerRadius:d.labelCornerRadius,maxWidth:d.options.labelMaxWidth?
668
- d.options.labelMaxWidth:p,maxHeight:y,angle:this.labelAngle,text:d.labelFormatter?d.labelFormatter({chart:this.chart,axis:this,stripLine:d}):d.label,textAlign:d.labelTextAlign,fontSize:d.labelFontSize,fontFamily:d.labelFontFamily,fontWeight:d.labelFontWeight,fontColor:d.labelFontColor||d.color,fontStyle:d.labelFontStyle,textBaseline:"middle",padding:d.labelPadding});this._stripLineLabels.push({position:d.value,textBlock:a,effectiveHeight:null,stripLine:d})}};y.prototype.createLabelsAndCalculateWidth=
669
- function(){var a=0,g=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=l(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(g=0;g<this._labels.length;g++){var d=this._labels[g].textBlock,d=d.measureText(),p=0,p=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=p&&(this.labelEffectiveWidth=
670
- a=p);this._labels[g].effectiveWidth=p}for(g=0;g<this._stripLineLabels.length;g++)"outside"===this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[g].stripLine.value<=this.viewportMaximum)&&(d=this._stripLineLabels[g].textBlock,d=d.measureText(),p=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[g].stripLine.tickLength),
671
- "inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(p,0<b.length?Math.max.apply(null,b):p)),a<=p&&(a=p),this.stripLineLabelEffectiveWidth=this._stripLineLabels[g].effectiveWidth=p,b.push(p));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?c+this.tickLength:Math.max(c,this.tickLength))+e};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=
672
- [];var g=0,c,b=0,e=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:5;this.labelEffectiveHeight=l(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;var d=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++){c=this._labels[b].textBlock;c=c.measureText();var p=0,p=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+
673
- c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=p&&(this.labelEffectiveHeight=a=p);this._labels[b].effectiveHeight=p}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),p=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+
674
- c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),g=Math.max(g,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<d.length?Math.max.apply(null,d):0,a+=Math.max(p,0<d.length?Math.max.apply(null,d):p)),a<=p&&(a=p),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=p,d.push(p));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?g+this.tickLength:Math.max(g,
675
- this.tickLength))+e};y.setLayout=function(a,g,c,b,e,d){var p,h,s,k,n=a[0]?a[0].chart:g[0].chart,m=n.isNavigator?0:10,q=n._axes;if(a&&0<a.length)for(var f=0;f<a.length;f++)a[f]&&a[f].calculateAxisParameters();if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateAxisParameters();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateAxisParameters();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateAxisParameters();for(f=0;f<q.length;f++)if(q[f]&&q[f].scaleBreaks&&q[f].scaleBreaks._appliedBreaks.length)for(var v=
676
- q[f].scaleBreaks._appliedBreaks,u=0;u<v.length&&!(v[u].startValue>q[f].viewportMaximum);u++)v[u].endValue<q[f].viewportMinimum||(l(q[f].scaleBreaks.firstBreakIndex)&&(q[f].scaleBreaks.firstBreakIndex=u),v[u].startValue>=q[f].viewPortMinimum&&(q[f].scaleBreaks.lastBreakIndex=u));for(var y=u=0,t=0,x=0,w=0,z=0,B=0,D,F,H=h=0,I,M,L,v=I=M=L=!1,f=0;f<q.length;f++)q[f]&&q[f].title&&(q[f]._titleTextBlock=new ka(q[f].ctx,{text:q[f].title,fontSize:q[f].titleFontSize,fontFamily:q[f].titleFontFamily,fontWeight:q[f].titleFontWeight,
677
- fontColor:q[f].titleFontColor,fontStyle:q[f].titleFontStyle,borderColor:q[f].titleBorderColor,borderThickness:q[f].titleBorderThickness,backgroundColor:q[f].titleBackgroundColor,cornerRadius:q[f].titleCornerRadius,textBaseline:"middle",textAlign:q[f].titleTextAlign,padding:q[f].titlePadding}));for(f=0;f<q.length;f++)if(q[f].title){var J=1.5*q[f].titleFontSize+("object"===typeof q[f].titlePadding?(q[f].titlePadding.top||0)+(q[f].titlePadding.bottom||0):2*q[f].titlePadding);q[f]._titleTextBlock.maxWidth=
678
- q[f].titleMaxWidth||d.height;q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*d.width:Math.min(J,0.8*d.width);switch(q[f]._position){case "left":q[f]._titleTextBlock.angle=-90;break;case "right":q[f]._titleTextBlock.angle=90;break;default:q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||d.width,q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*d.height:Math.min(J,0.8*d.height),q[f]._titleTextBlock.angle=0}}if("normal"===e){for(var x=[],w=[],z=[],B=[],O=[],R=[],S=[],E=[];4>u;){var W=0,V=0,U=0,T=
679
- 0,$=J=e=0,aa=0,X=0,Y=0,N=p=0;if(c&&0<c.length)for(z=[],f=p=0;f<c.length;f++)z.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateWidth():0)),p+=z[f],$+=c[f]&&!n.isNavigator?c[f].margin:0;else z.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));S.push(z);if(b&&0<b.length)for(B=[],f=N=0;f<b.length;f++)B.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateWidth():0)),N+=B[f],aa+=b[f]?b[f].margin:0;else B.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));E.push(B);p=Math.round(d.x1+p+
680
- $-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5);s=Math.round(Math.min(d.x2-N-aa+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),n.width-m));if(a&&0<a.length)for(x=[],f=X=0;f<a.length;f++)a[f]&&
681
- (a[f].lineCoordinates={}),a[f].lineCoordinates.width=Math.abs(s-p),a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.width?a[f].titleMaxWidth:a[f].lineCoordinates.width),x.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateHeight():0)),X+=x[f],e+=a[f]&&!n.isNavigator?a[f].margin:0;else x.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));O.push(x);if(g&&0<g.length)for(w=[],f=Y=0;f<g.length;f++)g[f]&&(g[f].lineCoordinates={}),g[f].lineCoordinates.width=
682
- Math.abs(s-p),g[f].title&&(g[f]._titleTextBlock.maxWidth=0<g[f].titleMaxWidth&&g[f].titleMaxWidth<g[f].lineCoordinates.width?g[f].titleMaxWidth:g[f].lineCoordinates.width),w.push(Math.ceil(g[f]?g[f].createLabelsAndCalculateHeight():0)),Y+=w[f],J+=g[f]&&!n.isNavigator?g[f].margin:0;else w.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateHeight():0));R.push(w);if(a&&0<a.length){for(f=0;f<a.length;f++){if(a[f]){a[f].lineCoordinates.x1=p;s=Math.round(Math.min(d.x2-N-aa+(b[0]?("inside"===b[0].labelPlacement?
683
- b[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5),n.width-m));if(a[f]._labels&&1<a[f]._labels.length){var Q=h=0;h=a[f]._labels[1];Q="dateTime"===a[f].valueType?a[f]._labels[a[f]._labels.length-2]:a[f]._labels[a[f]._labels.length-1];y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-
684
- h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle));t=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+Q.textBlock.height*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle))}!a[f]||(!a[f].labelAutoFit||l(D)||l(F)||n.isNavigator||n.stockChart)||(h=0,0<a[f].labelAngle?(k=t-(Q.textBlock.height-Q.textBlock._lineHeight/2)*Math.sin(Math.PI/180*Q.textBlock.angle),F+k>s&&(a[f].convertPixelToValue(F)>=a[f].viewportMinimum&&a[f].convertPixelToValue(F)<=a[f].viewportMaximum)&&
685
- (h+=F+k-s-N)):0>a[f].labelAngle?D-y<p&&D-y<a[f].viewportMinimum&&(H=p-($+a[f].tickLength+z+D-y+a[f].labelFontSize/2)):0===a[f].labelAngle&&(F+t>s&&(a[f].convertPixelToValue(F)>=a[f].viewportMinimum&&a[f].convertPixelToValue(F)<=a[f].viewportMaximum)&&(h=F+t/2-s-N),D-y<p&&D-y<a[f].viewportMinimum&&(H=p-$-a[f].tickLength-z-D+y/2)),a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0<a[f].labelAngle&&0<h?s-=h:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&
686
- 0>a[f].labelAngle&&0<H?p+=H:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0===a[f].labelAngle&&(0<H&&(p+=H),0<h&&(s-=h)));n.panEnabled?X=l(n.sessionVariables.axisX.height)||n.stockChart?n.sessionVariables.axisX.height=X:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=X;h=Math.round(d.y2-X-e+W)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5);k=Math.round(d.y2)-("inside"!==a[a.length-
687
- 1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5);a[f].lineCoordinates.x2=s;a[f].lineCoordinates.width=s-p;a[f].lineCoordinates.y1=h;a[f].lineCoordinates.y2=h;a[f].bounds={x1:p,y1:h,x2:s,y2:k-(X+e-x[f]-W),width:s-p};a[f].bounds.height=a[f].bounds.y2-a[f].bounds.y1;"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.y1=a[0].bounds.y1+W+(a[f].labelEffectiveHeight||0)+(n.isNavigator?0:2),a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/
688
- 2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.y1+=a[f].tickLength,a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2)}W+=x[f]+a[f].margin}$=0===a[0].dataSeries.length;if(!$)for(f=0;f<a[0].dataSeries.length;f++){if(a[0].dataSeries[f].dataPoints){$=!1;break}$=!0}if($)for($=!1,f=1;f<a.length;f++)0!==a[f].dataSeries.length&&($?a[f].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2,
689
- $=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].lineCoordinates.x1=p,g[f].lineCoordinates.x2=s,g[f].lineCoordinates.width=Math.abs(s-p),g[f]._labels&&1<g[f]._labels.length&&(h=g[f]._labels[1],Q="dateTime"===g[f].valueType?g[f]._labels[g[f]._labels.length-2]:g[f]._labels[g[f]._labels.length-1],y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/
690
- 180*Math.abs(h.textBlock.angle)),t=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+(Q.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle))),n.panEnabled?Y=l(n.sessionVariables.axisX2.height)||n.stockChart?n.sessionVariables.axisX2.height=Y:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=Y,h=Math.round(d.y1)+("inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||n.isNavigator?
691
- 0:5),k=g[f].lineCoordinates.y1=h+Y+J-V,g[f].lineCoordinates.y2=h,g[f].bounds={x1:p,y1:h+(Y+J-w[f]-V),x2:s,y2:k,width:s-p},g[f].bounds.height=g[f].bounds.y2-g[f].bounds.y1,"inside"===g[f].labelPlacement&&(g[f].lineCoordinates.y1=g[0].bounds.y2-V-(g[f].labelEffectiveHeight||0)-5),"inside"===g[f].tickPlacement&&(g[f].lineCoordinates.y1-=g[f].tickLength),V+=w[f]+g[f].margin;if(c&&0<c.length)for(f=0;f<c.length;f++)$=n.isNavigator?0:10,c[f]&&(p=s=Math.round((a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1)+
692
- (c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),$=Math.max(c[f]._labels&&0<c[f]._labels.length?c[f]._labels[c[f]._labels.length-1].textBlock._lineHeight/2:m,m),h=Math.round(Math.max(d.y1+Y+J-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+5:0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),0<g.length?0:$))+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-
693
- 1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),$=0<a.length?0:c[f]._labels&&0<c[f]._labels.length?c[f]._labels[0].textBlock.height/2:m,k=Math.round(d.y2-X+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(n.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-e-$)-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),c[f].lineCoordinates={x1:p-U,y1:h,x2:s-U,y2:k,height:Math.abs(k-
694
- h)},c[f].bounds={x1:p-(z[f]+U),y1:h,x2:s-U,y2:k,height:k-h},c[f].bounds.width=c[f].bounds.x2-c[f].bounds.x1,"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.x1=Math.round(c[0].bounds.x1+z[0]-U-(c[f].labelEffectiveWidth||0)-5),c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.x1-=c[f].tickLength,c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&
695
- c[f].titleMaxWidth<c[f].lineCoordinates.height?c[f].titleMaxWidth:c[f].lineCoordinates.height),U+=z[f]+c[f].margin);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&(p=s=Math.round((a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2)-(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)),$=Math.max(b[f]._labels&&0<b[f]._labels.length?b[f]._labels[b[f]._labels.length-1].textBlock.height/2:0,m),h=Math.round(Math.max(d.y1+
696
- Y+J-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),0<g.length?0:$)),$=0<a.length?0:b[f]._labels&&0<b[f]._labels.length?b[f]._labels[0].textBlock.height/2:0,k=Math.round(d.y2-(X+e+$)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(n.isNavigator?0:2):0)+("inside"===
697
- a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),b[f].lineCoordinates={x1:p+T,y1:h,x2:p+T,y2:k,height:Math.abs(k-h)},b[f].bounds={x1:p+T,y1:h,x2:s+B[f]+T,y2:k,height:k-h},b[f].bounds.width=b[f].bounds.x2-b[f].bounds.x1,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.x1=Math.round(b[0].bounds.x1+T+(b[f].labelEffectiveWidth||0)+(n.isNavigator?0:5)),b[f].lineCoordinates.x2=
698
- b[f].lineCoordinates.x1+b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.x1+=b[f].tickLength,b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.height?b[f].titleMaxWidth:b[f].lineCoordinates.height),T+=B[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++)a[f]&&(a[f].calculateValueToPixelConversionParameters(),a[f].calculateBreaksSizeInValues(),
699
- a[f]._labels&&1<a[f]._labels.length&&(D=(a[f].logarithmic?Math.log(a[f]._labels[1].position/a[f].viewportMinimum)/a[f].conversionParameters.lnLogarithmBase:a[f]._labels[1].position-a[f].viewportMinimum)*Math.abs(a[f].conversionParameters.pixelPerUnit)+a[f].lineCoordinates.x1,p=a[f]._labels[a[f]._labels.length-("dateTime"===a[f].valueType?2:1)].position,p=a[f].getApparentDifference(a[f].viewportMinimum,p),F=a[f].logarithmic?(1<p?Math.log(p)/a[f].conversionParameters.lnLogarithmBase*Math.abs(a[f].conversionParameters.pixelPerUnit):
700
- 0)+a[f].lineCoordinates.x1:(0<p?p*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1));if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateValueToPixelConversionParameters(),g[f].calculateBreaksSizeInValues(),g[f]._labels&&1<g[f]._labels.length&&(D=(g[f].logarithmic?Math.log(g[f]._labels[1].position/g[f].viewportMinimum)/g[f].conversionParameters.lnLogarithmBase:g[f]._labels[1].position-g[f].viewportMinimum)*Math.abs(g[f].conversionParameters.pixelPerUnit)+g[f].lineCoordinates.x1,
701
- p=g[f]._labels[g[f]._labels.length-("dateTime"===g[f].valueType?2:1)].position,p=g[f].getApparentDifference(g[f].viewportMinimum,p),F=g[f].logarithmic?(1<p?Math.log(p)/g[f].conversionParameters.lnLogarithmBase*Math.abs(g[f].conversionParameters.pixelPerUnit):0)+g[f].lineCoordinates.x1:(0<p?p*Math.abs(g[f].conversionParameters.pixelPerUnit):0)+g[f].lineCoordinates.x1);for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<
702
- u){if(a&&0<a.length)for(f=0;f<a.length;f++)v=O[u-1][f]===O[u][f]?!0:!1;else v=!0;if(g&&0<g.length)for(f=0;f<g.length;f++)I=R[u-1][f]===R[u][f]?!0:!1;else I=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)M=S[u-1][f]===S[u][f]?!0:!1;else M=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)L=E[u-1][f]===E[u][f]?!0:!1;else L=!0}if(v&&I&&M&&L)break;u++}if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateStripLinesThicknessInValues(),
703
- g[f].calculateBreaksInPixels();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels()}else{m=[];D=[];H=[];y=[];t=[];F=[];O=[];for(R=[];4>u;){X=T=U=aa=$=J=e=E=S=V=Y=0;if(a&&0<a.length)for(H=[],f=T=0;f<a.length;f++)H.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateWidth():0)),T+=H[f],e+=a[f]&&!n.isNavigator?a[f].margin:0;else H.push(Math.ceil(a[0]?
704
- a[0].createLabelsAndCalculateWidth():0));O.push(H);if(g&&0<g.length)for(y=[],f=X=0;f<g.length;f++)y.push(Math.ceil(g[f]?g[f].createLabelsAndCalculateWidth():0)),X+=y[f],J+=g[f]?g[f].margin:0;else y.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateWidth():0));R.push(y);if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].lineCoordinates={},p=Math.round(d.x1+T+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||
705
- "inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5),s=Math.round(Math.min(d.x2-X-J+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5),n.width-10)),c[f].labelAutoFit&&!l(x)&&(0<!a.length&&(p=0>c[f].labelAngle?
706
- Math.max(p,x):0===c[f].labelAngle?Math.max(p,x/2):p),0<!g.length&&(s=0<c[f].labelAngle?s-w/2:0===c[f].labelAngle?s-w/2:s)),c[f].lineCoordinates.x1=p,c[f].lineCoordinates.x2=s,c[f].lineCoordinates.width=Math.abs(s-p),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].lineCoordinates={},p=Math.round(d.x1+T+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+
707
- (n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5),s=Math.round(Math.min(d.x2-X-J+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||
708
- n.isNavigator?0:5),b[f].chart.width-10)),b[f]&&b[f].labelAutoFit&&!l(z)&&(0<!a.length&&(p=0<b[f].labelAngle?Math.max(p,z):0===b[f].labelAngle?Math.max(p,z/2):p),0<!g.length&&(s-=B/2)),b[f].lineCoordinates.x1=p,b[f].lineCoordinates.x2=s,b[f].lineCoordinates.width=Math.abs(s-p),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width);if(c&&0<c.length)for(m=[],f=U=0;f<c.length;f++)m.push(Math.ceil(c[f]?
709
- c[f].createLabelsAndCalculateHeight():0)),U+=m[f]+c[f].margin,$+=c[f].margin;else m.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));t.push(m);if(b&&0<b.length)for(D=[],f=0;f<b.length;f++)D.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateHeight():0)),aa+=b[f].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));F.push(D);if(c&&0<c.length)for(f=0;f<c.length;f++)0<c[f]._labels.length&&(h=c[f]._labels[0],Q=c[f]._labels[c[f]._labels.length-1],x=h.textBlock.width*Math.cos(Math.PI/
710
- 180*Math.abs(h.textBlock.angle))+(h.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),w=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+(Q.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle)));if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&0<b[f]._labels.length&&(h=b[f]._labels[0],Q=b[f]._labels[b[f]._labels.length-1],z=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-
711
- Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),B=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+(Q.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle)));if(n.panEnabled)for(f=0;f<c.length;f++)m[f]=l(n.sessionVariables.axisY[f].height)?n.sessionVariables.axisY[f].height=m[f]:n.sessionVariables.axisY[f].height;else for(f=0;f<c.length;f++)n.sessionVariables.axisY[f].height=m[f];if(c&&0<c.length)for(f=c.length-1;0<=
712
- f;f--)h=Math.round(d.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),k=Math.round(d.y2>c[f].chart.height?c[f].chart.height:d.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),c[f].lineCoordinates.y1=h-(m[f]+c[f].margin+Y),c[f].lineCoordinates.y2=h-(m[f]+c[f].margin+Y),"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.y1=c[f].lineCoordinates.y1+
713
- c[f].labelEffectiveHeight+(n.isNavigator?0:2),c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.y1+=c[f].tickLength,c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),c[f].bounds={x1:p,y1:h-(m[f]+Y+c[f].margin),x2:s,y2:k-(Y+c[f].margin),width:s-p,height:m[f]},c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width),
714
- Y+=m[f]+c[f].margin;if(b&&0<b.length)for(f=b.length-1;0<=f;f--)b[f]&&(h=Math.round(d.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),k=Math.round(d.y1+(D[f]+b[f].margin+V))+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),b[f].lineCoordinates.y1=k,b[f].lineCoordinates.y2=k,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.y1=k-b[f].labelEffectiveHeight-
715
- 5,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.y1-=b[f].tickLength,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),b[f].bounds={x1:p,y1:h+(b[f].margin+V),x2:s,y2:k,width:s-p},b[f].bounds.height=b[f].bounds.y2-b[f].bounds.y1,b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width),V+=D[f]+b[f].margin);
716
- if(a&&0<a.length)for(f=0;f<a.length;f++){$=a[f]._labels&&0<a[f]._labels.length?a[f]._labels[0].textBlock.fontSize/2:0;p=Math.round(d.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max($,10)?Math.max($,10):d.y1):d.y1<Math.max($,10)?Math.max($,10):d.y1;s=Math.round(d.x1+T+e);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:d.y2-U>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2-U):d.y2>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2;if(c&&0<c.length)for(Q=0;Q<
717
- c.length;Q++)c[Q]&&c[Q].labelAutoFit&&(s=c[Q].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),p=0>c[Q].labelAngle||0===c[Q].labelAngle?s-T:p);if(b&&0<b.length)for(Q=0;Q<b.length;Q++)b[Q]&&b[Q].labelAutoFit&&(s=b[Q].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),p=s-T);a[f].lineCoordinates=
718
- {x1:s-S,y1:h,x2:s-S,y2:k,height:Math.abs(k-h)};"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.x1=a[f].lineCoordinates.x1-a[f].labelEffectiveWidth-5,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.x1-=a[f].tickLength,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);a[f].bounds={x1:s-(H[f]+S),y1:h,x2:s-S,y2:k,height:k-h};a[f].bounds.width=a[f].bounds.x2-a[f].bounds.x1;a[f].title&&(a[f]._titleTextBlock.maxWidth=
719
- 0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.height?a[f].titleMaxWidth:a[f].lineCoordinates.height);a[f].calculateValueToPixelConversionParameters();a[f].calculateBreaksSizeInValues();S+=H[f]+a[f].margin}if(g&&0<g.length)for(f=0;f<g.length;f++){$=g[f]._labels&&0<g[f]._labels.length?g[f]._labels[0].textBlock.fontSize/2:0;s=Math.round(d.x1-J);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max($,10)?Math.max($,10):d.y1):d.y1<Math.max($,10)?Math.max($,10):d.y1;p=Math.round(d.x2-
720
- X-J);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:d.y2-U>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2-U):d.y2>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2;if(c&&0<c.length)for(Q=0;Q<c.length;Q++)c[Q]&&c[Q].labelAutoFit&&(p=c[Q].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),s=0>c[Q].labelAngle||0===c[Q].labelAngle?p+X:p);if(b&&0<b.length)for(Q=0;Q<b.length;Q++)b[Q]&&
721
- b[Q].labelAutoFit&&(p=b[Q].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),s=p+X);g[f].lineCoordinates={x1:p+E,y1:h,x2:p+E,y2:k,height:Math.abs(k-h)};"inside"===g[f].labelPlacement&&(g[f].lineCoordinates.x1=g[f].lineCoordinates.x1+g[f].labelEffectiveWidth+(n.isNavigator?0:5),g[f].lineCoordinates.x2=g[f].lineCoordinates.x1+g[f].lineThickness/2);"inside"===g[f].tickPlacement&&(g[f].lineCoordinates.x1+=
722
- g[f].tickLength,g[f].lineCoordinates.x2=g[f].lineCoordinates.x1+g[f].lineThickness/2);g[f].bounds={x1:p+E,y1:h,x2:p+y[f]+E,y2:k,height:k-h};g[f].bounds.width=g[f].bounds.x2-g[f].bounds.x1;g[f].title&&(g[f]._titleTextBlock.maxWidth=0<g[f].titleMaxWidth&&g[f].titleMaxWidth<g[f].lineCoordinates.height?g[f].titleMaxWidth:g[f].lineCoordinates.height);g[f].calculateValueToPixelConversionParameters();g[f].calculateBreaksSizeInValues();E+=y[f]+g[f].margin}for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),
723
- q[f].calculateBreaksSizeInValues());if(0<u){if(a&&0<a.length)for(f=0;f<a.length;f++)v=O[u-1][f]===O[u][f]?!0:!1;else v=!0;if(g&&0<g.length)for(f=0;f<g.length;f++)I=R[u-1][f]===R[u][f]?!0:!1;else I=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)M=t[u-1][f]===t[u][f]?!0:!1;else M=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)L=F[u-1][f]===F[u][f]?!0:!1;else L=!0}if(v&&I&&M&&L)break;u++}if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&
724
- 0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels();if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateStripLinesThicknessInValues(),g[f].calculateBreaksInPixels()}};y.render=function(a,g,c,b,e){var d=a[0]?a[0].chart:g[0].chart,p=d.ctx,h=[];h.push.apply(h,a);h.push.apply(h,g);h.push.apply(h,c);h.push.apply(h,b);d.alignVerticalAxes&&
725
- d.alignVerticalAxes();p.save();"normal"===e&&(p.beginPath(),a&&a.length&&p.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-1].bounds.y2),g&&g.length&&p.rect(2,g[g.length-1].bounds.y1,g[0].chart.width-4,g[0].bounds.y2),p.clip());if(a&&0<a.length)for(e=0;e<a.length;e++)a[e].renderLabelsTicksAndTitle();if(g&&0<g.length)for(e=0;e<g.length;e++)g[e].renderLabelsTicksAndTitle();p.restore();if(c&&0<c.length)for(e=0;e<c.length;e++)c[e].renderLabelsTicksAndTitle();if(b&&0<b.length)for(e=0;e<b.length;e++)b[e].renderLabelsTicksAndTitle();
726
- d.preparePlotArea();a=d.plotArea;p.save();p.beginPath();p.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),Math.abs(a.y2-a.y1));p.clip();if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("value");for(e=0;e<h.length;e++)h[e].renderInterlacedColors()}p.restore();p=!1;if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderGrid(),v&&(h[e].createMask(),h[e].renderBreaksBackground());for(e=0;e<h.length;e++)h[e].renderAxisLine();for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("pixel"),
727
- h[e].crosshair&&h[e].crosshair.enabled&&(p=!0,d.clearedOverlayedCanvas=h[e].type)}if(p||!p&&d.clearedOverlayedCanvas&&0<=d.clearedOverlayedCanvas.indexOf("axis"))d.resetOverlayedCanvas(),d.renderCrosshairs(null,!0)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,
728
- this.stripLines[a].endValue),b=this.getApparentDifference(g,c);this.stripLines[a].value=this.convertPixelToValue((this.convertValueToPixel(g)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
729
- [],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!l(this.scaleBreaks.options.spacing),e,d=0;d<g.length;d++)e=b||!l(g[d].options.spacing),g[d].spacing=Wa(g[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/c),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};y.prototype.calculateBreaksInPixels=
730
- 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 g=0;g<a.length&&!(a[g].startValue>this.conversionParameters.maximum);g++)a[g].endValue<this.conversionParameters.minimum||(l(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),
731
- this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&(a[g].endPixel=this.convertValueToPixel(a[g].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,g=!1,c=0,b=0,e=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=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=[],e=0!==this.labelAngle&&360!==this.labelAngle?
732
- 1:1.2,h,l=this.viewportMaximum,s=this.lineCoordinates.width/Math.log(this.range),k=this._labels.length-1;0<=k;k--){m=this._labels[k];if(m.position<this.viewportMinimum)break;m.position>this.viewportMaximum||!(k===this._labels.length-1||h<Math.log(l/m.position)*s/e)||(c.push(m),l=m.position,h=m.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<
733
- this.viewportMinimum||(h=m.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=h);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(g=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,l=this.viewportMaximum,s=this.lineCoordinates.height/Math.log(this.range),k=this._labels.length-1;0<=k;k--){m=this._labels[k];if(m.position<this.viewportMinimum)break;
734
- m.position>this.viewportMaximum||!(k===this._labels.length-1||n<Math.log(l/m.position)*s)||(c.push(m),l=m.position,n=m.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||(n=m.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*
735
- e&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var k=0,m,q;if("bottom"===this._position){for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(m.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%
736
- 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()),g&&0!==d++%2&&this.labelAutoFit||(0===m.textBlock.angle?(q.x-=m.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+m.textBlock.height-m.textBlock._lineHeight/2+2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+m.textBlock._lineHeight/2+5):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?0:m.textBlock.width*
737
- Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-(m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(q.x=q.x-("inside"===this.labelPlacement?
738
- m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?this.tickLength:0)-2-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-(m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),m.textBlock.x=q.x,
739
- m.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<a.viewportMinimum||m.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.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();
740
- 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.y2-this._titleTextBlock.height+this._titleTextBlock._lineHeight/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||
741
- (q=this.getPixelCoordinatesOnAxis(m.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()),g&&0!==d++%2&&this.labelAutoFit||(0===m.textBlock.angle?(q.x-=m.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+m.textBlock._lineHeight/2+("inside"===this.tickPlacement?
742
- this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+m.textBlock.height-m.textBlock._lineHeight/2)-2):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):
743
- q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)):(q.x=q.x-("inside"===this.labelPlacement?0:m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5+m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-
744
- 2-((m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))),m.textBlock.x=q.x,m.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<a.viewportMinimum||m.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
745
- 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+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===
746
- this._position){for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(m.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()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?
747
- (m.textBlock.y=q.y-m.textBlock.topPadding,m.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):0>this.labelAngle?(m.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-m.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.fontSize/
748
- 2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(m.textBlock.height-m.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(m.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-m.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?
749
- q.x+(m.textBlock.height-m.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-m.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<a.viewportMinimum||m.position>
750
- a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.position),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+this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/
751
- 2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(m.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<<
752
- 0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(m.textBlock.y=q.y-m.textBlock.topPadding,m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(m.textBlock.y=("inside"===this.labelPlacement?q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-m.textBlock.topPadding*Math.cos(Math.PI/
753
- 180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(m.textBlock.height-m.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x-m.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(m.textBlock.y=("inside"===this.labelPlacement?q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-m.textBlock.topPadding*
754
- Math.cos(Math.PI/180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-m.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+(m.textBlock.height-m.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=
755
- 0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<a.viewportMinimum||m.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.position),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.x2-this._titleTextBlock._lineHeight/
756
- 2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)m=a._labels[k],m.position<a.viewportMinimum||(m.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),m.textBlock.render(!0),a.ctx.restore())},
757
- this);else for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||(m.position>this.viewportMaximum||g&&0!==d++%2&&this.labelAutoFit)||m.textBlock.render(!0)};y.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,g,c,b=this.chart.plotArea,e=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[e].position),
758
- c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,g.x),b.y1,Math.abs(c.x-g.x),Math.abs(b.y1-b.y2)),g=!1):g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),g=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):
759
- this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,g.y),Math.abs(b.x1-b.x2),Math.abs(g.y-c.y)),g=!1):g=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){var g=this,c,b,e=0,d=0,h=!1;b=!1;for(var r=[],s=[],k=!1,n,e=0;e<this.stripLines.length;e++){var m=this.stripLines[e];m._thicknessType===a&&("pixel"===a&&(m.value<this.viewportMinimum||m.value>this.viewportMaximum||l(m.value)||isNaN(this.range))||
760
- "value"===a&&(m.startValue<=this.viewportMinimum&&m.endValue<=this.viewportMinimum||m.startValue>=this.viewportMaximum&&m.endValue>=this.viewportMaximum||l(m.startValue)||l(m.endValue)||isNaN(this.range))||r.push(m))}for(e=0;e<this._stripLineLabels.length;e++)if(m=this.stripLines[e],c=this._stripLineLabels[e],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){m&&(this.ctx.strokeStyle=
761
- m.tickColor?m.tickColor:m.color,this.ctx.lineWidth=m.tickThickness=l(m.tickThickness)?"pixel"===m._thicknessType?m.thickness:this.thickness:m.tickThickness,l(m.opacity)||"pixel"!==m._thicknessType||(n=m.ctx.globalAlpha,m.ctx.globalAlpha=m.opacity));if("bottom"===this._position){var q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y+m.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,
762
- b.y+=m.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y+=m.tickLength+5+(0>this.labelAngle?Math.abs(c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<
763
- 0,0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-m.tickLength<<0),this.ctx.stroke()),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=m.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(b.x-=(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=m.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*
764
- Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-m.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-m.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+
765
- c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=m.tickLength+5+(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle):c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+
766
- m.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+m.tickLength+5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x=m.tickLength+5+(0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));n&&(m.ctx.globalAlpha=n);c.textBlock.x=b.x;c.textBlock.y=b.y;s.push(c)}else m._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===
767
- this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?l(m.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,l(m.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/
768
- 2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?
769
- this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?l(m.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,l(m.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+
770
- c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-
771
- 3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-m.thickness/2>this.chart.plotArea.y1?l(m.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:l(m.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/
772
- 2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-m.thickness/2>this.chart.plotArea.y1?l(m.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:l(m.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/
773
- 2+m.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,s.push(c));if(!k){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();
774
- for(e=0;e<r.length;e++)m=r[e],m.showOnTop?h||(h=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(d=0;d<r.length;d++)m=r[d],m.showOnTop&&m.render();this.ctx.restore()},m)):m.render();for(e=0;e<s.length;e++)c=s[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=
775
- 0;d<s.length;d++)c=s[d],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,g.chart.plotArea.y1,g.chart.plotArea.width,g.chart.plotArea.height),g.ctx.clip(),c.textBlock.render(!0),g.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();k=!0}if(k)for(b=!1,e=0;e<s.length;e++)c=s[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=
776
- function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=
777
- function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;v?(this.maskCanvas=wa(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var g=0;g<a.length;g++)a[g].endValue<
778
- this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};y.prototype.renderCrosshair=function(a,g){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,g)};y.prototype.showCrosshair=function(a){l(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),
779
- a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var g,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(H(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),
780
- g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,c.y1<<0),a.lineTo(g,c.y2<<0),a.stroke());else if("left"===this._position||"right"===this._position)for(var b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(c.x1<<
781
- 0,g),a.lineTo(c.x2<<0,g),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=v?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),e,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=
782
- this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(H(this.lineDashType,this.lineThickness));var h=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;g.beginPath();if(this.scaleBreaks&&!l(this.scaleBreaks.firstBreakIndex))if(l(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var r=this.scaleBreaks.firstBreakIndex;r<=this.scaleBreaks.lastBreakIndex;r++)g.moveTo(e,h),g.lineTo(this.scaleBreaks._appliedBreaks[r].startPixel+
783
- c,h),e=this.scaleBreaks._appliedBreaks[r].endPixel+b;e&&(g.moveTo(e,h),g.lineTo(d,h));g.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?(e=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(H(this.lineDashType,this.lineThickness));h=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<
784
- 0;g.beginPath();if(this.scaleBreaks&&!l(this.scaleBreaks.firstBreakIndex))if(l(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+c;else for(r=this.scaleBreaks.firstBreakIndex;r<=this.scaleBreaks.lastBreakIndex;r++)g.moveTo(h,e),g.lineTo(h,this.scaleBreaks._appliedBreaks[r].startPixel+b),e=this.scaleBreaks._appliedBreaks[r].endPixel+c;e&&(g.moveTo(h,e),g.lineTo(h,d));g.stroke()}v&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,
785
- this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),g.clearRect(0,0,this.chart.width,this.chart.height));g.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var g={};if("bottom"===this._position||"top"===this._position)g.x=this.convertValueToPixel(a),g.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)g.y=this.convertValueToPixel(a),g.x=this.lineCoordinates.x2;
786
- return g};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var g=0,c=0,b,g=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<
787
- e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(g)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))<e[c].endValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].endValue/this.conversionParameters.minimum/Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue)),
788
- b/=Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue));g=!1}else if(b>e[c].startValue/this.conversionParameters.minimum){b/=e[c].startValue/this.conversionParameters.minimum;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size;g=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;
789
- if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(g)if(e[c].endValue>this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,
790
- Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue))*b,b*=Math.pow(e[c].size,Math.log(this.conversionParameters.minimum/e[c].startValue)/Math.log(e[c].endValue/e[c].startValue));g=!1}else if(b<e[c].endValue/this.conversionParameters.minimum){b/=e[c].endValue/this.conversionParameters.minimum;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/
791
- e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size;g=!1}else break;else if(b<e[c].endValue/e[c+1].startValue){b/=e[c].endValue/e[c+1].startValue;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size}else break;g=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;
792
- if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(g)if(e[c].startValue<this.conversionParameters.minimum){if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size<e[c].endValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-
793
- this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);g=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=e[c].startValue-this.conversionParameters.minimum;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size;g=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-
794
- e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(g)if(e[c].endValue>this.conversionParameters.minimum)if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=
795
- e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),g=!1;else if(b<e[c].endValue-this.conversionParameters.minimum){b-=e[c].endValue-this.conversionParameters.minimum;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;
796
- g=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size}else break;g=this.conversionParameters.minimum+a}return g};y.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*
797
- Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};y.prototype.getApparentDifference=function(a,g,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=l(c)?g/a:c;for(var d=
798
- 0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?c=c/e[d].endValue*e[d].startValue*e[d].size:a>=e[d].startValue&&g>=e[d].endValue?c=c/e[d].endValue*a*Math.pow(e[d].size,Math.log(e[d].endValue/a)/Math.log(e[d].endValue/e[d].startValue)):a<=e[d].startValue&&g<=e[d].endValue?c=c/g*e[d].startValue*Math.pow(e[d].size,Math.log(g/e[d].startValue)/Math.log(e[d].endValue/e[d].startValue)):!b&&(a>e[d].startValue&&g<e[d].endValue)&&(c=a*Math.pow(e[d].size,Math.log(g/
799
- a)/Math.log(e[d].endValue/e[d].startValue))))}else for(c=l(c)?Math.abs(g-a):c,d=0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?c=c-e[d].endValue+e[d].startValue+e[d].size:a>e[d].startValue&&g>=e[d].endValue?c=c-e[d].endValue+a+e[d].size*(e[d].endValue-a)/(e[d].endValue-e[d].startValue):a<=e[d].startValue&&g<e[d].endValue?c=c-g+e[d].startValue+e[d].size*(g-e[d].startValue)/(e[d].endValue-e[d].startValue):!b&&(a>e[d].startValue&&g<e[d].endValue)&&(c=a+
800
- e[d].size*(g-a)/(e[d].endValue-e[d].startValue)));return c};y.prototype.setViewPortRange=function(a,g){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,g);this.sessionVariables.newViewportMaximum=this.viewportMaximum=Math.max(a,g)};y.prototype.getXValueAt=function(a){if(!a)return null;var g=null;"left"===this._position?g=this.convertPixelToValue(a.y):"bottom"===this._position&&(g=this.convertPixelToValue(a.x));return g};y.prototype.calculateValueToPixelConversionParameters=
801
- function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var g={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);if(this.logarithmic)for(var e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&
802
- this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/
803
- this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)));else for(e=0;e<a.length&&!(this.viewportMaximum<
804
- a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?
805
- c*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b-this.viewportMaximum+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-
806
- a[e].startValue)/(a[e].endValue-a[e].startValue)));g.minimum=this.viewportMinimum;g.maximum=this.viewportMaximum;g.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(g.lnLogarithmBase=Math.log(this.logarithmBase),g.pixelPerUnit=(this.reversed?-1:1)*c*g.lnLogarithmBase/Math.log(Math.abs(b))):g.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),g.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===this._position||"right"===this._position)this.logarithmic?
807
- (g.lnLogarithmBase=Math.log(this.logarithmBase),g.pixelPerUnit=(this.reversed?1:-1)*c*g.lnLogarithmBase/Math.log(Math.abs(b))):g.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),g.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;this.conversionParameters=g};y.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),g=!1,c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=
808
- a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),e,d,h,b=0;!l(this.options.viewportMinimum)&&(!l(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&(this.viewportMinimum=this.viewportMaximum=null);
809
- if(l(this.options.viewportMinimum)&&!l(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(l(this.options.viewportMaximum)&&!l(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||
810
- isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;!l(this.minimum)&&this.viewportMinimum<this.minimum&&(this.viewportMinimum=this.minimum);!l(this.maximum)&&this.viewportMaximum>this.maximum&&(this.viewportMaximum=this.maximum);if(this.scaleBreaks)for(b=0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!l(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!l(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||
811
- !l(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!l(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||!l(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!l(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,1);break}if("axisX"===this.type){if(this.dataSeries&&
812
- 0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b);Infinity!==this.dataInfo.minDiff?h=this.dataInfo.minDiff:1<d-e?h=0.5*Math.abs(d-e):(h=1,c&&(g=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?
813
- this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,h=Math.pow(2,50),isFinite(e)||isFinite(d)?isFinite(e)?isFinite(d)||(d=e):e=d:(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,
814
- e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(e>=h||d>=h||e<=-h||d<=-h)&&10>d-e?d+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>d&&(d=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||
815
- null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum,null,!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):
816
- b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*F.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*
817
- F.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*F.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*F.secondDuration)<=a?(this.interval=10,this.intervalType="second"):b/(15*F.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*F.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*F.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*F.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/
818
- (2*F.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*F.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*F.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):b/(15*F.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*F.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*F.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*F.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/
819
- (2*F.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*F.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*F.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):b/(1*F.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*F.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*F.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*F.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*F.weekDuration)<=a?(this.interval=2,
820
- this.intervalType="week"):b/(3*F.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*F.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*F.monthDuration)<=a?(this.interval=2,this.intervalType="month"):b/(3*F.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*F.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*F.yearDuration)<=a?1:b/(2*F.yearDuration)<=a?2:b/(4*F.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/
821
- F.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-h/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=d+h/2;g?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString=
822
- "MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/
823
- (a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d+h/2:Math.ceil(d/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===
824
- typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1):"axisY"===this.type&&(e=null!==this.minimum?
825
- this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(d)?0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)):(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||
826
- isFinite(this.dataInfo.minDiff)?0:Infinity),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>d&&(d=0)),Math.abs(this.getApparentDifference(e,d,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-h/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
827
- isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=d+h/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,
828
- null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?d+h/2:Math.ceil(d/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===
829
- this.options.maximum&&(this.minimum-=10));l(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));l(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/
830
- this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),g=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/
831
- 50),3),b,e,d,h;h=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(h=0;h<this.scaleBreaks._appliedBreaks.length;h++)if((!l(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue||!l(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[h].startValue||
832
- !l(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue)&&(!l(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue||!l(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[h].endValue||!l(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue)){this.scaleBreaks._appliedBreaks.splice(h,1);break}"axisX"===this.type?
833
- (b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(h=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,
834
- e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(h=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=h,b/=h):b>e?(h=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,
835
- 0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===
836
- this.viewportMinimum?b:this.viewportMinimum);var r=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";h=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(h)/g),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(h)/g/(a-1),!0),c=y.getNiceNumber(r/(a-1),!0));if(null===this.viewportMinimum||
837
- isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
838
- 1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceExponent(Math.ceil(Math.log(h)/g)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(h=Math.pow(this.logarithmBase,
839
- "undefined"===typeof this.options.interval?0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(h=Math.pow(this.logarithmBase,this.interval),e*=h,b/=h):b>e?(h=
840
- Math.min(0.01*(b/e),5),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
841
- 1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval)),l(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
842
- isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval)),l(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
843
- 0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=
844
- this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/
845
- Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(g=Math.floor(this.viewportMinimum/c+0.5)*c;g<this.viewportMinimum;)g+=c;this.equidistantInterval=
846
- !1;this.intervalStartPosition=g;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){g=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(g)||!isFinite(g))g=2;
847
- if(2<g)for(h=0;h<g-2;h++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,g){var c="#,##0.",b=g;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(b)||!isFinite(b))&&(b=g);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,g){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,g){var c=Math.floor(Math.log(a)/
848
- Math.LN10),b=a/Math.pow(10,c),b=g?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.prototype.getLabelStartPoint=function(){var a=F[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||
849
- 0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<
850
- a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||
851
- 0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ra(aa,S);ra(Y,S);Y.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),g=this.parent.options[this.optionsName].indexOf(this.options));
852
- this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][g]=this.options}};Y.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var g=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
853
- e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;W(this.id);var d,h,l,s,k,n;a=Math.max(this.spacing,3);var m=Math.max(0,this.lineThickness);this.ctx.lineWidth=m;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,m));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===m%2?(b.x<<0)+0.5:b.x<<0,h=1===m%2?(e.x<<0)+0.5:
854
- e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,l=this.chart.plotArea.y2+m/2+0.5<<0):(e=this.chart.plotArea.y2,l=this.chart.plotArea.y1-m/2+0.5<<0,a*=-1),this.bounds={x1:b-m/2,y1:e,x2:h+m/2,y2:l},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,l),this.ctx.lineTo(h,l),this.ctx.lineTo(h,e);else if("wavy"===this.type){s=b;k=e;d=0.5;n=(l-k)/a/3;for(var q=0;q<n;q++)this.ctx.bezierCurveTo(s+
855
- d*a,k+a,s+d*a,k+2*a,s,k+3*a),k+=3*a,d*=-1;this.ctx.bezierCurveTo(s+d*a,k+a,s+d*a,k+2*a,s,k+3*a);s=h;d*=-1;this.ctx.lineTo(s,k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+d*a,k-a,s+d*a,k-2*a,s,k-3*a),k-=3*a,d*=-1}else{if("zigzag"===this.type){d=-1;k=e+a;s=b+a;n=(l-k)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),s+=2*d*a,k+=2*a,d*=-1;this.ctx.lineTo(s,k);s+=h-b;for(q=0;q<n+1;q++)this.ctx.lineTo(s,k),s+=2*d*a,k-=2*a,d*=-1;this.ctx.lineTo(s+d*a,k+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
856
- this.scaleBreaks.parent._position)if(e=1===m%2?(e.y<<0)+0.5:e.y<<0,l=1===m%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,h=this.chart.plotArea.x2+m/2+0.5<<0):(b=this.chart.plotArea.x2,h=this.chart.plotArea.x1-m/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-m/2,x2:h,y2:l+m/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(h,e),this.ctx.lineTo(h,l),
857
- this.ctx.lineTo(b,l);else if("wavy"===this.type){s=b;k=e;d=0.5;n=(h-s)/a/3;for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k),s+=3*a,d*=-1;this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k);k=l;d*=-1;this.ctx.lineTo(s,k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s-a,k+d*a,s-2*a,k+d*a,s-3*a,k),s-=3*a,d*=-1}else if("zigzag"===this.type){d=1;k=e-a;s=b+a;n=(h-s)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),k+=2*d*a,s+=2*a,d*=-1;this.ctx.lineTo(s,k);k+=l-e;for(q=0;q<n+1;q++)this.ctx.lineTo(s,
858
- k),k+=2*d*a,s-=2*a,d*=-1;this.ctx.lineTo(s+a,k+d*a)}0<m&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=g}};ra(ia,S);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),g=
859
- this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[g]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),g=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<g){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();
860
- var b=this.ctx.globalAlpha;this.ctx.globalAlpha=c;W(this.id);var e,d,h,l;this.ctx.lineWidth=g;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,g));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=d=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,l=this.chart.plotArea.y2,this.bounds={x1:e-g/2,y1:h,x2:d+g/2,y2:l};
861
- else if("left"===this.parent._position||"right"===this.parent._position)a="pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=l=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,e=this.chart.plotArea.x1,d=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-g/2,x2:d,y2:l+g/2};this.ctx.moveTo(e,h);this.ctx.lineTo(d,l);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(ga,S);ga.prototype.showAt=function(a){if(!this.enabled)return!1;
862
- var g=this.chart,c=!1;g.resetOverlayedCanvas();g.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===g.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?g.axisY:g.axisX:"top"===this.parent._position?b=e?g.axisY2:g.axisX2:"left"===this.parent._position?b=e?g.axisX:g.axisY:"right"===this.parent._position&&(b=e?g.axisX2:g.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?
863
- a:null);b=["axisX","axisX2","axisY","axisY2"];for(e=0;e<b.length;e++)for(var d=b[e],h=0;h<g[d].length;h++){var r=g[d][h],s=r._crosshairValue;r.crosshair&&r.crosshair.enabled&&(this.parent===r&&(r.sessionVariables.crosshairShownByPixel=!1,r.sessionVariables.crosshairValue=r.crosshair._updatedValue=s||a),!l(s)&&s>=r.viewportMinimum&&s<=r.viewportMaximum?(r.showCrosshair(s),this===r.crosshair&&(c=!0)):void 0!==s&&(r.sessionVariables.crosshairValue=null,r.crosshair._updatedValue=null))}this.chart.toolTip&&
864
- (this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};ga.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};ga.prototype.render=
865
- function(a,g,c){var b,e,d,h,r=null,s=null,k=null,n="";this.valueFormatString||("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(k=0,k="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?
866
- 2:10>this.parent.range?1:0),this.valueFormatString=y.generateValueFormatString(this.parent.range,k)));var m=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*this.thickness),f=this.chart.overlaidCanvasCtx,v=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(l(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=l(this.options.labelMaxWidth)?
867
- 0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=l(this.options.labelWrap)||this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding);k=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,
868
- text:n,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var u=0,n=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)u=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?
869
- this.chart.sessionVariables.mouseY:g});else if("left"===this.parent._position||"right"===this.parent._position)u=this.parent.convertPixelToValue({y:g});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));z=null;if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});var x=z=0;yPercent=cumulativeY=0;for(var u=Infinity,w,t=
870
- 0;t<n.length;t++){if("rangeBar"===n[t].dataSeries.type||"error"===n[t].dataSeries.type){if(n[t].dataPoint.y)for(var D=0;D<n[t].dataPoint.y.length;D++)x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y[D])),x<=u&&(u=x,z=t)}else"stackedBar"===n[t].dataSeries.type?(cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),x<=u&&(u=x,z=t)):"stackedBar100"===n[t].dataSeries.type?(x=n[0].dataPoint.x.getTime?n[0].dataPoint.x.getTime():
871
- n[0].dataPoint.x,l(w)&&(w=Math.abs(a-this.parent.convertValueToPixel(100*(n[0].dataSeries.dataPointEOs[n[0].index].cumulativeY/n[0].dataSeries.plotUnit.dataPointYSums[x])))),cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?n[t].dataPoint.x.getTime():n[t].dataPoint.x,yPercent=100*(cumulativeY/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(a-this.parent.convertValueToPixel(yPercent)),x<=w&&(w=x,z=t)):(x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y)),
872
- x<=u&&(u=x,z=t));l(w)||(u=Math.min(u,w))}w=n[z];t=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===w.dataSeries.type||"error"===w.dataSeries.type){u=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(n=0;n<w.dataPoint.y.length;n++)x=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[n])),x<u&&(u=x,t=n);r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[t])<<0;this.value=
873
- w.dataPoint.y[t];0!==w.dataPoint.y[t]%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[t]}):l(this.options.label)?ha(w.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===
874
- w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<0,this.value=cumulativeY,0!==cumulativeY%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?
875
- 1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:cumulativeY}):l(this.options.label)?ha(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,yPercent=100*(cumulativeY/w.dataSeries.plotUnit.dataPointYSums[x]),
876
- r=1===f.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,this.value=yPercent,0!==yPercent%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):l(this.options.label)?
877
- ha(yPercent,this.valueFormatString,this.chart._cultureInfo):this.label):(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y)<<0,this.value=w.dataPoint.y,0!==w.dataPoint.y%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,
878
- axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):l(this.options.label)?ha(w.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label);b=e=r;d=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:d,x2:e+q/2,y2:h};k.x=b-k.measureText().width/2;k.x+k.width>this.chart.bounds.x2?k.x=this.chart.bounds.x2-k.width:k.x<this.chart.bounds.x1&&(k.x=this.chart.bounds.x1);k.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-k.height+this.parent.tickLength:
879
- k.fontSize/2)+2;k.y+k.height>this.chart.bounds.y2?k.y=this.chart.bounds.y2-k.height:k.y<this.chart.bounds.y1&&(k.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){d=h=s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:d-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(u=Math.ceil(this.parent.interval),n=0;n<
880
- this.parent.viewportMaximum;n+=u)if(this.parent.labels[n])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(u=this.parent.convertPixelToValue({y:g}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||
881
- this.parent.logarithmic?(0!==w.dataPoint.x%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?ha(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):k.text=
882
- this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?Ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=w.dataPoint.x;k.y=h+k.fontSize/2-k.measureText().height/2+2;k.y-k.fontSize/2<this.chart.bounds.y1?k.y=this.chart.bounds.y1+k.fontSize/2+2:k.y+k.measureText().height-k.fontSize/2>this.chart.bounds.y2&&(k.y=this.chart.bounds.y2-k.measureText().height+k.fontSize/2);"left"===
883
- this.parent._position?k.x=this.parent.lineCoordinates.x2-k.measureText().width:"right"===this.parent._position&&(k.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){u=this.parent.convertPixelToValue({x:a});for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));if(0===n.length)return;n.sort(function(a,
884
- b){return a.distance-b.distance});w=n[0];b=e=r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;d=this.chart.plotArea.y1;h=this.chart.plotArea.y2;this.bounds={x1:b-q/2,y1:d,x2:e+q/2,y2:h};t=!1;if(this.parent.labels)for(u=Math.ceil(this.parent.interval),n=0;n<this.parent.viewportMaximum;n+=u)if(this.parent.labels[n])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(u=this.parent.convertPixelToValue({x:a}),z=null,
885
- t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==w%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/
886
- Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?ha(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?Ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):
887
- this.label;this.value=w.dataPoint.x;k.x=b-k.measureText().width/2;k.x+k.width>this.chart.bounds.x2&&(k.x=this.chart.bounds.x2-k.width);k.x<this.chart.bounds.x1&&(k.x=this.chart.bounds.x1);"bottom"===this.parent._position?k.y=this.parent.lineCoordinates.y2+k.fontSize/2+2:"top"===this.parent._position&&(k.y=this.parent.lineCoordinates.y1-k.height+k.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position){!l(this.parent.dataSeries)&&0<this.parent.dataSeries.length&&(u=this.parent.dataSeries[0].axisX.convertPixelToValue({x:this.parent.sessionVariables.crosshairShownByPixel?
888
- this.chart.sessionVariables.mouseX:a}));for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});x=z=0;u=Infinity;for(t=0;t<n.length;t++){if("rangeColumn"===n[t].dataSeries.type||"rangeArea"===n[t].dataSeries.type||"error"===n[t].dataSeries.type||"rangeSplineArea"===n[t].dataSeries.type||
889
- "candlestick"===n[t].dataSeries.type||"ohlc"===n[t].dataSeries.type||"boxAndWhisker"===n[t].dataSeries.type){if(n[t].dataPoint.y)for(D=0;D<n[t].dataPoint.y.length;D++)x=Math.abs(g-this.parent.convertValueToPixel(n[t].dataPoint.y[D])),x<=u&&(u=x,z=t)}else"stackedColumn"===n[t].dataSeries.type?(a=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=Math.abs(g-this.parent.convertValueToPixel(a)),x<=u&&(u=x,z=t)):"stackedArea"===n[t].dataSeries.type?(a=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,
890
- x=Math.abs(g-this.parent.convertValueToPixel(a)),x<=u&&(u=x,z=t)):"stackedColumn100"===n[t].dataSeries.type||"stackedArea100"===n[t].dataSeries.type?(x=n[0].dataPoint.x.getTime?n[0].dataPoint.x.getTime():n[0].dataPoint.x,l(w)&&(w=Math.abs(g-this.parent.convertValueToPixel(100*(n[0].dataSeries.dataPointEOs[n[0].index].cumulativeY/n[0].dataSeries.plotUnit.dataPointYSums[x])))),"stackedColumn100"===n[t].dataSeries.type?(s=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?
891
- n[t].dataPoint.x.getTime():n[t].dataPoint.x,a=100*(s/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(g-this.parent.convertValueToPixel(a)),x<=w&&(w=x,z=t)):"stackedArea100"===n[t].dataSeries.type&&(s=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?n[t].dataPoint.x.getTime():n[t].dataPoint.x,a=100*(s/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(g-this.parent.convertValueToPixel(a)),x<=w&&(w=x,z=t))):"waterfall"===n[t].dataSeries.type?(x=Math.abs(g-this.parent.convertValueToPixel(n[t].dataSeries.dataPointEOs[n[t].index].cumulativeSum)),
892
- x<=u&&(w=u=x,z=t)):(x=Math.abs(g-this.parent.convertValueToPixel(n[t].dataPoint.y)),x<=u&&(u=x,z=t));l(w)||(u=Math.min(u,w))}w=n[z];t=0;if("rangeColumn"===w.dataSeries.type||"rangeArea"===w.dataSeries.type||"error"===w.dataSeries.type||"rangeSplineArea"===w.dataSeries.type||"candlestick"===w.dataSeries.type||"ohlc"===w.dataSeries.type||"boxAndWhisker"===w.dataSeries.type){u=Math.abs(g-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(n=0;n<w.dataPoint.y.length;n++)x=Math.abs(g-this.parent.convertValueToPixel(w.dataPoint.y[n])),
893
- x<u&&(u=x,t=n);s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[t])<<0;0!==w.dataPoint.y[t]%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[t]}):
894
- l(this.options.label)?ha(w.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label;this.value=w.dataPoint.y[t]}else"stackedColumn"===w.dataSeries.type?(a=w.dataSeries.dataPointEOs[w.index].cumulativeY,s=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?
895
- 2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea"===w.dataSeries.type?(a=w.dataSeries.dataPointEOs[w.index].cumulativeY,s=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=
896
- y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedColumn100"===w.dataSeries.type?(s=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():
897
- w.dataPoint.x,a=100*(s/w.dataSeries.plotUnit.dataPointYSums[x]),s=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
898
- value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea100"===w.dataSeries.type?(s=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,a=100*(s/w.dataSeries.plotUnit.dataPointYSums[x]),s=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,
899
- Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"waterfall"===w.dataSeries.type?(s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataSeries.dataPointEOs[w.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(w.dataSeries.dataPointEOs[w.index].cumulativeSum)<<
900
- 0,0!==w.dataSeries.dataPointEOs[w.index].cumulativeSum%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataSeries.dataPointEOs[w.index].cumulativeSum}):l(this.options.label)?ha(w.dataSeries.dataPointEOs[w.index].cumulativeSum,
634
+ 0:this.options.labelMaxWidth),p="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;!this.labelAutoFit&&0>=d&&(d="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth);a.maxWidth=d;!this.labelAutoFit&&0>=p&&(p="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize+("object"===typeof this.labelPadding?
635
+ (this.labelPadding.top||0)+(this.labelPadding.bottom||0):2*this.labelPadding));a.maxHeight=p;var u=a.measureText();s=u.height}e=[];q=m=0;if(this.labelAutoFit||this.options.labelAutoFit)if(l(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(d=Math.floor(0.9*h),q=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=
636
+ this.labelFontSize;this.sessionVariables.labelMaxWidth=d;this.sessionVariables.labelMaxHeight=p;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 A,f=a.text.split(" "),b=0;b<f.length;b++)n=f[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),n.width>q&&(A=c,q=n.width)}c=0;for(c=this.intervalStartPosition<
637
+ this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;u=a.measureText();for(f=c+1;f<this._labels.length;f++)if(!this._labels[f].breaksLabelType){g=this._labels[f].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=d*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(p-a.fontSize/2)*
638
+ Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(l(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?p:Math.min((b-d*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=(k-(s+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!l(this.options.labelWrap))this.labelWrap?l(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=
639
+ Math.min(Math.max(d,q),n),this.sessionVariables.labelWrap=this.labelWrap,g&&u.width+g.width>>0>2*d&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>d?-25:this.sessionVariables.labelAngle):l(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelMaxWidth=
640
+ d,g&&u.width+g.width>>0>2*d&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>d?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelWrap=this.labelWrap);else{if(l(this.options.labelWrap))if(!l(this.options.labelMaxWidth))this.options.labelMaxWidth<d?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,
641
+ this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=p);else if(!l(g))if(b=u.width+g.width>>0,f=this.labelFontSize,q<d)b-2*d>m&&(m=b-2*d,b>=2*d&&b<2.2*d?(this.sessionVariables.labelMaxWidth=d,l(this.options.labelFontSize)&&12<f&&(f=Math.floor(12/13*f),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelAngle=
642
+ this.labelAngle):b>=2.2*d&&b<2.8*d?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=f):b>=2.8*d&&b<3.2*d?(this.sessionVariables.labelMaxWidth=Math.max(d,q),this.sessionVariables.labelWrap=!0,l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelAngle=
643
+ this.labelAngle):b>=3.2*d&&b<3.6*d?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*d&&b<5*d?(l(this.options.labelFontSize)&&12<f&&(f=Math.floor(12/13*f),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n):
644
+ b>5*d&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=d,this.sessionVariables.labelFontSize=f,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelAngle=this.labelAngle));else if(A===c&&(0===A&&q+this._labels[A+1].textBlock.measureText().width-2*d>m||A===this._labels.length-1&&q+this._labels[A-1].textBlock.measureText().width-2*d>m||0<A&&A<this._labels.length-1&&q+this._labels[A+1].textBlock.measureText().width-2*d>m&&q+this._labels[A-1].textBlock.measureText().width-
645
+ 2*d>m))m=0===A?q+this._labels[A+1].textBlock.measureText().width-2*d:q+this._labels[A-1].textBlock.measureText().width-2*d,this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n;else if(0===m)for(this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?f:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=
646
+ this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(d,q),n),u=a.measureText(),b<this._labels.length-1&&(f=b+1,g=this._labels[f].textBlock,g.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(d,q),n),g=g.measureText(),u.width+g.width>>0>2*d&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?p:Math.min((b-d*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/
647
+ Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=0!=this.labelAngle?(k-(s+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):d,this.sessionVariables.labelMaxHeight=this.labelWrap?(k-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,l(this.options.labelWrap))?l(this.options.labelWrap)&&(this.labelWrap&&!l(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=
648
+ this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelMaxHeight=p):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=Math.max(b,0.9*h),this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
649
+ n):(l(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=p)}this.sessionVariables.labelMaxHeight=Math.max(this.sessionVariables.labelMaxHeight,1.5*this.labelFontSize);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=
650
+ 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=l(this.options.labelMaxWidth)?l(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=d:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=l(this.options.labelFontSize)?l(this.sessionVariables.labelFontSize)?
651
+ this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=l(this.options.labelAngle)?l(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=l(this.options.labelWrap)?l(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=l(this.sessionVariables.labelMaxHeight)?
652
+ this.sessionVariables.labelMaxHeight=p:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(d=l(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,p="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=d;this.sessionVariables.labelMaxHeight=
653
+ p;this.sessionVariables.labelAngle=l(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;u=a.measureText();for(f=c+1;f<this._labels.length;f++)if(!this._labels[f].breaksLabelType){g=this._labels[f].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=d*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+
654
+ (p-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));l(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?l(this.options.labelWrap)?l(this.options.labelWrap)&&(l(this.options.labelMaxWidth)?l(g)||(h=u.height+g.height>>0,h-2*p>q&&(q=h-2*p,h>=2*p&&h<2.4*p?(l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),
655
+ a.measureText()),this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):h>=2.4*p&&h<2.8*p?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):h>=2.8*p&&h<3.2*p?(this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelWrap=!0,l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*
656
+ this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=l(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>=3.2*p&&h<3.6*p?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):h>3.6*p&&h<10*p?(l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/
657
+ 13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=d,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelAngle=l(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>10*p&&h<50*p&&(l(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=
658
+ l(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelMaxWidth=d,this.sessionVariables.labelAngle=l(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=p,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?
659
+ this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:d,this.sessionVariables.labelMaxHeight=p):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?d:Math.min((b-p*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),p),l(this.options.labelWrap))?l(this.options.labelWrap)&&(this.labelWrap&&
660
+ !l(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:d,this.sessionVariables.labelMaxHeight=0===this.labelAngle?p:b,l(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?
661
+ (this.sessionVariables.labelMaxHeight=0===this.labelAngle?p:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=d):(this.sessionVariables.labelMaxHeight=p,l(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,
662
+ 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(l(this.chart.stockChart)||this.chart.isNavigator||(this.sessionVariables.labelMaxHeight=p),c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=l(this.options.labelMaxWidth)?l(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=
663
+ d:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=l(this.options.labelFontSize)?l(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=l(this.options.labelAngle)?l(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=l(this.options.labelWrap)?
664
+ l(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=l(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=p:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var d=this.stripLines[c],y;d.labelFontSize="outside"===d.labelPlacement&&l(d.options.labelFontSize)?this.labelFontSize:d.labelFontSize;d.labelFontFamily="outside"===d.labelPlacement&&
665
+ l(d.options.labelFontFamily)?this.labelFontFamily:d.labelFontFamily;d.labelFontWeight="outside"===d.labelPlacement&&l(d.options.labelFontWeight)?this.labelFontWeight:d.labelFontWeight;d.labelFontStyle="outside"===d.labelPlacement&&l(d.options.labelFontStyle)?this.labelFontStyle:d.labelFontStyle;if("outside"===d.labelPlacement){p=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)l(d.options.labelWrap)&&!l(this.sessionVariables.stripLineLabelMaxHeight)?y=this.sessionVariables.stripLineLabelMaxHeight:
666
+ this.sessionVariables.stripLineLabelMaxHeight=y=d.labelWrap?0.8*this.chart.height>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?(d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding);if("left"===this._position||"right"===this._position)l(d.options.labelWrap)&&!l(this.sessionVariables.stripLineLabelMaxHeight)?y=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=y=d.labelWrap?0.8*this.chart.width>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?
667
+ (d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding);l(d.labelBackgroundColor)&&(d.labelBackgroundColor="#EEEEEE")}else p="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,y=l(d.options.labelWrap)||d.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?(d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding),l(d.labelBackgroundColor)&&
668
+ (l(d.startValue)&&0!==d.startValue?d.labelBackgroundColor=v?"transparent":null:d.labelBackgroundColor="#EEEEEE");a=new ka(this.ctx,{x:0,y:0,backgroundColor:d.labelBackgroundColor,borderColor:d.labelBorderColor,borderThickness:d.labelBorderThickness,cornerRadius:d.labelCornerRadius,maxWidth:d.options.labelMaxWidth?d.options.labelMaxWidth:p,maxHeight:y,angle:this.labelAngle,text:d.labelFormatter?d.labelFormatter({chart:this.chart,axis:this,stripLine:d}):d.label,textAlign:d.labelTextAlign,fontSize:d.labelFontSize,
669
+ fontFamily:d.labelFontFamily,fontWeight:d.labelFontWeight,fontColor:d.labelFontColor||d.color,fontStyle:d.labelFontStyle,textBaseline:"middle",padding:d.labelPadding});this._stripLineLabels.push({position:d.value,textBlock:a,effectiveHeight:null,stripLine:d})}};y.prototype.createLabelsAndCalculateWidth=function(){var a=0,g=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],e=this.chart.isNavigator?0:5;this.labelEffectiveWidth=l(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===
670
+ this._position||"right"===this._position){this.createLabels();for(g=0;g<this._labels.length;g++){var d=this._labels[g].textBlock,d=d.measureText(),p=0,p=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=p&&(this.labelEffectiveWidth=a=p);this._labels[g].effectiveWidth=p}for(g=0;g<this._stripLineLabels.length;g++)"outside"===this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=
671
+ this.viewportMinimum&&this._stripLineLabels[g].stripLine.value<=this.viewportMaximum)&&(d=this._stripLineLabels[g].textBlock,d=d.measureText(),p=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[g].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(p,0<b.length?Math.max.apply(null,b):p)),a<=p&&(a=p),this.stripLineLabelEffectiveWidth=
672
+ this._stripLineLabels[g].effectiveWidth=p,b.push(p));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?c+this.tickLength:Math.max(c,this.tickLength))+e};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var g=0,c,b=0,e=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:
673
+ 5;this.labelEffectiveHeight=l(this.labelEffectiveHeight)?0:this.labelEffectiveHeight;var d=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++){c=this._labels[b].textBlock;c=c.measureText();var p=0,p=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=p&&(this.labelEffectiveHeight=a=p);this._labels[b].effectiveHeight=p}for(b=0;b<this._stripLineLabels.length;b++)"outside"===
674
+ this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),p=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),g=Math.max(g,this._stripLineLabels[b].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<d.length?Math.max.apply(null,
675
+ d):0,a+=Math.max(p,0<d.length?Math.max.apply(null,d):p)),a<=p&&(a=p),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=p,d.push(p));"inside"===this.labelPlacement&&(a+=e)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?g+this.tickLength:Math.max(g,this.tickLength))+e};y.setLayout=function(a,g,c,b,e,d){var p,h,s,k,n=a[0]?a[0].chart:g[0].chart,m=n.isNavigator?0:10,q=n._axes;if(a&&0<a.length)for(var f=0;f<a.length;f++)a[f]&&
676
+ a[f].calculateAxisParameters();if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateAxisParameters();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateAxisParameters();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateAxisParameters();for(f=0;f<q.length;f++)if(q[f]&&q[f].scaleBreaks&&q[f].scaleBreaks._appliedBreaks.length)for(var v=q[f].scaleBreaks._appliedBreaks,u=0;u<v.length&&!(v[u].startValue>q[f].viewportMaximum);u++)v[u].endValue<q[f].viewportMinimum||(l(q[f].scaleBreaks.firstBreakIndex)&&
677
+ (q[f].scaleBreaks.firstBreakIndex=u),v[u].startValue>=q[f].viewPortMinimum&&(q[f].scaleBreaks.lastBreakIndex=u));for(var y=u=0,t=0,x=0,w=0,z=0,B=0,D,F,H=h=0,I,M,L,v=I=M=L=!1,f=0;f<q.length;f++)q[f]&&q[f].title&&(q[f]._titleTextBlock=new ka(q[f].ctx,{text:q[f].title,fontSize:q[f].titleFontSize,fontFamily:q[f].titleFontFamily,fontWeight:q[f].titleFontWeight,fontColor:q[f].titleFontColor,fontStyle:q[f].titleFontStyle,borderColor:q[f].titleBorderColor,borderThickness:q[f].titleBorderThickness,backgroundColor:q[f].titleBackgroundColor,
678
+ cornerRadius:q[f].titleCornerRadius,textBaseline:"middle",textAlign:q[f].titleTextAlign,padding:q[f].titlePadding}));for(f=0;f<q.length;f++)if(q[f].title){var J=1.5*q[f].titleFontSize+("object"===typeof q[f].titlePadding?(q[f].titlePadding.top||0)+(q[f].titlePadding.bottom||0):2*q[f].titlePadding);q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||d.height;q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*d.width:Math.min(J,0.8*d.width);switch(q[f]._position){case "left":q[f]._titleTextBlock.angle=
679
+ -90;break;case "right":q[f]._titleTextBlock.angle=90;break;default:q[f]._titleTextBlock.maxWidth=q[f].titleMaxWidth||d.width,q[f]._titleTextBlock.maxHeight=q[f].titleWrap?0.8*d.height:Math.min(J,0.8*d.height),q[f]._titleTextBlock.angle=0}}if("normal"===e){for(var x=[],w=[],z=[],B=[],O=[],R=[],S=[],E=[];4>u;){var W=0,V=0,U=0,T=0,$=J=e=0,aa=0,X=0,Y=0,N=p=0;if(c&&0<c.length)for(z=[],f=p=0;f<c.length;f++)z.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateWidth():0)),p+=z[f],$+=c[f]&&!n.isNavigator?c[f].margin:
680
+ 0;else z.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));S.push(z);if(b&&0<b.length)for(B=[],f=N=0;f<b.length;f++)B.push(Math.ceil(b[f]?b[f].createLabelsAndCalculateWidth():0)),N+=B[f],aa+=b[f]?b[f].margin:0;else B.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));E.push(B);p=Math.round(d.x1+p+$-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-1].labelPlacement||
681
+ c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5);s=Math.round(Math.min(d.x2-N-aa+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),n.width-m));if(a&&0<a.length)for(x=[],f=X=0;f<a.length;f++)a[f]&&(a[f].lineCoordinates={}),a[f].lineCoordinates.width=Math.abs(s-p),a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.width?a[f].titleMaxWidth:
682
+ a[f].lineCoordinates.width),x.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateHeight():0)),X+=x[f],e+=a[f]&&!n.isNavigator?a[f].margin:0;else x.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));O.push(x);if(g&&0<g.length)for(w=[],f=Y=0;f<g.length;f++)g[f]&&(g[f].lineCoordinates={}),g[f].lineCoordinates.width=Math.abs(s-p),g[f].title&&(g[f]._titleTextBlock.maxWidth=0<g[f].titleMaxWidth&&g[f].titleMaxWidth<g[f].lineCoordinates.width?g[f].titleMaxWidth:g[f].lineCoordinates.width),w.push(Math.ceil(g[f]?
683
+ g[f].createLabelsAndCalculateHeight():0)),Y+=w[f],J+=g[f]&&!n.isNavigator?g[f].margin:0;else w.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateHeight():0));R.push(w);if(a&&0<a.length){for(f=0;f<a.length;f++){if(a[f]){a[f].lineCoordinates.x1=p;s=Math.round(Math.min(d.x2-N-aa+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveWidth||
684
+ n.isNavigator?0:5),n.width-m));if(a[f]._labels&&1<a[f]._labels.length){var Q=h=0;h=a[f]._labels[1];Q="dateTime"===a[f].valueType?a[f]._labels[a[f]._labels.length-2]:a[f]._labels[a[f]._labels.length-1];y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle));t=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+Q.textBlock.height*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle))}!a[f]||
685
+ (!a[f].labelAutoFit||l(D)||l(F)||n.isNavigator||n.stockChart)||(h=0,0<a[f].labelAngle?(k=t-(Q.textBlock.height-Q.textBlock._lineHeight/2)*Math.sin(Math.PI/180*Q.textBlock.angle),F+k>s&&(a[f].convertPixelToValue(F)>=a[f].viewportMinimum&&a[f].convertPixelToValue(F)<=a[f].viewportMaximum)&&(h+=F+k-s-N)):0>a[f].labelAngle?D-y<p&&D-y<a[f].viewportMinimum&&(H=p-($+a[f].tickLength+z+D-y+a[f].labelFontSize/2)):0===a[f].labelAngle&&(F+t>s&&(a[f].convertPixelToValue(F)>=a[f].viewportMinimum&&a[f].convertPixelToValue(F)<=
686
+ a[f].viewportMaximum)&&(h=F+t/2-s-N),D-y<p&&D-y<a[f].viewportMinimum&&(H=p-$-a[f].tickLength-z-D+y/2)),a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0<a[f].labelAngle&&0<h?s-=h:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0>a[f].labelAngle&&0<H?p+=H:a[f].viewportMaximum===a[f].maximum&&a[f].viewportMinimum===a[f].minimum&&0===a[f].labelAngle&&(0<H&&(p+=H),0<h&&(s-=h)));n.panEnabled?X=l(n.sessionVariables.axisX.height)||n.stockChart?n.sessionVariables.axisX.height=
687
+ X:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=X;h=Math.round(d.y2-X-e+W)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5);k=Math.round(d.y2)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5);a[f].lineCoordinates.x2=s;a[f].lineCoordinates.width=s-p;a[f].lineCoordinates.y1=h;a[f].lineCoordinates.y2=h;a[f].bounds={x1:p,y1:h,x2:s,
688
+ y2:k-(X+e-x[f]-W),width:s-p};a[f].bounds.height=a[f].bounds.y2-a[f].bounds.y1;"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.y1=a[0].bounds.y1+W+(a[f].labelEffectiveHeight||0)+(n.isNavigator?0:2),a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2);"inside"===a[f].tickPlacement&&(a[f].lineCoordinates.y1+=a[f].tickLength,a[f].lineCoordinates.y2=a[f].lineCoordinates.y1+a[f].lineThickness/2)}W+=x[f]+a[f].margin}$=0===a[0].dataSeries.length;if(!$)for(f=0;f<a[0].dataSeries.length;f++){if(a[0].dataSeries[f].dataPoints){$=
689
+ !1;break}$=!0}if($)for($=!1,f=1;f<a.length;f++)0!==a[f].dataSeries.length&&($?a[f].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[f].lineCoordinates.x2,$=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].lineCoordinates.x1=p,g[f].lineCoordinates.x2=s,g[f].lineCoordinates.width=Math.abs(s-p),g[f]._labels&&1<g[f]._labels.length&&(h=g[f]._labels[1],Q="dateTime"===
690
+ g[f].valueType?g[f]._labels[g[f]._labels.length-2]:g[f]._labels[g[f]._labels.length-1],y=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),t=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+(Q.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle))),n.panEnabled?Y=l(n.sessionVariables.axisX2.height)||n.stockChart?n.sessionVariables.axisX2.height=
691
+ Y:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=Y,h=Math.round(d.y1)+("inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),k=g[f].lineCoordinates.y1=h+Y+J-V,g[f].lineCoordinates.y2=h,g[f].bounds={x1:p,y1:h+(Y+J-w[f]-V),x2:s,y2:k,width:s-p},g[f].bounds.height=g[f].bounds.y2-g[f].bounds.y1,"inside"===g[f].labelPlacement&&(g[f].lineCoordinates.y1=g[0].bounds.y2-V-(g[f].labelEffectiveHeight||0)-5),"inside"===
692
+ g[f].tickPlacement&&(g[f].lineCoordinates.y1-=g[f].tickLength),V+=w[f]+g[f].margin;if(c&&0<c.length)for(f=0;f<c.length;f++)$=n.isNavigator?0:10,c[f]&&(p=s=Math.round((a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1)+(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),$=Math.max(c[f]._labels&&0<c[f]._labels.length?c[f]._labels[c[f]._labels.length-1].textBlock._lineHeight/2:m,m),h=Math.round(Math.max(d.y1+Y+
693
+ J-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+5:0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),0<g.length?0:$))+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),$=0<a.length?0:c[f]._labels&&0<c[f]._labels.length?c[f]._labels[0].textBlock.height/2:m,k=Math.round(d.y2-X+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(n.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?
694
+ a[0].tickLength:0):0)-e-$)-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),c[f].lineCoordinates={x1:p-U,y1:h,x2:s-U,y2:k,height:Math.abs(k-h)},c[f].bounds={x1:p-(z[f]+U),y1:h,x2:s-U,y2:k,height:k-h},c[f].bounds.width=c[f].bounds.x2-c[f].bounds.x1,"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.x1=Math.round(c[0].bounds.x1+z[0]-U-(c[f].labelEffectiveWidth||0)-5),c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+
695
+ c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.x1-=c[f].tickLength,c[f].lineCoordinates.x2=c[f].lineCoordinates.x1+c[f].lineThickness/2),c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.height?c[f].titleMaxWidth:c[f].lineCoordinates.height),U+=z[f]+c[f].margin);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&(p=s=Math.round((a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2)-(b[0]?("inside"===b[0].labelPlacement?
696
+ b[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)),$=Math.max(b[f]._labels&&0<b[f]._labels.length?b[f]._labels[b[f]._labels.length-1].textBlock.height/2:0,m),h=Math.round(Math.max(d.y1+Y+J-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||n.isNavigator?
697
+ 0:5),0<g.length?0:$)),$=0<a.length?0:b[f]._labels&&0<b[f]._labels.length?b[f]._labels[0].textBlock.height/2:0,k=Math.round(d.y2-(X+e+$)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(n.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),b[f].lineCoordinates={x1:p+T,y1:h,x2:p+T,y2:k,height:Math.abs(k-h)},b[f].bounds={x1:p+
698
+ T,y1:h,x2:s+B[f]+T,y2:k,height:k-h},b[f].bounds.width=b[f].bounds.x2-b[f].bounds.x1,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.x1=Math.round(b[0].bounds.x1+T+(b[f].labelEffectiveWidth||0)+(n.isNavigator?0:5)),b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.x1+=b[f].tickLength,b[f].lineCoordinates.x2=b[f].lineCoordinates.x1+b[f].lineThickness/2),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<
699
+ b[f].lineCoordinates.height?b[f].titleMaxWidth:b[f].lineCoordinates.height),T+=B[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++)a[f]&&(a[f].calculateValueToPixelConversionParameters(),a[f].calculateBreaksSizeInValues(),a[f]._labels&&1<a[f]._labels.length&&(D=(a[f].logarithmic?Math.log(a[f]._labels[1].position/a[f].viewportMinimum)/a[f].conversionParameters.lnLogarithmBase:a[f]._labels[1].position-a[f].viewportMinimum)*Math.abs(a[f].conversionParameters.pixelPerUnit)+a[f].lineCoordinates.x1,
700
+ p=a[f]._labels[a[f]._labels.length-("dateTime"===a[f].valueType?2:1)].position,p=a[f].getApparentDifference(a[f].viewportMinimum,p),F=a[f].logarithmic?(1<p?Math.log(p)/a[f].conversionParameters.lnLogarithmBase*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1:(0<p?p*Math.abs(a[f].conversionParameters.pixelPerUnit):0)+a[f].lineCoordinates.x1));if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateValueToPixelConversionParameters(),g[f].calculateBreaksSizeInValues(),g[f]._labels&&
701
+ 1<g[f]._labels.length&&(D=(g[f].logarithmic?Math.log(g[f]._labels[1].position/g[f].viewportMinimum)/g[f].conversionParameters.lnLogarithmBase:g[f]._labels[1].position-g[f].viewportMinimum)*Math.abs(g[f].conversionParameters.pixelPerUnit)+g[f].lineCoordinates.x1,p=g[f]._labels[g[f]._labels.length-("dateTime"===g[f].valueType?2:1)].position,p=g[f].getApparentDifference(g[f].viewportMinimum,p),F=g[f].logarithmic?(1<p?Math.log(p)/g[f].conversionParameters.lnLogarithmBase*Math.abs(g[f].conversionParameters.pixelPerUnit):
702
+ 0)+g[f].lineCoordinates.x1:(0<p?p*Math.abs(g[f].conversionParameters.pixelPerUnit):0)+g[f].lineCoordinates.x1);for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<u){if(a&&0<a.length)for(f=0;f<a.length;f++)v=O[u-1][f]===O[u][f]?!0:!1;else v=!0;if(g&&0<g.length)for(f=0;f<g.length;f++)I=R[u-1][f]===R[u][f]?!0:!1;else I=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)M=S[u-1][f]===S[u][f]?!0:!1;else M=!0;if(b&&0<b.length)for(f=
703
+ 0;f<b.length;f++)L=E[u-1][f]===E[u][f]?!0:!1;else L=!0}if(v&&I&&M&&L)break;u++}if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),a[f].calculateBreaksInPixels();if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateStripLinesThicknessInValues(),g[f].calculateBreaksInPixels();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),
704
+ b[f].calculateBreaksInPixels()}else{m=[];D=[];H=[];y=[];t=[];F=[];O=[];for(R=[];4>u;){X=T=U=aa=$=J=e=E=S=V=Y=0;if(a&&0<a.length)for(H=[],f=T=0;f<a.length;f++)H.push(Math.ceil(a[f]?a[f].createLabelsAndCalculateWidth():0)),T+=H[f],e+=a[f]&&!n.isNavigator?a[f].margin:0;else H.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));O.push(H);if(g&&0<g.length)for(y=[],f=X=0;f<g.length;f++)y.push(Math.ceil(g[f]?g[f].createLabelsAndCalculateWidth():0)),X+=y[f],J+=g[f]?g[f].margin:0;else y.push(Math.ceil(g[0]?
705
+ g[0].createLabelsAndCalculateWidth():0));R.push(y);if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].lineCoordinates={},p=Math.round(d.x1+T+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5),s=Math.round(Math.min(d.x2-X-J+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+
706
+ (n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5),n.width-10)),c[f].labelAutoFit&&!l(x)&&(0<!a.length&&(p=0>c[f].labelAngle?Math.max(p,x):0===c[f].labelAngle?Math.max(p,x/2):p),0<!g.length&&(s=0<c[f].labelAngle?s-w/2:0===c[f].labelAngle?s-w/2:s)),c[f].lineCoordinates.x1=p,c[f].lineCoordinates.x2=s,c[f].lineCoordinates.width=Math.abs(s-p),
707
+ c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width);if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].lineCoordinates={},p=Math.round(d.x1+T+e-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||
708
+ n.isNavigator?0:5),s=Math.round(Math.min(d.x2-X-J+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||n.isNavigator?0:5),b[f].chart.width-10)),b[f]&&b[f].labelAutoFit&&!l(z)&&(0<!a.length&&(p=0<b[f].labelAngle?Math.max(p,z):0===b[f].labelAngle?Math.max(p,z/2):p),0<!g.length&&(s-=B/2)),b[f].lineCoordinates.x1=
709
+ p,b[f].lineCoordinates.x2=s,b[f].lineCoordinates.width=Math.abs(s-p),b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width);if(c&&0<c.length)for(m=[],f=U=0;f<c.length;f++)m.push(Math.ceil(c[f]?c[f].createLabelsAndCalculateHeight():0)),U+=m[f]+c[f].margin,$+=c[f].margin;else m.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));t.push(m);if(b&&0<b.length)for(D=[],f=0;f<b.length;f++)D.push(Math.ceil(b[f]?
710
+ b[f].createLabelsAndCalculateHeight():0)),aa+=b[f].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));F.push(D);if(c&&0<c.length)for(f=0;f<c.length;f++)0<c[f]._labels.length&&(h=c[f]._labels[0],Q=c[f]._labels[c[f]._labels.length-1],x=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),w=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+(Q.textBlock.height-
711
+ Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle)));if(b&&0<b.length)for(f=0;f<b.length;f++)b[f]&&0<b[f]._labels.length&&(h=b[f]._labels[0],Q=b[f]._labels[b[f]._labels.length-1],z=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)),B=Q.textBlock.width*Math.cos(Math.PI/180*Math.abs(Q.textBlock.angle))+(Q.textBlock.height-Q.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(Q.textBlock.angle)));
712
+ if(n.panEnabled)for(f=0;f<c.length;f++)m[f]=l(n.sessionVariables.axisY[f].height)?n.sessionVariables.axisY[f].height=m[f]:n.sessionVariables.axisY[f].height;else for(f=0;f<c.length;f++)n.sessionVariables.axisY[f].height=m[f];if(c&&0<c.length)for(f=c.length-1;0<=f;f--)h=Math.round(d.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),k=Math.round(d.y2>c[f].chart.height?c[f].chart.height:d.y2)-("inside"!==c[c.length-1].labelPlacement||
713
+ c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),c[f].lineCoordinates.y1=h-(m[f]+c[f].margin+Y),c[f].lineCoordinates.y2=h-(m[f]+c[f].margin+Y),"inside"===c[f].labelPlacement&&(c[f].lineCoordinates.y1=c[f].lineCoordinates.y1+c[f].labelEffectiveHeight+(n.isNavigator?0:2),c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/2),"inside"===c[f].tickPlacement&&(c[f].lineCoordinates.y1+=c[f].tickLength,c[f].lineCoordinates.y2=c[f].lineCoordinates.y1+c[f].lineThickness/
714
+ 2),c[f].bounds={x1:p,y1:h-(m[f]+Y+c[f].margin),x2:s,y2:k-(Y+c[f].margin),width:s-p,height:m[f]},c[f].title&&(c[f]._titleTextBlock.maxWidth=0<c[f].titleMaxWidth&&c[f].titleMaxWidth<c[f].lineCoordinates.width?c[f].titleMaxWidth:c[f].lineCoordinates.width),Y+=m[f]+c[f].margin;if(b&&0<b.length)for(f=b.length-1;0<=f;f--)b[f]&&(h=Math.round(d.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),k=Math.round(d.y1+(D[f]+b[f].margin+
715
+ V))+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||n.isNavigator?0:5),b[f].lineCoordinates.y1=k,b[f].lineCoordinates.y2=k,"inside"===b[f].labelPlacement&&(b[f].lineCoordinates.y1=k-b[f].labelEffectiveHeight-5,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),"inside"===b[f].tickPlacement&&(b[f].lineCoordinates.y1-=b[f].tickLength,b[f].lineCoordinates.y2=b[f].lineCoordinates.y1-b[f].lineThickness/2),b[f].bounds={x1:p,
716
+ y1:h+(b[f].margin+V),x2:s,y2:k,width:s-p},b[f].bounds.height=b[f].bounds.y2-b[f].bounds.y1,b[f].title&&(b[f]._titleTextBlock.maxWidth=0<b[f].titleMaxWidth&&b[f].titleMaxWidth<b[f].lineCoordinates.width?b[f].titleMaxWidth:b[f].lineCoordinates.width),V+=D[f]+b[f].margin);if(a&&0<a.length)for(f=0;f<a.length;f++){$=a[f]._labels&&0<a[f]._labels.length?a[f]._labels[0].textBlock.fontSize/2:0;p=Math.round(d.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max($,10)?Math.max($,10):d.y1):
717
+ d.y1<Math.max($,10)?Math.max($,10):d.y1;s=Math.round(d.x1+T+e);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:d.y2-U>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2-U):d.y2>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2;if(c&&0<c.length)for(Q=0;Q<c.length;Q++)c[Q]&&c[Q].labelAutoFit&&(s=c[Q].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),p=0>c[Q].labelAngle||0===c[Q].labelAngle?
718
+ s-T:p);if(b&&0<b.length)for(Q=0;Q<b.length;Q++)b[Q]&&b[Q].labelAutoFit&&(s=b[Q].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),p=s-T);a[f].lineCoordinates={x1:s-S,y1:h,x2:s-S,y2:k,height:Math.abs(k-h)};"inside"===a[f].labelPlacement&&(a[f].lineCoordinates.x1=a[f].lineCoordinates.x1-a[f].labelEffectiveWidth-5,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);"inside"===
719
+ a[f].tickPlacement&&(a[f].lineCoordinates.x1-=a[f].tickLength,a[f].lineCoordinates.x2=a[f].lineCoordinates.x1+a[f].lineThickness/2);a[f].bounds={x1:s-(H[f]+S),y1:h,x2:s-S,y2:k,height:k-h};a[f].bounds.width=a[f].bounds.x2-a[f].bounds.x1;a[f].title&&(a[f]._titleTextBlock.maxWidth=0<a[f].titleMaxWidth&&a[f].titleMaxWidth<a[f].lineCoordinates.height?a[f].titleMaxWidth:a[f].lineCoordinates.height);a[f].calculateValueToPixelConversionParameters();a[f].calculateBreaksSizeInValues();S+=H[f]+a[f].margin}if(g&&
720
+ 0<g.length)for(f=0;f<g.length;f++){$=g[f]._labels&&0<g[f]._labels.length?g[f]._labels[0].textBlock.fontSize/2:0;s=Math.round(d.x1-J);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max($,10)?Math.max($,10):d.y1):d.y1<Math.max($,10)?Math.max($,10):d.y1;p=Math.round(d.x2-X-J);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:d.y2-U>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2-U):d.y2>n.height-Math.max($,10)?n.height-Math.max($,10):d.y2;if(c&&0<c.length)for(Q=0;Q<c.length;Q++)c[Q]&&
721
+ c[Q].labelAutoFit&&(p=c[Q].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),s=0>c[Q].labelAngle||0===c[Q].labelAngle?p+X:p);if(b&&0<b.length)for(Q=0;Q<b.length;Q++)b[Q]&&b[Q].labelAutoFit&&(p=b[Q].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(n.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),s=p+X);g[f].lineCoordinates={x1:p+E,y1:h,
722
+ x2:p+E,y2:k,height:Math.abs(k-h)};"inside"===g[f].labelPlacement&&(g[f].lineCoordinates.x1=g[f].lineCoordinates.x1+g[f].labelEffectiveWidth+(n.isNavigator?0:5),g[f].lineCoordinates.x2=g[f].lineCoordinates.x1+g[f].lineThickness/2);"inside"===g[f].tickPlacement&&(g[f].lineCoordinates.x1+=g[f].tickLength,g[f].lineCoordinates.x2=g[f].lineCoordinates.x1+g[f].lineThickness/2);g[f].bounds={x1:p+E,y1:h,x2:p+y[f]+E,y2:k,height:k-h};g[f].bounds.width=g[f].bounds.x2-g[f].bounds.x1;g[f].title&&(g[f]._titleTextBlock.maxWidth=
723
+ 0<g[f].titleMaxWidth&&g[f].titleMaxWidth<g[f].lineCoordinates.height?g[f].titleMaxWidth:g[f].lineCoordinates.height);g[f].calculateValueToPixelConversionParameters();g[f].calculateBreaksSizeInValues();E+=y[f]+g[f].margin}for(f=0;f<q.length;f++)"axisY"===q[f].type&&(q[f].calculateValueToPixelConversionParameters(),q[f].calculateBreaksSizeInValues());if(0<u){if(a&&0<a.length)for(f=0;f<a.length;f++)v=O[u-1][f]===O[u][f]?!0:!1;else v=!0;if(g&&0<g.length)for(f=0;f<g.length;f++)I=R[u-1][f]===R[u][f]?!0:
724
+ !1;else I=!0;if(c&&0<c.length)for(f=0;f<c.length;f++)M=t[u-1][f]===t[u][f]?!0:!1;else M=!0;if(b&&0<b.length)for(f=0;f<b.length;f++)L=F[u-1][f]===F[u][f]?!0:!1;else L=!0}if(v&&I&&M&&L)break;u++}if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].calculateStripLinesThicknessInValues(),c[f].calculateBreaksInPixels();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].calculateStripLinesThicknessInValues(),b[f].calculateBreaksInPixels();if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].calculateStripLinesThicknessInValues(),
725
+ a[f].calculateBreaksInPixels();if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].calculateStripLinesThicknessInValues(),g[f].calculateBreaksInPixels()}};y.render=function(a,g,c,b,e){var d=a[0]?a[0].chart:g[0].chart,p=d.ctx,h=[];h.push.apply(h,a);h.push.apply(h,g);h.push.apply(h,c);h.push.apply(h,b);d.alignVerticalAxes&&d.alignVerticalAxes();p.save();"normal"===e&&(p.beginPath(),a&&a.length&&p.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-1].bounds.y2),g&&g.length&&p.rect(2,g[g.length-1].bounds.y1,
726
+ g[0].chart.width-4,g[0].bounds.y2),p.clip());if(a&&0<a.length)for(e=0;e<a.length;e++)a[e].renderLabelsTicksAndTitle();if(g&&0<g.length)for(e=0;e<g.length;e++)g[e].renderLabelsTicksAndTitle();p.restore();if(c&&0<c.length)for(e=0;e<c.length;e++)c[e].renderLabelsTicksAndTitle();if(b&&0<b.length)for(e=0;e<b.length;e++)b[e].renderLabelsTicksAndTitle();d.preparePlotArea();a=d.plotArea;p.save();p.beginPath();p.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),Math.abs(a.y2-a.y1));p.clip();if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("value");
727
+ for(e=0;e<h.length;e++)h[e].renderInterlacedColors()}p.restore();p=!1;if(h&&0<h.length){for(e=0;e<h.length;e++)h[e].renderGrid(),v&&(h[e].createMask(),h[e].renderBreaksBackground());for(e=0;e<h.length;e++)h[e].renderAxisLine();for(e=0;e<h.length;e++)h[e].renderStripLinesOfThicknessType("pixel"),h[e].crosshair&&h[e].crosshair.enabled&&(p=!0,d.clearedOverlayedCanvas=h[e].type)}if(p||!p&&d.clearedOverlayedCanvas&&0<=d.clearedOverlayedCanvas.indexOf("axis"))d.resetOverlayedCanvas(),d.renderCrosshairs(null,
728
+ !0)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(g,c);this.stripLines[a].value=this.convertPixelToValue((this.convertValueToPixel(g)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=
729
+ b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),
730
+ b=this.scaleBreaks&&!l(this.scaleBreaks.options.spacing),e,d=0;d<g.length;d++)e=b||!l(g[d].options.spacing),g[d].spacing=Wa(g[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/c),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};y.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=
731
+ null);for(var g=0;g<a.length&&!(a[g].startValue>this.conversionParameters.maximum);g++)a[g].endValue<this.conversionParameters.minimum||(l(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&(a[g].endPixel=this.convertValueToPixel(a[g].endValue)))}};y.prototype.renderLabelsTicksAndTitle=
732
+ function(){var a=this,g=!1,c=0,b=0,e=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=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=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,h,l=this.viewportMaximum,s=this.lineCoordinates.width/Math.log(this.range),k=this._labels.length-1;0<=k;k--){m=this._labels[k];if(m.position<this.viewportMinimum)break;m.position>
733
+ this.viewportMaximum||!(k===this._labels.length-1||h<Math.log(l/m.position)*s/e)||(c.push(m),l=m.position,h=m.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||(h=m.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=h);c>this.lineCoordinates.width*
734
+ e&&this.labelAutoFit&&(g=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,l=this.viewportMaximum,s=this.lineCoordinates.height/Math.log(this.range),k=this._labels.length-1;0<=k;k--){m=this._labels[k];if(m.position<this.viewportMinimum)break;m.position>this.viewportMaximum||!(k===this._labels.length-1||n<Math.log(l/m.position)*s)||(c.push(m),l=m.position,n=m.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+
735
+ m.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||(n=m.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});
736
+ var k=0,m,q;if("bottom"===this._position){for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(m.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()),g&&0!==d++%2&&this.labelAutoFit||
737
+ (0===m.textBlock.angle?(q.x-=m.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+m.textBlock.height-m.textBlock._lineHeight/2+2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+m.textBlock._lineHeight/2+5):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?0:m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===this.tickPlacement?
738
+ this.tickLength:0)-2-(m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(q.x=q.x-("inside"===this.labelPlacement?m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y-("inside"===
739
+ this.tickPlacement?this.tickLength:0)-2-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-(m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):q.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),m.textBlock.x=q.x,m.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<
740
+ a.viewportMinimum||m.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.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/
741
+ 2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock._lineHeight/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(m.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,
742
+ 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()),g&&0!==d++%2&&this.labelAutoFit||(0===m.textBlock.angle?(q.x-=m.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+m.textBlock._lineHeight/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+m.textBlock.height-m.textBlock._lineHeight/2)-2):0>this.labelAngle?(q.x=q.x-("inside"===this.labelPlacement?
743
+ m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)):(q.x=q.x-("inside"===this.labelPlacement?
744
+ 0:m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+m.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),q.y="inside"===this.labelPlacement?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5+m.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):q.y-("inside"===this.tickPlacement?0:this.tickLength)-2-((m.textBlock.height-m.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))),m.textBlock.x=q.x,m.textBlock.y=
745
+ q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<a.viewportMinimum||m.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.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()}},
746
+ 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+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(m.position),
747
+ 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()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(m.textBlock.y=q.y-m.textBlock.topPadding,m.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-m.textBlock.width*Math.cos(Math.PI/
748
+ 180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):0>this.labelAngle?(m.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-m.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(m.textBlock.height-
749
+ m.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(m.textBlock.y=("inside"===this.labelPlacement?q.y:q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-m.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?q.x+(m.textBlock.height-m.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-m.textBlock.width*Math.cos(Math.PI/
750
+ 180*this.labelAngle)-m.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<a.viewportMinimum||m.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<
751
+ 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+this._titleTextBlock._lineHeight/2,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"===this._position){for(k=0;k<this._labels.length;k++)m=
752
+ this._labels[k],m.position<this.viewportMinimum||m.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(m.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()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(m.textBlock.y=q.y-m.textBlock.topPadding,
753
+ m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(m.textBlock.y=("inside"===this.labelPlacement?q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-m.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(m.textBlock.height-m.textBlock.fontSize/
754
+ 2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x-m.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(m.textBlock.y=("inside"===this.labelPlacement?q.y-m.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):q.y)-m.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),m.textBlock.x="inside"===this.labelPlacement?q.x-m.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-m.textBlock.fontSize/
755
+ 2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+(m.textBlock.height-m.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(m=a._labels[k],!(m.position<a.viewportMinimum||m.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(m.position),a.tickThickness)){a.ctx.lineWidth=
756
+ 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.x2-this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=
757
+ 0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)m=a._labels[k],m.position<a.viewportMinimum||(m.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),m.textBlock.render(!0),a.ctx.restore())},this);else for(k=0;k<this._labels.length;k++)m=this._labels[k],m.position<this.viewportMinimum||(m.position>this.viewportMaximum||g&&0!==d++%2&&this.labelAutoFit)||m.textBlock.render(!0)};
758
+ y.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,g,c,b=this.chart.plotArea,e=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[e].position),c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,g.x),b.y1,Math.abs(c.x-
759
+ g.x),Math.abs(b.y1-b.y2)),g=!1):g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),g=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,g.y),Math.abs(b.x1-b.x2),Math.abs(g.y-c.y)),g=!1):g=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=
760
+ function(a){if(this.stripLines&&0<this.stripLines.length&&a){var g=this,c,b,e=0,d=0,h=!1;b=!1;for(var r=[],s=[],k=!1,n,e=0;e<this.stripLines.length;e++){var m=this.stripLines[e];m._thicknessType===a&&("pixel"===a&&(m.value<this.viewportMinimum||m.value>this.viewportMaximum||l(m.value)||isNaN(this.range))||"value"===a&&(m.startValue<=this.viewportMinimum&&m.endValue<=this.viewportMinimum||m.startValue>=this.viewportMaximum&&m.endValue>=this.viewportMaximum||l(m.startValue)||l(m.endValue)||isNaN(this.range))||
761
+ r.push(m))}for(e=0;e<this._stripLineLabels.length;e++)if(m=this.stripLines[e],c=this._stripLineLabels[e],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){m&&(this.ctx.strokeStyle=m.tickColor?m.tickColor:m.color,this.ctx.lineWidth=m.tickThickness=l(m.tickThickness)?"pixel"===m._thicknessType?m.thickness:this.thickness:m.tickThickness,l(m.opacity)||"pixel"!==m._thicknessType||
762
+ (n=m.ctx.globalAlpha,m.ctx.globalAlpha=m.opacity));if("bottom"===this._position){var q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y+m.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=m.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y+=m.tickLength+
763
+ 5+(0>this.labelAngle?Math.abs(c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-m.tickLength<<0),this.ctx.stroke()),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=m.tickLength+c.textBlock.height-
764
+ c.textBlock.fontSize/2):(b.x-=(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=m.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<
765
+ 0,0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-m.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-m.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=m.tickLength+5+(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.fontSize/2*Math.sin(Math.PI/
766
+ 180*this.labelAngle):c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<m.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+m.tickLength<<0,q),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+m.tickLength+5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),
767
+ b.x=m.tickLength+5+(0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));n&&(m.ctx.globalAlpha=n);c.textBlock.x=b.x;c.textBlock.y=b.y;s.push(c)}else m._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-
768
+ c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?l(m.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,l(m.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/
769
+ 2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?l(m.startValue)?
770
+ b.x-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,l(m.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?
771
+ this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-m.thickness/2>this.chart.plotArea.y1?l(m.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/
772
+ 2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:l(m.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:
773
+ this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-m.thickness/2>this.chart.plotArea.y1?l(m.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:l(m.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?
774
+ (this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,s.push(c));if(!k){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<r.length;e++)m=r[e],m.showOnTop?h||(h=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,
775
+ this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(d=0;d<r.length;d++)m=r[d],m.showOnTop&&m.render();this.ctx.restore()},m)):m.render();for(e=0;e<s.length;e++)c=s[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=0;d<s.length;d++)c=s[d],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,g.chart.plotArea.y1,g.chart.plotArea.width,
776
+ g.chart.plotArea.height),g.ctx.clip(),c.textBlock.render(!0),g.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();k=!0}if(k)for(b=!1,e=0;e<s.length;e++)c=s[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),
777
+ this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;v?(this.maskCanvas=wa(this.chart.width,this.chart.height),this.maskCtx=
778
+ this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var g=0;g<a.length;g++)a[g].endValue<this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};y.prototype.renderCrosshair=function(a,
779
+ g){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,g)};y.prototype.showCrosshair=function(a){l(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var g,c=this.chart.plotArea;a.lineWidth=this.gridThickness;
780
+ a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(H(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,c.y1<<0),a.lineTo(g,c.y2<<0),a.stroke());else if("left"===this._position||
781
+ "right"===this._position)for(var b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(c.x1<<0,g),a.lineTo(c.x2<<0,g),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=v?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?
782
+ -2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),e,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(H(this.lineDashType,this.lineThickness));var h=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<
783
+ 0;g.beginPath();if(this.scaleBreaks&&!l(this.scaleBreaks.firstBreakIndex))if(l(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var r=this.scaleBreaks.firstBreakIndex;r<=this.scaleBreaks.lastBreakIndex;r++)g.moveTo(e,h),g.lineTo(this.scaleBreaks._appliedBreaks[r].startPixel+c,h),e=this.scaleBreaks._appliedBreaks[r].endPixel+b;e&&(g.moveTo(e,h),g.lineTo(d,h));g.stroke()}}else if(("left"===this._position||"right"===this._position)&&
784
+ this.lineThickness){this.reversed?(e=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(H(this.lineDashType,this.lineThickness));h=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;g.beginPath();if(this.scaleBreaks&&!l(this.scaleBreaks.firstBreakIndex))if(l(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
785
+ c;else for(r=this.scaleBreaks.firstBreakIndex;r<=this.scaleBreaks.lastBreakIndex;r++)g.moveTo(h,e),g.lineTo(h,this.scaleBreaks._appliedBreaks[r].startPixel+b),e=this.scaleBreaks._appliedBreaks[r].endPixel+c;e&&(g.moveTo(h,e),g.lineTo(h,d));g.stroke()}v&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),g.clearRect(0,0,this.chart.width,
786
+ this.chart.height));g.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var g={};if("bottom"===this._position||"top"===this._position)g.x=this.convertValueToPixel(a),g.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)g.y=this.convertValueToPixel(a),g.x=this.lineCoordinates.x2;return g};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var g=0,c=0,b,g=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
787
+ a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(g)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
788
+ e[c].startValue,Math.log(b)/Math.log(e[c].size))<e[c].endValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].endValue/this.conversionParameters.minimum/Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue)),b/=Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue));g=!1}else if(b>e[c].startValue/this.conversionParameters.minimum){b/=
789
+ e[c].startValue/this.conversionParameters.minimum;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size;g=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=
790
+ e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(g)if(e[c].endValue>this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/
791
+ e[c].startValue))*b,b*=Math.pow(e[c].size,Math.log(this.conversionParameters.minimum/e[c].startValue)/Math.log(e[c].endValue/e[c].startValue));g=!1}else if(b<e[c].endValue/this.conversionParameters.minimum){b/=e[c].endValue/this.conversionParameters.minimum;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size;g=!1}else break;else if(b<e[c].endValue/e[c+1].startValue){b/=e[c].endValue/
792
+ e[c+1].startValue;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size}else break;g=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(g)if(e[c].startValue<
793
+ this.conversionParameters.minimum){if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size<e[c].endValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);g=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=
794
+ e[c].startValue-this.conversionParameters.minimum;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size;g=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>
795
+ this.conversionParameters.minimum))if(g)if(e[c].endValue>this.conversionParameters.minimum)if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),
796
+ g=!1;else if(b<e[c].endValue-this.conversionParameters.minimum){b-=e[c].endValue-this.conversionParameters.minimum;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;g=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;
797
+ b+=e[c].size}else break;g=this.conversionParameters.minimum+a}return g};y.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+
798
+ 0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};y.prototype.getApparentDifference=function(a,g,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=l(c)?g/a:c;for(var d=0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?c=c/e[d].endValue*e[d].startValue*e[d].size:a>=e[d].startValue&&g>=e[d].endValue?c=c/e[d].endValue*a*Math.pow(e[d].size,Math.log(e[d].endValue/
799
+ a)/Math.log(e[d].endValue/e[d].startValue)):a<=e[d].startValue&&g<=e[d].endValue?c=c/g*e[d].startValue*Math.pow(e[d].size,Math.log(g/e[d].startValue)/Math.log(e[d].endValue/e[d].startValue)):!b&&(a>e[d].startValue&&g<e[d].endValue)&&(c=a*Math.pow(e[d].size,Math.log(g/a)/Math.log(e[d].endValue/e[d].startValue))))}else for(c=l(c)?Math.abs(g-a):c,d=0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?c=c-e[d].endValue+e[d].startValue+e[d].size:a>e[d].startValue&&
800
+ g>=e[d].endValue?c=c-e[d].endValue+a+e[d].size*(e[d].endValue-a)/(e[d].endValue-e[d].startValue):a<=e[d].startValue&&g<e[d].endValue?c=c-g+e[d].startValue+e[d].size*(g-e[d].startValue)/(e[d].endValue-e[d].startValue):!b&&(a>e[d].startValue&&g<e[d].endValue)&&(c=a+e[d].size*(g-a)/(e[d].endValue-e[d].startValue)));return c};y.prototype.setViewPortRange=function(a,g){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,g);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
801
+ Math.max(a,g)};y.prototype.getXValueAt=function(a){if(!a)return null;var g=null;"left"===this._position?g=this.convertPixelToValue(a.y):"bottom"===this._position&&(g=this.convertPixelToValue(a.x));return g};y.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var g={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);
802
+ if(this.logarithmic)for(var e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/
803
+ a[e].endValue*this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/
804
+ 100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)));else for(e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+a[e].startValue,
805
+ c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&
806
+ this.viewportMaximum<a[e].endValue&&(b=b-this.viewportMaximum+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));g.minimum=this.viewportMinimum;g.maximum=this.viewportMaximum;g.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(g.lnLogarithmBase=Math.log(this.logarithmBase),
807
+ g.pixelPerUnit=(this.reversed?-1:1)*c*g.lnLogarithmBase/Math.log(Math.abs(b))):g.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),g.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===this._position||"right"===this._position)this.logarithmic?(g.lnLogarithmBase=Math.log(this.logarithmBase),g.pixelPerUnit=(this.reversed?1:-1)*c*g.lnLogarithmBase/Math.log(Math.abs(b))):g.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),g.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;
808
+ this.conversionParameters=g};y.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),g=!1,c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&
809
+ (b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),e,d,h,b=0;!l(this.options.viewportMinimum)&&(!l(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&(this.viewportMinimum=this.viewportMaximum=null);if(l(this.options.viewportMinimum)&&!l(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
810
+ this.minimum;if(l(this.options.viewportMaximum)&&!l(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;!l(this.minimum)&&this.viewportMinimum<this.minimum&&(this.viewportMinimum=this.minimum);!l(this.maximum)&&this.viewportMaximum>this.maximum&&(this.viewportMaximum=this.maximum);if(this.scaleBreaks)for(b=
811
+ 0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!l(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!l(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!l(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!l(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||
812
+ !l(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!l(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;d=null!==this.viewportMaximum?
813
+ this.viewportMaximum:this.dataInfo.viewPortMax;0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b);Infinity!==this.dataInfo.minDiff?h=this.dataInfo.minDiff:1<d-e?h=0.5*Math.abs(d-e):(h=1,c&&(g=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,h=Math.pow(2,50),isFinite(e)||isFinite(d)?isFinite(e)?isFinite(d)||(d=e):e=d:(d="undefined"===
814
+ typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(e>=h||d>=h||e<=-h||d<=-h)&&10>d-e?d+=9:(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)),h=Infinity!==this.dataInfo.minDiff?
815
+ this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>d&&(d=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum,null,!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=
816
+ a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType=
817
+ "millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*F.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*F.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*F.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*F.secondDuration)<=a?(this.interval=10,this.intervalType="second"):b/(15*F.secondDuration)<=
818
+ a?(this.interval=15,this.intervalType="second"):b/(20*F.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*F.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*F.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*F.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*F.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*F.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):b/(15*F.minuteDuration)<=
819
+ a?(this.interval=15,this.intervalType="minute"):b/(20*F.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*F.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*F.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*F.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*F.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*F.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):b/(1*F.dayDuration)<=a?(this.interval=1,
820
+ this.intervalType="day"):b/(2*F.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*F.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*F.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*F.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*F.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*F.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*F.monthDuration)<=a?(this.interval=2,this.intervalType="month"):b/(3*F.monthDuration)<=
821
+ a?(this.interval=3,this.intervalType="month"):b/(6*F.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*F.yearDuration)<=a?1:b/(2*F.yearDuration)<=a?2:b/(4*F.yearDuration)<=a?4:Math.floor(y.getNiceNumber(b/(a-1),!0)/F.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-h/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=d+h/2;g?this.autoValueFormatString="MMM DD YYYY HH:mm":
822
+ "year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString=
823
+ "fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=y.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:y.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d+h/2:
824
+ Math.ceil(d/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?
825
+ this.maximum:this.dataInfo.max,0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1):"axisY"===this.type&&(e=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(d)?0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,
826
+ e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)):(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||
827
+ isNaN(this.maximum))&&0>d&&(d=0)),Math.abs(this.getApparentDifference(e,d,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-h/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=d+h/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||
828
+ isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-h/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?d+h/2:Math.ceil(d/this.interval)*
829
+ this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));l(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));l(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,
830
+ this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=y.generateValueFormatString(this.range,2))}};y.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),g=Math.log(this.logarithmBase),
831
+ c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,e,d,h;h=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(h=
832
+ 0;h<this.scaleBreaks._appliedBreaks.length;h++)if((!l(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue||!l(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[h].startValue||!l(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[h].startValue)&&(!l(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue||
833
+ !l(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[h].endValue||!l(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[h].endValue)){this.scaleBreaks._appliedBreaks.splice(h,1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(h=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?
834
+ 0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-
835
+ 1/this.logarithmBase,b=1):1===e/b?(h=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=h,b/=h):b>e?(h=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===
836
+ this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);var r=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType=
837
+ "number";h=Math.pow(this.logarithmBase,y.getNiceNumber(Math.abs(Math.log(h)/g),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=y.getNiceExponent(Math.log(h)/g/(a-1),!0),c=y.getNiceNumber(r/(a-1),!0));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=
838
+ "axisX"===this.type?e*Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=y.getNiceExponent(Math.ceil(Math.log(h)/g)/(a-1)),c=y.getNiceNumber((this.viewportMaximum-
839
+ this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(h=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=h,b/=h),d=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?
840
+ this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(h=Math.pow(this.logarithmBase,this.interval),e*=h,b/=h):b>e?(h=Math.min(0.01*(b/e),5),1<=e?b=e/h:e=b*h):(h=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=h),1!==b&&(b/=h)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),d=Infinity!==this.dataInfo.minDiff?
841
+ this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(d):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval)),l(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?
842
+ "undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(d):
843
+ Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/g/this.interval)),l(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
844
+ 0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||
845
+ this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval);this.range=
846
+ this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(g=Math.floor(this.viewportMinimum/c+0.5)*c;g<this.viewportMinimum;)g+=c;this.equidistantInterval=!1;this.intervalStartPosition=g;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval))),
847
+ this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){g=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(g)||!isFinite(g))g=2;if(2<g)for(h=0;h<g-2;h++)this.valueFormatString+="#"}};y.generateValueFormatString=function(a,g){var c="#,##0.",b=g;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(b)||!isFinite(b))&&(b=g);for(var e=0;e<b;e++)c+="#";return c};y.getNiceExponent=function(a,
848
+ g){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.getNiceNumber=function(a,g){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=g?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};y.prototype.getLabelStartPoint=function(){var a=F[this.intervalType+"Duration"]*this.interval,a=
849
+ new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===
850
+ this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||
851
+ 0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ra(aa,S);ra(Y,S);Y.prototype.createUserOptions=function(a){if("undefined"!==
852
+ typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),g=this.parent.options[this.optionsName].indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][g]=this.options}};Y.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var g=
853
+ this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;W(this.id);var d,h,l,s,k,n;a=Math.max(this.spacing,
854
+ 3);var m=Math.max(0,this.lineThickness);this.ctx.lineWidth=m;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,m));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===m%2?(b.x<<0)+0.5:b.x<<0,h=1===m%2?(e.x<<0)+0.5:e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,l=this.chart.plotArea.y2+m/2+0.5<<0):(e=this.chart.plotArea.y2,l=this.chart.plotArea.y1-m/2+0.5<<0,a*=-1),this.bounds={x1:b-m/2,y1:e,x2:h+m/2,y2:l},this.ctx.moveTo(b,
855
+ e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,l),this.ctx.lineTo(h,l),this.ctx.lineTo(h,e);else if("wavy"===this.type){s=b;k=e;d=0.5;n=(l-k)/a/3;for(var q=0;q<n;q++)this.ctx.bezierCurveTo(s+d*a,k+a,s+d*a,k+2*a,s,k+3*a),k+=3*a,d*=-1;this.ctx.bezierCurveTo(s+d*a,k+a,s+d*a,k+2*a,s,k+3*a);s=h;d*=-1;this.ctx.lineTo(s,k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+d*a,k-a,s+d*a,k-2*a,s,k-3*a),k-=3*a,d*=-1}else{if("zigzag"===
856
+ this.type){d=-1;k=e+a;s=b+a;n=(l-k)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),s+=2*d*a,k+=2*a,d*=-1;this.ctx.lineTo(s,k);s+=h-b;for(q=0;q<n+1;q++)this.ctx.lineTo(s,k),s+=2*d*a,k-=2*a,d*=-1;this.ctx.lineTo(s+d*a,k+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===this.scaleBreaks.parent._position)if(e=1===m%2?(e.y<<0)+0.5:e.y<<0,l=1===m%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,h=this.chart.plotArea.x2+m/2+0.5<<0):(b=this.chart.plotArea.x2,
857
+ h=this.chart.plotArea.x1-m/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-m/2,x2:h,y2:l+m/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(h,e),this.ctx.lineTo(h,l),this.ctx.lineTo(b,l);else if("wavy"===this.type){s=b;k=e;d=0.5;n=(h-s)/a/3;for(q=0;q<n;q++)this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k),s+=3*a,d*=-1;this.ctx.bezierCurveTo(s+a,k+d*a,s+2*a,k+d*a,s+3*a,k);k=l;d*=-1;this.ctx.lineTo(s,
858
+ k);for(q=0;q<n;q++)this.ctx.bezierCurveTo(s-a,k+d*a,s-2*a,k+d*a,s-3*a,k),s-=3*a,d*=-1}else if("zigzag"===this.type){d=1;k=e-a;s=b+a;n=(h-s)/a/2;for(q=0;q<n;q++)this.ctx.lineTo(s,k),k+=2*d*a,s+=2*a,d*=-1;this.ctx.lineTo(s,k);k+=l-e;for(q=0;q<n+1;q++)this.ctx.lineTo(s,k),k+=2*d*a,s-=2*a,d*=-1;this.ctx.lineTo(s+a,k+d*a)}0<m&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=
859
+ c;this.ctx=g}};ra(ia,S);ia.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var g=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),g=this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[g]=this.options}};ia.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),
860
+ g=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<g){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=c;W(this.id);var e,d,h,l;this.ctx.lineWidth=g;this.ctx.setLineDash&&this.ctx.setLineDash(H(this.lineDashType,g));if("bottom"===this.parent._position||"top"===this.parent._position)a="pixel"===
861
+ this._thicknessType?a.x:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,e=d=1===this.ctx.lineWidth%2?(a<<0)+0.5:a<<0,h=this.chart.plotArea.y1,l=this.chart.plotArea.y2,this.bounds={x1:e-g/2,y1:h,x2:d+g/2,y2:l};else if("left"===this.parent._position||"right"===this.parent._position)a="pixel"===this._thicknessType?a.y:(this.parent.convertValueToPixel(this.endValue)+this.parent.convertValueToPixel(this.startValue))/2,h=l=1===this.ctx.lineWidth%2?(a<<
862
+ 0)+0.5:a<<0,e=this.chart.plotArea.x1,d=this.chart.plotArea.x2,this.bounds={x1:e,y1:h-g/2,x2:d,y2:l+g/2};this.ctx.moveTo(e,h);this.ctx.lineTo(d,l);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ra(ga,S);ga.prototype.showAt=function(a){if(!this.enabled)return!1;var g=this.chart,c=!1;g.resetOverlayedCanvas();g.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent,!1);var b,e="xySwapped"===g.plotInfo.axisPlacement;"bottom"===this.parent._position?b=e?g.axisY:g.axisX:
863
+ "top"===this.parent._position?b=e?g.axisY2:g.axisX2:"left"===this.parent._position?b=e?g.axisX:g.axisY:"right"===this.parent._position&&(b=e?g.axisX2:g.axisY2);if(b)for(e=0;e<b.length;e++)this.parent===b[e]&&(b[e]._crosshairValue=a>=b[e].viewportMinimum&&a<=b[e].viewportMaximum?a:null);b=["axisX","axisX2","axisY","axisY2"];for(e=0;e<b.length;e++)for(var d=b[e],h=0;h<g[d].length;h++){var r=g[d][h],s=r._crosshairValue;r.crosshair&&r.crosshair.enabled&&(this.parent===r&&(r.sessionVariables.crosshairShownByPixel=
864
+ !1,r.sessionVariables.crosshairValue=r.crosshair._updatedValue=s||a),!l(s)&&s>=r.viewportMinimum&&s<=r.viewportMaximum?(r.showCrosshair(s),this===r.crosshair&&(c=!0)):void 0!==s&&(r.sessionVariables.crosshairValue=null,r.crosshair._updatedValue=null))}this.chart.toolTip&&(this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};ga.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.toolTip&&
865
+ (this.chart.toolTip._entries&&this.chart.sessionVariables._dataHighlighted)&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);this.chart.renderCrosshairs(this.parent,!1);this.parent.sessionVariables._crosshairHidden=this._hidden=!0};ga.prototype.render=function(a,g,c){var b,e,d,h,r=null,s=null,k=null,n="";this.valueFormatString||("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(k=0,k="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?
866
+ 0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0),this.valueFormatString=y.generateValueFormatString(this.parent.range,k)));var m=null===this.opacity?1:this.opacity,q=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*
867
+ this.thickness),f=this.chart.overlaidCanvasCtx,v=f.globalAlpha;f.beginPath();f.strokeStyle=this.color;f.lineWidth=q;f.save();this.labelFontSize=Math.abs(l(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=l(this.options.labelMaxWidth)?0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=l(this.options.labelWrap)||this.labelWrap?0.3*this.chart.height:1.5*this.labelFontSize+("object"===typeof this.labelPadding?(this.labelPadding.top||0)+(this.labelPadding.bottom||
868
+ 0):2*this.labelPadding);k=new ka(f,{x:0,y:0,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,text:n,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,padding:this.labelPadding,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});
869
+ if(this.snapToDataPoint){var u=0,n=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var z=null;if("bottom"===this.parent._position||"top"===this.parent._position)u=this.parent.dataSeries[0].axisX.convertPixelToValue({y:this.parent.sessionVariables.crosshairShownByPixel?this.chart.sessionVariables.mouseY:g});else if("left"===this.parent._position||"right"===this.parent._position)u=this.parent.convertPixelToValue({y:g});for(var t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,
870
+ !0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));z=null;if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});var x=z=0;yPercent=cumulativeY=0;for(var u=Infinity,w,t=0;t<n.length;t++){if("rangeBar"===n[t].dataSeries.type||"error"===n[t].dataSeries.type){if(n[t].dataPoint.y)for(var D=0;D<n[t].dataPoint.y.length;D++)x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y[D])),x<=u&&(u=x,z=t)}else"stackedBar"===
871
+ n[t].dataSeries.type?(cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=Math.abs(a-this.parent.convertValueToPixel(cumulativeY)),x<=u&&(u=x,z=t)):"stackedBar100"===n[t].dataSeries.type?(x=n[0].dataPoint.x.getTime?n[0].dataPoint.x.getTime():n[0].dataPoint.x,l(w)&&(w=Math.abs(a-this.parent.convertValueToPixel(100*(n[0].dataSeries.dataPointEOs[n[0].index].cumulativeY/n[0].dataSeries.plotUnit.dataPointYSums[x])))),cumulativeY=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?
872
+ n[t].dataPoint.x.getTime():n[t].dataPoint.x,yPercent=100*(cumulativeY/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(a-this.parent.convertValueToPixel(yPercent)),x<=w&&(w=x,z=t)):(x=Math.abs(a-this.parent.convertValueToPixel(n[t].dataPoint.y)),x<=u&&(u=x,z=t));l(w)||(u=Math.min(u,w))}w=n[z];t=0;if("bottom"===this.parent._position||"top"===this.parent._position){if("rangeBar"===w.dataSeries.type||"error"===w.dataSeries.type){u=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(n=
873
+ 0;n<w.dataPoint.y.length;n++)x=Math.abs(a-this.parent.convertValueToPixel(w.dataPoint.y[n])),x<u&&(u=x,t=n);r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[t])<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[t])<<0;this.value=w.dataPoint.y[t];0!==w.dataPoint.y[t]%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?
874
+ 1:0)));k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[t]}):l(this.options.label)?ha(w.dataPoint.y[t],this.valueFormatString,this.chart._cultureInfo):this.label}else"stackedBar"===w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,r=1===f.lineWidth%2?(this.parent.convertValueToPixel(cumulativeY)<<0)+0.5:this.parent.convertValueToPixel(cumulativeY)<<
875
+ 0,this.value=cumulativeY,0!==cumulativeY%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:cumulativeY}):l(this.options.label)?ha(cumulativeY,this.valueFormatString,this.chart._cultureInfo):this.label):"stackedBar100"===
876
+ w.dataSeries.type?(u=Math.abs(a-this.parent.convertValueToPixel(n[0].dataPoint.y)),cumulativeY=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,yPercent=100*(cumulativeY/w.dataSeries.plotUnit.dataPointYSums[x]),r=1===f.lineWidth%2?(this.parent.convertValueToPixel(yPercent)<<0)+0.5:this.parent.convertValueToPixel(yPercent)<<0,this.value=yPercent,0!==yPercent%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,
877
+ Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:yPercent}):l(this.options.label)?ha(yPercent,this.valueFormatString,this.chart._cultureInfo):this.label):(r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y)<<0,this.value=w.dataPoint.y,0!==w.dataPoint.y%
878
+ 1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):l(this.options.label)?ha(w.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label);b=e=r;d=this.chart.plotArea.y1;h=this.chart.plotArea.y2;
879
+ this.bounds={x1:b-q/2,y1:d,x2:e+q/2,y2:h};k.x=b-k.measureText().width/2;k.x+k.width>this.chart.bounds.x2?k.x=this.chart.bounds.x2-k.width:k.x<this.chart.bounds.x1&&(k.x=this.chart.bounds.x1);k.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-k.height+this.parent.tickLength:k.fontSize/2)+2;k.y+k.height>this.chart.bounds.y2?k.y=this.chart.bounds.y2-k.height:k.y<this.chart.bounds.y1&&(k.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){d=
880
+ h=s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:d-q/2,x2:e,y2:h+q/2};t=!1;if(this.parent.labels)for(u=Math.ceil(this.parent.interval),n=0;n<this.parent.viewportMaximum;n+=u)if(this.parent.labels[n])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(u=this.parent.convertPixelToValue({y:g}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=
881
+ this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==w.dataPoint.x%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+
882
+ (5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?ha(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?Ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):
883
+ this.label;this.value=w.dataPoint.x;k.y=h+k.fontSize/2-k.measureText().height/2+2;k.y-k.fontSize/2<this.chart.bounds.y1?k.y=this.chart.bounds.y1+k.fontSize/2+2:k.y+k.measureText().height-k.fontSize/2>this.chart.bounds.y2&&(k.y=this.chart.bounds.y2-k.measureText().height+k.fontSize/2);"left"===this.parent._position?k.x=this.parent.lineCoordinates.x2-k.measureText().width:"right"===this.parent._position&&(k.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){u=
884
+ this.parent.convertPixelToValue({x:a});for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});w=n[0];b=e=r=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.x)<<0;d=this.chart.plotArea.y1;h=this.chart.plotArea.y2;
885
+ this.bounds={x1:b-q/2,y1:d,x2:e+q/2,y2:h};t=!1;if(this.parent.labels)for(u=Math.ceil(this.parent.interval),n=0;n<this.parent.viewportMaximum;n+=u)if(this.parent.labels[n])t=!0;else{t=!1;break}if(t){if("axisX"===this.parent.type)for(u=this.parent.convertPixelToValue({x:a}),z=null,t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,!0,!0))&&0<=z.index&&(k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,
886
+ value:w.dataPoint.x}):l(this.options.label)?z.dataPoint.label:this.label)}else"dateTime"!==this.parent.valueType||this.parent.logarithmic?(0!==w%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?
887
+ ha(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label):k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.x}):l(this.options.label)?Ea(w.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=w.dataPoint.x;k.x=b-k.measureText().width/2;k.x+k.width>this.chart.bounds.x2&&(k.x=this.chart.bounds.x2-k.width);k.x<this.chart.bounds.x1&&(k.x=this.chart.bounds.x1);"bottom"===this.parent._position?
888
+ k.y=this.parent.lineCoordinates.y2+k.fontSize/2+2:"top"===this.parent._position&&(k.y=this.parent.lineCoordinates.y1-k.height+k.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position){!l(this.parent.dataSeries)&&0<this.parent.dataSeries.length&&(u=this.parent.dataSeries[0].axisX.convertPixelToValue({x:this.parent.sessionVariables.crosshairShownByPixel?this.chart.sessionVariables.mouseX:a}));for(t=0;t<this.parent.dataSeries.length;t++)(z=this.parent.dataSeries[t].getDataPointAtX(u,
889
+ !0,!0))&&0<=z.index&&(z.dataSeries=this.parent.dataSeries[t],null!==z.dataPoint.y&&z.dataSeries.visible&&n.push(z));if(0===n.length)return;n.sort(function(a,b){return a.distance-b.distance});x=z=0;u=Infinity;for(t=0;t<n.length;t++){if("rangeColumn"===n[t].dataSeries.type||"rangeArea"===n[t].dataSeries.type||"error"===n[t].dataSeries.type||"rangeSplineArea"===n[t].dataSeries.type||"candlestick"===n[t].dataSeries.type||"ohlc"===n[t].dataSeries.type||"boxAndWhisker"===n[t].dataSeries.type){if(n[t].dataPoint.y)for(D=
890
+ 0;D<n[t].dataPoint.y.length;D++)x=Math.abs(g-this.parent.convertValueToPixel(n[t].dataPoint.y[D])),x<=u&&(u=x,z=t)}else"stackedColumn"===n[t].dataSeries.type?(a=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=Math.abs(g-this.parent.convertValueToPixel(a)),x<=u&&(u=x,z=t)):"stackedArea"===n[t].dataSeries.type?(a=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=Math.abs(g-this.parent.convertValueToPixel(a)),x<=u&&(u=x,z=t)):"stackedColumn100"===n[t].dataSeries.type||"stackedArea100"===
891
+ n[t].dataSeries.type?(x=n[0].dataPoint.x.getTime?n[0].dataPoint.x.getTime():n[0].dataPoint.x,l(w)&&(w=Math.abs(g-this.parent.convertValueToPixel(100*(n[0].dataSeries.dataPointEOs[n[0].index].cumulativeY/n[0].dataSeries.plotUnit.dataPointYSums[x])))),"stackedColumn100"===n[t].dataSeries.type?(s=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?n[t].dataPoint.x.getTime():n[t].dataPoint.x,a=100*(s/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(g-this.parent.convertValueToPixel(a)),
892
+ x<=w&&(w=x,z=t)):"stackedArea100"===n[t].dataSeries.type&&(s=n[t].dataSeries.dataPointEOs[n[t].index].cumulativeY,x=n[t].dataPoint.x.getTime?n[t].dataPoint.x.getTime():n[t].dataPoint.x,a=100*(s/n[t].dataSeries.plotUnit.dataPointYSums[x]),x=Math.abs(g-this.parent.convertValueToPixel(a)),x<=w&&(w=x,z=t))):"waterfall"===n[t].dataSeries.type?(x=Math.abs(g-this.parent.convertValueToPixel(n[t].dataSeries.dataPointEOs[n[t].index].cumulativeSum)),x<=u&&(w=u=x,z=t)):(x=Math.abs(g-this.parent.convertValueToPixel(n[t].dataPoint.y)),
893
+ x<=u&&(u=x,z=t));l(w)||(u=Math.min(u,w))}w=n[z];t=0;if("rangeColumn"===w.dataSeries.type||"rangeArea"===w.dataSeries.type||"error"===w.dataSeries.type||"rangeSplineArea"===w.dataSeries.type||"candlestick"===w.dataSeries.type||"ohlc"===w.dataSeries.type||"boxAndWhisker"===w.dataSeries.type){u=Math.abs(g-this.parent.convertValueToPixel(w.dataPoint.y[0]));for(n=0;n<w.dataPoint.y.length;n++)x=Math.abs(g-this.parent.convertValueToPixel(w.dataPoint.y[n])),x<u&&(u=x,t=n);s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y[t])<<
894
+ 0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y[t])<<0;0!==w.dataPoint.y[t]%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0)));k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y[t]}):l(this.options.label)?ha(w.dataPoint.y[t],this.valueFormatString,
895
+ this.chart._cultureInfo):this.label;this.value=w.dataPoint.y[t]}else"stackedColumn"===w.dataSeries.type?(a=w.dataSeries.dataPointEOs[w.index].cumulativeY,s=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?
896
+ this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedArea"===w.dataSeries.type?(a=w.dataSeries.dataPointEOs[w.index].cumulativeY,s=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/
897
+ Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"stackedColumn100"===w.dataSeries.type?(s=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,a=100*(s/w.dataSeries.plotUnit.dataPointYSums[x]),s=1===f.lineWidth%
898
+ 2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):
899
+ this.label,this.value=a):"stackedArea100"===w.dataSeries.type?(s=w.dataSeries.dataPointEOs[w.index].cumulativeY,x=w.dataPoint.x.getTime?w.dataPoint.x.getTime():w.dataPoint.x,a=100*(s/w.dataSeries.plotUnit.dataPointYSums[x]),s=1===f.lineWidth%2?(this.parent.convertValueToPixel(a)<<0)+0.5:this.parent.convertValueToPixel(a)<<0,0!==a%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>
900
+ this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:a}):l(this.options.label)?ha(a,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=a):"waterfall"===w.dataSeries.type?(s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataSeries.dataPointEOs[w.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(w.dataSeries.dataPointEOs[w.index].cumulativeSum)<<0,0!==
901
+ w.dataSeries.dataPointEOs[w.index].cumulativeSum%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataSeries.dataPointEOs[w.index].cumulativeSum}):l(this.options.label)?ha(w.dataSeries.dataPointEOs[w.index].cumulativeSum,
901
902
  this.valueFormatString,this.chart._cultureInfo):this.label,this.value=w.dataSeries.dataPointEOs[w.index].cumulativeSum):(s=1===f.lineWidth%2?(this.parent.convertValueToPixel(w.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(w.dataPoint.y)<<0,0!==w.dataPoint.y%1&&l(this.options.valueFormatString)&&(this.valueFormatString=y.generateValueFormatString(this.parent.range,Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0))),k.text=this.labelFormatter?
902
903
  this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:w.dataPoint.y}):l(this.options.label)?ha(w.dataPoint.y,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=w.dataPoint.y);d=h=s;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:d-q/2,x2:e,y2:h+q/2};k.y=h+k.fontSize/2-k.measureText().height/2+2;k.y-k.fontSize/2<this.chart.bounds.y1?k.y=this.chart.bounds.y1+k.fontSize/2+2:k.y+k.measureText().height-k.fontSize/2>this.chart.bounds.y2&&
903
904
  (k.y=this.chart.bounds.y2-k.measureText().height+k.fontSize/2);"left"===this.parent._position?k.x=this.parent.lineCoordinates.x2-k.measureText().width:"right"===this.parent._position&&(k.x=this.parent.lineCoordinates.x2)}n=null;f.globalAlpha=m;0<q&&f.setLineDash&&f.setLineDash(H(this.lineDashType,q));if("bottom"===this.parent._position||"top"===this.parent._position)"top"===this.parent._position&&k.y-k.fontSize/2<this.chart.bounds.y1&&(k.y=this.chart.bounds.y1+k.fontSize/2),"bottom"===this.parent._position&&
@@ -988,7 +989,7 @@ onComplete:b});for(a=[];0<this.animations.length;)if(g=this.animations.shift(),c
988
989
  ma)}},xClipAnimation:function(a,g){if(0!==a){var c=g.dest,b=g.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/ma,b.height/ma);c.restore()}},fadeInAnimation:function(a,g){if(0!==a){var c=g.dest,b=g.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/ma,c.canvas.height/ma);c.restore()}},easing:{linear:function(a,g,c,b){return c*a/b+g},easeOutQuad:function(a,g,c,b){return-c*(a/=b)*(a-2)+g},easeOutQuart:function(a,g,c,b){return-c*
989
990
  ((a=a/b-1)*a*a*a-1)+g},easeInQuad:function(a,g,c,b){return c*(a/=b)*a+g},easeInQuart:function(a,g,c,b){return c*(a/=b)*a*a*a+g}}},X={drawMarker:function(a,g,c,b,e,d,h,l){if(c){var s=1;c.fillStyle=d?d:"#000000";c.strokeStyle=h?h:"#000000";c.lineWidth=l?l:0;c.setLineDash&&c.setLineDash(H("solid",l));"circle"===b?(c.moveTo(a,g),c.beginPath(),c.arc(a,g,e/2,0,2*Math.PI,!1),d&&c.fill(),l&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"square"===b?
990
991
  (c.beginPath(),c.rect(a-e/2,g-e/2,e,e),d&&c.fill(),l&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,g+e/2),c.lineTo(a+e/2,g+e/2),c.lineTo(a,g-e/2),c.closePath(),d&&c.fill(),l&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s)),c.beginPath()):"cross"===b&&(c.strokeStyle=d,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,g-e/2),c.lineTo(a+e/2,g+e/2),c.stroke(),
991
- c.moveTo(a+e/2,g-e/2),c.lineTo(a-e/2,g+e/2),c.stroke())}},drawMarkers:function(a){for(var g=0;g<a.length;g++){var c=a[g];X.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return u}();s.version="v3.14.6 GA";window.CanvasJS&&(s&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=s)})();
992
+ c.moveTo(a+e/2,g-e/2),c.lineTo(a-e/2,g+e/2),c.stroke())}},drawMarkers:function(a){for(var g=0;g<a.length;g++){var c=a[g];X.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return u}();s.version="v3.14.7 GA";window.CanvasJS&&(s&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=s)})();
992
993
 
993
994
  /*
994
995
  excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.