UNPKG

highcharts

Version:
107 lines (104 loc) 111 kB
/* Highcharts Gantt JS v10.2.0 (2022-07-05) Gantt series (c) 2016-2021 Lars A. V. Cabrera License: www.highcharts.com/license */ (function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/gantt",["highcharts"],function(F){b(F);b.Highcharts=F;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function F(b,r,y,v){b.hasOwnProperty(r)||(b[r]=v.apply(null,y),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:r,module:b[r]}})))}b=b?b._modules:{};F(b,"Series/XRange/XRangePoint.js", [b["Core/Series/Point.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,r,y){var v=this&&this.__extends||function(){var b=function(n,h){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,f){h.__proto__=f}||function(h,f){for(var p in f)f.hasOwnProperty(p)&&(h[p]=f[p])};return b(n,h)};return function(n,h){function t(){this.constructor=n}b(n,h);n.prototype=null===h?Object.create(h):(t.prototype=h.prototype,new t)}}();y=y.extend;r=function(r){function n(){var h= null!==r&&r.apply(this,arguments)||this;h.options=void 0;h.series=void 0;return h}v(n,r);n.getColorByCategory=function(h,t){var f=h.options.colors||h.chart.options.colors;h=t.y%(f?f.length:h.chart.options.chart.colorCount);return{colorIndex:h,color:f&&f[h]}};n.prototype.resolveColor=function(){var h=this.series;if(h.options.colorByPoint&&!this.options.color){var t=n.getColorByCategory(h,this);h.chart.styledMode||(this.color=t.color);this.options.colorIndex||(this.colorIndex=t.colorIndex)}else this.color|| (this.color=h.color)};n.prototype.init=function(){b.prototype.init.apply(this,arguments);this.y||(this.y=0);return this};n.prototype.setState=function(){b.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())};n.prototype.getLabelConfig=function(){var h=b.prototype.getLabelConfig.call(this),t=this.series.yAxis.categories;h.x2=this.x2;h.yCategory=this.yCategory=t&&t[this.y];return h};n.prototype.isValid=function(){return"number"===typeof this.x&&"number"=== typeof this.x2};return n}(r.seriesTypes.column.prototype.pointClass);y(r.prototype,{ttBelow:!1,tooltipDateKeys:["x","x2"]});return r});F(b,"Series/XRange/XRangeComposition.js",[b["Core/Axis/Axis.js"],b["Core/Utilities.js"]],function(b,r){var y=r.addEvent,v=r.pick;y(b,"afterGetSeriesExtremes",function(){var b=this.series,n;if(this.isXAxis){var h=v(this.dataMax,-Number.MAX_VALUE);b.forEach(function(t){t.x2Data&&t.x2Data.forEach(function(f){f>h&&(h=f,n=!0)})});n&&(this.dataMax=h)}})});F(b,"Series/XRange/XRangeSeries.js", [b["Core/Globals.js"],b["Core/Color/Color.js"],b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"],b["Series/XRange/XRangePoint.js"]],function(b,r,y,v,Q){var n=this&&this.__extends||function(){var a=function(d,l){a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(l,a){l.__proto__=a}||function(l,a){for(var x in a)a.hasOwnProperty(x)&&(l[x]=a[x])};return a(d,l)};return function(d,l){function x(){this.constructor=d}a(d,l);d.prototype=null===l?Object.create(l):(x.prototype=l.prototype, new x)}}(),h=r.parse,t=y.series,f=y.seriesTypes.column,p=f.prototype,c=v.clamp,B=v.correctFloat,H=v.defined;r=v.extend;var K=v.find,g=v.isNumber,a=v.isObject,d=v.merge,w=v.pick;v=function(C){function J(){var a=null!==C&&C.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}n(J,C);J.prototype.init=function(){f.prototype.init.apply(this,arguments);this.options.stacking=void 0};J.prototype.getColumnMetrics=function(){function a(){x.series.forEach(function(a){var l=a.xAxis; a.xAxis=a.yAxis;a.yAxis=l})}var x=this.chart;a();var d=p.getColumnMetrics.call(this);a();return d};J.prototype.cropData=function(a,x,d,g){x=t.prototype.cropData.call(this,this.x2Data,x,d,g);x.xData=a.slice(x.start,x.end);return x};J.prototype.findPointIndex=function(a){var l=this.cropped,d=this.cropStart,w=this.points,c=a.id;if(c)var f=(f=K(w,function(a){return a.id===c}))?f.index:void 0;"undefined"===typeof f&&(f=(f=K(w,function(l){return l.x===a.x&&l.x2===a.x2&&!l.touched}))?f.index:void 0);l&& g(f)&&g(d)&&f>=d&&(f-=d);return f};J.prototype.translatePoint=function(l){var x=this.xAxis,G=this.yAxis,f=this.columnMetrics,E=this.options,C=E.minPointLength||0,p=(l.shapeArgs&&l.shapeArgs.width||0)/2,A=this.pointXOffset=f.offset,m=l.plotX,z=w(l.x2,l.x+(l.len||0)),u=x.translate(z,0,0,0,1);z=Math.abs(u-m);var e=this.chart.inverted,k=w(E.borderWidth,1)%2/2,q=f.offset,N=Math.round(f.width);C&&(C-=z,0>C&&(C=0),m-=C/2,u+=C/2);m=Math.max(m,-10);u=c(u,-10,x.len+10);H(l.options.pointWidth)&&(q-=(Math.ceil(l.options.pointWidth)- N)/2,N=Math.ceil(l.options.pointWidth));E.pointPlacement&&g(l.plotY)&&G.categories&&(l.plotY=G.translate(l.y,0,1,0,1,E.pointPlacement));E=Math.floor(Math.min(m,u))+k;E={x:E,y:Math.floor(l.plotY+q)+k,width:Math.floor(Math.max(m,u))+k-E,height:N,r:this.options.borderRadius};l.shapeArgs=E;e?l.tooltipPos[1]+=A+p:l.tooltipPos[0]-=p+A-E.width/2;p=E.x;A=p+E.width;0>p||A>x.len?(p=c(p,0,x.len),A=c(A,0,x.len),u=A-p,l.dlBox=d(E,{x:p,width:A-p,centerX:u?u/2:null})):l.dlBox=null;p=l.tooltipPos;A=e?1:0;u=e?0:1; f=this.columnMetrics?this.columnMetrics.offset:-f.width/2;p[A]=e?p[A]+E.width/2:p[A]+(x.reversed?-1:0)*E.width;p[u]=c(p[u]+(e?-1:1)*f,0,G.len-1);if(G=l.partialFill)a(G)&&(G=G.amount),g(G)||(G=0),l.partShapeArgs=d(E,{r:this.options.borderRadius}),m=Math.max(Math.round(z*G+l.plotX-m),0),l.clipRectArgs={x:x.reversed?E.x+z-m:E.x,y:E.y,width:m,height:E.height}};J.prototype.translate=function(){p.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)};J.prototype.drawPoint= function(l,x){var g=this.options,f=this.chart.renderer,c=l.graphic,p=l.shapeType,C=l.shapeArgs,A=l.partShapeArgs,m=l.clipRectArgs,z=l.partialFill,u=g.stacking&&!g.borderRadius,e=l.state,k=g.states[e||"normal"]||{},q="undefined"===typeof e?"attr":x;e=this.pointAttribs(l,e);k=w(this.chart.options.chart.animation,k.animation);if(l.isNull||!1===l.visible)c&&(l.graphic=c.destroy());else{if(c)c.rect[x](C);else l.graphic=c=f.g("point").addClass(l.getClassName()).add(l.group||this.group),c.rect=f[p](d(C)).addClass(l.getClassName()).addClass("highcharts-partfill-original").add(c); A&&(c.partRect?(c.partRect[x](d(A)),c.partialClipRect[x](d(m))):(c.partialClipRect=f.clipRect(m.x,m.y,m.width,m.height),c.partRect=f[p](A).addClass("highcharts-partfill-overlay").add(c).clip(c.partialClipRect)));this.chart.styledMode||(c.rect[x](e,k).shadow(g.shadow,null,u),A&&(a(z)||(z={}),a(g.partialFill)&&(z=d(g.partialFill,z)),l=z.fill||h(e.fill).brighten(-.3).get()||h(l.color||this.color).brighten(-.3).get(),e.fill=l,c.partRect[q](e,k).shadow(g.shadow,null,u)))}};J.prototype.drawPoints=function(){var a= this,d=a.getAnimationVerb();a.points.forEach(function(l){a.drawPoint(l,d)})};J.prototype.getAnimationVerb=function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"};J.prototype.isPointInside=function(a){var l=a.shapeArgs,d=a.plotX,g=a.plotY;return l?"undefined"!==typeof d&&"undefined"!==typeof g&&0<=g&&g<=this.yAxis.len&&0<=(l.x||0)+(l.width||0)&&d<=this.xAxis.len:C.prototype.isPointInside.apply(this,arguments)};J.defaultOptions=d(f.defaultOptions,{colorByPoint:!0, dataLabels:{formatter:function(){var l=this.point.partialFill;a(l)&&(l=l.amount);if(g(l)&&0<l)return B(100*l)+"%"},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:'<span style="font-size: 10px">{point.x} - {point.x2}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.yCategory}</b><br/>'},borderRadius:3,pointRange:0});return J}(f);r(v.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:t.prototype.animate,cropShoulder:1, getExtremesFromAll:!0,autoIncrement:b.noop,buildKDTree:b.noop,pointClass:Q});y.registerSeriesType("xrange",v);"";return v});F(b,"Series/Gantt/GanttPoint.js",[b["Core/Series/SeriesRegistry.js"],b["Core/Utilities.js"]],function(b,r){var y=this&&this.__extends||function(){var b=function(n,h){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,f){h.__proto__=f}||function(h,f){for(var p in f)f.hasOwnProperty(p)&&(h[p]=f[p])};return b(n,h)};return function(n,h){function t(){this.constructor= n}b(n,h);n.prototype=null===h?Object.create(h):(t.prototype=h.prototype,new t)}}(),v=r.pick;return function(b){function n(){var h=null!==b&&b.apply(this,arguments)||this;h.options=void 0;h.series=void 0;return h}y(n,b);n.setGanttPointAliases=function(h){function b(f,p){"undefined"!==typeof p&&(h[f]=p)}b("x",v(h.start,h.x));b("x2",v(h.end,h.x2));b("partialFill",v(h.completed,h.partialFill))};n.prototype.applyOptions=function(h,t){h=b.prototype.applyOptions.call(this,h,t);n.setGanttPointAliases(h); return h};n.prototype.isValid=function(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)};return n}(b.seriesTypes.xrange.prototype.pointClass)});F(b,"Core/Axis/BrokenAxis.js",[b["Extensions/Stacking.js"],b["Core/Utilities.js"]],function(b,r){var y=r.addEvent,v=r.find,D=r.fireEvent,n=r.isArray,h=r.isNumber,t=r.pick,f;(function(f){function c(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks, !1)}function p(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)}function H(){var a=this.brokenAxis;if(a&&a.hasBreaks){for(var d=this.tickPositions,g=this.tickPositions.info,c=[],w=0;w<d.length;w++)a.isInAnyBreak(d[w])||c.push(d[w]);this.tickPositions=c;this.tickPositions.info=g}}function K(){this.brokenAxis||(this.brokenAxis=new J(this))}function g(){var a=this.options.connectNulls,d=this.points,g=this.xAxis,c=this.yAxis;if(this.isDirty)for(var w=d.length;w--;){var f=d[w],p= !(null===f.y&&!1===a)&&(g&&g.brokenAxis&&g.brokenAxis.isInAnyBreak(f.x,!0)||c&&c.brokenAxis&&c.brokenAxis.isInAnyBreak(f.y,!0));f.visible=p?!1:!1!==f.options.visible}}function a(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,t(this.pointArrayMap,["y"]))}function d(a,d){var l=this,g=l.points,x,c,w,A;if(a&&a.brokenAxis&&a.brokenAxis.hasBreaks){var m=a.brokenAxis;d.forEach(function(z){x=m&&m.breakArray||[];c=a.isXAxis?a.min:t(l.options.threshold,a.min);g.forEach(function(m){A=t(m["stack"+ z.toUpperCase()],m[z]);x.forEach(function(e){if(h(c)&&h(A)){w=!1;if(c<e.from&&A>e.to||c>e.from&&A<e.from)w="pointBreak";else if(c<e.from&&A>e.from&&A<e.to||c>e.from&&A>e.to&&A<e.from)w="pointInBreak";w&&D(a,w,{point:m,brk:e})}})})})}}function w(){var a=this.currentDataGrouping,d=a&&a.gapSize;a=this.points.slice();var g=this.yAxis,c=this.options.gapSize,w=a.length-1,f;if(c&&0<w)for("value"!==this.options.gapUnit&&(c*=this.basePointRange),d&&d>c&&d>=this.basePointRange&&(c=d),f=void 0;w--;)f&&!1!== f.visible||(f=a[w+1]),d=a[w],!1!==f.visible&&!1!==d.visible&&(f.x-d.x>c&&(f=(d.x+f.x)/2,a.splice(w+1,0,{isNull:!0,x:f}),g.stacking&&this.options.stacking&&(f=g.stacking.stacks[this.stackKey][f]=new b(g,g.options.stackLabels,!1,f,this.stack),f.total=0)),f=d);return this.getGraphPath(a)}var C=[];f.compose=function(l,f){-1===C.indexOf(l)&&(C.push(l),l.keepProps.push("brokenAxis"),y(l,"init",K),y(l,"afterInit",c),y(l,"afterSetTickPositions",H),y(l,"afterSetOptions",p));if(-1===C.indexOf(f)){C.push(f); var x=f.prototype;x.drawBreaks=d;x.gappedPath=w;y(f,"afterGeneratePoints",g);y(f,"afterRender",a)}return l};var J=function(){function a(a){this.hasBreaks=!1;this.axis=a}a.isInBreak=function(a,d){var l=a.repeat||Infinity,g=a.from,c=a.to-a.from;d=d>=g?(d-g)%l:l-(g-d)%l;return a.inclusive?d<=c:d<c&&0!==d};a.lin2Val=function(d){var l=this.brokenAxis;l=l&&l.breakArray;if(!l||!h(d))return d;var g;for(g=0;g<l.length;g++){var c=l[g];if(c.from>=d)break;else c.to<d?d+=c.len:a.isInBreak(c,d)&&(d+=c.len)}return d}; a.val2Lin=function(d){var l=this.brokenAxis;l=l&&l.breakArray;if(!l||!h(d))return d;var g=d,c;for(c=0;c<l.length;c++){var f=l[c];if(f.to<=d)g-=f.len;else if(f.from>=d)break;else if(a.isInBreak(f,d)){g-=d-f.from;break}}return g};a.prototype.findBreakAt=function(a,d){return v(d,function(d){return d.from<a&&a<d.to})};a.prototype.isInAnyBreak=function(d,l){var g=this.axis,c=g.options.breaks||[],f=c.length,w;if(f&&h(d)){for(;f--;)if(a.isInBreak(c[f],d)){var A=!0;w||(w=t(c[f].showPoints,!g.isXAxis))}var m= A&&l?A&&!w:A}return m};a.prototype.setBreaks=function(d,l){var g=this,c=g.axis,f=n(d)&&!!d.length;c.isDirty=g.hasBreaks!==f;g.hasBreaks=f;c.options.breaks=c.userOptions.breaks=d;c.forceRedraw=!0;c.series.forEach(function(a){a.isDirty=!0});f||c.val2lin!==a.val2Lin||(delete c.val2lin,delete c.lin2val);f&&(c.userOptions.ordinal=!1,c.lin2val=a.lin2Val,c.val2lin=a.val2Lin,c.setExtremes=function(a,d,m,z,u){if(g.hasBreaks){for(var e=this.options.breaks||[],k;k=g.findBreakAt(a,e);)a=k.to;for(;k=g.findBreakAt(d, e);)d=k.from;d<a&&(d=a)}c.constructor.prototype.setExtremes.call(this,a,d,m,z,u)},c.setAxisTranslation=function(){c.constructor.prototype.setAxisTranslation.call(this);g.unitLength=void 0;if(g.hasBreaks){var d=c.options.breaks||[],l=[],m=[],z=t(c.pointRangePadding,0),u=0,e,k=c.userMin||c.min,q=c.userMax||c.max,f;d.forEach(function(d){e=d.repeat||Infinity;h(k)&&h(q)&&(a.isInBreak(d,k)&&(k+=d.to%e-k%e),a.isInBreak(d,q)&&(q-=q%e-d.from%e))});d.forEach(function(a){P=a.from;e=a.repeat||Infinity;if(h(k)&& h(q)){for(;P-e>k;)P-=e;for(;P<k;)P+=e;for(f=P;f<q;f+=e)l.push({value:f,move:"in"}),l.push({value:f+a.to-a.from,move:"out",size:a.breakSize})}});l.sort(function(e,k){return e.value===k.value?("in"===e.move?0:1)-("in"===k.move?0:1):e.value-k.value});var O=0;var P=k;l.forEach(function(e){O+="in"===e.move?1:-1;1===O&&"in"===e.move&&(P=e.value);0===O&&h(P)&&(m.push({from:P,to:e.value,len:e.value-P-(e.size||0)}),u+=e.value-P-(e.size||0))});g.breakArray=m;h(k)&&h(q)&&h(c.min)&&(g.unitLength=q-k-u+z,D(c, "afterBreaks"),c.staticScale?c.transA=c.staticScale:g.unitLength&&(c.transA*=(q-c.min+z)/g.unitLength),z&&(c.minPixelPadding=c.transA*(c.minPointOffset||0)),c.min=k,c.max=q)}});t(l,!0)&&c.chart.redraw()};return a}();f.Additions=J})(f||(f={}));return f});F(b,"Core/Axis/GridAxis.js",[b["Core/Axis/Axis.js"],b["Core/Axis/AxisDefaults.js"],b["Core/Globals.js"],b["Core/Utilities.js"]],function(b,r,y,v){function D(e,k){var a={width:0,height:0};k.forEach(function(k){k=e[k];if(v.isObject(k,!0)){var d=v.isObject(k.label, !0)?k.label:{};k=d.getBBox?d.getBBox().height:0;d.textStr&&!A(d.textPxLength)&&(d.textPxLength=d.getBBox().width);var m=A(d.textPxLength)?Math.round(d.textPxLength):0;d.textStr&&(m=Math.round(d.getBBox().width));a.height=Math.max(k,a.height);a.width=Math.max(m,a.width)}});"treegrid"===this.options.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode&&(a.width+=this.options.labels.indentation*((this.treeGrid.mapOfPosToGridNode[-1].height||0)-1));return a}function n(){var e=this.grid;(e&&e.columns|| []).forEach(function(e){e.getOffset()})}function h(e){if(!0===(this.options.grid||{}).enabled){var a=this.axisTitle,d=this.height,m=this.horiz,u=this.left,O=this.offset,q=this.opposite,c=this.options,l=this.top,g=this.width,f=this.tickSize(),w=a&&a.getBBox().width,A=c.title.x,N=c.title.y,x=z(c.title.margin,m?5:10);a=this.chart.renderer.fontMetrics(c.title.style.fontSize,a).f;f=(m?l+d:u)+(m?1:-1)*(q?-1:1)*(f?f[0]/2:0)+(this.side===k.bottom?a:0);e.titlePosition.x=m?u-(w||0)/2-x+A:f+(q?g:0)+O+A;e.titlePosition.y= m?f-(q?d:0)+(q?a:-a)/2+O+N:l-x+N}}function t(){var e=this.chart,k=this.options.grid;k=void 0===k?{}:k;var a=this.userOptions;if(k.enabled){var d=this.options;d.labels.align=z(d.labels.align,"center");this.categories||(d.showLastLabel=!1);this.labelRotation=0;d.labels.rotation=0}if(k.columns){d=this.grid.columns=[];for(var u=this.grid.columnIndex=0;++u<k.columns.length;){var q=m(a,k.columns[k.columns.length-u-1],{linkedTo:0,type:"category",scrollbar:{enabled:!1}});delete q.grid.columns;q=new b(this.chart, q);q.grid.isColumn=!0;q.grid.columnIndex=u;E(e.axes,q);E(e[this.coll],q);d.push(q)}}}function f(){var e=this.grid,a=this.options;if(!0===(a.grid||{}).enabled){var d=this.min||0,m=this.max||0;this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions);this.rightWall&&this.rightWall.destroy();if(this.grid&&this.grid.isOuterAxis()&&this.axisLine){var u=a.lineWidth;if(u){u=this.getLinePath(u);var q=u[0],c=u[1],z=((this.tickSize("tick")||[1])[0]-1)*(this.side===k.top||this.side=== k.left?-1:1);"M"===q[0]&&"L"===c[0]&&(this.horiz?(q[2]+=z,c[2]+=z):(q[1]+=z,c[1]+=z));!this.horiz&&this.chart.marginRight&&(q=[q,["L",this.left,q[2]||0]],z=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(m+this.tickmarkOffset)],c=[["M",c[1]||0,this.toPixels(m+this.tickmarkOffset)],z],this.grid.upperBorder||0===d%1||(this.grid.upperBorder=this.grid.renderBorder(q)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:a.lineColor,"stroke-width":a.lineWidth}),this.grid.upperBorder.animate({d:q})), this.grid.lowerBorder||0===m%1||(this.grid.lowerBorder=this.grid.renderBorder(c)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:a.lineColor,"stroke-width":a.lineWidth}),this.grid.lowerBorder.animate({d:c})));this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:a.lineColor,"stroke-width":a.lineWidth}),this.grid.axisLineExtra.animate({d:u})):this.grid.axisLineExtra=this.grid.renderBorder(u);this.axisLine[this.showAxis?"show":"hide"]()}}(e&&e.columns||[]).forEach(function(e){return e.render()}); if(!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)){e=this.tickmarkOffset;a=this.tickPositions[this.tickPositions.length-1];u=this.tickPositions[0];for(q=c=void 0;(c=this.hiddenLabels.pop())&&c.element;)c.show();for(;(q=this.hiddenMarks.pop())&&q.element;)q.show();(c=this.ticks[u].label)&&(d-u>e?this.hiddenLabels.push(c.hide()):c.show());(c=this.ticks[a].label)&&(a-m>e?this.hiddenLabels.push(c.hide()):c.show());(d=this.ticks[a].mark)&&a-m<e&&0< a-m&&this.ticks[a].isLast&&this.hiddenMarks.push(d.hide())}}}function p(){var e=this.tickPositions&&this.tickPositions.info,k=this.options,a=this.userOptions.labels||{};(k.grid||{}).enabled&&(this.horiz?(this.series.forEach(function(e){e.options.pointRange=0}),e&&k.dateTimeLabelFormats&&k.labels&&!M(a.align)&&(!1===k.dateTimeLabelFormats[e.unitName].range||1<e.count)&&(k.labels.align="left",M(a.x)||(k.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset= this.tickInterval))}function c(e){var k=this.options;e=e.userOptions;var a=k&&v.isObject(k.grid,!0)?k.grid:{};if(!0===a.enabled){var d=m(!0,{className:"highcharts-grid-axis "+(e.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second", [1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},e);"xAxis"===this.coll&&(M(e.linkedTo)&&!M(e.tickPixelInterval)&&(d.tickPixelInterval=350),M(e.tickPixelInterval)||!M(e.linkedTo)||M(e.tickPositioner)||M(e.tickInterval)||(d.tickPositioner=function(e,k){var a=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(a){for(var m=d.units||[],q=void 0,c=1,z="year",O=0;O<m.length;O++){var l=m[O];if(l&&l[0]===a.unitName){q= O;break}}(m=A(q)&&m[q+1])?(z=m[0]||"year",c=(c=m[1])&&c[0]||1):"year"===a.unitName&&(c=10*a.count);a=u[z];this.tickInterval=a*c;return this.chart.time.getTimeTicks({unitRange:a,count:c,unitName:z},e,k,this.options.startOfWeek)}}));m(!0,this.options,d);this.horiz&&(k.minPadding=z(e.minPadding,0),k.maxPadding=z(e.maxPadding,0));A(k.grid.borderWidth)&&(k.tickWidth=k.lineWidth=a.borderWidth)}}function B(e){e=(e=e.userOptions)&&e.grid||{};var k=e.columns;e.enabled&&k&&m(!0,this.options,k[k.length-1])} function H(){(this.grid.columns||[]).forEach(function(e){return e.setScale()})}function K(e){var k=r.defaultLeftAxisOptions,a=this.horiz,d=this.maxLabelDimensions,m=this.options.grid;m=void 0===m?{}:m;m.enabled&&d&&(k=2*Math.abs(k.labels.x),a=a?m.cellHeight||k+d.height:k+d.width,I(e.tickSize)?e.tickSize[0]=a:e.tickSize=[a,0])}function g(){this.axes.forEach(function(e){(e.grid&&e.grid.columns||[]).forEach(function(e){e.setAxisSize();e.setAxisTranslation()})})}function a(e){var k=this.grid;(k.columns|| []).forEach(function(k){return k.destroy(e.keepEvents)});k.columns=void 0}function d(e){e=e.userOptions||{};var k=e.grid||{};k.enabled&&M(k.borderColor)&&(e.tickColor=e.lineColor=k.borderColor);this.grid||(this.grid=new N(this));this.hiddenLabels=[];this.hiddenMarks=[]}function w(e){var a=this.label,d=this.axis,m=d.reversed,q=d.chart,c=d.options.grid||{},u=d.options.labels,z=u.align,l=k[d.side],g=e.tickmarkOffset,f=d.tickPositions,O=this.pos-g;f=A(f[e.index+1])?f[e.index+1]-g:(d.max||0)+g;var w=d.tickSize("tick"); g=w?w[0]:0;w=w?w[1]/2:0;if(!0===c.enabled){if("top"===l){c=d.top+d.offset;var N=c-g}else"bottom"===l?(N=q.chartHeight-d.bottom+d.offset,c=N+g):(c=d.top+d.len-(d.translate(m?f:O)||0),N=d.top+d.len-(d.translate(m?O:f)||0));"right"===l?(l=q.chartWidth-d.right+d.offset,m=l+g):"left"===l?(m=d.left+d.offset,l=m-g):(l=Math.round(d.left+(d.translate(m?f:O)||0))-w,m=Math.min(Math.round(d.left+(d.translate(m?O:f)||0))-w,d.left+d.len));this.slotWidth=m-l;e.pos.x="left"===z?l:"right"===z?m:l+(m-l)/2;e.pos.y= N+(c-N)/2;q=q.renderer.fontMetrics(u.style.fontSize,a&&a.element);a=a?a.getBBox().height:0;u.useHTML?e.pos.y+=q.b+-(a/2):(a=Math.round(a/q.h),e.pos.y+=(q.b-(q.h-q.f))/2+-((a-1)*q.h/2));e.pos.x+=d.horiz&&u.x||0}}function C(e){var k=e.axis,a=e.value;if(k.options.grid&&k.options.grid.enabled){var d=k.tickPositions,q=(k.linkedParent||k).series[0],c=a===d[0];d=a===d[d.length-1];var u=q&&L(q.options.data,function(e){return e[k.isXAxis?"x":"y"]===a}),z=void 0;u&&q.is("gantt")&&(z=m(u),y.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(z)); e.isFirst=c;e.isLast=d;e.point=z}}function J(){var e=this.options,k=this.categories,a=this.tickPositions,d=a[0],m=a[a.length-1],q=this.linkedParent&&this.linkedParent.min||this.min,c=this.linkedParent&&this.linkedParent.max||this.max,u=this.tickInterval;!0!==(e.grid||{}).enabled||k||!this.horiz&&!this.isLinked||(d<q&&d+u>q&&!e.startOnTick&&(a[0]=q),m>c&&m-u<c&&!e.endOnTick&&(a[a.length-1]=c))}function l(e){var k=this.options.grid;return!0===(void 0===k?{}:k).enabled&&this.categories?this.tickInterval: e.apply(this,Array.prototype.slice.call(arguments,1))}var x=y.dateFormats,G=v.addEvent,M=v.defined,E=v.erase,L=v.find,I=v.isArray,A=v.isNumber,m=v.merge,z=v.pick,u=v.timeUnits,e=v.wrap,k;(function(e){e[e.top=0]="top";e[e.right=1]="right";e[e.bottom=2]="bottom";e[e.left=3]="left"})(k||(k={}));var q=[],N=function(){function e(e){this.axis=e}e.prototype.isOuterAxis=function(){var e=this.axis,k=e.grid.columnIndex,a=e.linkedParent&&e.linkedParent.grid.columns||e.grid.columns,d=k?e.linkedParent:e,m=-1, q=0;(e.chart[e.coll]||[]).forEach(function(k,a){k.side!==e.side||k.options.isInternal||(q=a,k===d&&(m=a))});return q===m&&(A(k)?a.length===k:!0)};e.prototype.renderBorder=function(e){var k=this.axis,a=k.chart.renderer,d=k.options;e=a.path(e).addClass("highcharts-axis-line").add(k.axisBorder);a.styledMode||e.attr({stroke:d.lineColor,"stroke-width":d.lineWidth,zIndex:7});return e};return e}();x.E=function(e){return this.dateFormat("%a",e,!0).charAt(0)};x.W=function(e){var k=this,a=new this.Date(e); ["Hours","Milliseconds","Minutes","Seconds"].forEach(function(e){k.set(e,a,0)});var d=(this.get("Day",a)+6)%7;e=new this.Date(a.valueOf());this.set("Date",e,this.get("Date",a)-d+3);d=new this.Date(this.get("FullYear",e),0,1);4!==this.get("Day",d)&&(this.set("Month",a,0),this.set("Date",a,1+(11-this.get("Day",d))%7));return(1+Math.floor((e.valueOf()-d.valueOf())/6048E5)).toString()};"";return{compose:function(k,m,u){-1===q.indexOf(k)&&(q.push(k),k.keepProps.push("grid"),k.prototype.getMaxLabelDimensions= D,e(k.prototype,"unsquish",l),G(k,"init",d),G(k,"afterGetOffset",n),G(k,"afterGetTitlePosition",h),G(k,"afterInit",t),G(k,"afterRender",f),G(k,"afterSetAxisTranslation",p),G(k,"afterSetOptions",c),G(k,"afterSetOptions",B),G(k,"afterSetScale",H),G(k,"afterTickSize",K),G(k,"trimTicks",J),G(k,"destroy",a));-1===q.indexOf(m)&&G(m,"afterSetChartSize",g);-1===q.indexOf(u)&&(G(u,"afterGetLabelPosition",w),G(u,"labelFormat",C));return k}}});F(b,"Gantt/Tree.js",[b["Core/Utilities.js"]],function(b){var r=b.extend, y=b.isNumber,v=b.pick,D=function(b,n){var f=b.reduce(function(f,c){var p=v(c.parent,"");"undefined"===typeof f[p]&&(f[p]=[]);f[p].push(c);return f},{});Object.keys(f).forEach(function(p,c){var b=f[p];""!==p&&-1===n.indexOf(p)&&(b.forEach(function(f){c[""].push(f)}),delete c[p])});return f},n=function(b,t,f,p,c,B){var h=0,K=0,g=B&&B.after,a=B&&B.before;t={data:p,depth:f-1,id:b,level:f,parent:t};var d,w;"function"===typeof a&&a(t,B);a=(c[b]||[]).map(function(a){var g=n(a.id,b,f+1,a,c,B),l=a.start;a= !0===a.milestone?l:a.end;d=!y(d)||l<d?l:d;w=!y(w)||a>w?a:w;h=h+1+g.descendants;K=Math.max(g.height+1,K);return g});p&&(p.start=v(p.start,d),p.end=v(p.end,w));r(t,{children:a,descendants:h,height:K});"function"===typeof g&&g(t,B);return t};return{getListOfParents:D,getNode:n,getTree:function(b,t){var f=b.map(function(f){return f.id});b=D(b,f);return n("",null,1,null,b,t)}}});F(b,"Core/Axis/TreeGridTick.js",[b["Core/Utilities.js"]],function(b){var r=b.addEvent,y=b.isObject,v=b.isNumber,D=b.pick,n=b.wrap, h;(function(b){function f(){this.treeGrid||(this.treeGrid=new K(this))}function p(c,a){c=c.treeGrid;var d=!c.labelIcon,f=a.renderer,g=a.xy,b=a.options,l=b.width||0,x=b.height||0,p=g.x-l/2-(b.padding||0);g=g.y-x/2;var h=a.collapsed?90:180,B=a.show&&v(g),n=c.labelIcon;n||(c.labelIcon=n=f.path(f.symbols[b.type](b.x||0,b.y||0,l,x)).addClass("highcharts-label-icon").add(a.group));n[B?"show":"hide"]();f.styledMode||n.attr({cursor:"pointer",fill:D(a.color,"#666666"),"stroke-width":1,stroke:b.lineColor,strokeWidth:b.lineWidth|| 0});n[d?"attr":"animate"]({translateX:p,translateY:g,rotation:h})}function c(c,a,d,f,b,p,l,x,h){var g=D(this.options&&this.options.labels,p);p=this.pos;var w=this.axis,C="treegrid"===w.options.type;c=c.apply(this,[a,d,f,b,g,l,x,h]);C&&(a=g&&y(g.symbol,!0)?g.symbol:{},g=g&&v(g.indentation)?g.indentation:0,p=(p=(w=w.treeGrid.mapOfPosToGridNode)&&w[p])&&p.depth||1,c.x+=(a.width||0)+2*(a.padding||0)+(p-1)*g);return c}function h(c){var a=this,d=a.pos,f=a.axis,g=a.label,b=f.treeGrid.mapOfPosToGridNode, l=f.options,x=D(a.options&&a.options.labels,l&&l.labels),h=x&&y(x.symbol,!0)?x.symbol:{},B=(b=b&&b[d])&&b.depth;l="treegrid"===l.type;var n=-1<f.tickPositions.indexOf(d);d=f.chart.styledMode;l&&b&&g&&g.element&&g.addClass("highcharts-treegrid-node-level-"+B);c.apply(a,Array.prototype.slice.call(arguments,1));l&&g&&g.element&&b&&b.descendants&&0<b.descendants&&(f=f.treeGrid.isCollapsed(b),p(a,{color:!d&&g.styles&&g.styles.color||"",collapsed:f,group:g.parentGroup,options:h,renderer:g.renderer,show:n, xy:g.xy}),h="highcharts-treegrid-node-"+(f?"expanded":"collapsed"),g.addClass("highcharts-treegrid-node-"+(f?"collapsed":"expanded")).removeClass(h),d||g.css({cursor:"pointer"}),[g,a.treeGrid.labelIcon].forEach(function(d){d&&!d.attachedTreeGridEvents&&(r(d.element,"mouseover",function(){g.addClass("highcharts-treegrid-node-active");g.renderer.styledMode||g.css({textDecoration:"underline"})}),r(d.element,"mouseout",function(){var a=y(x.style)?x.style:{};g.removeClass("highcharts-treegrid-node-active"); g.renderer.styledMode||g.css({textDecoration:a.textDecoration})}),r(d.element,"click",function(){a.treeGrid.toggleCollapse()}),d.attachedTreeGridEvents=!0)}))}var H=!1;b.compose=function(g){H||(r(g,"init",f),n(g.prototype,"getLabelPosition",c),n(g.prototype,"renderLabel",h),g.prototype.collapse=function(a){this.treeGrid.collapse(a)},g.prototype.expand=function(a){this.treeGrid.expand(a)},g.prototype.toggleCollapse=function(a){this.treeGrid.toggleCollapse(a)},H=!0)};var K=function(){function c(a){this.tick= a}c.prototype.collapse=function(a){var d=this.tick,c=d.axis,g=c.brokenAxis;g&&c.treeGrid.mapOfPosToGridNode&&(d=c.treeGrid.collapse(c.treeGrid.mapOfPosToGridNode[d.pos]),g.setBreaks(d,D(a,!0)))};c.prototype.destroy=function(){this.labelIcon&&this.labelIcon.destroy()};c.prototype.expand=function(a){var d=this.tick,c=d.axis,g=c.brokenAxis;g&&c.treeGrid.mapOfPosToGridNode&&(d=c.treeGrid.expand(c.treeGrid.mapOfPosToGridNode[d.pos]),g.setBreaks(d,D(a,!0)))};c.prototype.toggleCollapse=function(a){var d= this.tick,c=d.axis,g=c.brokenAxis;g&&c.treeGrid.mapOfPosToGridNode&&(d=c.treeGrid.toggleCollapse(c.treeGrid.mapOfPosToGridNode[d.pos]),g.setBreaks(d,D(a,!0)))};return c}();b.Additions=K})(h||(h={}));return h});F(b,"Series/TreeUtilities.js",[b["Core/Color/Color.js"],b["Core/Utilities.js"]],function(b,r){function y(b,c){var p=c.before,h=c.idRoot,n=c.mapIdToNode[h],g=c.points[b.i],a=g&&g.options||{},d=[],w=0;b.levelDynamic=b.level-(!1!==c.levelIsConstant?0:n.level);b.name=f(g&&g.name,"");b.visible=h=== b.id||!0===c.visible;"function"===typeof p&&(b=p(b,c));b.children.forEach(function(a,g){var f=v({},c);v(f,{index:g,siblings:b.children.length,visible:b.visible});a=y(a,f);d.push(a);a.visible&&(w+=a.val)});p=f(a.value,w);b.visible=0<=p&&(0<w||b.visible);b.children=d;b.childrenTotal=w;b.isLeaf=b.visible&&!w;b.val=p;return b}var v=r.extend,D=r.isArray,n=r.isNumber,h=r.isObject,t=r.merge,f=r.pick;return{getColor:function(p,c){var h=c.index,n=c.mapOptionsToLevel,K=c.parentColor,g=c.parentColorIndex,a= c.series,d=c.colors,w=c.siblings,C=a.points,t=a.chart.options.chart,l;if(p){C=C[p.i];p=n[p.level]||{};if(n=C&&p.colorByPoint){var x=C.index%(d?d.length:t.colorCount);var G=d&&d[x]}if(!a.chart.styledMode){d=C&&C.options.color;t=p&&p.color;if(l=K)l=(l=p&&p.colorVariation)&&"brightness"===l.key&&h&&w?b.parse(K).brighten(h/w*l.to).get():K;l=f(d,t,G,l,a.color)}var r=f(C&&C.options.colorIndex,p&&p.colorIndex,x,g,c.colorIndex)}return{color:l,colorIndex:r}},getLevelOptions:function(b){var c=null;if(h(b)){c= {};var p=n(b.from)?b.from:1;var H=b.levels;var K={};var g=h(b.defaults)?b.defaults:{};D(H)&&(K=H.reduce(function(a,d){if(h(d)&&n(d.level)){var c=t({},d);var b=f(c.levelIsConstant,g.levelIsConstant);delete c.levelIsConstant;delete c.level;d=d.level+(b?0:p-1);h(a[d])?t(!0,a[d],c):a[d]=c}return a},{}));H=n(b.to)?b.to:1;for(b=0;b<=H;b++)c[b]=t({},g,h(K[b])?K[b]:{})}return c},setTreeValues:y,updateRootId:function(b){if(h(b)){var c=h(b.options)?b.options:{};c=f(b.rootNode,c.rootId,"");h(b.userOptions)&& (b.userOptions.rootId=c);b.rootNode=c}return c}}});F(b,"Core/Axis/TreeGridAxis.js",[b["Core/Axis/BrokenAxis.js"],b["Core/Axis/GridAxis.js"],b["Gantt/Tree.js"],b["Core/Axis/TreeGridTick.js"],b["Series/TreeUtilities.js"],b["Core/Utilities.js"]],function(b,r,y,v,Q,n){var h=Q.getLevelOptions,t=n.addEvent,f=n.find,p=n.fireEvent,c=n.isArray,B=n.isObject,H=n.isString,K=n.merge,g=n.pick,a=n.wrap,d;(function(d){function w(a,d){var c=a.collapseEnd||0;a=a.collapseStart||0;c>=d&&(a-=.5);return{from:a,to:c,showPoints:!1}} function n(a,d,c){var m=[],u=[],e={},k="boolean"===typeof d?d:!1,q={},g=-1;a=y.getTree(a,{after:function(e){e=q[e.pos];var k=0,a=0;e.children.forEach(function(e){a+=(e.descendants||0)+1;k=Math.max((e.height||0)+1,k)});e.descendants=a;e.height=k;e.collapsed&&u.push(e)},before:function(a){var d=B(a.data,!0)?a.data:{},c=H(d.name)?d.name:"",u=e[a.parent];u=B(u,!0)?q[u.pos]:null;var z=function(e){return e.name===c},l;k&&B(u,!0)&&(l=f(u.children,z))?(z=l.pos,l.nodes.push(a)):z=g++;q[z]||(q[z]=l={depth:u? u.depth+1:0,name:c,id:d.id,nodes:[a],children:[],pos:z},-1!==z&&m.push(c),B(u,!0)&&u.children.push(l));H(a.id)&&(e[a.id]=a);l&&!0===d.collapsed&&(l.collapsed=!0);a.pos=z}});q=function(e,k){var a=function(e,d,c){var m=d+(-1===d?0:k-1),q=(m-d)/2,u=d+q;e.nodes.forEach(function(e){var k=e.data;B(k,!0)&&(k.y=d+(k.seriesIndex||0),delete k.seriesIndex);e.pos=u});c[u]=e;e.pos=u;e.tickmarkOffset=q+.5;e.collapseStart=m+.5;e.children.forEach(function(e){a(e,m+1,c);m=(e.collapseEnd||0)-.5});e.collapseEnd=m+.5; return c};return a(e["-1"],-1,{})}(q,c);return{categories:m,mapOfIdToNode:e,mapOfPosToGridNode:q,collapsedNodes:u,tree:a}}function l(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(d){var m=d.options||{},g=m.labels,u=m.uniqueNames;m=m.max;var e=0;if(!d.treeGrid.mapOfPosToGridNode||d.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty})){var k=d.series.reduce(function(k,a){a.visible&&((a.options.data||[]).forEach(function(d){a.options.keys&& a.options.keys.length&&(d=a.pointClass.prototype.optionsToObject.call({series:a},d),a.pointClass.setGanttPointAliases(d));B(d,!0)&&(d.seriesIndex=e,k.push(d))}),!0===u&&e++);return k},[]);if(m&&k.length<m)for(var q=k.length;q<=m;q++)k.push({name:q+"\u200b"});m=n(k,u||!1,!0===u?e:1);d.categories=m.categories;d.treeGrid.mapOfPosToGridNode=m.mapOfPosToGridNode;d.hasNames=!0;d.treeGrid.tree=m.tree;d.series.forEach(function(e){var a=(e.options.data||[]).map(function(a){c(a)&&e.options.keys&&e.options.keys.length&& k.forEach(function(e){0<=a.indexOf(e.x)&&0<=a.indexOf(e.x2)&&(a=e)});return B(a,!0)?K(a):a});e.visible&&e.setData(a,!1)});d.treeGrid.mapOptionsToLevel=h({defaults:g,from:1,levels:g&&g.levels,to:d.treeGrid.tree&&d.treeGrid.tree.height});"beforeRender"===a.type&&(d.treeGrid.collapsedNodes=m.collapsedNodes)}})}function x(a,d){var c=this.treeGrid.mapOptionsToLevel||{},g=this.ticks,u=g[d],e;if("treegrid"===this.options.type&&this.treeGrid.mapOfPosToGridNode){var k=this.treeGrid.mapOfPosToGridNode[d];(c= c[k.depth])&&(e={labels:c});!u&&E?g[d]=new E(this,d,void 0,void 0,{category:k.name,tickmarkOffset:k.tickmarkOffset,options:e}):(u.parameters.category=k.name,u.options=e,u.addLabel())}else a.apply(this,Array.prototype.slice.call(arguments,1))}function G(a,d,c){var m=this,u="treegrid"===c.type;m.treeGrid||(m.treeGrid=new D(m));u&&(t(d,"beforeRender",l),t(d,"beforeRedraw",l),t(d,"addSeries",function(e){e.options.data&&(e=n(e.options.data,c.uniqueNames||!1,1),m.treeGrid.collapsedNodes=(m.treeGrid.collapsedNodes|| []).concat(e.collapsedNodes))}),t(m,"foundExtremes",function(){m.treeGrid.collapsedNodes&&m.treeGrid.collapsedNodes.forEach(function(e){var a=m.treeGrid.collapse(e);m.brokenAxis&&(m.brokenAxis.setBreaks(a,!1),m.treeGrid.collapsedNodes&&(m.treeGrid.collapsedNodes=m.treeGrid.collapsedNodes.filter(function(a){return e.collapseStart!==a.collapseStart||e.collapseEnd!==a.collapseEnd})))})}),t(m,"afterBreaks",function(){"yAxis"===m.coll&&!m.staticScale&&m.chart.options.chart.height&&(m.isDirty=!0)}),c=K({grid:{enabled:!0}, labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},c,{reversed:!0,grid:{columns:void 0}}));a.apply(m,[d,c]);u&&(m.hasNames=!0,m.options.showLastLabel=!0)}function M(a){var d=this.options;"treegrid"===d.type?(this.min=g(this.userMin,d.min,this.dataMin),this.max=g(this.userMax,d.max,this.dataMax),p(this,"foundExtremes"),this.setAxisTranslation(),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions= this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):a.apply(this,Array.prototype.slice.call(arguments,1))}var E;d.compose=function(d,c,m,g){-1===d.keepProps.indexOf("treeGrid")&&(d.keepProps.push("treeGrid"),E=g,a(d.prototype,"generateTick",x),a(d.prototype,"init",G),a(d.prototype,"setTickInterval",M),d.prototype.utils={getNode:y.getNode},r.compose(d,c,g),b.compose(d,m),v.compose(g));return d};var D=function(){function a(a){this.axis=a}a.prototype.setCollapsedStatus=function(a){var d= this.axis,c=d.chart;d.series.forEach(function(d){var e=d.options.data;if(a.id&&e){var k=c.get(a.id);d=e[d.data.indexOf(k)];k&&d&&(k.collapsed=a.collapsed,d.collapsed=a.collapsed)}})};a.prototype.collapse=function(a){var d=this.axis,c=d.options.breaks||[],u=w(a,d.max);c.push(u);a.collapsed=!0;d.treeGrid.setCollapsedStatus(a);return c};a.prototype.expand=function(a){var d=this.axis,c=d.options.breaks||[],u=w(a,d.max);a.collapsed=!1;d.treeGrid.setCollapsedStatus(a);return c.reduce(function(e,a){a.to=== u.to&&a.from===u.from||e.push(a);return e},[])};a.prototype.getTickPositions=function(){var a=this.axis,d=Math.floor(a.min/a.tickInterval)*a.tickInterval,c=Math.ceil(a.max/a.tickInterval)*a.tickInterval;return Object.keys(a.treeGrid.mapOfPosToGridNode||{}).reduce(function(m,e){e=+e;!(e>=d&&e<=c)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(e)||m.push(e);return m},[])};a.prototype.isCollapsed=function(a){var d=this.axis,c=d.options.breaks||[],u=w(a,d.max);return c.some(function(e){return e.from===u.from&& e.to===u.to})};a.prototype.toggleCollapse=function(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)};return a}();d.Additions=D})(d||(d={}));return d});F(b,"Extensions/CurrentDateIndication.js",[b["Core/Axis/Axis.js"],b["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],b["Core/Utilities.js"]],function(b,r,y){var v=y.addEvent,D=y.merge;y=y.wrap;var n={color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(b,n){return this.axis.chart.time.dateFormat(n||"",b)},rotation:0, style:{fontSize:"10px"}}};v(b,"afterSetOptions",function(){var b=this.options,t=b.currentDateIndicator;t&&(t="object"===typeof t?D(n,t):D(n),t.value=Date.now(),t.className="highcharts-current-date-indicator",b.plotLines||(b.plotLines=[]),b.plotLines.push(t))});v(r,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})});y(r.prototype,"getLabelText",function(b,n){var f=this.options;return f&&f.className&&-1!==f.className.indexOf("highcharts-current-date-indicator")&& f.label&&"function"===typeof f.label.formatter?(f.value=Date.now(),f.label.formatter.call(this,f.value,f.label.format)):b.call(this,n)})});F(b,"Extensions/StaticScale.js",[b["Core/Axis/Axis.js"],b["Core/Chart/Chart.js"],b["Core/Utilities.js"]],function(b,r,y){var v=y.addEvent,D=y.defined,n=y.isNumber,h=y.pick;v(b,"afterSetOptions",function(){var b=this.chart.options.chart;!this.horiz&&n(this.options.staticScale)&&(!b.height||b.scrollablePlotArea&&b.scrollablePlotArea.minHeight)&&(this.staticScale= this.options.staticScale)});r.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(b){var f=b.chart,n=!!f.initiatedScale&&f.options.animation,c=b.options.staticScale;if(b.staticScale&&D(b.min)){var B=h(b.brokenAxis&&b.brokenAxis.unitLength,b.max+b.tickInterval-b.min)*c;B=Math.max(B,c);c=B-f.plotHeight;!f.scrollablePixelsY&&1<=Math.abs(c)&&(f.plotHeight=B,f.redrawTrigger="adjustHeight",f.setSize(void 0,f.chartHeight+c,n));b.series.forEach(function(c){(c= c.sharedClipKey&&f.sharedClips[c.sharedClipKey])&&c.attr(f.inverted?{width:f.plotHeight}:{height:f.plotHeight})})}}),this.initiatedScale=!0);this.redrawTrigger=null};v(r,"render",r.prototype.adjustHeight)});F(b,"Extensions/ArrowSymbols.js",[b["Core/Renderer/SVG/SVGRenderer.js"]],function(b){function r(b,n,h,t){return[["M",b,n+t/2],["L",b+h,n],["L",b,n+t/2],["L",b+h,n+t]]}function y(b,n,h,t){return[["M",b+h,n],["L",b,n+t/2],["L",b+h,n+t],["Z"]]}function v(b,n,h,t){return y(b,n,h/2,t)}b=b.prototype.symbols; b.arrow=r;b["arrow-filled"]=y;b["arrow-filled-half"]=v;b["arrow-half"]=function(b,n,h,t){return r(b,n,h/2,t)};b["triangle-left"]=y;b["triangle-left-half"]=v;return b});F(b,"Gantt/Connection.js",[b["Core/Globals.js"],b["Core/DefaultOptions.js"],b["Core/Series/Point.js"],b["Core/Utilities.js"]],function(b,r,y,v){function D(c){var g=c.shapeArgs;return g?{xMin:g.x||0,xMax:(g.x||0)+(g.width||0),yMin:g.y||0,yMax:(g.y||0)+(g.height||0)}:(g=c.graphic&&c.graphic.getBBox())?{xMin:c.plotX-g.width/2,xMax:c.plotX+ g.width/2,yMin:c.plotY-g.height/2,yMax:c.plotY+g.height/2}:null}"";var n=v.defined,h=v.error,t=v.extend,f=v.merge,p=v.objectEach,c=b.deg2rad,B=Math.max,H=Math.min;t(r.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});r=function(){function b(c,a,d){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0;this.init(c,a,d)}b.prototype.init= function(c,a,d){this.fromPoint=c;this.toPoint=a;this.options=d;this.chart=c.series.chart;this.pathfinder=this.chart.pathfinder};b.prototype.renderPath=function(c,a,d){var b=this.chart,g=b.styledMode,f=b.pathfinder,l=!b.options.chart.forExport&&!1!==d,x=this.graphics&&this.graphics.path;f.group||(f.group=b.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(b.seriesGroup));f.group.translate(b.plotLeft,b.plotTop);x&&x.renderer||(x=b.renderer.path().add(f.group),g||x.attr({opacity:0})); x.attr(a);c={d:c};g||(c.opacity=1);x[l?"animate":"attr"](c,d);this.graphics=this.graphics||{};this.graphics.path=x};b.prototype.addMarker=function(b,a,d){var g=this.fromPoint.series.chart,f=g.pathfinder;g=g.renderer;var h="start"===b?this.fromPoint:this.toPoint,l=h.getPathfinderAnchorPoint(a);if(a.enabled&&((d="start"===b?d[1]:d[d.length-2])&&"M"===d[0]||"L"===d[0])){d={x:d[1],y:d[2]};d=h.getRadiansToVector(d,l);l=h.getMarkerVector(d,a.radius,l);d=-d/c;if(a.width&&a.height){var x=a.width;var n=a.height}else x= n=2*a.radius;this.graphics=this.graphics||{};l={x:l.x-x/2,y:l.y-n/2,width:x,height:n,rotation:d,rotationOriginX:l.x,rotationOriginY:l.y};this.graphics[b]?this.graphics[b].animate(l):(this.graphics[b]=g.symbol(a.symbol).addClass("highcharts-point-connecting-path-"+b+"-marker").attr(l).add(f.group),g.styledMode||this.graphics[b].attr({fill:a.color||this.fromPoint.color,stroke:a.lineColor,"stroke-width":a.lineWidth,opacity:0}).animate({opacity:1},h.series.options.animation))}};b.prototype.getPath=function(c){var a= this.pathfinder,d=this.chart,b=a.algorithms[c.type],g=a.chartObstacles;if("function"!==typeof b)return h('"'+c.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};b.requiresObstacles&&!g&&(g=a.chartObstacles=a.getChartObstacles(c),d.options.connectors.algorithmMargin=c.algorithmMargin,a.chartObstacleMetrics=a.getObstacleMetrics(g));return b(this.fromPoint.getPathfinderAnchorPoint(c.startMarker),this.toPoint.getPathfinderAnchorPoint(c.endMarker),f({chartObstacles:g,lineObstacles:a.lineObstacles|| [],obstacleMetrics:a.chartObstacleMetrics,hardBounds:{xMin:0,xMax:d.plotWidth,yMin:0,yMax:d.plotHeight},obstacleOptions:{margin:c.algorithmMargin},startDirectionX:a.getAlgorithmStartDirection(c.startMarker)},c))};b.prototype.render=function(){var c=this.fromPoint,a=c.series,d=a.chart,b=d.pathfinder,h=f(d.options.connectors,a.options.connectors,c.options.connectors,this.options),p={};d.styledMode||(p.stroke=h.lineColor||c.color,p["stroke-width"]=h.lineWidth,h.dashStyle&&(p.dashstyle=h.dashStyle)); p["class"]="highcharts-point-connecting-path highcharts-color-"+c.colorIndex;h=f(p,h);n(h.marker.radius)||(h.marker.radius=H(B(Math.ceil((h.algorithmMargin||8)/2)-1,1),5));c=this.getPath(h);d=c.path;c.obstacles&&(b.lineObstacles=b.lineObstacles||[],b.lineObstacles=b.lineObstacles.concat(c.obstacles));this.renderPath(d,p,a.options.animation);this.addMarker("start",f(h.marker,h.startMarker),d);this.addMarker("end",f(h.marker,h.endMarker),d)};b.prototype.destroy=function(){this.graphics&&(p(this.graphics, function(c){c.destroy()}),delete this.graphics)};return b}();b.Connection=r;t(y.prototype,{getPathfinderAnchorPoint:function(c){var b=D(this);switch(c.align){case "right":var a="xMax";break;case "left":a="xMin"}switch(c.verticalAlign){case "top":var d="yMin";break;case "bottom":d="yMax"}return{x:a?b[a]:(b.xMin+b.xMax)/2,y:d?b[d]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(c,b){var a;n(b)||(a=D(this))&&(b={x:(a.xMin+a.xMax)/2,y:(a.yMin+a.yMax)/2});return Math.atan2(b.y-c.y,c.x-b.x)},getMarkerVector:function(c, b,a){var d=2*Math.PI,f=D(this),g=f.xMax-f.xMin,h=f.yMax-f.yMin,l=Math.atan2(h,g),x=!1;g/=2;var n=h/2,p=f.xMin+g;f=f.yMin+n;for(var B=p,H=f,t=1,A=1;c<-Math.PI;)c+=d;for(;c>Math.PI;)c-=d;d=Math.tan(c);c>-l&&c<=l?(A=-1,x=!0):c>l&&c<=Math.PI-l?A=-1:c>Math.PI-l||c<=-(Math.PI-l)?(t=-1,x=!0):t=-1;x?(B+=t*g,H+=A*g*d):(B+=h/(2*d)*t,H+=A*n);a.x!==p&&(B=a.x);a.y!==f&&(H=a.y);return{x:B+b*Math.cos(c),y:H-b*Math.sin(c)}}});return r});F(b,"Gantt/PathfinderAlgorithms.js",[b["Core/Utilities.js"]],function(b){function r(c, b,f){f=f||0;var h=c.length-1;b-=1e-7;for(var g,a;f<=h;)if(g=h+f>>1,a=b-c[g].xMin,0<a)f=g+1;else if(0>a)h=g-1;else return g;return 0<f?f-1:0}function y(c,b){for(var f=r(c,b.x+1)+1;f--;){var h;if(h=c[f].xMax>=b.x)h=c[f],h=b.x<=h.xMax&&b.x>=h.xMin&&b.y<=h.yMax&&b.y>=h.yMin;if(h)return f}return-1}function v(c){var b=[];if(c.length){b.push(["M",c[0].start.x,c[0].start.y]);for(var f=0;f<c.length;++f)b.push(["L",c[f].end.x,c[f].end.y])}return b}function D(c,b){c.yMin=t(c.yMin,b.yMin);c.yMax=h(c.yMax,b.yMax); c.xMin=t(c.xMin,b.xMin);c.xMax=h(c.xMax,b.xMax)}var n=b.pick,h=Math.min,t=Math.max,f=Math.abs;b=function(c,b,h){function p(a,d,c,b,f){a={x:a.x,y:a.y};a[d]=c[b||d]+(f||0);return a}function g(a,d,c){var b=f(d[c]-a[c+"Min"])>f(d[c]-a[c+"Max"]);return p(d,c,a,c+(b?"Max":"Min"),b?1:-1)}var a=[],d=n(h.startDirectionX,f(b.x-c.x)>f(b.y-c.y))?"x":"y",w=h.chartObstacles,t=y(w,c);h=y(w,b);if(-1<h){var B=w[h];h=g(B,b,d);B={start:h,end:b};var l=h}else l=b;-1<t&&(w=w[t],h=g(w,c,d),a.push({start:c,end:h}),h[d]>= c[d]===h[d]>=l[d]&&(d="y"===d?"x":"y",b=c[d]<b[d],a.push({start:h,end:p(h,d,w,d+(b?"Max":"Min"),b?1:-1)}),d="y"===d?"x":"y"));c=a.length?a[a.length-1].end:c;h=p(c,d,l);a.push({start:c,end:h});d=p(h,"y"===d?"x":"y",l);a.push({start:h,end:d});a.push(B);return{path:v(a),obstacles:a}};b.requiresObstacles=!0;var p=function(c,b,p){function B(a,d,e){var k,c=a.x<d.x?1:-1;if(a.x<d.x){var b=a;var m=d}else b=d,m=a;if(a.y<d.y){var f=a;var u=d}else f=d,u=a;for(k=0>c?h(r(I,m.x),I.length-1):0;I[k]&&(0<c&&I[k].xMin<= m.x||0>c&&I[k].xMax>=b.x);){if(I[k].xMin<=m.x&&I[k].xMax>=b.x&&I[k].yMin<=u.y&&I[k].yMax>=f.y)return e?{y:a.y,x:a.x<d.x?I[k].xMin-1:I[k].xMax+1,obstacle:I[k]}:{x:a.x,y:a.y<d.y?I[k].yMin-1:I[k].yMax+1,obstacle:I[k]};k+=c}return d}function g(a,d,e,k,c){var b=c.soft,m=c.hard,q=k?"x":"y",u={x:d.x,y:d.y},l={x:d.x,y:d.y};c=a[q+"Max"]>=b[q+"Max"];b=a[q+"Min"]<=b[q+"Min"];var g=a[q+"Max"]>=m[q+"Max"];m=a[q+"Min"]<=m[q+"Min"];var z=f(a[q+"Min"]-d[q]),h=f(a[q+"Max"]-d[q]);e=10>f(z-h)?d[q]<e[q]:h<z;l[q]=a[q+ "Min"];u[q]=a[q+"Max"];a=B(d,l,k)[q]!==l[q];d=B(d,u,k)[q]!==u[q];e=a?d?e:!0:d?!1:e;e=b?c?e:!0:c?!1:e;return m?g?e:!0:g?!1:e}function a(d,c,e){if(d.x===c.x&&d.y===c.y)return[];var k=e?"x":"y",b=p.obstacleOptions.margin;var m={soft:{xMin:G,xMax:H,yMin:E,yMax:L},hard:p.hardBounds};var f=y(I,d);if(-1<f){f=I[f];m=g(f,d,c,e,m);D(f,p.hardBounds);var u=e?{y:d.y,x:f[m?"xMax":"xMin"]+(m?1:-1)}:{x:d.x,y:f[m?"yMax":"yMin"]+(m?1:-1)};var z=y(I,u);-1<z&&(z=I[z],D(z,p.hardBounds),u[k]=m?t(f[k+"Max"]-b+1,(z[k+"Min"]+ f[k+"Max"])/2):h(f[k+"Min"]+b-1,(z[k+"Max"]+f[k+"Min"])/2),d.x===u.x&&d.y===u.y?(l&&(u[k]=m?t(f[k+"Max"],z[k+"Max"])+1:h(f[k+"Min"],z[k+"Min"])-1),l=!l):l=!1);d=[{start:d,end:u}]}else k=B(d,{x:e?c.x:d.x,y:e?d.y:c.y},e),d=[{start:d,end:{x:k.x,y:k.y}}],k[e?"x":"y"]!==c[e?"x":"y"]&&(m=g(k.obstacle,k,c,!e,m),D(k.obstacle,p.hardBounds),m={x:e?k.x:k.obstacle[m?"xMax":"xMin"]+(m?1:-1),y:e?k.obstacle[m?"yMax":"yMin"]+(m?1:-1):k.y},e=!e,d=d.concat(a({x:k.x,y:k.y},m,e)));return d=d.concat(a(d[d.length-1].end, c,!e))}function d(a,d,e){var k=h(a.xMax-d.x,d.x-a.xMin)<h(a.yMax-d.y,d.y-a.yMin);e=g(a,d,e,k,{soft:p.hardBounds,hard:p.hardBounds});return k?{y:d.y,x:a[e?"xMax":"xMin"]+(e?1:-1)}:{x:d.x,y:a[e?"yMax":"yMin"]+(e?1:-1)}}var w=n(p.startDirectionX,f(b.x-c.x)>f(b.y-c.y)),C=w?"x":"y",J=[],l=!1,x=p.obstacleMetrics,G=h(c.x,b.x)-x.maxWidth-10,H=t(c.x,b.x)+x.maxWidth+10,E=h(c.y,b.y)-x.maxHeight-10,L=t(c.y,b.y)+x.maxHeight+10,I=p.chartObstacles;var A=r(I,G);x=r(I,H);I=I.slice(A,x+1);if(-1<(x=y(I,b))){var m=d(I[x], b,c);J.push({end:b,start:m});b=m}for(;-1<(x=y(I,b));)A=0>b[C]-c[C],m={x:b.x,y:b.y},m[C]=I[x][A?C+"Max":C+"Min"]+(A?1:-1),J.push({end:b,start:m}),b=m;c=a(c,b,w);c=c.concat(J.reverse());return{path:v(c),obstacles:c}};p.requiresObstacles=!0;return{fastAvoid:p,straight:function(c,b){return{path:[["M",c.x,c.y],["L",b.x,b.y]],obstacles:[{start:c,end:b}]}},simpleConnect:b}});F(b,"Gantt/Pathfinder.js",[b["Gantt/Connection.js"],b["Core/Chart/Chart.js"],b["Core/Globals.js"],b["Core/DefaultOptions.js"],b["Core/Series/Point.js"], b["Core/Utilities.js"],b["Gantt/PathfinderAlgorithms.js"]],function(b,r,y,v,Q,n,h){function t(a){var d=a.shapeArgs;return d?{xMin:d.x||0,xMax:(d.x||0)+(d.width||0),yMin:d.y||0,yMax:(d.y||0)+(d.height||0)}:(d=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-d.width/2,xMax:a.plotX+d.width/2,yMin:a.plotY-d.height/2,yMax:a.plotY+d.height/2}:null}function f(d){for(var c=d.length,b=0,f,g,l=[],h=function(d,c,b){b=a(b,10);var m=d.yMax+b>c.yMin-b&&d.yMin-b<c.yMax+b,e=d.xMax+b>c.xMin-b&&d.xMin-b<c.xMax+b,k=m? d.xMin>c.xMax?d.xMin-c.xMax:c.xMin-d.xMax:Infinity,f=e?d.yMin>c.yMax?d.yMin-c.yMax:c.yMin-d.yMax:Infinity;return e&&m?b?h(d,c,Math.floor(b/2)):Infinity:C(k,f)};b<c;++b)for(f=b+1;f<c;++f)g=h(d[b],d[f]),80>g&&l.push(g);l.push(80);return w(Math.floor(l.sort(function(a,d){return a-d})[Math.floor(l.length/10)]/2-1),1)}function p(a){if(a.options.pathfinder||a.series.reduce(function(a,d){d.options&&g(!0,d.options.connectors=d.options.connectors||{},d.options.pathfinder);return a||d.options&&d.options.pathfinder}, !1))g(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),H('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var c=n.addEvent,B=n.defined,H=n.error,K=n.extend,g=n.merge,a=n.pick,d=n.splat,w=Math.max,C=Math.min;K(v.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",