/* Highcharts Gantt JS v8.2.0 (2020-08-20) (c) 2017-2018 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng License: www.highcharts.com/license */ (function(R,M){"object"===typeof module&&module.exports?(M["default"]=M,module.exports=R.document?M(R):M):"function"===typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return M(R)}):(R.Highcharts&&R.Highcharts.error(16,!0),R.Highcharts=M(R))})("undefined"!==typeof window?window:this,function(R){function M(r,f,Q,C){r.hasOwnProperty(f)||(r[f]=C.apply(null,Q))}var v={};M(v,"Core/Globals.js",[],function(){var r="undefined"!==typeof R?R:"undefined"!==typeof window?window:{},f= r.document,Q=r.navigator&&r.navigator.userAgent||"",C=f&&f.createElementNS&&!!f.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,v=/(edge|msie|trident)/i.test(Q)&&!r.opera,B=-1!==Q.indexOf("Firefox"),E=-1!==Q.indexOf("Chrome"),D=B&&4>parseInt(Q.split("Firefox/")[1],10);return{product:"Highcharts",version:"8.2.0",deg2rad:2*Math.PI/360,doc:f,hasBidiBug:D,hasTouch:!!r.TouchEvent,isMS:v,isWebKit:-1!==Q.indexOf("AppleWebKit"),isFirefox:B,isChrome:E,isSafari:!E&&-1!==Q.indexOf("Safari"), isTouchDevice:/(Mobile|Android|Windows Phone)/.test(Q),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:r,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});M(v,"Core/Utilities.js",[v["Core/Globals.js"]],function(r){function f(e,q,c,b){var a=q?"Highcharts error":"Highcharts warning";32===e&&(e=a+": Deprecated member");var k=n(e),d=k?a+" #"+e+": www.highcharts.com/errors/"+e+"/":e.toString();a=function(){if(q)throw Error(d); p.console&&-1===f.messages.indexOf(d)&&console.log(d)};if("undefined"!==typeof b){var g="";k&&(d+="?");V(b,function(e,q){g+="\n - "+q+": "+e;k&&(d+=encodeURI(q)+"="+encodeURI(e))});d+=g}c?T(c,"displayError",{code:e,message:d,params:b},a):a();f.messages.push(d)}function Q(){var e,q=arguments,c={},b=function(e,q){"object"!==typeof e&&(e={});V(q,function(c,a){!C(c,!0)||m(c)||u(c)?e[a]=q[a]:e[a]=b(e[a]||{},c)});return e};!0===q[0]&&(c=q[1],q=Array.prototype.slice.call(q,2));var a=q.length;for(e=0;eb)for(var a=0;a=k+this.startTime){this.now=this.end;this.pos=1;this.update();var g=d[this.prop]=!0;V(d,function(e){!0!==e&&(g=!1)});g&&a&&a.call(b);e=!1}else this.pos=c.easing((q-this.startTime)/k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0;return e};e.prototype.initPath=function(e,q,c){function b(e,q){for(;e.lengthe&&-Infinity=c&&(q=[1/c])));for(b=0;b=e||!a&&d<=(q[b]+(q[b+1]||q[b]))/2);b++);return k=Z(k*c,-Math.round(Math.log(.001)/Math.LN10))},c=r.stableSort=function(e,q){var c=e.length,b,a;for(a=0;ac&&(c=e[q]);return c},O=r.destroyObjectProperties=function(e,q){V(e,function(c,b){c&&c!==q&&c.destroy&&c.destroy();delete e[b]})},P=r.discardElement=function(e){var q=r.garbageBin;q||(q=F("div"));e&&q.appendChild(e);q.innerHTML=""},Z=r.correctFloat=function(e, q){return parseFloat(e.toPrecision(q||14))},aa=r.setAnimation=function(e,q){q.renderer.globalAnimation=B(e,q.options.chart.animation,!0)},X=r.animObject=function(e){return C(e)?r.merge({duration:500,defer:0},e):{duration:e?500:0,defer:0}},ba=r.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5},Y=r.numberFormat=function(e,q,c,b){e=+e||0;q=+q;var a=r.defaultOptions.lang,k=(e.toString().split(".")[1]||"").split("e")[0].length,d=e.toString().split("e"); if(-1===q)q=Math.min(k,20);else if(!n(q))q=2;else if(q&&d[1]&&0>d[1]){var g=q+ +d[1];0<=g?(d[0]=(+d[0]).toExponential(g).split("e")[0],q=g):(d[0]=d[0].split(".")[0]||0,e=20>q?(d[0]*Math.pow(10,d[1])).toFixed(q):0,d[1]=0)}var O=(Math.abs(d[1]?d[0]:e)+Math.pow(10,-Math.max(q,k)-1)).toFixed(q);k=String(w(O));g=3e?"-":"")+(g?k.substr(0,g)+b:"");e+=k.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+b);q&&(e+=c+O.slice(-q));d[1]&&0!==+e&&(e+= "e"+d[1]);return e};Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*e)-1)};var ea=r.getStyle=function(e,q,c){if("width"===q)return q=Math.min(e.offsetWidth,e.scrollWidth),c=e.getBoundingClientRect&&e.getBoundingClientRect().width,c=q-1&&(q=Math.floor(c)),Math.max(0,q-r.getStyle(e,"padding-left")-r.getStyle(e,"padding-right"));if("height"===q)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-r.getStyle(e,"padding-top")-r.getStyle(e,"padding-bottom"));p.getComputedStyle||f(27, !0);if(e=p.getComputedStyle(e,void 0))e=e.getPropertyValue(q),B(c,"opacity"!==q)&&(e=w(e));return e},ca=r.getDeferredAnimation=function(e,q,c){var b=X(q),a=0,k=0;(c?[c]:e.series).forEach(function(e){e=X(e.options.animation);a=q&&h(q.defer)?b.defer:Math.max(a,e.duration+e.defer);k=Math.min(b.duration,e.duration)});e.renderer.forExport&&(a=0);return{defer:Math.max(0,a-k),duration:Math.min(a,k)}},S=r.inArray=function(e,q,c){f(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"});return q.indexOf(e, c)},W=r.find=Array.prototype.find?function(e,q){return e.find(q)}:function(e,q){var c,b=e.length;for(c=0;cq?e>16,(r&65280)>>8,r&255,1]:4===p&&(D=[(r&3840)>>4|(r&3840)>>8,(r&240)>>4|r&240,(r&15)<<4|r&15,1])}if(!D)for(x= this.parsers.length;x--&&!D;){var I=this.parsers[x];(p=I.regex.exec(r))&&(D=I.parse(p))}}this.rgba=D||[]};f.prototype.get=function(f){var r=this.input,x=this.rgba;if("undefined"!==typeof this.stops){var p=C(r);p.stops=[].concat(p.stops);this.stops.forEach(function(I,w){p.stops[w]=[p.stops[w][0],I.get(f)]})}else p=x&&v(x[0])?"rgb"===f||!f&&1===x[3]?"rgb("+x[0]+","+x[1]+","+x[2]+")":"a"===f?x[3]:"rgba("+x.join(",")+")":r;return p};f.prototype.brighten=function(f){var r,x=this.rgba;if(this.stops)this.stops.forEach(function(p){p.brighten(f)}); else if(v(f)&&0!==f)for(r=0;3>r;r++)x[r]+=z(255*f),0>x[r]&&(x[r]=0),255q.width)q={width:0,height:0}}else q=this.htmlGetBBox();b.isSVG&& (c=q.width,b=q.height,A&&(q.height=b={"11px,17":14,"13px,20":16}[d&&d.fontSize+","+Math.round(b)]||b),e&&(d=e*C,q.width=Math.abs(b*Math.sin(d))+Math.abs(c*Math.cos(d)),q.height=Math.abs(b*Math.cos(d))+Math.abs(c*Math.sin(d))));if(l&&0]*>/g,"").replace(/</g,"<").replace(/>/g,">")))};K.prototype.toFront=function(){var c=this.element;c.parentNode.appendChild(c);return this};K.prototype.translate=function(c,e){return this.attr({translateX:c,translateY:e})};K.prototype.updateShadows=function(c,e,q){var b=this.shadows; if(b)for(var a=b.length;a--;)q.call(b[a],"height"===c?Math.max(e-(b[a].cutHeight||0),0):"d"===c?this.d:e,c,b[a])};K.prototype.updateTransform=function(){var c=this.translateX||0,e=this.translateY||0,q=this.scaleX,b=this.scaleY,a=this.inverted,d=this.rotation,k=this.matrix,g=this.element;a&&(c+=this.width,e+=this.height);c=["translate("+c+","+e+")"];n(k)&&c.push("matrix("+k.join(",")+")");a?c.push("rotate(90) scale(-1,1)"):d&&c.push("rotate("+d+" "+G(this.rotationOriginX,g.getAttribute("x"),0)+" "+ G(this.rotationOriginY,g.getAttribute("y")||0)+")");(n(q)||n(b))&&c.push("scale("+G(q,1)+" "+G(b,1)+")");c.length&&g.setAttribute("transform",c.join(" "))};K.prototype.visibilitySetter=function(c,e,q){"inherit"===c?q.removeAttribute(e):this[e]!==c&&q.setAttribute(e,c);this[e]=c};K.prototype.xGetter=function(c){"circle"===this.element.nodeName&&("x"===c?c="cx":"y"===c&&(c="cy"));return this._defaultGetter(c)};K.prototype.zIndexSetter=function(c,e){var q=this.renderer,b=this.parentGroup,a=(b||q).element|| q.box,d=this.element,k=!1;q=a===q.box;var g=this.added;var t;n(c)?(d.setAttribute("data-z-index",c),c=+c,this[e]===c&&(g=!1)):n(this[e])&&d.removeAttribute("data-z-index");this[e]=c;if(g){(c=this.zIndex)&&b&&(b.handleZ=!0);e=a.childNodes;for(t=e.length-1;0<=t&&!k;t--){b=e[t];g=b.getAttribute("data-z-index");var h=!n(g);if(b!==d)if(0>c&&h&&!q&&!t)a.insertBefore(d,e[t]),k=!0;else if(L(g)<=c||h&&(!n(c)||0<=c))a.insertBefore(d,e[t+1]||null),k=!0}k||(a.insertBefore(d,e[q?3:0]||null),k=!0)}return k};return K}(); v.prototype["stroke-widthSetter"]=v.prototype.strokeSetter;v.prototype.yGetter=v.prototype.xGetter;v.prototype.matrixSetter=v.prototype.rotationOriginXSetter=v.prototype.rotationOriginYSetter=v.prototype.rotationSetter=v.prototype.scaleXSetter=v.prototype.scaleYSetter=v.prototype.translateXSetter=v.prototype.translateYSetter=v.prototype.verticalAlignSetter=function(b,c){this[c]=b;this.doTransform=!0};f.SVGElement=v;return f.SVGElement});M(v,"Core/Renderer/SVG/SVGLabel.js",[v["Core/Renderer/SVG/SVGElement.js"], v["Core/Utilities.js"]],function(r,f){var v=this&&this.__extends||function(){var f=function(p,I){f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(w,p){w.__proto__=p}||function(w,p){for(var H in p)p.hasOwnProperty(H)&&(w[H]=p[H])};return f(p,I)};return function(p,I){function w(){this.constructor=p}f(p,I);p.prototype=null===I?Object.create(I):(w.prototype=I.prototype,new w)}}(),C=f.defined,z=f.extend,B=f.isNumber,E=f.merge,D=f.removeEvent;return function(f){function p(I,w,x,H,u,m,n, l,h,d){var g=f.call(this)||this;g.init(I,"g");g.textStr=w;g.x=x;g.y=H;g.anchorX=m;g.anchorY=n;g.baseline=h;g.className=d;"button"!==d&&g.addClass("highcharts-label");d&&g.addClass("highcharts-"+d);g.text=I.text("",0,0,l).attr({zIndex:1});if("string"===typeof u){var a=/^url\((.*?)\)$/.test(u);if(g.renderer.symbols[u]||a)g.symbolKey=u}g.bBox=p.emptyBBox;g.padding=3;g.paddingLeft=0;g.baselineOffset=0;g.needsBox=I.styledMode||a;g.deferredAttr={};g.alignFactor=0;return g}v(p,f);p.prototype.alignSetter= function(p){p={left:0,center:.5,right:1}[p];p!==this.alignFactor&&(this.alignFactor=p,this.bBox&&B(this.xSetting)&&this.attr({x:this.xSetting}))};p.prototype.anchorXSetter=function(p,w){this.anchorX=p;this.boxAttr(w,Math.round(p)-this.getCrispAdjust()-this.xSetting)};p.prototype.anchorYSetter=function(p,w){this.anchorY=p;this.boxAttr(w,p-this.ySetting)};p.prototype.boxAttr=function(p,w){this.box?this.box.attr(p,w):this.deferredAttr[p]=w};p.prototype.css=function(f){if(f){var w={};f=E(f);p.textProps.forEach(function(p){"undefined"!== typeof f[p]&&(w[p]=f[p],delete f[p])});this.text.css(w);var I="fontSize"in w||"fontWeight"in w;if("width"in w||I)this.updateBoxSize(),I&&this.updateTextPadding()}return r.prototype.css.call(this,f)};p.prototype.destroy=function(){D(this.element,"mouseenter");D(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());r.prototype.destroy.call(this)};p.prototype.fillSetter=function(p,w){p&&(this.needsBox=!0);this.fill=p;this.boxAttr(w,p)};p.prototype.getBBox= function(){var p=this.bBox,w=this.padding;return{width:p.width+2*w,height:p.height+2*w,x:p.x-w,y:p.y-w}};p.prototype.getCrispAdjust=function(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2};p.prototype.heightSetter=function(p){this.heightSetting=p};p.prototype.on=function(p,w){var f=this,H=f.text,u=H&&"SPAN"===H.element.tagName?H:void 0;if(u){var m=function(m){("mouseenter"===p||"mouseleave"===p)&&m.relatedTarget instanceof Element&&(f.element.contains(m.relatedTarget)||u.element.contains(m.relatedTarget))||w.call(f.element,m)};u.on(p,m)}r.prototype.on.call(f,p,m||w);return f};p.prototype.onAdd=function(){var p=this.textStr;this.text.add(this);this.attr({text:C(p)?p:"",x:this.x,y:this.y});this.box&&C(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};p.prototype.paddingSetter=function(p){C(p)&&p!==this.padding&&(this.padding=p,this.updateTextPadding())};p.prototype.paddingLeftSetter=function(p){C(p)&& p!==this.paddingLeft&&(this.paddingLeft=p,this.updateTextPadding())};p.prototype.rSetter=function(p,w){this.boxAttr(w,p)};p.prototype.shadow=function(p){p&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(p));return this};p.prototype.strokeSetter=function(p,w){this.stroke=p;this.boxAttr(w,p)};p.prototype["stroke-widthSetter"]=function(p,w){p&&(this.needsBox=!0);this["stroke-width"]=p;this.boxAttr(w,p)};p.prototype["text-alignSetter"]=function(p){this.textAlign=p};p.prototype.textSetter= function(p){"undefined"!==typeof p&&this.text.attr({text:p});this.updateBoxSize();this.updateTextPadding()};p.prototype.updateBoxSize=function(){var f=this.text.element.style,w={},x=this.padding,H=this.paddingLeft,u=B(this.widthSetting)&&B(this.heightSetting)&&!this.textAlign||!C(this.text.textStr)?p.emptyBBox:this.text.getBBox();this.width=(this.widthSetting||u.width||0)+2*x+H;this.height=(this.heightSetting||u.height||0)+2*x;this.baselineOffset=x+Math.min(this.renderer.fontMetrics(f&&f.fontSize, this.text).b,u.height||Infinity);this.needsBox&&(this.box||(f=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),f.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),f.add(this),f=this.getCrispAdjust(),w.x=f,w.y=(this.baseline?-this.baselineOffset:0)+f),w.width=Math.round(this.width),w.height=Math.round(this.height),this.box.attr(z(w,this.deferredAttr)),this.deferredAttr={});this.bBox=u};p.prototype.updateTextPadding= function(){var p=this.text,w=this.baseline?0:this.baselineOffset,f=this.paddingLeft+this.padding;C(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(f+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(f!==p.x||w!==p.y)p.attr("x",f),p.hasBoxWidthChanged&&(this.bBox=p.getBBox(!0),this.updateBoxSize()),"undefined"!==typeof w&&p.attr("y",w);p.x=f;p.y=w};p.prototype.widthSetter=function(p){this.widthSetting=B(p)?p:void 0};p.prototype.xSetter= function(p){this.x=p;this.alignFactor&&(p-=this.alignFactor*((this.widthSetting||this.bBox.width)+2*this.padding),this["forceAnimate:x"]=!0);this.xSetting=Math.round(p);this.attr("translateX",this.xSetting)};p.prototype.ySetter=function(p){this.ySetting=this.y=Math.round(p);this.attr("translateY",this.ySetting)};p.emptyBBox={width:0,height:0,x:0,y:0};p.textProps="color cursor direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" "); return p}(r)});M(v,"Core/Renderer/SVG/SVGRenderer.js",[v["Core/Color.js"],v["Core/Globals.js"],v["Core/Renderer/SVG/SVGElement.js"],v["Core/Renderer/SVG/SVGLabel.js"],v["Core/Utilities.js"]],function(r,f,v,C,z){var B=z.addEvent,E=z.attr,D=z.createElement,x=z.css,p=z.defined,I=z.destroyObjectProperties,w=z.extend,J=z.isArray,H=z.isNumber,u=z.isObject,m=z.isString,n=z.merge,l=z.objectEach,h=z.pick,d=z.pInt,g=z.splat,a=z.uniqueKey,k=f.charts,b=f.deg2rad,F=f.doc,y=f.isFirefox,G=f.isMS,L=f.isWebKit;z= f.noop;var t=f.svg,A=f.SVG_NS,N=f.symbolSizes,K=f.win,c=function(){function e(e,c,b,a,d,k,g){this.width=this.url=this.style=this.isSVG=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(e,c,b,a,d,k,g)}e.prototype.init=function(e,c,b,a,d,k,g){var q=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});g||q.css(this.getStyle(a));a=q.element;e.appendChild(a); E(e,"dir","ltr");-1===e.innerHTML.indexOf("xmlns")&&E(a,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=a;this.boxWrapper=q;this.alignedObjects=[];this.url=(y||L)&&F.getElementsByTagName("base").length?K.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(F.createTextNode("Created with Highcharts 8.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=k;this.forExport=d;this.styledMode=g; this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,b,!1);var t;y&&e.getBoundingClientRect&&(c=function(){x(e,{left:0,top:0});t=e.getBoundingClientRect();x(e,{left:Math.ceil(t.left)-t.left+"px",top:Math.ceil(t.top)-t.top+"px"})},c(),this.unSubPixelFix=B(K,"resize",c))};e.prototype.definition=function(e){function q(e,b){var a;g(e).forEach(function(e){var d=c.createElement(e.tagName),k={};l(e,function(e,q){"tagName"!==q&&"children"!==q&&"textContent"!==q&&(k[q]=e)});d.attr(k); d.add(b||c.defs);e.textContent&&d.element.appendChild(F.createTextNode(e.textContent));q(e.children||[],d);a=d});return a}var c=this;return q(e)};e.prototype.getStyle=function(e){return this.style=w({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},e)};e.prototype.setStyle=function(e){this.boxWrapper.css(this.getStyle(e))};e.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width};e.prototype.destroy=function(){var e=this.defs;this.box= null;this.boxWrapper=this.boxWrapper.destroy();I(this.gradients||{});this.gradients=null;e&&(this.defs=e.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null};e.prototype.createElement=function(e){var q=new this.Element;q.init(this,e);return q};e.prototype.getRadialAttr=function(e,c){return{cx:e[0]-e[2]/2+c.cx*e[2],cy:e[1]-e[2]/2+c.cy*e[2],r:c.r*e[2]}};e.prototype.truncate=function(e,c,b,a,d,k,g){var q=this,t=e.rotation,O,h=a?1:0,P=(b||a).length,y=P,A=[],l=function(e){c.firstChild&& c.removeChild(c.firstChild);e&&c.appendChild(F.createTextNode(e))},m=function(k,t){t=t||k;if("undefined"===typeof A[t])if(c.getSubStringLength)try{A[t]=d+c.getSubStringLength(0,a?t+1:t)}catch(pa){""}else q.getSpanWidth&&(l(g(b||a,k)),A[t]=d+q.getSpanWidth(e,c));return A[t]},G;e.rotation=0;var n=m(c.textContent.length);if(G=d+n>k){for(;h<=P;)y=Math.ceil((h+P)/2),a&&(O=g(a,y)),n=m(y,O&&O.length-1),h===P?h=P+1:n>k?P=y-1:h=y;0===P?l(""):b&&P===b.length-1||l(O||g(b||a,y))}a&&a.splice(0,y);e.actualWidth= n;e.rotation=t;return G};e.prototype.buildText=function(e){var q=e.element,c=this,b=c.forExport,a=h(e.textStr,"").toString(),k=-1!==a.indexOf("<"),g=q.childNodes,y,G=E(q,"x"),n=e.styles,u=e.textWidth,L=n&&n.lineHeight,K=n&&n.textOutline,N=n&&"ellipsis"===n.textOverflow,p=n&&"nowrap"===n.whiteSpace,w=n&&n.fontSize,f,H=g.length;n=u&&!e.added&&this.box;var r=function(e){var b;c.styledMode||(b=/(px|em)$/.test(e&&e.style.fontSize)?e.style.fontSize:w||c.style.fontSize||12);return L?d(L):c.fontMetrics(b, e.getAttribute("style")?e:q).h},I=function(e,q){l(c.escapes,function(c,b){q&&-1!==q.indexOf(c)||(e=e.toString().replace(new RegExp(c,"g"),b))});return e},J=function(e,q){var c=e.indexOf("<");e=e.substring(c,e.indexOf(">")-c);c=e.indexOf(q+"=");if(-1!==c&&(c=c+q.length+1,q=e.charAt(c),'"'===q||"'"===q))return e=e.substring(c+1),e.substring(0,e.indexOf(q))},D=//g;var v=[a,N,p,L,K,w,u].join();if(v!==e.textCache){for(e.textCache=v;H--;)q.removeChild(g[H]);k||K||N||u||-1!==a.indexOf(" ")&&(!p|| D.test(a))?(n&&n.appendChild(q),k?(a=c.styledMode?a.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,''):a.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,''),a=a.replace(//g,"").split(D)):a=[a],a=a.filter(function(e){return""!==e}),a.forEach(function(a,d){var k=0,g=0;a=a.replace(/^\s+|\s+$/g,"").replace(//g, "|||");var h=a.split("|||");h.forEach(function(a){if(""!==a||1===h.length){var O={},P=F.createElementNS(c.SVG_NS,"tspan"),l,m;(l=J(a,"class"))&&E(P,"class",l);if(l=J(a,"style"))l=l.replace(/(;| |^)color([ :])/,"$1fill$2"),E(P,"style",l);if((m=J(a,"href"))&&!b&&-1===m.split(":")[0].toLowerCase().indexOf("javascript")){var n=F.createElementNS(c.SVG_NS,"a");E(n,"href",m);E(P,"class","highcharts-anchor");n.appendChild(P);c.styledMode||x(P,{cursor:"pointer"})}a=I(a.replace(/<[a-zA-Z\/](.|\n)*?>/g, "")||" ");if(" "!==a){P.appendChild(F.createTextNode(a));k?O.dx=0:d&&null!==G&&(O.x=G);E(P,O);q.appendChild(n||P);!k&&f&&(!t&&b&&x(P,{display:"block"}),E(P,"dy",r(P)));if(u){var L=a.replace(/([^\^])-/g,"$1- ").split(" ");O=!p&&(1e?e+3:Math.round(1.2*e);return{h:c,b:Math.round(.8*c),f:e}};e.prototype.rotCorr=function(e,c,a){var q=e;c&&a&&(q=Math.max(q*Math.cos(c*b),4));return{x:-e/3*Math.sin(c*b),y:q}};e.prototype.pathToSegments=function(e){for(var c=[],q=[],b={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},a=0;a":">","'":"'",'"':"""};c.prototype.symbols={circle:function(e,c,b,a){return this.arc(e+b/2,c+a/2,b/2,a/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(e,c,b,a){return[["M", e,c],["L",e+b,c],["L",e+b,c+a],["L",e,c+a],["Z"]]},triangle:function(e,c,b,a){return[["M",e+b/2,c],["L",e+b,c+a],["L",e,c+a],["Z"]]},"triangle-down":function(e,c,b,a){return[["M",e,c],["L",e+b,c],["L",e+b/2,c+a],["Z"]]},diamond:function(e,c,b,a){return[["M",e+b/2,c],["L",e+b,c+a/2],["L",e+b/2,c+a],["L",e,c+a/2],["Z"]]},arc:function(e,c,b,a,k){var q=[];if(k){var d=k.start||0,g=k.end||0,t=k.r||b;b=k.r||a||b;var y=.001>Math.abs(g-d-2*Math.PI);g-=.001;a=k.innerR;y=h(k.open,y);var A=Math.cos(d),O=Math.sin(d), l=Math.cos(g),F=Math.sin(g);d=h(k.longArc,.001>g-d-Math.PI?0:1);q.push(["M",e+t*A,c+b*O],["A",t,b,0,d,h(k.clockwise,1),e+t*l,c+b*F]);p(a)&&q.push(y?["M",e+a*l,c+a*F]:["L",e+a*l,c+a*F],["A",a,a,0,d,p(k.clockwise)?1-k.clockwise:0,e+a*A,c+a*O]);y||q.push(["Z"])}return q},callout:function(e,c,b,a,k){var q=Math.min(k&&k.r||0,b,a),d=q+6,g=k&&k.anchorX||0;k=k&&k.anchorY||0;var t=[["M",e+q,c],["L",e+b-q,c],["C",e+b,c,e+b,c,e+b,c+q],["L",e+b,c+a-q],["C",e+b,c+a,e+b,c+a,e+b-q,c+a],["L",e+q,c+a],["C",e,c+a, e,c+a,e,c+a-q],["L",e,c+q],["C",e,c,e,c,e+q,c]];g&&g>b?k>c+d&&kg?k>c+d&&ka&&g>e+d&&gk&&g>e+d&&gthis.oldTextWidth)&&((u=this.textPxLength)||(E(n,{width:"", whiteSpace:F||"nowrap"}),u=n.offsetWidth),u=u>y);u&&(/[ \-]/.test(n.textContent||n.innerText)||"ellipsis"===n.style.textOverflow)?(E(n,{width:y+"px",display:"block",whiteSpace:F||"normal"}),this.oldTextWidth=y,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;G!==this.cTT&&(F=m.fontMetrics(n.style.fontSize,n).b,!D(b)||b===(this.oldRotation||0)&&a===this.oldAlign||this.setSpanRotation(b,k,F),this.getSpanCorrection(!D(b)&&this.textPxLength||n.offsetWidth,F,k,b,a));E(n,{left:d+(this.xCorr||0)+"px", top:g+(this.yCorr||0)+"px"});this.cTT=G;this.oldRotation=b;this.oldAlign=a}}else this.alignOnAdd=!0},setSpanRotation:function(m,n,l){var h={},d=this.renderer.getTransformKey();h[d]=h.transform="rotate("+m+"deg)";h[d+(w?"Origin":"-origin")]=h.transformOrigin=100*n+"% "+l+"px";E(this.element,h)},getSpanCorrection:function(m,n,l){this.xCorr=-m*l;this.yCorr=-n}});x(v.prototype,{getTransformKey:function(){return J&&!/Edge/.test(u.navigator.userAgent)?"-ms-transform":H?"-webkit-transform":w?"MozTransform": u.opera?"-o-transform":""},html:function(m,n,l){var h=this.createElement("span"),d=h.element,g=h.renderer,a=g.isSVG,k=function(b,a){["opacity","visibility"].forEach(function(k){b[k+"Setter"]=function(d,g,t){var h=b.div?b.div.style:a;f.prototype[k+"Setter"].call(this,d,g,t);h&&(h[g]=d)}});b.addedSetters=!0};h.textSetter=function(b){b!==d.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=b;d.innerHTML=p(b,"");h.doTransform=!0};a&&k(h,h.element.style);h.xSetter=h.ySetter=h.alignSetter= h.rotationSetter=function(b,a){"align"===a?h.alignValue=h.textAlign=b:h[a]=b;h.doTransform=!0};h.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};h.attr({text:m,x:Math.round(n),y:Math.round(l)}).css({position:"absolute"});g.styledMode||h.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});d.style.whiteSpace="nowrap";h.css=h.htmlCss;a&&(h.add=function(b){var a=g.box.parentNode,y=[];if(this.parentGroup=b){var l=b.div;if(!l){for(;b;)y.push(b), b=b.parentGroup;y.reverse().forEach(function(b){function d(a,c){b[c]=a;"translateX"===c?F.left=a+"px":F.top=a+"px";b.doTransform=!0}var g=z(b.element,"class");l=b.div=b.div||B("div",g?{className:g}:void 0,{position:"absolute",left:(b.translateX||0)+"px",top:(b.translateY||0)+"px",display:b.display,opacity:b.opacity,pointerEvents:b.styles&&b.styles.pointerEvents},l||a);var F=l.style;x(b,{classSetter:function(b){return function(c){this.element.setAttribute("class",c);b.className=c}}(l),on:function(){y[0].div&& h.on.apply({element:y[0].div},arguments);return b},translateXSetter:d,translateYSetter:d});b.addedSetters||k(b)})}}else l=a;l.appendChild(d);h.added=!0;h.alignOnAdd&&h.htmlUpdateTransform();return h});return h}})});M(v,"Core/Axis/Tick.js",[v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f){var v=f.clamp,C=f.correctFloat,z=f.defined,B=f.destroyObjectProperties,E=f.extend,D=f.fireEvent,x=f.isNumber,p=f.merge,I=f.objectEach,w=f.pick,J=r.deg2rad;f=function(){function f(u,m,n,l,h){this.isNewLabel= this.isNew=!0;this.axis=u;this.pos=m;this.type=n||"";this.parameters=h||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;D(this,"init");n||l||this.addLabel()}f.prototype.addLabel=function(){var u=this,m=u.axis,n=m.options,l=m.chart,h=m.categories,d=m.logarithmic,g=m.names,a=u.pos,k=w(u.options&&u.options.labels,n.labels),b=m.tickPositions,F=a===b[0],y=a===b[b.length-1];g=this.parameters.category||(h?w(h[a],g[a],a):a);var G=u.label;h=(!k.step||1===k.step)&& 1===m.tickInterval;b=b.info;var L,t;if(m.dateTime&&b){var A=l.time.resolveDTLFormat(n.dateTimeLabelFormats[!n.grid&&b.higherRanks[a]||b.unitName]);var N=A.main}u.isFirst=F;u.isLast=y;u.formatCtx={axis:m,chart:l,isFirst:F,isLast:y,dateTimeLabelFormat:N,tickPositionInfo:b,value:d?C(d.lin2log(g)):g,pos:a};n=m.labelFormatter.call(u.formatCtx,this.formatCtx);if(t=A&&A.list)u.shortenLabel=function(){for(L=0;Lk&&l-b*Fd&&(t=Math.round((h-l)/Math.cos(k*J)));else if(h=l+(1-b)*F,l-b*Fd&&(G=d-u.x+G*b,L=-1),G=Math.min(y,G),GG||m.autoRotation&&(a.styles||{}).width)t= G;t&&(this.shortenLabel?this.shortenLabel():(A.width=Math.floor(t)+"px",(n.style||{}).textOverflow||(A.textOverflow="ellipsis"),a.css(A)))};f.prototype.moveLabel=function(u,m){var n=this,l=n.label,h=!1,d=n.axis,g=d.reversed;l&&l.textStr===u?(n.movedLabel=l,h=!0,delete n.label):I(d.ticks,function(a){h||a.isNew||a===n||!a.label||a.label.textStr!==u||(n.movedLabel=a.label,h=!0,a.labelPos=n.movedLabel.xy,delete a.label)});if(!h&&(n.labelPos||l)){var a=n.labelPos||l.xy;l=d.horiz?g?0:d.width+d.left:a.x; d=d.horiz?a.y:g?d.width+d.left:0;n.movedLabel=n.createLabel({x:l,y:d},u,m);n.movedLabel&&n.movedLabel.attr({opacity:0})}};f.prototype.render=function(u,m,n){var l=this.axis,h=l.horiz,d=this.pos,g=w(this.tickmarkOffset,l.tickmarkOffset);d=this.getPosition(h,d,g,m);g=d.x;var a=d.y;l=h&&g===l.pos+l.len||!h&&a===l.pos?-1:1;n=w(n,1);this.isActive=!0;this.renderGridLine(m,n,l);this.renderMark(d,n,l);this.renderLabel(d,m,n,u);this.isNew=!1;D(this,"afterRender")};f.prototype.renderGridLine=function(u,m,n){var l= this.axis,h=l.options,d=this.gridLine,g={},a=this.pos,k=this.type,b=w(this.tickmarkOffset,l.tickmarkOffset),F=l.chart.renderer,y=k?k+"Grid":"grid",G=h[y+"LineWidth"],L=h[y+"LineColor"];h=h[y+"LineDashStyle"];d||(l.chart.styledMode||(g.stroke=L,g["stroke-width"]=G,h&&(g.dashstyle=h)),k||(g.zIndex=1),u&&(m=0),this.gridLine=d=F.path().attr(g).addClass("highcharts-"+(k?k+"-":"")+"grid-line").add(l.gridGroup));if(d&&(n=l.getPlotLinePath({value:a+b,lineWidth:d.strokeWidth()*n,force:"pass",old:u})))d[u|| this.isNew?"attr":"animate"]({d:n,opacity:m})};f.prototype.renderMark=function(u,m,n){var l=this.axis,h=l.options,d=l.chart.renderer,g=this.type,a=g?g+"Tick":"tick",k=l.tickSize(a),b=this.mark,F=!b,y=u.x;u=u.y;var G=w(h[a+"Width"],!g&&l.isXAxis?1:0);h=h[a+"Color"];k&&(l.opposite&&(k[0]=-k[0]),F&&(this.mark=b=d.path().addClass("highcharts-"+(g?g+"-":"")+"tick").add(l.axisGroup),l.chart.styledMode||b.attr({stroke:h,"stroke-width":G})),b[F?"attr":"animate"]({d:this.getMarkPath(y,u,k[0],b.strokeWidth()* n,l.horiz,d),opacity:m}))};f.prototype.renderLabel=function(u,m,n,l){var h=this.axis,d=h.horiz,g=h.options,a=this.label,k=g.labels,b=k.step;h=w(this.tickmarkOffset,h.tickmarkOffset);var F=!0,y=u.x;u=u.y;a&&x(y)&&(a.xy=u=this.getLabelPosition(y,u,a,d,k,h,l,b),this.isFirst&&!this.isLast&&!w(g.showFirstLabel,1)||this.isLast&&!this.isFirst&&!w(g.showLastLabel,1)?F=!1:!d||k.step||k.rotation||m||0===n||this.handleOverflow(u),b&&l%b&&(F=!1),F&&x(u.y)?(u.opacity=n,a[this.isNewLabel?"attr":"animate"](u),this.isNewLabel= !1):(a.attr("y",-9999),this.isNewLabel=!0))};f.prototype.replaceMovedLabel=function(){var u=this.label,m=this.axis,n=m.reversed;if(u&&!this.isNew){var l=m.horiz?n?m.left:m.width+m.left:u.xy.x;n=m.horiz?u.xy.y:n?m.width+m.top:m.top;u.animate({x:l,y:n,opacity:0},void 0,u.destroy);delete this.label}m.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return f}();r.Tick=f;return r.Tick});M(v,"Core/Time.js",[v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f){var v=f.defined,C=f.error, z=f.extend,B=f.isObject,E=f.merge,D=f.objectEach,x=f.pad,p=f.pick,I=f.splat,w=f.timeUnits,J=r.win;f=function(){function f(u){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=J.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(u)}f.prototype.get=function(u,m){if(this.variableTimezone||this.timezoneOffset){var n=m.getTime(),l=n-this.getTimezoneOffset(m);m.setTime(l);u=m["getUTC"+u]();m.setTime(n);return u}return this.useUTC?m["getUTC"+u]():m["get"+u]()};f.prototype.set= function(u,m,n){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===u||"Seconds"===u||"Minutes"===u)return m["setUTC"+u](n);var l=this.getTimezoneOffset(m);l=m.getTime()-l;m.setTime(l);m["setUTC"+u](n);u=this.getTimezoneOffset(m);l=m.getTime()+u;return m.setTime(l)}return this.useUTC?m["setUTC"+u](n):m["set"+u](n)};f.prototype.update=function(u){var m=p(u&&u.useUTC,!0);this.options=u=E(!0,this.options||{},u);this.Date=u.Date||J.Date||Date;this.timezoneOffset=(this.useUTC=m)&&u.timezoneOffset; this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=!(m&&!u.getTimezoneOffset&&!u.timezone)};f.prototype.makeTime=function(u,m,n,l,h,d){if(this.useUTC){var g=this.Date.UTC.apply(0,arguments);var a=this.getTimezoneOffset(g);g+=a;var k=this.getTimezoneOffset(g);a!==k?g+=k-a:a-36E5!==this.getTimezoneOffset(g-36E5)||r.isSafari||(g-=36E5)}else g=(new this.Date(u,m,p(n,1),p(l,0),p(h,0),p(d,0))).getTime();return g};f.prototype.timezoneOffsetFunction=function(){var u=this,m=this.options, n=m.moment||J.moment;if(!this.useUTC)return function(l){return 6E4*(new Date(l.toString())).getTimezoneOffset()};if(m.timezone){if(n)return function(l){return 6E4*-n.tz(l,m.timezone).utcOffset()};C(25)}return this.useUTC&&m.getTimezoneOffset?function(l){return 6E4*m.getTimezoneOffset(l.valueOf())}:function(){return 6E4*(u.timezoneOffset||0)}};f.prototype.dateFormat=function(u,m,n){var l;if(!v(m)||isNaN(m))return(null===(l=r.defaultOptions.lang)||void 0===l?void 0:l.invalidDate)||"";u=p(u,"%Y-%m-%d %H:%M:%S"); var h=this;l=new this.Date(m);var d=this.get("Hours",l),g=this.get("Day",l),a=this.get("Date",l),k=this.get("Month",l),b=this.get("FullYear",l),F=r.defaultOptions.lang,y=null===F||void 0===F?void 0:F.weekdays,G=null===F||void 0===F?void 0:F.shortWeekdays;l=z({a:G?G[g]:y[g].substr(0,3),A:y[g],d:x(a),e:x(a,2," "),w:g,b:F.shortMonths[k],B:F.months[k],m:x(k+1),o:k+1,y:b.toString().substr(2,2),Y:b,H:x(d),k:d,I:x(d%12||12),l:d%12||12,M:x(this.get("Minutes",l)),p:12>d?"AM":"PM",P:12>d?"am":"pm",S:x(l.getSeconds()), L:x(Math.floor(m%1E3),3)},r.dateFormats);D(l,function(b,a){for(;-1!==u.indexOf("%"+a);)u=u.replace("%"+a,"function"===typeof b?b.call(h,m):b)});return n?u.substr(0,1).toUpperCase()+u.substr(1):u};f.prototype.resolveDTLFormat=function(u){return B(u,!0)?u:(u=I(u),{main:u[0],from:u[1],to:u[2]})};f.prototype.getTimeTicks=function(u,m,n,l){var h=this,d=[],g={};var a=new h.Date(m);var k=u.unitRange,b=u.count||1,F;l=p(l,1);if(v(m)){h.set("Milliseconds",a,k>=w.second?0:b*Math.floor(h.get("Milliseconds",a)/ b));k>=w.second&&h.set("Seconds",a,k>=w.minute?0:b*Math.floor(h.get("Seconds",a)/b));k>=w.minute&&h.set("Minutes",a,k>=w.hour?0:b*Math.floor(h.get("Minutes",a)/b));k>=w.hour&&h.set("Hours",a,k>=w.day?0:b*Math.floor(h.get("Hours",a)/b));k>=w.day&&h.set("Date",a,k>=w.month?1:Math.max(1,b*Math.floor(h.get("Date",a)/b)));if(k>=w.month){h.set("Month",a,k>=w.year?0:b*Math.floor(h.get("Month",a)/b));var y=h.get("FullYear",a)}k>=w.year&&h.set("FullYear",a,y-y%b);k===w.week&&(y=h.get("Day",a),h.set("Date", a,h.get("Date",a)-y+l+(y4*w.month||h.getTimezoneOffset(m)!==h.getTimezoneOffset(n));m=a.getTime();for(a=1;md.length&&d.forEach(function(b){0===b%18E5&& "000000000"===h.dateFormat("%H%M%S%L",b)&&(g[b]="day")})}d.info=z(u,{higherRanks:g,totalRange:k*b});return d};return f}();r.Time=f;return r.Time});M(v,"Core/Options.js",[v["Core/Globals.js"],v["Core/Time.js"],v["Core/Color.js"],v["Core/Utilities.js"]],function(r,f,v,C){v=v.parse;C=C.merge;r.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "), shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6}, position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999", borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute", backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:r.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:r.isTouchDevice?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
', backgroundColor:v("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};"";r.time=new f(C(r.defaultOptions.global,r.defaultOptions.time));r.dateFormat=function(f,v,E){return r.time.dateFormat(f,v,E)};return{dateFormat:r.dateFormat, defaultOptions:r.defaultOptions,time:r.time}});M(v,"Core/Axis/Axis.js",[v["Core/Color.js"],v["Core/Globals.js"],v["Core/Axis/Tick.js"],v["Core/Utilities.js"],v["Core/Options.js"]],function(r,f,v,C,z){var B=C.addEvent,E=C.animObject,D=C.arrayMax,x=C.arrayMin,p=C.clamp,I=C.correctFloat,w=C.defined,J=C.destroyObjectProperties,H=C.error,u=C.extend,m=C.fireEvent,n=C.format,l=C.getMagnitude,h=C.isArray,d=C.isFunction,g=C.isNumber,a=C.isString,k=C.merge,b=C.normalizeTickInterval,F=C.objectEach,y=C.pick, G=C.relativeLength,L=C.removeEvent,t=C.splat,A=C.syncTimeout,N=z.defaultOptions,K=f.deg2rad;C=function(){function c(e,c){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr=this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks= this.overlap=this.options=this.oldMin=this.oldMax=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames=this.coll=this.closestPointRange=this.chart=this.categories=this.bottom=this.alternateBands=void 0;this.init(e,c)}c.prototype.init=function(e,c){var q=c.isX,b=this;b.chart=e;b.horiz=e.inverted&&!b.isZAxis?!q:q;b.isXAxis= q;b.coll=b.coll||(q?"xAxis":"yAxis");m(this,"init",{userOptions:c});b.opposite=c.opposite;b.side=c.side||(b.horiz?b.opposite?0:2:b.opposite?1:3);b.setOptions(c);var a=this.options,k=a.type;b.labelFormatter=a.labels.formatter||b.defaultLabelFormatter;b.userOptions=c;b.minPixelPadding=0;b.reversed=a.reversed;b.visible=!1!==a.visible;b.zoomEnabled=!1!==a.zoomEnabled;b.hasNames="category"===k||!0===a.categories;b.categories=a.categories||b.hasNames;b.names||(b.names=[],b.names.keys={});b.plotLinesAndBandsGroups= {};b.positiveValuesOnly=!!b.logarithmic;b.isLinked=w(a.linkedTo);b.ticks={};b.labelEdge=[];b.minorTicks={};b.plotLinesAndBands=[];b.alternateBands={};b.len=0;b.minRange=b.userMinRange=a.minRange||a.maxZoom;b.range=a.range;b.offset=a.offset||0;b.max=null;b.min=null;b.crosshair=y(a.crosshair,t(e.options.tooltip.crosshairs)[q?0:1],!1);c=b.options.events;-1===e.axes.indexOf(b)&&(q?e.axes.splice(e.xAxis.length,0,b):e.axes.push(b),e[b.coll].push(b));b.series=b.series||[];e.inverted&&!b.isZAxis&&q&&"undefined"=== typeof b.reversed&&(b.reversed=!0);b.labelRotation=b.options.labels.rotation;F(c,function(e,c){d(e)&&B(b,c,e)});m(this,"afterInit")};c.prototype.setOptions=function(e){this.options=k(c.defaultOptions,"yAxis"===this.coll&&c.defaultYAxisOptions,[c.defaultTopAxisOptions,c.defaultRightAxisOptions,c.defaultBottomAxisOptions,c.defaultLeftAxisOptions][this.side],k(N[this.coll],e));m(this,"afterSetOptions",{userOptions:e})};c.prototype.defaultLabelFormatter=function(){var e=this.axis,c=g(this.value)?this.value: NaN,b=e.chart.time,a=e.categories,k=this.dateTimeLabelFormat,d=N.lang,t=d.numericSymbols;d=d.numericSymbolMagnitude||1E3;var h=t&&t.length,y=e.options.labels.format;e=e.logarithmic?Math.abs(c):e.tickInterval;var A=this.chart,l=A.numberFormatter;if(y)var F=n(y,this,A);else if(a)F=""+this.value;else if(k)F=b.dateFormat(k,c);else if(h&&1E3<=e)for(;h--&&"undefined"===typeof F;)b=Math.pow(d,h+1),e>=b&&0===10*c%b&&null!==t[h]&&0!==c&&(F=l(c/b,-1)+t[h]);"undefined"===typeof F&&(F=1E4<=Math.abs(c)?l(c,-1): l(c,-1,void 0,""));return F};c.prototype.getSeriesExtremes=function(){var e=this,c=e.chart,b;m(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1;e.dataMin=e.dataMax=e.threshold=null;e.softThreshold=!e.isXAxis;e.stacking&&e.stacking.buildStacks();e.series.forEach(function(q){if(q.visible||!c.options.chart.ignoreHiddenSeries){var a=q.options,k=a.threshold;e.hasVisibleSeries=!0;e.positiveValuesOnly&&0>=k&&(k=null);if(e.isXAxis){if(a=q.xData,a.length){a=e.logarithmic?a.filter(e.validatePositiveValue): a;b=q.getXExtremes(a);var d=b.min;var t=b.max;g(d)||d instanceof Date||(a=a.filter(g),b=q.getXExtremes(a),d=b.min,t=b.max);a.length&&(e.dataMin=Math.min(y(e.dataMin,d),d),e.dataMax=Math.max(y(e.dataMax,t),t))}}else if(q=q.applyExtremes(),g(q.dataMin)&&(d=q.dataMin,e.dataMin=Math.min(y(e.dataMin,d),d)),g(q.dataMax)&&(t=q.dataMax,e.dataMax=Math.max(y(e.dataMax,t),t)),w(k)&&(e.threshold=k),!a.softThreshold||e.positiveValuesOnly)e.softThreshold=!1}})});m(this,"afterGetSeriesExtremes")};c.prototype.translate= function(e,c,b,a,k,d){var q=this.linkedParent||this,t=1,h=0,y=a?q.oldTransA:q.transA;a=a?q.oldMin:q.min;var A=q.minPixelPadding;k=(q.isOrdinal||q.brokenAxis&&q.brokenAxis.hasBreaks||q.logarithmic&&k)&&q.lin2val;y||(y=q.transA);b&&(t*=-1,h=q.len);q.reversed&&(t*=-1,h-=t*(q.sector||q.len));c?(e=(e*t+h-A)/y+a,k&&(e=q.lin2val(e))):(k&&(e=q.val2lin(e)),e=g(a)?t*(e-a)*y+h+t*A+(g(d)?y*d:0):void 0);return e};c.prototype.toPixels=function(e,c){return this.translate(e,!1,!this.horiz,null,!0)+(c?0:this.pos)}; c.prototype.toValue=function(e,c){return this.translate(e-(c?0:this.pos),!0,!this.horiz,null,!0)};c.prototype.getPlotLinePath=function(e){function c(e,c,q){if("pass"!==F&&eq)F?e=p(e,c,q):f=!0;return e}var b=this,a=b.chart,k=b.left,d=b.top,t=e.old,h=e.value,A=e.translatedValue,l=e.lineWidth,F=e.force,n,u,G,L,K=t&&a.oldChartHeight||a.chartHeight,N=t&&a.oldChartWidth||a.chartWidth,f,w=b.transB;e={value:h,lineWidth:l,old:t,force:F,acrossPanes:e.acrossPanes,translatedValue:A};m(this,"getPlotLinePath", e,function(e){A=y(A,b.translate(h,null,null,t));A=p(A,-1E5,1E5);n=G=Math.round(A+w);u=L=Math.round(K-A-w);g(A)?b.horiz?(u=d,L=K-b.bottom,n=G=c(n,k,k+b.width)):(n=k,G=N-b.right,u=L=c(u,d,d+b.height)):(f=!0,F=!1);e.path=f&&!F?null:a.renderer.crispLine([["M",n,u],["L",G,L]],l||1)});return e.path};c.prototype.getLinearTickPositions=function(e,c,b){var q=I(Math.floor(c/e)*e);b=I(Math.ceil(b/e)*e);var a=[],k;I(q+e)===q&&(k=20);if(this.single)return[c];for(c=q;c<=b;){a.push(c);c=I(c+e,k);if(c===d)break; var d=c}return a};c.prototype.getMinorTickInterval=function(){var e=this.options;return!0===e.minorTicks?y(e.minorTickInterval,"auto"):!1===e.minorTicks?null:e.minorTickInterval};c.prototype.getMinorTickPositions=function(){var e=this.options,c=this.tickPositions,b=this.minorTickInterval,a=[],k=this.pointRangePadding||0,d=this.min-k;k=this.max+k;var g=k-d;if(g&&g/b=this.minRange;var l=this.minRange;var F=(l-b+c)/2;F=[c-F,y(e.min,c-F)];A&&(F[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);c=D(F);b=[c+l,y(e.max,c+l)];A&&(b[2]=a?a.log2lin(this.dataMax):this.dataMax);b=x(b);b-c=L)f=L,F=0;else if(c.dataMax<=L){var x=L;A=0}c.min= y(N,f,c.dataMin);c.max=y(p,x,c.dataMax)}k&&(c.positiveValuesOnly&&!e&&0>=Math.min(c.min,y(c.dataMin,c.min))&&H(10,1,a),c.min=I(k.log2lin(c.min),16),c.max=I(k.log2lin(c.max),16));c.range&&w(c.max)&&(c.userMin=c.min=N=Math.max(c.dataMin,c.minFromRange()),c.userMax=p=c.max,c.range=null);m(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(G||c.axisPointRange||c.stacking&&c.stacking.usePercentage||h)&&w(c.min)&&w(c.max)&&(a=c.max-c.min)&&(!w(N)&&F&&(c.min-=a*F),!w(p)&&A&&(c.max+= a*A));g(c.userMin)||(g(d.softMin)&&d.softMinc.max&&(c.max=p=d.softMax),g(d.ceiling)&&(c.max=Math.min(c.max,d.ceiling)));K&&w(c.dataMin)&&(L=L||0,!w(N)&&c.min=L?c.min=c.options.minRange?Math.min(L,c.max-c.minRange):L:!w(p)&&c.max>L&&c.dataMax<=L&&(c.max=c.options.minRange?Math.max(L,c.min+c.minRange):L));c.tickInterval=c.min===c.max||"undefined"===typeof c.min||"undefined"=== typeof c.max?1:h&&!n&&u===c.linkedParent.options.tickPixelInterval?n=c.linkedParent.tickInterval:y(n,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,G?1:(c.max-c.min)*u/Math.max(c.len,u));t&&!e&&c.series.forEach(function(e){e.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);m(this,"initialAxisTranslation");c.pointRange&&!n&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));e=y(d.minTickInterval,c.dateTime&&!c.series.some(function(e){return e.noSharedTooltip})? c.closestPointRange:0);!n&&c.tickIntervalc.tickInterval||void 0!==this.tickAmount),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()};c.prototype.setTickPositions=function(){var e=this.options,c=e.tickPositions;var b=this.getMinorTickInterval();var a=e.tickPositioner,k=this.hasVerticalPanning(),d="colorAxis"===this.coll,g=(d|| !k)&&e.startOnTick;k=(d||!k)&&e.endOnTick;this.tickmarkOffset=this.categories&&"between"===e.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&w(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==e.allowDecimals);this.tickPositions=b=c&&c.slice();!b&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?b=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval, e.units),this.min,this.max,e.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0):this.logarithmic?this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max):(b=[this.min,this.max],H(19,!1,this.chart)),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,a&&(a=a.apply(this,[this.min,this.max])))&&(this.tickPositions=b=a);this.paddedTicks=b.slice(0);this.trimTicks(b, g,k);this.isLinked||(this.single&&2>b.length&&!this.categories&&!this.series.some(function(e){return e.is("heatmap")&&"between"===e.options.pointPlacement})&&(this.min-=.5,this.max+=.5),c||a||this.adjustTickAmount());m(this,"afterSetTickPositions")};c.prototype.trimTicks=function(e,c,b){var a=e[0],q=e[e.length-1],k=!this.isOrdinal&&this.minPointOffset||0;m(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==a)this.min=a;else for(;this.min-k>e[0];)e.shift();if(b)this.max=q;else for(;this.max+k< e[e.length-1];)e.pop();0===e.length&&w(a)&&!this.options.tickPositions&&e.push((q+a)/2)}};c.prototype.alignToOthers=function(){var e={},c,b=this.options;!1===this.chart.options.chart.alignTicks||!1===b.alignTicks||!1===b.startOnTick||!1===b.endOnTick||this.logarithmic||this.chart[this.coll].forEach(function(b){var a=b.options;a=[b.horiz?a.left:a.top,a.width,a.height,a.pane].join();b.series.length&&(e[a]?c=!0:e[a]=1)});return c};c.prototype.getTickAmount=function(){var e=this.options,c=e.tickAmount, b=e.tickPixelInterval;!w(e.tickInterval)&&!c&&this.lenc&&(this.finalTickAmt=c,c=5);this.tickAmount=c};c.prototype.adjustTickAmount=function(){var e=this.options,c=this.tickInterval,b=this.tickPositions,a=this.tickAmount,k=this.finalTickAmt,d=b&&b.length,g=y(this.threshold,this.softThreshold?0:null),t;if(this.hasData()){if(da&&(this.tickInterval*=2,this.setTickPositions());if(w(k)){for(c=e=b.length;c--;)(3===k&&1===c%2||2>=k&&0g&&(c=g)),w(q)&&(kg&&(k=g))),b.displayBtn="undefined"!==typeof c||"undefined"!==typeof k,b.setExtremes(c,k,!1,void 0,{trigger:"zoom"});e.zoomed=!0});return e.zoomed};c.prototype.setAxisSize=function(){var e=this.chart,c=this.options,b=c.offsets||[0,0,0,0],a=this.horiz,k=this.width=Math.round(G(y(c.width,e.plotWidth-b[3]+b[1]),e.plotWidth)), d=this.height=Math.round(G(y(c.height,e.plotHeight-b[0]+b[2]),e.plotHeight)),g=this.top=Math.round(G(y(c.top,e.plotTop+b[0]),e.plotHeight,e.plotTop));c=this.left=Math.round(G(y(c.left,e.plotLeft+b[3]),e.plotWidth,e.plotLeft));this.bottom=e.chartHeight-d-g;this.right=e.chartWidth-k-c;this.len=Math.max(a?k:d,0);this.pos=a?c:g};c.prototype.getExtremes=function(){var e=this.logarithmic;return{min:e?I(e.lin2log(this.min)):this.min,max:e?I(e.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax, userMin:this.userMin,userMax:this.userMax}};c.prototype.getThreshold=function(e){var c=this.logarithmic,b=c?c.lin2log(this.min):this.min;c=c?c.lin2log(this.max):this.max;null===e||-Infinity===e?e=b:Infinity===e?e=c:b>e?e=b:cc?e.align="right":195c&&(e.align="left")});return e.align};c.prototype.tickSize=function(e){var c= this.options,b=c["tick"===e?"tickLength":"minorTickLength"],a=y(c["tick"===e?"tickWidth":"minorTickWidth"],"tick"===e&&this.isXAxis&&!this.categories?1:0);if(a&&b){"inside"===c[e+"Position"]&&(b=-b);var k=[b,a]}e={tickSize:k};m(this,"afterTickSize",e);return e.tickSize};c.prototype.labelMetrics=function(){var e=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[e]&&this.ticks[e].label)};c.prototype.unsquish= function(){var e=this.options.labels,c=this.horiz,b=this.tickInterval,a=b,k=this.len/(((this.categories?1:0)+this.max-this.min)/b),d,g=e.rotation,t=this.labelMetrics(),h,A=Number.MAX_VALUE,l,F=this.max-this.min,m=function(e){var c=e/(k||1);c=1F&&Infinity!==e&&Infinity!==k&&F&&(c=Math.ceil(F/b));return I(c*b)};c?(l=!e.staggerLines&&!e.step&&(w(g)?[g]:k=e){h=m(Math.abs(t.h/Math.sin(K*e))); var c=h+Math.abs(e/360);c(k.step||0))return k.rotation?0:(this.staggerLines||1)*this.len/d;if(!a){e=null===(c=null===k||void 0===k?void 0:k.style)||void 0===c?void 0:c.width;if(void 0!==e)return parseInt(e, 10);if(t)return t-b.spacing[3]}return.33*b.chartWidth};c.prototype.renderUnsquish=function(){var e=this.chart,c=e.renderer,b=this.tickPositions,k=this.ticks,d=this.options.labels,g=d&&d.style||{},t=this.horiz,h=this.getSlotWidth(),A=Math.max(1,Math.round(h-2*(d.padding||5))),y={},l=this.labelMetrics(),F=d.style&&d.style.textOverflow,m=0;a(d.rotation)||(y.rotation=d.rotation||0);b.forEach(function(e){e=k[e];e.movedLabel&&e.replaceMovedLabel();e&&e.label&&e.label.textPxLength>m&&(m=e.label.textPxLength)}); this.maxLabelLength=m;if(this.autoRotation)m>A&&m>l.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(h){var n=A;if(!F){var u="clip";for(A=b.length;!t&&A--;){var G=b[A];if(G=k[G].label)G.styles&&"ellipsis"===G.styles.textOverflow?G.css({textOverflow:"clip"}):G.textPxLength>h&&G.css({width:h+"px"}),G.getBBox().height>this.len/b.length-(l.h-l.f)&&(G.specificTextOverflow="ellipsis")}}}y.rotation&&(n=m>.5*e.chartHeight?.33*e.chartHeight:m,F||(u="ellipsis"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))y.align= this.labelAlign;b.forEach(function(e){var c=(e=k[e])&&e.label,b=g.width,a={};c&&(c.attr(y),e.shortenLabel?e.shortenLabel():n&&!b&&"nowrap"!==g.whiteSpace&&(n= this.min&&e<=this.max)a[e]||(a[e]=new v(this,e)),k&&a[e].isNew&&a[e].render(c,!0,-1),a[e].render(c)};c.prototype.render=function(){var e=this,c=e.chart,b=e.logarithmic,a=e.options,k=e.isLinked,d=e.tickPositions,t=e.axisTitle,h=e.ticks,y=e.minorTicks,l=e.alternateBands,n=a.stackLabels,G=a.alternateGridColor,u=e.tickmarkOffset,L=e.axisLine,K=e.showAxis,N=E(c.renderer.globalAnimation),p,w;e.labelEdge.length=0;e.overlap=!1;[h,y,l].forEach(function(e){F(e,function(e){e.isActive=!1})});if(e.hasData()|| k)e.minorTickInterval&&!e.categories&&e.getMinorTickPositions().forEach(function(c){e.renderMinorTick(c)}),d.length&&(d.forEach(function(c,b){e.renderTick(c,b)}),u&&(0===e.min||e.single)&&(h[-1]||(h[-1]=new v(e,-1,null,!0)),h[-1].render(-1))),G&&d.forEach(function(a,k){w="undefined"!==typeof d[k+1]?d[k+1]+u:e.max-u;0===k%2&&ap&&(!w||g<=r)&&"undefined"!==typeof g&&m.push(g);g>r&&(l=!0);var g=d}}}else p=this.lin2log(p),r=this.lin2log(r),f=w?x.getMinorTickInterval():u.tickInterval,f=B("auto"===f?null:f,this.minorAutoInterval,u.tickPixelInterval/(w?5:1)*(r-p)/((w?H/x.tickPositions.length:H)||1)),f=z(f,void 0,C(f)),m=x.getLinearTickPositions(f,p,r).map(this.log2lin), w||(this.minorAutoInterval=f/5);w||(x.tickInterval=f);return m};f.prototype.lin2log=function(f){return Math.pow(10,f)};f.prototype.log2lin=function(f){return Math.log(f)/Math.LN10};return f}();f=function(){function f(){}f.compose=function(f){f.keepProps.push("logarithmic");var p=f.prototype,r=E.prototype;p.log2lin=r.log2lin;p.lin2log=r.lin2log;v(f,"init",function(f){var p=this.logarithmic;"logarithmic"!==f.userOptions.type?this.logarithmic=void 0:(p||(p=this.logarithmic=new E(this)),this.log2lin!== p.log2lin&&(p.log2lin=this.log2lin.bind(this)),this.lin2log!==p.lin2log&&(p.lin2log=this.lin2log.bind(this)))});v(f,"afterInit",function(){var f=this.logarithmic;f&&(this.lin2val=function(p){return f.lin2log(p)},this.val2lin=function(p){return f.log2lin(p)})})};return f}();f.compose(r);return f});M(v,"Core/Axis/PlotLineOrBand.js",[v["Core/Axis/Axis.js"],v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f,v){var C=v.arrayMax,z=v.arrayMin,B=v.defined,E=v.destroyObjectProperties,D=v.erase,x=v.extend, p=v.merge,I=v.objectEach,w=v.pick,J=function(){function H(u,m){this.axis=u;m&&(this.options=m,this.id=m.id)}H.prototype.render=function(){f.fireEvent(this,"render");var u=this,m=u.axis,n=m.horiz,l=m.logarithmic,h=u.options,d=h.label,g=u.label,a=h.to,k=h.from,b=h.value,F=B(k)&&B(a),y=B(b),G=u.svgElem,L=!G,t=[],A=h.color,N=w(h.zIndex,0),K=h.events;t={"class":"highcharts-plot-"+(F?"band ":"line ")+(h.className||"")};var c={},e=m.chart.renderer,q=F?"bands":"lines";l&&(k=l.log2lin(k),a=l.log2lin(a),b= l.log2lin(b));m.chart.styledMode||(y?(t.stroke=A||"#999999",t["stroke-width"]=w(h.width,1),h.dashStyle&&(t.dashstyle=h.dashStyle)):F&&(t.fill=A||"#e6ebf5",h.borderWidth&&(t.stroke=h.borderColor,t["stroke-width"]=h.borderWidth)));c.zIndex=N;q+="-"+N;(l=m.plotLinesAndBandsGroups[q])||(m.plotLinesAndBandsGroups[q]=l=e.g("plot-"+q).attr(c).add());L&&(u.svgElem=G=e.path().attr(t).add(l));if(y)t=m.getPlotLinePath({value:b,lineWidth:G.strokeWidth(),acrossPanes:h.acrossPanes});else if(F)t=m.getPlotBandPath(k, a,h);else return;!u.eventsAdded&&K&&(I(K,function(c,e){G.on(e,function(c){K[e].apply(u,[c])})}),u.eventsAdded=!0);(L||!G.d)&&t&&t.length?G.attr({d:t}):G&&(t?(G.show(!0),G.animate({d:t})):G.d&&(G.hide(),g&&(u.label=g=g.destroy())));d&&(B(d.text)||B(d.formatter))&&t&&t.length&&0this.max&&u>this.max;if(n&&m){if(f){var g=n.toString()===m.toString();d= 0}for(f=0;fd){m=l;break}if(y[m]&&h.substr(y[m])!=="01-01 00:00:00.000".substr(y[m]))break;"week"!==m&&(l=m)}if(m)var t=b.resolveDTLFormat(k[m]).main;return t};h.prototype.getLabel=function(){var d,g,a=this,k=this.chart.renderer,b=this.chart.styledMode,h=this.options,y="tooltip"+(B(h.className)?" "+h.className:""),l=(null===(d=h.style)|| void 0===d?void 0:d.pointerEvents)||(!this.followPointer&&h.stickOnContact?"auto":"none"),m;d=function(){a.inContact=!0};var t=function(){var c=a.chart.hoverSeries;a.inContact=!1;if(c&&c.onMouseOut)c.onMouseOut()};if(!this.label){this.outside&&(this.container=m=r.doc.createElement("div"),m.className="highcharts-tooltip-container",z(m,{position:"absolute",top:"1px",pointerEvents:l,zIndex:3}),r.doc.body.appendChild(m),this.renderer=k=new r.Renderer(m,0,0,null===(g=this.chart.options.chart)||void 0=== g?void 0:g.style,void 0,void 0,k.styledMode));this.split?this.label=k.g(y):(this.label=k.label("",0,0,h.shape||"callout",null,null,h.useHTML,null,y).attr({padding:h.padding,r:h.borderRadius}),b||this.label.attr({fill:h.backgroundColor,"stroke-width":h.borderWidth}).css(h.style).css({pointerEvents:l}).shadow(h.shadow));b&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index));if(a.outside&&!a.split){var A=this.label,n=A.xSetter,u=A.ySetter;A.xSetter=function(c){n.call(A,a.distance); m.style.left=c+"px"};A.ySetter=function(c){u.call(A,a.distance);m.style.top=c+"px"}}this.label.on("mouseenter",d).on("mouseleave",t).attr({zIndex:8}).add()}return this.label};h.prototype.getPosition=function(d,g,a){var k=this.chart,b=this.distance,h={},l=k.inverted&&a.h||0,m,n=this.outside,t=n?v.documentElement.clientWidth-2*b:k.chartWidth,A=n?Math.max(v.body.scrollHeight,v.documentElement.scrollHeight,v.body.offsetHeight,v.documentElement.offsetHeight,v.documentElement.clientHeight):k.chartHeight, u=k.pointer.getChartPosition(),f=k.containerScaling,c=function(c){return f?c*f.scaleX:c},e=function(c){return f?c*f.scaleY:c},q=function(q){var h="x"===q;return[q,h?t:A,h?d:g].concat(n?[h?c(d):e(g),h?u.left-b+c(a.plotX+k.plotLeft):u.top-b+e(a.plotY+k.plotTop),0,h?t:A]:[h?d:g,h?a.plotX+k.plotLeft:a.plotY+k.plotTop,h?k.plotLeft:k.plotTop,h?k.plotLeft+k.plotWidth:k.plotTop+k.plotHeight])},p=q("y"),w=q("x"),r=!this.followPointer&&H(a.ttBelow,!k.inverted===!!a.negative),x=function(a,k,d,q,g,t,A){var y= "y"===a?e(b):c(b),F=(d-q)/2,m=qu-l?u:u-l);else if(n)h[a]=Math.max(t,g+l+d>k?g:g+l);else return!1},I=function(c,e,a,k,d){var q;de-b?q=!1:h[c]=d
e-k/2?e-k-2:d-a/2;return q},J=function(c){var e=p;p=w;w=e;m=c},D=function(){!1!==x.apply(0,p)?!1!==I.apply(0,w)||m||(J(!0),D()):m?h.x=h.y=0:(J(!0),D())};(k.inverted||1=e+n&&L.pos+G<=e+n+l-f&&(K=L.pos+G);u=C(u,I.left-p,I.right+p);"number"===typeof K?(F=F.height+1,G=x?x.call(k,h,F,d):a(u,K,t,h),c.push({align:x?0:void 0,anchorX:u,anchorY:K,boxWidth:h,point:d,rank:H(G.rank,t?1:0),size:F,target:G.y,tt:b,x:G.x})):b.isActive=!1}return c},[]);!x&&d.some(function(c){return c.xa[0]?Math.max(Math.abs(a[0]),b.width-a[0]):Math.max(Math.abs(a[0]),b.width);k.height=0>a[1]?Math.max(Math.abs(a[1]),b.height-Math.abs(a[1])):Math.max(Math.abs(a[1]),b.height);this.tracker?this.tracker.attr(k): (this.tracker=g.renderer.rect(k).addClass("highcharts-tracker").add(g),d.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}};h.prototype.styledModeFormat=function(d){return d.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')};h.prototype.tooltipFooterHeaderFormatter=function(d,g){var a=g?"footer":"header",k=d.series,b=k.tooltipOptions,h=b.xDateFormat,l=k.xAxis,m=l&&"datetime"===l.options.type&& I(d.key),n=b[a+"Format"];g={isFooter:g,labelConfig:d};x(this,"headerFormatter",g,function(a){m&&!h&&(h=this.getXDateFormat(d,b,l));m&&h&&(d.point&&d.point.tooltipDateKeys||["key"]).forEach(function(b){n=n.replace("{point."+b+"}","{point."+b+":"+h+"}")});k.chart.styledMode&&(n=this.styledModeFormat(n));a.text=p(n,{point:d,series:k},this.chart)});return g.text};h.prototype.update=function(d){this.destroy();J(!0,this.chart.options.tooltip.userOptions,d);this.init(this.chart,J(!0,this.options,d))};h.prototype.updatePosition= function(d){var g=this.chart,a=g.pointer,k=this.getLabel(),b=d.plotX+g.plotLeft,h=d.plotY+g.plotTop;a=a.getChartPosition();d=(this.options.positioner||this.getPosition).call(this,k.width,k.height,d);if(this.outside){var l=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(k.width+l,k.height+l,!1);if(g=g.containerScaling)z(this.container,{transform:"scale("+g.scaleX+", "+g.scaleY+")"}),b*=g.scaleX,h*=g.scaleY;b+=a.left-d.x;h+=a.top-d.y}this.move(Math.round(d.x),Math.round(d.y||0), b,h)};return h}();r.Tooltip=l;return r.Tooltip});M(v,"Core/Pointer.js",[v["Core/Color.js"],v["Core/Globals.js"],v["Core/Tooltip.js"],v["Core/Utilities.js"]],function(r,f,v,C){var z=r.parse,B=f.charts,E=f.noop,D=C.addEvent,x=C.attr,p=C.css,I=C.defined,w=C.extend,J=C.find,H=C.fireEvent,u=C.isNumber,m=C.isObject,n=C.objectEach,l=C.offset,h=C.pick,d=C.splat;"";r=function(){function g(a,k){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.chart=a;this.hasDragged=!1;this.options=k;this.unbindContainerMouseLeave= function(){};this.unbindContainerMouseEnter=function(){};this.init(a,k)}g.prototype.applyInactiveState=function(a){var k=[],b;(a||[]).forEach(function(a){b=a.series;k.push(b);b.linkedParent&&k.push(b.linkedParent);b.linkedSeries&&(k=k.concat(b.linkedSeries));b.navigatorSeries&&k.push(b.navigatorSeries)});this.chart.series.forEach(function(b){-1===k.indexOf(b)?b.setState("inactive",!0):b.options.inactiveOtherPoints&&b.setAllPointsToState("inactive")})};g.prototype.destroy=function(){var a=this;"undefined"!== typeof a.unDocMouseMove&&a.unDocMouseMove();this.unbindContainerMouseLeave();f.chartCount||(f.unbindDocumentMouseUp&&(f.unbindDocumentMouseUp=f.unbindDocumentMouseUp()),f.unbindDocumentTouchEnd&&(f.unbindDocumentTouchEnd=f.unbindDocumentTouchEnd()));clearInterval(a.tooltipTimeout);n(a,function(k,b){a[b]=void 0})};g.prototype.drag=function(a){var k=this.chart,b=k.options.chart,d=a.chartX,g=a.chartY,h=this.zoomHor,l=this.zoomVert,t=k.plotLeft,A=k.plotTop,n=k.plotWidth,u=k.plotHeight,c=this.selectionMarker, e=this.mouseDownX||0,q=this.mouseDownY||0,f=m(b.panning)?b.panning&&b.panning.enabled:b.panning,p=b.panKey&&a[b.panKey+"Key"];if(!c||!c.touch)if(dt+n&&(d=t+n),gA+u&&(g=A+u),this.hasDragged=Math.sqrt(Math.pow(e-d,2)+Math.pow(q-g,2)),10a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(b,k);if((k= m(a,!0))&&!(k=!m(h,!0))){k=h.distX-a.distX;var g=h.dist-a.dist,l=(a.series.group&&a.series.group.zIndex)-(h.series.group&&h.series.group.zIndex);k=0<(0!==k&&d?k:0!==g?g:0!==l?l:h.series.index>a.series.index?-1:1)}k&&(h=a)});return h};g.prototype.getChartCoordinatesFromPoint=function(a,d){var b=a.series,k=b.xAxis;b=b.yAxis;var g=h(a.clientX,a.plotX),l=a.shapeArgs;if(k&&b)return d?{chartX:k.len+k.pos-g,chartY:b.len+b.pos-a.plotY}:{chartX:g+k.pos,chartY:a.plotY+b.pos};if(l&&l.x&&l.y)return{chartX:l.x, chartY:l.y}};g.prototype.getChartPosition=function(){return this.chartPosition||(this.chartPosition=l(this.chart.container))};g.prototype.getCoordinates=function(a){var d={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(b){d[b.isXAxis?"xAxis":"yAxis"].push({axis:b,value:b.toValue(a[b.horiz?"chartX":"chartY"])})});return d};g.prototype.getHoverData=function(a,d,b,g,l,n){var k,t=[];g=!(!g||!a);var A=d&&!d.stickyTracking,y={chartX:n?n.chartX:void 0,chartY:n?n.chartY:void 0,shared:l};H(this,"beforeGetHoverData", y);A=A?[d]:b.filter(function(b){return y.filter?y.filter(b):b.visible&&!(!l&&b.directTouch)&&h(b.options.enableMouseTracking,!0)&&b.stickyTracking});d=(k=g||!n?a:this.findNearestKDPoint(A,l,n))&&k.series;k&&(l&&!d.noSharedTooltip?(A=b.filter(function(b){return y.filter?y.filter(b):b.visible&&!(!l&&b.directTouch)&&h(b.options.enableMouseTracking,!0)&&!b.noSharedTooltip}),A.forEach(function(b){var c=J(b.points,function(c){return c.x===k.x&&!c.isNull});m(c)&&(b.chart.isBoosting&&(c=b.getPoint(c)),t.push(c))})): t.push(k));y={hoverPoint:k};H(this,"afterGetHoverData",y);return{hoverPoint:y.hoverPoint,hoverSeries:d,hoverPoints:t}};g.prototype.getPointFromEvent=function(a){a=a.target;for(var d;a&&!d;)d=a.point,a=a.parentNode;return d};g.prototype.onTrackerMouseOut=function(a){a=a.relatedTarget||a.toElement;var d=this.chart.hoverSeries;this.isDirectTouch=!1;if(!(!d||!a||d.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+d.index)&&this.inClass(a,"highcharts-tracker")))d.onMouseOut()}; g.prototype.inClass=function(a,d){for(var b;a;){if(b=x(a,"class")){if(-1!==b.indexOf(d))return!0;if(-1!==b.indexOf("highcharts-container"))return!1}a=a.parentNode}};g.prototype.init=function(a,d){this.options=d;this.chart=a;this.runChartClick=d.chart.events&&!!d.chart.events.click;this.pinchDown=[];this.lastValidTouch={};v&&(a.tooltip=new v(a,d.tooltip),this.followTouchMove=h(d.tooltip.followTouchMove,!0));this.setDOMEvents()};g.prototype.normalize=function(a,d){var b=a.touches,k=b?b.length?b.item(0): h(b.changedTouches,a.changedTouches)[0]:a;d||(d=this.getChartPosition());b=k.pageX-d.left;d=k.pageY-d.top;if(k=this.chart.containerScaling)b/=k.scaleX,d/=k.scaleY;return w(a,{chartX:Math.round(b),chartY:Math.round(d)})};g.prototype.onContainerClick=function(a){var d=this.chart,b=d.hoverPoint;a=this.normalize(a);var g=d.plotLeft,h=d.plotTop;d.cancelClick||(b&&this.inClass(a.target,"highcharts-tracker")?(H(b.series,"click",w(a,{point:b})),d.hoverPoint&&b.firePointEvent("click",a)):(w(a,this.getCoordinates(a)), d.isInsidePlot(a.chartX-g,a.chartY-h)&&H(d,"click",a)))};g.prototype.onContainerMouseDown=function(a){var d=1===((a.buttons||a.button)&1);a=this.normalize(a);if(f.isFirefox&&0!==a.button)this.onContainerMouseMove(a);if("undefined"===typeof a.button||d)this.zoomOption(a),d&&a.preventDefault&&a.preventDefault(),this.dragStart(a)};g.prototype.onContainerMouseLeave=function(a){var d=B[h(f.hoverChartIndex,-1)],b=this.chart.tooltip;a=this.normalize(a);d&&(a.relatedTarget||a.toElement)&&(d.pointer.reset(), d.pointer.chartPosition=void 0);b&&!b.isHidden&&this.reset()};g.prototype.onContainerMouseEnter=function(a){delete this.chartPosition};g.prototype.onContainerMouseMove=function(a){var d=this.chart;a=this.normalize(a);this.setHoverChartIndex();a.preventDefault||(a.returnValue=!1);"mousedown"===d.mouseIsDown&&this.drag(a);d.openMenu||!this.inClass(a.target,"highcharts-tracker")&&!d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)||this.runPointActions(a)};g.prototype.onDocumentTouchEnd=function(a){B[f.hoverChartIndex]&& B[f.hoverChartIndex].pointer.drop(a)};g.prototype.onContainerTouchMove=function(a){this.touch(a)};g.prototype.onContainerTouchStart=function(a){this.zoomOption(a);this.touch(a,!0)};g.prototype.onDocumentMouseMove=function(a){var d=this.chart,b=this.chartPosition;a=this.normalize(a,b);var g=d.tooltip;!b||g&&g.isStickyOnContact()||d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)||this.inClass(a.target,"highcharts-tracker")||this.reset()};g.prototype.onDocumentMouseUp=function(a){var d=B[h(f.hoverChartIndex, -1)];d&&d.pointer.drop(a)};g.prototype.pinch=function(a){var d=this,b=d.chart,g=d.pinchDown,l=a.touches||[],m=l.length,n=d.lastValidTouch,t=d.hasZoom,A=d.selectionMarker,u={},f=1===m&&(d.inClass(a.target,"highcharts-tracker")&&b.runTrackerClick||d.runChartClick),c={};1G.max&&(d=G.max-u,I=!0);I?(r-=.8*(r-m[y][0]),"number"===typeof x&&(x-=.8*(x-m[y][1])),b()):m[y]=[r,x];p||(l[y]=F-q,l[e]=u);l=p?1/f:f;h[e]=u;h[y]=d;g[p?a?"scaleY":"scaleX":"scale"+n]=f;g["translate"+n]=l*q+(r-l*w)};g.prototype.reset=function(a,k){var b=this.chart,g=b.hoverSeries,h=b.hoverPoint,l=b.hoverPoints, m=b.tooltip,t=m&&m.shared?l:h;a&&t&&d(t).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(a=!1)});if(a)m&&t&&d(t).length&&(m.refresh(t),m.shared&&l?l.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&&b.series.yAxis.drawCrosshair(null,b))}):h&&(h.setState(h.state,!0),b.axes.forEach(function(b){b.crosshair&&h.series[b.coll]===b&&b.drawCrosshair(null,h)})));else{if(h)h.onMouseOut(); l&&l.forEach(function(b){b.setState()});if(g)g.onMouseOut();m&&m.hide(k);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());b.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=b.hoverPoints=b.hoverPoint=null}};g.prototype.runPointActions=function(a,d){var b=this.chart,k=b.tooltip&&b.tooltip.options.enabled?b.tooltip:void 0,g=k?k.shared:!1,l=d||b.hoverPoint,m=l&&l.series||b.hoverSeries;m=this.getHoverData(l,m,b.series,(!a||"touchmove"!==a.type)&&(!!d||m&&m.directTouch&&this.isDirectTouch), g,a);l=m.hoverPoint;var t=m.hoverPoints;d=(m=m.hoverSeries)&&m.tooltipOptions.followPointer;g=g&&m&&!m.noSharedTooltip;if(l&&(l!==b.hoverPoint||k&&k.isHidden)){(b.hoverPoints||[]).forEach(function(b){-1===t.indexOf(b)&&b.setState()});if(b.hoverSeries!==m)m.onMouseOver();this.applyInactiveState(t);(t||[]).forEach(function(b){b.setState("hover")});b.hoverPoint&&b.hoverPoint.firePointEvent("mouseOut");if(!l.series)return;b.hoverPoints=t;b.hoverPoint=l;l.firePointEvent("mouseOver");k&&k.refresh(g?t:l, a)}else d&&k&&!k.isHidden&&(l=k.getAnchor([{}],a),k.updatePosition({plotX:l[0],plotY:l[1]}));this.unDocMouseMove||(this.unDocMouseMove=D(b.container.ownerDocument,"mousemove",function(b){var a=B[f.hoverChartIndex];if(a)a.pointer.onDocumentMouseMove(b)}));b.axes.forEach(function(d){var k=h((d.crosshair||{}).snap,!0),g;k&&((g=b.hoverPoint)&&g.series[d.coll]===d||(g=J(t,function(c){return c.series[d.coll]===d})));g||!k?d.drawCrosshair(a,g):d.hideCrosshair()})};g.prototype.scaleGroups=function(a,d){var b= this.chart,k;b.series.forEach(function(g){k=a||g.getPlotBox();g.xAxis&&g.xAxis.zoomEnabled&&g.group&&(g.group.attr(k),g.markerGroup&&(g.markerGroup.attr(k),g.markerGroup.clip(d?b.clipRect:null)),g.dataLabelsGroup&&g.dataLabelsGroup.attr(k))});b.clipRect.attr(d||b.clipBox)};g.prototype.setDOMEvents=function(){var a=this.chart.container,d=a.ownerDocument;a.onmousedown=this.onContainerMouseDown.bind(this);a.onmousemove=this.onContainerMouseMove.bind(this);a.onclick=this.onContainerClick.bind(this);this.unbindContainerMouseEnter= D(a,"mouseenter",this.onContainerMouseEnter.bind(this));this.unbindContainerMouseLeave=D(a,"mouseleave",this.onContainerMouseLeave.bind(this));f.unbindDocumentMouseUp||(f.unbindDocumentMouseUp=D(d,"mouseup",this.onDocumentMouseUp.bind(this)));f.hasTouch&&(D(a,"touchstart",this.onContainerTouchStart.bind(this)),D(a,"touchmove",this.onContainerTouchMove.bind(this)),f.unbindDocumentTouchEnd||(f.unbindDocumentTouchEnd=D(d,"touchend",this.onDocumentTouchEnd.bind(this))))};g.prototype.setHoverChartIndex= function(){var a=this.chart,d=f.charts[h(f.hoverChartIndex,-1)];if(d&&d!==a)d.pointer.onContainerMouseLeave({relatedTarget:!0});d&&d.mouseIsDown||(f.hoverChartIndex=a.index)};g.prototype.touch=function(a,d){var b=this.chart,k;this.setHoverChartIndex();if(1===a.touches.length)if(a=this.normalize(a),(k=b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop))&&!b.openMenu){d&&this.runPointActions(a);if("touchmove"===a.type){d=this.pinchDown;var g=d[0]?4<=Math.sqrt(Math.pow(d[0].chartX-a.chartX,2)+Math.pow(d[0].chartY- a.chartY,2)):!1}h(g,!0)&&this.pinch(a)}else d&&this.reset();else 2===a.touches.length&&this.pinch(a)};g.prototype.zoomOption=function(a){var d=this.chart,b=d.options.chart,g=b.zoomType||"";d=d.inverted;/touch/.test(a.type)&&(g=h(b.pinchType,g));this.zoomX=a=/x/.test(g);this.zoomY=g=/y/.test(g);this.zoomHor=a&&!d||g&&d;this.zoomVert=g&&!d||a&&d;this.hasZoom=a||g};return g}();return f.Pointer=r});M(v,"Core/MSPointer.js",[v["Core/Globals.js"],v["Core/Pointer.js"],v["Core/Utilities.js"]],function(r,f, v){function C(){var m=[];m.item=function(m){return this[m]};w(H,function(n){m.push({pageX:n.pageX,pageY:n.pageY,target:n.target})});return m}function z(m,n,l,h){"touch"!==m.pointerType&&m.pointerType!==m.MSPOINTER_TYPE_TOUCH||!E[r.hoverChartIndex]||(h(m),h=E[r.hoverChartIndex].pointer,h[n]({type:l,target:m.currentTarget,preventDefault:x,touches:C()}))}var B=this&&this.__extends||function(){var m=function(n,l){m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,d){h.__proto__=d}||function(h, d){for(var g in d)d.hasOwnProperty(g)&&(h[g]=d[g])};return m(n,l)};return function(n,l){function h(){this.constructor=n}m(n,l);n.prototype=null===l?Object.create(l):(h.prototype=l.prototype,new h)}}(),E=r.charts,D=r.doc,x=r.noop,p=v.addEvent,I=v.css,w=v.objectEach,J=v.removeEvent,H={},u=!!r.win.PointerEvent;return function(m){function n(){return null!==m&&m.apply(this,arguments)||this}B(n,m);n.prototype.batchMSEvents=function(l){l(this.chart.container,u?"pointerdown":"MSPointerDown",this.onContainerPointerDown); l(this.chart.container,u?"pointermove":"MSPointerMove",this.onContainerPointerMove);l(D,u?"pointerup":"MSPointerUp",this.onDocumentPointerUp)};n.prototype.destroy=function(){this.batchMSEvents(J);m.prototype.destroy.call(this)};n.prototype.init=function(l,h){m.prototype.init.call(this,l,h);this.hasZoom&&I(l.container,{"-ms-touch-action":"none","touch-action":"none"})};n.prototype.onContainerPointerDown=function(l){z(l,"onContainerTouchStart","touchstart",function(h){H[h.pointerId]={pageX:h.pageX, pageY:h.pageY,target:h.currentTarget}})};n.prototype.onContainerPointerMove=function(l){z(l,"onContainerTouchMove","touchmove",function(h){H[h.pointerId]={pageX:h.pageX,pageY:h.pageY};H[h.pointerId].target||(H[h.pointerId].target=h.currentTarget)})};n.prototype.onDocumentPointerUp=function(l){z(l,"onDocumentTouchEnd","touchend",function(h){delete H[h.pointerId]})};n.prototype.setDOMEvents=function(){m.prototype.setDOMEvents.call(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(p)};return n}(f)}); M(v,"Core/Legend.js",[v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f){var v=f.addEvent,C=f.animObject,z=f.css,B=f.defined,E=f.discardElement,D=f.find,x=f.fireEvent,p=f.format,I=f.isNumber,w=f.merge,J=f.pick,H=f.relativeLength,u=f.setAnimation,m=f.stableSort,n=f.syncTimeout;f=f.wrap;var l=r.isFirefox,h=r.marginNames,d=r.win,g=function(){function a(a,b){this.allItems=[];this.contentGroup=this.box=void 0;this.display=!1;this.group=void 0;this.offsetWidth=this.maxLegendWidth=this.maxItemWidth= this.legendWidth=this.legendHeight=this.lastLineHeight=this.lastItemY=this.itemY=this.itemX=this.itemMarginTop=this.itemMarginBottom=this.itemHeight=this.initialItemY=0;this.options={};this.padding=0;this.pages=[];this.proximate=!1;this.scrollGroup=void 0;this.widthOption=this.totalItemWidth=this.titleHeight=this.symbolWidth=this.symbolHeight=0;this.chart=a;this.init(a,b)}a.prototype.init=function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),v(this.chart,"endResize",function(){this.legend.positionCheckboxes()}), this.proximate?this.unchartrender=v(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())};a.prototype.setOptions=function(a){var b=J(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=w(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.itemMarginBottom=a.itemMarginBottom||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=J(a.symbolWidth, 16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted;this.baseline=void 0};a.prototype.update=function(a,b){var d=this.chart;this.setOptions(w(!0,this.options,a));this.destroy();d.isDirtyLegend=d.isDirtyBox=!0;J(b,!0)&&d.redraw();x(this,"afterUpdate")};a.prototype.colorizeItem=function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var d=this.options,k=a.legendItem,g=a.legendLine,h=a.legendSymbol,t=this.itemHiddenStyle.color; d=b?d.itemStyle.color:t;var l=b?a.color||t:t,m=a.options&&a.options.marker,n={fill:l};k&&k.css({fill:d,color:d});g&&g.attr({stroke:l});h&&(m&&h.isMarker&&(n=a.pointAttribs(),b||(n.stroke=n.fill=t)),h.attr(n))}x(this,"afterColorizeItem",{item:a,visible:b})};a.prototype.positionItems=function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()};a.prototype.positionItem=function(a){var b=this,d=this.options,k=d.symbolPadding,g=!d.rtl,h=a._legendItemPos;d= h[0];h=h[1];var t=a.checkbox,l=a.legendGroup;l&&l.element&&(k={translateX:g?d:this.legendWidth-d-2*k-4,translateY:h},g=function(){x(b,"afterPositionItem",{item:a})},B(l.translateY)?l.animate(k,void 0,g):(l.attr(k),g()));t&&(t.x=d,t.y=h)};a.prototype.destroyItem=function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())});b&&E(a.checkbox)};a.prototype.destroy=function(){function a(b){this[b]&&(this[b]=this[b].destroy())}this.getAllItems().forEach(function(b){["legendItem", "legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null};a.prototype.positionCheckboxes=function(){var a=this.group&&this.group.alignAttr,b=this.clipHeight||this.legendHeight,d=this.titleHeight;if(a){var g=a.translateY;this.allItems.forEach(function(k){var h=k.checkbox;if(h){var t=g+d+h.y+(this.scrollOffset||0)+3;z(h,{left:a.translateX+k.checkboxOffset+h.x-20+"px",top:t+"px",display:this.proximate||t>g-6&&tm?this.maxItemWidth:a.itemWidth;g&&this.itemX-d+b>m&&(this.itemX=d,this.lastLineHeight&&(this.itemY+=t+this.lastLineHeight+h),this.lastLineHeight=0);this.lastItemY= t+this.itemY+h;this.lastLineHeight=Math.max(k,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];g?this.itemX+=b:(this.itemY+=t+k+h,this.lastLineHeight=k);this.offsetWidth=this.widthOption||Math.max((g?this.itemX-d-(a.checkbox?0:l):b)+d,this.offsetWidth)};a.prototype.getAllItems=function(){var a=[];this.chart.series.forEach(function(b){var d=b&&b.options;b&&J(d.showInLegend,B(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===d.legendType?b.data:b)))});x(this,"afterGetAllItems", {allItems:a});return a};a.prototype.getAlignment=function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)};a.prototype.adjustMargins=function(a,b){var d=this.chart,g=this.options,k=this.getAlignment();k&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(l,t){l.test(k)&&!B(a[t])&&(d[h[t]]=Math.max(d[h[t]],d.legend[(t+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][t]*g[t%2?"x": "y"]+J(g.margin,12)+b[t]+(d.titleOffset[t]||0)))})};a.prototype.proximatePositions=function(){var a=this.chart,b=[],d="left"===this.options.align;this.allItems.forEach(function(g){var k;var h=d;if(g.yAxis){g.xAxis.options.reversed&&(h=!h);g.points&&(k=D(h?g.points:g.points.slice(0).reverse(),function(b){return I(b.plotY)}));h=this.itemMarginTop+g.legendItem.getBBox().height+this.itemMarginBottom;var t=g.yAxis.top-a.plotTop;g.visible?(k=k?k.plotY:g.yAxis.height,k+=t-.3*h):k=t+g.yAxis.height;b.push({target:k, size:h,item:g})}},this);r.distribute(b,a.plotHeight);b.forEach(function(b){b.item._legendItemPos[1]=a.plotTop-a.spacing[0]+b.pos})};a.prototype.render=function(){var a=this.chart,b=a.renderer,d=this.group,g=this.box,h=this.options,l=this.padding;this.itemX=l;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=H(h.width,a.spacingBox.width-l);var t=a.spacingBox.width-2*l-h.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(t/=2);this.maxLegendWidth=this.widthOption|| t;d||(this.group=d=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(d),this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();var A=this.getAllItems();m(A,function(b,c){return(b.options&&b.options.legendIndex||0)-(c.options&&c.options.legendIndex||0)});h.reversed&&A.reverse();this.allItems=A;this.display=t=!!A.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;A.forEach(this.renderItem,this);A.forEach(this.layoutItem,this); A=(this.widthOption||this.offsetWidth)+l;var n=this.lastItemY+this.lastLineHeight+this.titleHeight;n=this.handleOverflow(n);n+=l;g||(this.box=g=b.rect().addClass("highcharts-legend-box").attr({r:h.borderRadius}).add(d),g.isNew=!0);a.styledMode||g.attr({stroke:h.borderColor,"stroke-width":h.borderWidth||0,fill:h.backgroundColor||"none"}).shadow(h.shadow);0h&&!1!==c.enabled?(this.clipHeight=m=Math.max(h-20-this.titleHeight-t,0),this.currentPage=J(this.currentPage,1),this.fullHeight=a,w.forEach(function(c,e){var b=c._legendItemPos[1],a=Math.round(c.legendItem.getBBox().height), d=f.length;if(!d||b-f[d-1]>m&&(p||b)!==f[d-1])f.push(p||b),d++;c.pageIx=d-1;p&&(w[e-1].pageIx=d-1);e===w.length-1&&b+a-f[d-1]>m&&b!==p&&(f.push(b),c.pageIx=d);b!==p&&(p=b)}),n||(n=b.clipRect=g.clipRect(0,t,9999,0),b.contentGroup.clip(n)),r(m),u||(this.nav=u=g.g().attr({zIndex:1}).add(this.group),this.up=g.symbol("triangle",0,0,q,q).add(u),H("upTracker").on("click",function(){b.scroll(-1,e)}),this.pager=g.text("",15,10).addClass("highcharts-legend-navigation"),d.styledMode||this.pager.css(c.style), this.pager.add(u),this.down=g.symbol("triangle-down",0,0,q,q).add(u),H("downTracker").on("click",function(){b.scroll(1,e)})),b.scroll(0),a=h):u&&(r(),this.nav=u.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a};a.prototype.scroll=function(a,b){var d=this,g=this.chart,k=this.pages,h=k.length,t=this.currentPage+a;a=this.clipHeight;var l=this.options.navigation,m=this.pager,f=this.padding;t>h&&(t=h);0=g.value;)g=h[++d];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=g&&g.color&&!this.options.color?g.color:this.nonZonedColor;return g};n.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType};n.prototype.init=function(l,h,d){this.series=l;this.applyOptions(h, d);this.id=C(this.id)?this.id:m();this.resolveColor();l.chart.pointCount++;E(this,"afterInit");return this};n.prototype.optionsToObject=function(l){var h={},d=this.series,g=d.options.keys,a=g||d.pointArrayMap||["y"],k=a.length,b=0,m=0;if(I(l)||null===l)h[a[0]]=l;else if(p(l))for(!g&&l.length>k&&(d=typeof l[0],"string"===d?h.name=l[0]:"number"===d&&(h.x=l[0]),b++);m=G(c[b].options.index,c[b]._i)){c.splice(b+1,0,this);break}-1===b&&c.unshift(this);b+=1}else c.push(this);return G(b,c.length-1)},bindAxes:function(){var c=this,e=c.options,b=c.chart,a;h(this,"bindAxes",null,function(){(c.axisTypes|| []).forEach(function(d){b[d].forEach(function(b){a=b.options;if(e[d]===a.index||"undefined"!==typeof e[d]&&e[d]===a.id||"undefined"===typeof e[d]&&0===a.index)c.insert(b.series),c[d]=b,b.isDirty=!0});c[d]||c.optionalAxis===d||m(18,!0,b)})});h(this,"afterBindAxes")},updateParallelArrays:function(c,e){var b=c.series,a=arguments,d=k(e)?function(a){var d="y"===a&&b.toYData?b.toYData(c):c[a];b[a+"Data"][e]=d}:function(c){Array.prototype[e].apply(b[c+"Data"],Array.prototype.slice.call(a,2))};b.parallelArrays.forEach(d)}, hasData:function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0=this.cropStart? n-this.cropStart:n);!g&&d[n]&&d[n].touched&&(n=void 0);return n},drawLegendSymbol:f.drawLineMarker,updateData:function(c,e){var b=this.options,a=b.dataSorting,d=this.points,g=[],h,t,l,m=this.requireSorting,n=c.length===d.length,A=!0;this.xIncrement=null;c.forEach(function(c,e){var q=H(c)&&this.pointClass.prototype.optionsToObject.call({series:this},c)||{};var t=q.x;if(q.id||k(t)){if(t=this.findPointIndex(q,l),-1===t||"undefined"===typeof t?g.push(c):d[t]&&c!==b.data[t]?(d[t].update(c,!1,null,!1), d[t].touched=!0,m&&(l=t+1)):d[t]&&(d[t].touched=!0),!n||e!==t||a&&a.enabled||this.hasDerivedData)h=!0}else g.push(c)},this);if(h)for(c=d.length;c--;)(t=d[c])&&!t.touched&&t.remove&&t.remove(!1,e);else!n||a&&a.enabled?A=!1:(c.forEach(function(c,e){d[e].update&&c!==d[e].y&&d[e].update(c,!1,null,!1)}),g.length=0);d.forEach(function(c){c&&(c.touched=!1)});if(!A)return!1;g.forEach(function(c){this.addPoint(c,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement= p(this.xData),this.autoIncrement());return!0},setData:function(c,e,a,d){var q=this,h=q.points,t=h&&h.length||0,l,n=q.options,A=q.chart,u=n.dataSorting,f=null,y=q.xAxis;f=n.turboThreshold;var p=this.xData,F=this.yData,K=(l=q.pointArrayMap)&&l.length,w=n.keys,N=0,r=1,L;c=c||[];l=c.length;e=G(e,!0);u&&u.enabled&&(c=this.sortData(c));!1!==d&&l&&t&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.isSeriesBoosting&&(L=this.updateData(c,a));if(!L){q.xIncrement=null;q.colorCounter=0;this.parallelArrays.forEach(function(c){q[c+ "Data"].length=0});if(f&&l>f)if(f=q.getFirstValidPoint(c),k(f))for(a=0;ac?1:0}).forEach(function(c,e){c.x=e},this);e.linkedSeries&&e.linkedSeries.forEach(function(e){var b=e.options,d=b.data;b.dataSorting&&b.dataSorting.enabled||!d||(d.forEach(function(b,g){d[g]=a(e,b);c[g]&&(d[g].x=c[g].x,d[g].index=g)}),e.setData(d,!1))});return c},getProcessedData:function(c){var e=this.xData,b=this.yData,a=e.length;var d=0;var g=this.xAxis,k=this.options;var h=k.cropThreshold;var t=c||this.getExtremesFromAll||k.getExtremesFromAll,l=this.isCartesian;c=g&&g.val2lin;k=!(!g||!g.logarithmic); var n=this.requireSorting;if(g){g=g.getExtremes();var A=g.min;var u=g.max}if(l&&this.sorted&&!t&&(!h||a>h||this.forceCrop))if(e[a-1]u)e=[],b=[];else if(this.yData&&(e[0]u)){d=this.cropData(this.xData,this.yData,A,u);e=d.xData;b=d.yData;d=d.start;var f=!0}for(h=e.length||1;--h;)if(a=k?c(e[h])-c(e[h-1]):e[h]-e[h-1],0a&&n&&(m(15,!1,this.chart),n=!1);return{xData:e,yData:b,cropped:f,cropStart:d,closestPointRange:y}},processData:function(c){var e= this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!c)return!1;c=this.getProcessedData();this.cropped=c.cropped;this.cropStart=c.cropStart;this.processedXData=c.xData;this.processedYData=c.yData;this.closestPointRange=this.basePointRange=c.closestPointRange},cropData:function(c,e,b,a,d){var g=c.length,k=0,q=g,h;d=G(d,this.cropShoulder);for(h=0;h=b){k=Math.max(0,h-d);break}for(b=h;ba){q=b+d;break}return{xData:c.slice(k,q),yData:e.slice(k,q), start:k,end:q}},generatePoints:function(){var c=this.options,e=c.data,b=this.data,a,d=this.processedXData,g=this.processedYData,k=this.pointClass,l=d.length,m=this.cropStart||0,A=this.hasGroupedData;c=c.keys;var u=[],f;b||A||(b=[],b.length=e.length,b=this.data=b);c&&A&&(this.options.keys=!1);for(f=0;f=m&&(d[u-A]||y)<=n;if(K&&y)if(K=F.length)for(;K--;)k(F[K])&&(t[l++]=F[K]);else t[l++]=F}c={dataMin:I(t),dataMax:p(t)};h(this,"afterGetExtremes",{dataExtremes:c});return c},applyExtremes:function(){var c=this.getExtremes();this.dataMin= c.dataMin;this.dataMax=c.dataMax;return c},getFirstValidPoint:function(c){for(var e=null,b=c.length,a=0;null===e&&a=v&&(v=null),r.total=r.stackTotal=E.total,r.percentage=E.total&&r.y/E.total*100,r.stackY=x,this.irregularWidths||E.setOffset(this.pointXOffset||0,this.barW||0));r.yBottom=H(v)?w(t.translate(v,0,1,0,1),-1E5,1E5):null;n&&(x=this.modifyValue(x,r));r.plotY="number"===typeof x&&Infinity!==x?w(t.translate(x,0,1,0,1),-1E5,1E5):void 0;r.isInside=this.isPointInside(r);r.clientX=u?J(b.translate(L,0,0,0,1,f)):F;r.negative=r[K]<(c[K+"Threshold"]||y||0);r.category=a&&"undefined"!==typeof a[r.x]?a[r.x]:r.x;if(!r.isNull&& !1!==r.visible){"undefined"!==typeof C&&(N=Math.min(N,Math.abs(F-C)));var C=F}r.zone=this.zones.length&&r.getZone();!r.graphic&&this.group&&d&&(r.isNew=!0)}this.closestPointRangePx=N;h(this,"afterTranslate")},getValidPoints:function(c,e,b){var a=this.chart;return(c||this.points||[]).filter(function(c){return e&&!a.isInsidePlot(c.plotX,c.plotY,a.inverted)?!1:!1!==c.visible&&(b||!c.isNull)})},getClipBox:function(c,e){var b=this.options,a=this.chart,d=a.inverted,g=this.xAxis,k=g&&this.yAxis,h=a.options.chart.scrollablePlotArea|| {};c&&!1===b.clip&&k?c=d?{y:-a.chartWidth+k.len+k.pos,height:a.chartWidth,width:a.chartHeight,x:-a.chartHeight+g.len+g.pos}:{y:-k.pos,height:a.chartHeight,width:a.chartWidth,x:-g.pos}:(c=this.clipBox||a.clipBox,e&&(c.width=a.plotSizeX,c.x=(a.scrollablePixelsX||0)*(h.scrollPositionX||0)));return e?{width:c.width,x:c.x}:c},setClip:function(c){var e=this.chart,b=this.options,a=e.renderer,d=e.inverted,g=this.clipBox,k=this.getClipBox(c),h=this.sharedClipKey||["_sharedClip",c&&c.duration,c&&c.easing,k.height, b.xAxis,b.yAxis].join(),t=e[h],l=e[h+"m"];c&&(k.width=0,d&&(k.x=e.plotHeight+(!1!==b.clip?0:e.plotTop)));t?e.hasLoaded||t.attr(k):(c&&(e[h+"m"]=l=a.clipRect(d?e.plotSizeX+99:-99,d?-e.plotLeft:-e.plotTop,99,d?e.chartWidth:e.chartHeight)),e[h]=t=a.clipRect(k),t.count={length:0});c&&!t.count[this.index]&&(t.count[this.index]=!0,t.count.length+=1);if(!1!==b.clip||c)this.group.clip(c||g?t:e.clipRect),this.markerGroup.clip(l),this.sharedClipKey=h;c||(t.count[this.index]&&(delete t.count[this.index],--t.count.length), 0===t.count.length&&h&&e[h]&&(g||(e[h]=e[h].destroy()),e[h+"m"]&&(e[h+"m"]=e[h+"m"].destroy())))},animate:function(c){var e=this.chart,b=x(this.options.animation);if(!e.hasRendered)if(c)this.setClip(b);else{var a=this.sharedClipKey;c=e[a];var d=this.getClipBox(b,!0);c&&c.animate(d,b);e[a+"m"]&&e[a+"m"].animate({width:d.width+99,x:d.x-(e.inverted?0:99)},b)}},afterAnimate:function(){this.setClip();h(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var c=this.points,e=this.chart, b,a,d=this.options.marker,g=this[this.specialGroup]||this.markerGroup,k=this.xAxis,h=G(d.enabled,!k||k.isRadial?!0:null,this.closestPointRangePx>=d.enabledThreshold*d.radius);if(!1!==d.enabled||this._hasPointMarkers)for(b=0;bg&&e.shadow));h&&(h.startX=b.xMap,h.isArea=b.isArea)})},getZonesGraphs:function(c){this.zones.forEach(function(e,b){b=["zone-graph-"+b,"highcharts-graph highcharts-zone-graph-"+b+" "+(e.className||"")];this.chart.styledMode||b.push(e.color||this.color,e.dashStyle||this.options.dashStyle);c.push(b)},this); return c},applyZones:function(){var c=this,e=this.chart,b=e.renderer,a=this.zones,d,g,k=this.clips||[],h,t=this.graph,l=this.area,m=Math.max(e.chartWidth,e.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],A=e.inverted,f,u,y,p=!1,F,K;if(a.length&&(t||l)&&n&&"undefined"!==typeof n.min){var r=n.reversed;var N=n.horiz;t&&!this.showLine&&t.hide();l&&l.hide();var L=n.getExtremes();a.forEach(function(a,q){d=r?N?e.plotWidth:0:N?0:n.toPixels(L.min)||0;d=w(G(g,d),0,m);g=w(Math.round(n.toPixels(G(a.value,L.max), !0)||0),0,m);p&&(d=g=n.toPixels(L.max));f=Math.abs(d-g);u=Math.min(d,g);y=Math.max(d,g);n.isXAxis?(h={x:A?y:u,y:0,width:f,height:m},N||(h.x=e.plotHeight-h.x)):(h={x:0,y:A?y:u,width:m,height:f},N&&(h.y=e.plotWidth-h.y));A&&b.isVML&&(h=n.isXAxis?{x:0,y:r?u:y,height:h.width,width:e.chartWidth}:{x:h.y-e.plotLeft-e.spacingBox.x,y:0,width:h.height,height:e.chartHeight});k[q]?k[q].animate(h):k[q]=b.clipRect(h);F=c["zone-area-"+q];K=c["zone-graph-"+q];t&&K&&K.clip(k[q]);l&&F&&F.clip(k[q]);p=a.value>L.max; c.resetZones&&0===g&&(g=void 0)});this.clips=k}else c.visible&&(t&&t.show(!0),l&&l.show(!0))},invertGroups:function(c){function e(){["group","markerGroup"].forEach(function(e){b[e]&&(a.renderer.isVML&&b[e].attr({width:b.yAxis.len,height:b.xAxis.len}),b[e].width=b.yAxis.len,b[e].height=b.xAxis.len,b[e].invert(b.isRadialSeries?!1:c))})}var b=this,a=b.chart;b.xAxis&&(b.eventsToUnbind.push(D(a,"resize",e)),e(),b.invertGroups=e)},plotGroup:function(c,e,b,a,d){var g=this[c],k=!g;b={visibility:b,zIndex:a|| .1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(b.opacity=this.opacity);k&&(this[c]=g=this.chart.renderer.g().add(d));g.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(H(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(g.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);g.attr(b)[k?"attr":"animate"](this.getPlotBox());return g},getPlotBox:function(){var c=this.chart, e=this.xAxis,b=this.yAxis;c.inverted&&(e=b,b=this.xAxis);return{translateX:e?e.left:c.plotLeft,translateY:b?b.top:c.plotTop,scaleX:1,scaleY:1}},removeEvents:function(c){c?this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(c){c()}),this.eventsToUnbind.length=0):L(this)},render:function(){var c=this,e=c.chart,b=c.options,a=x(b.animation),d=!c.finishedAnimating&&e.renderer.isSVG&&a.duration,g=c.visible?"inherit":"hidden",k=b.zIndex,t=c.hasRendered,l=e.seriesGroup,m=e.inverted;h(this,"render"); var n=c.plotGroup("group","series",g,k,l);c.markerGroup=c.plotGroup("markerGroup","markers",g,k,l);d&&c.animate&&c.animate(!0);n.inverted=c.isCartesian||c.invertable?m:!1;c.drawGraph&&(c.drawGraph(),c.applyZones());c.visible&&c.drawPoints();c.drawDataLabels&&c.drawDataLabels();c.redrawPoints&&c.redrawPoints();c.drawTracker&&!1!==c.options.enableMouseTracking&&c.drawTracker();c.invertGroups(m);!1===b.clip||c.sharedClipKey||t||n.clip(e.clipRect);d&&c.animate&&c.animate();t||(d&&a.defer&&(d+=a.defer), c.animationTimeout=A(function(){c.afterAnimate()},d||0));c.isDirty=!1;c.hasRendered=!0;h(c,"afterRender")},redraw:function(){var c=this.chart,e=this.isDirty||this.isDirtyData,b=this.group,a=this.xAxis,d=this.yAxis;b&&(c.inverted&&b.attr({width:c.plotWidth,height:c.plotHeight}),b.animate({translateX:G(a&&a.left,c.plotLeft),translateY:G(d&&d.top,c.plotTop)}));this.translate();this.render();e&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(c,e){var b=this.xAxis,a=this.yAxis, d=this.chart.inverted;return this.searchKDTree({clientX:d?b.len-c.chartY+b.pos:c.chartX-b.pos,plotY:d?a.len-c.chartX+a.pos:c.chartY-a.pos},e,c)},buildKDTree:function(c){function e(c,a,d){var g;if(g=c&&c.length){var k=b.kdAxisArray[a%d];c.sort(function(c,e){return c[k]-e[k]});g=Math.floor(g/2);return{point:c[g],left:e(c.slice(0,g),a+1,d),right:e(c.slice(g+1),a+1,d)}}}this.buildingKdTree=!0;var b=this,a=-1l?"left":"right";n=0>l?"right":"left";e[A]&&(A=a(c,e[A],b+1,t),m=A[h]y;)p--;this.updateParallelArrays(A,"splice",p,0,0);this.updateParallelArrays(A,p);l&&A.name&&(l[y]=A.name);m.splice(p,0,a);u&&(this.data.splice(p,0,null),this.processData());"point"===e.legendType&&this.generatePoints();g&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(A,"shift"),m.shift()));!1!==c&&n(this, "addPoint",{point:A});this.isDirtyData=this.isDirty=!0;d&&t.redraw(k)},removePoint:function(a,d,g){var k=this,c=k.data,e=c[a],h=k.points,t=k.chart,l=function(){h&&h.length===c.length&&h.splice(a,1);c.splice(a,1);k.options.data.splice(a,1);k.updateParallelArrays(e||{series:k},"splice",a,1);e&&e.destroy();k.isDirty=!0;k.isDirtyData=!0;d&&t.redraw()};y(g,t);d=b(d,!0);e?e.firePointEvent("remove",null,l):l()},remove:function(a,d,g,k){function c(){e.destroy(k);e.remove=null;h.isDirtyLegend=h.isDirtyBox= !0;h.linkSeries();b(a,!0)&&h.redraw(d)}var e=this,h=e.chart;!1!==g?n(e,"remove",null,c):c()},update:function(d,g){d=v.cleanRecursively(d,this.userOptions);n(this,"update",{options:d});var k=this,h=k.chart,c=k.userOptions,e=k.initialType||k.type,t=d.type||c.type||h.options.chart.type,l=!(this.hasDerivedData||d.dataGrouping||t&&t!==this.type||"undefined"!==typeof d.pointStart||d.pointInterval||d.pointIntervalUnit||d.keys),f=L[e].prototype,A,y=["eventOptions","navigatorSeries","baseSeries"],p=k.finishedAnimating&& {animation:!1},F={};l&&(y.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==d.visible&&y.push("area","graph"),k.parallelArrays.forEach(function(c){y.push(c+"Data")}),d.data&&(d.dataSorting&&m(k.options.dataSorting,d.dataSorting),this.setData(d.data,!1)));d=a(c,p,{index:"undefined"===typeof c.index?k.index:c.index,pointStart:b(c.pointStart,k.xData[0])},!l&&{data:k.options.data}, d);l&&d.data&&(d.data=k.options.data);y=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(y);y.forEach(function(c){y[c]=k[c];delete k[c]});k.remove(!1,null,!1,!0);for(A in f)k[A]=void 0;L[t||e]?m(k,L[t||e].prototype):u(17,!0,h,{missingModuleFor:t||e});y.forEach(function(c){k[c]=y[c]});k.init(h,d);if(l&&this.points){var r=k.options;!1===r.visible?(F.graphic=1,F.dataLabel=1):k._hasPointLabels||(d=r.marker,c=r.dataLabels,d&&(!1===d.enabled||"symbol"in d)&&(F.graphic=1),c&&!1===c.enabled&& (F.dataLabel=1));this.points.forEach(function(c){c&&c.series&&(c.resolveColor(),Object.keys(F).length&&c.destroyElements(F),!1===r.showInLegend&&c.legendItem&&h.legend.destroyItem(c))},this)}k.initialType=e;h.linkSeries();n(this,"afterUpdate");b(g,!0)&&h.redraw(l?void 0:!1)},setName:function(b){this.name=this.options.name=this.userOptions.name=b;this.chart.isDirtyLegend=!0}});m(r.prototype,{update:function(d,g){var h=this.chart,t=d&&d.events||{};d=a(this.userOptions,d);h.options[this.coll].indexOf&& (h.options[this.coll][h.options[this.coll].indexOf(this.userOptions)]=d);k(h.options[this.coll].events,function(c,e){"undefined"===typeof t[e]&&(t[e]=void 0)});this.destroy(!0);this.init(h,m(d,{events:t}));h.isDirtyBox=!0;b(g,!0)&&h.redraw()},remove:function(a){for(var d=this.chart,g=this.coll,k=this.series,c=k.length;c--;)k[c]&&k[c].remove(!1);H(d.axes,this);H(d[g],this);l(d.options[g])?d.options[g].splice(this.options.index,1):delete d.options[g];d[g].forEach(function(c,b){c.options.index=c.userOptions.index= b});this.destroy();d.isDirtyBox=!0;b(a,!0)&&d.redraw()},setTitle:function(b,a){this.update({title:b},a)},setCategories:function(b,a){this.update({categories:b},a)}})});M(v,"Series/AreaSeries.js",[v["Core/Globals.js"],v["Core/Color.js"],v["Mixins/LegendSymbol.js"],v["Core/Utilities.js"]],function(r,f,v,C){var z=f.parse,B=C.objectEach,E=C.pick;f=C.seriesType;var D=r.Series;f("area","line",{threshold:0},{singleStacks:!1,getStackPoints:function(f){var p=[],r=[],w=this.xAxis,v=this.yAxis,x=v.stacking.stacks[this.stackKey], u={},m=this.index,n=v.series,l=n.length,h=E(v.options.reversedStacks,!0)?1:-1,d;f=f||this.points;if(this.options.stacking){for(d=0;dr&&w>E?(w=Math.max(r,E),J=2*E-w):wz&&J>E?(J=Math.max(z,E),w=2*E-J):J=Math.abs(m)&&.5f.closestPointRange*f.xAxis.transA;l=f.borderWidth=w(n.borderWidth,l?0:1);var h=f.xAxis,d=f.yAxis,g=n.threshold,a=f.translatedThreshold=d.getThreshold(g),k=w(n.minPointLength,5),b=f.getColumnMetrics(),r=b.width,y=f.barW=Math.max(r,1+2*l),G=f.pointXOffset=b.offset,L=f.dataMin,t=f.dataMax;m.inverted&&(a-=.5);n.pointPadding&&(y=Math.ceil(y)); H.prototype.translate.apply(f);f.points.forEach(function(l){var A=w(l.yBottom,a),u=999+Math.abs(A),c=r,e=l.plotX||0;u=E(l.plotY,-u,d.len+u);var q=e+G,F=y,v=Math.min(u,A),x=Math.max(u,A)-v;if(k&&Math.abs(x)k?A-k:a-(H?k:0)}D(l.options.pointWidth)&&(c=F=Math.ceil(l.options.pointWidth),q-=Math.round((c-r)/2));n.centerInCategory&&(q=f.adjustForMissingColumns(q,c,l,b));l.barX= q;l.pointWidth=c;l.tooltipPos=m.inverted?[d.len+d.pos-m.plotLeft-u,h.len+h.pos-m.plotTop-(e||0)-G-F/2,x]:[q+F/2,u+d.pos-m.plotTop,x];l.shapeType=f.pointClass.prototype.shapeType||"rect";l.shapeArgs=f.crispCol.apply(f,l.isNull?[q,a,F,0]:[q,v,F,x])})},getSymbol:r.noop,drawLegendSymbol:v.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(f,m){var n=this.options,l=this.pointAttrToOptions||{};var h=l.stroke||"borderColor"; var d=l["stroke-width"]||"borderWidth",g=f&&f.color||this.color,a=f&&f[h]||n[h]||this.color||g,k=f&&f[d]||n[d]||this[d]||0;l=f&&f.options.dashStyle||n.dashStyle;var b=w(f&&f.opacity,n.opacity,1);if(f&&this.zones.length){var u=f.getZone();g=f.options.color||u&&(u.color||f.nonZonedColor)||this.color;u&&(a=u.borderColor||a,l=u.dashStyle||l,k=u.borderWidth||k)}m&&f&&(f=I(n.states[m],f.options.states&&f.options.states[m]||{}),m=f.brightness,g=f.color||"undefined"!==typeof m&&z(g).brighten(f.brightness).get()|| g,a=f[h]||a,k=f[d]||k,l=f.dashStyle||l,b=w(f.opacity,b));h={fill:g,stroke:a,"stroke-width":k,opacity:b};l&&(h.dashstyle=l);return h},drawPoints:function(){var f=this,m=this.chart,n=f.options,l=m.renderer,h=n.animationLimit||250,d;f.points.forEach(function(g){var a=g.graphic,k=!!a,b=a&&m.pointCount\u25cf
{series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group", "markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&C.prototype.drawGraph.call(this)},applyJitter:function(){var f=this,r=this.options.jitter,v=this.points.length;r&&this.points.forEach(function(z,x){["x","y"].forEach(function(p,I){var w="plot"+p.toUpperCase();if(r[p]&&!z.isNull){var J=f[p+"Axis"];var H=r[p]*J.transA;if(J&&!J.isLog){var u=Math.max(0,z[w]-H);J=Math.min(J.len,z[w]+H);I=1E4*Math.sin(x+I*v);z[w]=u+(J-u)*(I-Math.floor(I));"x"===p&&(z.clientX= z.plotX)}}})})}});v(C,"afterTranslate",function(){this.applyJitter&&this.applyJitter()});""});M(v,"Mixins/CenteredSeries.js",[v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f){var v=f.isNumber,C=f.pick,z=f.relativeLength,B=r.deg2rad;return r.CenteredSeriesMixin={getCenter:function(){var f=this.options,v=this.chart,x=2*(f.slicedOffset||0),p=v.plotWidth-2*x,I=v.plotHeight-2*x,w=f.center,J=Math.min(p,I),H=f.size,u=f.innerSize||0;"string"===typeof H&&(H=parseFloat(H));"string"===typeof u&&(u= parseFloat(u));f=[C(w[0],"50%"),C(w[1],"50%"),C(H&&0>H?void 0:f.size,"100%"),C(u&&0>u?void 0:f.innerSize||0,"0%")];!v.angular||this instanceof r.Series||(f[3]=0);for(w=0;4>w;++w)H=f[w],v=2>w||2===w&&/%$/.test(H),f[w]=z(H,[p,I,J,f[2]][w])+(v?x:0);f[3]>f[2]&&(f[3]=f[2]);return f},getStartAndEndRadians:function(f,r){f=v(f)?f:0;r=v(r)&&r>f&&360>r-f?r:f+360;return{start:B*(f+-90),end:B*(r+-90)}}}});M(v,"Series/PieSeries.js",[v["Core/Globals.js"],v["Core/Renderer/SVG/SVGRenderer.js"],v["Mixins/LegendSymbol.js"], v["Core/Series/Point.js"],v["Core/Utilities.js"],v["Mixins/CenteredSeries.js"]],function(r,f,v,C,z,B){var E=z.addEvent,D=z.clamp,x=z.defined,p=z.fireEvent,I=z.isNumber,w=z.merge,J=z.pick,H=z.relativeLength,u=z.seriesType,m=z.setAnimation,n=B.getStartAndEndRadians;z=r.noop;var l=r.Series;u("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){return this.point.isNull? void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:r.seriesTypes.column.prototype.pointAttribs,animate:function(h){var d= this,g=d.points,a=d.startAngleRad;h||g.forEach(function(g){var b=g.graphic,k=g.shapeArgs;b&&k&&(b.attr({r:J(g.startR,d.center&&d.center[3]/2),start:a,end:a}),b.animate({r:k.r,start:k.start,end:k.end},d.options.animation))})},hasData:function(){return!!this.processedXData.length},updateTotals:function(){var h,d=0,g=this.points,a=g.length,k=this.options.ignoreHiddenPoint;for(h=0;h1.5*Math.PI?w-=2*Math.PI:w<-Math.PI/2&&(w+=2*Math.PI);A.slicedTranslation={translateX:Math.round(Math.cos(w)*a),translateY:Math.round(Math.sin(w)*a)};var c=Math.cos(w)*h[2]/2;var e=Math.sin(w)*h[2]/2;A.tooltipPos=[h[0]+.7*c,h[1]+.7*e];A.half=w<-Math.PI/2||w>Math.PI/2?1:0;A.angle=w;r=Math.min(k,A.labelDistance/5);A.labelPosition={natural:{x:h[0]+c+Math.cos(w)*A.labelDistance,y:h[1]+e+Math.sin(w)*A.labelDistance},"final":{},alignment:0> A.labelDistance?"center":A.half?"right":"left",connectorPosition:{breakAt:{x:h[0]+c+Math.cos(w)*r,y:h[1]+e+Math.sin(w)*r},touchingSliceAt:{x:h[0]+c,y:h[1]+e}}}}p(this,"afterTranslate")},drawEmpty:function(){var h=this.startAngleRad,d=this.endAngleRad,g=this.options;if(0===this.total&&this.center){var a=this.center[0];var k=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(a,k,this.center[1]/2,0,h,d).addClass("highcharts-empty-series").add(this.group));this.graph.attr({d:f.prototype.symbols.arc(a, k,this.center[2]/2,0,{start:h,end:d,innerR:this.center[3]/2})});this.chart.styledMode||this.graph.attr({"stroke-width":g.borderWidth,fill:g.fillColor||"none",stroke:g.color||"#cccccc"})}else this.graph&&(this.graph=this.graph.destroy())},redrawPoints:function(){var h=this,d=h.chart,g=d.renderer,a,k,b,l,f=h.options.shadow;this.drawEmpty();!f||h.shadowGroup||d.styledMode||(h.shadowGroup=g.g("shadow").attr({zIndex:-1}).add(h.group));h.points.forEach(function(m){var n={};k=m.graphic;if(!m.isNull&&k){l= m.shapeArgs;a=m.getTranslate();if(!d.styledMode){var t=m.shadowGroup;f&&!t&&(t=m.shadowGroup=g.g("shadow").add(h.shadowGroup));t&&t.attr(a);b=h.pointAttribs(m,m.selected&&"select")}m.delayedRendering?(k.setRadialReference(h.center).attr(l).attr(a),d.styledMode||k.attr(b).attr({"stroke-linejoin":"round"}).shadow(f,t),m.delayedRendering=!1):(k.setRadialReference(h.center),d.styledMode||w(!0,n,b),w(!0,n,l,a),k.animate(n));k.attr({visibility:m.visible?"inherit":"hidden"});k.addClass(m.getClassName())}else k&& (m.graphic=k.destroy())})},drawPoints:function(){var h=this.chart.renderer;this.points.forEach(function(d){d.graphic&&d.hasNewShapeType()&&(d.graphic=d.graphic.destroy());d.graphic||(d.graphic=h[d.shapeType](d.shapeArgs).add(d.series.group),d.delayedRendering=!0)})},searchPoint:z,sortByAngle:function(h,d){h.sort(function(g,a){return"undefined"!==typeof g.angle&&(a.angle-g.angle)*d})},drawLegendSymbol:v.drawRectangle,getCenter:B.getCenter,getSymbol:z,drawGraph:null},{init:function(){C.prototype.init.apply(this, arguments);var h=this;h.name=J(h.name,"Slice");var d=function(d){h.slice("select"===d.type)};E(h,"select",d);E(h,"unselect",d);return h},isValid:function(){return I(this.y)&&0<=this.y},setVisible:function(h,d){var g=this,a=g.series,k=a.chart,b=a.options.ignoreHiddenPoint;d=J(d,b);h!==g.visible&&(g.visible=g.options.visible=h="undefined"===typeof h?!g.visible:h,a.options.data[a.data.indexOf(g)]=g.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(b){if(g[b])g[b][h?"show":"hide"](!0)}), g.legendItem&&k.legend.colorizeItem(g,h),h||"hover"!==g.state||g.setState(""),b&&(a.isDirty=!0),d&&k.redraw())},slice:function(h,d,g){var a=this.series;m(g,a.chart);J(d,!0);this.sliced=this.options.sliced=x(h)?h:!this.sliced;a.options.data[a.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(h){var d= this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(d.x,d.y,d.r+h,d.r+h,{innerR:d.r-1,start:d.start,end:d.end})},connectorShapes:{fixedOffset:function(h,d,g){var a=d.breakAt;d=d.touchingSliceAt;return[["M",h.x,h.y],g.softConnector?["C",h.x+("left"===h.alignment?-5:5),h.y,2*a.x-d.x,2*a.y-d.y,a.x,a.y]:["L",a.x,a.y],["L",d.x,d.y]]},straight:function(h,d){d=d.touchingSliceAt;return[["M",h.x,h.y],["L",d.x,d.y]]},crookedLine:function(h,d,g){d=d.touchingSliceAt;var a= this.series,k=a.center[0],b=a.chart.plotWidth,l=a.chart.plotLeft;a=h.alignment;var f=this.shapeArgs.r;g=H(g.crookDistance,1);b="left"===a?k+f+(b+l-k-f)*(1-g):l+(k-f)*g;g=["L",b,h.y];k=!0;if("left"===a?b>h.x||bd.x)k=!1;h=[["M",h.x,h.y]];k&&h.push(g);h.push(["L",d.x,d.y]);return h}},getConnectorPath:function(){var h=this.labelPosition,d=this.series.options.dataLabels,g=d.connectorShape,a=this.connectorShapes;a[g]&&(g=a[g]);return g.call(this,{x:h.final.x,y:h.final.y,alignment:h.alignment}, h.connectorPosition,d)}});""});M(v,"Core/Series/DataLabels.js",[v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f){var v=r.noop,C=r.seriesTypes,z=f.arrayMax,B=f.clamp,E=f.defined,D=f.extend,x=f.fireEvent,p=f.format,I=f.getDeferredAnimation,w=f.isArray,J=f.merge,H=f.objectEach,u=f.pick,m=f.relativeLength,n=f.splat,l=f.stableSort,h=r.Series;r.distribute=function(d,g,a){function k(b,a){return b.target-a.target}var b,h=!0,f=d,m=[];var n=0;var t=f.reducedLen||g;for(b=d.length;b--;)n+=d[b].size; if(n>t){l(d,function(b,a){return(a.rank||0)-(b.rank||0)});for(n=b=0;n<=t;)n+=d[b].size,b++;m=d.splice(b-1,d.length)}l(d,k);for(d=d.map(function(b){return{size:b.size,targets:[b.target],align:u(b.align,.5)}});h;){for(b=d.length;b--;)h=d[b],n=(Math.min.apply(0,h.targets)+Math.max.apply(0,h.targets))/2,h.pos=B(n-h.size*h.align,0,g-h.size);b=d.length;for(h=!1;b--;)0d[b].pos&&(d[b-1].size+=d[b].size,d[b-1].targets=d[b-1].targets.concat(d[b].targets),d[b-1].align=.5,d[b-1].pos+ d[b-1].size>g&&(d[b-1].pos=g-d[b-1].size),d.splice(b,1),h=!0)}f.push.apply(f,m);b=0;d.some(function(d){var k=0;if(d.targets.some(function(){f[b].pos=d.pos+k;if("undefined"!==typeof a&&Math.abs(f[b].pos-f[b].target)>a)return f.slice(0,b+1).forEach(function(b){delete b.pos}),f.reducedLen=(f.reducedLen||g)-.1*g,f.reducedLen>.1*g&&r.distribute(f,g,a),!0;k+=f[b].size;b++}))return!0});l(f,k)};h.prototype.drawDataLabels=function(){function d(b,c){var e=c.filter;return e?(c=e.operator,b=b[e.property],e=e.value, ">"===c&&b>e||"<"===c&&b="===c&&b>=e||"<="===c&&b<=e||"=="===c&&b==e||"==="===c&&b===e?!0:!1):!0}function g(b,c){var e=[],a;if(w(b)&&!w(c))e=b.map(function(e){return J(e,c)});else if(w(c)&&!w(b))e=c.map(function(c){return J(b,c)});else if(w(b)||w(c))for(a=Math.max(b.length,c.length);a--;)e[a]=J(b[a],c[a]);else e=J(b,c);return e}var a=this,k=a.chart,b=a.options,h=b.dataLabels,l=a.points,f,m=a.hasRendered||0,t=h.animation;t=h.defer?I(k,t,a):{defer:0,duration:0};var A=k.renderer;h=g(g(k.options.plotOptions&& k.options.plotOptions.series&&k.options.plotOptions.series.dataLabels,k.options.plotOptions&&k.options.plotOptions[a.type]&&k.options.plotOptions[a.type].dataLabels),h);x(this,"drawDataLabels");if(w(h)||h.enabled||a._hasPointLabels){var r=a.plotGroup("dataLabelsGroup","data-labels",m?"inherit":"hidden",h.zIndex||6);r.attr({opacity:+m});!m&&(m=a.dataLabelsGroup)&&(a.visible&&r.show(!0),m[b.animation?"animate":"attr"]({opacity:1},t));l.forEach(function(t){f=n(g(h,t.dlOptions||t.options&&t.options.dataLabels)); f.forEach(function(c,e){var g=c.enabled&&(!t.isNull||t.dataLabelOnNull)&&d(t,c),h=t.dataLabels?t.dataLabels[e]:t.dataLabel,l=t.connectors?t.connectors[e]:t.connector,f=u(c.distance,t.labelDistance),m=!h;if(g){var n=t.getLabelConfig();var y=u(c[t.formatPrefix+"Format"],c.format);n=E(y)?p(y,n,k):(c[t.formatPrefix+"Formatter"]||c.formatter).call(n,c);y=c.style;var w=c.rotation;k.styledMode||(y.color=u(c.color,y.color,a.color,"#000000"),"contrast"===y.color?(t.contrastColor=A.getContrast(t.color||a.color), y.color=!E(f)&&c.inside||0>f||b.stacking?t.contrastColor:"#000000"):delete t.contrastColor,b.cursor&&(y.cursor=b.cursor));var F={r:c.borderRadius||0,rotation:w,padding:c.padding,zIndex:1};k.styledMode||(F.fill=c.backgroundColor,F.stroke=c.borderColor,F["stroke-width"]=c.borderWidth);H(F,function(c,e){"undefined"===typeof c&&delete F[e]})}!h||g&&E(n)?g&&E(n)&&(h?F.text=n:(t.dataLabels=t.dataLabels||[],h=t.dataLabels[e]=w?A.text(n,0,-9999,c.useHTML).addClass("highcharts-data-label"):A.label(n,0,-9999, c.shape,null,null,c.useHTML,null,"data-label"),e||(t.dataLabel=h),h.addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":""))),h.options=c,h.attr(F),k.styledMode||h.css(y).shadow(c.shadow),h.added||h.add(r),c.textPath&&!c.useHTML&&(h.setTextPath(t.getDataLabelPath&&t.getDataLabelPath(h)||t.graphic,c.textPath),t.dataLabelPath&&!c.textPath.enabled&&(t.dataLabelPath=t.dataLabelPath.destroy())),a.alignDataLabel(t,h,c,null,m)):(t.dataLabel=t.dataLabel&& t.dataLabel.destroy(),t.dataLabels&&(1===t.dataLabels.length?delete t.dataLabels:delete t.dataLabels[e]),e||delete t.dataLabel,l&&(t.connector=t.connector.destroy(),t.connectors&&(1===t.connectors.length?delete t.connectors:delete t.connectors[e])))})})}x(this,"afterDrawDataLabels")};h.prototype.alignDataLabel=function(d,g,a,k,b){var h=this,l=this.chart,f=this.isCartesian&&l.inverted,m=this.enabledDataSorting,t=u(d.dlBox&&d.dlBox.centerX,d.plotX,-9999),n=u(d.plotY,-9999),p=g.getBBox(),r=a.rotation, c=a.align,e=l.isInsidePlot(t,Math.round(n),f),q="justify"===u(a.overflow,m?"none":"justify"),w=this.visible&&!1!==d.visible&&(d.series.forceDL||m&&!q||e||a.inside&&k&&l.isInsidePlot(t,f?k.x+1:k.y+k.height-1,f));var v=function(c){m&&h.xAxis&&!q&&h.setDataLabelStartPos(d,g,b,e,c)};if(w){var x=l.renderer.fontMetrics(l.styledMode?void 0:a.style.fontSize,g).b;k=D({x:f?this.yAxis.len-n:t,y:Math.round(f?this.xAxis.len-t:n),width:0,height:0},k);D(a,{width:p.width,height:p.height});r?(q=!1,t=l.renderer.rotCorr(x, r),t={x:k.x+(a.x||0)+k.width/2+t.x,y:k.y+(a.y||0)+{top:0,middle:.5,bottom:1}[a.verticalAlign]*k.height},v(t),g[b?"attr":"animate"](t).attr({align:c}),v=(r+720)%360,v=180v,"left"===c?t.y-=v?p.height:0:"center"===c?(t.x-=p.width/2,t.y-=p.height/2):"right"===c&&(t.x-=p.width,t.y-=v?0:p.height),g.placed=!0,g.alignAttr=t):(v(k),g.align(a,null,k),t=g.alignAttr);q&&0<=k.height?this.justifyDataLabel(g,a,t,p,k,b):u(a.crop,!0)&&(w=l.isInsidePlot(t.x,t.y)&&l.isInsidePlot(t.x+p.width,t.y+p.height));if(a.shape&& !r)g[b?"attr":"animate"]({anchorX:f?l.plotWidth-d.plotY:d.plotX,anchorY:f?l.plotHeight-d.plotX:d.plotY})}b&&m&&(g.placed=!1);w||m&&!q||(g.hide(!0),g.placed=!1)};h.prototype.setDataLabelStartPos=function(d,g,a,k,b){var h=this.chart,l=h.inverted,f=this.xAxis,m=f.reversed,t=l?g.height/2:g.width/2;d=(d=d.pointWidth)?d/2:0;f=l?b.x:m?-t-d:f.width-t+d;b=l?m?this.yAxis.height-t+d:-t-d:b.y;g.startXPos=f;g.startYPos=b;k?"hidden"===g.visibility&&(g.show(),g.attr({opacity:0}).animate({opacity:1})):g.attr({opacity:1}).animate({opacity:0}, void 0,g.hide);h.hasRendered&&(a&&g.attr({x:g.startXPos,y:g.startYPos}),g.placed=!0)};h.prototype.justifyDataLabel=function(d,g,a,k,b,h){var l=this.chart,f=g.align,m=g.verticalAlign,t=d.box?0:d.padding||0,n=g.x;n=void 0===n?0:n;var u=g.y;var p=void 0===u?0:u;u=a.x+t;if(0>u){"right"===f&&0<=n?(g.align="left",g.inside=!0):n-=u;var c=!0}u=a.x+k.width-t;u>l.plotWidth&&("left"===f&&0>=n?(g.align="right",g.inside=!0):n+=l.plotWidth-u,c=!0);u=a.y+t;0>u&&("bottom"===m&&0<=p?(g.verticalAlign="top",g.inside= !0):p-=u,c=!0);u=a.y+k.height-t;u>l.plotHeight&&("top"===m&&0>=p?(g.verticalAlign="bottom",g.inside=!0):p+=l.plotHeight-u,c=!0);c&&(g.x=n,g.y=p,d.placed=!h,d.align(g,void 0,b));return c};C.pie&&(C.pie.prototype.dataLabelPositioners={radialDistributionY:function(d){return d.top+d.distributeBox.pos},radialDistributionX:function(d,g,a,k){return d.getX(ag.bottom-2?k:a,g.half,g)},justify:function(d,g,a){return a[0]+(d.half?-1:1)*(g+d.labelDistance)},alignToPlotEdges:function(d,g,a,k){d=d.getBBox().width; return g?d+k:a-d-k},alignToConnectors:function(d,g,a,k){var b=0,h;d.forEach(function(a){h=a.dataLabel.getBBox().width;h>b&&(b=h)});return g?b+k:a-b-k}},C.pie.prototype.drawDataLabels=function(){var d=this,g=d.data,a,k=d.chart,b=d.options.dataLabels||{},l=b.connectorPadding,f,m=k.plotWidth,n=k.plotHeight,t=k.plotLeft,A=Math.round(k.chartWidth/3),p,w=d.center,c=w[2]/2,e=w[1],q,v,x,H,I=[[],[]],C,D,B,Q,M=[0,0,0,0],S=d.dataLabelPositioners,W;d.visible&&(b.enabled||d._hasPointLabels)&&(g.forEach(function(c){c.dataLabel&& c.visible&&c.dataLabel.shortened&&(c.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),c.dataLabel.shortened=!1)}),h.prototype.drawDataLabels.apply(d),g.forEach(function(c){c.dataLabel&&(c.visible?(I[c.half].push(c),c.dataLabel._pos=null,!E(b.style.width)&&!E(c.options.dataLabels&&c.options.dataLabels.style&&c.options.dataLabels.style.width)&&c.dataLabel.getBBox().width>A&&(c.dataLabel.css({width:Math.round(.7*A)+"px"}),c.dataLabel.shortened=!0)):(c.dataLabel=c.dataLabel.destroy(), c.dataLabels&&1===c.dataLabels.length&&delete c.dataLabels))}),I.forEach(function(g,h){var f=g.length,A=[],p;if(f){d.sortByAngle(g,h-.5);if(0m-l&&0===h&&(y=Math.round(C+v-m+l),M[1]=Math.max(y,M[1])),0>D-H/2?M[0]=Math.max(Math.round(-D+H/2),M[0]):D+H/2>n&&(M[2]=Math.max(Math.round(D+H/2-n),M[2])),q.sideOverflow=y)}}}),0===z(M)||this.verifyDataLabelOverflow(M))&& (this.placeDataLabels(),this.points.forEach(function(c){W=J(b,c.options.dataLabels);if(f=u(W.connectorWidth,1)){var e;p=c.connector;if((q=c.dataLabel)&&q._pos&&c.visible&&0u(this.translatedThreshold,f.yAxis.len)),t=u(a.inside,!!this.options.stacking);m&&(k=J(m),0>k.y&&(k.height+=k.y,k.y=0),m=k.y+k.height-f.yAxis.len,0=l.x+l.width||h.x+h.width<=l.x||h.y>=l.y+l.height||h.y+h.height<=l.y||((n.labelrank=c&&l<=e||t||!I(l))f=!0;k[t?"zoomX":"zoomY"]&&f&&(g=d.zoom(b.min,b.max),d.displayBtn&&(h=!0))});var f=a.resetZoomButton;h&&!f?a.showResetZoom():!h&&n(f)&&(a.resetZoomButton=f.destroy());g&&a.redraw(d(a.options.chart.animation,b&&b.animation,100>a.pointCount))},pan:function(b,a){var d=this,g=d.hoverPoints,k=d.options.chart,h=d.options.mapNavigation&&d.options.mapNavigation.enabled,l;a="object"===typeof a?a:{enabled:a,type:"x"};k&&k.panning&&(k.panning= a);var n=a.type;J(this,"pan",{originalEvent:b},function(){g&&g.forEach(function(c){c.setState()});var a=[1];"xy"===n?a=[1,0]:"y"===n&&(a=[0]);a.forEach(function(c){var e=d[c?"xAxis":"yAxis"][0],a=e.horiz,g=b[a?"chartX":"chartY"];a=a?"mouseDownX":"mouseDownY";var k=d[a],t=(e.pointRange||0)/2,p=e.reversed&&!d.inverted||!e.reversed&&d.inverted?-1:1,u=e.getExtremes(),A=e.toValue(k-g,!0)+t*p;p=e.toValue(k+e.len-g,!0)-t*p;var y=p=p&&A<=t&&(e.setExtremes(k,A,!1,!1,{trigger:"pan"}),d.resetZoomButton||h||k===p||A===t||!n.match("y")||(d.showResetZoom(),e.displayBtn=!1),l=!0),d[a]=g)});l&&d.redraw(!1);p(d.container,{cursor:"move"})})}});w(z.prototype,{select:function(b,a){var g=this,k=g.series,h=k.chart;this.selectedStaging=b=d(b,!g.selected);g.firePointEvent(b?"select":"unselect",{accumulate:a},function(){g.selected= g.options.selected=b;k.options.data[k.data.indexOf(g)]=g.options;g.setState(b&&"select");a||h.getSelectedPoints().forEach(function(b){var a=b.series;b.selected&&b!==g&&(b.selected=b.options.selected=!1,a.options.data[a.data.indexOf(b)]=b.options,b.setState(h.hoverPoints&&a.options.inactiveOtherPoints?"inactive":""),b.firePointEvent("unselect"))})});delete this.selectedStaging},onMouseOver:function(b){var a=this.series.chart,d=a.pointer;b=b?d.normalize(b):d.getChartCoordinatesFromPoint(this,a.inverted); d.runPointActions(b,this)},onMouseOut:function(){var b=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(b.hoverPoints||[]).forEach(function(b){b.setState()});b.hoverPoints=b.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,a=l(b.series.options.point,b.options).events;b.events=a;h(a,function(a,d){u(a)&&D(b,d,a)});this.hasImportedEvents=!0}},setState:function(b,a){var g=this.series,k=this.state,h=g.options.states[b||"normal"]|| {},l=E.plotOptions[g.type].marker&&g.options.marker,f=l&&!1===l.enabled,m=l&&l.states&&l.states[b||"normal"]||{},n=!1===m.enabled,c=g.stateMarkerGraphic,e=this.marker||{},q=g.chart,p=g.halo,u,r=l&&g.markerAttribs;b=b||"";if(!(b===this.state&&!a||this.selected&&"select"!==b||!1===h.enabled||b&&(n||f&&!1===m.enabled)||b&&e.states&&e.states[b]&&!1===e.states[b].enabled)){this.state=b;r&&(u=g.markerAttribs(this,b));if(this.graphic){k&&this.graphic.removeClass("highcharts-point-"+k);b&&this.graphic.addClass("highcharts-point-"+ b);if(!q.styledMode){var v=g.pointAttribs(this,b);var F=d(q.options.chart.animation,h.animation);g.options.inactiveOtherPoints&&v.opacity&&((this.dataLabels||[]).forEach(function(c){c&&c.animate({opacity:v.opacity},F)}),this.connector&&this.connector.animate({opacity:v.opacity},F));this.graphic.animate(v,F)}u&&this.graphic.animate(u,d(q.options.chart.animation,m.animation,l.animation));c&&c.hide()}else{if(b&&m){k=e.symbol||g.symbol;c&&c.currentSymbol!==k&&(c=c.destroy());if(u)if(c)c[a?"animate":"attr"]({x:u.x, y:u.y});else k&&(g.stateMarkerGraphic=c=q.renderer.symbol(k,u.x,u.y,u.width,u.height).add(g.markerGroup),c.currentSymbol=k);!q.styledMode&&c&&c.attr(g.pointAttribs(this,b))}c&&(c[b&&this.isInside?"show":"hide"](),c.element.point=this)}b=h.halo;h=(c=this.graphic||c)&&c.visibility||"inherit";b&&b.size&&c&&"hidden"!==h&&!this.isCluster?(p||(g.halo=p=q.renderer.path().add(c.parentGroup)),p.show()[a?"animate":"attr"]({d:this.haloPath(b.size)}),p.attr({"class":"highcharts-halo highcharts-color-"+d(this.colorIndex, g.colorIndex)+(this.className?" "+this.className:""),visibility:h,zIndex:-1}),p.point=this,q.styledMode||p.attr(w({fill:this.color||g.color,"fill-opacity":b.opacity},b.attributes))):p&&p.point&&p.point.haloPath&&p.animate({d:p.point.haloPath(0)},null,p.hide);J(this,"afterSetState")}},haloPath:function(b){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-b,this.plotY-b,2*b,2*b)}});w(C.prototype,{onMouseOver:function(){var b=this.chart,a=b.hoverSeries;b.pointer.setHoverChartIndex(); if(a&&a!==this)a.onMouseOut();this.options.events.mouseOver&&J(this,"mouseOver");this.setState("hover");b.hoverSeries=this},onMouseOut:function(){var b=this.options,a=this.chart,d=a.tooltip,g=a.hoverPoint;a.hoverSeries=null;if(g)g.onMouseOut();this&&b.events.mouseOut&&J(this,"mouseOut");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();a.series.forEach(function(b){b.setState("",!0)})},setState:function(b,a){var g=this,k=g.options,h=g.graph,l=k.inactiveOtherPoints,f=k.states,m=k.lineWidth, n=k.opacity,c=d(f[b||"normal"]&&f[b||"normal"].animation,g.chart.options.chart.animation);k=0;b=b||"";if(g.state!==b&&([g.group,g.markerGroup,g.dataLabelsGroup].forEach(function(c){c&&(g.state&&c.removeClass("highcharts-series-"+g.state),b&&c.addClass("highcharts-series-"+b))}),g.state=b,!g.chart.styledMode)){if(f[b]&&!1===f[b].enabled)return;b&&(m=f[b].lineWidth||m+(f[b].lineWidthPlus||0),n=d(f[b].opacity,n));if(h&&!h.dashstyle)for(f={"stroke-width":m},h.animate(f,c);g["zone-graph-"+k];)g["zone-graph-"+ k].attr(f),k+=1;l||[g.group,g.markerGroup,g.dataLabelsGroup,g.labelBySeries].forEach(function(e){e&&e.animate({opacity:n},c)})}a&&l&&g.points&&g.setAllPointsToState(b)},setAllPointsToState:function(b){this.points.forEach(function(a){a.setState&&a.setState(b)})},setVisible:function(b,a){var d=this,g=d.chart,k=d.legendItem,h=g.options.chart.ignoreHiddenSeries,l=d.visible;var f=(d.visible=b=d.options.visible=d.userOptions.visible="undefined"===typeof b?!l:b)?"show":"hide";["group","dataLabelsGroup", "markerGroup","tracker","tt"].forEach(function(b){if(d[b])d[b][f]()});if(g.hoverSeries===d||(g.hoverPoint&&g.hoverPoint.series)===d)d.onMouseOut();k&&g.legend.colorizeItem(d,b);d.isDirty=!0;d.options.stacking&&g.series.forEach(function(b){b.options.stacking&&b.visible&&(b.isDirty=!0)});d.linkedSeries.forEach(function(a){a.setVisible(b,!1)});h&&(g.isDirtyBox=!0);J(d,f);!1!==a&&g.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(b){this.selected=b=this.options.selected= "undefined"===typeof b?!this.selected:b;this.checkbox&&(this.checkbox.checked=b);J(this,b?"select":"unselect")},drawTracker:k.drawTrackerGraph})});M(v,"Core/Responsive.js",[v["Core/Chart/Chart.js"],v["Core/Utilities.js"]],function(r,f){var v=f.find,C=f.isArray,z=f.isObject,B=f.merge,E=f.objectEach,D=f.pick,x=f.splat,p=f.uniqueKey;r.prototype.setResponsive=function(f,r){var w=this.options.responsive,x=[],u=this.currentResponsive;!r&&w&&w.rules&&w.rules.forEach(function(f){"undefined"===typeof f._id&& (f._id=p());this.matchResponsiveRule(f,x)},this);r=B.apply(0,x.map(function(f){return v(w.rules,function(m){return m._id===f}).chartOptions}));r.isResponsiveOptions=!0;x=x.toString()||void 0;x!==(u&&u.ruleIds)&&(u&&this.update(u.undoOptions,f,!0),x?(u=this.currentOptions(r),u.isResponsiveOptions=!0,this.currentResponsive={ruleIds:x,mergedOptions:r,undoOptions:u},this.update(r,f,!0)):this.currentResponsive=void 0)};r.prototype.matchResponsiveRule=function(f,p){var r=f.condition;(r.callback||function(){return this.chartWidth<= D(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=D(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=D(r.minWidth,0)&&this.chartHeight>=D(r.minHeight,0)}).call(this)&&p.push(f._id)};r.prototype.currentOptions=function(f){function p(f,m,n,l){var h;E(f,function(d,g){if(!l&&-1l?h:l;J=J+1+d.descendants;H=Math.max(d.height+1,H);return d});p&&(p.start=C(p.start,n),p.end=C(p.end,l));f(z,{children:m,descendants:J,height:H});"function"===typeof u&&u(z,w);return z};return{getListOfParents:z, getNode:B,getTree:function(f,r){var v=f.map(function(f){return f.id});f=z(f,v);return B("",null,1,null,f,r)}}});M(v,"Core/Axis/TreeGridTick.js",[v["Core/Utilities.js"]],function(r){var f=r.addEvent,v=r.defined,C=r.isObject,z=r.isNumber,B=r.pick,E=r.wrap,D;(function(r){function p(){this.treeGrid||(this.treeGrid=new u(this))}function x(f,n){f=f.treeGrid;var l=!f.labelIcon,h=n.renderer,d=n.xy,g=n.options,a=g.width,k=g.height,b=d.x-a/2-g.padding;d=d.y-k/2;var m=n.collapsed?90:180,p=n.show&&z(d),u=f.labelIcon; u||(f.labelIcon=u=h.path(h.symbols[g.type](g.x,g.y,a,k)).addClass("highcharts-label-icon").add(n.group));p||u.attr({y:-9999});h.styledMode||u.attr({"stroke-width":1,fill:B(n.color,"#666666")}).css({cursor:"pointer",stroke:g.lineColor,strokeWidth:g.lineWidth});u[l?"attr":"animate"]({translateX:b,translateY:d,rotation:m})}function w(f,n,l,h,d,g,a,k,b){var m=B(this.options&&this.options.labels,g);g=this.pos;var p=this.axis,u="treegrid"===p.options.type;f=f.apply(this,[n,l,h,d,m,a,k,b]);u&&(n=m&&C(m.symbol, !0)?m.symbol:{},m=m&&z(m.indentation)?m.indentation:0,g=(g=(p=p.treeGrid.mapOfPosToGridNode)&&p[g])&&g.depth||1,f.x+=n.width+2*n.padding+(g-1)*m);return f}function J(m){var n=this,l=n.pos,h=n.axis,d=n.label,g=h.treeGrid.mapOfPosToGridNode,a=h.options,k=B(n.options&&n.options.labels,a&&a.labels),b=k&&C(k.symbol,!0)?k.symbol:{},p=(g=g&&g[l])&&g.depth;a="treegrid"===a.type;var u=-1f&&!d.startOnTick&&(k[0]=f),h>l&&h-m=n?(p-n)%m:m-(n-p)%m;return f.inclusive?p<=l:p=p)break;else n.to=p)break;else if(f.isInBreak(l,p)){m-=p-l.from;break}}return m};f.prototype.findBreakAt=function(f,p){return B(p,function(m){return m.fromb;)t-=k;for(;tg.to||a>g.from&&bg.from&&bg.from&&b>g.to&&bf&&l>=this.basePointRange&&(f=l),a=void 0;d--;)a&&!1!==a.visible||(a=h[d+1]),l=h[d],!1!==a.visible&&!1!==l.visible&&(a.x-l.x>f&&(a=(l.x+a.x)/2,h.splice(d+ 1,0,{isNull:!0,x:a}),g.stacking&&this.options.stacking&&(a=g.stacking.stacks[this.stackKey][a]=new C(g,g.options.stackLabels,!1,a,this.stack),a.total=0)),a=l);return this.getGraphPath(h)};z(f,"init",function(){this.brokenAxis||(this.brokenAxis=new w(this))});z(f,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});z(f,"afterSetTickPositions",function(){var f=this.brokenAxis;if(f&&f.hasBreaks){var l=this.tickPositions,h=this.tickPositions.info, d=[],g;for(g=0;g=a&&(d-=.5);return{from:d,to:b,showPoints:!1}}function d(b,a,d){var g=[],k=[],c={},e={},h=-1,f="boolean"===typeof a?a:!1;b=v.getTree(b,{after:function(c){c=e[c.pos];var b=0,a=0;c.children.forEach(function(c){a+=(c.descendants||0)+1;b=Math.max((c.height||0)+1,b)});c.descendants=a;c.height=b;c.collapsed&&k.push(c)},before:function(b){var a=w(b.data,!0)?b.data:{},d=J(a.name)?a.name:"",k=c[b.parent]; k=w(k,!0)?e[k.pos]:null;var l=function(c){return c.name===d},t;f&&w(k,!0)&&(t=x(k.children,l))?(l=t.pos,t.nodes.push(b)):l=h++;e[l]||(e[l]=t={depth:k?k.depth+1:0,name:d,nodes:[b],children:[],pos:l},-1!==l&&g.push(d),w(k,!0)&&k.children.push(t));J(b.id)&&(c[b.id]=b);t&&!0===a.collapsed&&(t.collapsed=!0);b.pos=l}});e=function(c,b){var e=function(c,a,d){var g=a+(-1===a?0:b-1),k=(g-a)/2,h=a+k;c.nodes.forEach(function(c){var b=c.data;w(b,!0)&&(b.y=a+(b.seriesIndex||0),delete b.seriesIndex);c.pos=h});d[h]= c;c.pos=h;c.tickmarkOffset=k+.5;c.collapseStart=g+.5;c.children.forEach(function(c){e(c,g+1,d);g=(c.collapseEnd||0)-.5});c.collapseEnd=g+.5;return d};return e(c["-1"],-1,{})}(e,d);return{categories:g,mapOfIdToNode:c,mapOfPosToGridNode:e,collapsedNodes:k,tree:b}}function g(b){b.target.axes.filter(function(b){return"treegrid"===b.options.type}).forEach(function(a){var g=a.options||{},k=g.labels,h=g.uniqueNames,c=0,e=g.max;if(!a.treeGrid.mapOfPosToGridNode||a.series.some(function(c){return!c.hasRendered|| c.isDirtyData||c.isDirty})){g=a.series.reduce(function(b,e){e.visible&&((e.options.data||[]).forEach(function(e){w(e,!0)&&(e.seriesIndex=c,b.push(e))}),!0===h&&c++);return b},[]);if(e&&g.length=d)||b.brokenAxis&&b.brokenAxis.isInAnyBreak(d)||a.push(d);return a},[])};b.prototype.isCollapsed=function(b){var a=this.axis,d=a.options.breaks||[],g=h(b,a.max);return d.some(function(c){return c.from===g.from&&c.to===g.to})};b.prototype.toggleCollapse=function(b){return this.isCollapsed(b)?this.expand(b):this.collapse(b)};return b}();l.Additions=G})(n||(n={}));r.prototype.utils={getNode:v.getNode};n.compose(r);return n});M(v,"Extensions/CurrentDateIndication.js",[v["Core/Globals.js"],v["Core/Options.js"], v["Core/Utilities.js"],v["Core/Axis/PlotLineOrBand.js"]],function(r,f,v,C){var z=f.dateFormat;f=v.addEvent;var B=v.merge;v=v.wrap;var E={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(f,r){return z(r,f)},rotation:0,style:{fontSize:"10px"}}};f(r.Axis,"afterSetOptions",function(){var f=this.options,r=f.currentDateIndicator;r&&(r="object"===typeof r?B(E,r):B(E),r.value=new Date,f.plotLines||(f.plotLines=[]),f.plotLines.push(r))});f(C,"render",function(){this.label&& this.label.attr({text:this.getLabelText(this.options.label)})});v(C.prototype,"getLabelText",function(f,r){var p=this.options;return p.currentDateIndicator&&p.label&&"function"===typeof p.label.formatter?(p.value=new Date,p.label.formatter.call(this,p.value,p.label.format)):f.call(this,r)})});M(v,"Extensions/StaticScale.js",[v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f){var v=f.addEvent,C=f.defined,z=f.isNumber,B=f.pick;f=r.Chart;v(r.Axis,"afterSetOptions",function(){var f=this.chart.options&& this.chart.options.chart;!this.horiz&&z(this.options.staticScale)&&(!f.height||f.scrollablePlotArea&&f.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)});f.prototype.adjustHeight=function(){"adjustHeight"!==this.redrawTrigger&&((this.axes||[]).forEach(function(f){var r=f.chart,v=!!r.initiatedScale&&r.options.animation,p=f.options.staticScale;if(f.staticScale&&C(f.min)){var z=B(f.brokenAxis&&f.brokenAxis.unitLength,f.max+f.tickInterval-f.min)*p;z=Math.max(z,p);p=z-r.plotHeight; 1<=Math.abs(p)&&(r.plotHeight=z,r.redrawTrigger="adjustHeight",r.setSize(void 0,r.chartHeight+p,v));f.series.forEach(function(f){(f=f.sharedClipKey&&r[f.sharedClipKey])&&f.attr({height:r.plotHeight})})}}),this.initiatedScale=!0);this.redrawTrigger=null};v(f,"render",f.prototype.adjustHeight)});M(v,"Extensions/ArrowSymbols.js",[v["Core/Renderer/SVG/SVGRenderer.js"]],function(r){r.prototype.symbols.arrow=function(f,r,v,z){return[["M",f,r+z/2],["L",f+v,r],["L",f,r+z/2],["L",f+v,r+z]]};r.prototype.symbols["arrow-half"]= function(f,v,C,z){return r.prototype.symbols.arrow(f,v,C/2,z)};r.prototype.symbols["triangle-left"]=function(f,r,v,z){return[["M",f+v,r],["L",f,r+z/2],["L",f+v,r+z],["Z"]]};r.prototype.symbols["arrow-filled"]=r.prototype.symbols["triangle-left"];r.prototype.symbols["triangle-left-half"]=function(f,v,C,z){return r.prototype.symbols["triangle-left"](f,v,C/2,z)};r.prototype.symbols["arrow-filled-half"]=r.prototype.symbols["triangle-left-half"]});M(v,"Gantt/Connection.js",[v["Core/Globals.js"],v["Core/Options.js"], v["Core/Series/Point.js"],v["Core/Utilities.js"]],function(r,f,v,C){function z(f){var p=f.shapeArgs;return p?{xMin:p.x,xMax:p.x+p.width,yMin:p.y,yMax:p.y+p.height}:(p=f.graphic&&f.graphic.getBBox())?{xMin:f.plotX-p.width/2,xMax:f.plotX+p.width/2,yMin:f.plotY-p.height/2,yMax:f.plotY+p.height/2}:null}"";var B=C.defined,E=C.error,D=C.extend,x=C.merge,p=C.objectEach,I=r.deg2rad,w=Math.max,J=Math.min;D(f.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle", inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});f=function(){function f(f,m,n){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart=void 0;this.init(f,m,n)}f.prototype.init=function(f,m,n){this.fromPoint=f;this.toPoint=m;this.options=n;this.chart=f.series.chart;this.pathfinder=this.chart.pathfinder};f.prototype.renderPath=function(f,m,n){var l=this.chart,h=l.styledMode,d=l.pathfinder,g=!l.options.chart.forExport&&!1!==n,a=this.graphics&&this.graphics.path; d.group||(d.group=l.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(l.seriesGroup));d.group.translate(l.plotLeft,l.plotTop);a&&a.renderer||(a=l.renderer.path().add(d.group),h||a.attr({opacity:0}));a.attr(m);f={d:f};h||(f.opacity=1);a[g?"animate":"attr"](f,n);this.graphics=this.graphics||{};this.graphics.path=a};f.prototype.addMarker=function(f,m,n){var l=this.fromPoint.series.chart,h=l.pathfinder;l=l.renderer;var d="start"===f?this.fromPoint:this.toPoint,g=d.getPathfinderAnchorPoint(m); if(m.enabled&&((n="start"===f?n[1]:n[n.length-2])&&"M"===n[0]||"L"===n[0])){n={x:n[1],y:n[2]};n=d.getRadiansToVector(n,g);g=d.getMarkerVector(n,m.radius,g);n=-n/I;if(m.width&&m.height){var a=m.width;var k=m.height}else a=k=2*m.radius;this.graphics=this.graphics||{};g={x:g.x-a/2,y:g.y-k/2,width:a,height:k,rotation:n,rotationOriginX:g.x,rotationOriginY:g.y};this.graphics[f]?this.graphics[f].animate(g):(this.graphics[f]=l.symbol(m.symbol).addClass("highcharts-point-connecting-path-"+f+"-marker").attr(g).add(h.group), l.styledMode||this.graphics[f].attr({fill:m.color||this.fromPoint.color,stroke:m.lineColor,"stroke-width":m.lineWidth,opacity:0}).animate({opacity:1},d.series.options.animation))}};f.prototype.getPath=function(f){var m=this.pathfinder,n=this.chart,l=m.algorithms[f.type],h=m.chartObstacles;if("function"!==typeof l)return E('"'+f.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};l.requiresObstacles&&!h&&(h=m.chartObstacles=m.getChartObstacles(f),n.options.connectors.algorithmMargin=f.algorithmMargin, m.chartObstacleMetrics=m.getObstacleMetrics(h));return l(this.fromPoint.getPathfinderAnchorPoint(f.startMarker),this.toPoint.getPathfinderAnchorPoint(f.endMarker),x({chartObstacles:h,lineObstacles:m.lineObstacles||[],obstacleMetrics:m.chartObstacleMetrics,hardBounds:{xMin:0,xMax:n.plotWidth,yMin:0,yMax:n.plotHeight},obstacleOptions:{margin:f.algorithmMargin},startDirectionX:m.getAlgorithmStartDirection(f.startMarker)},f))};f.prototype.render=function(){var f=this.fromPoint,m=f.series,n=m.chart,l= n.pathfinder,h=x(n.options.connectors,m.options.connectors,f.options.connectors,this.options),d={};n.styledMode||(d.stroke=h.lineColor||f.color,d["stroke-width"]=h.lineWidth,h.dashStyle&&(d.dashstyle=h.dashStyle));d["class"]="highcharts-point-connecting-path highcharts-color-"+f.colorIndex;h=x(d,h);B(h.marker.radius)||(h.marker.radius=J(w(Math.ceil((h.algorithmMargin||8)/2)-1,1),5));f=this.getPath(h);n=f.path;f.obstacles&&(l.lineObstacles=l.lineObstacles||[],l.lineObstacles=l.lineObstacles.concat(f.obstacles)); this.renderPath(n,d,m.options.animation);this.addMarker("start",x(h.marker,h.startMarker),n);this.addMarker("end",x(h.marker,h.endMarker),n)};f.prototype.destroy=function(){this.graphics&&(p(this.graphics,function(f){f.destroy()}),delete this.graphics)};return f}();r.Connection=f;D(v.prototype,{getPathfinderAnchorPoint:function(f){var p=z(this);switch(f.align){case "right":var m="xMax";break;case "left":m="xMin"}switch(f.verticalAlign){case "top":var n="yMin";break;case "bottom":n="yMax"}return{x:m? p[m]:(p.xMin+p.xMax)/2,y:n?p[n]:(p.yMin+p.yMax)/2}},getRadiansToVector:function(f,p){var m;B(p)||(m=z(this))&&(p={x:(m.xMin+m.xMax)/2,y:(m.yMin+m.yMax)/2});return Math.atan2(p.y-f.y,f.x-p.x)},getMarkerVector:function(f,p,m){var n=2*Math.PI,l=z(this),h=l.xMax-l.xMin,d=l.yMax-l.yMin,g=Math.atan2(d,h),a=!1;h/=2;var k=d/2,b=l.xMin+h;l=l.yMin+k;for(var r=b,u=l,w={},v=1,t=1;f<-Math.PI;)f+=n;for(;f>Math.PI;)f-=n;n=Math.tan(f);f>-g&&f<=g?(t=-1,a=!0):f>g&&f<=Math.PI-g?t=-1:f>Math.PI-g||f<=-(Math.PI-g)?(v= -1,a=!0):v=-1;a?(r+=v*h,u+=t*h*n):(r+=d/(2*n)*v,u+=t*k);m.x!==b&&(r=m.x);m.y!==l&&(u=m.y);w.x=r+p*Math.cos(f);w.y=u-p*Math.sin(f);return w}});return f});M(v,"Gantt/PathfinderAlgorithms.js",[v["Core/Utilities.js"]],function(r){function f(f,p,r){r=r||0;var v=f.length-1;p-=1e-7;for(var u,m;r<=v;)if(u=v+r>>1,m=p-f[u].xMin,0m)v=u-1;else return u;return 0=r.x)w=p[v],w=r.x<=w.xMax&&r.x>=w.xMin&&r.y<=w.yMax&&r.y>= w.yMin;if(w)return v}return-1}function C(f){var p=[];if(f.length){p.push(["M",f[0].start.x,f[0].start.y]);for(var r=0;rp(d[b]-a[b+"Max"]);return w(d, b,a,b+(g?"Max":"Min"),g?1:-1)}var m=[],n=E(x.startDirectionX,p(r.x-f.x)>p(r.y-f.y))?"x":"y",l=x.chartObstacles,h=v(l,f);x=v(l,r);if(-1=f[n]===x[n]>=g[n]&&(n="y"===n?"x":"y",r=f[n]e?D(f(G,k.x),G.length-1):0;G[c]&&(0e&&G[c].xMax>=g.x);){if(G[c].xMin<=k.x&&G[c].xMax>=g.x&&G[c].yMin<=l.y&&G[c].yMax>=h.y)return d?{y:b.y,x:b.x=g[k+"Max"];g=b[k+"Min"]<=g[k+"Min"];var t=b[k+"Max"]>=f[k+"Max"];f=b[k+"Min"]<=f[k+"Min"];var m=p(b[k+"Min"]-a[k]),n=p(b[k+"Max"]-a[k]);d=10>p(m-n)?a[k]p(w.y-r.y)),h=l?"x":"y",d=[],g=!1,a=B.obstacleMetrics,k=D(r.x,w.x)-a.maxWidth-10,b=x(r.x,w.x)+a.maxWidth+10,F=D(r.y,w.y)-a.maxHeight-10,y=x(r.y,w.y)+a.maxHeight+10,G=B.chartObstacles;var L=f(G,k);a=f(G,b);G=G.slice(L,a+1);if(-1<(a=v(G,w))){var t=n(G[a],w,r);d.push({end:w,start:t});w=t}for(;-1<(a=v(G,w));)L=0>w[h]-r[h],t={x:w.x,y:w.y},t[h]=G[a][L?h+"Max":h+"Min"]+(L?1:-1),d.push({end:w,start:t}),w=t;r=m(r,w,l);r=r.concat(d.reverse());return{path:C(r),obstacles:r}},{requiresObstacles:!0}), straight:function(f,p){return{path:[["M",f.x,f.y],["L",p.x,p.y]],obstacles:[{start:f,end:p}]}},simpleConnect:r}});M(v,"Gantt/Pathfinder.js",[v["Gantt/Connection.js"],v["Core/Chart/Chart.js"],v["Core/Globals.js"],v["Core/Options.js"],v["Core/Series/Point.js"],v["Core/Utilities.js"],v["Gantt/PathfinderAlgorithms.js"]],function(r,f,v,C,z,B,E){function D(d){var a=d.shapeArgs;return a?{xMin:a.x,xMax:a.x+a.width,yMin:a.y,yMax:a.y+a.height}:(a=d.graphic&&d.graphic.getBBox())?{xMin:d.plotX-a.width/2,xMax:d.plotX+ a.width/2,yMin:d.plotY-a.height/2,yMax:d.plotY+a.height/2}:null}function x(d){for(var a=d.length,g=0,b,f,n=[],p=function(b,a,d){d=m(d,10);var g=b.yMax+d>a.yMin-d&&b.yMin-da.xMin-d&&b.xMin-da.xMax?b.xMin-a.xMax:a.xMin-b.xMax:Infinity,e=f?b.yMin>a.yMax?b.yMin-a.yMax:a.yMin-b.yMax:Infinity;return f&&g?d?p(b,a,Math.floor(d/2)):Infinity:h(c,e)};gf&&n.push(f);n.push(80);return l(Math.floor(n.sort(function(b,a){return b- a})[Math.floor(n.length/10)]/2-1),1)}function p(d){if(d.options.pathfinder||d.series.reduce(function(a,d){d.options&&u(!0,d.options.connectors=d.options.connectors||{},d.options.pathfinder);return a||d.options&&d.options.pathfinder},!1))u(!0,d.options.connectors=d.options.connectors||{},d.options.pathfinder),J('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var I=B.addEvent,w=B.defined,J=B.error,H=B.extend,u=B.merge,m=B.pick,n=B.splat,l= Math.max,h=Math.min;H(C.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});var d=function(){function d(a){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}d.prototype.init=function(a){this.chart=a;this.connections=[];I(a,"redraw",function(){this.pathfinder.update()})};d.prototype.update= function(a){var d=this.chart,b=this,g=b.connections;b.connections=[];d.series.forEach(function(a){a.visible&&!a.options.isInternal&&a.points.forEach(function(a){var c,e=a.options&&a.options.connect&&n(a.options.connect);a.visible&&!1!==a.isInside&&e&&e.forEach(function(e){c=d.get("string"===typeof e?e:e.to);c instanceof z&&c.series.visible&&c.visible&&!1!==c.isInside&&b.connections.push(new r(a,c,"string"===typeof e?{}:e))})})});for(var f=0,h,l,t=g.length,m=b.connections.length;fMath.PI;)d-=b;b=Math.tan(d);d>-l&&d<=l?(r=-1,t=!0):d>l&&d<=Math.PI-l?r=-1:d>Math.PI-l||d<=-(Math.PI-l)?(q=-1,t=!0):q=-1;t?(p+=q*h,c+=r*h*b):(p+=k/(2*b)*q,c+=r*m);f.x!==n&&(p=f.x);f.y!==g&&(c=f.y);e.x=p+a*Math.cos(d);e.y=c-a*Math.sin(d);return e}});f.prototype.callbacks.push(function(g){!1!==g.options.connectors.enabled&&(p(g),this.pathfinder= new d(this),this.pathfinder.update(!0))});return d});M(v,"Series/XRangeSeries.js",[v["Core/Axis/Axis.js"],v["Core/Globals.js"],v["Core/Color.js"],v["Core/Series/Point.js"],v["Core/Utilities.js"]],function(r,f,v,C,z){var B=v.parse;v=z.addEvent;var E=z.clamp,D=z.correctFloat,x=z.defined,p=z.find,I=z.isNumber,w=z.isObject,J=z.merge,H=z.pick;z=z.seriesType;var u=f.seriesTypes.column,m=f.seriesTypes,n=f.Series;z("xrange","column",{colorByPoint:!0,dataLabels:{formatter:function(){var f=this.point.partialFill; w(f)&&(f=f.amount);if(I(f)&&0{point.x} - {point.x2}

',pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:m.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:f.noop,buildKDTree:f.noop,init:function(){m.column.prototype.init.apply(this, arguments);this.options.stacking=void 0},getColumnMetrics:function(){function f(){h.series.forEach(function(d){var a=d.xAxis;d.xAxis=d.yAxis;d.yAxis=a})}var h=this.chart;f();var d=u.prototype.getColumnMetrics.call(this);f();return d},cropData:function(f,h,d,g){h=n.prototype.cropData.call(this,this.x2Data,h,d,g);h.xData=f.slice(h.start,h.end);return h},findPointIndex:function(f){var h=this.cropped,d=this.cropStart,g=this.points,a=f.id;if(a)var k=(k=p(g,function(b){return b.id===a}))?k.index:void 0; "undefined"===typeof k&&(k=(k=p(g,function(b){return b.x===f.x&&b.x2===f.x2&&!b.touched}))?k.index:void 0);h&&I(k)&&I(d)&&k>=d&&(k-=d);return k},translatePoint:function(f){var h=this.xAxis,d=this.yAxis,g=this.columnMetrics,a=this.options,k=a.minPointLength||0,b=f.plotX,l=H(f.x2,f.x+(f.len||0)),m=h.translate(l,0,0,0,1);l=Math.abs(m-b);var n=this.chart.inverted,p=H(a.borderWidth,1)%2/2,t=g.offset,r=Math.round(g.width);k&&(k-=l,0>k&&(k=0),b-=k/2,m+=k/2);b=Math.max(b,-10);m=E(m,-10,h.len+10);x(f.options.pointWidth)&& (t-=(Math.ceil(f.options.pointWidth)-r)/2,r=Math.ceil(f.options.pointWidth));a.pointPlacement&&I(f.plotY)&&d.categories&&(f.plotY=d.translate(f.y,0,1,0,1,a.pointPlacement));f.shapeArgs={x:Math.floor(Math.min(b,m))+p,y:Math.floor(f.plotY+t)+p,width:Math.round(Math.abs(m-b)),height:r,r:this.options.borderRadius};a=f.shapeArgs.x;k=a+f.shapeArgs.width;0>a||k>h.len?(a=E(a,0,h.len),k=E(k,0,h.len),m=k-a,f.dlBox=J(f.shapeArgs,{x:a,width:k-a,centerX:m?m/2:null})):f.dlBox=null;a=f.tooltipPos;k=n?1:0;m=n?0: 1;g=this.columnMetrics?this.columnMetrics.offset:-g.width/2;a[k]=E(a[k]+l/2*(h.reversed?-1:1)*(n?-1:1),0,h.len-1);a[m]=E(a[m]+(n?-1:1)*g,0,d.len-1);if(g=f.partialFill)w(g)&&(g=g.amount),I(g)||(g=0),d=f.shapeArgs,f.partShapeArgs={x:d.x,y:d.y,width:d.width,height:d.height,r:this.options.borderRadius},b=Math.max(Math.round(l*g+f.plotX-b),0),f.clipRectArgs={x:h.reversed?d.x+l-b:d.x,y:d.y,width:b,height:d.height}},translate:function(){u.prototype.translate.apply(this,arguments);this.points.forEach(function(f){this.translatePoint(f)}, this)},drawPoint:function(f,h){var d=this.options,g=this.chart.renderer,a=f.graphic,k=f.shapeType,b=f.shapeArgs,l=f.partShapeArgs,m=f.clipRectArgs,n=f.partialFill,p=d.stacking&&!d.borderRadius,t=f.state,r=d.states[t||"normal"]||{},u="undefined"===typeof t?"attr":h;t=this.pointAttribs(f,t);r=H(this.chart.options.chart.animation,r.animation);if(f.isNull||!1===f.visible)a&&(f.graphic=a.destroy());else{if(a)a.rect[h](b);else f.graphic=a=g.g("point").addClass(f.getClassName()).add(f.group||this.group), a.rect=g[k](J(b)).addClass(f.getClassName()).addClass("highcharts-partfill-original").add(a);l&&(a.partRect?(a.partRect[h](J(l)),a.partialClipRect[h](J(m))):(a.partialClipRect=g.clipRect(m.x,m.y,m.width,m.height),a.partRect=g[k](l).addClass("highcharts-partfill-overlay").add(a).clip(a.partialClipRect)));this.chart.styledMode||(a.rect[h](t,r).shadow(d.shadow,null,p),l&&(w(n)||(n={}),w(d.partialFill)&&(n=J(n,d.partialFill)),f=n.fill||B(t.fill).brighten(-.3).get()||B(f.color||this.color).brighten(-.3).get(), t.fill=f,a.partRect[u](t,r).shadow(d.shadow,null,p)))}},drawPoints:function(){var f=this,h=f.getAnimationVerb();f.points.forEach(function(d){f.drawPoint(d,h)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{resolveColor:function(){var f=this.series;if(f.options.colorByPoint&&!this.options.color){var h=f.options.colors||f.chart.options.colors;var d=this.y%(h?h.length:f.chart.options.chart.colorCount);h=h&&h[d];f.chart.styledMode||(this.color= h);this.options.colorIndex||(this.colorIndex=d)}else this.color||(this.color=f.color)},init:function(){C.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){C.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var f=C.prototype.getLabelConfig.call(this),h=this.series.yAxis.categories;f.x2=this.x2;f.yCategory=this.yCategory=h&&h[this.y];return f},tooltipDateKeys:["x","x2"],isValid:function(){return"number"=== typeof this.x&&"number"===typeof this.x2}});v(r,"afterGetSeriesExtremes",function(){var f=this.series,h;if(this.isXAxis){var d=H(this.dataMax,-Number.MAX_VALUE);f.forEach(function(f){f.x2Data&&f.x2Data.forEach(function(a){a>d&&(d=a,h=!0)})});h&&(this.dataMax=d)}});""});M(v,"Series/GanttSeries.js",[v["Core/Globals.js"],v["Core/Options.js"],v["Core/Utilities.js"]],function(r,f,v){var C=f.dateFormat,z=v.isNumber,B=v.merge,E=v.pick;f=v.seriesType;var D=v.splat,x=r.seriesTypes.xrange;f("gantt","xrange", {grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){var f=this.series,r=f.chart.tooltip,v=f.xAxis,x=f.tooltipOptions.dateTimeLabelFormats,z=v.options.startOfWeek,u=f.tooltipOptions,m=u.xDateFormat;f=this.options.milestone;var n=""+(this.name||this.yCategory)+"";if(u.pointFormat)return this.tooltipFormatter(u.pointFormat);m||(m=D(r.getDateFormat(v.closestPointRange,this.start,z,x))[0]); r=C(m,this.start);v=C(m,this.end);n+="
";return f?n+(r+"
"):n+("Start: "+r+"
End: ")+(v+"
")}},connectors:{type:"simpleConnect",animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{pointArrayMap:["start","end","y"],keyboardMoveVertical:!1,translatePoint:function(f){x.prototype.translatePoint.call(this,f);if(f.options.milestone){var p=f.shapeArgs;var r=p.height;f.shapeArgs={x:p.x-r/2,y:p.y,width:r, height:r}}},drawPoint:function(f,r){var p=this.options,v=this.chart.renderer,C=f.shapeArgs,u=f.plotY,m=f.graphic,n=f.selected&&"select",l=p.stacking&&!p.borderRadius;if(f.options.milestone)if(z(u)&&null!==f.y&&!1!==f.visible){C=v.symbols.diamond(C.x,C.y,C.width,C.height);if(m)m[r]({d:C});else f.graphic=v.path(C).addClass(f.getClassName(),!0).add(f.group||this.group);this.chart.styledMode||f.graphic.attr(this.pointAttribs(f,n)).shadow(p.shadow,null,l)}else m&&(f.graphic=m.destroy());else x.prototype.drawPoint.call(this, f,r)},setData:r.Series.prototype.setData,setGanttPointAliases:function(f){function p(p,r){"undefined"!==typeof r&&(f[p]=r)}p("x",E(f.start,f.x));p("x2",E(f.end,f.x2));p("partialFill",E(f.completed,f.partialFill));p("connect",E(f.dependency,f.connect))}},B(x.prototype.pointClass.prototype,{applyOptions:function(f,v){f=B(f);r.seriesTypes.gantt.prototype.setGanttPointAliases(f);return f=x.prototype.pointClass.prototype.applyOptions.call(this,f,v)},isValid:function(){return("number"===typeof this.start|| "number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)}}));""});M(v,"Core/Chart/GanttChart.js",[v["Core/Chart/Chart.js"],v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f,v){var C=v.getOptions,z=v.isArray,B=v.merge,E=v.splat;f.ganttChart=function(v,x,p){var D="string"===typeof v||v.nodeName,w=x.series,J=C(),H,u=x;x=arguments[D?1:0];z(x.xAxis)||(x.xAxis=[x.xAxis||{},{}]);x.xAxis=x.xAxis.map(function(f,n){1===n&&(H=0);return B(J.xAxis,{grid:{enabled:!0}, opposite:!0,linkedTo:H},f,{type:"datetime"})});x.yAxis=E(x.yAxis||{}).map(function(f){return B(J.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:f.categories?f.type:"treegrid"},f)});x.series=null;x=B(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"}}},x,{isGantt:!0});x.series=u.series=w;(x.series||[]).forEach(function(m){m.data&&m.data.forEach(function(m){f.seriesTypes.gantt.prototype.setGanttPointAliases(m)})});return D?new r(v,x,p):new r(x, x)}});M(v,"Core/Axis/ScrollbarAxis.js",[v["Core/Globals.js"],v["Core/Utilities.js"]],function(r,f){var v=f.addEvent,C=f.defined,z=f.pick;return function(){function f(){}f.compose=function(f,B){v(f,"afterInit",function(){var f=this;f.options&&f.options.scrollbar&&f.options.scrollbar.enabled&&(f.options.scrollbar.vertical=!f.horiz,f.options.startOnTick=f.options.endOnTick=!1,f.scrollbar=new B(f.chart.renderer,f.options.scrollbar,f.chart),v(f.scrollbar,"changed",function(p){var v=z(f.options&&f.options.min, f.min),w=z(f.options&&f.options.max,f.max),x=C(f.dataMin)?Math.min(v,f.min,f.dataMin):v,B=(C(f.dataMax)?Math.max(w,f.max,f.dataMax):w)-x;C(v)&&C(w)&&(f.horiz&&!f.reversed||!f.horiz&&f.reversed?(v=x+B*this.to,x+=B*this.from):(v=x+B*(1-this.from),x+=B*(1-this.to)),z(this.options.liveRedraw,r.svg&&!r.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===p.DOMType||!C(p.DOMType)?f.setExtremes(x,v,!0,"mousemove"!==p.DOMType,p):this.setRange(this.from,this.to))}))});v(f,"afterRender",function(){var f=Math.min(z(this.options.min, this.min),this.min,z(this.dataMin,this.min)),p=Math.max(z(this.options.max,this.max),this.max,z(this.dataMax,this.max)),r=this.scrollbar,v=this.axisTitleMargin+(this.titleOffset||0),B=this.chart.scrollbarsOffsets,D=this.options.margin||0;r&&(this.horiz?(this.opposite||(B[1]+=v),r.position(this.left,this.top+this.height+2+B[1]-(this.opposite?D:0),this.width,this.height),this.opposite||(B[1]+=D),v=1):(this.opposite&&(B[0]+=v),r.position(this.left+this.width+2+B[0]-(this.opposite?0:D),this.top,this.width, this.height),this.opposite&&(B[0]+=D),v=0),B[v]+=r.size+r.options.margin,isNaN(f)||isNaN(p)||!C(this.min)||!C(this.max)||this.min===this.max?r.setRange(0,1):(B=(this.min-f)/(p-f),f=(this.max-f)/(p-f),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(B,f):r.setRange(1-f,1-B)))});v(f,"afterGetOffset",function(){var f=this.horiz?2:1,p=this.scrollbar;p&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[f]+=p.size+p.options.margin)})};return f}()});M(v,"Core/Scrollbar.js",[v["Core/Axis/Axis.js"], v["Core/Globals.js"],v["Core/Axis/ScrollbarAxis.js"],v["Core/Utilities.js"],v["Core/Options.js"]],function(r,f,v,C,z){var B=C.addEvent,E=C.correctFloat,D=C.defined,x=C.destroyObjectProperties,p=C.fireEvent,I=C.merge,w=C.pick,J=C.removeEvent;C=z.defaultOptions;var H=f.hasTouch,u=f.isTouchDevice,m=f.swapXY=function(f,l){l&&f.forEach(function(f){for(var d=f.length,g,a=0;athis.calculatedWidth?h.minWidth:0;return{chartX:(f.chartX-this.x-this.xOffset)/(this.barWidth-h),chartY:(f.chartY-this.y-this.yOffset)/(this.barWidth-h)}};f.prototype.destroy=function(){var f=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(f){this[f]&&this[f].destroy&&(this[f]=this[f].destroy())},this);f&&this===f.scrollbar&&(f.scrollbar=null,x(f.scrollbarButtons))};f.prototype.drawScrollbarButton=function(f){var h= this.renderer,d=this.scrollbarButtons,g=this.options,a=this.size;var k=h.g().add(this.group);d.push(k);k=h.rect().addClass("highcharts-scrollbar-button").add(k);this.chart.styledMode||k.attr({stroke:g.buttonBorderColor,"stroke-width":g.buttonBorderWidth,fill:g.buttonBackgroundColor});k.attr(k.crisp({x:-.5,y:-.5,width:a+1,height:a+1,r:g.buttonBorderRadius},k.strokeWidth()));k=h.path(m([["M",a/2+(f?-1:1),a/2-3],["L",a/2+(f?-1:1),a/2+3],["L",a/2+(f?2:-2),a/2]],g.vertical)).addClass("highcharts-scrollbar-arrow").add(d[f]); this.chart.styledMode||k.attr({fill:g.buttonArrowColor})};f.prototype.init=function(l,h,d){this.scrollbarButtons=[];this.renderer=l;this.userOptions=h;this.options=I(f.defaultOptions,h);this.chart=d;this.size=w(this.options.size,this.options.height);h.enabled&&(this.render(),this.addEvents())};f.prototype.mouseDownHandler=function(f){f=this.chart.pointer.normalize(f);f=this.cursorToScrollbarPosition(f);this.chartX=f.chartX;this.chartY=f.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter= !0};f.prototype.mouseMoveHandler=function(f){var h=this.chart.pointer.normalize(f),d=this.options.vertical?"chartY":"chartX",g=this.initPositions||[];!this.grabbedCenter||f.touches&&0===f.touches[0][d]||(h=this.cursorToScrollbarPosition(h)[d],d=this[d],d=h-d,this.hasDragged=!0,this.updatePosition(g[0]+d,g[1]+d),this.hasDragged&&p(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:f.type,DOMEvent:f}))};f.prototype.mouseUpHandler=function(f){this.hasDragged&&p(this,"changed",{from:this.from, to:this.to,trigger:"scrollbar",DOMType:f.type,DOMEvent:f});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};f.prototype.position=function(f,h,d,g){var a=this.options.vertical,k=0,b=this.rendered?"animate":"attr";this.x=f;this.y=h+this.trackBorderWidth;this.width=d;this.xOffset=this.height=g;this.yOffset=k;a?(this.width=this.yOffset=d=k=this.size,this.xOffset=h=0,this.barWidth=g-2*d,this.x=f+=this.options.margin):(this.height=this.xOffset=g=h=this.size,this.barWidth=d-2*g,this.y+=this.options.margin); this.group[b]({translateX:f,translateY:this.y});this.track[b]({width:d,height:g});this.scrollbarButtons[1][b]({translateX:a?0:d-h,translateY:a?g-k:0})};f.prototype.removeEvents=function(){this._events.forEach(function(f){J.apply(null,f)});this._events.length=0};f.prototype.render=function(){var f=this.renderer,h=this.options,d=this.size,g=this.chart.styledMode,a;this.group=a=f.g("scrollbar").attr({zIndex:h.zIndex,translateY:-99999}).add();this.track=f.rect().addClass("highcharts-scrollbar-track").attr({x:0, r:h.trackBorderRadius||0,height:d,width:d}).add(a);g||this.track.attr({fill:h.trackBackgroundColor,stroke:h.trackBorderColor,"stroke-width":h.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=f.g().add(a);this.scrollbar=f.rect().addClass("highcharts-scrollbar-thumb").attr({height:d,width:d,r:h.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=f.path(m([["M",-3,d/4],["L",-3,2*d/3],["M",0,d/4],["L", 0,2*d/3],["M",3,d/4],["L",3,2*d/3]],h.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);g||(this.scrollbar.attr({fill:h.barBackgroundColor,stroke:h.barBorderColor,"stroke-width":h.barBorderWidth}),this.scrollbarRifles.attr({stroke:h.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)};f.prototype.setRange= function(f,h){var d=this.options,g=d.vertical,a=d.minWidth,k=this.barWidth,b,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(D(k)){f=Math.max(f,0);var m=Math.ceil(k*f);this.calculatedWidth=b=E(k*Math.min(h,1)-m);b=b?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0);!1===d.showFull&&(0>=f&&1<=h?this.group.hide():this.group.show());this.rendered=!0}};f.prototype.trackClick=function(f){var h=this.chart.pointer.normalize(f),d=this.to-this.from,g=this.y+this.scrollbarTop,a=this.x+this.scrollbarLeft;this.options.vertical&&h.chartY> g||!this.options.vertical&&h.chartX>a?this.updatePosition(this.from+d,this.to+d):this.updatePosition(this.from-d,this.to-d);p(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:f})};f.prototype.update=function(f){this.destroy();this.init(this.chart.renderer,I(!0,this.options,f),this.chart)};f.prototype.updatePosition=function(f,h){1f&&(h=E(h-f),f=0);this.from=f;this.to=h};f.defaultOptions={height:u?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0, margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};return f}();f.Scrollbar||(C.scrollbar=I(!0,z.defaultOptions,C.scrollbar),f.Scrollbar=z,v.compose(r,z));return f.Scrollbar});M(v,"Extensions/RangeSelector.js",[v["Core/Axis/Axis.js"],v["Core/Chart/Chart.js"], v["Core/Globals.js"],v["Core/Options.js"],v["Core/Renderer/SVG/SVGElement.js"],v["Core/Utilities.js"]],function(r,f,v,C,z,B){var E=C.defaultOptions,D=B.addEvent,x=B.createElement,p=B.css,I=B.defined,w=B.destroyObjectProperties,J=B.discardElement,H=B.extend,u=B.fireEvent,m=B.isNumber,n=B.merge,l=B.objectEach,h=B.pick,d=B.pInt,g=B.splat;H(E,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0}, buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});E.lang=n(E.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});var a=function(){function a(b){this.buttons=void 0;this.buttonOptions=a.prototype.defaultButtons;this.options=void 0;this.chart=b;this.init(b)}a.prototype.clickButton=function(b,a){var d=this.chart,f=this.buttonOptions[b],k=d.xAxis[0],l=d.scroller&&d.scroller.getUnionExtremes()||k||{},n=l.dataMin,p=l.dataMax,u=k&&Math.round(Math.min(k.max, h(p,k.max))),c=f.type;l=f._range;var e,q=f.dataGrouping;if(null!==n&&null!==p){d.fixedRange=l;q&&(this.forcedDataGrouping=!0,r.prototype.setDataGrouping.call(k||{chart:this.chart},q,!1),this.frozenStates=f.preserveDataGrouping);if("month"===c||"year"===c)if(k){c={range:f,max:u,chart:d,dataMin:n,dataMax:p};var v=k.minFromRange.call(c);m(c.newMax)&&(u=c.newMax)}else l=f;else if(l)v=Math.max(u-l,n),u=Math.min(v+l,p);else if("ytd"===c)if(k)"undefined"===typeof p&&(n=Number.MAX_VALUE,p=Number.MIN_VALUE, d.series.forEach(function(c){c=c.xData;n=Math.min(c[0],n);p=Math.max(c[c.length-1],p)}),a=!1),u=this.getYTDExtremes(p,n,d.time.useUTC),v=e=u.min,u=u.max;else{this.deferredYTDClick=b;return}else"all"===c&&k&&(v=n,u=p);I(v)&&(v+=f._offsetMin);I(u)&&(u+=f._offsetMax);this.setSelected(b);if(k)k.setExtremes(v,u,h(a,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:f});else{var w=g(d.options.xAxis)[0];var x=w.range;w.range=l;var z=w.min;w.min=e;D(d,"load",function(){w.range=x;w.min=z})}}};a.prototype.setSelected= function(b){this.selected=this.options.selected=b};a.prototype.init=function(b){var a=this,d=b.options.rangeSelector,f=d.buttons||a.defaultButtons.slice(),g=d.selected,h=function(){var b=a.minInput,d=a.maxInput;b&&b.blur&&u(b,"blur");d&&d.blur&&u(d,"blur")};a.chart=b;a.options=d;a.buttons=[];a.buttonOptions=f;this.unMouseDown=D(b.container,"mousedown",h);this.unResize=D(b,"resize",h);f.forEach(a.computeButtonRange);"undefined"!==typeof g&&f[g]&&this.clickButton(g,!1);D(b,"load",function(){b.xAxis&& b.xAxis[0]&&D(b.xAxis[0],"setExtremes",function(d){this.max-this.min!==b.fixedRange&&"rangeSelectorButton"!==d.trigger&&"updatedData"!==d.trigger&&a.forcedDataGrouping&&!a.frozenStates&&this.setDataGrouping(!1,!1)})})};a.prototype.updateButtonStates=function(){var b=this,a=this.chart,d=a.xAxis[0],f=Math.round(d.max-d.min),g=!d.hasVisibleSeries,h=a.scroller&&a.scroller.getUnionExtremes()||d,k=h.dataMin,l=h.dataMax;a=b.getYTDExtremes(l,k,a.time.useUTC);var n=a.min,c=a.max,e=b.selected,q=m(e),p=b.options.allButtonsEnabled, r=b.buttons;b.buttonOptions.forEach(function(a,h){var t=a._range,m=a.type,u=a.count||1,v=r[h],w=0,A=a._offsetMax-a._offsetMin;a=h===e;var y=t>l-k,x=t=864E5*{month:28,year:365}[m]*u-A&&f-36E5<=864E5*{month:31,year:366}[m]*u+A?t=!0:"ytd"===m?(t=c-n+A===f,z=!a):"all"===m&&(t=d.max-d.min>=l-k,G=!a&&q&&t);m=!p&&(y||x||G||g);u=a&&t||t&&!q&&!z||a&&b.frozenStates;m?w=3:u&&(q=!0,w=2);v.state!==w&&(v.setState(w),0===w&&e===h&&b.setSelected(null))})}; a.prototype.computeButtonRange=function(a){var b=a.type,d=a.count||1,f={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(f[b])a._range=f[b]*d;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*d;a._offsetMin=h(a.offsetMin,0);a._offsetMax=h(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};a.prototype.setInputValue=function(a,d){var b=this.chart.options.rangeSelector,f=this.chart.time,g=this[a+"Input"];I(d)&&(g.previousValue=g.HCTime,g.HCTime=d);g.value= f.dateFormat(b.inputEditDateFormat||"%Y-%m-%d",g.HCTime);this[a+"DateBox"].attr({text:f.dateFormat(b.inputDateFormat||"%b %e, %Y",g.HCTime)})};a.prototype.showInput=function(a){var b=this.inputGroup,d=this[a+"DateBox"];p(this[a+"Input"],{left:b.translateX+d.x+"px",top:b.translateY+"px",width:d.width-2+"px",height:d.height-2+"px",border:"2px solid silver"})};a.prototype.hideInput=function(a){p(this[a+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(a)};a.prototype.defaultInputDateParser= function(a,d){var b=new Date;return v.isSafari?Date.parse(a.split(" ").join("T")):d?Date.parse(a+"Z"):Date.parse(a)-6E4*b.getTimezoneOffset()};a.prototype.drawInput=function(a){function b(){var a=c.value,b=g.xAxis[0];var e=g.scroller&&g.scroller.xAxis?g.scroller.xAxis:b;var h=e.dataMin,k=e.dataMax;e=(l.inputDateParser||w)(a,g.time.useUTC);e!==c.previousValue&&(c.previousValue=e,m(e)||(e=a.split("-"),e=Date.UTC(d(e[0]),d(e[1])-1,d(e[2]))),m(e)&&(g.time.useUTC||(e+=6E4*(new Date).getTimezoneOffset()), u?e>f.maxInput.HCTime?e=void 0:ek&&(e=k),"undefined"!==typeof e&&b.setExtremes(u?e:b.min,u?b.max:e,void 0,void 0,{trigger:"rangeSelectorInput"})))}var f=this,g=f.chart,h=g.renderer.style||{},k=g.renderer,l=g.options.rangeSelector,r=f.div,u="min"===a,c,e,q=this.inputGroup,w=this.defaultInputDateParser;this[a+"Label"]=e=k.label(E.lang[u?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(q); q.offset+=e.width+5;this[a+"DateBox"]=k=k.label("",q.offset).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth||90,height:l.inputBoxHeight||17,"text-align":"center"}).on("click",function(){f.showInput(a);f[a+"Input"].focus()});g.styledMode||k.attr({stroke:l.inputBoxBorderColor||"#cccccc","stroke-width":1});k.add(q);q.offset+=k.width+(u?10:0);this[a+"Input"]=c=x("input",{name:a,className:"highcharts-range-selector",type:"text"},{top:g.plotTop+"px"},r);g.styledMode||(e.css(n(h, l.labelStyle)),k.css(n({color:"#333333"},h,l.inputStyle)),p(c,H({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:h.fontSize,fontFamily:h.fontFamily,top:"-9999em"},l.inputStyle)));c.onfocus=function(){f.showInput(a)};c.onblur=function(){c===v.doc.activeElement&&b();f.hideInput(a);c.blur()};c.onchange=b;c.onkeypress=function(c){13===c.keyCode&&b()}};a.prototype.getPosition=function(){var a=this.chart,d=a.options.rangeSelector;a="top"===d.verticalAlign?a.plotTop- a.axisOffset[0]:0;return{buttonTop:a+d.buttonPosition.y,inputTop:a+d.inputPosition.y-10}};a.prototype.getYTDExtremes=function(a,d,f){var b=this.chart.time,g=new b.Date(a),h=b.get("FullYear",g);f=f?b.Date.UTC(h,0,1):+new b.Date(h,0,1);d=Math.max(d||0,f);g=g.getTime();return{max:Math.min(a||g,g),min:d}};a.prototype.render=function(a,d){var b=this,f=b.chart,g=f.renderer,k=f.container,l=f.options,m=l.exporting&&!1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions,n=E.lang,c=b.div,e=l.rangeSelector, q=h(l.chart.style&&l.chart.style.zIndex,0)+1;l=e.floating;var p=b.buttons;c=b.inputGroup;var r=e.buttonTheme,u=e.buttonPosition,v=e.inputPosition,w=e.inputEnabled,z=r&&r.states,B=f.plotLeft,C=b.buttonGroup,F,D=b.options.verticalAlign,H=f.legend,I=H&&H.options,J=u.y,M=v.y,Q=f.hasLoaded,R=Q?"animate":"attr",T=0,U=0;if(!1!==e.enabled){b.rendered||(b.group=F=g.g("range-selector-group").attr({zIndex:7}).add(),b.buttonGroup=C=g.g("range-selector-buttons").add(F),b.zoomText=g.text(n.rangeSelectorZoom,0, 15).add(C),f.styledMode||(b.zoomText.css(e.labelStyle),r["stroke-width"]=h(r["stroke-width"],0)),b.buttonOptions.forEach(function(c,a){p[a]=g.button(c.text,0,0,function(e){var d=c.events&&c.events.click,f;d&&(f=d.call(c,e));!1!==f&&b.clickButton(a);b.isActive=!0},r,z&&z.hover,z&&z.select,z&&z.disabled).attr({"text-align":"center"}).add(C)}),!1!==w&&(b.div=c=x("div",null,{position:"relative",height:0,zIndex:q}),k.parentNode.insertBefore(c,k),b.inputGroup=c=g.g("input-group").add(F),c.offset=0,b.drawInput("min"), b.drawInput("max")));b.zoomText[R]({x:h(B+u.x,B)});var da=h(B+u.x,B)+b.zoomText.getBBox().width+5;b.buttonOptions.forEach(function(c,a){p[a][R]({x:da});da+=p[a].width+h(e.buttonSpacing,5)});B=f.plotLeft-f.spacing[3];b.updateButtonStates();m&&this.titleCollision(f)&&"top"===D&&"right"===u.align&&u.y+C.getBBox().height-12<(m.y||0)+m.height&&(T=-40);k=u.x-f.spacing[3];"right"===u.align?k+=T-B:"center"===u.align&&(k-=B/2);C.align({y:u.y,width:C.getBBox().width,align:u.align,x:k},!0,f.spacingBox);b.group.placed= Q;b.buttonGroup.placed=Q;!1!==w&&(T=m&&this.titleCollision(f)&&"top"===D&&"right"===v.align&&v.y-c.getBBox().height-12<(m.y||0)+m.height+f.spacing[0]?-40:0,"left"===v.align?k=B:"right"===v.align&&(k=-Math.max(f.axisOffset[1],-T)),c.align({y:v.y,width:c.getBBox().width,align:v.align,x:v.x+k-2},!0,f.spacingBox),m=c.alignAttr.translateX+c.alignOptions.x-T+c.getBBox().x+2,k=c.alignOptions.width,n=C.alignAttr.translateX+C.getBBox().x,B=C.getBBox().width+20,(v.align===u.align||n+B>m&&m+k>n&&J=-T?0:-T),translateY:c.alignAttr.translateY+C.getBBox().height+10}),b.setInputValue("min",a),b.setInputValue("max",d),b.inputGroup.placed=Q);b.group.align({verticalAlign:D},!0,f.spacingBox);a=b.group.getBBox().height+20;d=b.group.alignAttr.translateY;"bottom"===D&&(H=I&&"bottom"===I.verticalAlign&&I.enabled&&!I.floating?H.legendHeight+h(I.margin,10):0,a=a+H-20,U=d-a-(l?0:e.y)-(f.titleOffset?f.titleOffset[2]:0)-10);if("top"===D)l&&(U=0),f.titleOffset&& f.titleOffset[0]&&(U=f.titleOffset[0]),U+=f.margin[0]-f.spacing[0]||0;else if("middle"===D)if(M===J)U=0>M?d+void 0:d;else if(M||J)U=0>M||0>J?U-Math.min(M,J):d-a+NaN;b.group.translate(e.x,e.y+Math.floor(U));!1!==w&&(b.minInput.style.marginTop=b.group.translateY+"px",b.maxInput.style.marginTop=b.group.translateY+"px");b.rendered=!0}};a.prototype.getHeight=function(){var a=this.options,d=this.group,f=a.y,g=a.buttonPosition.y,k=a.inputPosition.y;if(a.height)return a.height;a=d?d.getBBox(!0).height+13+ f:0;d=Math.min(k,g);if(0>k&&0>g||0u&&(v?f=p-m:p=f+m);E(f)&&E(p)||(f=p=void 0);return{min:f,max:p}};return f}();return function(){function f(){}f.compose=function(f){f.keepProps.push("navigatorAxis");C(f,"init",function(){this.navigatorAxis||(this.navigatorAxis=new x(this))});C(f,"zoom",function(f){var p=this.chart.options, r=p.navigator,u=this.navigatorAxis,m=p.chart.pinchType,n=p.rangeSelector;p=p.chart.zoomType;this.isXAxis&&(r&&r.enabled||n&&n.enabled)&&("y"===p?f.zoomed=!1:(!v&&"xy"===p||v&&"xy"===m)&&this.options.range&&(r=u.previousZoom,B(f.newMin)?u.previousZoom=[this.min,this.max]:r&&(f.newMin=r[0],f.newMax=r[1],u.previousZoom=void 0)));"undefined"!==typeof f.zoomed&&f.preventDefault()})};f.AdditionsClass=x;return f}()});M(v,"Core/Navigator.js",[v["Core/Axis/Axis.js"],v["Core/Chart/Chart.js"],v["Core/Color.js"], v["Core/Globals.js"],v["Core/Axis/NavigatorAxis.js"],v["Core/Options.js"],v["Core/Scrollbar.js"],v["Core/Utilities.js"]],function(r,f,v,C,z,B,E,D){v=v.parse;var x=B.defaultOptions,p=D.addEvent,I=D.clamp,w=D.correctFloat,J=D.defined,H=D.destroyObjectProperties,u=D.erase,m=D.extend,n=D.find,l=D.isArray,h=D.isNumber,d=D.merge,g=D.pick,a=D.removeEvent,k=D.splat,b=C.hasTouch,F=C.isTouchDevice;B=C.Series;var y=function(a){for(var b=[],d=1;dA&&(this.grabbedLeft?d=l.toPixels(b-A-m,!0):this.grabbedRight&&(f=l.toPixels(a+A+m,!0)));this.zoomedMax= I(Math.max(d,f),0,p);this.zoomedMin=I(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(d,f),0,p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);d=Math.round(this.zoomedMin);n&&(this.navigatorGroup.attr({visibility:"visible"}),r=r&&!this.hasDragged?"animate":"attr",this.drawMasks(d,p,u,r),this.drawOutline(d,p,u,r),this.navigatorOptions.handles.enabled&&(this.drawHandle(d,0,u,r),this.drawHandle(p,1,u,r)));this.scrollbar&&(u?(u=this.top-e,t=this.left-e+(n||!t.opposite?0: (t.titleOffset||0)+t.axisTitleMargin),e=k+2*e):(u=this.top+(n?this.height:-e),t=this.left-e),this.scrollbar.position(t,u,c,e),this.scrollbar.setRange(this.zoomedMin/(k||1),this.zoomedMax/(k||1)));this.rendered=!0}};f.prototype.addMouseEvents=function(){var a=this,d=a.chart,f=d.container,g=[],c,e;a.mouseMoveHandler=c=function(c){a.onMouseMove(c)};a.mouseUpHandler=e=function(c){a.onMouseUp(c)};g=a.getPartsEvents("mousedown");g.push(p(d.renderTo,"mousemove",c),p(f.ownerDocument,"mouseup",e));b&&(g.push(p(d.renderTo, "touchmove",c),p(f.ownerDocument,"touchend",e)),g.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=g;a.series&&a.series[0]&&g.push(p(a.series[0].xAxis,"foundExtremes",function(){d.navigator.modifyNavigatorAxisExtremes()}))};f.prototype.getPartsEvents=function(a){var b=this,d=[];["shades","handles"].forEach(function(f){b[f].forEach(function(c,e){d.push(p(c.element,a,function(a){b[f+"Mousedown"](a,e)}))})});return d};f.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a); var d=this.chart,f=this.xAxis,c=this.zoomedMin,e=this.left,g=this.size,h=this.range,k=a.chartX;d.inverted&&(k=a.chartY,e=this.top);if(1===b)this.grabbedCenter=k,this.fixedWidth=h,this.dragOffset=k-c;else{a=k-e-h/2;if(0===b)a=Math.max(0,a);else if(2===b&&a+h>=g)if(a=g-h,this.reversedExtremes){a-=h;var l=this.getUnionExtremes().dataMin}else var m=this.getUnionExtremes().dataMax;a!==c&&(this.fixedWidth=h,b=f.navigatorAxis.toFixedRange(a,a+h,l,m),J(b.min)&&d.xAxis[0].setExtremes(Math.min(b.min,b.max), Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};f.prototype.handlesMousedown=function(a,b){this.chart.pointer.normalize(a);a=this.chart;var d=a.xAxis[0],f=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=f?d.min:d.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=f?d.max:d.min);a.fixedRange=null};f.prototype.onMouseMove=function(a){var b=this,d=b.chart,f=b.left,c=b.navigatorSize,e=b.range,h=b.dragOffset,k=d.inverted; a.touches&&0===a.touches[0].pageX||(a=d.pointer.normalize(a),d=a.chartX,k&&(f=b.top,d=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,d-f,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,d-f)):b.grabbedCenter&&(b.hasDragged=!0,dc+h-e&&(d=c+h-e),b.render(0,0,d-h,d-h+e)),b.hasDragged&&b.scrollbar&&g(b.scrollbar.options.liveRedraw,C.svg&&!F&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))};f.prototype.onMouseUp=function(a){var b= this.chart,d=this.xAxis,f=this.scrollbar,c=a.DOMEvent||a,e=b.inverted,g=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!f||!f.hasDragged)||"scrollbar"===a.trigger){f=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var k=this.fixedExtreme;else if(this.zoomedMax===this.otherHandlePos)var l=this.fixedExtreme;this.zoomedMax===this.size&&(l=this.reversedExtremes?f.dataMin:f.dataMax);0===this.zoomedMin&&(k=this.reversedExtremes?f.dataMax:f.dataMin);d=d.navigatorAxis.toFixedRange(this.zoomedMin, this.zoomedMax,k,l);J(d.min)&&b.xAxis[0].setExtremes(Math.min(d.min,d.max),Math.max(d.min,d.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:c})}"mousemove"!==a.DOMType&&"touchmove"!==a.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null);this.navigatorEnabled&&h(this.zoomedMin)&&h(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax), this.shades&&this.drawMasks(b,a,e,g),this.outline&&this.drawOutline(b,a,e,g),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,e,g),this.drawHandle(a,1,e,g)))};f.prototype.removeEvents=function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};f.prototype.removeBaseSeriesEvents=function(){var b=this.baseSeries||[];this.navigatorEnabled&&b[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&& b.forEach(function(b){a(b,"updatedData",this.updatedDataHandler)},this),b[0].xAxis&&a(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};f.prototype.init=function(a){var b=a.options,f=b.navigator,h=f.enabled,c=b.scrollbar,e=c.enabled;b=h?f.height:0;var k=e?c.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=b;this.scrollbarHeight=k;this.scrollbarEnabled=e;this.navigatorEnabled=h;this.navigatorOptions=f;this.scrollbarOptions=c;this.outlineHeight=b+k;this.opposite= g(f.opposite,!(h||!a.inverted));var l=this;h=l.baseSeries;c=a.xAxis.length;e=a.yAxis.length;var m=h&&h[0]&&h[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;l.navigatorEnabled?(l.xAxis=new r(a,d({breaks:m.options.breaks,ordinal:m.options.ordinal},f.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[k,0,-k,0],width:b}:{offsets:[0, -k,0,k],height:b})),l.yAxis=new r(a,d(f.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:e,isInternal:!0,zoomEnabled:!1},a.inverted?{width:b}:{height:b})),h||f.series.data?l.updateNavigatorSeries(!1):0===a.series.length&&(l.unbindRedraw=p(a,"beforeRedraw",function(){0c.indexOf(d)?(d&&(a(d,"updatedData",h.updatedDataHandler),delete d.navigatorSeries),b.chart&&b.destroy(), !1):!0});c&&c.length&&c.forEach(function(a){var b=a.navigatorSeries,k=m({color:a.color,visible:a.visible},l(p)?x.navigator.series:p);b&&!1===h.navigatorOptions.adaptToUpdatedData||(u.name="Navigator "+c.length,e=a.options||{},r=e.navigatorOptions||{},t=d(e,u,k,r),t.pointRange=g(k.pointRange,r.pointRange,x.plotOptions[t.type||"line"].pointRange),k=r.data||k.data,h.hasNavigatorData=h.hasNavigatorData||!!k,t.data=k||e.data&&e.data.slice(0),b&&b.options?b.update(t,f):(a.navigatorSeries=n.initSeries(t), a.navigatorSeries.baseSeries=a,v.push(a.navigatorSeries)))});if(p.data&&(!c||!c.length)||l(p))h.hasNavigatorData=!1,p=k(p),p.forEach(function(a,c){u.name="Navigator "+(v.length+1);t=d(x.navigator.series,{color:n.series[c]&&!n.series[c].options.isInternal&&n.series[c].color||n.options.colors[c]||n.options.colors[0]},u,a);t.data=a.data;t.data&&(h.hasNavigatorData=!0,v.push(n.initSeries(t)))});b&&this.addBaseSeriesEvents()};f.prototype.addBaseSeriesEvents=function(){var a=this,b=a.baseSeries||[];b[0]&& b[0].xAxis&&p(b[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);b.forEach(function(b){p(b,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});p(b,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&b.xAxis&&p(b,"updatedData",this.updatedDataHandler);p(b,"remove",function(){this.navigatorSeries&&(u(a.series,this.navigatorSeries),J(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1), delete this.navigatorSeries)})},this)};f.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)};f.prototype.modifyNavigatorAxisExtremes=function(){var a=this.xAxis,b;"undefined"!==typeof a.getExtremes&&(!(b=this.getUnionExtremes(!0))||b.dataMin===a.min&&b.dataMax===a.max||(a.min=b.dataMin,a.max=b.dataMax))};f.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),d=b.dataMin,f=b.dataMax;b= b.max-b.min;var c=a.stickToMin,e=a.stickToMax,k=g(this.options.overscroll,0),l=a.series&&a.series[0],m=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(c){var n=d;var p=n+b}e&&(p=f+k,c||(n=Math.max(d,p-b,a.getBaseSeriesMin(l&&l.xData?l.xData[0]:-Number.MAX_VALUE))));m&&(c||e)&&h(n)&&(this.min=this.userMin=n,this.max=this.userMax=p)}a.stickToMin=a.stickToMax=null};f.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries,d= a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=h(this.xAxis.min)&&this.xAxis.min<=d&&(!this.chart.fixedRange||!a.stickToMax);b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};f.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(p(this.chart,"redraw",function(){var a=this.navigator,b=a&&(a.baseSeries&& a.baseSeries[0]&&a.baseSeries[0].xAxis||this.xAxis[0]);b&&a.render(b.min,b.max)}),p(this.chart,"getMargins",function(){var a=this.navigator,b=a.opposite?"plotTop":"marginBottom";this.inverted&&(b=a.opposite?"marginRight":"plotLeft");this[b]=(this[b]||0)+(a.navigatorEnabled||!this.inverted?a.outlineHeight:0)+a.navigatorOptions.margin}))};f.prototype.destroy=function(){this.removeEvents();this.xAxis&&(u(this.chart.xAxis,this.xAxis),u(this.chart.axes,this.xAxis));this.yAxis&&(u(this.chart.yAxis,this.yAxis), u(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(a){a.destroy&&a.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(a){this[a]&&this[a].destroy&&this[a].destroy();this[a]=null},this);[this.handles].forEach(function(a){H(a)},this)};return f}();C.Navigator||(C.Navigator=G,z.compose(r),p(f,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,d=a.rangeSelector;if((b&& b.enabled||d&&d.enabled)&&(!F&&"x"===a.chart.zoomType||F&&"x"===a.chart.pinchType))return!1}),p(f,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new G(this)}),p(f,"afterSetChartSize",function(){var a=this.legend,b=this.navigator;if(b){var d=a&&a.options;var f=b.xAxis;var h=b.yAxis;var c=b.scrollbarHeight;this.inverted?(b.left=b.opposite?this.chartWidth-c-b.height:this.spacing[3]+c,b.top=this.plotTop+c):(b.left=this.plotLeft+c, b.top=b.navigatorOptions.top||this.chartHeight-b.height-c-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(d&&"bottom"===d.verticalAlign&&"proximate"!==d.layout&&d.enabled&&!d.floating?a.legendHeight+g(d.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0));f&&h&&(this.inverted?f.options.left=h.options.left=b.left:f.options.top=h.options.top=b.top,f.setAxisSize(),h.setAxisSize())}}),p(f,"update",function(a){var b=a.options.navigator||{},f=a.options.scrollbar|| {};this.navigator||this.scroller||!b.enabled&&!f.enabled||(d(!0,this.options.navigator,b),d(!0,this.options.scrollbar,f),delete a.options.navigator,delete a.options.scrollbar)}),p(f,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new G(this),g(a.redraw,!0)&&this.redraw(a.animation))}),p(f,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),p(B,"afterUpdate",function(){this.chart.navigator&& !this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),f.prototype.callbacks.push(function(a){var b=a.navigator;b&&a.xAxis[0]&&(a=a.xAxis[0].getExtremes(),b.render(a.min,a.max))}));C.Navigator=G;return C.Navigator});M(v,"masters/modules/gantt.src.js",[],function(){});M(v,"masters/highcharts-gantt.src.js",[v["masters/highcharts.src.js"]],function(r){r.product="Highcharts Gantt";return r});v["masters/highcharts-gantt.src.js"]._modules=v;return v["masters/highcharts-gantt.src.js"]}); //# sourceMappingURL=highcharts-gantt.js.map