/* Highcharts Gantt JS v9.0.1 (2021-02-15) (c) 2017-2021 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng License: www.highcharts.com/license */ (function(W,O){"object"===typeof module&&module.exports?(O["default"]=O,module.exports=W.document?O(W):O):"function"===typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return O(W)}):(W.Highcharts&&W.Highcharts.error(16,!0),W.Highcharts=O(W))})("undefined"!==typeof window?window:this,function(W){function O(G,l,e,C){G.hasOwnProperty(l)||(G[l]=C.apply(null,e))}var e={};O(e,"Core/Globals.js",[],function(){var G="undefined"!==typeof W?W:"undefined"!==typeof window?window:{},l= G.document,e=G.navigator&&G.navigator.userAgent||"",C=l&&l.createElementNS&&!!l.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,H=/(edge|msie|trident)/i.test(e)&&!G.opera,J=-1!==e.indexOf("Firefox"),D=-1!==e.indexOf("Chrome"),E=J&&4>parseInt(e.split("Firefox/")[1],10),A=function(){};return{product:"Highcharts",version:"9.0.1",deg2rad:2*Math.PI/360,doc:l,hasBidiBug:E,hasTouch:!!G.TouchEvent,isMS:H,isWebKit:-1!==e.indexOf("AppleWebKit"),isFirefox:J,isChrome:D,isSafari:!D&&-1!==e.indexOf("Safari"), isTouchDevice:/(Mobile|Android|Windows Phone)/.test(e),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},supportsPassiveEvents:function(){var x=!1;if(!H){var g=Object.defineProperty({},"passive",{get:function(){x=!0}});G.addEventListener&&G.removeEventListener&&(G.addEventListener("testPassive",A,g),G.removeEventListener("testPassive",A,g))}return x}(),symbolSizes:{},svg:C,win:G,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:A,charts:[],dateFormats:{}}});O(e,"Core/Utilities.js", [e["Core/Globals.js"]],function(G){function l(z,c,B,Q){var v=c?"Highcharts error":"Highcharts warning";32===z&&(z=v+": Deprecated member");var R=g(z),n=R?v+" #"+z+": www.highcharts.com/errors/"+z+"/":z.toString();v=function(){if(c)throw Error(n);h.console&&-1===l.messages.indexOf(n)&&console.warn(n)};if("undefined"!==typeof Q){var b="";R&&(n+="?");a(Q,function(v,B){b+="\n - "+B+": "+v;R&&(n+=encodeURI(B)+"="+encodeURI(v))});n+=b}B?d(B,"displayError",{code:z,message:n,params:Q},v):v();l.messages.push(n)} function e(){var z,c=arguments,B={},d=function(v,B){"object"!==typeof v&&(v={});a(B,function(z,a){"__proto__"!==a&&"constructor"!==a&&(!E(z,!0)||x(z)||A(z)?v[a]=B[a]:v[a]=d(v[a]||{},z))});return v};!0===c[0]&&(B=c[1],c=Array.prototype.slice.call(c,2));var v=c.length;for(z=0;za&&-Infinityh[1]){var N=c+ +h[1];0<=N?(h[0]=(+h[0]).toExponential(N).split("e")[0],c=N):(h[0]=h[0].split(".")[0]||0,a=20>c?(h[0]*Math.pow(10, h[1])).toFixed(c):0,h[1]=0)}var Q=(Math.abs(h[1]?h[0]:a)+Math.pow(10,-Math.max(c,z)-1)).toFixed(c);z=String(H(Q));N=3a?"-":"")+(N?z.substr(0,N)+d:"");a=0>+h[1]&&!n?"0":a+z.substr(N).replace(/(\d{3})(?=\d)/g,"$1"+d);c&&(a+=B+Q.slice(-c));h[1]&&0!==+a&&(a+="e"+h[1]);return a}function p(a,c){if(!a)return c;var B=a.split(".").reverse();if(1===B.length)return c[a];for(a=B.pop();"undefined"!==typeof a&&"undefined"!==typeof c&&null!== c;)c=c[a],a=B.pop();return c}function a(a,c,B){for(var d in a)Object.hasOwnProperty.call(a,d)&&c.call(B||a[d],a[d],d,a)}function k(c,d,B){function z(a,v){var B=c.removeEventListener||G.removeEventListenerPolyfill;B&&B.call(c,a,v,!1)}function v(v){var B;if(c.nodeName){if(d){var h={};h[d]=!0}else h=v;a(h,function(a,c){if(v[c])for(B=v[c].length;B--;)z(c,v[c][B].fn)})}}var h="function"===typeof c&&c.prototype||c;if(Object.hasOwnProperty.call(h,"hcEvents")){var n=h.hcEvents;d?(h=n[d]||[],B?(n[d]=h.filter(function(a){return B!== a.fn}),z(d,B)):(v(n),n[d]=[])):(v(n),delete h.hcEvents)}}function d(a,d,B,h){B=B||{};if(c.createEvent&&(a.dispatchEvent||a.fireEvent)){var v=c.createEvent("Events");v.initEvent(d,!0,!0);w(v,B);a.dispatchEvent?a.dispatchEvent(v):a.fireEvent(d,v)}else if(a.hcEvents){B.target||w(B,{preventDefault:function(){B.defaultPrevented=!0},target:a,type:d});v=[];for(var z=a,n=!1;z.hcEvents;)Object.hasOwnProperty.call(z,"hcEvents")&&z.hcEvents[d]&&(v.length&&(n=!0),v.unshift.apply(v,z.hcEvents[d])),z=Object.getPrototypeOf(z); n&&v.sort(function(a,v){return a.order-v.order});v.forEach(function(v){!1===v.fn.call(a,B)&&B.preventDefault()})}h&&!B.defaultPrevented&&h.call(a,B)}var y=G.charts,c=G.doc,h=G.win;"";(l||(l={})).messages=[];var M;Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};var S=Array.prototype.find?function(a,c){return a.find(c)}:function(a,c){var B,d=a.length;for(B=0;BB&&(B=a[c]);return B},arrayMin:function(a){for(var c=a.length,B=a[0];c--;)a[c]c?a=c-1&&(c=Math.floor(B)),Math.max(0,c-G.getStyle(a,"padding-left")-G.getStyle(a,"padding-right"));if("height"===c)return Math.max(0,Math.min(a.offsetHeight,a.scrollHeight)-G.getStyle(a,"padding-top")-G.getStyle(a,"padding-bottom"));h.getComputedStyle|| l(27,!0);if(a=h.getComputedStyle(a,void 0))a=a.getPropertyValue(c),b(B,"opacity"!==c)&&(a=H(a));return a},inArray:function(a,c,B){l(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"});return c.indexOf(a,B)},isArray:D,isClass:x,isDOMElement:A,isFunction:function(a){return"function"===typeof a},isNumber:g,isObject:E,isString:J,keys:function(a){l(32,!1,void 0,{"Highcharts.keys":"use Object.keys"});return Object.keys(a)},merge:e,normalizeTickInterval:function(a,c,B,d,v){var h=a;B=b(B,1);var n=a/ B;c||(c=v?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===d&&(1===B?c=c.filter(function(a){return 0===a%1}):.1>=B&&(c=[1/B])));for(d=0;d=a||!v&&n<=(c[d]+(c[d+1]||c[d]))/2);d++);return h=I(h*B,-Math.round(Math.log(.001)/Math.LN10))},numberFormat:q,objectEach:a,offset:function(a){var d=c.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:a.top+(h.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(h.pageXOffset|| d.scrollLeft)-(d.clientLeft||0),width:a.width,height:a.height}},pad:function(a,c,B){return Array((c||2)+1-String(a).replace("-","").length).join(B||"0")+a},pick:b,pInt:H,relativeLength:function(a,c,B){return/%$/.test(a)?c*parseFloat(a)/100+(B||0):parseFloat(a)},removeEvent:k,setOptions:r,splat:function(a){return D(a)?a:[a]},stableSort:function(a,c){var B=a.length,d,v;for(v=0;v>16,(D&65280)>>8,D&255,1]:4===x&&(E=[(D&3840)>>4|(D&3840)>>8,(D&240)>> 4|D&240,(D&15)<<4|D&15,1])}if(!E)for(A=this.parsers.length;A--&&!E;){var g=this.parsers[A];(x=g.regex.exec(D))&&(E=g.parse(x))}}this.rgba=E||[]};l.prototype.get=function(l){var E=this.input,A=this.rgba;if("undefined"!==typeof this.stops){var x=C(E);x.stops=[].concat(x.stops);this.stops.forEach(function(g,u){x.stops[u]=[x.stops[u][0],g.get(l)]})}else x=A&&G(A[0])?"rgb"===l||!l&&1===A[3]?"rgb("+A[0]+","+A[1]+","+A[2]+")":"a"===l?A[3]:"rgba("+A.join(",")+")":E;return x};l.prototype.brighten=function(l){var E, A=this.rgba;if(this.stops)this.stops.forEach(function(x){x.brighten(l)});else if(G(l)&&0!==l)for(E=0;3>E;E++)A[E]+=H(255*l),0>A[E]&&(A[E]=0),255x)for(var g=0;g=u+this.startTime){this.now=this.end;this.pos=1;this.update();var w=f[this.prop]=!0;H(f,function(b){!0!==b&&(w=!1)});w&&g&&g.call(x);l=!1}else this.pos=A.easing((E-this.startTime)/u),this.now=this.start+(this.end-this.start)*this.pos,this.update(),l=!0;return l};l.prototype.initPath=function(l,E,A){function x(b,f){for(;b.length< I;){var a=b[0],k=f[I-b.length];k&&"M"===a[0]&&(b[0]="C"===k[0]?["C",a[1],a[2],a[1],a[2],a[1],a[2]]:["L",a[1],a[2]]);b.unshift(a);w&&b.push(b[b.length-1])}}function g(f,p){for(;f.lengthv.width)v={width:0,height:0}}else v=this.htmlGetBBox();h.isSVG&&(a=v.width,h=v.height,y&&(v.height=h={"11px,17":14,"13px,20":16}[B&&B.fontSize+","+Math.round(h)]||h),d&&(B=d*x,v.width=Math.abs(h*Math.sin(B))+Math.abs(a*Math.cos(B)),v.height=Math.abs(h* Math.cos(B))+Math.abs(a*Math.sin(B))));if(m&&0]*>/g,"").replace(/</g,"<").replace(/>/g,">")};L.prototype.toFront=function(){var a=this.element;a.parentNode.appendChild(a);return this};L.prototype.translate=function(a,c){return this.attr({translateX:a,translateY:c})};L.prototype.updateShadows=function(a,c,v){var d=this.shadows;if(d)for(var h=d.length;h--;)v.call(d[h],"height"===a?Math.max(c-(d[h].cutHeight||0),0):"d"===a?this.d:c,a,d[h])};L.prototype.updateTransform= function(){var a=this.translateX||0,c=this.translateY||0,d=this.scaleX,h=this.scaleY,b=this.inverted,r=this.rotation,N=this.matrix,k=this.element;b&&(a+=this.width,c+=this.height);a=["translate("+a+","+c+")"];p(N)&&a.push("matrix("+N.join(",")+")");b?a.push("rotate(90) scale(-1,1)"):r&&a.push("rotate("+r+" "+n(this.rotationOriginX,k.getAttribute("x"),0)+" "+n(this.rotationOriginY,k.getAttribute("y")||0)+")");(p(d)||p(h))&&a.push("scale("+n(d,1)+" "+n(h,1)+")");a.length&&k.setAttribute("transform", a.join(" "))};L.prototype.visibilitySetter=function(a,c,d){"inherit"===a?d.removeAttribute(c):this[c]!==a&&d.setAttribute(c,a);this[c]=a};L.prototype.xGetter=function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)};L.prototype.zIndexSetter=function(a,c){var d=this.renderer,h=this.parentGroup,b=(h||d).element||d.box,n=this.element,N=!1;d=b===d.box;var r=this.added;var k;p(a)?(n.setAttribute("data-z-index",a),a=+a,this[c]===a&&(r=!1)):p(this[c])&& n.removeAttribute("data-z-index");this[c]=a;if(r){(a=this.zIndex)&&h&&(h.handleZ=!0);c=b.childNodes;for(k=c.length-1;0<=k&&!N;k--){h=c[k];r=h.getAttribute("data-z-index");var f=!p(r);if(h!==n)if(0>a&&f&&!d&&!k)b.insertBefore(n,c[k]),N=!0;else if(K(r)<=a||f&&(!p(a)||0<=a))b.insertBefore(n,c[k+1]||null),N=!0}N||(b.insertBefore(n,c[d?3:0]||null),N=!0)}return N};return L}();e.prototype["stroke-widthSetter"]=e.prototype.strokeSetter;e.prototype.yGetter=e.prototype.xGetter;e.prototype.matrixSetter=e.prototype.rotationOriginXSetter= e.prototype.rotationOriginYSetter=e.prototype.rotationSetter=e.prototype.scaleXSetter=e.prototype.scaleYSetter=e.prototype.translateXSetter=e.prototype.translateYSetter=e.prototype.verticalAlignSetter=function(a,c){this[c]=a;this.doTransform=!0};C.SVGElement=e;return C.SVGElement});O(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(e,l){function G(g,u){D(g)?g!==this[u]&&(this[u]=g,this.updateTextPadding()):this[u]=void 0}var C=this&&this.__extends|| function(){var g=function(u,f){g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,b){f.__proto__=b}||function(f,b){for(var m in b)b.hasOwnProperty(m)&&(f[m]=b[m])};return g(u,f)};return function(u,f){function w(){this.constructor=u}g(u,f);u.prototype=null===f?Object.create(f):(w.prototype=f.prototype,new w)}}(),H=l.defined,J=l.extend,D=l.isNumber,E=l.merge,A=l.pick,x=l.removeEvent;return function(g){function u(f,w,b,m,t,I,q,p,a,k){var d=g.call(this)||this;d.paddingSetter=G;d.paddingLeftSetter= G;d.paddingRightSetter=G;d.init(f,"g");d.textStr=w;d.x=b;d.y=m;d.anchorX=I;d.anchorY=q;d.baseline=a;d.className=k;"button"!==k&&d.addClass("highcharts-label");k&&d.addClass("highcharts-"+k);d.text=f.text("",0,0,p).attr({zIndex:1});if("string"===typeof t){var y=/^url\((.*?)\)$/.test(t);if(d.renderer.symbols[t]||y)d.symbolKey=t}d.bBox=u.emptyBBox;d.padding=3;d.baselineOffset=0;d.needsBox=f.styledMode||y;d.deferredAttr={};d.alignFactor=0;return d}C(u,g);u.prototype.alignSetter=function(f){f={left:0, center:.5,right:1}[f];f!==this.alignFactor&&(this.alignFactor=f,this.bBox&&D(this.xSetting)&&this.attr({x:this.xSetting}))};u.prototype.anchorXSetter=function(f,g){this.anchorX=f;this.boxAttr(g,Math.round(f)-this.getCrispAdjust()-this.xSetting)};u.prototype.anchorYSetter=function(f,g){this.anchorY=f;this.boxAttr(g,f-this.ySetting)};u.prototype.boxAttr=function(f,g){this.box?this.box.attr(f,g):this.deferredAttr[f]=g};u.prototype.css=function(f){if(f){var g={};f=E(f);u.textProps.forEach(function(b){"undefined"!== typeof f[b]&&(g[b]=f[b],delete f[b])});this.text.css(g);var b="width"in g;"fontSize"in g||"fontWeight"in g?this.updateTextPadding():b&&this.updateBoxSize()}return e.prototype.css.call(this,f)};u.prototype.destroy=function(){x(this.element,"mouseenter");x(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());e.prototype.destroy.call(this)};u.prototype.fillSetter=function(f,g){f&&(this.needsBox=!0);this.fill=f;this.boxAttr(g,f)};u.prototype.getBBox=function(){var f= this.bBox,g=this.padding,b=A(this.paddingLeft,g);return{width:this.width,height:this.height,x:f.x-b,y:f.y-g}};u.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};u.prototype.heightSetter=function(f){this.heightSetting=f};u.prototype.on=function(f,g){var b=this,m=b.text,t=m&&"SPAN"===m.element.tagName?m:void 0;if(t){var I=function(m){("mouseenter"===f||"mouseleave"===f)&&m.relatedTarget instanceof Element&&(b.element.compareDocumentPosition(m.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY||t.element.compareDocumentPosition(m.relatedTarget)&Node.DOCUMENT_POSITION_CONTAINED_BY)||g.call(b.element,m)};t.on(f,I)}e.prototype.on.call(b,f,I||g);return b};u.prototype.onAdd=function(){var f=this.textStr;this.text.add(this);this.attr({text:H(f)?f:"",x:this.x,y:this.y});this.box&&H(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})};u.prototype.rSetter=function(f,g){this.boxAttr(g, f)};u.prototype.shadow=function(f){f&&!this.renderer.styledMode&&(this.updateBoxSize(),this.box&&this.box.shadow(f));return this};u.prototype.strokeSetter=function(f,g){this.stroke=f;this.boxAttr(g,f)};u.prototype["stroke-widthSetter"]=function(f,g){f&&(this.needsBox=!0);this["stroke-width"]=f;this.boxAttr(g,f)};u.prototype["text-alignSetter"]=function(f){this.textAlign=f};u.prototype.textSetter=function(f){"undefined"!==typeof f&&this.text.attr({text:f});this.updateTextPadding()};u.prototype.updateBoxSize= function(){var f=this.text.element.style,g={},b=this.padding,m=this.bBox=D(this.widthSetting)&&D(this.heightSetting)&&!this.textAlign||!H(this.text.textStr)?u.emptyBBox:this.text.getBBox();this.width=this.getPaddedWidth();this.height=(this.heightSetting||m.height||0)+2*b;this.baselineOffset=b+Math.min(this.renderer.fontMetrics(f&&f.fontSize,this.text).b,m.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(),g.x=f,g.y=(this.baseline?-this.baselineOffset:0)+f,g.width=Math.round(this.width),g.height=Math.round(this.height),this.box.attr(J(g,this.deferredAttr)),this.deferredAttr={})};u.prototype.updateTextPadding=function(){var f=this.text;this.updateBoxSize();var g=this.baseline?0:this.baselineOffset,b=A(this.paddingLeft,this.padding);H(this.widthSetting)&&this.bBox&& ("center"===this.textAlign||"right"===this.textAlign)&&(b+={center:.5,right:1}[this.textAlign]*(this.widthSetting-this.bBox.width));if(b!==f.x||g!==f.y)f.attr("x",b),f.hasBoxWidthChanged&&(this.bBox=f.getBBox(!0)),"undefined"!==typeof g&&f.attr("y",g);f.x=b;f.y=g};u.prototype.widthSetter=function(f){this.widthSetting=D(f)?f:void 0};u.prototype.getPaddedWidth=function(){var f=this.padding,g=A(this.paddingLeft,f);f=A(this.paddingRight,f);return(this.widthSetting||this.bBox.width||0)+g+f};u.prototype.xSetter= function(f){this.x=f;this.alignFactor&&(f-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(f);this.attr("translateX",this.xSetting)};u.prototype.ySetter=function(f){this.ySetting=this.y=Math.round(f);this.attr("translateY",this.ySetting)};u.emptyBBox={width:0,height:0,x:0,y:0};u.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow width".split(" ");return u}(e)});O(e,"Core/Renderer/SVG/TextBuilder.js", [e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"]],function(e,l,F){var G=e.doc,H=e.SVG_NS,J=l.attr,D=l.isString,E=l.objectEach,A=l.pick;return function(){function x(g){var u=g.styles;this.renderer=g.renderer;this.svgElement=g;this.width=g.textWidth;this.textLineHeight=u&&u.lineHeight;this.textOutline=u&&u.textOutline;this.ellipsis=!(!u||"ellipsis"!==u.textOverflow);this.noWrap=!(!u||"nowrap"!==u.whiteSpace);this.fontSize=u&&u.fontSize}x.prototype.buildSVG=function(){var g= this.svgElement,u=g.element,f=g.renderer,w=A(g.textStr,"").toString(),b=-1!==w.indexOf("<"),m=u.childNodes,t=m.length;f=this.width&&!g.added&&f.box;var I=//g;var q=[w,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,this.fontSize,this.width].join();if(q!==g.textCache){g.textCache=q;for(delete g.actualWidth;t--;)u.removeChild(m[t]);b||this.ellipsis||this.width||-1!==w.indexOf(" ")&&(!this.noWrap||I.test(w))?""!==w&&(f&&f.appendChild(u),w=new F(w),this.modifyTree(w.nodes),w.addToDOM(g.element), this.modifyDOM(),this.ellipsis&&-1!==(u.textContent||"").indexOf("\u2026")&&g.attr("title",this.unescapeEntities(g.textStr||"",["<",">"])),f&&f.removeChild(u)):u.appendChild(G.createTextNode(this.unescapeEntities(w)));D(this.textOutline)&&g.applyTextOutline&&g.applyTextOutline(this.textOutline)}};x.prototype.modifyDOM=function(){var g=this,u=this.svgElement,f=J(u.element,"x");[].forEach.call(u.element.querySelectorAll("tspan.highcharts-br"),function(b){b.nextSibling&&b.previousSibling&&J(b, {dy:g.getLineHeight(b.nextSibling),x:f})});var w=this.width||0;if(w){var b=function(b,m){var q=b.textContent||"",p=q.replace(/([^\^])-/g,"$1- ").split(" "),a=!g.noWrap&&(1b){for(;a<=k;)d=Math.ceil((a+k)/2),f&&(y=m(f,d)),h=c(d,y&&y.length-1),a===k?a=k+1:h>b?k=d-1:a=d;0===k?g.textContent="":u&&k===u.length-1||(g.textContent=y||m(u||f,d))}f&&f.splice(0,d);t.actualWidth=h;t.rotation=q};x.prototype.unescapeEntities=function(g,u){E(this.renderer.escapes,function(f,w){u&&-1!==u.indexOf(f)||(g=g.toString().replace(new RegExp(f,"g"),w))});return g};return x}()});O(e,"Core/Renderer/SVG/SVGRenderer.js", [e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Color/Palette.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(e,l,F,C,H,J,D,E){var A=E.addEvent,x=E.attr,g=E.createElement,u=E.css,f=E.defined,w=E.destroyObjectProperties,b=E.extend,m=E.isArray,t=E.isNumber,I=E.isObject,q=E.isString,p=E.merge,a=E.pick,k=E.pInt,d=E.uniqueKey,y=l.charts,c=l.deg2rad,h=l.doc,M=l.isFirefox, S=l.isMS,P=l.isWebKit;E=l.noop;var n=l.SVG_NS,K=l.symbolSizes,r=l.win,z,L=function(){function n(a,c,d,h,b,n,r){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(a,c,d,h,b,n,r)}n.prototype.init=function(a,c,d,b,n,N,k){var v=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});k||v.css(this.getStyle(b));b=v.element; a.appendChild(b);x(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&x(b,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=b;this.boxWrapper=v;this.alignedObjects=[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(h.createTextNode("Created with Highcharts 9.0.1"));this.defs=this.createElement("defs").add();this.allowHTML=N;this.forExport=n;this.styledMode=k;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(c,d,!1);var f;M&&a.getBoundingClientRect&& (c=function(){u(a,{left:0,top:0});f=a.getBoundingClientRect();u(a,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=A(r,"resize",c))};n.prototype.definition=function(a){return(new J([a])).addToDOM(this.defs.element)};n.prototype.getReferenceURL=function(){if((M||P)&&h.getElementsByTagName("base").length){if(!f(z)){var a=d();a=(new J([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:a},children:[{tagName:"rect", attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":"url(#"+a+")",fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(h.body);u(a,{position:"fixed",top:0,left:0,zIndex:9E5});var c=h.elementFromPoint(6,6);z="hitme"===(c&&c.id);h.body.removeChild(a)}if(z)return r.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""};n.prototype.getStyle=function(a){return this.style=b({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif', fontSize:"12px"},a)};n.prototype.setStyle=function(a){this.boxWrapper.css(this.getStyle(a))};n.prototype.isHidden=function(){return!this.boxWrapper.getBBox().width};n.prototype.destroy=function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();w(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null};n.prototype.createElement=function(a){var c=new this.Element;c.init(this,a);return c};n.prototype.getRadialAttr= function(a,c){return{cx:a[0]-a[2]/2+c.cx*a[2],cy:a[1]-a[2]/2+c.cy*a[2],r:c.r*a[2]}};n.prototype.buildText=function(a){(new D(a)).buildSVG()};n.prototype.getContrast=function(a){a=e.parse(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459a?a+3:Math.round(1.2*a);return{h:c,b:Math.round(.8*c),f:a}};n.prototype.rotCorr=function(a,d,h){var v=a;d&&h&&(v=Math.max(v*Math.cos(d*c),4));return{x:-a/3*Math.sin(d*c),y:v}};n.prototype.pathToSegments=function(a){for(var c=[],d=[],h={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2},b=0;b":">","'":"'",'"':"""};L.prototype.symbols={circle:function(a,c,d,h){return this.arc(a+d/2,c+h/2,d/2,h/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,c,d,h){return[["M",a,c],["L",a+d,c],["L",a+d,c+h],["L",a,c+h],["Z"]]},triangle:function(a, c,d,h){return[["M",a+d/2,c],["L",a+d,c+h],["L",a,c+h],["Z"]]},"triangle-down":function(a,c,d,h){return[["M",a,c],["L",a+d,c],["L",a+d/2,c+h],["Z"]]},diamond:function(a,c,d,h){return[["M",a+d/2,c],["L",a+d,c+h/2],["L",a+d/2,c+h],["L",a,c+h/2],["Z"]]},arc:function(c,d,h,b,n){var v=[];if(n){var k=n.start||0,r=n.end||0,y=n.r||h;h=n.r||b||h;var z=.001>Math.abs(r-k-2*Math.PI);r-=.001;b=n.innerR;z=a(n.open,z);var m=Math.cos(k),p=Math.sin(k),q=Math.cos(r),K=Math.sin(r);k=a(n.longArc,.001>r-k-Math.PI?0:1); v.push(["M",c+y*m,d+h*p],["A",y,h,0,k,a(n.clockwise,1),c+y*q,d+h*K]);f(b)&&v.push(z?["M",c+b*q,d+b*K]:["L",c+b*q,d+b*K],["A",b,b,0,k,f(n.clockwise)?1-n.clockwise:0,c+b*m,d+b*p]);z||v.push(["Z"])}return v},callout:function(a,c,d,h,b){var v=Math.min(b&&b.r||0,d,h),n=v+6,k=b&&b.anchorX;b=b&&b.anchorY||0;var r=[["M",a+v,c],["L",a+d-v,c],["C",a+d,c,a+d,c,a+d,c+v],["L",a+d,c+h-v],["C",a+d,c+h,a+d,c+h,a+d-v,c+h],["L",a+v,c+h],["C",a,c+h,a,c+h,a,c+h-v],["L",a,c+v],["C",a,c,a,c,a+v,c]];if(!t(k))return r;a+ k>=d?b>c+n&&b=a+k?b>c+n&&bh&&k>a+n&&kb&&k>a+n&&kthis.oldTextWidth)&&((k=this.textPxLength)||(G(g,{width:"",whiteSpace:q||"nowrap"}),k=g.offsetWidth),k=k>p);k&&(/[ \-]/.test(g.textContent||g.innerText)||"ellipsis"===g.style.textOverflow)?(G(g,{width:p+"px",display:"block", whiteSpace:q||"normal"}),this.oldTextWidth=p,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;a!==this.cTT&&(q=x.fontMetrics(g.style.fontSize,g).b,!H(I)||I===(this.oldRotation||0)&&m===this.oldAlign||this.setSpanRotation(I,t,q),this.getSpanCorrection(!H(I)&&this.textPxLength||g.offsetWidth,q,t,I,m));G(g,{left:w+(this.xCorr||0)+"px",top:b+(this.yCorr||0)+"px"});this.cTT=a;this.oldRotation=I;this.oldAlign=m}}else this.alignOnAdd=!0},setSpanRotation:function(x,g,u){var f={},w=this.renderer.getTransformKey(); f[w]=f.transform="rotate("+x+"deg)";f[w+(A?"Origin":"-origin")]=f.transformOrigin=100*g+"% "+u+"px";G(this.element,f)},getSpanCorrection:function(x,g,u){this.xCorr=-x*u;this.yCorr=-g}});return l});O(e,"Core/Renderer/HTML/HTMLRenderer.js",[e["Core/Globals.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(e,l,F,C,H){var G=e.isFirefox,D=e.isMS,E=e.isWebKit,A=e.win,x=H.attr,g=H.createElement,u=H.extend,f=H.pick; u(C.prototype,{getTransformKey:function(){return D&&!/Edge/.test(A.navigator.userAgent)?"-ms-transform":E?"-webkit-transform":G?"MozTransform":A.opera?"-o-transform":""},html:function(w,b,m){var t=this.createElement("span"),I=t.element,q=t.renderer,p=q.isSVG,a=function(a,d){["opacity","visibility"].forEach(function(b){a[b+"Setter"]=function(c,h,k){var f=a.div?a.div.style:d;F.prototype[b+"Setter"].call(this,c,h,k);f&&(f[h]=c)}});a.addedSetters=!0};t.textSetter=function(a){a!==this.textStr&&(delete this.bBox, delete this.oldTextWidth,l.setElementHTML(this.element,f(a,"")),this.textStr=a,t.doTransform=!0)};p&&a(t,t.element.style);t.xSetter=t.ySetter=t.alignSetter=t.rotationSetter=function(a,d){"align"===d?t.alignValue=t.textAlign=a:t[d]=a;t.doTransform=!0};t.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};t.attr({text:w,x:Math.round(b),y:Math.round(m)}).css({position:"absolute"});q.styledMode||t.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}); I.style.whiteSpace="nowrap";t.css=t.htmlCss;p&&(t.add=function(b){var d=q.box.parentNode,k=[];if(this.parentGroup=b){var c=b.div;if(!c){for(;b;)k.push(b),b=b.parentGroup;k.reverse().forEach(function(h){function b(a,c){h[c]=a;"translateX"===c?n.left=a+"px":n.top=a+"px";h.doTransform=!0}var f=x(h.element,"class"),y=h.styles||{};c=h.div=h.div||g("div",f?{className:f}:void 0,{position:"absolute",left:(h.translateX||0)+"px",top:(h.translateY||0)+"px",display:h.display,opacity:h.opacity,cursor:y.cursor, pointerEvents:y.pointerEvents},c||d);var n=c.style;u(h,{classSetter:function(a){return function(c){this.element.setAttribute("class",c);a.className=c}}(c),on:function(){k[0].div&&t.on.apply({element:k[0].div},arguments);return h},translateXSetter:b,translateYSetter:b});h.addedSetters||a(h)})}}else c=d;c.appendChild(I);t.added=!0;t.alignOnAdd&&t.htmlUpdateTransform();return t});return t}});return C});O(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){var G=e.win,C=l.defined, H=l.error,J=l.extend,D=l.isObject,E=l.merge,A=l.objectEach,x=l.pad,g=l.pick,u=l.splat,f=l.timeUnits;"";l=function(){function w(b){this.options={};this.variableTimezone=this.useUTC=!1;this.Date=G.Date;this.getTimezoneOffset=this.timezoneOffsetFunction();this.update(b)}w.prototype.get=function(b,f){if(this.variableTimezone||this.timezoneOffset){var m=f.getTime(),g=m-this.getTimezoneOffset(f);f.setTime(g);b=f["getUTC"+b]();f.setTime(m);return b}return this.useUTC?f["getUTC"+b]():f["get"+b]()};w.prototype.set= function(b,f,t){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===b||"Seconds"===b||"Minutes"===b&&0===this.getTimezoneOffset(f)%36E5)return f["setUTC"+b](t);var m=this.getTimezoneOffset(f);m=f.getTime()-m;f.setTime(m);f["setUTC"+b](t);b=this.getTimezoneOffset(f);m=f.getTime()+b;return f.setTime(m)}return this.useUTC?f["setUTC"+b](t):f["set"+b](t)};w.prototype.update=function(b){var f=g(b&&b.useUTC,!0);this.options=b=E(!0,this.options||{},b);this.Date=b.Date||G.Date||Date;this.timezoneOffset= (this.useUTC=f)&&b.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();this.variableTimezone=f&&!(!b.getTimezoneOffset&&!b.timezone)};w.prototype.makeTime=function(b,f,t,I,q,p){if(this.useUTC){var a=this.Date.UTC.apply(0,arguments);var k=this.getTimezoneOffset(a);a+=k;var d=this.getTimezoneOffset(a);k!==d?a+=d-k:k-36E5!==this.getTimezoneOffset(a-36E5)||e.isSafari||(a-=36E5)}else a=(new this.Date(b,f,g(t,1),g(I,0),g(q,0),g(p,0))).getTime();return a};w.prototype.timezoneOffsetFunction= function(){var b=this,f=this.options,t=f.moment||G.moment;if(!this.useUTC)return function(b){return 6E4*(new Date(b.toString())).getTimezoneOffset()};if(f.timezone){if(t)return function(b){return 6E4*-t.tz(b,f.timezone).utcOffset()};H(25)}return this.useUTC&&f.getTimezoneOffset?function(b){return 6E4*f.getTimezoneOffset(b.valueOf())}:function(){return 6E4*(b.timezoneOffset||0)}};w.prototype.dateFormat=function(b,f,t){var m;if(!C(f)||isNaN(f))return(null===(m=e.defaultOptions.lang)||void 0===m?void 0: m.invalidDate)||"";b=g(b,"%Y-%m-%d %H:%M:%S");var q=this;m=new this.Date(f);var p=this.get("Hours",m),a=this.get("Day",m),k=this.get("Date",m),d=this.get("Month",m),y=this.get("FullYear",m),c=e.defaultOptions.lang,h=null===c||void 0===c?void 0:c.weekdays,M=null===c||void 0===c?void 0:c.shortWeekdays;m=J({a:M?M[a]:h[a].substr(0,3),A:h[a],d:x(k),e:x(k,2," "),w:a,b:c.shortMonths[d],B:c.months[d],m:x(d+1),o:d+1,y:y.toString().substr(2,2),Y:y,H:x(p),k:p,I:x(p%12||12),l:p%12||12,M:x(this.get("Minutes", m)),p:12>p?"AM":"PM",P:12>p?"am":"pm",S:x(m.getSeconds()),L:x(Math.floor(f%1E3),3)},e.dateFormats);A(m,function(a,c){for(;-1!==b.indexOf("%"+c);)b=b.replace("%"+c,"function"===typeof a?a.call(q,f):a)});return t?b.substr(0,1).toUpperCase()+b.substr(1):b};w.prototype.resolveDTLFormat=function(b){return D(b,!0)?b:(b=u(b),{main:b[0],from:b[1],to:b[2]})};w.prototype.getTimeTicks=function(b,m,t,I){var q=this,p=[],a={};var k=new q.Date(m);var d=b.unitRange,y=b.count||1,c;I=g(I,1);if(C(m)){q.set("Milliseconds", k,d>=f.second?0:y*Math.floor(q.get("Milliseconds",k)/y));d>=f.second&&q.set("Seconds",k,d>=f.minute?0:y*Math.floor(q.get("Seconds",k)/y));d>=f.minute&&q.set("Minutes",k,d>=f.hour?0:y*Math.floor(q.get("Minutes",k)/y));d>=f.hour&&q.set("Hours",k,d>=f.day?0:y*Math.floor(q.get("Hours",k)/y));d>=f.day&&q.set("Date",k,d>=f.month?1:Math.max(1,y*Math.floor(q.get("Date",k)/y)));if(d>=f.month){q.set("Month",k,d>=f.year?0:y*Math.floor(q.get("Month",k)/y));var h=q.get("FullYear",k)}d>=f.year&&q.set("FullYear", k,h-h%y);d===f.week&&(h=q.get("Day",k),q.set("Date",k,q.get("Date",k)-h+I+(h4*f.month||q.getTimezoneOffset(m)!==q.getTimezoneOffset(t));m=k.getTime();for(k=1;mp.length&&p.forEach(function(c){0===c%18E5&&"000000000"===q.dateFormat("%H%M%S%L",c)&&(a[c]="day")})}p.info=J(b,{higherRanks:a,totalRange:d*y});return p};return w}();e.Time=l;return e.Time});O(e,"Core/Options.js",[e["Core/Globals.js"],e["Core/Color/Color.js"],e["Core/Color/Palette.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(e,l,F,C,H){var G=e.isTouchDevice,D=e.svg;l=l.parse;H=H.merge;"";e.defaultOptions={colors:F.colors,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}},zoomBySingleTouch:!1,width:null,height:null,borderColor:F.highlightColor80,backgroundColor:F.backgroundColor,plotBorderColor:F.neutralColor20},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:F.neutralColor80}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:F.neutralColor40,borderRadius:0,navigation:{activeColor:F.highlightColor100,inactiveColor:F.neutralColor20},itemStyle:{color:F.neutralColor80,cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:F.neutralColor100},itemHiddenStyle:{color:F.neutralColor20}, 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:F.backgroundColor,opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:D,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:G?25:10,headerFormat:'{point.key}
',pointFormat:'\u25cf {series.name}: {point.y}
',backgroundColor:l(F.neutralColor3).setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:F.neutralColor80,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:F.neutralColor40,fontSize:"9px"},text:"Highcharts.com"}};e.defaultOptions.chart.styledMode=!1;"";e.time=new C(H(e.defaultOptions.global,e.defaultOptions.time));e.dateFormat=function(l,A,x){return e.time.dateFormat(l,A,x)};return{dateFormat:e.dateFormat,defaultOptions:e.defaultOptions,time:e.time}});O(e,"Core/Axis/Tick.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){var G=e.deg2rad,C=l.clamp,H= l.correctFloat,J=l.defined,D=l.destroyObjectProperties,E=l.extend,A=l.fireEvent,x=l.isNumber,g=l.merge,u=l.objectEach,f=l.pick;"";l=function(){function w(b,f,t,g,q){this.isNewLabel=this.isNew=!0;this.axis=b;this.pos=f;this.type=t||"";this.parameters=q||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;A(this,"init");t||g||this.addLabel()}w.prototype.addLabel=function(){var b=this,m=b.axis,t=m.options,g=m.chart,q=m.categories,p=m.logarithmic,a=m.names,k=b.pos, d=f(b.options&&b.options.labels,t.labels),y=m.tickPositions,c=k===y[0],h=k===y[y.length-1];a=this.parameters.category||(q?f(q[k],a[k],k):k);var M=b.label;q=(!d.step||1===d.step)&&1===m.tickInterval;y=y.info;var u,P;if(m.dateTime&&y){var n=g.time.resolveDTLFormat(t.dateTimeLabelFormats[!t.grid&&y.higherRanks[k]||y.unitName]);var K=n.main}b.isFirst=c;b.isLast=h;b.formatCtx={axis:m,chart:g,isFirst:c,isLast:h,dateTimeLabelFormat:K,tickPositionInfo:y,value:p?H(p.lin2log(a)):a,pos:k};t=m.labelFormatter.call(b.formatCtx, this.formatCtx);if(P=n&&n.list)b.shortenLabel=function(){for(u=0;ud&&g-y*cp&&(P=Math.round((q-g)/Math.cos(d*G)));else if(q=g+(1-y)*c,g-y* cp&&(M=p-b.x+M*y,u=-1),M=Math.min(h,M),MM||m.autoRotation&&(k.styles||{}).width)P=M;P&&(this.shortenLabel?this.shortenLabel():(n.width=Math.floor(P)+"px",(t.style||{}).textOverflow||(n.textOverflow="ellipsis"),k.css(n)))};w.prototype.moveLabel=function(b,f){var m=this,g=m.label,q=!1,p=m.axis,a=p.reversed;g&&g.textStr===b?(m.movedLabel=g,q=!0,delete m.label):u(p.ticks,function(a){q||a.isNew||a===m||!a.label||a.label.textStr!== b||(m.movedLabel=a.label,q=!0,a.labelPos=m.movedLabel.xy,delete a.label)});if(!q&&(m.labelPos||g)){var k=m.labelPos||g.xy;g=p.horiz?a?0:p.width+p.left:k.x;p=p.horiz?k.y:a?p.width+p.left:0;m.movedLabel=m.createLabel({x:g,y:p},b,f);m.movedLabel&&m.movedLabel.attr({opacity:0})}};w.prototype.render=function(b,m,t){var g=this.axis,q=g.horiz,p=this.pos,a=f(this.tickmarkOffset,g.tickmarkOffset);p=this.getPosition(q,p,a,m);a=p.x;var k=p.y;g=q&&a===g.pos+g.len||!q&&k===g.pos?-1:1;t=f(t,1);this.isActive=!0; this.renderGridLine(m,t,g);this.renderMark(p,t,g);this.renderLabel(p,m,t,b);this.isNew=!1;A(this,"afterRender")};w.prototype.renderGridLine=function(b,m,g){var t=this.axis,q=t.options,p=this.gridLine,a={},k=this.pos,d=this.type,y=f(this.tickmarkOffset,t.tickmarkOffset),c=t.chart.renderer,h=d?d+"Grid":"grid",M=q[h+"LineWidth"],u=q[h+"LineColor"];q=q[h+"LineDashStyle"];p||(t.chart.styledMode||(a.stroke=u,a["stroke-width"]=M,q&&(a.dashstyle=q)),d||(a.zIndex=1),b&&(m=0),this.gridLine=p=c.path().attr(a).addClass("highcharts-"+ (d?d+"-":"")+"grid-line").add(t.gridGroup));if(p&&(g=t.getPlotLinePath({value:k+y,lineWidth:p.strokeWidth()*g,force:"pass",old:b})))p[b||this.isNew?"attr":"animate"]({d:g,opacity:m})};w.prototype.renderMark=function(b,m,g){var t=this.axis,q=t.options,p=t.chart.renderer,a=this.type,k=a?a+"Tick":"tick",d=t.tickSize(k),y=this.mark,c=!y,h=b.x;b=b.y;var M=f(q[k+"Width"],!a&&t.isXAxis?1:0);q=q[k+"Color"];d&&(t.opposite&&(d[0]=-d[0]),c&&(this.mark=y=p.path().addClass("highcharts-"+(a?a+"-":"")+"tick").add(t.axisGroup), t.chart.styledMode||y.attr({stroke:q,"stroke-width":M})),y[c?"attr":"animate"]({d:this.getMarkPath(h,b,d[0],y.strokeWidth()*g,t.horiz,p),opacity:m}))};w.prototype.renderLabel=function(b,m,t,g){var q=this.axis,p=q.horiz,a=q.options,k=this.label,d=a.labels,y=d.step;q=f(this.tickmarkOffset,q.tickmarkOffset);var c=!0,h=b.x;b=b.y;k&&x(h)&&(k.xy=b=this.getLabelPosition(h,b,k,p,d,q,g,y),this.isFirst&&!this.isLast&&!f(a.showFirstLabel,1)||this.isLast&&!this.isFirst&&!f(a.showLastLabel,1)?c=!1:!p||d.step|| d.rotation||m||0===t||this.handleOverflow(b),y&&g%y&&(c=!1),c&&x(b.y)?(b.opacity=t,k[this.isNewLabel?"attr":"animate"](b),this.isNewLabel=!1):(k.attr("y",-9999),this.isNewLabel=!0))};w.prototype.replaceMovedLabel=function(){var b=this.label,f=this.axis,g=f.reversed;if(b&&!this.isNew){var u=f.horiz?g?f.left:f.width+f.left:b.xy.x;g=f.horiz?b.xy.y:g?f.width+f.top:f.top;b.animate({x:u,y:g,opacity:0},void 0,b.destroy);delete this.label}f.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel};return w}(); e.Tick=l;return e.Tick});O(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Color/Palette.js"],e["Core/Options.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(e,l,F,C,H,J,D){var E=e.animObject,A=H.defaultOptions,x=D.addEvent,g=D.arrayMax,u=D.arrayMin,f=D.clamp,w=D.correctFloat,b=D.defined,m=D.destroyObjectProperties,t=D.erase,I=D.error,q=D.extend,p=D.fireEvent,a=D.format,k=D.getMagnitude,d=D.isArray,y=D.isFunction, c=D.isNumber,h=D.isString,M=D.merge,S=D.normalizeTickInterval,P=D.objectEach,n=D.pick,K=D.relativeLength,r=D.removeEvent,z=D.splat,L=D.syncTimeout;"";var B=F.deg2rad;e=function(){function e(a,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.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(a,c)}e.prototype.init=function(a,c){var d=c.isX,h=this;h.chart= a;h.horiz=a.inverted&&!h.isZAxis?!d:d;h.isXAxis=d;h.coll=h.coll||(d?"xAxis":"yAxis");p(this,"init",{userOptions:c});h.opposite=n(c.opposite,h.opposite);h.side=n(c.side,h.side,h.horiz?h.opposite?0:2:h.opposite?1:3);h.setOptions(c);var v=this.options,f=v.type;h.labelFormatter=v.labels.formatter||h.defaultLabelFormatter;h.userOptions=c;h.minPixelPadding=0;h.reversed=n(v.reversed,h.reversed);h.visible=!1!==v.visible;h.zoomEnabled=!1!==v.zoomEnabled;h.hasNames="category"===f||!0===v.categories;h.categories= v.categories||h.hasNames;h.names||(h.names=[],h.names.keys={});h.plotLinesAndBandsGroups={};h.positiveValuesOnly=!!h.logarithmic;h.isLinked=b(v.linkedTo);h.ticks={};h.labelEdge=[];h.minorTicks={};h.plotLinesAndBands=[];h.alternateBands={};h.len=0;h.minRange=h.userMinRange=v.minRange||v.maxZoom;h.range=v.range;h.offset=v.offset||0;h.max=null;h.min=null;h.crosshair=n(v.crosshair,z(a.options.tooltip.crosshairs)[d?0:1],!1);c=h.options.events;-1===a.axes.indexOf(h)&&(d?a.axes.splice(a.xAxis.length,0,h): a.axes.push(h),a[h.coll].push(h));h.series=h.series||[];a.inverted&&!h.isZAxis&&d&&"undefined"===typeof h.reversed&&(h.reversed=!0);h.labelRotation=h.options.labels.rotation;P(c,function(a,c){y(a)&&x(h,c,a)});p(this,"afterInit")};e.prototype.setOptions=function(a){this.options=M(e.defaultOptions,"yAxis"===this.coll&&e.defaultYAxisOptions,[e.defaultTopAxisOptions,e.defaultRightAxisOptions,e.defaultBottomAxisOptions,e.defaultLeftAxisOptions][this.side],M(A[this.coll],a));p(this,"afterSetOptions",{userOptions:a})}; e.prototype.defaultLabelFormatter=function(){var d=this.axis,h=c(this.value)?this.value:NaN,b=d.chart.time,n=d.categories,f=this.dateTimeLabelFormat,k=A.lang,r=k.numericSymbols;k=k.numericSymbolMagnitude||1E3;var z=r&&r.length,y=d.options.labels.format;d=d.logarithmic?Math.abs(h):d.tickInterval;var m=this.chart,p=m.numberFormatter;if(y)var K=a(y,this,m);else if(n)K=""+this.value;else if(f)K=b.dateFormat(f,h);else if(z&&1E3<=d)for(;z--&&"undefined"===typeof K;)b=Math.pow(k,z+1),d>=b&&0===10*h%b&&null!== r[z]&&0!==h&&(K=p(h/b,-1)+r[z]);"undefined"===typeof K&&(K=1E4<=Math.abs(h)?p(h,-1):p(h,-1,void 0,""));return K};e.prototype.getSeriesExtremes=function(){var a=this,d=a.chart,h;p(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.stacking&&a.stacking.buildStacks();a.series.forEach(function(v){if(v.visible||!d.options.chart.ignoreHiddenSeries){var f=v.options,k=f.threshold;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=k&& (k=null);if(a.isXAxis){if(f=v.xData,f.length){f=a.logarithmic?f.filter(a.validatePositiveValue):f;h=v.getXExtremes(f);var r=h.min;var z=h.max;c(r)||r instanceof Date||(f=f.filter(c),h=v.getXExtremes(f),r=h.min,z=h.max);f.length&&(a.dataMin=Math.min(n(a.dataMin,r),r),a.dataMax=Math.max(n(a.dataMax,z),z))}}else if(v=v.applyExtremes(),c(v.dataMin)&&(r=v.dataMin,a.dataMin=Math.min(n(a.dataMin,r),r)),c(v.dataMax)&&(z=v.dataMax,a.dataMax=Math.max(n(a.dataMax,z),z)),b(k)&&(a.threshold=k),!f.softThreshold|| a.positiveValuesOnly)a.softThreshold=!1}})});p(this,"afterGetSeriesExtremes")};e.prototype.translate=function(a,d,h,b,n,f){var v=this.linkedParent||this,k=1,r=0,z=b&&v.old?v.old.transA:v.transA;b=b&&v.old?v.old.min:v.min;var N=v.minPixelPadding;n=(v.isOrdinal||v.brokenAxis&&v.brokenAxis.hasBreaks||v.logarithmic&&n)&&v.lin2val;z||(z=v.transA);h&&(k*=-1,r=v.len);v.reversed&&(k*=-1,r-=k*(v.sector||v.len));d?(a=(a*k+r-N)/z+b,n&&(a=v.lin2val(a))):(n&&(a=v.val2lin(a)),a=c(b)?k*(a-b)*z+r+k*N+(c(f)?z*f:0): void 0);return a};e.prototype.toPixels=function(a,c){return this.translate(a,!1,!this.horiz,null,!0)+(c?0:this.pos)};e.prototype.toValue=function(a,c){return this.translate(a-(c?0:this.pos),!0,!this.horiz,null,!0)};e.prototype.getPlotLinePath=function(a){function d(a,c,d){if("pass"!==K&&ad)K?a=f(a,c,d):P=!0;return a}var h=this,b=h.chart,v=h.left,k=h.top,r=a.old,z=a.value,y=a.translatedValue,m=a.lineWidth,K=a.force,q,g,t,B,M=r&&b.oldChartHeight||b.chartHeight,L=r&&b.oldChartWidth||b.chartWidth, P,u=h.transB;a={value:z,lineWidth:m,old:r,force:K,acrossPanes:a.acrossPanes,translatedValue:y};p(this,"getPlotLinePath",a,function(a){y=n(y,h.translate(z,null,null,r));y=f(y,-1E5,1E5);q=t=Math.round(y+u);g=B=Math.round(M-y-u);c(y)?h.horiz?(g=k,B=M-h.bottom,q=t=d(q,v,v+h.width)):(q=v,t=L-h.right,g=B=d(g,k,k+h.height)):(P=!0,K=!1);a.path=P&&!K?null:b.renderer.crispLine([["M",q,g],["L",t,B]],m||1)});return a.path};e.prototype.getLinearTickPositions=function(a,c,d){var h=w(Math.floor(c/a)*a);d=w(Math.ceil(d/ a)*a);var b=[],n;w(h+a)===h&&(n=20);if(this.single)return[c];for(c=h;c<=d;){b.push(c);c=w(c+a,n);if(c===v)break;var v=c}return b};e.prototype.getMinorTickInterval=function(){var a=this.options;return!0===a.minorTicks?n(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval};e.prototype.getMinorTickPositions=function(){var a=this.options,c=this.tickPositions,d=this.minorTickInterval,h=[],b=this.pointRangePadding||0,n=this.min-b;b=this.max+b;var f=b-n;if(f&&f/d=this.minRange;var p=this.minRange;var K=(p-d+c)/2;K=[c-K,n(a.min,c-K)];m&&(K[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);c=g(K);d=[c+p,n(a.max,c+p)];m&&(d[2]=h?h.log2lin(this.dataMax):this.dataMax); d=u(d);d-c=t)P= t,m=0;else if(d.dataMax<=t){var u=t;y=0}d.min=n(M,P,d.dataMin);d.max=n(L,u,d.dataMax)}f&&(d.positiveValuesOnly&&!a&&0>=Math.min(d.min,n(d.dataMin,d.min))&&I(10,1,h),d.min=w(f.log2lin(d.min),16),d.max=w(f.log2lin(d.max),16));d.range&&b(d.max)&&(d.userMin=d.min=M=Math.max(d.dataMin,d.minFromRange()),d.userMax=L=d.max,d.range=null);p(d,"foundExtremes");d.beforePadding&&d.beforePadding();d.adjustForMinRange();!(g||d.axisPointRange||d.stacking&&d.stacking.usePercentage||z)&&b(d.min)&&b(d.max)&&(h=d.max- d.min)&&(!b(M)&&m&&(d.min-=h*m),!b(L)&&y&&(d.max+=h*y));c(d.userMin)||(c(r.softMin)&&r.softMind.max&&(d.max=L=r.softMax),c(r.ceiling)&&(d.max=Math.min(d.max,r.ceiling)));B&&b(d.dataMin)&&(t=t||0,!b(M)&&d.min=t?d.min=d.options.minRange?Math.min(t,d.max-d.minRange):t:!b(L)&&d.max>t&&d.dataMax<=t&&(d.max=d.options.minRange?Math.max(t,d.min+d.minRange):t));c(d.min)&&c(d.max)&& !this.chart.polar&&d.min>d.max&&(b(d.options.min)?d.max=d.min:b(d.options.max)&&(d.min=d.max));d.tickInterval=d.min===d.max||"undefined"===typeof d.min||"undefined"===typeof d.max?1:z&&!K&&q===d.linkedParent.options.tickPixelInterval?K=d.linkedParent.tickInterval:n(K,this.tickAmount?(d.max-d.min)/Math.max(this.tickAmount-1,1):void 0,g?1:(d.max-d.min)*q/Math.max(d.len,q));v&&!a&&d.series.forEach(function(a){var c,h;a.processData(d.min!==(null===(c=d.old)||void 0===c?void 0:c.min)||d.max!==(null=== (h=d.old)||void 0===h?void 0:h.max))});d.setAxisTranslation();p(this,"initialAxisTranslation");d.pointRange&&!K&&(d.tickInterval=Math.max(d.pointRange,d.tickInterval));a=n(r.minTickInterval,d.dateTime&&!d.series.some(function(a){return a.noSharedTooltip})?d.closestPointRange:0);!K&&d.tickIntervald.tickInterval||void 0!==this.tickAmount),!!this.tickAmount));this.tickAmount|| (d.tickInterval=d.unsquish());this.setTickPositions()};e.prototype.setTickPositions=function(){var a=this.options,c=a.tickPositions;var d=this.getMinorTickInterval();var h=a.tickPositioner,n=this.hasVerticalPanning(),f="colorAxis"===this.coll,r=(f||!n)&&a.startOnTick;n=(f||!n)&&a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===d&&this.tickInterval?this.tickInterval/5:d;this.single=this.min===this.max&&b(this.min)&& !this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=d=c&&c.slice();!d&&(this.ordinal&&this.ordinal.positions||!((this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))?d=this.dateTime?this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.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):(d=[this.min,this.max],I(19,!1,this.chart)),d.length>this.len&&(d=[d[0],d.pop()],d[0]===d[1]&&(d.length=1)),this.tickPositions=d,h&&(h=h.apply(this,[this.min,this.max])))&&(this.tickPositions=d=h);this.paddedTicks=d.slice(0);this.trimTicks(d,r,n);this.isLinked||(this.single&&2>d.length&&!this.categories&&!this.series.some(function(a){return a.is("heatmap")&&"between"===a.options.pointPlacement})&&(this.min-=.5,this.max+=.5),c||h||this.adjustTickAmount()); p(this,"afterSetTickPositions")};e.prototype.trimTicks=function(a,c,d){var h=a[0],n=a[a.length-1],f=!this.isOrdinal&&this.minPointOffset||0;p(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==h)this.min=h;else for(;this.min-f>a[0];)a.shift();if(d)this.max=n;else for(;this.max+fc&&(this.finalTickAmt=c,c=5);this.tickAmount= c};e.prototype.adjustTickAmount=function(){var a=this.options,d=this.tickInterval,h=this.tickPositions,f=this.tickAmount,r=this.finalTickAmt,k=h&&h.length,z=n(this.threshold,this.softThreshold?0:null);if(this.hasData()&&c(this.min)&&c(this.max)){if(kf&&(this.tickInterval*= 2,this.setTickPositions());if(b(r)){for(d=a=h.length;d--;)(3===r&&1===d%2||2>=r&&0v&&(c=v)),b(f)&&(nv&&(n=v))),d.displayBtn="undefined"!==typeof c||"undefined"!==typeof n,d.setExtremes(c,n,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed};e.prototype.setAxisSize=function(){var a=this.chart,c=this.options,d=c.offsets||[0,0,0,0],h=this.horiz,b=this.width=Math.round(K(n(c.width,a.plotWidth-d[3]+d[1]),a.plotWidth)),f=this.height=Math.round(K(n(c.height,a.plotHeight-d[0]+d[2]),a.plotHeight)),r=this.top=Math.round(K(n(c.top,a.plotTop+d[0]),a.plotHeight,a.plotTop));c=this.left=Math.round(K(n(c.left, a.plotLeft+d[3]),a.plotWidth,a.plotLeft));this.bottom=a.chartHeight-f-r;this.right=a.chartWidth-b-c;this.len=Math.max(h?b:f,0);this.pos=h?c:r};e.prototype.getExtremes=function(){var a=this.logarithmic;return{min:a?w(a.lin2log(this.min)):this.min,max:a?w(a.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}};e.prototype.getThreshold=function(a){var c=this.logarithmic,d=c?c.lin2log(this.min):this.min;c=c?c.lin2log(this.max):this.max;null=== a||-Infinity===a?a=d:Infinity===a?a=c:d>a?a=d:cc?a.align="right":195c&&(a.align="left")});return a.align};e.prototype.tickSize=function(a){var c=this.options,d=c["tick"===a?"tickLength":"minorTickLength"],h=n(c["tick"===a?"tickWidth":"minorTickWidth"],"tick"===a&&this.isXAxis&&!this.categories?1:0);if(h&&d){"inside"=== c[a+"Position"]&&(d=-d);var b=[d,h]}a={tickSize:b};p(this,"afterTickSize",a);return a.tickSize};e.prototype.labelMetrics=function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)};e.prototype.unsquish=function(){var a=this.options.labels,c=this.horiz,d=this.tickInterval,h=d,f=this.len/(((this.categories?1:0)+this.max-this.min)/d),r,k=a.rotation,z=this.labelMetrics(), y,m=Number.MAX_VALUE,K,p=Math.max(this.max-this.min,0),q=function(a){var c=a/(f||1);c=1p&&Infinity!==a&&Infinity!==f&&p&&(c=Math.ceil(p/d));return w(c*d)};c?(K=!a.staggerLines&&!a.step&&(b(k)?[k]:f=a){y=q(Math.abs(z.h/Math.sin(B*a)));var c=y+Math.abs(a/360);c(n.step||0))return n.rotation?0:(this.staggerLines||1)*this.len/f;if(!b){a=null===(d=null===n||void 0===n?void 0:n.style)||void 0===d?void 0:d.width;if(void 0!==a)return parseInt(a,10);if(r)return r-h.spacing[3]}return.33*h.chartWidth};e.prototype.renderUnsquish=function(){var a=this.chart,c=a.renderer,d=this.tickPositions,b= this.ticks,n=this.options.labels,f=n&&n.style||{},r=this.horiz,k=this.getSlotWidth(),z=Math.max(1,Math.round(k-2*(n.padding||5))),y={},m=this.labelMetrics(),K=n.style&&n.style.textOverflow,p=0;h(n.rotation)||(y.rotation=n.rotation||0);d.forEach(function(a){a=b[a];a.movedLabel&&a.replaceMovedLabel();a&&a.label&&a.label.textPxLength>p&&(p=a.label.textPxLength)});this.maxLabelLength=p;if(this.autoRotation)p>z&&p>m.h?y.rotation=this.labelRotation:this.labelRotation=0;else if(k){var q=z;if(!K){var g="clip"; for(z=d.length;!r&&z--;){var t=d[z];if(t=b[t].label)t.styles&&"ellipsis"===t.styles.textOverflow?t.css({textOverflow:"clip"}):t.textPxLength>k&&t.css({width:k+"px"}),t.getBBox().height>this.len/d.length-(m.h-m.f)&&(t.specificTextOverflow="ellipsis")}}}y.rotation&&(q=p>.5*a.chartHeight?.33*a.chartHeight:p,K||(g="ellipsis"));if(this.labelAlign=n.align||this.autoLabelAlign(this.labelRotation))y.align=this.labelAlign;d.forEach(function(a){var c=(a=b[a])&&a.label,d=f.width,h={};c&&(c.attr(y),a.shortenLabel? a.shortenLabel():q&&!d&&"nowrap"!==f.whiteSpace&&(q=this.min&&a<=this.max||(null===(d=this.grid)||void 0===d?0:d.isColumn))h[a]||(h[a]=new J(this,a)),b&&h[a].isNew&&h[a].render(c, !0,-1),h[a].render(c)};e.prototype.render=function(){var a=this,d=a.chart,h=a.logarithmic,b=a.options,n=a.isLinked,f=a.tickPositions,r=a.axisTitle,k=a.ticks,z=a.minorTicks,y=a.alternateBands,m=b.stackLabels,K=b.alternateGridColor,q=a.tickmarkOffset,t=a.axisLine,g=a.showAxis,B=E(d.renderer.globalAnimation),M,u;a.labelEdge.length=0;a.overlap=!1;[k,z,y].forEach(function(a){P(a,function(a){a.isActive=!1})});if(a.hasData()||n)a.minorTickInterval&&!a.categories&&a.getMinorTickPositions().forEach(function(c){a.renderMinorTick(c)}), f.length&&(f.forEach(function(c,d){a.renderTick(c,d)}),q&&(0===a.min||a.single)&&(k[-1]||(k[-1]=new J(a,-1,null,!0)),k[-1].render(-1))),K&&f.forEach(function(c,b){u="undefined"!==typeof f[b+1]?f[b+1]+q:a.max-q;0===b%2&&cx&&(!u||a<=g)&&"undefined"!==typeof a&&m.push(a);a>g&&(I=!0);var a=p}}}else x=this.lin2log(x),g=this.lin2log(g),e=u?f.getMinorTickInterval():b.tickInterval,e=J("auto"===e?null:e,this.minorAutoInterval,b.tickPixelInterval/(u?5:1)*(g-x)/((u?w/f.tickPositions.length:w)||1)),e=H(e,void 0,C(e)),m=f.getLinearTickPositions(e,x,g).map(this.log2lin),u||(this.minorAutoInterval=e/5);u||(f.tickInterval=e);return m};e.prototype.lin2log=function(e){return Math.pow(10,e)};e.prototype.log2lin=function(e){return Math.log(e)/ Math.LN10};return e}();l=function(){function e(){}e.compose=function(e){e.keepProps.push("logarithmic");G(e,"init",function(e){var g=this.logarithmic;"logarithmic"!==e.userOptions.type?this.logarithmic=void 0:g||(this.logarithmic=new D(this))});G(e,"afterInit",function(){var e=this.logarithmic;e&&(this.lin2val=function(g){return e.lin2log(g)},this.val2lin=function(g){return e.log2lin(g)})})};return e}();l.compose(e);return l});O(e,"Core/Axis/PlotLineOrBand.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"], e["Core/Color/Palette.js"],e["Core/Utilities.js"]],function(e,l,F,C){var G=C.arrayMax,J=C.arrayMin,D=C.defined,E=C.destroyObjectProperties,A=C.erase,x=C.extend,g=C.fireEvent,u=C.merge,f=C.objectEach,w=C.pick;C=function(){function b(b,f){this.axis=b;f&&(this.options=f,this.id=f.id)}b.prototype.render=function(){g(this,"render");var b=this,t=b.axis,e=t.horiz,q=t.logarithmic,p=b.options,a=p.label,k=b.label,d=p.to,y=p.from,c=p.value,h=D(y)&&D(d),M=D(c),S=b.svgElem,P=!S,n=[],K=p.color,r=w(p.zIndex,0), z=p.events;n={"class":"highcharts-plot-"+(h?"band ":"line ")+(p.className||"")};var L={},B=t.chart.renderer,x=h?"bands":"lines";q&&(y=q.log2lin(y),d=q.log2lin(d),c=q.log2lin(c));t.chart.styledMode||(M?(n.stroke=K||F.neutralColor40,n["stroke-width"]=w(p.width,1),p.dashStyle&&(n.dashstyle=p.dashStyle)):h&&(n.fill=K||F.highlightColor10,p.borderWidth&&(n.stroke=p.borderColor,n["stroke-width"]=p.borderWidth)));L.zIndex=r;x+="-"+r;(q=t.plotLinesAndBandsGroups[x])||(t.plotLinesAndBandsGroups[x]=q=B.g("plot-"+ x).attr(L).add());P&&(b.svgElem=S=B.path().attr(n).add(q));if(M)n=t.getPlotLinePath({value:c,lineWidth:S.strokeWidth(),acrossPanes:p.acrossPanes});else if(h)n=t.getPlotBandPath(y,d,p);else return;!b.eventsAdded&&z&&(f(z,function(a,c){S.on(c,function(a){z[c].apply(b,[a])})}),b.eventsAdded=!0);(P||!S.d)&&n&&n.length?S.attr({d:n}):S&&(n?(S.show(!0),S.animate({d:n})):S.d&&(S.hide(),k&&(b.label=k=k.destroy())));a&&(D(a.text)||D(a.formatter))&&n&&n.length&&0this.max&&f>this.max;if(g&&m){if(b){var k=g.toString()===m.toString();a=0}for(b=0;ba){g=y;break}if(k[g]&&h.substr(k[g])!=="01-01 00:00:00.000".substr(k[g]))break;"week"!==g&&(y=g)}if(g)var n=c.resolveDTLFormat(f[g]).main;return n};p.prototype.getLabel=function(){var a,b,d,f=this,c=this.chart.renderer,h=this.chart.styledMode,g=this.options,m="tooltip"+(D(g.className)? " "+g.className:""),p=(null===(a=g.style)||void 0===a?void 0:a.pointerEvents)||(!this.followPointer&&g.stickOnContact?"auto":"none"),n;a=function(){f.inContact=!0};var K=function(){var a=f.chart.hoverSeries;f.inContact=!1;if(a&&a.onMouseOut)a.onMouseOut()};if(!this.label){if(this.outside){var r=null===(b=this.chart.options.chart)||void 0===b?void 0:b.style;this.container=n=e.doc.createElement("div");n.className="highcharts-tooltip-container";J(n,{position:"absolute",top:"1px",pointerEvents:p,zIndex:Math.max((null=== (d=this.options.style)||void 0===d?void 0:d.zIndex)||0,((null===r||void 0===r?void 0:r.zIndex)||0)+3)});e.doc.body.appendChild(n);this.renderer=c=new e.Renderer(n,0,0,r,void 0,void 0,c.styledMode)}this.split?this.label=c.g(m):(this.label=c.label("",0,0,g.shape||"callout",null,null,g.useHTML,null,m).attr({padding:g.padding,r:g.borderRadius}),h||this.label.attr({fill:g.backgroundColor,"stroke-width":g.borderWidth}).css(g.style).css({pointerEvents:p}).shadow(g.shadow));h&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+ this.chart.index));if(f.outside&&!f.split){var z=this.label,q=z.xSetter,t=z.ySetter;z.xSetter=function(a){q.call(z,f.distance);n.style.left=a+"px"};z.ySetter=function(a){t.call(z,f.distance);n.style.top=a+"px"}}this.label.on("mouseenter",a).on("mouseleave",K).attr({zIndex:8}).add()}return this.label};p.prototype.getPosition=function(a,f,d){var k=this.chart,c=this.distance,h={},g=k.inverted&&d.h||0,m,p=this.outside,n=p?G.documentElement.clientWidth-2*c:k.chartWidth,K=p?Math.max(G.body.scrollHeight, G.documentElement.scrollHeight,G.body.offsetHeight,G.documentElement.offsetHeight,G.documentElement.clientHeight):k.chartHeight,r=k.pointer.getChartPosition(),z=function(h){var b="x"===h;return[h,b?n:K,b?a:f].concat(p?[b?a*r.scaleX:f*r.scaleY,b?r.left-c+(d.plotX+k.plotLeft)*r.scaleX:r.top-c+(d.plotY+k.plotTop)*r.scaleY,0,b?n:K]:[b?a:f,b?d.plotX+k.plotLeft:d.plotY+k.plotTop,b?k.plotLeft:k.plotTop,b?k.plotLeft+k.plotWidth:k.plotTop+k.plotHeight])},q=z("y"),t=z("x"),e=!this.followPointer&&b(d.ttBelow, !k.inverted===!!d.negative),v=function(a,d,b,f,n,k,z){var y=p?"y"===a?c*r.scaleY:c*r.scaleX:c,m=(b-f)/2,K=ft-g?t:t-g);else if(q)h[a]=Math.max(k,n+g+b>d?n:n+g);else return!1},u=function(a,d,b,f,n){var r;nd-c?r=!1:h[a]=nd-f/2?d-f-2:n-b/2;return r},w=function(a){var c=q;q=t;t=c;m=a},I=function(){!1!==v.apply(0,q)?!1!==u.apply(0,t)||m||(w(!0),I()):m?h.x=h.y=0:(w(!0),I())};(k.inverted||1=t+p&&L.pos+M<=t+p+g-z&&(e=L.pos+M);B=H(B,x.left-v,x.right+v);"number"===typeof e?(q=q.height+1,M=I?I.call(y,n,q,h):d(B,e,f,n),a.push({align:I?0:void 0,anchorX:B,anchorY:e,boxWidth:n,point:h,rank:b(M.rank,f?1:0),size:q,target:M.y, tt:c,x:M.x})):c.isActive=!1}return a},[]);!I&&a.some(function(a){return a.xd[0]?Math.max(Math.abs(d[0]),c.width-d[0]):Math.max(Math.abs(d[0]),c.width);f.height=0> d[1]?Math.max(Math.abs(d[1]),c.height-Math.abs(d[1])):Math.max(Math.abs(d[1]),c.height);this.tracker?this.tracker.attr(f):(this.tracker=b.renderer.rect(f).addClass("highcharts-tracker").add(b),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}};p.prototype.styledModeFormat=function(a){return a.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')};p.prototype.tooltipFooterHeaderFormatter= function(a,b){var d=b?"footer":"header",f=a.series,c=f.tooltipOptions,h=c.xDateFormat,k=f.xAxis,m=k&&"datetime"===k.options.type&&u(a.key),p=c[d+"Format"];b={isFooter:b,labelConfig:a};x(this,"headerFormatter",b,function(d){m&&!h&&(h=this.getXDateFormat(a,c,k));m&&h&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(a){p=p.replace("{point."+a+"}","{point."+a+":"+h+"}")});f.chart.styledMode&&(p=this.styledModeFormat(p));d.text=g(p,{point:a,series:f},this.chart)});return b.text};p.prototype.update= function(a){this.destroy();w(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,w(!0,this.options,a))};p.prototype.updatePosition=function(a){var b=this.chart,d=b.pointer,f=this.getLabel(),c=a.plotX+b.plotLeft;b=a.plotY+b.plotTop;d=d.getChartPosition();a=(this.options.positioner||this.getPosition).call(this,f.width,f.height,a);if(this.outside){var h=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(f.width+h,f.height+h,!1);if(1!==d.scaleX||1!==d.scaleY)J(this.container, {transform:"scale("+d.scaleX+", "+d.scaleY+")"}),c*=d.scaleX,b*=d.scaleY;c+=d.left-a.x;b+=d.top-a.y}this.move(Math.round(a.x),Math.round(a.y||0),c,b)};return p}();e.Tooltip=q;return e.Tooltip});O(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Color/Palette.js"],e["Core/Tooltip.js"],e["Core/Utilities.js"]],function(e,l,F,C,H){var G=e.parse,D=l.charts,E=l.noop,A=H.addEvent,x=H.attr,g=H.css,u=H.defined,f=H.extend,w=H.find,b=H.fireEvent,m=H.isNumber,t=H.isObject,I=H.objectEach, q=H.offset,p=H.pick,a=H.splat;"";e=function(){function k(a,b){this.lastValidTouch={};this.pinchDown=[];this.runChartClick=!1;this.chart=a;this.hasDragged=!1;this.options=b;this.unbindContainerMouseLeave=function(){};this.unbindContainerMouseEnter=function(){};this.init(a,b)}k.prototype.applyInactiveState=function(a){var d=[],c;(a||[]).forEach(function(a){c=a.series;d.push(c);c.linkedParent&&d.push(c.linkedParent);c.linkedSeries&&(d=d.concat(c.linkedSeries));c.navigatorSeries&&d.push(c.navigatorSeries)}); this.chart.series.forEach(function(a){-1===d.indexOf(a)?a.setState("inactive",!0):a.options.inactiveOtherPoints&&a.setAllPointsToState("inactive")})};k.prototype.destroy=function(){var a=this;"undefined"!==typeof a.unDocMouseMove&&a.unDocMouseMove();this.unbindContainerMouseLeave();l.chartCount||(l.unbindDocumentMouseUp&&(l.unbindDocumentMouseUp=l.unbindDocumentMouseUp()),l.unbindDocumentTouchEnd&&(l.unbindDocumentTouchEnd=l.unbindDocumentTouchEnd()));clearInterval(a.tooltipTimeout);I(a,function(d, c){a[c]=void 0})};k.prototype.drag=function(a){var d=this.chart,c=d.options.chart,h=a.chartX,b=a.chartY,f=this.zoomHor,k=this.zoomVert,n=d.plotLeft,g=d.plotTop,r=d.plotWidth,z=d.plotHeight,p=this.selectionMarker,m=this.mouseDownX||0,q=this.mouseDownY||0,v=t(c.panning)?c.panning&&c.panning.enabled:c.panning,e=c.panKey&&a[c.panKey+"Key"];if(!p||!p.touch)if(hn+r&&(h=n+r),bg+z&&(b=g+z),this.hasDragged=Math.sqrt(Math.pow(m-h,2)+Math.pow(q-b,2)),10a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(c,d);if((d=t(a,!0)&&a.series)&&!(d=!t(k,!0))){d=k.distX-a.distX;var h=k.dist-a.dist,f=(a.series.group&&a.series.group.zIndex)-(k.series.group&&k.series.group.zIndex);d=0<(0!==d&&b?d:0!==h?h:0!==f?f:k.series.index>a.series.index?-1:1)}d&&(k=a)});return k};k.prototype.getChartCoordinatesFromPoint= function(a,b){var c=a.series,d=c.xAxis;c=c.yAxis;var f=p(a.clientX,a.plotX),k=a.shapeArgs;if(d&&c)return b?{chartX:d.len+d.pos-f,chartY:c.len+c.pos-a.plotY}:{chartX:f+d.pos,chartY:a.plotY+c.pos};if(k&&k.x&&k.y)return{chartX:k.x,chartY:k.y}};k.prototype.getChartPosition=function(){if(this.chartPosition)return this.chartPosition;var a=this.chart.container,b=q(a);this.chartPosition={left:b.left,top:b.top,scaleX:1,scaleY:1};var c=a.offsetWidth;a=a.offsetHeight;2N.max&&(b=N.max-t,l=!0);l?(I-=.8*(I-g[r][0]),"number"===typeof P&&(P-=.8*(P-g[r][1])),c()):g[r]=[I,P];M||(k[r]=y-q,k[m]=t);k=M?1/e:e;f[m]=t;f[r]=b;h[M?a?"scaleY":"scaleX":"scale"+z]=e;h["translate"+z]=k*q+(I-k*w)};k.prototype.reset=function(d,b){var c= this.chart,h=c.hoverSeries,f=c.hoverPoint,k=c.hoverPoints,g=c.tooltip,n=g&&g.shared?k:f;d&&n&&a(n).forEach(function(a){a.series.isCartesian&&"undefined"===typeof a.plotX&&(d=!1)});if(d)g&&n&&a(n).length&&(g.refresh(n),g.shared&&k?k.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):f&&(f.setState(f.state,!0),c.axes.forEach(function(a){a.crosshair&&f.series[a.coll]=== a&&a.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();k&&k.forEach(function(a){a.setState()});if(h)h.onMouseOut();g&&g.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());c.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=c.hoverPoints=c.hoverPoint=null}};k.prototype.runPointActions=function(a,b){var c=this.chart,d=c.tooltip&&c.tooltip.options.enabled?c.tooltip:void 0,f=d?d.shared:!1,k=b||c.hoverPoint,g=k&&k.series||c.hoverSeries;g=this.getHoverData(k,g,c.series,(!a|| "touchmove"!==a.type)&&(!!b||g&&g.directTouch&&this.isDirectTouch),f,a);k=g.hoverPoint;var n=g.hoverPoints;b=(g=g.hoverSeries)&&g.tooltipOptions.followPointer;f=f&&g&&!g.noSharedTooltip;if(k&&(k!==c.hoverPoint||d&&d.isHidden)){(c.hoverPoints||[]).forEach(function(a){-1===n.indexOf(a)&&a.setState()});if(c.hoverSeries!==g)g.onMouseOver();this.applyInactiveState(n);(n||[]).forEach(function(a){a.setState("hover")});c.hoverPoint&&c.hoverPoint.firePointEvent("mouseOut");if(!k.series)return;c.hoverPoints= n;c.hoverPoint=k;k.firePointEvent("mouseOver");d&&d.refresh(f?n:k,a)}else b&&d&&!d.isHidden&&(k=d.getAnchor([{}],a),d.updatePosition({plotX:k[0],plotY:k[1]}));this.unDocMouseMove||(this.unDocMouseMove=A(c.container.ownerDocument,"mousemove",function(a){var c=D[l.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(a)}));c.axes.forEach(function(d){var h=p((d.crosshair||{}).snap,!0),b;h&&((b=c.hoverPoint)&&b.series[d.coll]===d||(b=w(n,function(a){return a.series[d.coll]===d})));b||!h?d.drawCrosshair(a, b):d.hideCrosshair()})};k.prototype.scaleGroups=function(a,b){var c=this.chart,d;c.series.forEach(function(h){d=a||h.getPlotBox();h.xAxis&&h.xAxis.zoomEnabled&&h.group&&(h.group.attr(d),h.markerGroup&&(h.markerGroup.attr(d),h.markerGroup.clip(b?c.clipRect:null)),h.dataLabelsGroup&&h.dataLabelsGroup.attr(d))});c.clipRect.attr(b||c.clipBox)};k.prototype.setDOMEvents=function(){var a=this,b=this.chart.container,c=b.ownerDocument;b.onmousedown=this.onContainerMouseDown.bind(this);b.onmousemove=this.onContainerMouseMove.bind(this); b.onclick=this.onContainerClick.bind(this);this.unbindContainerMouseEnter=A(b,"mouseenter",this.onContainerMouseEnter.bind(this));this.unbindContainerMouseLeave=A(b,"mouseleave",this.onContainerMouseLeave.bind(this));l.unbindDocumentMouseUp||(l.unbindDocumentMouseUp=A(c,"mouseup",this.onDocumentMouseUp.bind(this)));for(var h=this.chart.renderTo.parentElement;h&&"BODY"!==h.tagName;)A(h,"scroll",function(){delete a.chartPosition}),h=h.parentElement;l.hasTouch&&(A(b,"touchstart",this.onContainerTouchStart.bind(this), {passive:!1}),A(b,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1}),l.unbindDocumentTouchEnd||(l.unbindDocumentTouchEnd=A(c,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))};k.prototype.setHoverChartIndex=function(){var a=this.chart,b=l.charts[p(l.hoverChartIndex,-1)];if(b&&b!==a)b.pointer.onContainerMouseLeave({relatedTarget:!0});b&&b.mouseIsDown||(l.hoverChartIndex=a.index)};k.prototype.touch=function(a,b){var c=this.chart,d;this.setHoverChartIndex();if(1===a.touches.length)if(a= this.normalize(a),(d=c.isInsidePlot(a.chartX-c.plotLeft,a.chartY-c.plotTop))&&!c.openMenu){b&&this.runPointActions(a);if("touchmove"===a.type){b=this.pinchDown;var f=b[0]?4<=Math.sqrt(Math.pow(b[0].chartX-a.chartX,2)+Math.pow(b[0].chartY-a.chartY,2)):!1}p(f,!0)&&this.pinch(a)}else b&&this.reset();else 2===a.touches.length&&this.pinch(a)};k.prototype.touchSelect=function(a){return!(!this.chart.options.chart.zoomBySingleTouch||!a.touches||1!==a.touches.length)};k.prototype.zoomOption=function(a){var d= this.chart,c=d.options.chart,b=c.zoomType||"";d=d.inverted;/touch/.test(a.type)&&(b=p(c.pinchType,b));this.zoomX=a=/x/.test(b);this.zoomY=b=/y/.test(b);this.zoomHor=a&&!d||b&&d;this.zoomVert=b&&!d||a&&d;this.hasZoom=a||b};return k}();return l.Pointer=e});O(e,"Core/MSPointer.js",[e["Core/Globals.js"],e["Core/Pointer.js"],e["Core/Utilities.js"]],function(e,l,F){function G(){var b=[];b.item=function(b){return this[b]};u(w,function(f){b.push({pageX:f.pageX,pageY:f.pageY,target:f.target})});return b}function H(b, f,g,q){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!D[e.hoverChartIndex]||(q(b),q=D[e.hoverChartIndex].pointer,q[f]({type:g,target:b.currentTarget,preventDefault:A,touches:G()}))}var J=this&&this.__extends||function(){var b=function(f,g){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,f){b.__proto__=f}||function(b,f){for(var a in f)f.hasOwnProperty(a)&&(b[a]=f[a])};return b(f,g)};return function(f,g){function q(){this.constructor=f}b(f,g);f.prototype=null=== g?Object.create(g):(q.prototype=g.prototype,new q)}}(),D=e.charts,E=e.doc,A=e.noop,x=F.addEvent,g=F.css,u=F.objectEach,f=F.removeEvent,w={},b=!!e.win.PointerEvent;return function(m){function t(){return null!==m&&m.apply(this,arguments)||this}J(t,m);t.prototype.batchMSEvents=function(f){f(this.chart.container,b?"pointerdown":"MSPointerDown",this.onContainerPointerDown);f(this.chart.container,b?"pointermove":"MSPointerMove",this.onContainerPointerMove);f(E,b?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}; t.prototype.destroy=function(){this.batchMSEvents(f);m.prototype.destroy.call(this)};t.prototype.init=function(b,f){m.prototype.init.call(this,b,f);this.hasZoom&&g(b.container,{"-ms-touch-action":"none","touch-action":"none"})};t.prototype.onContainerPointerDown=function(b){H(b,"onContainerTouchStart","touchstart",function(b){w[b.pointerId]={pageX:b.pageX,pageY:b.pageY,target:b.currentTarget}})};t.prototype.onContainerPointerMove=function(b){H(b,"onContainerTouchMove","touchmove",function(b){w[b.pointerId]= {pageX:b.pageX,pageY:b.pageY};w[b.pointerId].target||(w[b.pointerId].target=b.currentTarget)})};t.prototype.onDocumentPointerUp=function(b){H(b,"onDocumentTouchEnd","touchend",function(b){delete w[b.pointerId]})};t.prototype.setDOMEvents=function(){m.prototype.setDOMEvents.call(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(x)};return t}(l)});O(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Options.js"], e["Core/Utilities.js"]],function(e,l,F,C,H){var G=l.animObject,D=C.defaultOptions,E=H.addEvent,A=H.defined,x=H.erase,g=H.extend,u=H.fireEvent,f=H.format,w=H.getNestedProperty,b=H.isArray,m=H.isFunction,t=H.isNumber,I=H.isObject,q=H.merge,p=H.objectEach,a=H.pick,k=H.syncTimeout,d=H.removeEvent,y=H.uniqueKey;"";l=function(){function c(){this.colorIndex=this.category=void 0;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total= this.series=void 0;this.visible=!0;this.x=void 0}c.prototype.animateBeforeDestroy=function(){var a=this,c={x:a.startXPos,opacity:0},d,b=a.getGraphicalProps();b.singular.forEach(function(b){d="dataLabel"===b;a[b]=a[b].animate(d?{x:a[b].startXPos,y:a[b].startYPos,opacity:0}:c)});b.plural.forEach(function(c){a[c].forEach(function(c){c.element&&c.animate(g({x:a.startXPos},c.startYPos?{x:c.startXPos,y:c.startYPos}:{}))})})};c.prototype.applyOptions=function(d,b){var h=this.series,f=h.options.pointValKey|| h.pointValKey;d=c.prototype.optionsToObject.call(this,d);g(this,d);this.options=this.options?g(this.options,d):d;d.group&&delete this.group;d.dataLabels&&delete this.dataLabels;f&&(this.y=c.prototype.getNestedProperty.call(this,f));this.formatPrefix=(this.isNull=a(this.isValid&&!this.isValid(),null===this.x||!t(this.y)))?"null":"point";this.selected&&(this.state="select");"name"in this&&"undefined"===typeof b&&h.xAxis&&h.xAxis.hasNames&&(this.x=h.xAxis.nameToX(this));"undefined"===typeof this.x&& h&&(this.x="undefined"===typeof b?h.autoIncrement(this):b);return this};c.prototype.destroy=function(){function a(){if(c.graphic||c.dataLabel||c.dataLabels)d(c),c.destroyElements();for(r in c)c[r]=null}var c=this,b=c.series,f=b.chart;b=b.options.dataSorting;var n=f.hoverPoints,g=G(c.series.chart.renderer.globalAnimation),r;c.legendItem&&f.legend.destroyItem(c);n&&(c.setState(),x(n,c),n.length||(f.hoverPoints=null));if(c===f.hoverPoint)c.onMouseOut();b&&b.enabled?(this.animateBeforeDestroy(),k(a,g.duration)): a();f.pointCount--};c.prototype.destroyElements=function(a){var c=this;a=c.getGraphicalProps(a);a.singular.forEach(function(a){c[a]=c[a].destroy()});a.plural.forEach(function(a){c[a].forEach(function(a){a.element&&a.destroy()});delete c[a]})};c.prototype.firePointEvent=function(a,c,d){var b=this,h=this.series.options;(h.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&b.importEvents();"click"===a&&h.allowPointSelect&&(d=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey|| a.shiftKey)});u(b,a,c,d)};c.prototype.getClassName=function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")};c.prototype.getGraphicalProps=function(a){var c=this,d= [],b,h={singular:[],plural:[]};a=a||{graphic:1,dataLabel:1};a.graphic&&d.push("graphic","upperGraphic","shadowGroup");a.dataLabel&&d.push("dataLabel","dataLabelUpper","connector");for(b=d.length;b--;){var f=d[b];c[f]&&h.singular.push(f)}["dataLabel","connector"].forEach(function(d){var b=d+"s";a[d]&&c[b]&&h.plural.push(b)});return h};c.prototype.getLabelConfig=function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this, percentage:this.percentage,total:this.total||this.stackTotal}};c.prototype.getNestedProperty=function(a){if(a)return 0===a.indexOf("custom.")?w(a,this.options):this[a]};c.prototype.getZone=function(){var a=this.series,c=a.zones;a=a.zoneAxis||"y";var d=0,b;for(b=c[d];this[a]>=b.value;)b=c[++d];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b};c.prototype.hasNewShapeType=function(){return(this.graphic&&(this.graphic.symbolName|| this.graphic.element.nodeName))!==this.shapeType};c.prototype.init=function(a,c,d){this.series=a;this.applyOptions(c,d);this.id=A(this.id)?this.id:y();this.resolveColor();a.chart.pointCount++;u(this,"afterInit");return this};c.prototype.optionsToObject=function(a){var d={},h=this.series,f=h.options.keys,n=f||h.pointArrayMap||["y"],k=n.length,r=0,g=0;if(t(a)||null===a)d[n[0]]=a;else if(b(a))for(!f&&a.length>k&&(h=typeof a[0],"string"===h?d.name=a[0]:"number"===h&&(d.x=a[0]),r++);gf-6&&kp?this.maxItemWidth:a.itemWidth;b&&this.itemX-d+c>p&&(this.itemX=d,this.lastLineHeight&&(this.itemY+=g+this.lastLineHeight+k),this.lastLineHeight=0);this.lastItemY=g+this.itemY+k;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];b?this.itemX+=c:(this.itemY+= g+f+k,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((b?this.itemX-d-(a.checkbox?0:r):c)+d,this.offsetWidth)};d.prototype.getAllItems=function(){var a=[];this.chart.series.forEach(function(c){var d=c&&c.options;c&&q(d.showInLegend,u(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===d.legendType?c.data:c)))});b(this,"afterGetAllItems",{allItems:a});return a};d.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)};d.prototype.adjustMargins=function(a,d){var c=this.chart,b=this.options,f=this.getAlignment();f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(h,k){h.test(f)&&!u(a[k])&&(c[D[k]]=Math.max(c[D[k]],c.legend[(k+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][k]*b[k%2?"x":"y"]+q(b.margin,12)+d[k]+(c.titleOffset[k]||0)))})};d.prototype.proximatePositions=function(){var a=this.chart,d=[],b="left"===this.options.align; this.allItems.forEach(function(c){var f;var h=b;if(c.yAxis){c.xAxis.options.reversed&&(h=!h);c.points&&(f=w(h?c.points:c.points.slice(0).reverse(),function(a){return t(a.plotY)}));h=this.itemMarginTop+c.legendItem.getBBox().height+this.itemMarginBottom;var k=c.yAxis.top-a.plotTop;c.visible?(f=f?f.plotY:c.yAxis.height,f+=k-.3*h):f=k+c.yAxis.height;d.push({target:f,size:h,item:c})}},this);l.distribute(d,a.plotHeight);d.forEach(function(c){c.item._legendItemPos[1]=a.plotTop-a.spacing[0]+c.pos})};d.prototype.render= function(){var c=this.chart,d=c.renderer,f=this.group,k=this.box,g=this.options,n=this.padding;this.itemX=n;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=p(g.width,c.spacingBox.width-n);var m=c.spacingBox.width-2*n-g.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(m/=2);this.maxLegendWidth=this.widthOption||m;f||(this.group=f=d.g("legend").attr({zIndex:7}).add(),this.contentGroup=d.g().attr({zIndex:1}).add(f),this.scrollGroup=d.g().add(this.contentGroup)); this.renderTitle();var r=this.getAllItems();a(r,function(a,c){return(a.options&&a.options.legendIndex||0)-(c.options&&c.options.legendIndex||0)});g.reversed&&r.reverse();this.allItems=r;this.display=m=!!r.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;r.forEach(this.renderItem,this);r.forEach(this.layoutItem,this);r=(this.widthOption||this.offsetWidth)+n;var z=this.lastItemY+this.lastLineHeight+this.titleHeight;z=this.handleOverflow(z);z+=n;k||(this.box=k=d.rect().addClass("highcharts-legend-box").attr({r:g.borderRadius}).add(f), k.isNew=!0);c.styledMode||k.attr({stroke:g.borderColor,"stroke-width":g.borderWidth||0,fill:g.backgroundColor||"none"}).shadow(g.shadow);0k&&!1!==t.enabled?(this.clipHeight=p=Math.max(k-20-this.titleHeight-g,0),this.currentPage=q(this.currentPage,1),this.fullHeight=a,N.forEach(function(a,c){var d=a._legendItemPos[1],b=Math.round(a.legendItem.getBBox().height),f=u.length;if(!f||d-u[f-1]>p&&(w||d)!==u[f-1])u.push(w||d),f++;a.pageIx=f-1;w&&(N[c-1].pageIx=f-1);c===N.length-1&&d+b-u[f-1]>p&&d!==w&&(u.push(d),a.pageIx=f);d!==w&&(w=d)}),m||(m=c.clipRect=b.clipRect(0,g,9999, 0),c.contentGroup.clip(m)),x(p),y||(this.nav=y=b.g().attr({zIndex:1}).add(this.group),this.up=b.symbol("triangle",0,0,v,v).add(y),I("upTracker").on("click",function(){c.scroll(-1,e)}),this.pager=b.text("",15,10).addClass("highcharts-legend-navigation"),d.styledMode||this.pager.css(t.style),this.pager.add(y),this.down=b.symbol("triangle-down",0,0,v,v).add(y),I("downTracker").on("click",function(){c.scroll(1,e)})),c.scroll(0),a=k):y&&(x(),this.nav=y.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight= 0);return a};d.prototype.scroll=function(a,d){var c=this,f=this.chart,h=this.pages,n=h.length,g=this.currentPage+a;a=this.clipHeight;var r=this.options.navigation,p=this.pager,m=this.padding;g>n&&(g=n);0=n&&k<=r||g||!M(k))p=!0;b[g?"zoomX":"zoomY"]&&p&&(d=h.zoom(a.min, a.max),h.displayBtn&&(f=!0))});var h=c.resetZoomButton;f&&!h?c.showResetZoom():!f&&R(h)&&(c.resetZoomButton=h.destroy());d&&c.redraw(T(c.options.chart.animation,a&&a.animation,100>c.pointCount))};e.prototype.pan=function(a,c){var d=this,b=d.hoverPoints,f=d.options.chart,k=d.options.mapNavigation&&d.options.mapNavigation.enabled,n;c="object"===typeof c?c:{enabled:c,type:"x"};f&&f.panning&&(f.panning=c);var r=c.type;z(this,"pan",{originalEvent:a},function(){b&&b.forEach(function(a){a.setState()});var c= [1];"xy"===r?c=[1,0]:"y"===r&&(c=[0]);c.forEach(function(c){var b=d[c?"xAxis":"yAxis"][0],f=b.horiz,h=a[f?"chartX":"chartY"];f=f?"mouseDownX":"mouseDownY";var g=d[f],p=(b.pointRange||0)/2,m=b.reversed&&!d.inverted||!b.reversed&&d.inverted?-1:1,q=b.getExtremes(),z=b.toValue(g-h,!0)+p*m;m=b.toValue(g+b.len-h,!0)-p*m;var e=m=c&&z<=p&&(b.setExtremes(g,z,!1,!1,{trigger:"pan"}),d.resetZoomButton||k||g===c||z===p||!r.match("y")||(d.showResetZoom(),b.displayBtn=!1),n=!0),d[f]=h)});n&&d.redraw(!1);h(d.container,{cursor:"move"})})};return e}();K(ba.prototype,{callbacks:[],collectionsWithInit:{xAxis:[ba.prototype.addAxis,[!0]],yAxis:[ba.prototype.addAxis,[!1]],series:[ba.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","zAxis", "series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")});F.chart=function(a,c,d){return new ba(a, c,d)};F.Chart=ba;"";return ba});O(e,"Mixins/LegendSymbol.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){var G=l.merge,C=l.pick;return e.LegendSymbolMixin={drawRectangle:function(e,l){var D=e.symbolHeight,E=e.options.squareSymbol;l.legendSymbol=this.chart.renderer.rect(E?(e.symbolWidth-D)/2:0,e.baseline-D+1,E?D:e.symbolWidth,D,C(e.options.symbolRadius,D/2)).addClass("highcharts-point").attr({zIndex:3}).add(l.legendGroup)},drawLineMarker:function(e){var l=this.options,D=l.marker,E= e.symbolWidth,A=e.symbolHeight,x=A/2,g=this.chart.renderer,u=this.legendGroup;e=e.baseline-Math.round(.3*e.fontMetrics.b);var f={};this.chart.styledMode||(f={"stroke-width":l.lineWidth||0},l.dashStyle&&(f.dashstyle=l.dashStyle));this.legendLine=g.path([["M",0,e],["L",E,e]]).addClass("highcharts-graph").attr(f).add(u);D&&!1!==D.enabled&&E&&(l=Math.min(C(D.radius,x),x),0===this.symbol.indexOf("url")&&(D=G(D,{width:A,height:A}),l=0),this.legendSymbol=D=g.symbol(this.symbol,E/2-l,e-l,2*l,2*l,D).addClass("highcharts-point").add(u), D.isMarker=!0)}}});O(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Mixins/LegendSymbol.js"],e["Core/Options.js"],e["Core/Color/Palette.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(e,l,F,C,H,J,D,E,A){var x=e.animObject,g=e.setAnimation,u=l.hasTouch,f=l.svg,w=l.win,b=C.defaultOptions,m=D.seriesTypes,t=A.addEvent,I=A.arrayMax,q=A.arrayMin,p=A.clamp,a=A.cleanRecursively, k=A.correctFloat,d=A.defined,y=A.erase,c=A.error,h=A.extend,M=A.find,G=A.fireEvent,P=A.getNestedProperty,n=A.isArray,K=A.isFunction,r=A.isNumber,z=A.isString,L=A.merge,B=A.objectEach,Q=A.pick,v=A.removeEvent,R=A.splat,aa=A.syncTimeout;e=function(){function e(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}e.prototype.init= function(a,c){G(this,"init",{options:c});var d=this,b=a.series,f;this.eventOptions=this.eventOptions||{};this.eventsToUnbind=[];d.chart=a;d.options=c=d.setOptions(c);d.linkedSeries=[];d.bindAxes();h(d,{name:c.name,state:"",visible:!1!==c.visible,selected:!0===c.selected});var k=c.events;B(k,function(a,c){K(a)&&d.eventOptions[c]!==a&&(K(d.eventOptions[c])&&v(d,c,d.eventOptions[c]),d.eventOptions[c]=a,t(d,c,a))});if(k&&k.click||c.point&&c.point.events&&c.point.events.click||c.allowPointSelect)a.runTrackerClick= !0;d.getColor();d.getSymbol();d.parallelArrays.forEach(function(a){d[a+"Data"]||(d[a+"Data"]=[])});d.isCartesian&&(a.hasCartesianSeries=!0);b.length&&(f=b[b.length-1]);d._i=Q(f&&f._i,-1)+1;d.opacity=d.options.opacity;a.orderSeries(this.insert(b));c.dataSorting&&c.dataSorting.enabled?d.setDataSortingOptions():d.points||d.data||d.setData(c.data,!1);G(this,"afterInit")};e.prototype.is=function(a){return m[a]&&this instanceof m[a]};e.prototype.insert=function(a){var c=this.options.index,d;if(r(c)){for(d= a.length;d--;)if(c>=Q(a[d].options.index,a[d]._i)){a.splice(d+1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return Q(d,a.length-1)};e.prototype.bindAxes=function(){var a=this,d=a.options,b=a.chart,f;G(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(h){b[h].forEach(function(c){f=c.options;if(d[h]===f.index||"undefined"!==typeof d[h]&&d[h]===f.id||"undefined"===typeof d[h]&&0===f.index)a.insert(c.series),a[h]=c,c.isDirty=!0});a[h]||a.optionalAxis===h||c(18,!0,b)})}); G(this,"afterBindAxes")};e.prototype.updateParallelArrays=function(a,c){var d=a.series,b=arguments,f=r(c)?function(b){var f="y"===b&&d.toYData?d.toYData(a):a[b];d[b+"Data"][c]=f}:function(a){Array.prototype[c].apply(d[a+"Data"],Array.prototype.slice.call(b,2))};d.parallelArrays.forEach(f)};e.prototype.hasData=function(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0=this.cropStart?p-this.cropStart:p);!h&&f[p]&&f[p].touched&&(p=void 0);return p};e.prototype.updateData= function(a,c){var b=this.options,f=b.dataSorting,h=this.points,k=[],n,g,p,m=this.requireSorting,e=a.length===h.length,q=!0;this.xIncrement=null;a.forEach(function(a,c){var g=d(a)&&this.pointClass.prototype.optionsToObject.call({series:this},a)||{};var q=g.x;if(g.id||r(q)){if(q=this.findPointIndex(g,p),-1===q||"undefined"===typeof q?k.push(a):h[q]&&a!==b.data[q]?(h[q].update(a,!1,null,!1),h[q].touched=!0,m&&(p=q+1)):h[q]&&(h[q].touched=!0),!e||c!==q||f&&f.enabled||this.hasDerivedData)n=!0}else k.push(a)}, this);if(n)for(a=h.length;a--;)(g=h[a])&&!g.touched&&g.remove&&g.remove(!1,c);else!e||f&&f.enabled?q=!1:(a.forEach(function(a,c){h[c].update&&a!==h[c].y&&h[c].update(a,!1,null,!1)}),k.length=0);h.forEach(function(a){a&&(a.touched=!1)});if(!q)return!1;k.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=I(this.xData),this.autoIncrement());return!0};e.prototype.setData=function(a,d,b,f){var h=this,k=h.points,g=k&&k.length|| 0,p,m=h.options,e=h.chart,q=m.dataSorting,t=null,v=h.xAxis;t=m.turboThreshold;var y=this.xData,u=this.yData,B=(p=h.pointArrayMap)&&p.length,K=m.keys,w=0,L=1,N;a=a||[];p=a.length;d=Q(d,!0);q&&q.enabled&&(a=this.sortData(a));!1!==f&&p&&g&&!h.cropped&&!h.hasGroupedData&&h.visible&&!h.isSeriesBoosting&&(N=this.updateData(a,b));if(!N){h.xIncrement=null;h.colorCounter=0;this.parallelArrays.forEach(function(a){h[a+"Data"].length=0});if(t&&p>t)if(t=h.getFirstValidPoint(a),r(t))for(b=0;ba?1:0}).forEach(function(a,c){a.x=c},this);c.linkedSeries&&c.linkedSeries.forEach(function(c){var d= c.options,b=d.data;d.dataSorting&&d.dataSorting.enabled||!b||(b.forEach(function(d,h){b[h]=f(c,d);a[h]&&(b[h].x=a[h].x,b[h].index=h)}),c.setData(b,!1))});return a};e.prototype.getProcessedData=function(a){var d=this.xData,b=this.yData,f=d.length;var h=0;var k=this.xAxis,n=this.options;var r=n.cropThreshold;var g=a||this.getExtremesFromAll||n.getExtremesFromAll,p=this.isCartesian;a=k&&k.val2lin;n=!(!k||!k.logarithmic);var m=this.requireSorting;if(k){k=k.getExtremes();var e=k.min;var q=k.max}if(p&& this.sorted&&!g&&(!r||f>r||this.forceCrop))if(d[f-1]q)d=[],b=[];else if(this.yData&&(d[0]q)){h=this.cropData(this.xData,this.yData,e,q);d=h.xData;b=h.yData;h=h.start;var z=!0}for(r=d.length||1;--r;)if(f=n?a(d[r])-a(d[r-1]):d[r]-d[r-1],0f&&m&&(c(15,!1,this.chart),m=!1);return{xData:d,yData:b,cropped:z,cropStart:h,closestPointRange:t}};e.prototype.processData=function(a){var c=this.xAxis;if(this.isCartesian&&!this.isDirty&&!c.isDirty&& !this.yAxis.isDirty&&!a)return!1;a=this.getProcessedData();this.cropped=a.cropped;this.cropStart=a.cropStart;this.processedXData=a.xData;this.processedYData=a.yData;this.closestPointRange=this.basePointRange=a.closestPointRange};e.prototype.cropData=function(a,c,d,b,f){var h=a.length,k=0,n=h,r;f=Q(f,this.cropShoulder);for(r=0;r=d){k=Math.max(0,r-f);break}for(d=r;db){n=d+f;break}return{xData:a.slice(k,n),yData:c.slice(k,n),start:k,end:n}};e.prototype.generatePoints=function(){var a= this.options,c=a.data,d=this.data,b,f=this.processedXData,k=this.processedYData,n=this.pointClass,r=f.length,g=this.cropStart||0,p=this.hasGroupedData;a=a.keys;var m=[],e;d||p||(d=[],d.length=c.length,d=this.data=d);a&&p&&(this.options.keys=!1);for(e=0;e=g&&(f[z-m]||t)<=p;if(y&&t)if(y=v.length)for(;y--;)r(v[y])&&(h[k++]=v[y]);else h[k++]=v}a={dataMin:q(h),dataMax:I(h)};G(this,"afterGetExtremes",{dataExtremes:a});return a};e.prototype.applyExtremes=function(){var a=this.getExtremes(); this.dataMin=a.dataMin;this.dataMax=a.dataMax;return a};e.prototype.getFirstValidPoint=function(a){for(var c=null,d=a.length,b=0;null===c&&b=x&&(x=null),L.total=L.stackTotal=P.total,L.percentage=P.total&&L.y/P.total*100,L.stackY=l,this.irregularWidths||P.setOffset(this.pointXOffset||0,this.barW||0));L.yBottom=d(x)?p(g.translate(x,0,1,0,1),-1E5,1E5):null;q&&(l=this.modifyValue(l,L));L.plotY=void 0;r(l)&&(l=g.translate(l,!1,!0,!1,!0),"undefined"!==typeof l&&(L.plotY=p(l,-1E5,1E5)));L.isInside=this.isPointInside(L);L.clientX=v?k(b.translate(I,0,0,0,1,t)):B;L.negative=L[K]<(a[K+"Threshold"]||y|| 0);L.category=f&&"undefined"!==typeof f[L.x]?f[L.x]:L.x;if(!L.isNull&&!1!==L.visible){"undefined"!==typeof D&&(w=Math.min(w,Math.abs(B-D)));var D=B}L.zone=this.zones.length&&L.getZone();!L.graphic&&this.group&&h&&(L.isNew=!0)}this.closestPointRangePx=w;G(this,"afterTranslate")};e.prototype.getValidPoints=function(a,c,d){var b=this.chart;return(a||this.points||[]).filter(function(a){return c&&!b.isInsidePlot(a.plotX,a.plotY,b.inverted)?!1:!1!==a.visible&&(d||!a.isNull)})};e.prototype.getClipBox=function(a, c){var d=this.options,b=this.chart,f=b.inverted,h=this.xAxis,k=h&&this.yAxis,n=b.options.chart.scrollablePlotArea||{};a&&!1===d.clip&&k?a=f?{y:-b.chartWidth+k.len+k.pos,height:b.chartWidth,width:b.chartHeight,x:-b.chartHeight+h.len+h.pos}:{y:-k.pos,height:b.chartHeight,width:b.chartWidth,x:-h.pos}:(a=this.clipBox||b.clipBox,c&&(a.width=b.plotSizeX,a.x=(b.scrollablePixelsX||0)*(n.scrollPositionX||0)));return c?{width:a.width,x:a.x}:a};e.prototype.setClip=function(a){var c=this.chart,d=this.options, b=c.renderer,f=c.inverted,h=this.clipBox,k=this.getClipBox(a),n=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,a&&a.defer,k.height,d.xAxis,d.yAxis].join(),r=c[n],g=c[n+"m"];a&&(k.width=0,f&&(k.x=c.plotHeight+(!1!==d.clip?0:c.plotTop)));r?c.hasLoaded||r.attr(k):(a&&(c[n+"m"]=g=b.clipRect(f?c.plotSizeX+99:-99,f?-c.plotLeft:-c.plotTop,99,f?c.chartWidth:c.chartHeight)),c[n]=r=b.clipRect(k),r.count={length:0});a&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);if(!1!==d.clip|| a)this.group.clip(a||h?r:c.clipRect),this.markerGroup.clip(g),this.sharedClipKey=n;a||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&n&&c[n]&&(h||(c[n]=c[n].destroy()),c[n+"m"]&&(c[n+"m"]=c[n+"m"].destroy())))};e.prototype.animate=function(a){var c=this.chart,d=x(this.options.animation);if(a)this.setClip(d);else{var b=this.sharedClipKey;a=c[b];var f=this.getClipBox(d,!0);a&&a.animate(f,d);c[b+"m"]&&c[b+"m"].animate({width:f.width+99,x:f.x-(c.inverted?0:99)}, d)}};e.prototype.afterAnimate=function(){this.setClip();G(this,"afterAnimate");this.finishedAnimating=!0};e.prototype.drawPoints=function(){var a=this.points,c=this.chart,d,b,f=this.options.marker,h=this[this.specialGroup]||this.markerGroup,k=this.xAxis,n=Q(f.enabled,!k||k.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(d=0;dw.max;a.resetZones&&0===h&&(h=void 0)});this.clips=k}else a.visible&&(r&&r.show(!0),g&&g.show(!0))};e.prototype.invertGroups=function(a){function c(){["group","markerGroup"].forEach(function(c){d[c]&&(b.renderer.isVML&&d[c].attr({width:d.yAxis.len,height:d.xAxis.len}),d[c].width=d.yAxis.len,d[c].height=d.xAxis.len,d[c].invert(d.isRadialSeries?!1:a))})}var d=this,b=d.chart;d.xAxis&&(d.eventsToUnbind.push(t(b, "resize",c)),c(),d.invertGroups=c)};e.prototype.plotGroup=function(a,c,b,f,h){var k=this[a],n=!k;b={visibility:b,zIndex:f||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(b.opacity=this.opacity);n&&(this[a]=k=this.chart.renderer.g().add(h));k.addClass("highcharts-"+c+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(d(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(k.hasClass("highcharts-tracker")? " highcharts-tracker":""),!0);k.attr(b)[n?"attr":"animate"](this.getPlotBox());return k};e.prototype.getPlotBox=function(){var a=this.chart,c=this.xAxis,d=this.yAxis;a.inverted&&(c=d,d=this.xAxis);return{translateX:c?c.left:a.plotLeft,translateY:d?d.top:a.plotTop,scaleX:1,scaleY:1}};e.prototype.removeEvents=function(a){a||v(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind.length=0)};e.prototype.render=function(){var a=this,c=a.chart,d=a.options, b=x(d.animation),f=!a.finishedAnimating&&c.renderer.isSVG&&b.duration,h=a.visible?"inherit":"hidden",k=d.zIndex,n=a.hasRendered,r=c.seriesGroup,g=c.inverted;G(this,"render");var p=a.plotGroup("group","series",h,k,r);a.markerGroup=a.plotGroup("markerGroup","markers",h,k,r);f&&a.animate&&a.animate(!0);p.inverted=Q(a.invertible,a.isCartesian)?g:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&a.redrawPoints();a.drawTracker&& !1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(g);!1===d.clip||a.sharedClipKey||n||p.clip(c.clipRect);f&&a.animate&&a.animate();n||(f&&b.defer&&(f+=b.defer),a.animationTimeout=aa(function(){a.afterAnimate()},f||0));a.isDirty=!1;a.hasRendered=!0;G(a,"afterRender")};e.prototype.redraw=function(){var a=this.chart,c=this.isDirty||this.isDirtyData,d=this.group,b=this.xAxis,f=this.yAxis;d&&(a.inverted&&d.attr({width:a.plotWidth,height:a.plotHeight}),d.animate({translateX:Q(b&&b.left, a.plotLeft),translateY:Q(f&&f.top,a.plotTop)}));this.translate();this.render();c&&delete this.kdTree};e.prototype.searchPoint=function(a,c){var d=this.xAxis,b=this.yAxis,f=this.chart.inverted;return this.searchKDTree({clientX:f?d.len-a.chartY+d.pos:a.chartX-d.pos,plotY:f?b.len-a.chartX+b.pos:a.chartY-b.pos},c,a)};e.prototype.buildKDTree=function(a){function c(a,b,f){var h;if(h=a&&a.length){var k=d.kdAxisArray[b%f];a.sort(function(a,c){return a[k]-c[k]});h=Math.floor(h/2);return{point:a[h],left:c(a.slice(0, h),b+1,f),right:c(a.slice(h+1),b+1,f)}}}this.buildingKdTree=!0;var d=this,b=-1e?"left":"right";q=0>e?"right":"left";c[z]&&(z=f(a,c[z],b+1,g),m=z[r]q;)z--;this.updateParallelArrays(m, "splice",z,0,0);this.updateParallelArrays(m,z);r&&m.name&&(r[q]=m.name);g.splice(z,0,a);e&&(this.data.splice(z,0,null),this.processData());"point"===h.legendType&&this.generatePoints();d&&(k[0]&&k[0].remove?k[0].remove(!1):(k.shift(),this.updateParallelArrays(m,"shift"),g.shift()));!1!==f&&G(this,"addPoint",{point:m});this.isDirtyData=this.isDirty=!0;c&&n.redraw(b)};e.prototype.removePoint=function(a,c,d){var b=this,f=b.data,h=f[a],k=b.points,n=b.chart,r=function(){k&&k.length===f.length&&k.splice(a, 1);f.splice(a,1);b.options.data.splice(a,1);b.updateParallelArrays(h||{series:b},"splice",a,1);h&&h.destroy();b.isDirty=!0;b.isDirtyData=!0;c&&n.redraw()};g(d,n);c=Q(c,!0);h?h.firePointEvent("remove",null,r):r()};e.prototype.remove=function(a,c,d,b){function f(){h.destroy(b);k.isDirtyLegend=k.isDirtyBox=!0;k.linkSeries();Q(a,!0)&&k.redraw(c)}var h=this,k=h.chart;!1!==d?G(h,"remove",null,f):f()};e.prototype.update=function(d,b){d=a(d,this.userOptions);G(this,"update",{options:d});var f=this,k=f.chart, n=f.userOptions,r=f.initialType||f.type,g=k.options.plotOptions,p=d.type||n.type||k.options.chart.type,e=!(this.hasDerivedData||p&&p!==this.type||"undefined"!==typeof d.pointStart||"undefined"!==typeof d.pointInterval||f.hasOptionChanged("dataGrouping")||f.hasOptionChanged("pointStart")||f.hasOptionChanged("pointInterval")||f.hasOptionChanged("pointIntervalUnit")||f.hasOptionChanged("keys")),q=m[r].prototype,z,t=["eventOptions","navigatorSeries","baseSeries"],v=f.finishedAnimating&&{animation:!1}, y={};e&&(t.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","nodes","layout","mapMap","mapData","minY","maxY","minX","maxX"),!1!==d.visible&&t.push("area","graph"),f.parallelArrays.forEach(function(a){t.push(a+"Data")}),d.data&&(d.dataSorting&&h(f.options.dataSorting,d.dataSorting),this.setData(d.data,!1)));d=L(n,v,{index:"undefined"===typeof n.index?f.index:n.index,pointStart:Q(g&&g.series&&g.series.pointStart,n.pointStart, f.xData[0])},!e&&{data:f.options.data},d);e&&d.data&&(d.data=f.options.data);t=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(t);t.forEach(function(a){t[a]=f[a];delete f[a]});if(m[p||r]){if(n=p!==f.type,f.remove(!1,!1,!1,!0),n)if(Object.setPrototypeOf)Object.setPrototypeOf(f,m[p||r].prototype);else{n=Object.hasOwnProperty.call(f,"hcEvents")&&f.hcEvents;for(z in q)f[z]=void 0;h(f,m[p||r].prototype);n?f.hcEvents=n:delete f.hcEvents}}else c(17,!0,k,{missingModuleFor:p||r});t.forEach(function(a){f[a]= t[a]});f.init(k,d);if(e&&this.points){var u=f.options;!1===u.visible?(y.graphic=1,y.dataLabel=1):f._hasPointLabels||(d=u.marker,p=u.dataLabels,d&&(!1===d.enabled||"symbol"in d)&&(y.graphic=1),p&&!1===p.enabled&&(y.dataLabel=1));this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(y).length&&a.destroyElements(y),!1===u.showInLegend&&a.legendItem&&k.legend.destroyItem(a))},this)}f.initialType=r;k.linkSeries();G(this,"afterUpdate");Q(b,!0)&&k.redraw(e?void 0:!1)};e.prototype.setName= function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0};e.prototype.hasOptionChanged=function(a){var c=this.options[a],d=this.chart.options.plotOptions,b=this.userOptions[a];return b?c!==b:c!==Q(d&&d[this.type]&&d[this.type][a],d&&d.series&&d.series[a],c)};e.prototype.onMouseOver=function(){var a=this.chart,c=a.hoverSeries;a.pointer.setHoverChartIndex();if(c&&c!==this)c.onMouseOut();this.options.events.mouseOver&&G(this,"mouseOver");this.setState("hover");a.hoverSeries= this};e.prototype.onMouseOut=function(){var a=this.options,c=this.chart,d=c.tooltip,b=c.hoverPoint;c.hoverSeries=null;if(b)b.onMouseOut();this&&a.events.mouseOut&&G(this,"mouseOut");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();c.series.forEach(function(a){a.setState("",!0)})};e.prototype.setState=function(a,c){var d=this,b=d.options,f=d.graph,h=b.inactiveOtherPoints,k=b.states,n=b.lineWidth,r=b.opacity,g=Q(k[a||"normal"]&&k[a||"normal"].animation,d.chart.options.chart.animation); b=0;a=a||"";if(d.state!==a&&([d.group,d.markerGroup,d.dataLabelsGroup].forEach(function(c){c&&(d.state&&c.removeClass("highcharts-series-"+d.state),a&&c.addClass("highcharts-series-"+a))}),d.state=a,!d.chart.styledMode)){if(k[a]&&!1===k[a].enabled)return;a&&(n=k[a].lineWidth||n+(k[a].lineWidthPlus||0),r=Q(k[a].opacity,r));if(f&&!f.dashstyle)for(k={"stroke-width":n},f.animate(k,g);d["zone-graph-"+b];)d["zone-graph-"+b].animate(k,g),b+=1;h||[d.group,d.markerGroup,d.dataLabelsGroup,d.labelBySeries].forEach(function(a){a&& a.animate({opacity:r},g)})}c&&h&&d.points&&d.setAllPointsToState(a||void 0)};e.prototype.setAllPointsToState=function(a){this.points.forEach(function(c){c.setState&&c.setState(a)})};e.prototype.setVisible=function(a,c){var d=this,b=d.chart,f=d.legendItem,h=b.options.chart.ignoreHiddenSeries,k=d.visible;var n=(d.visible=a=d.options.visible=d.userOptions.visible="undefined"===typeof a?!k:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(d[a])d[a][n]()}); if(b.hoverSeries===d||(b.hoverPoint&&b.hoverPoint.series)===d)d.onMouseOut();f&&b.legend.colorizeItem(d,a);d.isDirty=!0;d.options.stacking&&b.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});d.linkedSeries.forEach(function(c){c.setVisible(a,!1)});h&&(b.isDirtyBox=!0);G(d,n);!1!==c&&b.redraw()};e.prototype.show=function(){this.setVisible(!0)};e.prototype.hide=function(){this.setVisible(!1)};e.prototype.select=function(a){this.selected=a=this.options.selected="undefined"=== typeof a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);G(this,a?"select":"unselect")};e.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,lineColor:H.backgroundColor,lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:H.neutralColor20,lineColor:H.neutralColor100,lineWidth:2}}},point:{events:{}},dataLabels:{animation:{}, align:"center",defer:!0,formatter:function(){var a=this.series.chart.numberFormatter;return"number"!==typeof this.y?"":a(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}}, stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"};return e}();h(e.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,drawLegendSymbol:F.drawLineMarker,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:J,requireSorting:!0,sorted:!0});D.series=e;"";"";return e});O(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Core/Series/Series.js"], e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l,F,C,H,J){var D=e.stop,E=J.addEvent,A=J.createElement,x=J.merge,g=J.pick;"";E(F,"afterSetChartSize",function(g){var f=this.options.chart.scrollablePlotArea,e=f&&f.minWidth;f=f&&f.minHeight;if(!this.renderer.forExport){if(e){if(this.scrollablePixelsX=e=Math.max(0,e-this.chartWidth)){this.scrollablePlotBox=x(this.plotBox);this.plotWidth+=e;this.inverted?(this.clipBox.height+=e,this.plotBox.height+=e):(this.clipBox.width+=e,this.plotBox.width+= e);var b={1:{name:"right",value:e}}}}else f&&(this.scrollablePixelsY=e=Math.max(0,f-this.chartHeight))&&(this.scrollablePlotBox=x(this.plotBox),this.plotHeight+=e,this.inverted?(this.clipBox.width+=e,this.plotBox.width+=e):(this.clipBox.height+=e,this.plotBox.height+=e),b={2:{name:"bottom",value:e}});b&&!g.skipAxes&&this.axes.forEach(function(f){b[f.side]?f.getPlotLinePath=function(){var g=b[f.side].name,e=this[g];this[g]=e-b[f.side].value;var m=H.Axis.prototype.getPlotLinePath.apply(this,arguments); this[g]=e;return m}:(f.setAxisSize(),f.setAxisTranslation())})}});E(F,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});F.prototype.setUpScrolling=function(){var g=this,f={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(f.overflowX="auto");this.scrollablePixelsY&&(f.overflowY="auto");this.scrollingParent=A("div",{className:"highcharts-scrolling-parent"}, {position:"relative"},this.renderTo);this.scrollingContainer=A("div",{className:"highcharts-scrolling"},f,this.scrollingParent);E(this.scrollingContainer,"scroll",function(){g.pointer&&delete g.pointer.chartPosition});this.innerContainer=A("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};F.prototype.moveFixedElements=function(){var g=this.container,f=this.fixedRenderer,e=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "), b;this.scrollablePixelsX&&!this.inverted?b=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?b=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?b=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(b=".highcharts-yaxis");b&&e.push(b+":not(.highcharts-radial-axis)",b+"-labels:not(.highcharts-radial-axis-labels)");e.forEach(function(b){[].forEach.call(g.querySelectorAll(b),function(b){(b.namespaceURI===f.SVG_NS?f.box:f.box.parentNode).appendChild(b);b.style.pointerEvents="auto"})})}; F.prototype.applyFixed=function(){var e=this,f,w,b,m=!this.fixedDiv,t=this.options.chart,I=t.scrollablePlotArea;m?(this.fixedDiv=A("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:((null===(f=t.style)||void 0===f?void 0:f.zIndex)||0)+2,top:0},null,!0),null===(w=this.scrollingContainer)||void 0===w?void 0:w.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=f=new H.Renderer(this.fixedDiv, this.chartWidth,this.chartHeight,null===(b=this.options.chart)||void 0===b?void 0:b.style),this.scrollableMask=f.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":g(I.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),E(this,"afterShowResetZoom",this.moveFixedElements),E(this,"afterLayOutTitles",this.moveFixedElements),E(l,"afterInit",function(){e.scrollableDirty=!0}),E(C,"show",function(){e.scrollableDirty=!0})):this.fixedRenderer.setSize(this.chartWidth, this.chartHeight);if(this.scrollableDirty||m)this.scrollableDirty=!1,this.moveFixedElements();b=this.chartWidth+(this.scrollablePixelsX||0);f=this.chartHeight+(this.scrollablePixelsY||0);D(this.container);this.container.style.width=b+"px";this.container.style.height=f+"px";this.renderer.boxWrapper.attr({width:b,height:f,viewBox:[0,0,b,f].join(" ")});this.chartBackground.attr({width:b,height:f});this.scrollingContainer.style.height=this.chartHeight+"px";m&&(I.scrollPositionX&&(this.scrollingContainer.scrollLeft= this.scrollablePixelsX*I.scrollPositionX),I.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*I.scrollPositionY));f=this.axisOffset;m=this.plotTop-f[0]-1;I=this.plotLeft-f[3]-1;b=this.plotTop+this.plotHeight+f[2]+1;f=this.plotLeft+this.plotWidth+f[1]+1;w=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0);t=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);m=this.scrollablePixelsX?[["M",0,m],["L",this.plotLeft-1,m],["L",this.plotLeft-1,b],["L",0,b],["Z"],["M", w,m],["L",this.chartWidth,m],["L",this.chartWidth,b],["L",w,b],["Z"]]:this.scrollablePixelsY?[["M",I,0],["L",I,this.plotTop-1],["L",f,this.plotTop-1],["L",f,0],["Z"],["M",I,t],["L",I,this.chartHeight],["L",f,this.chartHeight],["L",f,t],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:m})}});O(e,"Core/Axis/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Utilities.js"]],function(e,l){var G=e.getDeferredAnimation,C=l.addEvent,H=l.destroyObjectProperties, J=l.fireEvent,D=l.objectEach,E=l.pick,A=function(){function e(g){this.oldStacks={};this.stacks={};this.stacksTouched=0;this.axis=g}e.prototype.buildStacks=function(){var g=this.axis,e=g.series,f=E(g.options.reversedStacks,!0),w=e.length,b;if(!g.isXAxis){this.usePercentage=!1;for(b=w;b--;){var m=e[f?b:w-b-1];m.setStackedPoints();m.setGroupedPoints()}for(b=0;be&&g.shadow));w&&(w.startX=u.xMap,w.isArea=u.isArea)})};A.prototype.getGraphPath=function(e,g,u){var f=this,w=f.options,b=w.step,m,t=[],l=[],q;e=e||f.points;(m=e.reversed)&&e.reverse();(b={right:1,center:2}[b]||b&&3)&&m&&(b=4-b);e=this.getValidPoints(e,!1,!(w.connectNulls&&!g&&!u));e.forEach(function(p,a){var k=p.plotX,d=p.plotY,m=e[a-1];(p.leftCliff||m&&m.rightCliff)&&!u&&(q=!0);p.isNull&&!J(g)&&0e&&x>f?(x=Math.max(e,f),q=2*f-x):xg&&q>f?(q=Math.max(g,f),x=2*f-q):q=Math.abs(d)&&.5c.closestPointRange*c.xAxis.transA;g=c.borderWidth=a(k.borderWidth,g?0:1);var e=c.xAxis,n=c.yAxis,p=k.threshold,r=c.translatedThreshold=n.getThreshold(p),m=a(k.minPointLength, 5),t=c.getColumnMetrics(),u=t.width,y=c.barW=Math.max(u,1+2*g),v=c.pointXOffset=t.offset,l=c.dataMin,w=c.dataMax;d.inverted&&(r-=.5);k.pointPadding&&(y=Math.ceil(y));J.prototype.translate.apply(c);c.points.forEach(function(h){var g=a(h.yBottom,r),z=999+Math.abs(g),B=u,L=h.plotX||0;z=f(h.plotY,-z,n.len+z);var K=L+v,x=y,I=Math.min(z,g),A=Math.max(z,g)-I;if(m&&Math.abs(A)m?g-m:r-(M?m:0)}b(h.options.pointWidth)&&(B=x=Math.ceil(h.options.pointWidth),K-=Math.round((B-u)/2));k.centerInCategory&&(K=c.adjustForMissingColumns(K,B,h,t));h.barX=K;h.pointWidth=B;h.tooltipPos=d.inverted?[f(n.len+n.pos-d.plotLeft-z,n.pos-d.plotLeft,n.len+n.pos-d.plotLeft),e.len+e.pos-d.plotTop-(L||0)-v-x/2,A]:[e.left-d.plotLeft+K+x/2,f(z+n.pos-d.plotTop,n.pos-d.plotTop,n.len+n.pos-d.plotTop),A];h.shapeType=c.pointClass.prototype.shapeType||"rect";h.shapeArgs=c.crispCol.apply(c, h.isNull?[K,r,x,0]:[K,I,x,A])})};e.prototype.drawGraph=function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")};e.prototype.pointAttribs=function(c,d){var b=this.options,f=this.pointAttrToOptions||{};var k=f.stroke||"borderColor";var h=f["stroke-width"]||"borderWidth",e=c&&c.color||this.color,r=c&&c[k]||b[k]||this.color||e,m=c&&c[h]||b[h]||this[h]||0;f=c&&c.options.dashStyle||b.dashStyle;var q=a(c&&c.opacity,b.opacity,1);if(c&&this.zones.length){var t=c.getZone();e=c.options.color|| t&&(t.color||c.nonZonedColor)||this.color;t&&(r=t.borderColor||r,f=t.dashStyle||f,m=t.borderWidth||m)}d&&c&&(c=p(b.states[d],c.options.states&&c.options.states[d]||{}),d=c.brightness,e=c.color||"undefined"!==typeof d&&g(e).brighten(c.brightness).get()||e,r=c[k]||r,m=c[h]||m,f=c.dashStyle||f,q=a(c.opacity,q));k={fill:e,stroke:r,"stroke-width":m,opacity:q};f&&(k.dashstyle=f);return k};e.prototype.drawPoints=function(){var a=this,d=this.chart,b=a.options,f=d.renderer,k=b.animationLimit||250,g;a.points.forEach(function(c){var h= c.graphic,e=!!h,n=h&&d.pointCount\u25cf {series.name}
',pointFormat:"x: {point.x}
y: {point.y}
"}});return x}(l);D(C.prototype,{drawTracker:e.prototype.drawTracker, sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});J(C,"afterTranslate",function(){this.applyJitter()});F.registerSeriesType("scatter",C);"";return C});O(e,"Mixins/CenteredSeries.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(e,l,F){var G=F.isNumber,H=F.pick,J=F.relativeLength,D=e.deg2rad;return e.CenteredSeriesMixin={getCenter:function(){var e=this.options,A=this.chart,x=2*(e.slicedOffset|| 0),g=A.plotWidth-2*x,u=A.plotHeight-2*x,f=e.center,w=Math.min(g,u),b=e.size,m=e.innerSize||0;"string"===typeof b&&(b=parseFloat(b));"string"===typeof m&&(m=parseFloat(m));e=[H(f[0],"50%"),H(f[1],"50%"),H(b&&0>b?void 0:e.size,"100%"),H(m&&0>m?void 0:e.innerSize||0,"0%")];!A.angular||this instanceof l||(e[3]=0);for(f=0;4>f;++f)b=e[f],A=2>f||2===f&&/%$/.test(b),e[f]=J(b,[g,u,w,e[2]][f])+(A?x:0);e[3]>e[2]&&(e[3]=e[2]);return e},getStartAndEndRadians:function(e,l){e=G(e)?e:0;l=G(l)&&l>e&&360>l-e?l:e+360; return{start:D*(e+-90),end:D*(l+-90)}}}});O(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(e,l,F){var G=this&&this.__extends||function(){var e=function(g,f){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,b){f.__proto__=b}||function(f,b){for(var e in b)b.hasOwnProperty(e)&&(f[e]=b[e])};return e(g,f)};return function(g,f){function l(){this.constructor=g}e(g,f);g.prototype=null===f?Object.create(f): (l.prototype=f.prototype,new l)}}(),H=e.setAnimation,J=F.addEvent,D=F.defined;e=F.extend;var E=F.isNumber,A=F.pick,x=F.relativeLength;F=function(e){function g(){var f=null!==e&&e.apply(this,arguments)||this;f.labelDistance=void 0;f.options=void 0;f.series=void 0;return f}G(g,e);g.prototype.getConnectorPath=function(){var f=this.labelPosition,e=this.series.options.dataLabels,b=e.connectorShape,g=this.connectorShapes;g[b]&&(b=g[b]);return b.call(this,{x:f.final.x,y:f.final.y,alignment:f.alignment}, f.connectorPosition,e)};g.prototype.getTranslate=function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}};g.prototype.haloPath=function(f){var e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+f,e.r+f,{innerR:e.r-1,start:e.start,end:e.end})};g.prototype.init=function(){l.prototype.init.apply(this,arguments);var f=this;f.name=A(f.name,"Slice");var e=function(b){f.slice("select"===b.type)};J(f,"select",e);J(f,"unselect", e);return f};g.prototype.isValid=function(){return E(this.y)&&0<=this.y};g.prototype.setVisible=function(f,e){var b=this,g=b.series,t=g.chart,l=g.options.ignoreHiddenPoint;e=A(e,l);f!==b.visible&&(b.visible=b.options.visible=f="undefined"===typeof f?!b.visible:f,g.options.data[g.data.indexOf(b)]=b.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(e){if(b[e])b[e][f?"show":"hide"](f)}),b.legendItem&&t.legend.colorizeItem(b,f),f||"hover"!==b.state||b.setState(""),l&&(g.isDirty= !0),e&&t.redraw())};g.prototype.slice=function(f,e,b){var g=this.series;H(b,g.chart);A(e,!0);this.sliced=this.options.sliced=D(f)?f:!this.sliced;g.options.data[g.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())};return g}(l);e(F.prototype,{connectorShapes:{fixedOffset:function(e,l,f){var g=l.breakAt;l=l.touchingSliceAt;return[["M",e.x,e.y],f.softConnector?["C",e.x+("left"===e.alignment?-5:5),e.y, 2*g.x-l.x,2*g.y-l.y,g.x,g.y]:["L",g.x,g.y],["L",l.x,l.y]]},straight:function(e,l){l=l.touchingSliceAt;return[["M",e.x,e.y],["L",l.x,l.y]]},crookedLine:function(e,l,f){l=l.touchingSliceAt;var g=this.series,b=g.center[0],m=g.chart.plotWidth,t=g.chart.plotLeft;g=e.alignment;var u=this.shapeArgs.r;f=x(f.crookDistance,1);m="left"===g?b+u+(m+t-b-u)*(1-f):t+(b-u)*f;f=["L",m,e.y];b=!0;if("left"===g?m>e.x||ml.x)b=!1;e=[["M",e.x,e.y]];b&&e.push(f);e.push(["L",l.x,l.y]);return e}}});return F}); O(e,"Series/Pie/PieSeries.js",[e["Mixins/CenteredSeries.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Mixins/LegendSymbol.js"],e["Core/Color/Palette.js"],e["Series/Pie/PiePoint.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(e,l,F,C,H,J,D,E,A,x){var g=this&&this.__extends||function(){var b=function(f,a){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,d){a.__proto__=d}||function(a, d){for(var b in d)d.hasOwnProperty(b)&&(a[b]=d[b])};return b(f,a)};return function(f,a){function k(){this.constructor=f}b(f,a);f.prototype=null===a?Object.create(a):(k.prototype=a.prototype,new k)}}(),u=e.getStartAndEndRadians;F=F.noop;var f=x.clamp,w=x.extend,b=x.fireEvent,m=x.merge,t=x.pick,I=x.relativeLength;x=function(e){function p(){var a=null!==e&&e.apply(this,arguments)||this;a.center=void 0;a.data=void 0;a.maxLabelDistance=void 0;a.options=void 0;a.points=void 0;return a}g(p,e);p.prototype.animate= function(a){var b=this,d=b.points,f=b.startAngleRad;a||d.forEach(function(a){var c=a.graphic,d=a.shapeArgs;c&&d&&(c.attr({r:t(a.startR,b.center&&b.center[3]/2),start:f,end:f}),c.animate({r:d.r,start:d.start,end:d.end},b.options.animation))})};p.prototype.drawEmpty=function(){var a=this.startAngleRad,b=this.endAngleRad,d=this.options;if(0===this.total&&this.center){var f=this.center[0];var c=this.center[1];this.graph||(this.graph=this.chart.renderer.arc(f,c,this.center[1]/2,0,a,b).addClass("highcharts-empty-series").add(this.group)); this.graph.attr({d:A.prototype.symbols.arc(f,c,this.center[2]/2,0,{start:a,end:b,innerR:this.center[3]/2})});this.chart.styledMode||this.graph.attr({"stroke-width":d.borderWidth,fill:d.fillColor||"none",stroke:d.color||H.neutralColor20})}else this.graph&&(this.graph=this.graph.destroy())};p.prototype.drawPoints=function(){var a=this.chart.renderer;this.points.forEach(function(b){b.graphic&&b.hasNewShapeType()&&(b.graphic=b.graphic.destroy());b.graphic||(b.graphic=a[b.shapeType](b.shapeArgs).add(b.series.group), b.delayedRendering=!0)})};p.prototype.generatePoints=function(){e.prototype.generatePoints.call(this);this.updateTotals()};p.prototype.getX=function(a,b,d){var k=this.center,c=this.radii?this.radii[d.index]||0:k[2]/2;a=Math.asin(f((a-k[1])/(c+d.labelDistance),-1,1));return k[0]+(b?-1:1)*Math.cos(a)*(c+d.labelDistance)+(01.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI);r.slicedTranslation={translateX:Math.round(Math.cos(l)*e),translateY:Math.round(Math.sin(l)*e)};var B=Math.cos(l)*a[2]/2;var w=Math.sin(l)*a[2]/2;r.tooltipPos=[a[0]+.7*B,a[1]+.7*w];r.half=l<-Math.PI/2||l>Math.PI/2?1:0;r.angle=l;z=Math.min(c,r.labelDistance/5);r.labelPosition={natural:{x:a[0]+B+Math.cos(l)*r.labelDistance,y:a[1]+w+Math.sin(l)*r.labelDistance},"final":{}, alignment:0>r.labelDistance?"center":r.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+B+Math.cos(l)*z,y:a[1]+w+Math.sin(l)*z},touchingSliceAt:{x:a[0]+B,y:a[1]+w}}}}b(this,"afterTranslate")};p.prototype.updateTotals=function(){var a,b=0,d=this.points,f=d.length,c=this.options.ignoreHiddenPoint;for(a=0;an){p(a,function(a, c){return(c.rank||0)-(a.rank||0)});for(m=c=0;m<=n;)m+=a[c].size,c++;g=a.splice(c-1,a.length)}p(a,f);for(a=a.map(function(a){return{size:a.size,targets:[a.target],align:t(a.align,.5)}});k;){for(c=a.length;c--;)k=a[c],m=(Math.min.apply(0,k.targets)+Math.max.apply(0,k.targets))/2,k.pos=A(m-k.size*k.align,0,b-k.size);c=a.length;for(k=!1;c--;)0a[c].pos&&(a[c-1].size+=a[c].size,a[c-1].targets=a[c-1].targets.concat(a[c].targets),a[c-1].align=.5,a[c-1].pos+a[c-1].size>b&&(a[c-1].pos= b-a[c-1].size),a.splice(c,1),k=!0)}e.push.apply(e,g);c=0;a.some(function(a){var f=0;if(a.targets.some(function(){e[c].pos=a.pos+f;if("undefined"!==typeof d&&Math.abs(e[c].pos-e[c].target)>d)return e.slice(0,c+1).forEach(function(a){delete a.pos}),e.reducedLen=(e.reducedLen||b)-.1*b,e.reducedLen>.1*b&&l.distribute(e,b,d),!0;f+=e[c].size;c++}))return!0});p(e,f)};C.prototype.drawDataLabels=function(){function a(a,c){var d=c.filter;return d?(c=d.operator,a=a[d.property],d=d.value,">"===c&&a>d||"<"=== c&&a="===c&&a>=d||"<="===c&&a<=d||"=="===c&&a==d||"==="===c&&a===d?!0:!1):!0}function k(a,c){var d=[],f;if(w(a)&&!w(c))d=a.map(function(a){return b(a,c)});else if(w(c)&&!w(a))d=c.map(function(c){return b(a,c)});else if(w(a)||w(c))for(f=Math.max(a.length,c.length);f--;)d[f]=b(a[f],c[f]);else d=b(a,c);return d}var d=this,e=d.chart,c=d.options,h=c.dataLabels,g=d.points,p,l=d.hasRendered||0,n=h.animation;n=h.defer?D(e,n,d):{defer:0,duration:0};var K=e.renderer;h=k(k(e.options.plotOptions&&e.options.plotOptions.series&& e.options.plotOptions.series.dataLabels,e.options.plotOptions&&e.options.plotOptions[d.type]&&e.options.plotOptions[d.type].dataLabels),h);u(this,"drawDataLabels");if(w(h)||h.enabled||d._hasPointLabels){var r=d.plotGroup("dataLabelsGroup","data-labels",l?"inherit":"hidden",h.zIndex||6);r.attr({opacity:+l});!l&&(l=d.dataLabelsGroup)&&(d.visible&&r.show(!0),l[c.animation?"animate":"attr"]({opacity:1},n));g.forEach(function(b){p=q(k(h,b.dlOptions||b.options&&b.options.dataLabels));p.forEach(function(k, h){var g=k.enabled&&(!b.isNull||b.dataLabelOnNull)&&a(b,k),n=b.dataLabels?b.dataLabels[h]:b.dataLabel,p=b.connectors?b.connectors[h]:b.connector,q=t(k.distance,b.labelDistance),z=!n;if(g){var l=b.getLabelConfig();var u=t(k[b.formatPrefix+"Format"],k.format);l=x(u)?f(u,l,e):(k[b.formatPrefix+"Formatter"]||k.formatter).call(l,k);u=k.style;var y=k.rotation;e.styledMode||(u.color=t(k.color,u.color,d.color,F.neutralColor100),"contrast"===u.color?(b.contrastColor=K.getContrast(b.color||d.color),u.color= !x(q)&&k.inside||0>q||c.stacking?b.contrastColor:F.neutralColor100):delete b.contrastColor,c.cursor&&(u.cursor=c.cursor));var B={r:k.borderRadius||0,rotation:y,padding:k.padding,zIndex:1};e.styledMode||(B.fill=k.backgroundColor,B.stroke=k.borderColor,B["stroke-width"]=k.borderWidth);m(B,function(a,c){"undefined"===typeof a&&delete B[c]})}!n||g&&x(l)?g&&x(l)&&(n?B.text=l:(b.dataLabels=b.dataLabels||[],n=b.dataLabels[h]=y?K.text(l,0,-9999,k.useHTML).addClass("highcharts-data-label"):K.label(l,0,-9999, k.shape,null,null,k.useHTML,null,"data-label"),h||(b.dataLabel=n),n.addClass(" highcharts-data-label-color-"+b.colorIndex+" "+(k.className||"")+(k.useHTML?" highcharts-tracker":""))),n.options=k,n.attr(B),e.styledMode||n.css(u).shadow(k.shadow),n.added||n.add(r),k.textPath&&!k.useHTML&&(n.setTextPath(b.getDataLabelPath&&b.getDataLabelPath(n)||b.graphic,k.textPath),b.dataLabelPath&&!k.textPath.enabled&&(b.dataLabelPath=b.dataLabelPath.destroy())),d.alignDataLabel(b,n,k,null,z)):(b.dataLabel=b.dataLabel&& b.dataLabel.destroy(),b.dataLabels&&(1===b.dataLabels.length?delete b.dataLabels:delete b.dataLabels[h]),h||delete b.dataLabel,p&&(b.connector=b.connector.destroy(),b.connectors&&(1===b.connectors.length?delete b.connectors:delete b.connectors[h])))})})}u(this,"afterDrawDataLabels")};C.prototype.alignDataLabel=function(a,b,d,f,c){var k=this,e=this.chart,p=this.isCartesian&&e.inverted,m=this.enabledDataSorting,n=t(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),q=t(a.plotY,-9999),r=b.getBBox(),z=d.rotation, l=d.align,u=e.isInsidePlot(n,Math.round(q),p),y="justify"===t(d.overflow,m?"none":"justify"),v=this.visible&&!1!==a.visible&&(a.series.forceDL||m&&!y||u||d.inside&&f&&e.isInsidePlot(n,p?f.x+1:f.y+f.height-1,p));var w=function(d){m&&k.xAxis&&!y&&k.setDataLabelStartPos(a,b,c,u,d)};if(v){var x=e.renderer.fontMetrics(e.styledMode?void 0:d.style.fontSize,b).b;f=g({x:p?this.yAxis.len-q:n,y:Math.round(p?this.xAxis.len-n:q),width:0,height:0},f);g(d,{width:r.width,height:r.height});z?(y=!1,n=e.renderer.rotCorr(x, z),n={x:f.x+(d.x||0)+f.width/2+n.x,y:f.y+(d.y||0)+{top:0,middle:.5,bottom:1}[d.verticalAlign]*f.height},w(n),b[c?"attr":"animate"](n).attr({align:l}),w=(z+720)%360,w=180w,"left"===l?n.y-=w?r.height:0:"center"===l?(n.x-=r.width/2,n.y-=r.height/2):"right"===l&&(n.x-=r.width,n.y-=w?0:r.height),b.placed=!0,b.alignAttr=n):(w(f),b.align(d,null,f),n=b.alignAttr);y&&0<=f.height?this.justifyDataLabel(b,d,n,r,f,c):t(d.crop,!0)&&(v=e.isInsidePlot(n.x,n.y)&&e.isInsidePlot(n.x+r.width,n.y+r.height));if(d.shape&& !z)b[c?"attr":"animate"]({anchorX:p?e.plotWidth-a.plotY:a.plotX,anchorY:p?e.plotHeight-a.plotX:a.plotY})}c&&m&&(b.placed=!1);v||m&&!y||(b.hide(!0),b.placed=!1)};C.prototype.setDataLabelStartPos=function(a,b,d,f,c){var k=this.chart,e=k.inverted,g=this.xAxis,p=g.reversed,n=e?b.height/2:b.width/2;a=(a=a.pointWidth)?a/2:0;g=e?c.x:p?-n-a:g.width-n+a;c=e?p?this.yAxis.height-n+a:-n-a:c.y;b.startXPos=g;b.startYPos=c;f?"hidden"===b.visibility&&(b.show(),b.attr({opacity:0}).animate({opacity:1})):b.attr({opacity:1}).animate({opacity:0}, void 0,b.hide);k.hasRendered&&(d&&b.attr({x:b.startXPos,y:b.startYPos}),b.placed=!0)};C.prototype.justifyDataLabel=function(a,b,d,f,c,e){var k=this.chart,h=b.align,g=b.verticalAlign,n=a.box?0:a.padding||0,p=b.x;p=void 0===p?0:p;var r=b.y;var m=void 0===r?0:r;r=d.x+n;if(0>r){"right"===h&&0<=p?(b.align="left",b.inside=!0):p-=r;var q=!0}r=d.x+f.width-n;r>k.plotWidth&&("left"===h&&0>=p?(b.align="right",b.inside=!0):p+=k.plotWidth-r,q=!0);r=d.y+n;0>r&&("bottom"===g&&0<=m?(b.verticalAlign="top",b.inside= !0):m-=r,q=!0);r=d.y+f.height-n;r>k.plotHeight&&("top"===g&&0>=m?(b.verticalAlign="bottom",b.inside=!0):m+=k.plotHeight-r,q=!0);q&&(b.x=p,b.y=m,a.placed=!e,a.align(b,void 0,c));return q};H.pie&&(H.pie.prototype.dataLabelPositioners={radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,b,d,f){return a.getX(db.bottom-2?f:d,b.half,b)},justify:function(a,b,d){return d[0]+(a.half?-1:1)*(b+a.labelDistance)},alignToPlotEdges:function(a,b,d,f){a=a.getBBox().width; return b?a+f:d-a-f},alignToConnectors:function(a,b,d,f){var c=0,e;a.forEach(function(a){e=a.dataLabel.getBBox().width;e>c&&(c=e)});return b?c+f:d-c-f}},H.pie.prototype.drawDataLabels=function(){var a=this,f=a.data,d,e=a.chart,c=a.options.dataLabels||{},h=c.connectorPadding,g,p=e.plotWidth,m=e.plotHeight,n=e.plotLeft,q=Math.round(e.chartWidth/3),r,z=a.center,u=z[2]/2,B=z[1],w,v,I,A,D=[[],[]],G,H,J,O,U=[0,0,0,0],Z=a.dataLabelPositioners,V;a.visible&&(c.enabled||a._hasPointLabels)&&(f.forEach(function(a){a.dataLabel&& a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),C.prototype.drawDataLabels.apply(a),f.forEach(function(a){a.dataLabel&&(a.visible?(D[a.half].push(a),a.dataLabel._pos=null,!x(c.style.width)&&!x(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>q&&(a.dataLabel.css({width:Math.round(.7*q)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(), a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),D.forEach(function(b,f){var k=b.length,g=[],r;if(k){a.sortByAngle(b,f-.5);if(0p-h&&0===f&&(q=Math.round(G+v-p+h),U[1]=Math.max(q,U[1])),0>H-A/2?U[0]=Math.max(Math.round(-H+A/2),U[0]):H+A/2>m&&(U[2]=Math.max(Math.round(H+A/2-m),U[2])),w.sideOverflow=q)}}}),0===E(U)||this.verifyDataLabelOverflow(U))&& (this.placeDataLabels(),this.points.forEach(function(d){V=b(c,d.options.dataLabels);if(g=t(V.connectorWidth,1)){var f;r=d.connector;if((w=d.dataLabel)&&w._pos&&d.visible&&0t(this.translatedThreshold,k.yAxis.len)),n=t(d.inside,!!this.options.stacking);g&&(e=b(g),0>e.y&&(e.height+=e.y,e.y=0),g=e.y+e.height-k.yAxis.len,0=I.x+I.width||q.x+q.width<=I.x||q.y>=I.y+I.height||q.y+q.height<=I.y||((t.labelrank=E(f.minWidth,0)&&this.chartHeight>=E(f.minHeight,0)}).call(this)&& l.push(e._id)};e.prototype.currentOptions=function(e){function g(b,e,l,u){var m;D(b,function(b,a){if(!u&&-1D&&(D=e,l=!0)})});l&&(this.dataMax=D)}})});O(e,"Series/XRange/XRangeSeries.js",[e["Core/Globals.js"],e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Series/XRange/XRangePoint.js"]],function(e,l,F,C,H){var J=this&&this.__extends||function(){var b=function(f,a){b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,b){a.__proto__=b}||function(a,b){for(var d in b)b.hasOwnProperty(d)&& (a[d]=b[d])};return b(f,a)};return function(f,a){function e(){this.constructor=f}b(f,a);f.prototype=null===a?Object.create(a):(e.prototype=a.prototype,new e)}}(),D=l.parse,E=F.series,A=F.seriesTypes.column,x=A.prototype,g=C.clamp,u=C.correctFloat,f=C.defined;l=C.extend;var w=C.find,b=C.isNumber,m=C.isObject,t=C.merge,I=C.pick;C=function(e){function p(){var a=null!==e&&e.apply(this,arguments)||this;a.data=void 0;a.options=void 0;a.points=void 0;return a}J(p,e);p.prototype.init=function(){A.prototype.init.apply(this, arguments);this.options.stacking=void 0};p.prototype.getColumnMetrics=function(){function a(){b.series.forEach(function(a){var c=a.xAxis;a.xAxis=a.yAxis;a.yAxis=c})}var b=this.chart;a();var d=x.getColumnMetrics.call(this);a();return d};p.prototype.cropData=function(a,b,d,f){b=E.prototype.cropData.call(this,this.x2Data,b,d,f);b.xData=a.slice(b.start,b.end);return b};p.prototype.findPointIndex=function(a){var f=this.cropped,d=this.cropStart,e=this.points,c=a.id;if(c)var h=(h=w(e,function(a){return a.id=== c}))?h.index:void 0;"undefined"===typeof h&&(h=(h=w(e,function(c){return c.x===a.x&&c.x2===a.x2&&!c.touched}))?h.index:void 0);f&&b(h)&&b(d)&&h>=d&&(h-=d);return h};p.prototype.translatePoint=function(a){var e,d,p=this.xAxis,c=this.yAxis,h=this.columnMetrics,q=this.options,l=q.minPointLength||0,u=(null===(e=a.shapeArgs)||void 0===e?NaN:e.width)/2,n=this.pointXOffset=h.offset;e=a.plotX;var K=I(a.x2,a.x+(a.len||0)),r=p.translate(K,0,0,0,1);K=Math.abs(r-e);var z=this.chart.inverted,w=I(q.borderWidth, 1)%2/2,B=h.offset,x=Math.round(h.width);l&&(l-=K,0>l&&(l=0),e-=l/2,r+=l/2);e=Math.max(e,-10);r=g(r,-10,p.len+10);f(a.options.pointWidth)&&(B-=(Math.ceil(a.options.pointWidth)-x)/2,x=Math.ceil(a.options.pointWidth));q.pointPlacement&&b(a.plotY)&&c.categories&&(a.plotY=c.translate(a.y,0,1,0,1,q.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(e,r))+w,y:Math.floor(a.plotY+B)+w,width:Math.round(Math.abs(r-e)),height:x,r:this.options.borderRadius};z?a.tooltipPos[1]+=n+u:a.tooltipPos[0]-=u+n-(null=== (d=a.shapeArgs)||void 0===d?NaN:d.width)/2;d=a.shapeArgs.x;q=d+a.shapeArgs.width;0>d||q>p.len?(d=g(d,0,p.len),q=g(q,0,p.len),u=q-d,a.dlBox=t(a.shapeArgs,{x:d,width:q-d,centerX:u?u/2:null})):a.dlBox=null;d=a.tooltipPos;q=z?1:0;u=z?0:1;h=this.columnMetrics?this.columnMetrics.offset:-h.width/2;d[q]=z?d[q]+a.shapeArgs.width/2:d[q]+(p.reversed?-1:0)*a.shapeArgs.width;d[u]=g(d[u]+(z?-1:1)*h,0,c.len-1);if(h=a.partialFill)m(h)&&(h=h.amount),b(h)||(h=0),c=a.shapeArgs,a.partShapeArgs={x:c.x,y:c.y,width:c.width, height:c.height,r:this.options.borderRadius},e=Math.max(Math.round(K*h+a.plotX-e),0),a.clipRectArgs={x:p.reversed?c.x+K-e:c.x,y:c.y,width:e,height:c.height}};p.prototype.translate=function(){x.translate.apply(this,arguments);this.points.forEach(function(a){this.translatePoint(a)},this)};p.prototype.drawPoint=function(a,b){var d=this.options,f=this.chart.renderer,c=a.graphic,e=a.shapeType,g=a.shapeArgs,k=a.partShapeArgs,p=a.clipRectArgs,n=a.partialFill,q=d.stacking&&!d.borderRadius,r=a.state,l=d.states[r|| "normal"]||{},u="undefined"===typeof r?"attr":b;r=this.pointAttribs(a,r);l=I(this.chart.options.chart.animation,l.animation);if(a.isNull||!1===a.visible)c&&(a.graphic=c.destroy());else{if(c)c.rect[b](g);else a.graphic=c=f.g("point").addClass(a.getClassName()).add(a.group||this.group),c.rect=f[e](t(g)).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(c);k&&(c.partRect?(c.partRect[b](t(k)),c.partialClipRect[b](t(p))):(c.partialClipRect=f.clipRect(p.x,p.y,p.width,p.height),c.partRect= f[e](k).addClass("highcharts-partfill-overlay").add(c).clip(c.partialClipRect)));this.chart.styledMode||(c.rect[b](r,l).shadow(d.shadow,null,q),k&&(m(n)||(n={}),m(d.partialFill)&&(n=t(d.partialFill,n)),a=n.fill||D(r.fill).brighten(-.3).get()||D(a.color||this.color).brighten(-.3).get(),r.fill=a,c.partRect[u](r,l).shadow(d.shadow,null,q)))}};p.prototype.drawPoints=function(){var a=this,b=a.getAnimationVerb();a.points.forEach(function(d){a.drawPoint(d,b)})};p.prototype.getAnimationVerb=function(){return this.chart.pointCount< (this.options.animationLimit||250)?"animate":"attr"};p.prototype.isPointInside=function(a){var b=a.shapeArgs,d=a.plotX,f=a.plotY;return b?"undefined"!==typeof d&&"undefined"!==typeof f&&0<=f&&f<=this.yAxis.len&&0<=b.x+b.width&&d<=this.xAxis.len:e.prototype.isPointInside.apply(this,arguments)};p.defaultOptions=t(A.defaultOptions,{colorByPoint:!0,dataLabels:{formatter:function(){var a=this.point.partialFill;m(a)&&(a=a.amount);if(b(a)&&0{point.x} - {point.x2}
', pointFormat:'\u25cf {series.name}: {point.yCategory}
'},borderRadius:3,pointRange:0});return p}(A);l(C.prototype,{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,animate:E.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:e.noop,buildKDTree:e.noop,pointClass:H});F.registerSeriesType("xrange",C);"";return C});O(e,"Series/Gantt/GanttPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,l){var F= this&&this.__extends||function(){var e=function(l,D){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,l){e.__proto__=l}||function(e,l){for(var x in l)l.hasOwnProperty(x)&&(e[x]=l[x])};return e(l,D)};return function(l,D){function E(){this.constructor=l}e(l,D);l.prototype=null===D?Object.create(D):(E.prototype=D.prototype,new E)}}(),C=l.pick;return function(e){function l(){var l=null!==e&&e.apply(this,arguments)||this;l.options=void 0;l.series=void 0;return l}F(l,e);l.setGanttPointAliases= function(e){function l(l,x){"undefined"!==typeof x&&(e[l]=x)}l("x",C(e.start,e.x));l("x2",C(e.end,e.x2));l("partialFill",C(e.completed,e.partialFill))};l.prototype.applyOptions=function(D,E){D=e.prototype.applyOptions.call(this,D,E);l.setGanttPointAliases(D);return D};l.prototype.isValid=function(){return("number"===typeof this.start||"number"===typeof this.x)&&("number"===typeof this.end||"number"===typeof this.x2||this.milestone)};return l}(e.seriesTypes.xrange.prototype.pointClass)});O(e,"Gantt/Tree.js", [e["Core/Utilities.js"]],function(e){var l=e.extend,F=e.isNumber,C=e.pick,H=function(e,l){var A=e.reduce(function(e,g){var l=C(g.parent,"");"undefined"===typeof e[l]&&(e[l]=[]);e[l].push(g);return e},{});Object.keys(A).forEach(function(e,g){var u=A[e];""!==e&&-1===l.indexOf(e)&&(u.forEach(function(f){g[""].push(f)}),delete g[e])});return A},G=function(e,E,A,x,g,u){var f=0,w=0,b=u&&u.after,m=u&&u.before;E={data:x,depth:A-1,id:e,level:A,parent:E};var t,I;"function"===typeof m&&m(E,u);m=(g[e]||[]).map(function(b){var p= G(b.id,e,A+1,b,g,u),a=b.start;b=!0===b.milestone?a:b.end;t=!F(t)||aI?b:I;f=f+1+p.descendants;w=Math.max(p.height+1,w);return p});x&&(x.start=C(x.start,t),x.end=C(x.end,I));l(E,{children:m,descendants:f,height:w});"function"===typeof b&&b(E,u);return E};return{getListOfParents:H,getNode:G,getTree:function(e,l){var A=e.map(function(e){return e.id});e=H(e,A);return G("",null,1,null,e,l)}}});O(e,"Core/Axis/TreeGridTick.js",[e["Core/Color/Palette.js"],e["Core/Utilities.js"]],function(e, l){var F=l.addEvent,C=l.isObject,H=l.isNumber,G=l.pick,D=l.wrap,E;(function(l){function x(){this.treeGrid||(this.treeGrid=new b(this))}function g(b,f){b=b.treeGrid;var g=!b.labelIcon,m=f.renderer,p=f.xy,a=f.options,k=a.width,d=a.height,l=p.x-k/2-a.padding;p=p.y-d/2;var c=f.collapsed?90:180,h=f.show&&H(p),t=b.labelIcon;t||(b.labelIcon=t=m.path(m.symbols[a.type](a.x,a.y,k,d)).addClass("highcharts-label-icon").add(f.group));h||t.attr({y:-9999});m.styledMode||t.attr({"stroke-width":1,fill:G(f.color,e.neutralColor60)}).css({cursor:"pointer", stroke:a.lineColor,strokeWidth:a.lineWidth});t[g?"attr":"animate"]({translateX:l,translateY:p,rotation:c})}function u(b,f,e,g,p,a,k,d,l){var c=G(this.options&&this.options.labels,a);a=this.pos;var h=this.axis,m="treegrid"===h.options.type;b=b.apply(this,[f,e,g,p,c,k,d,l]);m&&(f=c&&C(c.symbol,!0)?c.symbol:{},c=c&&H(c.indentation)?c.indentation:0,a=(a=(h=h.treeGrid.mapOfPosToGridNode)&&h[a])&&a.depth||1,b.x+=f.width+2*f.padding+(a-1)*c);return b}function f(b){var f=this,e=f.pos,m=f.axis,p=f.label,a= m.treeGrid.mapOfPosToGridNode,k=m.options,d=G(f.options&&f.options.labels,k&&k.labels),l=d&&C(d.symbol,!0)?d.symbol:{},c=(a=a&&a[e])&&a.depth;k="treegrid"===k.type;var h=-1a?this.ticks[g].label.hide():this.ticks[g].label.show(),e-f>a?this.ticks[e].label.hide():this.ticks[e].label.show(),e-f< a&&0c&&!b.startOnTick&& (f[0]=c),e>g&&e-m=g?(e-g)%b:b-(g-e)%b;return f.inclusive?e<=l:e=f)break;else m.to=f)break;else if(g.isInBreak(l,f)){b-=f-l.from;break}}return b};g.prototype.findBreakAt=function(f,e){return G(e,function(b){return b.fromd;)w-=k;for(;wc.to||a>c.from&&dc.from&&dc.from&&d>c.to&&db&&f>=this.basePointRange&&(b=f),a=void 0;g--;)a&&!1!==a.visible||(a=e[g+1]),f=e[g],!1!==a.visible&& !1!==f.visible&&(a.x-f.x>b&&(a=(f.x+a.x)/2,e.splice(g+1,0,{isNull:!0,x:a}),l.stacking&&this.options.stacking&&(a=l.stacking.stacks[this.stackKey][a]=new F(l,l.options.stackLabels,!1,a,this.stack),a.total=0)),a=f);return this.getGraphPath(e)};H(f,"init",function(){this.brokenAxis||(this.brokenAxis=new g(this))});H(f,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});H(f,"afterSetTickPositions",function(){var b=this.brokenAxis;if(b&&b.hasBreaks){var f= this.tickPositions,e=this.tickPositions.info,g=[],l;for(l=0;l=c&&(b-=.5);return{from:b,to:a,showPoints:!1}}function a(a,c,b){var d=[],e=[],g={},h={},k=-1,n="boolean"===typeof c?c:!1;a=F.getTree(a,{after:function(a){a=h[a.pos];var c=0,b=0;a.children.forEach(function(a){b+=(a.descendants||0)+1;c=Math.max((a.height||0)+1,c)});a.descendants=b;a.height=c;a.collapsed&&e.push(a)},before:function(a){var c= f(a.data,!0)?a.data:{},b=w(c.name)?c.name:"",e=g[a.parent];e=f(e,!0)?h[e.pos]:null;var r=function(a){return a.name===b},l;n&&f(e,!0)&&(l=A(e.children,r))?(r=l.pos,l.nodes.push(a)):r=k++;h[r]||(h[r]=l={depth:e?e.depth+1:0,name:b,id:c.id,nodes:[a],children:[],pos:r},-1!==r&&d.push(b),f(e,!0)&&e.children.push(l));w(a.id)&&(g[a.id]=a);l&&!0===c.collapsed&&(l.collapsed=!0);a.pos=r}});h=function(a,c){var b=function(a,d,e){var g=d+(-1===d?0:c-1),h=(g-d)/2,k=d+h;a.nodes.forEach(function(a){var c=a.data;f(c, !0)&&(c.y=d+(c.seriesIndex||0),delete c.seriesIndex);a.pos=k});e[k]=a;a.pos=k;a.tickmarkOffset=h+.5;a.collapseStart=g+.5;a.children.forEach(function(a){b(a,g+1,e);g=(a.collapseEnd||0)-.5});a.collapseEnd=g+.5;return e};return b(a["-1"],-1,{})}(h,b);return{categories:d,mapOfIdToNode:g,mapOfPosToGridNode:h,collapsedNodes:e,tree:a}}function k(c){c.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(d){var e=d.options||{},h=e.labels,k=e.uniqueNames,n=0;e=e.max;if(!d.treeGrid.mapOfPosToGridNode|| d.series.some(function(a){return!a.hasRendered||a.isDirtyData||a.isDirty})){var l=d.series.reduce(function(a,c){c.visible&&((c.options.data||[]).forEach(function(b){c.options.keys&&c.options.keys.length&&(b=c.pointClass.prototype.optionsToObject.call({series:c},b),c.pointClass.setGanttPointAliases(b));f(b,!0)&&(b.seriesIndex=n,a.push(b))}),!0===k&&n++);return a},[]);if(e&&l.length=c&&f<=b)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(f)||d.push(f);return d},[])};a.prototype.isCollapsed=function(a){var c=this.axis,b=c.options.breaks||[],d=p(a,c.max);return b.some(function(a){return a.from===d.from&&a.to===d.to})};a.prototype.toggleCollapse=function(a){return this.isCollapsed(a)? this.expand(a):this.collapse(a)};return a}();e.Additions=H})(I||(I={}));e.prototype.utils={getNode:F.getNode};I.compose(e);return I});O(e,"Extensions/CurrentDateIndication.js",[e["Core/Axis/Axis.js"],e["Core/Color/Palette.js"],e["Core/Utilities.js"],e["Core/Axis/PlotLineOrBand.js"]],function(e,l,F,C){var H=F.addEvent,G=F.merge;F=F.wrap;var D={currentDateIndicator:!0,color:l.highlightColor20,width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:function(e,l){return this.axis.chart.time.dateFormat(l, e)},rotation:0,style:{fontSize:"10px"}}};H(e,"afterSetOptions",function(){var e=this.options,l=e.currentDateIndicator;l&&(l="object"===typeof l?G(D,l):G(D),l.value=new Date,e.plotLines||(e.plotLines=[]),e.plotLines.push(l))});H(C,"render",function(){this.label&&this.label.attr({text:this.getLabelText(this.options.label)})});F(C.prototype,"getLabelText",function(e,l){var x=this.options;return x.currentDateIndicator&&x.label&&"function"===typeof x.label.formatter?(x.value=new Date,x.label.formatter.call(this, x.value,x.label.format)):e.call(this,l)})});O(e,"Extensions/StaticScale.js",[e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Core/Utilities.js"]],function(e,l,F){var C=F.addEvent,H=F.defined,G=F.isNumber,D=F.pick;C(e,"afterSetOptions",function(){var e=this.chart.options&&this.chart.options.chart;!this.horiz&&G(this.options.staticScale)&&(!e.height||e.scrollablePlotArea&&e.scrollablePlotArea.minHeight)&&(this.staticScale=this.options.staticScale)});l.prototype.adjustHeight=function(){"adjustHeight"!== this.redrawTrigger&&((this.axes||[]).forEach(function(e){var l=e.chart,x=!!l.initiatedScale&&l.options.animation,g=e.options.staticScale;if(e.staticScale&&H(e.min)){var u=D(e.brokenAxis&&e.brokenAxis.unitLength,e.max+e.tickInterval-e.min)*g;u=Math.max(u,g);g=u-l.plotHeight;1<=Math.abs(g)&&(l.plotHeight=u,l.redrawTrigger="adjustHeight",l.setSize(void 0,l.chartHeight+g,x));e.series.forEach(function(f){(f=f.sharedClipKey&&l[f.sharedClipKey])&&f.attr({height:l.plotHeight})})}}),this.initiatedScale=!0); this.redrawTrigger=null};C(l,"render",l.prototype.adjustHeight)});O(e,"Extensions/ArrowSymbols.js",[e["Core/Renderer/SVG/SVGRenderer.js"]],function(e){e.prototype.symbols.arrow=function(e,F,C,H){return[["M",e,F+H/2],["L",e+C,F],["L",e,F+H/2],["L",e+C,F+H]]};e.prototype.symbols["arrow-half"]=function(l,F,C,H){return e.prototype.symbols.arrow(l,F,C/2,H)};e.prototype.symbols["triangle-left"]=function(e,F,C,H){return[["M",e+C,F],["L",e,F+H/2],["L",e+C,F+H],["Z"]]};e.prototype.symbols["arrow-filled"]= e.prototype.symbols["triangle-left"];e.prototype.symbols["triangle-left-half"]=function(l,F,C,H){return e.prototype.symbols["triangle-left"](l,F,C/2,H)};e.prototype.symbols["arrow-filled-half"]=e.prototype.symbols["triangle-left-half"]});O(e,"Gantt/Connection.js",[e["Core/Globals.js"],e["Core/Options.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(e,l,F,C){function H(f){var b=f.shapeArgs;return b?{xMin:b.x,xMax:b.x+b.width,yMin:b.y,yMax:b.y+b.height}:(b=f.graphic&&f.graphic.getBBox())? {xMin:f.plotX-b.width/2,xMax:f.plotX+b.width/2,yMin:f.plotY-b.height/2,yMax:f.plotY+b.height/2}:null}"";var G=C.defined,D=C.error,E=C.extend,A=C.merge,x=C.objectEach,g=e.deg2rad,u=Math.max,f=Math.min;E(l.defaultOptions,{connectors:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});l=function(){function e(b,f,e){this.toPoint=this.pathfinder=this.graphics=this.fromPoint=this.chart= void 0;this.init(b,f,e)}e.prototype.init=function(b,f,e){this.fromPoint=b;this.toPoint=f;this.options=e;this.chart=b.series.chart;this.pathfinder=this.chart.pathfinder};e.prototype.renderPath=function(b,f,e){var g=this.chart,l=g.styledMode,m=g.pathfinder,a=!g.options.chart.forExport&&!1!==e,k=this.graphics&&this.graphics.path;m.group||(m.group=g.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(g.seriesGroup));m.group.translate(g.plotLeft,g.plotTop);k&&k.renderer||(k=g.renderer.path().add(m.group), l||k.attr({opacity:0}));k.attr(f);b={d:b};l||(b.opacity=1);k[a?"animate":"attr"](b,e);this.graphics=this.graphics||{};this.graphics.path=k};e.prototype.addMarker=function(b,f,e){var l=this.fromPoint.series.chart,m=l.pathfinder;l=l.renderer;var p="start"===b?this.fromPoint:this.toPoint,a=p.getPathfinderAnchorPoint(f);if(f.enabled&&((e="start"===b?e[1]:e[e.length-2])&&"M"===e[0]||"L"===e[0])){e={x:e[1],y:e[2]};e=p.getRadiansToVector(e,a);a=p.getMarkerVector(e,f.radius,a);e=-e/g;if(f.width&&f.height){var k= f.width;var d=f.height}else k=d=2*f.radius;this.graphics=this.graphics||{};a={x:a.x-k/2,y:a.y-d/2,width:k,height:d,rotation:e,rotationOriginX:a.x,rotationOriginY:a.y};this.graphics[b]?this.graphics[b].animate(a):(this.graphics[b]=l.symbol(f.symbol).addClass("highcharts-point-connecting-path-"+b+"-marker").attr(a).add(m.group),l.styledMode||this.graphics[b].attr({fill:f.color||this.fromPoint.color,stroke:f.lineColor,"stroke-width":f.lineWidth,opacity:0}).animate({opacity:1},p.series.options.animation))}}; e.prototype.getPath=function(b){var f=this.pathfinder,e=this.chart,g=f.algorithms[b.type],l=f.chartObstacles;if("function"!==typeof g)return D('"'+b.type+'" is not a Pathfinder algorithm.'),{path:[],obstacles:[]};g.requiresObstacles&&!l&&(l=f.chartObstacles=f.getChartObstacles(b),e.options.connectors.algorithmMargin=b.algorithmMargin,f.chartObstacleMetrics=f.getObstacleMetrics(l));return g(this.fromPoint.getPathfinderAnchorPoint(b.startMarker),this.toPoint.getPathfinderAnchorPoint(b.endMarker),A({chartObstacles:l, lineObstacles:f.lineObstacles||[],obstacleMetrics:f.chartObstacleMetrics,hardBounds:{xMin:0,xMax:e.plotWidth,yMin:0,yMax:e.plotHeight},obstacleOptions:{margin:b.algorithmMargin},startDirectionX:f.getAlgorithmStartDirection(b.startMarker)},b))};e.prototype.render=function(){var b=this.fromPoint,e=b.series,g=e.chart,l=g.pathfinder,q=A(g.options.connectors,e.options.connectors,b.options.connectors,this.options),p={};g.styledMode||(p.stroke=q.lineColor||b.color,p["stroke-width"]=q.lineWidth,q.dashStyle&& (p.dashstyle=q.dashStyle));p["class"]="highcharts-point-connecting-path highcharts-color-"+b.colorIndex;q=A(p,q);G(q.marker.radius)||(q.marker.radius=f(u(Math.ceil((q.algorithmMargin||8)/2)-1,1),5));b=this.getPath(q);g=b.path;b.obstacles&&(l.lineObstacles=l.lineObstacles||[],l.lineObstacles=l.lineObstacles.concat(b.obstacles));this.renderPath(g,p,e.options.animation);this.addMarker("start",A(q.marker,q.startMarker),g);this.addMarker("end",A(q.marker,q.endMarker),g)};e.prototype.destroy=function(){this.graphics&& (x(this.graphics,function(b){b.destroy()}),delete this.graphics)};return e}();e.Connection=l;E(F.prototype,{getPathfinderAnchorPoint:function(f){var b=H(this);switch(f.align){case "right":var e="xMax";break;case "left":e="xMin"}switch(f.verticalAlign){case "top":var g="yMin";break;case "bottom":g="yMax"}return{x:e?b[e]:(b.xMin+b.xMax)/2,y:g?b[g]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(f,b){var e;G(b)||(e=H(this))&&(b={x:(e.xMin+e.xMax)/2,y:(e.yMin+e.yMax)/2});return Math.atan2(b.y-f.y,f.x- b.x)},getMarkerVector:function(f,b,e){var g=2*Math.PI,l=H(this),m=l.xMax-l.xMin,p=l.yMax-l.yMin,a=Math.atan2(p,m),k=!1;m/=2;var d=p/2,u=l.xMin+m;l=l.yMin+d;for(var c=u,h=l,w=1,x=1;f<-Math.PI;)f+=g;for(;f>Math.PI;)f-=g;g=Math.tan(f);f>-a&&f<=a?(x=-1,k=!0):f>a&&f<=Math.PI-a?x=-1:f>Math.PI-a||f<=-(Math.PI-a)?(w=-1,k=!0):w=-1;k?(c+=w*m,h+=x*m*g):(c+=p/(2*g)*w,h+=x*d);e.x!==u&&(c=e.x);e.y!==l&&(h=e.y);return{x:c+b*Math.cos(f),y:h-b*Math.sin(f)}}});return l});O(e,"Gantt/PathfinderAlgorithms.js",[e["Core/Utilities.js"]], function(e){function l(e,l,f){f=f||0;var g=e.length-1;l-=1e-7;for(var b,m;f<=g;)if(b=g+f>>1,m=l-e[b].xMin,0m)g=b-1;else return b;return 0=u.x)g=e[f],g=u.x<=g.xMax&&u.x>=g.xMin&&u.y<=g.yMax&&u.y>=g.yMin;if(g)return f}return-1}function C(e){var g=[];if(e.length){g.push(["M",e[0].start.x,e[0].start.y]);for(var f=0;fx(b[f]-a[f+"Max"]);return g(b,f,a,f+(c?"Max":"Min"),c?1:-1)}var m=[],t=D(f.startDirectionX,x(l.x-e.x)>x(l.y-e.y))?"x":"y",u=f.chartObstacles,q=F(u,e);f=F(u,l);if(-1=e[t]===f[t]>=a[t]&&(t="y"===t?"x":"y",l=e[t]f?E(l(G,g.x),G.length-1):0;G[d]&&(0f&&G[d].xMax>=e.x);){if(G[d].xMin<=g.x&&G[d].xMax>=e.x&&G[d].yMin<=k.y&&G[d].yMax>=h.y)return b?{y:a.y,x:a.x=e[k+"Max"];e=a[k+"Min"]<=e[k+"Min"];var l=a[k+"Max"]>=h[k+"Max"];h=a[k+"Min"]<=h[k+"Min"];var m=x(a[k+"Min"]-c[k]),p=x(a[k+ "Max"]-c[k]);b=10>x(m-p)?c[k]x(u.y-e.y)),q=I?"x":"y",p=[],a=!1,k=f.obstacleMetrics,d=E(e.x,u.x)-k.maxWidth-10,y=A(e.x,u.x)+k.maxWidth+10,c=E(e.y,u.y)-k.maxHeight-10,h=A(e.y,u.y)+k.maxHeight+10,G=f.chartObstacles;var J=l(G,d); k=l(G,y);G=G.slice(J,k+1);if(-1<(k=F(G,u))){var P=t(G[k],u,e);p.push({end:u,start:P});u=P}for(;-1<(k=F(G,u));)J=0>u[q]-e[q],P={x:u.x,y:u.y},P[q]=G[k][J?q+"Max":q+"Min"]+(J?1:-1),p.push({end:u,start:P}),u=P;e=m(e,u,I);e=e.concat(p.reverse());return{path:C(e),obstacles:e}},{requiresObstacles:!0}),straight:function(e,l){return{path:[["M",e.x,e.y],["L",l.x,l.y]],obstacles:[{start:e,end:l}]}},simpleConnect:e}});O(e,"Gantt/Pathfinder.js",[e["Gantt/Connection.js"],e["Core/Chart/Chart.js"],e["Core/Globals.js"], e["Core/Options.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"],e["Gantt/PathfinderAlgorithms.js"]],function(e,l,F,C,H,J,D){function E(a){var b=a.shapeArgs;return b?{xMin:b.x,xMax:b.x+b.width,yMin:b.y,yMax:b.y+b.height}:(b=a.graphic&&a.graphic.getBBox())?{xMin:a.plotX-b.width/2,xMax:a.plotX+b.width/2,yMin:a.plotY-b.height/2,yMax:a.plotY+b.height/2}:null}function A(a){for(var b=a.length,d=0,f,c,e=[],g=function(a,c,b){b=m(b,10);var d=a.yMax+b>c.yMin-b&&a.yMin-bc.xMin-b&&a.xMin- bc.xMax?a.xMin-c.xMax:c.xMin-a.xMax:Infinity,h=f?a.yMin>c.yMax?a.yMin-c.yMax:c.yMin-a.yMax:Infinity;return f&&d?b?g(a,c,Math.floor(b/2)):Infinity:q(e,h)};dc&&e.push(c);e.push(80);return I(Math.floor(e.sort(function(a,c){return a-c})[Math.floor(e.length/10)]/2-1),1)}function x(a){if(a.options.pathfinder||a.series.reduce(function(a,d){d.options&&b(!0,d.options.connectors=d.options.connectors||{},d.options.pathfinder);return a||d.options&& d.options.pathfinder},!1))b(!0,a.options.connectors=a.options.connectors||{},a.options.pathfinder),f('WARNING: Pathfinder options have been renamed. Use "chart.connectors" or "series.connectors" instead.')}"";var g=J.addEvent,u=J.defined,f=J.error,w=J.extend,b=J.merge,m=J.pick,t=J.splat,I=Math.max,q=Math.min;w(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 p=function(){function a(a){this.lineObstacles=this.group=this.connections=this.chartObstacleMetrics=this.chartObstacles=this.chart=void 0;this.init(a)}a.prototype.init=function(a){this.chart=a;this.connections=[];g(a,"redraw",function(){this.pathfinder.update()})};a.prototype.update=function(a){var b=this.chart,f=this,c=f.connections;f.connections=[];b.series.forEach(function(a){a.visible&&!a.options.isInternal&&a.points.forEach(function(a){var c=a.options;c&&c.dependency&&(c.connect=c.dependency); var d;c=a.options&&a.options.connect&&t(a.options.connect);a.visible&&!1!==a.isInside&&c&&c.forEach(function(c){d=b.get("string"===typeof c?c:c.to);d instanceof H&&d.series.visible&&d.visible&&!1!==d.isInside&&f.connections.push(new e(a,d,"string"===typeof c?{}:c))})})});for(var g=0,k,l,m=c.length,n=f.connections.length;gMath.PI;)a-=f;f= Math.tan(a);a>-k&&a<=k?(t=-1,l=!0):a>k&&a<=Math.PI-k?t=-1:a>Math.PI-k||a<=-(Math.PI-k)?(q=-1,l=!0):q=-1;l?(r+=q*e,p+=t*e*f):(r+=g/(2*f)*q,p+=t*n);d.x!==m&&(r=d.x);d.y!==c&&(p=d.y);return{x:r+b*Math.cos(a),y:p-b*Math.sin(a)}}});l.prototype.callbacks.push(function(a){!1!==a.options.connectors.enabled&&(x(a),this.pathfinder=new p(this),this.pathfinder.update(!0))});return p});O(e,"Series/Gantt/GanttSeries.js",[e["Series/Gantt/GanttPoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]], function(e,l,F){var C=this&&this.__extends||function(){var e=function(g,f){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,b){f.__proto__=b}||function(f,b){for(var e in b)b.hasOwnProperty(e)&&(f[e]=b[e])};return e(g,f)};return function(g,f){function l(){this.constructor=g}e(g,f);g.prototype=null===f?Object.create(f):(l.prototype=f.prototype,new l)}}(),H=l.series,G=l.seriesTypes.xrange,D=F.extend,E=F.isNumber,A=F.merge,x=F.splat;F=function(e){function g(){var f=null!==e&&e.apply(this, arguments)||this;f.data=void 0;f.options=void 0;f.points=void 0;return f}C(g,e);g.prototype.drawPoint=function(f,e){var b=this.options,g=this.chart.renderer,l=f.shapeArgs,u=f.plotY,q=f.graphic,p=f.selected&&"select",a=b.stacking&&!b.borderRadius;if(f.options.milestone)if(E(u)&&null!==f.y&&!1!==f.visible){l=g.symbols.diamond(l.x,l.y,l.width,l.height);if(q)q[e]({d:l});else f.graphic=g.path(l).addClass(f.getClassName(),!0).add(f.group||this.group);this.chart.styledMode||f.graphic.attr(this.pointAttribs(f, p)).shadow(b.shadow,null,a)}else q&&(f.graphic=q.destroy());else G.prototype.drawPoint.call(this,f,e)};g.prototype.translatePoint=function(f){G.prototype.translatePoint.call(this,f);if(f.options.milestone){var e=f.shapeArgs;var b=e.height;f.shapeArgs={x:e.x-b/2,y:e.y,width:b,height:b}}};g.defaultOptions=A(G.defaultOptions,{grouping:!1,dataLabels:{enabled:!0},tooltip:{headerFormat:'{series.name}
',pointFormat:null,pointFormatter:function(){var f=this.series, e=f.chart.tooltip,b=f.xAxis,g=f.tooltipOptions.dateTimeLabelFormats,l=b.options.startOfWeek,u=f.tooltipOptions,q=u.xDateFormat,p=this.options.milestone,a=""+(this.name||this.yCategory)+"";if(u.pointFormat)return this.tooltipFormatter(u.pointFormat);q||(q=x(e.getDateFormat(b.closestPointRange,this.start,l,g))[0]);e=f.chart.time.dateFormat(q,this.start);f=f.chart.time.dateFormat(q,this.end);a+="
";return p?a+(e+"
"):a+("Start: "+e+"
End: ")+(f+"
")}},connectors:{type:"simpleConnect", animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}});return g}(G);D(F.prototype,{keyboardMoveVertical:!1,pointArrayMap:["start","end","y"],pointClass:e,setData:H.prototype.setData});l.registerSeriesType("gantt",F);"";return F});O(e,"Core/Chart/GanttChart.js",[e["Core/Chart/Chart.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l,F){var C=F.getOptions,H=F.isArray,G=F.merge,D=F.splat;l.ganttChart= function(l,A,x){var g="string"===typeof l||l.nodeName,u=A.series,f=C(),w,b=A;A=arguments[g?1:0];H(A.xAxis)||(A.xAxis=[A.xAxis||{},{}]);A.xAxis=A.xAxis.map(function(b,e){1===e&&(w=0);return G(f.xAxis,{grid:{enabled:!0},opposite:!0,linkedTo:w},b,{type:"datetime"})});A.yAxis=D(A.yAxis||{}).map(function(b){return G(f.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:b.categories?b.type:"treegrid"},b)});A.series=null;A=G(!0,{chart:{type:"gantt"},title:{text:null},legend:{enabled:!1},navigator:{series:{type:"gantt"}, yAxis:{type:"category"}}},A,{isGantt:!0});A.series=b.series=u;return g?new e(l,A,x):new e(A,A)}});O(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(e,l){var F=l.addEvent,C=l.defined,H=l.pick;return function(){function l(){}l.compose=function(l,E){var A=function(e){var g=H(e.options&&e.options.min,e.min),l=H(e.options&&e.options.max,e.max);return{axisMin:g,axisMax:l,scrollMin:C(e.dataMin)?Math.min(g,e.min,e.dataMin,H(e.threshold,Infinity)):g,scrollMax:C(e.dataMax)? Math.max(l,e.max,e.dataMax,H(e.threshold,-Infinity)):l}};F(l,"afterInit",function(){var l=this;l.options&&l.options.scrollbar&&l.options.scrollbar.enabled&&(l.options.scrollbar.vertical=!l.horiz,l.options.startOnTick=l.options.endOnTick=!1,l.scrollbar=new E(l.chart.renderer,l.options.scrollbar,l.chart),F(l.scrollbar,"changed",function(g){var u=A(l),f=u.axisMax,x=u.scrollMin,b=u.scrollMax-x;C(u.axisMin)&&C(f)&&(l.horiz&&!l.reversed||!l.horiz&&l.reversed?(u=x+b*this.to,x+=b*this.from):(u=x+b*(1-this.from), x+=b*(1-this.to)),H(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===g.DOMType||"touchend"===g.DOMType||!C(g.DOMType)?l.setExtremes(x,u,!0,"mousemove"!==g.DOMType&&"touchmove"!==g.DOMType,g):this.setRange(this.from,this.to))}))});F(l,"afterRender",function(){var e=A(this),g=e.scrollMin,l=e.scrollMax;e=this.scrollbar;var f=this.axisTitleMargin+(this.titleOffset||0),w=this.chart.scrollbarsOffsets,b=this.options.margin||0;e&&(this.horiz?(this.opposite||(w[1]+=f), e.position(this.left,this.top+this.height+2+w[1]-(this.opposite?b:0),this.width,this.height),this.opposite||(w[1]+=b),f=1):(this.opposite&&(w[0]+=f),e.position(this.left+this.width+2+w[0]-(this.opposite?0:b),this.top,this.width,this.height),this.opposite&&(w[0]+=b),f=0),w[f]+=e.size+e.options.margin,isNaN(g)||isNaN(l)||!C(this.min)||!C(this.max)||this.min===this.max?e.setRange(0,1):(w=(this.min-g)/(l-g),g=(this.max-g)/(l-g),this.horiz&&!this.reversed||!this.horiz&&this.reversed?e.setRange(w,g):e.setRange(1- g,1-w)))});F(l,"afterGetOffset",function(){var e=this.horiz?2:1,g=this.scrollbar;g&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[e]+=g.size+g.options.margin)})};return l}()});O(e,"Core/Scrollbar.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Color/Palette.js"],e["Core/Axis/ScrollbarAxis.js"],e["Core/Utilities.js"],e["Core/Options.js"]],function(e,l,F,C,H,J){var D=H.addEvent,E=H.correctFloat,A=H.defined,x=H.destroyObjectProperties,g=H.fireEvent,u=H.merge,f=H.pick,w=H.removeEvent; H=J.defaultOptions;var b=l.isTouchDevice,m=l.swapXY=function(b,f){f&&b.forEach(function(b){for(var f=b.length,a,e=0;ethis.calculatedWidth?e.minWidth:0;return{chartX:(b.chartX-this.x-this.xOffset)/(this.barWidth-e),chartY:(b.chartY-this.y-this.yOffset)/(this.barWidth-e)}};e.prototype.destroy=function(){var b=this.chart.scroller;this.removeEvents();["track","scrollbarRifles", "scrollbar","scrollbarGroup","group"].forEach(function(b){this[b]&&this[b].destroy&&(this[b]=this[b].destroy())},this);b&&this===b.scrollbar&&(b.scrollbar=null,x(b.scrollbarButtons))};e.prototype.drawScrollbarButton=function(b){var e=this.renderer,f=this.scrollbarButtons,a=this.options,g=this.size;var d=e.g().add(this.group);f.push(d);d=e.rect().addClass("highcharts-scrollbar-button").add(d);this.chart.styledMode||d.attr({stroke:a.buttonBorderColor,"stroke-width":a.buttonBorderWidth,fill:a.buttonBackgroundColor}); d.attr(d.crisp({x:-.5,y:-.5,width:g+1,height:g+1,r:a.buttonBorderRadius},d.strokeWidth()));d=e.path(m([["M",g/2+(b?-1:1),g/2-3],["L",g/2+(b?-1:1),g/2+3],["L",g/2+(b?2:-2),g/2]],a.vertical)).addClass("highcharts-scrollbar-arrow").add(f[b]);this.chart.styledMode||d.attr({fill:a.buttonArrowColor})};e.prototype.init=function(b,g,l){this.scrollbarButtons=[];this.renderer=b;this.userOptions=g;this.options=u(e.defaultOptions,g);this.chart=l;this.size=f(this.options.size,this.options.height);g.enabled&&(this.render(), this.addEvents())};e.prototype.mouseDownHandler=function(b){b=this.chart.pointer.normalize(b);b=this.cursorToScrollbarPosition(b);this.chartX=b.chartX;this.chartY=b.chartY;this.initPositions=[this.from,this.to];this.grabbedCenter=!0};e.prototype.mouseMoveHandler=function(b){var e=this.chart.pointer.normalize(b),f=this.options.vertical?"chartY":"chartX",a=this.initPositions||[];!this.grabbedCenter||b.touches&&0===b.touches[0][f]||(e=this.cursorToScrollbarPosition(e)[f],f=this[f],f=e-f,this.hasDragged= !0,this.updatePosition(a[0]+f,a[1]+f),this.hasDragged&&g(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b}))};e.prototype.mouseUpHandler=function(b){this.hasDragged&&g(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:b.type,DOMEvent:b});this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null};e.prototype.position=function(b,e,f,a){var g=this.options.vertical,d=0,l=this.rendered?"animate":"attr";this.x=b;this.y=e+this.trackBorderWidth; this.width=f;this.xOffset=this.height=a;this.yOffset=d;g?(this.width=this.yOffset=f=d=this.size,this.xOffset=e=0,this.barWidth=a-2*f,this.x=b+=this.options.margin):(this.height=this.xOffset=a=e=this.size,this.barWidth=f-2*a,this.y+=this.options.margin);this.group[l]({translateX:b,translateY:this.y});this.track[l]({width:f,height:a});this.scrollbarButtons[1][l]({translateX:g?0:f-e,translateY:g?a-d:0})};e.prototype.removeEvents=function(){this._events.forEach(function(b){w.apply(null,b)});this._events.length= 0};e.prototype.render=function(){var b=this.renderer,e=this.options,f=this.size,a=this.chart.styledMode,g;this.group=g=b.g("scrollbar").attr({zIndex:e.zIndex,translateY:-99999}).add();this.track=b.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:e.trackBorderRadius||0,height:f,width:f}).add(g);a||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth% 2/2});this.scrollbarGroup=b.g().add(g);this.scrollbar=b.rect().addClass("highcharts-scrollbar-thumb").attr({height:f,width:f,r:e.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=b.path(m([["M",-3,f/4],["L",-3,2*f/3],["M",0,f/4],["L",0,2*f/3],["M",3,f/4],["L",3,2*f/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);a||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.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)};e.prototype.setRange=function(b,e){var f=this.options,a=f.vertical,g=f.minWidth,d=this.barWidth,l,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(A(d)){b=Math.max(b,0);var h=Math.ceil(d*b);this.calculatedWidth=l=E(d* Math.min(e,1)-h);l=l?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0);!1===f.showFull&&(0>= b&&1<=e?this.group.hide():this.group.show());this.rendered=!0}};e.prototype.trackClick=function(b){var e=this.chart.pointer.normalize(b),f=this.to-this.from,a=this.y+this.scrollbarTop,k=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>a||!this.options.vertical&&e.chartX>k?this.updatePosition(this.from+f,this.to+f):this.updatePosition(this.from-f,this.to-f);g(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:b})};e.prototype.update=function(b){this.destroy();this.init(this.chart.renderer, u(!0,this.options,b),this.chart)};e.prototype.updatePosition=function(b,e){1b&&(e=E(e-b),b=0);this.from=b;this.to=e};e.defaultOptions={height:b?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:F.neutralColor20,barBorderWidth:1,barBorderColor:F.neutralColor20,buttonArrowColor:F.neutralColor80,buttonBackgroundColor:F.neutralColor10,buttonBorderColor:F.neutralColor20,buttonBorderWidth:1,rifleColor:F.neutralColor80, trackBackgroundColor:F.neutralColor5,trackBorderColor:F.neutralColor5,trackBorderWidth:1};return e}();l.Scrollbar||(H.scrollbar=u(!0,J.defaultOptions,H.scrollbar),l.Scrollbar=J,C.compose(e,J));return l.Scrollbar});O(e,"Extensions/RangeSelector.js",[e["Core/Axis/Axis.js"],e["Core/Chart/Chart.js"],e["Core/Globals.js"],e["Core/Options.js"],e["Core/Color/Palette.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(e,l,F,C,H,J,D){function E(a){if(-1!==a.indexOf("%L"))return"text"; var b="aAdewbBmoyY".split("").some(function(b){return-1!==a.indexOf("%"+b)}),c="HkIlMS".split("").some(function(b){return-1!==a.indexOf("%"+b)});return b&&c?"datetime-local":b?"date":c?"time":"text"}var A=C.defaultOptions,x=D.addEvent,g=D.createElement,u=D.css,f=D.defined,w=D.destroyObjectProperties,b=D.discardElement,m=D.extend,t=D.find,G=D.fireEvent,q=D.isNumber,p=D.merge,a=D.objectEach,k=D.pad,d=D.pick,y=D.pInt,c=D.splat;m(A,{rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive", enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%b %e, %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:H.highlightColor80,cursor:"pointer"},labelStyle:{color:H.neutralColor60}}});m(A.lang,{rangeSelectorZoom:"Zoom", rangeSelectorFrom:"",rangeSelectorTo:"\u2192"});var h=function(){function h(a){this.buttons=void 0;this.buttonOptions=h.prototype.defaultButtons;this.initialButtonGroupWidth=0;this.options=void 0;this.chart=a;this.init(a)}h.prototype.clickButton=function(a,b){var g=this.chart,h=this.buttonOptions[a],k=g.xAxis[0],l=g.scroller&&g.scroller.getUnionExtremes()||k||{},n=l.dataMin,m=l.dataMax,p=k&&Math.round(Math.min(k.max,d(m,k.max))),t=h.type;l=h._range;var u,w=h.dataGrouping;if(null!==n&&null!==m){g.fixedRange= l;w&&(this.forcedDataGrouping=!0,e.prototype.setDataGrouping.call(k||{chart:this.chart},w,!1),this.frozenStates=h.preserveDataGrouping);if("month"===t||"year"===t)if(k){t={range:h,max:p,chart:g,dataMin:n,dataMax:m};var K=k.minFromRange.call(t);q(t.newMax)&&(p=t.newMax)}else l=h;else if(l)K=Math.max(p-l,n),p=Math.min(K+l,m);else if("ytd"===t)if(k)"undefined"===typeof m&&(n=Number.MAX_VALUE,m=Number.MIN_VALUE,g.series.forEach(function(a){a=a.xData;n=Math.min(a[0],n);m=Math.max(a[a.length-1],m)}),b= !1),p=this.getYTDExtremes(m,n,g.time.useUTC),K=u=p.min,p=p.max;else{this.deferredYTDClick=a;return}else"all"===t&&k&&(K=n,p=m);f(K)&&(K+=h._offsetMin);f(p)&&(p+=h._offsetMax);this.setSelected(a);this.dropdown&&(this.dropdown.selectedIndex=a+1);if(k)k.setExtremes(K,p,d(b,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:h});else{var y=c(g.options.xAxis)[0];var A=y.range;y.range=l;var C=y.min;y.min=u;x(g,"load",function(){y.range=A;y.min=C})}G(this,"afterBtnClick")}};h.prototype.setSelected= function(a){this.selected=this.options.selected=a};h.prototype.init=function(a){var b=this,c=a.options.rangeSelector,d=c.buttons||b.defaultButtons.slice(),e=c.selected,f=function(){var a=b.minInput,c=b.maxInput;a&&a.blur&&G(a,"blur");c&&c.blur&&G(c,"blur")};b.chart=a;b.options=c;b.buttons=[];b.buttonOptions=d;this.eventsToUnbind=[];this.eventsToUnbind.push(x(a.container,"mousedown",f));this.eventsToUnbind.push(x(a,"resize",f));d.forEach(b.computeButtonRange);"undefined"!==typeof e&&d[e]&&this.clickButton(e, !1);this.eventsToUnbind.push(x(a,"load",function(){a.xAxis&&a.xAxis[0]&&x(a.xAxis[0],"setExtremes",function(c){this.max-this.min!==a.fixedRange&&"rangeSelectorButton"!==c.trigger&&"updatedData"!==c.trigger&&b.forcedDataGrouping&&!b.frozenStates&&this.setDataGrouping(!1,!1)})}))};h.prototype.updateButtonStates=function(){var a=this,b=this.chart,c=this.dropdown,d=b.xAxis[0],e=Math.round(d.max-d.min),f=!d.hasVisibleSeries,g=b.scroller&&b.scroller.getUnionExtremes()||d,h=g.dataMin,k=g.dataMax;b=a.getYTDExtremes(k, h,b.time.useUTC);var l=b.min,m=b.max,p=a.selected,t=q(p),u=a.options.allButtonsEnabled,w=a.buttons;a.buttonOptions.forEach(function(b,g){var r=b._range,n=b.type,q=b.count||1,z=w[g],v=0,B=b._offsetMax-b._offsetMin;b=g===p;var x=r>k-h,L=r=864E5*{month:28,year:365}[n]*q-B&&e-36E5<=864E5*{month:31,year:366}[n]*q+B?r=!0:"ytd"===n?(r=m-l+B===e,y=!b):"all"===n&&(r=d.max-d.min>=k-h,K=!b&&t&&r);n=!u&&(x||L||K||f);q=b&&r||r&&!t&&!y||b&&a.frozenStates; n?v=3:q&&(t=!0,v=2);z.state!==v&&(z.setState(v),c&&(c.options[g+1].disabled=n,2===v&&(c.selectedIndex=g+1)),0===v&&p===g&&a.setSelected())})};h.prototype.computeButtonRange=function(a){var b=a.type,c=a.count||1,e={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5};if(e[b])a._range=e[b]*c;else if("month"===b||"year"===b)a._range=864E5*{month:30,year:365}[b]*c;a._offsetMin=d(a.offsetMin,0);a._offsetMax=d(a.offsetMax,0);a._range+=a._offsetMax-a._offsetMin};h.prototype.getInputValue= function(a){a="min"===a?this.minInput:this.maxInput;var b=this.chart.options.rangeSelector,c=this.chart.time;return a?("text"===a.type&&b.inputDateParser||this.defaultInputDateParser)(a.value,c.useUTC,c):0};h.prototype.setInputValue=function(a,b){var c=this.options,d=this.chart.time,e="min"===a?this.minInput:this.maxInput;a="min"===a?this.minDateBox:this.maxDateBox;if(e){var g=e.getAttribute("data-hc-time");g=f(g)?Number(g):void 0;f(b)&&(f(g)&&e.setAttribute("data-hc-time-previous",g),e.setAttribute("data-hc-time", b),g=b);e.value=d.dateFormat(this.inputTypeFormats[e.type]||c.inputEditDateFormat,g);a&&a.attr({text:d.dateFormat(c.inputDateFormat,g)})}};h.prototype.setInputExtremes=function(a,b,c){if(a="min"===a?this.minInput:this.maxInput){var d=this.inputTypeFormats[a.type],e=this.chart.time;d&&(b=e.dateFormat(d,b),a.min!==b&&(a.min=b),c=e.dateFormat(d,c),a.max!==c&&(a.max=c))}};h.prototype.showInput=function(a){var b="min"===a?this.minDateBox:this.maxDateBox;if((a="min"===a?this.minInput:this.maxInput)&&b&& this.inputGroup){var c="text"===a.type,d=this.inputGroup,e=d.translateX;d=d.translateY;u(a,{width:c?b.width-2+"px":"auto",height:c?b.height-2+"px":"auto",border:"2px solid silver"});c?u(a,{left:e+b.x+"px",top:d+"px"}):u(a,{left:Math.min(Math.round(b.x+e-(a.offsetWidth-b.width)/2),this.chart.chartWidth-a.offsetWidth)+"px",top:d-(a.offsetHeight-b.height)/2+"px"})}};h.prototype.hideInput=function(a){(a="min"===a?this.minInput:this.maxInput)&&u(a,{top:"-9999em",border:0,width:"1px",height:"1px"})};h.prototype.defaultInputDateParser= function(a,b,c){var d=a.split("/").join("-").split(" ").join("T");-1===d.indexOf("T")&&(d+="T00:00");if(b)d+="Z";else{var e;if(e=F.isSafari)e=d,e=!(6=e?"+"+k(-e)+":00":"-"+k(e)+":00")}d=Date.parse(d);q(d)||(a=a.split("-"),d=Date.UTC(y(a[0]),y(a[1])-1,y(a[2])));c&&b&&(d+=c.getTimezoneOffset(d));return d};h.prototype.drawInput=function(a){function b(){var b=f.getInputValue(a), d=c.xAxis[0],e=c.scroller&&c.scroller.xAxis?c.scroller.xAxis:d,g=e.dataMin;e=e.dataMax;var h=f.maxInput,k=f.minInput;b!==Number(w.getAttribute("data-hc-time-previous"))&&q(b)&&(w.setAttribute("data-hc-time-previous",b),n&&h&&q(g)?b>Number(h.getAttribute("data-hc-time"))?b=void 0:be&&(b=e)),"undefined"!==typeof b&&d.setExtremes(n?b:d.min,n?d.max:b,void 0,void 0,{trigger:"rangeSelectorInput"}))}var c=this.chart,d=this.div,e=this.inputGroup, f=this,h=c.renderer.style||{},k=c.renderer,l=c.options.rangeSelector,n="min"===a,t=A.lang[n?"rangeSelectorFrom":"rangeSelectorTo"];t=k.label(t,0).addClass("highcharts-range-label").attr({padding:t?2:0}).add(e);k=k.label("",0).addClass("highcharts-range-input").attr({padding:2,width:l.inputBoxWidth,height:l.inputBoxHeight,"text-align":"center"}).on("click",function(){f.showInput(a);f[a+"Input"].focus()});c.styledMode||k.attr({stroke:l.inputBoxBorderColor,"stroke-width":1});k.add(e);var w=g("input", {name:a,className:"highcharts-range-selector"},void 0,d);w.setAttribute("type",E(l.inputDateFormat||"%b %e, %Y"));c.styledMode||(t.css(p(h,l.labelStyle)),k.css(p({color:H.neutralColor80},h,l.inputStyle)),u(w,m({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:h.fontSize,fontFamily:h.fontFamily,top:"-9999em"},l.inputStyle)));w.onfocus=function(){f.showInput(a)};w.onblur=function(){w===F.doc.activeElement&&b();f.hideInput(a); f.setInputValue(a);w.blur()};var x=!1;w.onchange=function(){b();x||(f.hideInput(a),w.blur())};w.onkeypress=function(a){13===a.keyCode&&b()};w.onkeydown=function(){x=!0};w.onkeyup=function(){x=!1};return{dateBox:k,input:w,label:t}};h.prototype.getPosition=function(){var a=this.chart,b=a.options.rangeSelector;a="top"===b.verticalAlign?a.plotTop-a.axisOffset[0]:0;return{buttonTop:a+b.buttonPosition.y,inputTop:a+b.inputPosition.y-10}};h.prototype.getYTDExtremes=function(a,b,c){var d=this.chart.time,e= new d.Date(a),f=d.get("FullYear",e);c=c?d.Date.UTC(f,0,1):+new d.Date(f,0,1);b=Math.max(b,c);e=e.getTime();return{max:Math.min(a||e,e),min:b}};h.prototype.render=function(a,b){var c=this.chart,e=c.renderer,h=c.container,k=c.options,l=k.rangeSelector,n=d(k.chart.style&&k.chart.style.zIndex,0)+1;k=l.inputEnabled;if(!1!==l.enabled){this.rendered||(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=g("div",void 0,{position:"relative",height:0,zIndex:n}),this.buttonOptions.length&& this.renderButtons(),h.parentNode&&h.parentNode.insertBefore(this.div,h),k&&(this.inputGroup=e.g("input-group").add(this.group),e=this.drawInput("min"),this.minDateBox=e.dateBox,this.minLabel=e.label,this.minInput=e.input,e=this.drawInput("max"),this.maxDateBox=e.dateBox,this.maxLabel=e.label,this.maxInput=e.input));if(k&&(this.setInputValue("min",a),this.setInputValue("max",b),a=c.scroller&&c.scroller.getUnionExtremes()||c.xAxis[0]||{},f(a.dataMin)&&f(a.dataMax)&&(c=c.xAxis[0].minRange||0,this.setInputExtremes("min", a.dataMin,Math.min(a.dataMax,this.getInputValue("max"))-c),this.setInputExtremes("max",Math.max(a.dataMin,this.getInputValue("min"))+c,a.dataMax)),this.inputGroup)){var m=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(function(a){a&&a.width&&(a.attr({x:m}),m+=a.width+l.inputSpacing)})}this.alignElements();this.rendered=!0}};h.prototype.renderButtons=function(){var a=this,b=this.buttons,c=this.options,e=A.lang,f=this.chart.renderer,h=p(c.buttonTheme),k=h&&h.states,l=h.width|| 28;delete h.width;this.buttonGroup=f.g("range-selector-buttons").add(this.group);var m=this.dropdown=g("select",void 0,{position:"absolute",width:"1px",height:"1px",padding:0,border:0,top:"-9999em",cursor:"pointer",opacity:.0001},this.div);x(m,"touchstart",function(){m.style.fontSize="16px"});[[F.isMS?"mouseover":"mouseenter"],[F.isMS?"mouseout":"mouseleave"],["change","click"]].forEach(function(c){var d=c[0],e=c[1];x(m,d,function(){var c=b[a.currentButtonIndex()];c&&G(c.element,e||d)})});this.zoomText= f.text(e.rangeSelectorZoom,0,15).add(this.buttonGroup);this.chart.styledMode||(this.zoomText.css(c.labelStyle),h["stroke-width"]=d(h["stroke-width"],0));g("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,m);this.buttonOptions.forEach(function(c,d){g("option",{textContent:c.title||c.text},void 0,m);b[d]=f.button(c.text,0,0,function(b){var e=c.events&&c.events.click,f;e&&(f=e.call(c,b));!1!==f&&a.clickButton(d);a.isActive=!0},h,k&&k.hover,k&&k.select,k&&k.disabled).attr({"text-align":"center", width:l}).add(a.buttonGroup);c.title&&b[d].attr("title",c.title)})};h.prototype.alignElements=function(){var a=this,b=this.buttonGroup,c=this.buttons,e=this.chart,f=this.group,g=this.inputGroup,h=this.options,k=this.zoomText,l=e.options,m=l.exporting&&!1!==l.exporting.enabled&&l.navigation&&l.navigation.buttonOptions;l=h.buttonPosition;var p=h.inputPosition,q=h.verticalAlign,t=function(b,c){return m&&a.titleCollision(e)&&"top"===q&&"right"===c.align&&c.y-b.getBBox().height-12<(m.y||0)+(m.height|| 0)+e.spacing[0]?-40:0},u=e.plotLeft;if(f&&l&&p){var w=l.x-e.spacing[3];if(b){this.positionButtons();if(!this.initialButtonGroupWidth){var x=0;k&&(x+=k.getBBox().width+5);c.forEach(function(a,b){x+=a.width;b!==c.length-1&&(x+=h.buttonSpacing)});this.initialButtonGroupWidth=x}u-=e.spacing[3];this.updateButtonStates();k=t(b,l);this.alignButtonGroup(k);f.placed=b.placed=e.hasLoaded}b=0;g&&(b=t(g,p),"left"===p.align?w=u:"right"===p.align&&(w=-Math.max(e.axisOffset[1],-b)),g.align({y:p.y,width:g.getBBox().width, align:p.align,x:p.x+w-2},!0,e.spacingBox),g.placed=e.hasLoaded);this.handleCollision(b);f.align({verticalAlign:q},!0,e.spacingBox);g=f.alignAttr.translateY;b=f.getBBox().height+20;t=0;"bottom"===q&&(t=(t=e.legend&&e.legend.options)&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?e.legend.legendHeight+d(t.margin,10):0,b=b+t-20,t=g-b-(h.floating?0:h.y)-(e.titleOffset?e.titleOffset[2]:0)-10);if("top"===q)h.floating&&(t=0),e.titleOffset&&e.titleOffset[0]&&(t=e.titleOffset[0]),t+=e.margin[0]-e.spacing[0]|| 0;else if("middle"===q)if(p.y===l.y)t=g;else if(p.y||l.y)t=0>p.y||0>l.y?t-Math.min(p.y,l.y):g-b;f.translate(h.x,h.y+Math.floor(t));l=this.minInput;p=this.maxInput;g=this.dropdown;h.inputEnabled&&l&&p&&(l.style.marginTop=f.translateY+"px",p.style.marginTop=f.translateY+"px");g&&(g.style.marginTop=f.translateY+"px")}};h.prototype.alignButtonGroup=function(a,b){var c=this.chart,e=this.buttonGroup,f=this.options.buttonPosition,g=c.plotLeft-c.spacing[3],h=f.x-c.spacing[3];"right"===f.align?h+=a-g:"center"=== f.align&&(h-=g/2);e&&e.align({y:f.y,width:d(b,this.initialButtonGroupWidth),align:f.align,x:h},!0,c.spacingBox)};h.prototype.positionButtons=function(){var a=this.buttons,b=this.chart,c=this.options,e=this.zoomText,f=b.hasLoaded?"animate":"attr",g=c.buttonPosition,h=b.plotLeft,k=h;e&&"hidden"!==e.visibility&&(e[f]({x:d(h+g.x,h)}),k+=g.x+e.getBBox().width+5);this.buttonOptions.forEach(function(b,d){if("hidden"!==a[d].visibility)a[d][f]({x:k}),k+=a[d].width+c.buttonSpacing;else a[d][f]({x:h})})};h.prototype.handleCollision= function(a){var b=this,c=this.chart,d=this.buttonGroup,e=this.inputGroup,f=this.options,g=f.buttonPosition,h=f.dropdown,k=f.inputPosition;f=function(){var a=0;b.buttons.forEach(function(b){b=b.getBBox();b.width>a&&(a=b.width)});return a};var l=function(b){if(e&&d){var c=e.alignAttr.translateX+e.alignOptions.x-a+e.getBBox().x+2,f=e.alignOptions.width,h=d.alignAttr.translateX+d.getBBox().x;return h+b>c&&c+f>h&&g.y=-a?0:-a),translateY:e.alignAttr.translateY+d.getBBox().height+10})};if(d){if("always"===h){this.collapseButtons(a);l(f())&&m();return}"never"===h&&this.expandButtons()}e&&d?k.align===g.align||l(this.initialButtonGroupWidth+20)?"responsive"===h?(this.collapseButtons(a),l(f())&&m()):m():"responsive"===h&&this.expandButtons():d&&"responsive"===h&&(this.initialButtonGroupWidth>c.plotWidth?this.collapseButtons(a):this.expandButtons())};h.prototype.collapseButtons=function(a){var b,c= this.buttons,d=this.buttonOptions,e=this.dropdown,f=this.options,g=this.zoomText,h=function(a){return{text:a?a+" \u25be":"\u25be",width:"auto",paddingLeft:8,paddingRight:8}};g&&g.hide();var k=!1;d.forEach(function(a,b){b=c[b];2!==b.state?b.hide():(b.show(),b.attr(h(a.text)),k=!0)});k||(e&&(e.selectedIndex=0),c[0].show(),c[0].attr(h(null===(b=this.zoomText)||void 0===b?void 0:b.textStr)));b=f.buttonPosition.align;this.positionButtons();"right"!==b&&"center"!==b||this.alignButtonGroup(a,c[this.currentButtonIndex()].getBBox().width); this.showDropdown()};h.prototype.expandButtons=function(){var a=this.buttons,b=this.buttonOptions,c=this.options,d=this.zoomText;this.hideDropdown();d&&d.show();b.forEach(function(b,d){d=a[d];d.show();d.attr({text:b.text,width:c.buttonTheme.width||28,paddingLeft:"unset",paddingRight:"unset"});2>d.state&&d.setState(0)});this.positionButtons()};h.prototype.currentButtonIndex=function(){var a=this.dropdown;return a&&0e&&0>d||0b&&(w?e=l-g:l=e+g);D(e)&&D(l)||(e=l=void 0);return{min:e,max:l}};return e}();return function(){function e(){}e.compose=function(e){e.keepProps.push("navigatorAxis");C(e,"init",function(){this.navigatorAxis||(this.navigatorAxis=new A(this))}); C(e,"zoom",function(e){var f=this.chart.options,g=f.navigator,b=this.navigatorAxis,l=f.chart.pinchType,t=f.rangeSelector;f=f.chart.zoomType;this.isXAxis&&(g&&g.enabled||t&&t.enabled)&&("y"===f?e.zoomed=!1:(!F&&"xy"===f||F&&"xy"===l)&&this.options.range&&(g=b.previousZoom,G(e.newMin)?b.previousZoom=[this.min,this.max]:g&&(e.newMin=g[0],e.newMax=g[1],b.previousZoom=void 0)));"undefined"!==typeof e.zoomed&&e.preventDefault()})};e.AdditionsClass=A;return e}()});O(e,"Core/Navigator.js",[e["Core/Axis/Axis.js"], e["Core/Chart/Chart.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxis.js"],e["Core/Options.js"],e["Core/Color/Palette.js"],e["Core/Scrollbar.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(e,l,F,C,H,J,D,E,A,x,g){F=F.parse;var u=C.hasTouch,f=C.isTouchDevice,w=J.defaultOptions,b=g.addEvent,m=g.clamp,t=g.correctFloat,G=g.defined,q=g.destroyObjectProperties,p=g.erase,a=g.extend,k=g.find,d=g.isArray,y=g.isNumber,c=g.merge, h=g.pick,M=g.removeEvent,O=g.splat,P=function(a){for(var b=[],c=1;cw&&(this.grabbedLeft?c=k.toPixels(b-w-l,!0):this.grabbedRight&&(e=k.toPixels(a+w+l,!0)));this.zoomedMax=m(Math.max(c,e),0,p);this.zoomedMin=m(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(c,e),0,p);this.range=this.zoomedMax-this.zoomedMin;p=Math.round(this.zoomedMax);c=Math.round(this.zoomedMin);n&&(this.navigatorGroup.attr({visibility:"visible"}),q=q&&!this.hasDragged?"animate":"attr", this.drawMasks(c,p,u,q),this.drawOutline(c,p,u,q),this.navigatorOptions.handles.enabled&&(this.drawHandle(c,0,u,q),this.drawHandle(p,1,u,q)));this.scrollbar&&(u?(u=this.top-f,r=this.left-f+(n||!r.opposite?0:(r.titleOffset||0)+r.axisTitleMargin),f=g+2*f):(u=this.top+(n?this.height:-f),r=this.left-f),this.scrollbar.position(r,u,d,f),this.scrollbar.setRange(this.zoomedMin/(g||1),this.zoomedMax/(g||1)));this.rendered=!0}};g.prototype.addMouseEvents=function(){var a=this,c=a.chart,e=c.container,d=[],f, g;a.mouseMoveHandler=f=function(b){a.onMouseMove(b)};a.mouseUpHandler=g=function(b){a.onMouseUp(b)};d=a.getPartsEvents("mousedown");d.push(b(c.renderTo,"mousemove",f),b(e.ownerDocument,"mouseup",g));u&&(d.push(b(c.renderTo,"touchmove",f),b(e.ownerDocument,"touchend",g)),d.concat(a.getPartsEvents("touchstart")));a.eventsToUnbind=d;a.series&&a.series[0]&&d.push(b(a.series[0].xAxis,"foundExtremes",function(){c.navigator.modifyNavigatorAxisExtremes()}))};g.prototype.getPartsEvents=function(a){var c=this, d=[];["shades","handles"].forEach(function(e){c[e].forEach(function(f,g){d.push(b(f.element,a,function(a){c[e+"Mousedown"](a,g)}))})});return d};g.prototype.shadesMousedown=function(a,b){a=this.chart.pointer.normalize(a);var c=this.chart,d=this.xAxis,e=this.zoomedMin,f=this.left,g=this.size,h=this.range,k=a.chartX;c.inverted&&(k=a.chartY,f=this.top);if(1===b)this.grabbedCenter=k,this.fixedWidth=h,this.dragOffset=k-e;else{a=k-f-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!==e&&(this.fixedWidth=h,b=d.navigatorAxis.toFixedRange(a,a+h,l,m),G(b.min)&&c.xAxis[0].setExtremes(Math.min(b.min,b.max),Math.max(b.min,b.max),!0,null,{trigger:"navigator"}))}};g.prototype.handlesMousedown=function(a,b){this.chart.pointer.normalize(a);a=this.chart;var c=a.xAxis[0],d=this.reversedExtremes;0===b?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=d?c.min:c.max):(this.grabbedRight= !0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=d?c.max:c.min);a.fixedRange=null};g.prototype.onMouseMove=function(a){var b=this,c=b.chart,d=b.left,e=b.navigatorSize,g=b.range,k=b.dragOffset,l=c.inverted;a.touches&&0===a.touches[0].pageX||(a=c.pointer.normalize(a),c=a.chartX,l&&(d=b.top,c=a.chartY),b.grabbedLeft?(b.hasDragged=!0,b.render(0,0,c-d,b.otherHandlePos)):b.grabbedRight?(b.hasDragged=!0,b.render(0,0,b.otherHandlePos,c-d)):b.grabbedCenter&&(b.hasDragged=!0,ce+k-g&&(c=e+k- g),b.render(0,0,c-k,c-k+g)),b.hasDragged&&b.scrollbar&&h(b.scrollbar.options.liveRedraw,C.svg&&!f&&!this.chart.isBoosting)&&(a.DOMType=a.type,setTimeout(function(){b.onMouseUp(a)},0)))};g.prototype.onMouseUp=function(a){var b=this.chart,c=this.xAxis,d=this.scrollbar,e=a.DOMEvent||a,f=b.inverted,g=this.rendered&&!this.hasDragged?"animate":"attr";if(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===a.trigger){d=this.getUnionExtremes();if(this.zoomedMin===this.otherHandlePos)var h=this.fixedExtreme; else if(this.zoomedMax===this.otherHandlePos)var k=this.fixedExtreme;this.zoomedMax===this.size&&(k=this.reversedExtremes?d.dataMin:d.dataMax);0===this.zoomedMin&&(h=this.reversedExtremes?d.dataMax:d.dataMin);c=c.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,h,k);G(c.min)&&b.xAxis[0].setExtremes(Math.min(c.min,c.max),Math.max(c.min,c.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:e})}"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&&y(this.zoomedMin)&&y(this.zoomedMax)&&(b=Math.round(this.zoomedMin),a=Math.round(this.zoomedMax),this.shades&&this.drawMasks(b,a,f,g),this.outline&&this.drawOutline(b,a,f,g),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(b,0,f,g),this.drawHandle(a,1,f,g)))};g.prototype.removeEvents=function(){this.eventsToUnbind&& (this.eventsToUnbind.forEach(function(a){a()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()};g.prototype.removeBaseSeriesEvents=function(){var a=this.baseSeries||[];this.navigatorEnabled&&a[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&a.forEach(function(a){M(a,"updatedData",this.updatedDataHandler)},this),a[0].xAxis&&M(a[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))};g.prototype.init=function(a){var d=a.options,f=d.navigator,g=f.enabled,k=d.scrollbar,l=k.enabled;d=g?f.height: 0;var m=l?k.height:0;this.handles=[];this.shades=[];this.chart=a;this.setBaseSeries();this.height=d;this.scrollbarHeight=m;this.scrollbarEnabled=l;this.navigatorEnabled=g;this.navigatorOptions=f;this.scrollbarOptions=k;this.outlineHeight=d+m;this.opposite=h(f.opposite,!(g||!a.inverted));var n=this;g=n.baseSeries;k=a.xAxis.length;l=a.yAxis.length;var p=g&&g[0]&&g[0].xAxis||a.xAxis[0]||{options:{}};a.isDirtyBox=!0;n.navigatorEnabled?(n.xAxis=new e(a,c({breaks:p.options.breaks,ordinal:p.options.ordinal}, f.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:k,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},a.inverted?{offsets:[m,0,-m,0],width:d}:{offsets:[0,-m,0,m],height:d})),n.yAxis=new e(a,c(f.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:l,isInternal:!0,reversed:h(f.yAxis&&f.yAxis.reversed,a.yAxis[0]&&a.yAxis[0].reversed,!1),zoomEnabled:!1},a.inverted?{width:d}:{height:d})),g||f.series.data? n.updateNavigatorSeries(!1):0===a.series.length&&(n.unbindRedraw=b(a,"beforeRedraw",function(){0k.indexOf(b)?(b&&(M(b,"updatedData",f.updatedDataHandler),delete b.navigatorSeries),a.chart&&a.destroy(),!1):!0});k&&k.length&&k.forEach(function(b){var t=b.navigatorSeries,u=a({color:b.color,visible:b.visible},d(n)?w.navigator.series:n);t&&!1===f.navigatorOptions.adaptToUpdatedData||(r.name="Navigator "+ k.length,l=b.options||{},p=l.navigatorOptions||{},m=c(l,r,u,p),m.pointRange=h(u.pointRange,p.pointRange,w.plotOptions[m.type||"line"].pointRange),u=p.data||u.data,f.hasNavigatorData=f.hasNavigatorData||!!u,m.data=u||l.data&&l.data.slice(0),t&&t.options?t.update(m,e):(b.navigatorSeries=g.initSeries(m),b.navigatorSeries.baseSeries=b,q.push(b.navigatorSeries)))});if(n.data&&(!k||!k.length)||d(n))f.hasNavigatorData=!1,n=O(n),n.forEach(function(a,b){r.name="Navigator "+(q.length+1);m=c(w.navigator.series, {color:g.series[b]&&!g.series[b].options.isInternal&&g.series[b].color||g.options.colors[b]||g.options.colors[0]},r,a);m.data=a.data;m.data&&(f.hasNavigatorData=!0,q.push(g.initSeries(m)))});b&&this.addBaseSeriesEvents()};g.prototype.addBaseSeriesEvents=function(){var a=this,c=a.baseSeries||[];c[0]&&c[0].xAxis&&b(c[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);c.forEach(function(c){b(c,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});b(c,"hide",function(){this.navigatorSeries&& this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&c.xAxis&&b(c,"updatedData",this.updatedDataHandler);b(c,"remove",function(){this.navigatorSeries&&(p(a.series,this.navigatorSeries),G(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)};g.prototype.getBaseSeriesMin=function(a){return this.baseSeries.reduce(function(a,b){return Math.min(a,b.xData?b.xData[0]:a)},a)};g.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))};g.prototype.modifyBaseAxisExtremes=function(){var a=this.chart.navigator,b=this.getExtremes(),c=b.dataMin,d=b.dataMax;b=b.max-b.min;var e=a.stickToMin,f=a.stickToMax,g=h(this.options.overscroll,0),k=a.series&&a.series[0],l=!!this.setExtremes;if(!this.eventArgs||"rangeSelectorButton"!==this.eventArgs.trigger){if(e){var m=c;var n=m+b}f&&(n=d+g,e|| (m=Math.max(c,n-b,a.getBaseSeriesMin(k&&k.xData?k.xData[0]:-Number.MAX_VALUE))));l&&(e||f)&&y(m)&&(this.min=this.userMin=m,this.max=this.userMax=n)}a.stickToMin=a.stickToMax=null};g.prototype.updatedDataHandler=function(){var a=this.chart.navigator,b=this.navigatorSeries,c=a.getBaseSeriesMin(this.xData[0]);a.stickToMax=a.reversedExtremes?0===Math.round(a.zoomedMin):Math.round(a.zoomedMax)>=Math.round(a.size);a.stickToMin=y(this.xAxis.min)&&this.xAxis.min<=c&&(!this.chart.fixedRange||!a.stickToMax); b&&!a.hasNavigatorData&&(b.options.pointStart=this.xData[0],b.setData(this.options.data,!1,null,!1))};g.prototype.addChartEvents=function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(b(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)}),b(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}))};g.prototype.destroy=function(){this.removeEvents();this.xAxis&&(p(this.chart.xAxis,this.xAxis),p(this.chart.axes,this.xAxis));this.yAxis&&(p(this.chart.yAxis,this.yAxis),p(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){q(a)},this)};return g}();C.Navigator||(C.Navigator=n,H.compose(e),b(l,"beforeShowResetZoom",function(){var a=this.options,b=a.navigator,c=a.rangeSelector;if((b&&b.enabled||c&&c.enabled)&&(!f&&"x"===a.chart.zoomType||f&&"x"===a.chart.pinchType))return!1}),b(l,"beforeRender",function(){var a=this.options;if(a.navigator.enabled||a.scrollbar.enabled)this.scroller=this.navigator=new n(this)}),b(l,"afterSetChartSize", function(){var a=this.legend,b=this.navigator;if(b){var c=a&&a.options;var d=b.xAxis;var e=b.yAxis;var f=b.scrollbarHeight;this.inverted?(b.left=b.opposite?this.chartWidth-f-b.height:this.spacing[3]+f,b.top=this.plotTop+f):(b.left=this.plotLeft+f,b.top=b.navigatorOptions.top||this.chartHeight-b.height-f-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(c&&"bottom"===c.verticalAlign&&"proximate"!==c.layout&&c.enabled&&!c.floating?a.legendHeight+h(c.margin, 10):0)-(this.titleOffset?this.titleOffset[2]:0));d&&e&&(this.inverted?d.options.left=e.options.left=b.left:d.options.top=e.options.top=b.top,d.setAxisSize(),e.setAxisSize())}}),b(l,"update",function(a){var b=a.options.navigator||{},d=a.options.scrollbar||{};this.navigator||this.scroller||!b.enabled&&!d.enabled||(c(!0,this.options.navigator,b),c(!0,this.options.scrollbar,d),delete a.options.navigator,delete a.options.scrollbar)}),b(l,"afterUpdate",function(a){this.navigator||this.scroller||!this.options.navigator.enabled&& !this.options.scrollbar.enabled||(this.scroller=this.navigator=new n(this),h(a.redraw,!0)&&this.redraw(a.animation))}),b(l,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),b(A,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),l.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=n;return C.Navigator});O(e,"masters/modules/gantt.src.js", [],function(){});O(e,"masters/highcharts-gantt.src.js",[e["masters/highcharts.src.js"]],function(e){e.product="Highcharts Gantt";return e});e["masters/highcharts-gantt.src.js"]._modules=e;return e["masters/highcharts-gantt.src.js"]}); //# sourceMappingURL=highcharts-gantt.js.map