text: /*
   Highcharts JS v6.2.0 (2018-10-17)
  
   (c) 2017 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng
  
   License: www.highcharts.com/license
  */
  (function(T,J){"object"===typeof module&&module.exports?module.exports=T.document?J(T):J:"function"===typeof define&&define.amd?define(function(){return J(T)}):T.Highcharts=J(T)})("undefined"!==typeof window?window:this,function(T){var J=function(){var a="undefined"===typeof T?window:T,A=a.document,C=a.navigator&&a.navigator.userAgent||"",D=A&&A.createElementNS&&!!A.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,r=/(edge|msie|trident)/i.test(C)&&!a.opera,g=-1!==C.indexOf("Firefox"),
  n=-1!==C.indexOf("Chrome"),u=g&&4>parseInt(C.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts",version:"6.2.0",deg2rad:2*Math.PI/360,doc:A,hasBidiBug:u,hasTouch:A&&void 0!==A.documentElement.ontouchstart,isMS:r,isWebKit:-1!==C.indexOf("AppleWebKit"),isFirefox:g,isChrome:n,isSafari:!n&&-1!==C.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(C),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:D,win:a,marginNames:["plotTop",
  "marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var A=a.charts,C=a.doc,D=a.win;a.error=function(r,g){r=a.isNumber(r)?"Highcharts error #"+r+": www.highcharts.com/errors/"+r:r;if(g)throw Error(r);D.console&&console.log(r)};a.Fx=function(a,g,n){this.options=g;this.elem=a;this.prop=n};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],n=[],u=this.now,w=a.length,h;if(1===u)n=this.toD;else if(w===g.length&&1>u)for(;w--;)h=parseFloat(a[w]),
  n[w]=isNaN(h)?g[w]:u*parseFloat(g[w]-h)+h;else n=g;this.elem.attr("d",n,null,!0)},update:function(){var a=this.elem,g=this.prop,n=this.now,u=this.options.step;if(this[g+"Setter"])this[g+"Setter"]();else a.attr?a.element&&a.attr(g,n,null,!0):a.style[g]=n+this.unit;u&&u.call(a,n,this)},run:function(r,g,n){var u=this,w=u.options,h=function(a){return h.stopped?!1:u.step(a)},p=D.requestAnimationFrame||function(a){setTimeout(a,13)},t=function(){for(var e=0;e<a.timers.length;e++)a.timers[e]()||a.timers.splice(e--,
  1);a.timers.length&&p(t)};r!==g||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=r,this.end=g,this.unit=n,this.now=this.start,this.pos=0,h.elem=this.elem,h.prop=this.prop,h()&&1===a.timers.push(h)&&p(t)):(delete w.curAnim[this.prop],w.complete&&0===a.keys(w.curAnim).length&&w.complete.call(this.elem))},step:function(r){var g=+new Date,n,u=this.options,w=this.elem,h=u.complete,p=u.duration,t=u.curAnim;w.attr&&!w.element?r=!1:r||g>=p+this.startTime?(this.now=this.end,this.pos=
  1,this.update(),n=t[this.prop]=!0,a.objectEach(t,function(a){!0!==a&&(n=!1)}),n&&h&&h.call(w),r=!1):(this.pos=u.easing((g-this.startTime)/p),this.now=this.start+(this.end-this.start)*this.pos,this.update(),r=!0);return r},initPath:function(r,g,n){function u(a){var b,c;for(k=a.length;k--;)b="M"===a[k]||"L"===a[k],c=/[a-zA-Z]/.test(a[k+3]),b&&c&&a.splice(k+1,0,a[k+1],a[k+2],a[k+1],a[k+2])}function w(a,b){for(;a.length<c;){a[0]=b[c-a.length];var q=a.slice(0,d);[].splice.apply(a,[0,0].concat(q));f&&(q=
  a.slice(a.length-d),[].splice.apply(a,[a.length,0].concat(q)),k--)}a[0]="M"}function h(a,k){for(var e=(c-a.length)/d;0<e&&e--;)b=a.slice().splice(a.length/q-d,d*q),b[0]=k[c-d-e*d],m&&(b[d-6]=b[d-2],b[d-5]=b[d-1]),[].splice.apply(a,[a.length/q,0].concat(b)),f&&e--}g=g||"";var p,t=r.startX,e=r.endX,m=-1<g.indexOf("C"),d=m?7:3,c,b,k;g=g.split(" ");n=n.slice();var f=r.isArea,q=f?2:1,E;m&&(u(g),u(n));if(t&&e){for(k=0;k<t.length;k++)if(t[k]===e[0]){p=k;break}else if(t[0]===e[e.length-t.length+k]){p=k;E=
  !0;break}void 0===p&&(g=[])}g.length&&a.isNumber(p)&&(c=n.length+p*q*d,E?(w(g,n),h(n,g)):(w(n,g),h(g,n)));return[g,n]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var r,g=arguments,n,u={},w=function(h,p){"object"!==typeof h&&(h={});a.objectEach(p,function(t,e){!a.isObject(t,!0)||a.isClass(t)||a.isDOMElement(t)?h[e]=p[e]:h[e]=w(h[e]||{},
  t)});return h};!0===g[0]&&(u=g[1],g=Array.prototype.slice.call(g,2));n=g.length;for(r=0;r<n;r++)u=w(u,g[r]);return u};a.pInt=function(a,g){return parseInt(a,g||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(r,g){return!!r&&"object"===typeof r&&(!g||!a.isArray(r))};a.isDOMElement=function(r){return a.isObject(r)&&"number"===typeof r.nodeType};a.isClass=function(r){var g=
  r&&r.constructor;return!(!a.isObject(r,!0)||a.isDOMElement(r)||!g||!g.name||"Object"===g.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,g){for(var n=a.length;n--;)if(a[n]===g){a.splice(n,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(r,g,n){var u;a.isString(g)?a.defined(n)?r.setAttribute(g,n):r&&r.getAttribute&&((u=r.getAttribute(g))||"class"!==g||(u=r.getAttribute(g+"Name"))):a.defined(g)&&a.isObject(g)&&
  a.objectEach(g,function(a,h){r.setAttribute(h,a)});return u};a.splat=function(r){return a.isArray(r)?r:[r]};a.syncTimeout=function(a,g,n){if(g)return setTimeout(a,g,n);a.call(0,n)};a.clearTimeout=function(r){a.defined(r)&&clearTimeout(r)};a.extend=function(a,g){var n;a||(a={});for(n in g)a[n]=g[n];return a};a.pick=function(){var a=arguments,g,n,u=a.length;for(g=0;g<u;g++)if(n=a[g],void 0!==n&&null!==n)return n};a.css=function(r,g){a.isMS&&!a.svg&&g&&void 0!==g.opacity&&(g.filter="alpha(opacity\x3d"+
  100*g.opacity+")");a.extend(r.style,g)};a.createElement=function(r,g,n,u,w){r=C.createElement(r);var h=a.css;g&&a.extend(r,g);w&&h(r,{padding:0,border:"none",margin:0});n&&h(r,n);u&&u.appendChild(r);return r};a.extendClass=function(r,g){var n=function(){};n.prototype=new r;a.extend(n.prototype,g);return n};a.pad=function(a,g,n){return Array((g||2)+1-String(a).replace("-","").length).join(n||0)+a};a.relativeLength=function(a,g,n){return/%$/.test(a)?g*parseFloat(a)/100+(n||0):parseFloat(a)};a.wrap=
  function(a,g,n){var u=a[g];a[g]=function(){var a=Array.prototype.slice.call(arguments),h=arguments,p=this;p.proceed=function(){u.apply(p,arguments.length?arguments:h)};a.unshift(u);a=n.apply(this,a);p.proceed=null;return a}};a.datePropsToTimestamps=function(r){a.objectEach(r,function(g,n){a.isObject(g)&&"function"===typeof g.getTime?r[n]=g.getTime():(a.isObject(g)||a.isArray(g))&&a.datePropsToTimestamps(g)})};a.formatSingle=function(r,g,n){var u=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(r)?(n=
  (n=r.match(u))?n[1]:-1,null!==g&&(g=a.numberFormat(g,n,w.decimalPoint,-1<r.indexOf(",")?w.thousandsSep:""))):g=(n||a.time).dateFormat(r,g);return g};a.format=function(r,g,n){for(var u="{",w=!1,h,p,t,e,m=[],d;r;){u=r.indexOf(u);if(-1===u)break;h=r.slice(0,u);if(w){h=h.split(":");p=h.shift().split(".");e=p.length;d=g;for(t=0;t<e;t++)d&&(d=d[p[t]]);h.length&&(d=a.formatSingle(h.join(":"),d,n));m.push(d)}else m.push(h);r=r.slice(u+1);u=(w=!w)?"}":"{"}m.push(r);return m.join("")};a.getMagnitude=function(a){return Math.pow(10,
  Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(r,g,n,u,w){var h,p=r;n=a.pick(n,1);h=r/n;g||(g=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===n?g=a.grep(g,function(a){return 0===a%1}):.1>=n&&(g=[1/n])));for(u=0;u<g.length&&!(p=g[u],w&&p*n>=r||!w&&h<=(g[u]+(g[u+1]||g[u]))/2);u++);return p=a.correctFloat(p*n,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var n=a.length,u,r;for(r=0;r<n;r++)a[r].safeI=r;a.sort(function(a,p){u=g(a,p);return 0===u?
  a.safeI-p.safeI:u});for(r=0;r<n;r++)delete a[r].safeI};a.arrayMin=function(a){for(var g=a.length,n=a[0];g--;)a[g]<n&&(n=a[g]);return n};a.arrayMax=function(a){for(var g=a.length,n=a[0];g--;)a[g]>n&&(n=a[g]);return n};a.destroyObjectProperties=function(r,g){a.objectEach(r,function(a,u){a&&a!==g&&a.destroy&&a.destroy();delete r[u]})};a.discardElement=function(r){var g=a.garbageBin;g||(g=a.createElement("div"));r&&g.appendChild(r);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g||
  14))};a.setAnimation=function(r,g){g.renderer.globalAnimation=a.pick(r,g.options.chart.animation,!0)};a.animObject=function(r){return a.isObject(r)?a.merge(r):{duration:r?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(r,g,n,u){r=+r||0;g=+g;var w=a.defaultOptions.lang,h=(r.toString().split(".")[1]||"").split("e")[0].length,p,t,e=r.toString().split("e");-1===g?g=Math.min(h,20):a.isNumber(g)?g&&e[1]&&0>e[1]&&
  (p=g+ +e[1],0<=p?(e[0]=(+e[0]).toExponential(p).split("e")[0],g=p):(e[0]=e[0].split(".")[0]||0,r=20>g?(e[0]*Math.pow(10,e[1])).toFixed(g):0,e[1]=0)):g=2;t=(Math.abs(e[1]?e[0]:r)+Math.pow(10,-Math.max(g,h)-1)).toFixed(g);h=String(a.pInt(t));p=3<h.length?h.length%3:0;n=a.pick(n,w.decimalPoint);u=a.pick(u,w.thousandsSep);r=(0>r?"-":"")+(p?h.substr(0,p)+u:"");r+=h.substr(p).replace(/(\d{3})(?=\d)/g,"$1"+u);g&&(r+=n+t.slice(-g));e[1]&&0!==+r&&(r+="e"+e[1]);return r};Math.easeInOutSine=function(a){return-.5*
  (Math.cos(Math.PI*a)-1)};a.getStyle=function(r,g,n){if("width"===g)return Math.max(0,Math.min(r.offsetWidth,r.scrollWidth)-a.getStyle(r,"padding-left")-a.getStyle(r,"padding-right"));if("height"===g)return Math.max(0,Math.min(r.offsetHeight,r.scrollHeight)-a.getStyle(r,"padding-top")-a.getStyle(r,"padding-bottom"));D.getComputedStyle||a.error(27,!0);if(r=D.getComputedStyle(r,void 0))r=r.getPropertyValue(g),a.pick(n,"opacity"!==g)&&(r=a.pInt(r));return r};a.inArray=function(r,g,n){return(a.indexOfPolyfill||
  Array.prototype.indexOf).call(g,r,n)};a.grep=function(r,g){return(a.filterPolyfill||Array.prototype.filter).call(r,g)};a.find=Array.prototype.find?function(a,g){return a.find(g)}:function(a,g){var n,u=a.length;for(n=0;n<u;n++)if(g(a[n],n))return a[n]};a.some=function(r,g,n){return(a.somePolyfill||Array.prototype.some).call(r,g,n)};a.map=function(a,g){for(var n=[],u=0,r=a.length;u<r;u++)n[u]=g.call(a[u],a[u],u,a);return n};a.keys=function(r){return(a.keysPolyfill||Object.keys).call(void 0,r)};a.reduce=
  function(r,g,n){return(a.reducePolyfill||Array.prototype.reduce).apply(r,2<arguments.length?[g,n]:[g])};a.offset=function(a){var g=C.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(D.pageYOffset||g.scrollTop)-(g.clientTop||0),left:a.left+(D.pageXOffset||g.scrollLeft)-(g.clientLeft||0)}};a.stop=function(r,g){for(var n=a.timers.length;n--;)a.timers[n].elem!==r||g&&g!==a.timers[n].prop||(a.timers[n].stopped=!0)};a.each=function(r,g,n){return(a.forEachPolyfill||
  Array.prototype.forEach).call(r,g,n)};a.objectEach=function(a,g,n){for(var u in a)a.hasOwnProperty(u)&&g.call(n||a[u],a[u],u,a)};a.addEvent=function(r,g,n,u){var w,h=r.addEventListener||a.addEventListenerPolyfill;w="function"===typeof r&&r.prototype?r.prototype.protoEvents=r.prototype.protoEvents||{}:r.hcEvents=r.hcEvents||{};a.Point&&r instanceof a.Point&&r.series&&r.series.chart&&(r.series.chart.runTrackerClick=!0);h&&h.call(r,g,n,!1);w[g]||(w[g]=[]);w[g].push(n);u&&a.isNumber(u.order)&&(n.order=
  u.order,w[g].sort(function(a,h){return a.order-h.order}));return function(){a.removeEvent(r,g,n)}};a.removeEvent=function(r,g,n){function u(h,e){var m=r.removeEventListener||a.removeEventListenerPolyfill;m&&m.call(r,h,e,!1)}function w(h){var e,m;r.nodeName&&(g?(e={},e[g]=!0):e=h,a.objectEach(e,function(a,c){if(h[c])for(m=h[c].length;m--;)u(c,h[c][m])}))}var h,p;a.each(["protoEvents","hcEvents"],function(t){var e=r[t];e&&(g?(h=e[g]||[],n?(p=a.inArray(n,h),-1<p&&(h.splice(p,1),e[g]=h),u(g,n)):(w(e),
  e[g]=[])):(w(e),r[t]={}))})};a.fireEvent=function(r,g,n,u){var w,h,p,t,e;n=n||{};C.createEvent&&(r.dispatchEvent||r.fireEvent)?(w=C.createEvent("Events"),w.initEvent(g,!0,!0),a.extend(w,n),r.dispatchEvent?r.dispatchEvent(w):r.fireEvent(g,w)):a.each(["protoEvents","hcEvents"],function(m){if(r[m])for(h=r[m][g]||[],p=h.length,n.target||a.extend(n,{preventDefault:function(){n.defaultPrevented=!0},target:r,type:g}),t=0;t<p;t++)(e=h[t])&&!1===e.call(r,n)&&n.preventDefault()});u&&!n.defaultPrevented&&u.call(r,
  n)};a.animate=function(r,g,n){var u,w="",h,p,t;a.isObject(n)||(t=arguments,n={duration:t[2],easing:t[3],complete:t[4]});a.isNumber(n.duration)||(n.duration=400);n.easing="function"===typeof n.easing?n.easing:Math[n.easing]||Math.easeInOutSine;n.curAnim=a.merge(g);a.objectEach(g,function(e,m){a.stop(r,m);p=new a.Fx(r,n,m);h=null;"d"===m?(p.paths=p.initPath(r,r.d,g.d),p.toD=g.d,u=0,h=1):r.attr?u=r.attr(m):(u=parseFloat(a.getStyle(r,m))||0,"opacity"!==m&&(w="px"));h||(h=e);h&&h.match&&h.match("px")&&
  (h=h.replace(/px/g,""));p.run(u,h,w)})};a.seriesType=function(r,g,n,u,w){var h=a.getOptions(),p=a.seriesTypes;h.plotOptions[r]=a.merge(h.plotOptions[g],n);p[r]=a.extendClass(p[g]||function(){},u);p[r].prototype.type=r;w&&(p[r].prototype.pointClass=a.extendClass(a.Point,w));return p[r]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),g=0;return function(){return"highcharts-"+a+"-"+g++}}();D.jQuery&&(D.jQuery.fn.highcharts=function(){var r=[].slice.call(arguments);if(this[0])return r[0]?
  (new (a[a.isString(r[0])?r.shift():"Chart"])(this[0],r[0],r[1]),this):A[a.attr(this[0],"data-highcharts-chart")]})})(J);(function(a){var A=a.each,C=a.isNumber,D=a.map,r=a.merge,g=a.pInt;a.Color=function(n){if(!(this instanceof a.Color))return new a.Color(n);this.init(n)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[g(a[1]),g(a[2]),g(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
  parse:function(a){return[g(a[1]),g(a[2]),g(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(n){var g,w,h,p;if((this.input=n=this.names[n&&n.toLowerCase?n.toLowerCase():""]||n)&&n.stops)this.stops=D(n.stops,function(h){return new a.Color(h[1])});else if(n&&n.charAt&&"#"===n.charAt()&&(g=n.length,n=parseInt(n.substr(1),16),7===g?w=[(n&16711680)>>16,(n&65280)>>8,n&255,1]:4===g&&(w=[(n&3840)>>4|(n&3840)>>8,(n&240)>>4|n&240,(n&15)<<4|n&15,1])),!w)for(h=this.parsers.length;h--&&!w;)p=this.parsers[h],
  (g=p.regex.exec(n))&&(w=p.parse(g));this.rgba=w||[]},get:function(a){var g=this.input,n=this.rgba,h;this.stops?(h=r(g),h.stops=[].concat(h.stops),A(this.stops,function(p,t){h.stops[t]=[h.stops[t][0],p.get(a)]})):h=n&&C(n[0])?"rgb"===a||!a&&1===n[3]?"rgb("+n[0]+","+n[1]+","+n[2]+")":"a"===a?n[3]:"rgba("+n.join(",")+")":g;return h},brighten:function(a){var n,r=this.rgba;if(this.stops)A(this.stops,function(h){h.brighten(a)});else if(C(a)&&0!==a)for(n=0;3>n;n++)r[n]+=g(255*a),0>r[n]&&(r[n]=0),255<r[n]&&
  (r[n]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,g){var n=this.rgba,h=a.rgba;h.length&&n&&n.length?(a=1!==h[3]||1!==n[3],g=(a?"rgba(":"rgb(")+Math.round(h[0]+(n[0]-h[0])*(1-g))+","+Math.round(h[1]+(n[1]-h[1])*(1-g))+","+Math.round(h[2]+(n[2]-h[2])*(1-g))+(a?","+(h[3]+(n[3]-h[3])*(1-g)):"")+")"):g=a.input||"none";return g}};a.color=function(g){return new a.Color(g)}})(J);(function(a){var A,C,D=a.addEvent,r=a.animate,g=a.attr,n=a.charts,u=a.color,w=a.css,
  h=a.createElement,p=a.defined,t=a.deg2rad,e=a.destroyObjectProperties,m=a.doc,d=a.each,c=a.extend,b=a.erase,k=a.grep,f=a.hasTouch,q=a.inArray,E=a.isArray,v=a.isFirefox,I=a.isMS,x=a.isObject,G=a.isString,z=a.isWebKit,H=a.merge,y=a.noop,K=a.objectEach,F=a.pick,l=a.pInt,B=a.removeEvent,M=a.stop,P=a.svg,N=a.SVG_NS,O=a.symbolSizes,Q=a.win;A=a.SVGElement=function(){return this};c(A.prototype,{opacity:1,SVG_NS:N,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
  init:function(a,b){this.element="span"===b?h(b):m.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,c,l){c=a.animObject(F(c,this.renderer.globalAnimation,!0));0!==c.duration?(l&&(c.complete=l),r(this,b,c)):(this.attr(b,null,l),c.step&&c.step.call(this));return this},complexColor:function(b,c,l){var L=this.renderer,f,k,B,q,e,m,z,N,y,h,v,M=[],x;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?k="radialGradient":b.linearGradient&&(k="linearGradient");
  k&&(B=b[k],e=L.gradients,z=b.stops,h=l.radialReference,E(B)&&(b[k]=B={x1:B[0],y1:B[1],x2:B[2],y2:B[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===k&&h&&!p(B.gradientUnits)&&(q=B,B=H(B,L.getRadialAttr(h,q),{gradientUnits:"userSpaceOnUse"})),K(B,function(a,b){"id"!==b&&M.push(b,a)}),K(z,function(a){M.push(a)}),M=M.join(","),e[M]?v=e[M].attr("id"):(B.id=v=a.uniqueKey(),e[M]=m=L.createElement(k).attr(B).add(L.defs),m.radAttr=q,m.stops=[],d(z,function(b){0===b[1].indexOf("rgba")?(f=a.color(b[1]),
  N=f.get("rgb"),y=f.get("a")):(N=b[1],y=1);b=L.createElement("stop").attr({offset:b[0],"stop-color":N,"stop-opacity":y}).add(m);m.stops.push(b)})),x="url("+L.url+"#"+v+")",l.setAttribute(c,x),l.gradient=M,b.toString=function(){return x})})},applyTextOutline:function(c){var l=this.element,B,k,f,L,q;-1!==c.indexOf("contrast")&&(c=c.replace(/contrast/g,this.renderer.getContrast(l.style.fill)));c=c.split(" ");k=c[c.length-1];if((f=c[0])&&"none"!==f&&a.svg){this.fakeTS=!0;c=[].slice.call(l.getElementsByTagName("tspan"));
  this.ySetter=this.xSetter;f=f.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,c){return 2*b+c});for(q=c.length;q--;)B=c[q],"highcharts-text-outline"===B.getAttribute("class")&&b(c,l.removeChild(B));L=l.firstChild;d(c,function(a,b){0===b&&(a.setAttribute("x",l.getAttribute("x")),b=l.getAttribute("y"),a.setAttribute("y",b||0),null===b&&l.setAttribute("y",0));a=a.cloneNode(1);g(a,{"class":"highcharts-text-outline",fill:k,stroke:k,"stroke-width":f,"stroke-linejoin":"round"});l.insertBefore(a,L)})}},attr:function(a,
  b,c,l){var B,f=this.element,k,d=this,L,q;"string"===typeof a&&void 0!==b&&(B=a,a={},a[B]=b);"string"===typeof a?d=(this[a+"Getter"]||this._defaultGetter).call(this,a,f):(K(a,function(b,c){L=!1;l||M(this,c);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(c)&&(k||(this.symbolAttr(a),k=!0),L=!0);!this.rotation||"x"!==c&&"y"!==c||(this.doTransform=!0);L||(q=this[c+"Setter"]||this._defaultSetter,q.call(this,b,c,f),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(c)&&
  this.updateShadows(c,b,q))},this),this.afterSetters());c&&c.call(this);return d},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,b,c){for(var l=this.shadows,B=l.length;B--;)c.call(l[B],"height"===a?Math.max(b-(l[B].cutHeight||0),0):"d"===a?this.d:b,a,l[B])},addClass:function(a,b){var c=this.attr("class")||"";-1===c.indexOf(a)&&(b||(a=(c+(c?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==
  q(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;d("x y r start end width height innerR anchorX anchorY".split(" "),function(c){b[c]=F(a[c],b[c])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var c;b=b||a.strokeWidth||0;c=Math.round(b)%2/2;
  a.x=Math.floor(a.x||this.x||0)+c;a.y=Math.floor(a.y||this.y||0)+c;a.width=Math.floor((a.width||this.width||0)-2*c);a.height=Math.floor((a.height||this.height||0)-2*c);p(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,B={},f=this.element,k,d="",L,e=!b,m=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&K(a,function(a,c){a!==b[c]&&(B[c]=a,e=!0)});e&&(b&&(a=c(b,B)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===f.nodeName.toLowerCase()&&
  a.width&&(k=this.textWidth=l(a.width))),this.styles=a,k&&!P&&this.renderer.forExport&&delete a.width,f.namespaceURI===this.SVG_NS?(L=function(a,b){return"-"+b.toLowerCase()},K(a,function(a,b){-1===q(b,m)&&(d+=b.replace(/([A-Z])/g,L)+":"+a+";")}),d&&g(f,"style",d)):w(f,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,b){var c=this,l=
  c.element;f&&"click"===a?(l.ontouchstart=function(a){c.touchEventFired=Date.now();a.preventDefault();b.call(l,a)},l.onclick=function(a){(-1===Q.navigator.userAgent.indexOf("Android")||1100<Date.now()-(c.touchEventFired||0))&&b.call(l,a)}):l["on"+a]=b;return this},setRadialReference:function(a){var b=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,
  translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,l=this.scaleY,B=this.inverted,f=this.rotation,k=this.matrix,d=this.element;B&&(a+=this.width,b+=this.height);a=["translate("+a+","+b+")"];p(k)&&a.push("matrix("+k.join(",")+")");B?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+F(this.rotationOriginX,d.getAttribute("x"),0)+" "+F(this.rotationOriginY,d.getAttribute("y")||
  0)+")");(p(c)||p(l))&&a.push("scale("+F(c,1)+" "+F(l,1)+")");a.length&&d.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,c,l){var B,f,k,d,q={};f=this.renderer;k=f.alignedObjects;var L,e;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!l||G(l))this.alignTo=B=l||"renderer",b(k,this),k.push(this),l=null}else a=this.alignOptions,c=this.alignByTranslate,B=this.alignTo;l=F(l,f[B],f);B=a.align;f=a.verticalAlign;k=
  (l.x||0)+(a.x||0);d=(l.y||0)+(a.y||0);"right"===B?L=1:"center"===B&&(L=2);L&&(k+=(l.width-(a.width||0))/L);q[c?"translateX":"x"]=Math.round(k);"bottom"===f?e=1:"middle"===f&&(e=2);e&&(d+=(l.height-(a.height||0))/e);q[c?"translateY":"y"]=Math.round(d);this[this.placed?"animate":"attr"](q);this.placed=!0;this.alignAttr=q;return this},getBBox:function(a,b){var l,B=this.renderer,f,k=this.element,q=this.styles,e,L=this.textStr,m,z=B.cache,N=B.cacheKeys,y=k.namespaceURI===this.SVG_NS,h;b=F(b,this.rotation);
  f=b*t;e=q&&q.fontSize;p(L)&&(h=L.toString(),-1===h.indexOf("\x3c")&&(h=h.replace(/[0-9]/g,"0")),h+=["",b||0,e,this.textWidth,q&&q.textOverflow].join());h&&!a&&(l=z[h]);if(!l){if(y||B.forExport){try{(m=this.fakeTS&&function(a){d(k.querySelectorAll(".highcharts-text-outline"),function(b){b.style.display=a})})&&m("none"),l=k.getBBox?c({},k.getBBox()):{width:k.offsetWidth,height:k.offsetHeight},m&&m("")}catch(Z){}if(!l||0>l.width)l={width:0,height:0}}else l=this.htmlGetBBox();B.isSVG&&(a=l.width,B=l.height,
  y&&(l.height=B={"11px,17":14,"13px,20":16}[q&&q.fontSize+","+Math.round(B)]||B),b&&(l.width=Math.abs(B*Math.sin(f))+Math.abs(a*Math.cos(f)),l.height=Math.abs(B*Math.cos(f))+Math.abs(a*Math.sin(f))));if(h&&0<l.height){for(;250<N.length;)delete z[N.shift()];z[h]||N.push(h);z[h]=l}}return l},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},
  add:function(a){var b=this.renderer,c=this.element,l;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)l=this.zIndexSetter();l||(a?a.element:b.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,c=a.element||{},l=a.renderer.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,B=c.ownerSVGElement,f=a.clipPath;c.onclick=
  c.onmouseout=c.onmouseover=c.onmousemove=c.point=null;M(a);f&&B&&(d(B.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),c=f.element.id;(-1<b.indexOf("(#"+c+")")||-1<b.indexOf('("#'+c+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=f.destroy());if(a.stops){for(B=0;B<a.stops.length;B++)a.stops[B]=a.stops[B].destroy();a.stops=null}a.safeRemoveChild(c);for(a.destroyShadows();l&&l.div&&0===l.div.childNodes.length;)c=l.parentGroup,a.safeRemoveChild(l.div),delete l.div,
  l=c;a.alignTo&&b(a.renderer.alignedObjects,a);K(a,function(b,c){delete a[c]});return null},shadow:function(a,b,c){var l=[],B,f,k=this.element,d,q,e,m;if(!a)this.destroyShadows();else if(!this.shadows){q=F(a.width,3);e=(a.opacity||.15)/q;m=this.parentInverted?"(-1,-1)":"("+F(a.offsetX,1)+", "+F(a.offsetY,1)+")";for(B=1;B<=q;B++)f=k.cloneNode(0),d=2*q+1-2*B,g(f,{stroke:a.color||"#000000","stroke-opacity":e*B,"stroke-width":d,transform:"translate"+m,fill:"none"}),f.setAttribute("class",(f.getAttribute("class")||
  "")+" highcharts-shadow"),c&&(g(f,"height",Math.max(g(f,"height")-d,0)),f.cutHeight=d),b?b.element.appendChild(f):k.parentNode&&k.parentNode.insertBefore(f,k),l.push(f);this.shadows=l}return this},destroyShadows:function(){d(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=F(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):
  null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,c){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(c.setAttribute(b,a),this[b]=a)},dashstyleSetter:function(a){var b,c=this["stroke-width"];"inherit"===c&&(c=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,
  "").split(",");for(b=a.length;b--;)a[b]=l(a[b])*c;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,c){this[b]=a;c.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=m.createElementNS(this.SVG_NS,"title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);
  b.appendChild(m.createTextNode(String(F(a),"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,c){"string"===typeof a?c.setAttribute(b,a):a&&this.complexColor(a,b,c)},visibilitySetter:function(a,b,c){"inherit"===a?c.removeAttribute(b):this[b]!==a&&c.setAttribute(b,a);this[b]=a},zIndexSetter:function(a,b){var c=this.renderer,B=this.parentGroup,
  f=(B||c).element||c.box,k,d=this.element,q,e,c=f===c.box;k=this.added;var m;p(a)?(d.setAttribute("data-z-index",a),a=+a,this[b]===a&&(k=!1)):p(this[b])&&d.removeAttribute("data-z-index");this[b]=a;if(k){(a=this.zIndex)&&B&&(B.handleZ=!0);b=f.childNodes;for(m=b.length-1;0<=m&&!q;m--)if(B=b[m],k=B.getAttribute("data-z-index"),e=!p(k),B!==d)if(0>a&&e&&!c&&!m)f.insertBefore(d,b[m]),q=!0;else if(l(k)<=a||e&&(!p(a)||0<=a))f.insertBefore(d,b[m+1]||null),q=!0;q||(f.insertBefore(d,b[c?3:0]||null),q=!0)}return q},
  _defaultSetter:function(a,b,c){c.setAttribute(b,a)}});A.prototype.yGetter=A.prototype.xGetter;A.prototype.translateXSetter=A.prototype.translateYSetter=A.prototype.rotationSetter=A.prototype.verticalAlignSetter=A.prototype.rotationOriginXSetter=A.prototype.rotationOriginYSetter=A.prototype.scaleXSetter=A.prototype.scaleYSetter=A.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};A.prototype["stroke-widthSetter"]=A.prototype.strokeSetter=function(a,b,c){this[b]=a;this.stroke&&this["stroke-width"]?
  (A.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===b&&0===a&&this.hasStroke&&(c.removeAttribute("stroke"),this.hasStroke=!1)};C=a.SVGRenderer=function(){this.init.apply(this,arguments)};c(C.prototype,{Element:A,SVG_NS:N,init:function(a,b,c,l,B,f){var k;l=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(l));k=l.element;a.appendChild(k);g(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&
  g(k,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=k;this.boxWrapper=l;this.alignedObjects=[];this.url=(v||z)&&m.getElementsByTagName("base").length?Q.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 6.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=f;this.forExport=B;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,
  c,!1);var d;v&&a.getBoundingClientRect&&(b=function(){w(a,{left:0,top:0});d=a.getBoundingClientRect();w(a,{left:Math.ceil(d.left)-d.left+"px",top:Math.ceil(d.top)-d.top+"px"})},b(),this.unSubPixelFix=D(Q,"resize",b))},getStyle:function(a){return this.style=c({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=
  this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();e(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b=new this.Element;b.init(this,a);return b},draw:y,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,c,l,B,f,k){var d=this,q=a.rotation,e,z=l?1:0,N=(c||l).length,y=N,h=[],v=function(a){b.firstChild&&
  b.removeChild(b.firstChild);a&&b.appendChild(m.createTextNode(a))},M=function(f,q){q=q||f;if(void 0===h[q])if(b.getSubStringLength)try{h[q]=B+b.getSubStringLength(0,l?q+1:q)}catch(aa){}else d.getSpanWidth&&(v(k(c||l,f)),h[q]=B+d.getSpanWidth(a,b));return h[q]},x,t;a.rotation=0;x=M(b.textContent.length);if(t=B+x>f){for(;z<=N;)y=Math.ceil((z+N)/2),l&&(e=k(l,y)),x=M(y,e&&e.length-1),z===N?z=N+1:x>f?N=y-1:z=y;0===N?v(""):c&&N===c.length-1||v(e||k(c||l,y))}l&&l.splice(0,y);a.actualWidth=x;a.rotation=q;
  return t},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,c=this,B=c.forExport,f=F(a.textStr,"").toString(),e=-1!==f.indexOf("\x3c"),z=b.childNodes,y,h=g(b,"x"),v=a.styles,M=a.textWidth,x=v&&v.lineHeight,t=v&&v.textOutline,p=v&&"ellipsis"===v.textOverflow,E=v&&"nowrap"===v.whiteSpace,L=v&&v.fontSize,H,O,G=z.length,v=M&&!a.added&&this.box,I=function(a){var B;B=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:L||
  c.style.fontSize||12;return x?l(x):c.fontMetrics(B,a.getAttribute("style")?a:b).h},n=function(a,b){K(c.escapes,function(c,l){b&&-1!==q(c,b)||(a=a.toString().replace(new RegExp(c,"g"),l))});return a},u=function(a,b){var c;c=a.indexOf("\x3c");a=a.substring(c,a.indexOf("\x3e")-c);c=a.indexOf(b+"\x3d");if(-1!==c&&(c=c+b.length+1,b=a.charAt(c),'"'===b||"'"===b))return a=a.substring(c+1),a.substring(0,a.indexOf(b))};H=[f,p,E,x,t,L,M].join();if(H!==a.textCache){for(a.textCache=H;G--;)b.removeChild(z[G]);
  e||t||p||M||-1!==f.indexOf(" ")?(v&&v.appendChild(b),f=e?f.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[f],f=k(f,function(a){return""!==a}),d(f,function(l,f){var k,q=0,e=0;l=l.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");k=l.split("|||");d(k,function(l){if(""!==l||1===
  k.length){var d={},z=m.createElementNS(c.SVG_NS,"tspan"),v,x;(v=u(l,"class"))&&g(z,"class",v);if(v=u(l,"style"))v=v.replace(/(;| |^)color([ :])/,"$1fill$2"),g(z,"style",v);(x=u(l,"href"))&&!B&&(g(z,"onclick",'location.href\x3d"'+x+'"'),g(z,"class","highcharts-anchor"),w(z,{cursor:"pointer"}));l=n(l.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==l){z.appendChild(m.createTextNode(l));q?d.dx=0:f&&null!==h&&(d.x=h);g(z,d);b.appendChild(z);!q&&O&&(!P&&B&&w(z,{display:"block"}),g(z,"dy",I(z)));if(M){var t=
  l.replace(/([^\^])-/g,"$1- ").split(" "),d=!E&&(1<k.length||f||1<t.length);x=0;var H=I(z);if(p)y=c.truncate(a,z,l,void 0,0,Math.max(0,M-parseInt(L||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(d)for(;t.length;)t.length&&!E&&0<x&&(z=m.createElementNS(N,"tspan"),g(z,{dy:H,x:h}),v&&g(z,"style",v),z.appendChild(m.createTextNode(t.join(" ").replace(/- /g,"-"))),b.appendChild(z)),c.truncate(a,z,null,t,0===x?e:0,M,function(a,b){return t.slice(0,b).join(" ").replace(/- /g,"-")}),e=a.actualWidth,
  x++}q++}}});O=O||b.childNodes.length}),p&&y&&a.attr("title",n(a.textStr,["\x26lt;","\x26gt;"])),v&&v.removeChild(b),t&&a.applyTextOutline&&a.applyTextOutline(t)):b.appendChild(m.createTextNode(n(f)))}},getContrast:function(a){a=u(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,l,B,f,k,d,q,e){var m=this.label(a,b,l,e,null,null,null,null,"button"),z=0;m.attr(H({padding:8,r:2},f));var N,y,v,h;f=H({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,
  style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},f);N=f.style;delete f.style;k=H(f,{fill:"#e6e6e6"},k);y=k.style;delete k.style;d=H(f,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},d);v=d.style;delete d.style;q=H(f,{style:{color:"#cccccc"}},q);h=q.style;delete q.style;D(m.element,I?"mouseover":"mouseenter",function(){3!==z&&m.setState(1)});D(m.element,I?"mouseout":"mouseleave",function(){3!==z&&m.setState(z)});m.setState=function(a){1!==a&&(m.state=z=a);m.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
  ["normal","hover","pressed","disabled"][a||0]);m.attr([f,k,d,q][a||0]).css([N,y,v,h][a||0])};m.attr(f).css(c({cursor:"default"},N));return m.on("click",function(a){3!==z&&B.call(m,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={fill:"none"};E(a)?b.d=a:x(a)&&c(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=x(a)?a:{x:a,y:b,r:c};b=this.createElement("circle");b.xSetter=
  b.ySetter=function(a,b,c){c.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,c,l,f,B){x(a)?(l=a,b=l.y,c=l.r,a=l.x):l={innerR:l,start:f,end:B};a=this.symbol("arc",a,b,c,c,l);a.r=c;return a},rect:function(a,b,c,l,f,B){f=x(a)?a.r:f;var k=this.createElement("rect");a=x(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(c,0),height:Math.max(l,0)};void 0!==B&&(a.strokeWidth=B,a=k.crisp(a));a.fill="none";f&&(a.r=f);k.rSetter=function(a,b,c){g(c,{rx:a,ry:a})};return k.attr(a)},setSize:function(a,b,c){var l=
  this.alignedObjects,f=l.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:F(c,!0)?void 0:0});f--;)l[f].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+a}):b},image:function(a,b,l,f,B,k){var d={preserveAspectRatio:"none"},q,e=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",
  b)},m=function(b){e(q.element,a);k.call(q,b)};1<arguments.length&&c(d,{x:b,y:l,width:f,height:B});q=this.createElement("image").attr(d);k?(e(q.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),d=new Q.Image,D(d,"load",m),d.src=a,d.complete&&m({})):e(q.element,a);return q},symbol:function(a,b,l,f,B,k){var q=this,e,z=/^url\((.*?)\)$/,N=z.test(a),y=!N&&(this.symbols[a]?a:"circle"),v=y&&this.symbols[y],M=p(b)&&v&&v.call(this.symbols,Math.round(b),Math.round(l),
  f,B,k),x,t;v?(e=this.path(M),e.attr("fill","none"),c(e,{symbolName:y,x:b,y:l,width:f,height:B}),k&&c(e,k)):N&&(x=a.match(z)[1],e=this.image(x),e.imgwidth=F(O[x]&&O[x].width,k&&k.width),e.imgheight=F(O[x]&&O[x].height,k&&k.height),t=function(){e.attr({width:e.width,height:e.height})},d(["width","height"],function(a){e[a+"Setter"]=function(a,b){var c={},l=this["img"+b],f="width"===b?"translateX":"translateY";this[b]=a;p(l)&&(this.element&&this.element.setAttribute(b,l),this.alignByTranslate||(c[f]=
  ((this[b]||0)-l)/2,this.attr(c)))}}),p(b)&&e.attr({x:b,y:l}),e.isImg=!0,p(e.imgwidth)&&p(e.imgheight)?t():(e.attr({width:0,height:0}),h("img",{onload:function(){var a=n[q.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this));O[x]={width:this.width,height:this.height};e.imgwidth=this.width;e.imgheight=this.height;e.element&&t();this.parentNode&&this.parentNode.removeChild(this);q.imgCount--;if(!q.imgCount&&a&&a.onload)a.onload()},src:x}),this.imgCount++));
  return e},symbols:{circle:function(a,b,c,l){return this.arc(a+c/2,b+l/2,c/2,l/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,c,l){return["M",a,b,"L",a+c,b,a+c,b+l,a,b+l,"Z"]},triangle:function(a,b,c,l){return["M",a+c/2,b,"L",a+c,b+l,a,b+l,"Z"]},"triangle-down":function(a,b,c,l){return["M",a,b,"L",a+c,b,a+c/2,b+l,"Z"]},diamond:function(a,b,c,l){return["M",a+c/2,b,"L",a+c,b+l/2,a+c/2,b+l,a,b+l/2,"Z"]},arc:function(a,b,c,l,f){var B=f.start,k=f.r||c,d=f.r||l||c,q=f.end-.001;c=f.innerR;l=F(f.open,
  .001>Math.abs(f.end-f.start-2*Math.PI));var e=Math.cos(B),m=Math.sin(B),z=Math.cos(q),q=Math.sin(q);f=.001>f.end-B-Math.PI?0:1;k=["M",a+k*e,b+d*m,"A",k,d,0,f,1,a+k*z,b+d*q];p(c)&&k.push(l?"M":"L",a+c*z,b+c*q,"A",c,c,0,f,0,a+c*e,b+c*m);k.push(l?"":"Z");return k},callout:function(a,b,c,l,f){var B=Math.min(f&&f.r||0,c,l),k=B+6,d=f&&f.anchorX;f=f&&f.anchorY;var q;q=["M",a+B,b,"L",a+c-B,b,"C",a+c,b,a+c,b,a+c,b+B,"L",a+c,b+l-B,"C",a+c,b+l,a+c,b+l,a+c-B,b+l,"L",a+B,b+l,"C",a,b+l,a,b+l,a,b+l-B,"L",a,b+B,
  "C",a,b,a,b,a+B,b];d&&d>c?f>b+k&&f<b+l-k?q.splice(13,3,"L",a+c,f-6,a+c+6,f,a+c,f+6,a+c,b+l-B):q.splice(13,3,"L",a+c,l/2,d,f,a+c,l/2,a+c,b+l-B):d&&0>d?f>b+k&&f<b+l-k?q.splice(33,3,"L",a,f+6,a-6,f,a,f-6,a,b+B):q.splice(33,3,"L",a,l/2,d,f,a,l/2,a,b+B):f&&f>l&&d>a+k&&d<a+c-k?q.splice(23,3,"L",d+6,b+l,d,b+l+6,d-6,b+l,a+B,b+l):f&&0>f&&d>a+k&&d<a+c-k&&q.splice(3,3,"L",d-6,b,d,b-6,d+6,b,c-B,b);return q}},clipRect:function(b,c,l,f){var B=a.uniqueKey(),k=this.createElement("clipPath").attr({id:B}).add(this.defs);
  b=this.rect(b,c,l,f,0).add(k);b.id=B;b.clipPath=k;b.count=0;return b},text:function(a,b,c,l){var f={};if(l&&(this.allowHTML||!this.forExport))return this.html(a,b,c);f.x=Math.round(b||0);c&&(f.y=Math.round(c));p(a)&&(f.text=a);a=this.createElement("text").attr(f);l||(a.xSetter=function(a,b,c){var l=c.getElementsByTagName("tspan"),f,B=c.getAttribute(b),k;for(k=0;k<l.length;k++)f=l[k],f.getAttribute(b)===B&&f.setAttribute(b,a);c.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=a||b&&b.style&&
  b.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?l(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,c){var l=a;b&&c&&(l=Math.max(l*Math.cos(b*t),4));return{x:-a/3*Math.sin(b*t),y:l}},label:function(b,l,f,k,q,e,m,z,N){var y=this,v=y.g("button"!==N&&"label"),h=v.text=y.text("",0,0,m).attr({zIndex:1}),x,M,t=0,E=3,P=0,O,G,I,g,n,K={},F,u,r=/^url\((.*?)\)$/.test(k),Q=r,w,L,
  U,R;N&&v.addClass("highcharts-"+N);Q=r;w=function(){return(F||0)%2/2};L=function(){var a=h.element.style,b={};M=(void 0===O||void 0===G||n)&&p(h.textStr)&&h.getBBox();v.width=(O||M.width||0)+2*E+P;v.height=(G||M.height||0)+2*E;u=E+y.fontMetrics(a&&a.fontSize,h).b;Q&&(x||(v.box=x=y.symbols[k]||r?y.symbol(k):y.rect(),x.addClass(("button"===N?"":"highcharts-label-box")+(N?" highcharts-"+N+"-box":"")),x.add(v),a=w(),b.x=a,b.y=(z?-u:0)+a),b.width=Math.round(v.width),b.height=Math.round(v.height),x.attr(c(b,
  K)),K={})};U=function(){var a=P+E,b;b=z?0:u;p(O)&&M&&("center"===n||"right"===n)&&(a+={center:.5,right:1}[n]*(O-M.width));if(a!==h.x||b!==h.y)h.attr("x",a),h.hasBoxWidthChanged&&(M=h.getBBox(!0),L()),void 0!==b&&h.attr("y",b);h.x=a;h.y=b};R=function(a,b){x?x.attr(a,b):K[a]=b};v.onAdd=function(){h.add(v);v.attr({text:b||0===b?b:"",x:l,y:f});x&&p(q)&&v.attr({anchorX:q,anchorY:e})};v.widthSetter=function(b){O=a.isNumber(b)?b:null};v.heightSetter=function(a){G=a};v["text-alignSetter"]=function(a){n=a};
  v.paddingSetter=function(a){p(a)&&a!==E&&(E=v.padding=a,U())};v.paddingLeftSetter=function(a){p(a)&&a!==P&&(P=a,U())};v.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==t&&(t=a,M&&v.attr({x:I}))};v.textSetter=function(a){void 0!==a&&h.textSetter(a);L();U()};v["stroke-widthSetter"]=function(a,b){a&&(Q=!0);F=this["stroke-width"]=a;R(b,a)};v.strokeSetter=v.fillSetter=v.rSetter=function(a,b){"r"!==b&&("fill"===b&&a&&(Q=!0),v[b]=a);R(b,a)};v.anchorXSetter=function(a,b){q=v.anchorX=a;R(b,Math.round(a)-
  w()-I)};v.anchorYSetter=function(a,b){e=v.anchorY=a;R(b,a-g)};v.xSetter=function(a){v.x=a;t&&(a-=t*((O||M.width)+2*E),v["forceAnimate:x"]=!0);I=Math.round(a);v.attr("translateX",I)};v.ySetter=function(a){g=v.y=Math.round(a);v.attr("translateY",g)};var X=v.css;return c(v,{css:function(a){if(a){var b={};a=H(a);d(v.textProps,function(c){void 0!==a[c]&&(b[c]=a[c],delete a[c])});h.css(b);"width"in b&&L()}return X.call(v,a)},getBBox:function(){return{width:M.width+2*E,height:M.height+2*E,x:M.x-E,y:M.y-
  E}},shadow:function(a){a&&(L(),x&&x.shadow(a));return v},destroy:function(){B(v.element,"mouseenter");B(v.element,"mouseleave");h&&(h=h.destroy());x&&(x=x.destroy());A.prototype.destroy.call(v);v=y=L=U=R=null}})}});a.Renderer=C})(J);(function(a){var A=a.attr,C=a.createElement,D=a.css,r=a.defined,g=a.each,n=a.extend,u=a.isFirefox,w=a.isMS,h=a.isWebKit,p=a.pick,t=a.pInt,e=a.SVGRenderer,m=a.win,d=a.wrap;n(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,
  c=p(b&&a.width,void 0);b&&(delete a.width,this.textWidth=c,this.htmlUpdateTransform());a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=n(this.styles,a);D(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,k=this.translateX||0,f=this.translateY||0,d=this.x||0,e=this.y||0,m=this.textAlign||
  "left",h={left:0,center:.5,right:1}[m],x=this.styles,p=x&&x.whiteSpace;D(b,{marginLeft:k,marginTop:f});this.shadows&&g(this.shadows,function(a){D(a,{marginLeft:k+1,marginTop:f+1})});this.inverted&&g(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var x=this.rotation,z=this.textWidth&&t(this.textWidth),H=[x,m,b.innerHTML,this.textWidth,this.textAlign].join(),y;(y=z!==this.oldTextWidth)&&!(y=z>this.oldTextWidth)&&((y=this.textPxLength)||(D(b,{width:"",whiteSpace:p||"nowrap"}),y=
  b.offsetWidth),y=y>z);y&&/[ \-]/.test(b.textContent||b.innerText)?(D(b,{width:z+"px",display:"block",whiteSpace:p||"normal"}),this.oldTextWidth=z,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;H!==this.cTT&&(p=a.fontMetrics(b.style.fontSize).b,!r(x)||x===(this.oldRotation||0)&&m===this.oldAlign||this.setSpanRotation(x,h,p),this.getSpanCorrection(!r(x)&&this.textPxLength||b.offsetWidth,p,h,x,m));D(b,{left:d+(this.xCorr||0)+"px",top:e+(this.yCorr||0)+"px"});this.cTT=H;this.oldRotation=x;this.oldAlign=
  m}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,k){var c={},d=this.renderer.getTransformKey();c[d]=c.transform="rotate("+a+"deg)";c[d+(u?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+k+"px";D(this.element,c)},getSpanCorrection:function(a,b,k){this.xCorr=-a*k;this.yCorr=-b}});n(e.prototype,{getTransformKey:function(){return w&&!/Edge/.test(m.navigator.userAgent)?"-ms-transform":h?"-webkit-transform":u?"MozTransform":m.opera?"-o-transform":""},html:function(a,b,k){var c=this.createElement("span"),
  q=c.element,e=c.renderer,m=e.isSVG,h=function(a,b){g(["opacity","visibility"],function(c){d(a,c+"Setter",function(a,c,f,k){a.call(this,c,f,k);b[f]=c})});a.addedSetters=!0};c.textSetter=function(a){a!==q.innerHTML&&delete this.bBox;this.textStr=a;q.innerHTML=p(a,"");c.doTransform=!0};m&&h(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.doTransform=!0};c.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=
  !1)};c.attr({text:a,x:Math.round(b),y:Math.round(k)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});q.style.whiteSpace="nowrap";c.css=c.htmlCss;m&&(c.add=function(a){var b,f=e.box.parentNode,k=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)k.push(a),a=a.parentGroup;g(k.reverse(),function(a){function d(b,c){a[c]=b;"translateX"===c?q.left=b+"px":q.top=b+"px";a.doTransform=!0}var q,l=A(a.element,"class");l&&(l={className:l});b=a.div=a.div||C("div",l,{position:"absolute",
  left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},b||f);q=b.style;n(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){k[0].div&&c.on.apply({element:k[0].div},arguments);return a},translateXSetter:d,translateYSetter:d});a.addedSetters||h(a,q)})}}else b=f;b.appendChild(q);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(J);
  (function(a){var A=a.defined,C=a.each,D=a.extend,r=a.merge,g=a.pick,n=a.timeUnits,u=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var h=g(a&&a.useUTC,!0),p=this;this.options=a=r(!0,this.options||{},a);this.Date=a.Date||u.Date;this.timezoneOffset=(this.useUTC=h)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(h&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,e){var m=
  e.getTime(),d=m-p.getTimezoneOffset(e);e.setTime(d);a=e["getUTC"+a]();e.setTime(m);return a},this.set=function(a,e,m){var d;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===e.getTimezoneOffset()%60)e["set"+a](m);else d=p.getTimezoneOffset(e),d=e.getTime()-d,e.setTime(d),e["setUTC"+a](m),a=p.getTimezoneOffset(e),d=e.getTime()+a,e.setTime(d)}):h?(this.get=function(a,e){return e["getUTC"+a]()},this.set=function(a,e,m){return e["setUTC"+a](m)}):(this.get=function(a,e){return e["get"+a]()},this.set=
  function(a,e,m){return e["set"+a](m)})},makeTime:function(n,h,p,t,e,m){var d,c,b;this.useUTC?(d=this.Date.UTC.apply(0,arguments),c=this.getTimezoneOffset(d),d+=c,b=this.getTimezoneOffset(d),c!==b?d+=b-c:c-36E5!==this.getTimezoneOffset(d-36E5)||a.isSafari||(d-=36E5)):d=(new this.Date(n,h,g(p,1),g(t,0),g(e,0),g(m,0))).getTime();return d},timezoneOffsetFunction:function(){var g=this,h=this.options,p=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(h.timezone){if(p)return function(a){return 6E4*
  -p.tz(a,h.timezone).utcOffset()};a.error(25)}return this.useUTC&&h.getTimezoneOffset?function(a){return 6E4*h.getTimezoneOffset(a)}:function(){return 6E4*(g.timezoneOffset||0)}},dateFormat:function(g,h,p){if(!a.defined(h)||isNaN(h))return a.defaultOptions.lang.invalidDate||"";g=a.pick(g,"%Y-%m-%d %H:%M:%S");var t=this,e=new this.Date(h),m=this.get("Hours",e),d=this.get("Day",e),c=this.get("Date",e),b=this.get("Month",e),k=this.get("FullYear",e),f=a.defaultOptions.lang,q=f.weekdays,E=f.shortWeekdays,
  v=a.pad,e=a.extend({a:E?E[d]:q[d].substr(0,3),A:q[d],d:v(c),e:v(c,2," "),w:d,b:f.shortMonths[b],B:f.months[b],m:v(b+1),o:b+1,y:k.toString().substr(2,2),Y:k,H:v(m),k:m,I:v(m%12||12),l:m%12||12,M:v(t.get("Minutes",e)),p:12>m?"AM":"PM",P:12>m?"am":"pm",S:v(e.getSeconds()),L:v(Math.floor(h%1E3),3)},a.dateFormats);a.objectEach(e,function(a,b){for(;-1!==g.indexOf("%"+b);)g=g.replace("%"+b,"function"===typeof a?a.call(t,h):a)});return p?g.substr(0,1).toUpperCase()+g.substr(1):g},resolveDTLFormat:function(g){return a.isObject(g,
  !0)?g:(g=a.splat(g),{main:g[0],from:g[1],to:g[2]})},getTimeTicks:function(a,h,p,t){var e=this,m=[],d,c={},b;d=new e.Date(h);var k=a.unitRange,f=a.count||1,q;t=g(t,1);if(A(h)){e.set("Milliseconds",d,k>=n.second?0:f*Math.floor(e.get("Milliseconds",d)/f));k>=n.second&&e.set("Seconds",d,k>=n.minute?0:f*Math.floor(e.get("Seconds",d)/f));k>=n.minute&&e.set("Minutes",d,k>=n.hour?0:f*Math.floor(e.get("Minutes",d)/f));k>=n.hour&&e.set("Hours",d,k>=n.day?0:f*Math.floor(e.get("Hours",d)/f));k>=n.day&&e.set("Date",
  d,k>=n.month?1:f*Math.floor(e.get("Date",d)/f));k>=n.month&&(e.set("Month",d,k>=n.year?0:f*Math.floor(e.get("Month",d)/f)),b=e.get("FullYear",d));k>=n.year&&e.set("FullYear",d,b-b%f);k===n.week&&(b=e.get("Day",d),e.set("Date",d,e.get("Date",d)-b+t+(b<t?-7:0)));b=e.get("FullYear",d);t=e.get("Month",d);var E=e.get("Date",d),v=e.get("Hours",d);h=d.getTime();e.variableTimezone&&(q=p-h>4*n.month||e.getTimezoneOffset(h)!==e.getTimezoneOffset(p));h=d.getTime();for(d=1;h<p;)m.push(h),h=k===n.year?e.makeTime(b+
  d*f,0):k===n.month?e.makeTime(b,t+d*f):!q||k!==n.day&&k!==n.week?q&&k===n.hour&&1<f?e.makeTime(b,t,E,v+d*f):h+k*f:e.makeTime(b,t,E+d*f*(k===n.day?1:7)),d++;m.push(h);k<=n.hour&&1E4>m.length&&C(m,function(a){0===a%18E5&&"000000000"===e.dateFormat("%H%M%S%L",a)&&(c[a]="day")})}m.info=D(a,{higherRanks:c,totalRange:k*f});return m}}})(J);(function(a){var A=a.color,C=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle",
  "diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,
  chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",
  labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",
  position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:A("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
  pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(A){a.defaultOptions=C(!0,a.defaultOptions,A);
  a.time.update(C(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(C(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(A,r,g){return a.time.dateFormat(A,r,g)}})(J);(function(a){var A=a.correctFloat,C=a.defined,D=a.destroyObjectProperties,r=a.fireEvent,g=a.isNumber,n=a.merge,u=a.pick,w=a.deg2rad;a.Tick=function(a,p,t,e,m){this.axis=a;this.pos=
  p;this.type=t||"";this.isNewLabel=this.isNew=!0;this.parameters=m||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;t||e||this.addLabel()};a.Tick.prototype={addLabel:function(){var h=this,p=h.axis,t=p.options,e=p.chart,m=p.categories,d=p.names,c=h.pos,b=u(h.options&&h.options.labels,t.labels),k=p.tickPositions,f=c===k[0],q=c===k[k.length-1],m=this.parameters.category||(m?u(m[c],d[c],c):c),E=h.label,k=k.info,v,g,x,G;p.isDatetimeAxis&&k&&(g=e.time.resolveDTLFormat(t.dateTimeLabelFormats[!t.grid&&
  k.higherRanks[c]||k.unitName]),v=g.main);h.isFirst=f;h.isLast=q;h.formatCtx={axis:p,chart:e,isFirst:f,isLast:q,dateTimeLabelFormat:v,tickPositionInfo:k,value:p.isLog?A(p.lin2log(m)):m,pos:c};t=p.labelFormatter.call(h.formatCtx,this.formatCtx);if(G=g&&g.list)h.shortenLabel=function(){for(x=0;x<G.length;x++)if(E.attr({text:p.labelFormatter.call(a.extend(h.formatCtx,{dateTimeLabelFormat:G[x]}))}),E.getBBox().width<p.getSlotWidth(h)-2*u(b.padding,5))return;E.attr({text:""})};if(C(E))E&&E.textStr!==t&&
  (!E.textWidth||b.style&&b.style.width||E.styles.width||E.css({width:null}),E.attr({text:t}));else{if(h.label=E=C(t)&&b.enabled?e.renderer.text(t,0,0,b.useHTML).css(n(b.style)).add(p.labelGroup):null)E.textPxLength=E.getBBox().width;h.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var h=this.axis,t=h.options.labels,e=a.x,m=h.chart.chartWidth,d=h.chart.spacing,c=u(h.labelLeft,Math.min(h.pos,d[3])),d=u(h.labelRight,
  Math.max(h.isRadial?0:h.pos+h.len,m-d[1])),b=this.label,k=this.rotation,f={left:0,center:.5,right:1}[h.labelAlign||b.attr("align")],q=b.getBBox().width,E=h.getSlotWidth(this),v=E,g=1,x,n={};if(k||"justify"!==u(t.overflow,"justify"))0>k&&e-f*q<c?x=Math.round(e/Math.cos(k*w)-c):0<k&&e+f*q>d&&(x=Math.round((m-e)/Math.cos(k*w)));else if(m=e+(1-f)*q,e-f*q<c?v=a.x+v*(1-f)-c:m>d&&(v=d-a.x+v*f,g=-1),v=Math.min(E,v),v<E&&"center"===h.labelAlign&&(a.x+=g*(E-v-f*(E-Math.min(q,v)))),q>v||h.autoRotation&&(b.styles||
  {}).width)x=v;x&&(this.shortenLabel?this.shortenLabel():(n.width=x,(t.style||{}).textOverflow||(n.textOverflow="ellipsis"),b.css(n)))},getPosition:function(h,p,t,e){var m=this.axis,d=m.chart,c=e&&d.oldChartHeight||d.chartHeight;h={x:h?a.correctFloat(m.translate(p+t,null,null,e)+m.transB):m.left+m.offset+(m.opposite?(e&&d.oldChartWidth||d.chartWidth)-m.right-m.left:0),y:h?c-m.bottom+m.offset-(m.opposite?m.height:0):a.correctFloat(c-m.translate(p+t,null,null,e)-m.transB)};r(this,"afterGetPosition",
  {pos:h});return h},getLabelPosition:function(a,p,t,e,m,d,c,b){var k=this.axis,f=k.transA,q=k.reversed,h=k.staggerLines,v=k.tickRotCorr||{x:0,y:0},g=m.y,x=e||k.reserveSpaceDefault?0:-k.labelOffset*("center"===k.labelAlign?.5:1),n={};C(g)||(g=0===k.side?t.rotation?-8:-t.getBBox().height:2===k.side?v.y+8:Math.cos(t.rotation*w)*(v.y-t.getBBox(!1,0).height/2));a=a+m.x+x+v.x-(d&&e?d*f*(q?-1:1):0);p=p+g-(d&&!e?d*f*(q?1:-1):0);h&&(t=c/(b||1)%h,k.opposite&&(t=h-t-1),p+=k.labelOffset/h*t);n.x=a;n.y=Math.round(p);
  r(this,"afterGetLabelPosition",{pos:n});return n},getMarkPath:function(a,p,t,e,m,d){return d.crispLine(["M",a,p,"L",a+(m?0:-t),p+(m?t:0)],e)},renderGridLine:function(a,p,t){var e=this.axis,m=e.options,d=this.gridLine,c={},b=this.pos,k=this.type,f=u(this.tickmarkOffset,e.tickmarkOffset),q=e.chart.renderer,h=k?k+"Grid":"grid",v=m[h+"LineWidth"],g=m[h+"LineColor"],m=m[h+"LineDashStyle"];d||(c.stroke=g,c["stroke-width"]=v,m&&(c.dashstyle=m),k||(c.zIndex=1),a&&(p=0),this.gridLine=d=q.path().attr(c).addClass("highcharts-"+
  (k?k+"-":"")+"grid-line").add(e.gridGroup));if(d&&(t=e.getPlotLinePath(b+f,d.strokeWidth()*t,a,"pass")))d[a||this.isNew?"attr":"animate"]({d:t,opacity:p})},renderMark:function(a,p,t){var e=this.axis,m=e.options,d=e.chart.renderer,c=this.type,b=c?c+"Tick":"tick",k=e.tickSize(b),f=this.mark,q=!f,h=a.x;a=a.y;var v=u(m[b+"Width"],!c&&e.isXAxis?1:0),m=m[b+"Color"];k&&(e.opposite&&(k[0]=-k[0]),q&&(this.mark=f=d.path().addClass("highcharts-"+(c?c+"-":"")+"tick").add(e.axisGroup),f.attr({stroke:m,"stroke-width":v})),
  f[q?"attr":"animate"]({d:this.getMarkPath(h,a,k[0],f.strokeWidth()*t,e.horiz,d),opacity:p}))},renderLabel:function(a,p,t,e){var m=this.axis,d=m.horiz,c=m.options,b=this.label,k=c.labels,f=k.step,m=u(this.tickmarkOffset,m.tickmarkOffset),q=!0,h=a.x;a=a.y;b&&g(h)&&(b.xy=a=this.getLabelPosition(h,a,b,d,k,m,e,f),this.isFirst&&!this.isLast&&!u(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!u(c.showLastLabel,1)?q=!1:!d||k.step||k.rotation||p||0===t||this.handleOverflow(a),f&&e%f&&(q=!1),q&&g(a.y)?(a.opacity=
  t,b[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(b.attr("y",-9999),this.isNewLabel=!0))},render:function(h,p,t){var e=this.axis,m=e.horiz,d=this.pos,c=u(this.tickmarkOffset,e.tickmarkOffset),d=this.getPosition(m,d,c,p),c=d.x,b=d.y,e=m&&c===e.pos+e.len||!m&&b===e.pos?-1:1;t=u(t,1);this.isActive=!0;this.renderGridLine(p,t,e);this.renderMark(d,t,e);this.renderLabel(d,p,t,h);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){D(this,this.axis)}}})(J);var V=function(a){var A=
  a.addEvent,C=a.animObject,D=a.arrayMax,r=a.arrayMin,g=a.color,n=a.correctFloat,u=a.defaultOptions,w=a.defined,h=a.deg2rad,p=a.destroyObjectProperties,t=a.each,e=a.extend,m=a.fireEvent,d=a.format,c=a.getMagnitude,b=a.grep,k=a.inArray,f=a.isArray,q=a.isNumber,E=a.isString,v=a.merge,I=a.normalizeTickInterval,x=a.objectEach,G=a.pick,z=a.removeEvent,H=a.splat,y=a.syncTimeout,K=a.Tick,F=function(){this.init.apply(this,arguments)};a.extend(F.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",
  range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",
  style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",
  textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,b){var c=b.isX,l=this;l.chart=a;l.horiz=a.inverted&&!l.isZAxis?!c:c;l.isXAxis=c;l.coll=l.coll||(c?"xAxis":"yAxis");m(this,"init",{userOptions:b});l.opposite=
  b.opposite;l.side=b.side||(l.horiz?l.opposite?0:2:l.opposite?1:3);l.setOptions(b);var f=this.options,B=f.type;l.labelFormatter=f.labels.formatter||l.defaultLabelFormatter;l.userOptions=b;l.minPixelPadding=0;l.reversed=f.reversed;l.visible=!1!==f.visible;l.zoomEnabled=!1!==f.zoomEnabled;l.hasNames="category"===B||!0===f.categories;l.categories=f.categories||l.hasNames;l.names||(l.names=[],l.names.keys={});l.plotLinesAndBandsGroups={};l.isLog="logarithmic"===B;l.isDatetimeAxis="datetime"===B;l.positiveValuesOnly=
  l.isLog&&!l.allowNegativeLog;l.isLinked=w(f.linkedTo);l.ticks={};l.labelEdge=[];l.minorTicks={};l.plotLinesAndBands=[];l.alternateBands={};l.len=0;l.minRange=l.userMinRange=f.minRange||f.maxZoom;l.range=f.range;l.offset=f.offset||0;l.stacks={};l.oldStacks={};l.stacksTouched=0;l.max=null;l.min=null;l.crosshair=G(f.crosshair,H(a.options.tooltip.crosshairs)[c?0:1],!1);b=l.options.events;-1===k(l,a.axes)&&(c?a.axes.splice(a.xAxis.length,0,l):a.axes.push(l),a[l.coll].push(l));l.series=l.series||[];a.inverted&&
  !l.isZAxis&&c&&void 0===l.reversed&&(l.reversed=!0);x(b,function(a,b){A(l,b,a)});l.lin2log=f.linearToLogConverter||l.lin2log;l.isLog&&(l.val2lin=l.log2lin,l.lin2val=l.lin2log);m(this,"afterInit")},setOptions:function(a){this.options=v(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],v(u[this.coll],a));m(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var b=
  this.axis,c=this.value,f=b.chart.time,k=b.categories,q=this.dateTimeLabelFormat,e=u.lang,m=e.numericSymbols,e=e.numericSymbolMagnitude||1E3,z=m&&m.length,v,h=b.options.labels.format,b=b.isLog?Math.abs(c):b.tickInterval;if(h)v=d(h,this,f);else if(k)v=c;else if(q)v=f.dateFormat(q,c);else if(z&&1E3<=b)for(;z--&&void 0===v;)f=Math.pow(e,z+1),b>=f&&0===10*c%f&&null!==m[z]&&0!==c&&(v=a.numberFormat(c/f,-1)+m[z]);void 0===v&&(v=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return v},
  getSeriesExtremes:function(){var a=this,c=a.chart;m(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();t(a.series,function(l){if(l.visible||!c.options.chart.ignoreHiddenSeries){var f=l.options,k=f.threshold,B;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=k&&(k=null);if(a.isXAxis)f=l.xData,f.length&&(l=r(f),B=D(f),q(l)||l instanceof Date||(f=b(f,q),l=r(f),B=D(f)),f.length&&(a.dataMin=Math.min(G(a.dataMin,
  f[0],l),l),a.dataMax=Math.max(G(a.dataMax,f[0],B),B)));else if(l.getExtremes(),B=l.dataMax,l=l.dataMin,w(l)&&w(B)&&(a.dataMin=Math.min(G(a.dataMin,l),l),a.dataMax=Math.max(G(a.dataMax,B),B)),w(k)&&(a.threshold=k),!f.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});m(this,"afterGetSeriesExtremes")},translate:function(a,b,c,f,k,d){var l=this.linkedParent||this,B=1,e=0,m=f?l.oldTransA:l.transA;f=f?l.oldMin:l.min;var z=l.minPixelPadding;k=(l.isOrdinal||l.isBroken||l.isLog&&k)&&l.lin2val;m||
  (m=l.transA);c&&(B*=-1,e=l.len);l.reversed&&(B*=-1,e-=B*(l.sector||l.len));b?(a=(a*B+e-z)/m+f,k&&(a=l.lin2val(a))):(k&&(a=l.val2lin(a)),a=q(f)?B*(a-f)*m+e+B*z+(q(d)?m*d:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,f,k){var l=this.chart,B=this.left,d=this.top,e,m,z=c&&l.oldChartHeight||l.chartHeight,v=c&&l.oldChartWidth||
  l.chartWidth,h;e=this.transB;var y=function(a,b,c){if("pass"!==f&&a<b||a>c)f?a=Math.min(Math.max(b,a),c):h=!0;return a};k=G(k,this.translate(a,null,null,c));k=Math.min(Math.max(-1E5,k),1E5);a=c=Math.round(k+e);e=m=Math.round(z-k-e);q(k)?this.horiz?(e=d,m=z-this.bottom,a=c=y(a,B,B+this.width)):(a=B,c=v-this.right,e=m=y(e,d,d+this.height)):(h=!0,f=!1);return h&&!f?null:l.renderer.crispLine(["M",a,e,"L",c,m],b||1)},getLinearTickPositions:function(a,b,c){var l,f=n(Math.floor(b/a)*a);c=n(Math.ceil(c/a)*
  a);var k=[],B;n(f+a)===f&&(B=20);if(this.single)return[b];for(b=f;b<=c;){k.push(b);b=n(b+a,B);if(b===l)break;l=b}return k},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?G(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,c=a.tickPositions,f=a.minorTickInterval,k=[],d=a.pointRangePadding||0,q=a.min-d,d=a.max+d,e=d-q;if(e&&e/f<a.len/3)if(a.isLog)t(this.paddedTicks,function(b,c,l){c&&k.push.apply(k,
  a.getLogTickPositions(f,l[c-1],l[c],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())k=k.concat(a.getTimeTicks(a.normalizeTimeTickInterval(f),q,d,b.startOfWeek));else for(b=q+(c[0]-q)%f;b<=d&&b!==k[0];b+=f)k.push(b);0!==k.length&&a.trimTicks(k);return k},adjustForMinRange:function(){var a=this.options,b=this.min,c=this.max,f,k,d,q,e,m,z,v;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(w(a.min)||w(a.max)?this.minRange=null:(t(this.series,function(a){m=a.xData;for(q=z=a.xIncrement?
  1:m.length-1;0<q;q--)if(e=m[q]-m[q-1],void 0===d||e<d)d=e}),this.minRange=Math.min(5*d,this.dataMax-this.dataMin)));c-b<this.minRange&&(k=this.dataMax-this.dataMin>=this.minRange,v=this.minRange,f=(v-c+b)/2,f=[b-f,G(a.min,b-f)],k&&(f[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),b=D(f),c=[b+v,G(a.max,b+v)],k&&(c[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),c=r(c),c-b<v&&(f[0]=c-v,f[1]=G(a.min,c-v),b=D(f)));this.min=b;this.max=c},getClosest:function(){var a;this.categories?a=1:t(this.series,
  function(b){var c=b.closestPointRange,l=b.visible||!b.chart.options.chart.ignoreHiddenSeries;!b.noSharedTooltip&&w(c)&&l&&(a=w(a)?Math.min(a,c):c)});return a},nameToX:function(a){var b=f(this.categories),c=b?this.categories:this.names,l=a.options.x,d;a.series.requireSorting=!1;w(l)||(l=!1===this.options.uniqueNames?a.series.autoIncrement():b?k(a.name,c):G(c.keys[a.name],-1));-1===l?b||(d=c.length):d=l;void 0!==d&&(this.names[d]=a.name,this.names.keys[a.name]=d);return d},updateNames:function(){var b=
  this,c=this.names;0<c.length&&(t(a.keys(c.keys),function(a){delete c.keys[a]}),c.length=0,this.minRange=this.userMinRange,t(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();t(a.points,function(c,l){var f;c.options&&(f=b.nameToX(c),void 0!==f&&f!==c.x&&(c.x=f,a.xData[l]=f))})}))},setAxisTranslation:function(a){var b=this,c=b.max-b.min,l=b.axisPointRange||0,f,k=0,d=0,q=b.linkedParent,e=!!b.categories,z=b.transA,v=b.isXAxis;if(v||e||l)f=b.getClosest(),
  q?(k=q.minPointOffset,d=q.pointRangePadding):t(b.series,function(a){var c=e?1:v?G(a.options.pointRange,f,0):b.axisPointRange||0;a=a.options.pointPlacement;l=Math.max(l,c);b.single||(k=Math.max(k,E(a)?0:c/2),d=Math.max(d,"on"===a?0:c))}),q=b.ordinalSlope&&f?b.ordinalSlope/f:1,b.minPointOffset=k*=q,b.pointRangePadding=d*=q,b.pointRange=Math.min(l,c),v&&(b.closestPointRange=f);a&&(b.oldTransA=z);b.translationSlope=b.transA=z=b.staticScale||b.len/(c+d||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=
  z*k;m(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(b){var l=this,f=l.chart,k=l.options,d=l.isLog,e=l.isDatetimeAxis,z=l.isXAxis,v=l.isLinked,h=k.maxPadding,y=k.minPadding,x=k.tickInterval,p=k.tickPixelInterval,E=l.categories,g=q(l.threshold)?l.threshold:null,H=l.softThreshold,F,K,u,r;e||E||v||this.getTickAmount();u=G(l.userMin,k.min);r=G(l.userMax,k.max);v?(l.linkedParent=f[l.coll][k.linkedTo],f=l.linkedParent.getExtremes(),l.min=G(f.min,
  f.dataMin),l.max=G(f.max,f.dataMax),k.type!==l.linkedParent.options.type&&a.error(11,1)):(!H&&w(g)&&(l.dataMin>=g?(F=g,y=0):l.dataMax<=g&&(K=g,h=0)),l.min=G(u,F,l.dataMin),l.max=G(r,K,l.dataMax));d&&(l.positiveValuesOnly&&!b&&0>=Math.min(l.min,G(l.dataMin,l.min))&&a.error(10,1),l.min=n(l.log2lin(l.min),15),l.max=n(l.log2lin(l.max),15));l.range&&w(l.max)&&(l.userMin=l.min=u=Math.max(l.dataMin,l.minFromRange()),l.userMax=r=l.max,l.range=null);m(l,"foundExtremes");l.beforePadding&&l.beforePadding();
  l.adjustForMinRange();!(E||l.axisPointRange||l.usePercentage||v)&&w(l.min)&&w(l.max)&&(f=l.max-l.min)&&(!w(u)&&y&&(l.min-=f*y),!w(r)&&h&&(l.max+=f*h));q(k.softMin)&&!q(l.userMin)&&(l.min=Math.min(l.min,k.softMin));q(k.softMax)&&!q(l.userMax)&&(l.max=Math.max(l.max,k.softMax));q(k.floor)&&(l.min=Math.max(l.min,k.floor));q(k.ceiling)&&(l.max=Math.min(l.max,k.ceiling));H&&w(l.dataMin)&&(g=g||0,!w(u)&&l.min<g&&l.dataMin>=g?l.min=g:!w(r)&&l.max>g&&l.dataMax<=g&&(l.max=g));l.tickInterval=l.min===l.max||
  void 0===l.min||void 0===l.max?1:v&&!x&&p===l.linkedParent.options.tickPixelInterval?x=l.linkedParent.tickInterval:G(x,this.tickAmount?(l.max-l.min)/Math.max(this.tickAmount-1,1):void 0,E?1:(l.max-l.min)*p/Math.max(l.len,p));z&&!b&&t(l.series,function(a){a.processData(l.min!==l.oldMin||l.max!==l.oldMax)});l.setAxisTranslation(!0);l.beforeSetTickPositions&&l.beforeSetTickPositions();l.postProcessTickInterval&&(l.tickInterval=l.postProcessTickInterval(l.tickInterval));l.pointRange&&!x&&(l.tickInterval=
  Math.max(l.pointRange,l.tickInterval));b=G(k.minTickInterval,l.isDatetimeAxis&&l.closestPointRange);!x&&l.tickInterval<b&&(l.tickInterval=b);e||d||x||(l.tickInterval=I(l.tickInterval,null,c(l.tickInterval),G(k.allowDecimals,!(.5<l.tickInterval&&5>l.tickInterval&&1E3<l.max&&9999>l.max)),!!this.tickAmount));this.tickAmount||(l.tickInterval=l.unsquish());this.setTickPositions()},setTickPositions:function(){var b=this.options,c,f=b.tickPositions;c=this.getMinorTickInterval();var k=b.tickPositioner,d=
  b.startOnTick,q=b.endOnTick;this.tickmarkOffset=this.categories&&"between"===b.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===c&&this.tickInterval?this.tickInterval/5:c;this.single=this.min===this.max&&w(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==b.allowDecimals);this.tickPositions=c=f&&f.slice();!c&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(c=[this.min,this.max],a.error(19)):c=this.isDatetimeAxis?
  this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),c.length>this.len&&(c=[c[0],c.pop()],c[0]===c[1]&&(c.length=1)),this.tickPositions=c,k&&(k=k.apply(this,[this.min,this.max])))&&(this.tickPositions=c=k);this.paddedTicks=c.slice(0);this.trimTicks(c,d,q);this.isLinked||
  (this.single&&2>c.length&&(this.min-=.5,this.max+=.5),f||k||this.adjustTickAmount());m(this,"afterSetTickPositions")},trimTicks:function(a,b,c){var l=a[0],f=a[a.length-1],k=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==l)this.min=l;else for(;this.min-k>a[0];)a.shift();if(c)this.max=f;else for(;this.max+k<a[a.length-1];)a.pop();0===a.length&&w(l)&&!this.options.tickPositions&&a.push((f+l)/2)}},alignToOthers:function(){var a={},b,c=this.options;!1===this.chart.options.chart.alignTicks||
  !1===c.alignTicks||!1===c.startOnTick||!1===c.endOnTick||this.isLog||t(this.chart[this.coll],function(c){var l=c.options,l=[c.horiz?l.left:l.top,l.width,l.height,l.pane].join();c.series.length&&(a[l]?b=!0:a[l]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,c=a.tickPixelInterval;!w(a.tickInterval)&&this.len<c&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/c)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=
  b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,f=this.finalTickAmt,k=b&&b.length,d=G(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(k<c){for(;b.length<c;)b.length%2||this.min===d?b.push(n(b[b.length-1]+a)):b.unshift(n(b[0]-a));this.transA*=(k-1)/(c-1);this.min=b[0];this.max=b[b.length-1]}else k>c&&(this.tickInterval*=2,this.setTickPositions());if(w(f)){for(a=c=b.length;a--;)(3===f&&1===a%2||2>=f&&0<a&&a<c-1)&&b.splice(a,1);this.finalTickAmt=
  void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;t(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=
  this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();m(this,"afterSetScale")},setExtremes:function(a,b,c,f,k){var l=this,d=l.chart;c=G(c,!0);t(l.series,function(a){delete a.kdTree});k=e(k,{min:a,max:b});m(l,"setExtremes",k,function(){l.userMin=a;l.userMax=b;l.eventArgs=k;c&&d.redraw(f)})},zoom:function(a,b){var c=this.dataMin,l=this.dataMax,f=this.options,k=Math.min(c,G(f.min,c)),f=Math.max(l,G(f.max,l));if(a!==this.min||
  b!==this.max)this.allowZoomOutside||(w(c)&&(a<k&&(a=k),a>f&&(a=f)),w(l)&&(b<k&&(b=k),b>f&&(b=f))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,c=this.options,f=c.offsets||[0,0,0,0],k=this.horiz,d=this.width=Math.round(a.relativeLength(G(c.width,b.plotWidth-f[3]+f[1]),b.plotWidth)),q=this.height=Math.round(a.relativeLength(G(c.height,b.plotHeight-f[0]+f[2]),b.plotHeight)),e=this.top=Math.round(a.relativeLength(G(c.top,
  b.plotTop+f[0]),b.plotHeight,b.plotTop)),c=this.left=Math.round(a.relativeLength(G(c.left,b.plotLeft+f[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-q-e;this.right=b.chartWidth-d-c;this.len=Math.max(k?d:q,0);this.pos=k?c:e},getExtremes:function(){var a=this.isLog;return{min:a?n(this.lin2log(this.min)):this.min,max:a?n(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?this.lin2log(this.min):
  this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=c:Infinity===a?a=b:c>a?a=c:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(G(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],l=G(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(l&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,l]},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)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,f=c,k=this.len/(((this.categories?1:0)+this.max-this.min)/c),d,q=a.rotation,e=this.labelMetrics(),m,z=Number.MAX_VALUE,v,y=function(a){a/=k||1;a=1<a?Math.ceil(a):1;return n(a*c)};b?(v=!a.staggerLines&&!a.step&&(w(q)?[q]:k<G(a.autoRotationLimit,80)&&a.autoRotation))&&t(v,function(a){var b;if(a===q||a&&-90<=a&&90>=a)m=y(Math.abs(e.h/Math.sin(h*a))),b=
  m+Math.abs(a/360),b<z&&(z=b,d=a,f=m)}):a.step||(f=y(e.h));this.autoRotation=v;this.labelRotation=G(d,q);return f},getSlotWidth:function(a){var b=this.chart,c=this.horiz,l=this.options.labels,f=Math.max(this.tickPositions.length-(this.categories?0:1),1),k=b.margin[3];return a&&a.slotWidth||c&&2>(l.step||0)&&!l.rotation&&(this.staggerLines||1)*this.len/f||!c&&(l.style&&parseInt(l.style.width,10)||k&&k-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,
  f=this.ticks,k=this.options.labels,d=k&&k.style||{},q=this.horiz,e=this.getSlotWidth(),m=Math.max(1,Math.round(e-2*(k.padding||5))),z={},v=this.labelMetrics(),h=k.style&&k.style.textOverflow,y,x,p=0,g;E(k.rotation)||(z.rotation=k.rotation||0);t(c,function(a){(a=f[a])&&a.label&&a.label.textPxLength>p&&(p=a.label.textPxLength)});this.maxLabelLength=p;if(this.autoRotation)p>m&&p>v.h?z.rotation=this.labelRotation:this.labelRotation=0;else if(e&&(y=m,!h))for(x="clip",m=c.length;!q&&m--;)if(g=c[m],g=f[g].label)g.styles&&
  "ellipsis"===g.styles.textOverflow?g.css({textOverflow:"clip"}):g.textPxLength>e&&g.css({width:e+"px"}),g.getBBox().height>this.len/c.length-(v.h-v.f)&&(g.specificTextOverflow="ellipsis");z.rotation&&(y=p>.5*a.chartHeight?.33*a.chartHeight:p,h||(x="ellipsis"));if(this.labelAlign=k.align||this.autoLabelAlign(this.labelRotation))z.align=this.labelAlign;t(c,function(a){var b=(a=f[a])&&a.label,c=d.width,l={};b&&(b.attr(z),a.shortenLabel?a.shortenLabel():y&&!c&&"nowrap"!==d.whiteSpace&&(y<b.textPxLength||
  "SPAN"===b.element.tagName)?(l.width=y,h||(l.textOverflow=b.specificTextOverflow||x),b.css(l)):b.styles&&b.styles.width&&!l.width&&!c&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=z.rotation)},this);this.tickRotCorr=b.rotCorr(v.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||w(this.min)&&w(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,l=this.opposite,f=this.options.title,
  k;this.axisTitle||((k=f.textAlign)||(k=(c?{low:"left",middle:"center",high:"right"}:{low:l?"right":"left",middle:"center",high:l?"left":"right"})[f.align]),this.axisTitle=b.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:k}).addClass("highcharts-axis-title").css(v(f.style)).add(this.axisGroup),this.axisTitle.isNew=!0);f.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():
  b[a]=new K(this,a)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,f=a.options,k=a.tickPositions,d=a.ticks,q=a.horiz,e=a.side,z=b.inverted&&!a.isZAxis?[1,0,3,2][e]:e,v,h,y=0,p,g=0,E=f.title,H=f.labels,n=0,I=b.axisOffset,b=b.clipOffset,F=[-1,1,1,-1][e],K=f.className,u=a.axisParent;v=a.hasData();a.showAxis=h=v||G(f.showEmpty,!0);a.staggerLines=a.horiz&&H.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+
  (K||"")).add(u),a.axisGroup=c.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(K||"")).add(u),a.labelGroup=c.g("axis-labels").attr({zIndex:H.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(K||"")).add(u));v||a.isLinked?(t(k,function(b,c){a.generateTick(b,c)}),a.renderUnsquish(),a.reserveSpaceDefault=0===e||2===e||{1:"left",3:"right"}[e]===a.labelAlign,G(H.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&t(k,function(a){n=
  Math.max(d[a].getLabelSize(),n)}),a.staggerLines&&(n*=a.staggerLines),a.labelOffset=n*(a.opposite?-1:1)):x(d,function(a,b){a.destroy();delete d[b]});E&&E.text&&!1!==E.enabled&&(a.addTitle(h),h&&!1!==E.reserveSpace&&(a.titleOffset=y=a.axisTitle.getBBox()[q?"height":"width"],p=E.offset,g=w(p)?0:G(E.margin,q?5:10)));a.renderLine();a.offset=F*G(f.offset,I[e]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===e?-a.labelMetrics().h:2===e?a.tickRotCorr.y:0;g=Math.abs(n)+g;n&&(g=g-c+F*(q?G(H.y,a.tickRotCorr.y+
  8*F):H.x));a.axisTitleMargin=G(p,g);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(d,k));q=this.tickSize("tick");I[e]=Math.max(I[e],a.axisTitleMargin+y+F*a.offset,g,v&&k.length&&q?q[0]+F*a.offset:0);f=f.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[z]=Math.max(b[z],f);m(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,c=this.opposite,f=this.offset,l=this.horiz,k=this.left+(c?this.width:0)+f,f=b.chartHeight-this.bottom-(c?this.height:0)+f;c&&(a*=-1);return b.renderer.crispLine(["M",
  l?this.left:k,l?f:this.top,"L",l?b.chartWidth-this.right:k,l?f:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,f=this.len,k=this.options.title,d=a?b:c,q=this.opposite,e=this.offset,m=k.x||0,z=k.y||0,v=this.axisTitle,h=
  this.chart.renderer.fontMetrics(k.style&&k.style.fontSize,v),v=Math.max(v.getBBox(null,0).height-h.h-1,0),f={low:d+(a?0:f),middle:d+f/2,high:d+(a?f:0)}[k.align],b=(a?c+this.height:b)+(a?1:-1)*(q?-1:1)*this.axisTitleMargin+[-v,v,h.f,-v][this.side];return{x:a?f+m:b+(q?this.width:0)+e+m,y:a?b+z-(q?this.height:0)+e:f+z}},renderMinorTick:function(a){var b=this.chart.hasRendered&&q(this.oldMin),c=this.minorTicks;c[a]||(c[a]=new K(this,a,"minor"));b&&c[a].isNew&&c[a].render(null,!0);c[a].render(null,!1,
  1)},renderTick:function(a,b){var c=this.isLinked,f=this.ticks,k=this.chart.hasRendered&&q(this.oldMin);if(!c||a>=this.min&&a<=this.max)f[a]||(f[a]=new K(this,a)),k&&f[a].isNew&&f[a].render(b,!0,-1),f[a].render(b)},render:function(){var b=this,c=b.chart,f=b.options,k=b.isLog,d=b.isLinked,e=b.tickPositions,z=b.axisTitle,v=b.ticks,h=b.minorTicks,g=b.alternateBands,p=f.stackLabels,E=f.alternateGridColor,H=b.tickmarkOffset,n=b.axisLine,I=b.showAxis,F=C(c.renderer.globalAnimation),G,u;b.labelEdge.length=
  0;b.overlap=!1;t([v,h,g],function(a){x(a,function(a){a.isActive=!1})});if(b.hasData()||d)b.minorTickInterval&&!b.categories&&t(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),e.length&&(t(e,function(a,c){b.renderTick(a,c)}),H&&(0===b.min||b.single)&&(v[-1]||(v[-1]=new K(b,-1,null,!0)),v[-1].render(-1))),E&&t(e,function(f,l){u=void 0!==e[l+1]?e[l+1]+H:b.max-H;0===l%2&&f<b.max&&u<=b.max+(c.polar?-H:H)&&(g[f]||(g[f]=new a.PlotLineOrBand(b)),G=f+H,g[f].options={from:k?b.lin2log(G):G,to:k?
  b.lin2log(u):u,color:E},g[f].render(),g[f].isActive=!0)}),b._addedPlotLB||(t((f.plotLines||[]).concat(f.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);t([v,h,g],function(a){var b,f=[],k=F.duration;x(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,f.push(b))});y(function(){for(b=f.length;b--;)a[f[b]]&&!a[f[b]].isActive&&(a[f[b]].destroy(),delete a[f[b]])},a!==g&&c.hasRendered&&k?k:0)});n&&(n[n.isPlaced?"animate":"attr"]({d:this.getLinePath(n.strokeWidth())}),n.isPlaced=
  !0,n[I?"show":"hide"](!0));z&&I&&(f=b.getTitlePosition(),q(f.y)?(z[z.isNew?"attr":"animate"](f),z.isNew=!1):(z.attr("y",-9999),z.isNew=!0));p&&p.enabled&&b.renderStackTotals();b.isDirty=!1;m(this,"afterRender")},redraw:function(){this.visible&&(this.render(),t(this.plotLinesAndBands,function(a){a.render()}));t(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,c=b.stacks,f=b.plotLinesAndBands,l;m(this,"destroy",
  {keepEvents:a});a||z(b);x(c,function(a,b){p(a);c[b]=null});t([b.ticks,b.minorTicks,b.alternateBands],function(a){p(a)});if(f)for(a=f.length;a--;)f[a].destroy();t("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(l in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[l]=b.plotLinesAndBandsGroups[l].destroy();x(b,function(a,c){-1===k(c,b.keepProps)&&delete b[c]})},drawCrosshair:function(a,b){var c,f=this.crosshair,
  k=G(f.snap,!0),l,d=this.cross;m(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(w(b)||!k)){k?w(b)&&(l=G(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):l=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);w(l)&&(c=this.getPlotLinePath(b&&(this.isXAxis?b.x:G(b.stackY,b.y)),null,null,null,l)||null);if(!w(c)){this.hideCrosshair();return}k=this.categories&&!this.isRadial;d||(this.cross=d=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
  (k?"category ":"thin ")+f.className).attr({zIndex:G(f.zIndex,2)}).add(),d.attr({stroke:f.color||(k?g("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":G(f.width,1)}).css({"pointer-events":"none"}),f.dashStyle&&d.attr({dashstyle:f.dashStyle}));d.show().attr({d:c});k&&!f.width&&d.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();m(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=F}(J);(function(a){var A=
  a.Axis,C=a.getMagnitude,D=a.normalizeTickInterval,r=a.timeUnits;A.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};A.prototype.normalizeTimeTickInterval=function(a,n){var g=n||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];n=g[g.length-1];var w=r[n[0]],h=n[1],p;for(p=0;p<g.length&&!(n=g[p],w=r[n[0]],
  h=n[1],g[p+1]&&a<=(w*h[h.length-1]+r[g[p+1][0]])/2);p++);w===r.year&&a<5*w&&(h=[1,2,5]);a=D(a/w,h,"year"===n[0]?Math.max(C(a/w),1):1);return{unitRange:w,count:a,unitName:n[0]}}})(J);(function(a){var A=a.Axis,C=a.getMagnitude,D=a.map,r=a.normalizeTickInterval,g=a.pick;A.prototype.getLogTickPositions=function(a,u,w,h){var p=this.options,t=this.len,e=[];h||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),e=this.getLinearTickPositions(a,u,w);else if(.08<=a)for(var t=Math.floor(u),m,d,c,b,k,p=.3<
  a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];t<w+1&&!k;t++)for(d=p.length,m=0;m<d&&!k;m++)c=this.log2lin(this.lin2log(t)*p[m]),c>u&&(!h||b<=w)&&void 0!==b&&e.push(b),b>w&&(k=!0),b=c;else u=this.lin2log(u),w=this.lin2log(w),a=h?this.getMinorTickInterval():p.tickInterval,a=g("auto"===a?null:a,this._minorAutoInterval,p.tickPixelInterval/(h?5:1)*(w-u)/((h?t/this.tickPositions.length:t)||1)),a=r(a,null,C(a)),e=D(this.getLinearTickPositions(a,u,w),this.log2lin),h||(this._minorAutoInterval=a/5);h||(this.tickInterval=
  a);return e};A.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};A.prototype.lin2log=function(a){return Math.pow(10,a)}})(J);(function(a,A){var C=a.arrayMax,D=a.arrayMin,r=a.defined,g=a.destroyObjectProperties,n=a.each,u=a.erase,w=a.merge,h=a.pick;a.PlotLineOrBand=function(a,h){this.axis=a;h&&(this.options=h,this.id=h.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var g=this,t=g.axis,e=t.horiz,m=g.options,d=m.label,c=g.label,b=m.to,k=m.from,f=m.value,q=r(k)&&
  r(b),E=r(f),v=g.svgElem,n=!v,x=[],G=m.color,z=h(m.zIndex,0),H=m.events,x={"class":"highcharts-plot-"+(q?"band ":"line ")+(m.className||"")},y={},K=t.chart.renderer,F=q?"bands":"lines";t.isLog&&(k=t.log2lin(k),b=t.log2lin(b),f=t.log2lin(f));E?(x.stroke=G,x["stroke-width"]=m.width,m.dashStyle&&(x.dashstyle=m.dashStyle)):q&&(G&&(x.fill=G),m.borderWidth&&(x.stroke=m.borderColor,x["stroke-width"]=m.borderWidth));y.zIndex=z;F+="-"+z;(G=t.plotLinesAndBandsGroups[F])||(t.plotLinesAndBandsGroups[F]=G=K.g("plot-"+
  F).attr(y).add());n&&(g.svgElem=v=K.path().attr(x).add(G));if(E)x=t.getPlotLinePath(f,v.strokeWidth());else if(q)x=t.getPlotBandPath(k,b,m);else return;n&&x&&x.length?(v.attr({d:x}),H&&a.objectEach(H,function(a,b){v.on(b,function(a){H[b].apply(g,[a])})})):v&&(x?(v.show(),v.animate({d:x})):(v.hide(),c&&(g.label=c=c.destroy())));d&&r(d.text)&&x&&x.length&&0<t.width&&0<t.height&&!x.isFlat?(d=w({align:e&&q&&"center",x:e?!q&&4:10,verticalAlign:!e&&q&&"middle",y:e?q?16:10:q?6:-4,rotation:e&&!q&&90},d),
  this.renderLabel(d,x,q,z)):c&&c.hide();return g},renderLabel:function(a,h,e,m){var d=this.label,c=this.axis.chart.renderer;d||(d={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(e?"band":"line")+"-label "+(a.className||"")},d.zIndex=m,this.label=d=c.text(a.text,0,0,a.useHTML).attr(d).add(),d.css(a.style));m=h.xBounds||[h[1],h[4],e?h[6]:h[1]];h=h.yBounds||[h[2],h[5],e?h[7]:h[2]];e=D(m);c=D(h);d.align(a,!1,{x:e,y:c,width:C(m)-e,height:C(h)-c});d.show()},destroy:function(){u(this.axis.plotLinesAndBands,
  this);delete this.axis;g(this)}};a.extend(A.prototype,{getPlotBandPath:function(a,h){var e=this.getPlotLinePath(h,null,null,!0),m=this.getPlotLinePath(a,null,null,!0),d=[],c=this.horiz,b=1,k;a=a<this.min&&h<this.min||a>this.max&&h>this.max;if(m&&e)for(a&&(k=m.toString()===e.toString(),b=0),a=0;a<m.length;a+=6)c&&e[a+1]===m[a+1]?(e[a+1]+=b,e[a+4]+=b):c||e[a+2]!==m[a+2]||(e[a+2]+=b,e[a+5]+=b),d.push("M",m[a+1],m[a+2],"L",m[a+4],m[a+5],e[a+4],e[a+5],e[a+1],e[a+2],"z"),d.isFlat=k;return d},addPlotBand:function(a){return this.addPlotBandOrLine(a,
  "plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(h,g){var e=(new a.PlotLineOrBand(this,h)).render(),m=this.userOptions;e&&(g&&(m[g]=m[g]||[],m[g].push(h)),this.plotLinesAndBands.push(e));return e},removePlotBandOrLine:function(a){for(var h=this.plotLinesAndBands,e=this.options,m=this.userOptions,d=h.length;d--;)h[d].id===a&&h[d].destroy();n([e.plotLines||[],m.plotLines||[],e.plotBands||[],m.plotBands||[]],function(c){for(d=c.length;d--;)c[d].id===
  a&&u(c,c[d])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(J,V);(function(a){var A=a.doc,C=a.each,D=a.extend,r=a.format,g=a.isNumber,n=a.map,u=a.merge,w=a.pick,h=a.splat,p=a.syncTimeout,t=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,m){this.chart=a;this.options=m;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=m.split&&!a.inverted;this.shared=m.shared||
  this.split;this.outside=m.outside&&!this.split},cleanSplit:function(a){C(this.chart.series,function(e){var d=e&&e.tt;d&&(!d.isActive||a?e.tt=d.destroy():d.isActive=!1)})},getLabel:function(){var e=this.chart.renderer,m=this.options,d;this.label||(this.outside&&(this.container=d=a.doc.createElement("div"),d.className="highcharts-tooltip-container",a.css(d,{position:"absolute",top:"1px",pointerEvents:m.style&&m.style.pointerEvents}),a.doc.body.appendChild(d),this.renderer=e=new a.Renderer(d,0,0)),this.split?
  this.label=e.g("tooltip"):(this.label=e.label("",0,0,m.shape||"callout",null,null,m.useHTML,null,"tooltip").attr({padding:m.padding,r:m.borderRadius}),this.label.attr({fill:m.backgroundColor,"stroke-width":m.borderWidth}).css(m.style).shadow(m.shadow)),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=function(a){d.style.left=a+"px"},this.label.ySetter=function(a){d.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();
  u(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,u(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(e,m,d,c){var b=this,k=b.now,f=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(e-k.x)||1<Math.abs(m-
  k.y)),q=b.followPointer||1<b.len;D(k,{x:f?(2*k.x+e)/3:e,y:f?(k.y+m)/2:m,anchorX:q?void 0:f?(2*k.anchorX+d)/3:d,anchorY:q?void 0:f?(k.anchorY+c)/2:c});b.getLabel().attr(k);f&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(e,m,d,c)},32))},hide:function(e){var m=this;a.clearTimeout(this.hideTimer);e=w(e,this.options.hideDelay,500);this.isHidden||(this.hideTimer=p(function(){m.getLabel()[e?"fadeOut":"hide"]();m.isHidden=!0},e))},getAnchor:function(a,m){var d=
  this.chart,c=d.pointer,b=d.inverted,k=d.plotTop,f=d.plotLeft,q=0,e=0,v,g;a=h(a);this.followPointer&&m?(void 0===m.chartX&&(m=c.normalize(m)),a=[m.chartX-d.plotLeft,m.chartY-k]):a[0].tooltipPos?a=a[0].tooltipPos:(C(a,function(a){v=a.series.yAxis;g=a.series.xAxis;q+=a.plotX+(!b&&g?g.left-f:0);e+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&v?v.top-k:0)}),q/=a.length,e/=a.length,a=[b?d.plotWidth-e:q,this.shared&&!b&&1<a.length&&m?m.chartY-k:b?d.plotHeight-q:e]);return n(a,Math.round)},getPosition:function(a,
  m,d){var c=this.chart,b=this.distance,k={},f=c.inverted&&d.h||0,q,e=this.outside,v=e?A.documentElement.clientWidth-2*b:c.chartWidth,h=e?Math.max(A.body.scrollHeight,A.documentElement.scrollHeight,A.body.offsetHeight,A.documentElement.offsetHeight,A.documentElement.clientHeight):c.chartHeight,g=c.pointer.chartPosition,t=["y",h,m,(e?g.top-b:0)+d.plotY+c.plotTop,e?0:c.plotTop,e?h:c.plotTop+c.plotHeight],z=["x",v,a,(e?g.left-b:0)+d.plotX+c.plotLeft,e?0:c.plotLeft,e?v:c.plotLeft+c.plotWidth],H=!this.followPointer&&
  w(d.ttBelow,!c.inverted===!!d.negative),y=function(a,c,l,d,q,e){var m=l<d-b,z=d+b+l<c,v=d-b-l;d+=b;if(H&&z)k[a]=d;else if(!H&&m)k[a]=v;else if(m)k[a]=Math.min(e-l,0>v-f?v:v-f);else if(z)k[a]=Math.max(q,d+f+l>c?d:d+f);else return!1},n=function(a,c,f,l){var d;l<b||l>c-b?d=!1:k[a]=l<f/2?1:l>c-f/2?c-f-2:l-f/2;return d},p=function(a){var b=t;t=z;z=b;q=a},l=function(){!1!==y.apply(0,t)?!1!==n.apply(0,z)||q||(p(!0),l()):q?k.x=k.y=0:(p(!0),l())};(c.inverted||1<this.len)&&p();l();return k},defaultFormatter:function(a){var e=
  this.points||h(this),d;d=[a.tooltipFooterHeaderFormatter(e[0])];d=d.concat(a.bodyFormatter(e));d.push(a.tooltipFooterHeaderFormatter(e[0],!0));return d},refresh:function(e,m){var d,c=this.options,b,k=e,f,q={},g=[];d=c.formatter||this.defaultFormatter;var q=this.shared,v;c.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=h(k)[0].series.tooltipOptions.followPointer,f=this.getAnchor(k,m),m=f[0],b=f[1],!q||k.series&&k.series.noSharedTooltip?q=k.getLabelConfig():(C(k,function(a){a.setState("hover");
  g.push(a.getLabelConfig())}),q={x:k[0].category,y:k[0].y},q.points=g,k=k[0]),this.len=g.length,q=d.call(q,this),v=k.series,this.distance=w(v.tooltipOptions.distance,16),!1===q?this.hide():(d=this.getLabel(),this.isHidden&&d.attr({opacity:1}).show(),this.split?this.renderSplit(q,h(e)):(c.style.width||d.css({width:this.chart.spacingBox.width}),d.attr({text:q&&q.join?q.join(""):q}),d.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+w(k.colorIndex,v.colorIndex)),d.attr({stroke:c.borderColor||
  k.color||v.color||"#666666"}),this.updatePosition({plotX:m,plotY:b,negative:k.negative,ttBelow:k.ttBelow,h:f[2]||0})),this.isHidden=!1))},renderSplit:function(e,m){var d=this,c=[],b=this.chart,k=b.renderer,f=!0,q=this.options,h=0,v,g=this.getLabel(),x=b.plotTop;a.isString(e)&&(e=[!1,e]);C(e.slice(0,m.length+1),function(a,e){if(!1!==a){e=m[e-1]||{isHeader:!0,plotX:m[0].plotX};var z=e.series||d,y=z.tt,E=e.series||{},t="highcharts-color-"+w(e.colorIndex,E.colorIndex,"none");y||(z.tt=y=k.label(null,null,
  null,"callout",null,null,q.useHTML).addClass("highcharts-tooltip-box "+t+(e.isHeader?" highcharts-tooltip-header":"")).attr({padding:q.padding,r:q.borderRadius,fill:q.backgroundColor,stroke:q.borderColor||e.color||E.color||"#333333","stroke-width":q.borderWidth}).add(g));y.isActive=!0;y.attr({text:a});y.css(q.style).shadow(q.shadow);a=y.getBBox();E=a.width+y.strokeWidth();e.isHeader?(h=a.height,b.xAxis[0].opposite&&(v=!0,x-=h),E=Math.max(0,Math.min(e.plotX+b.plotLeft-E/2,b.chartWidth+(b.scrollablePixels?
  b.scrollablePixels-b.marginRight:0)-E))):E=e.plotX+b.plotLeft-w(q.distance,16)-E;0>E&&(f=!1);a=(e.series&&e.series.yAxis&&e.series.yAxis.pos)+(e.plotY||0);a-=x;e.isHeader&&(a=v?-h:b.plotHeight+h);c.push({target:a,rank:e.isHeader?1:0,size:z.tt.getBBox().height+1,point:e,x:E,tt:y})}});this.cleanSplit();a.distribute(c,b.plotHeight+h);C(c,function(a){var c=a.point,k=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:f||c.isHeader?a.x:c.plotX+b.plotLeft+w(q.distance,16),y:a.pos+x,anchorX:c.isHeader?
  c.plotX+b.plotLeft:c.plotX+k.xAxis.pos,anchorY:c.isHeader?b.plotTop+b.plotHeight/2:c.plotY+k.yAxis.pos})})},updatePosition:function(a){var e=this.chart,d=this.getLabel(),c=(this.options.positioner||this.getPosition).call(this,d.width,d.height,a),b=a.plotX+e.plotLeft;a=a.plotY+e.plotTop;var k;this.outside&&(k=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(d.width+k,d.height+k,!1),b+=e.pointer.chartPosition.left-c.x,a+=e.pointer.chartPosition.top-c.y);this.move(Math.round(c.x),
  Math.round(c.y||0),b,a)},getDateFormat:function(a,m,d,c){var b=this.chart.time,k=b.dateFormat("%m-%d %H:%M:%S.%L",m),f,q,e={millisecond:15,second:12,minute:9,hour:6,day:3},v="millisecond";for(q in t){if(a===t.week&&+b.dateFormat("%w",m)===d&&"00:00:00.000"===k.substr(6)){q="week";break}if(t[q]>a){q=v;break}if(e[q]&&k.substr(e[q])!=="01-01 00:00:00.000".substr(e[q]))break;"week"!==q&&(v=q)}q&&(f=b.resolveDTLFormat(c[q]).main);return f},getXDateFormat:function(a,m,d){m=m.dateTimeLabelFormats;var c=
  d&&d.closestPointRange;return(c?this.getDateFormat(c,a.x,d.options.startOfWeek,m):m.day)||m.year},tooltipFooterHeaderFormatter:function(a,m){m=m?"footer":"header";var d=a.series,c=d.tooltipOptions,b=c.xDateFormat,k=d.xAxis,f=k&&"datetime"===k.options.type&&g(a.key),q=c[m+"Format"];f&&!b&&(b=this.getXDateFormat(a,c,k));f&&b&&C(a.point&&a.point.tooltipDateKeys||["key"],function(a){q=q.replace("{point."+a+"}","{point."+a+":"+b+"}")});return r(q,{point:a,series:d},this.chart.time)},bodyFormatter:function(a){return n(a,
  function(a){var d=a.series.tooltipOptions;return(d[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,d[(a.point.formatPrefix||"point")+"Format"])})}}})(J);(function(a){var A=a.addEvent,C=a.attr,D=a.charts,r=a.color,g=a.css,n=a.defined,u=a.each,w=a.extend,h=a.find,p=a.fireEvent,t=a.isNumber,e=a.isObject,m=a.offset,d=a.pick,c=a.splat,b=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,c){this.options=c;this.chart=a;this.runChartClick=
  c.chart.events&&!!c.chart.events.click;this.pinchDown=[];this.lastValidTouch={};b&&(a.tooltip=new b(a,c.tooltip),this.followTouchMove=d(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,k=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(k=d(c.pinchType,k));this.zoomX=a=/x/.test(k);this.zoomY=k=/y/.test(k);this.zoomHor=a&&!b||k&&b;this.zoomVert=k&&!b||a&&b;this.hasZoom=a||k},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):
  a.changedTouches[0]:a;b||(this.chartPosition=b=m(this.chart.container));return w(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};u(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,c){var f;u(a,function(a){var k=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(c,k);if((k=e(a,
  !0))&&!(k=!e(f,!0)))var k=f.distX-a.distX,d=f.dist-a.dist,q=(a.series.group&&a.series.group.zIndex)-(f.series.group&&f.series.group.zIndex),k=0<(0!==k&&b?k:0!==d?d:0!==q?q:f.series.index>a.series.index?-1:1);k&&(f=a)});return f},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,f=c.xAxis,c=c.yAxis,k=d(a.clientX,a.plotX),e=a.shapeArgs;if(f&&c)return b?{chartX:f.len+f.pos-k,chartY:c.len+c.pos-a.plotY}:
  {chartX:k+f.pos,chartY:a.plotY+c.pos};if(e&&e.x&&e.y)return{chartX:e.x,chartY:e.y}},getHoverData:function(b,c,q,m,v,g,x){var f,k=[],t=x&&x.isBoosting;m=!(!m||!b);x=c&&!c.stickyTracking?[c]:a.grep(q,function(a){return a.visible&&!(!v&&a.directTouch)&&d(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(f=m?b:this.findNearestKDPoint(x,v,g))&&f.series;f&&(v&&!c.noSharedTooltip?(x=a.grep(q,function(a){return a.visible&&!(!v&&a.directTouch)&&d(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),
  u(x,function(a){var b=h(a.points,function(a){return a.x===f.x&&!a.isNull});e(b)&&(t&&(b=a.getPoint(b)),k.push(b))})):k.push(f));return{hoverPoint:f,hoverSeries:c,hoverPoints:k}},runPointActions:function(b,c){var f=this.chart,k=f.tooltip&&f.tooltip.options.enabled?f.tooltip:void 0,e=k?k.shared:!1,m=c||f.hoverPoint,h=m&&m.series||f.hoverSeries,h=this.getHoverData(m,h,f.series,"touchmove"!==b.type&&(!!c||h&&h.directTouch&&this.isDirectTouch),e,b,{isBoosting:f.isBoosting}),g,m=h.hoverPoint;g=h.hoverPoints;
  c=(h=h.hoverSeries)&&h.tooltipOptions.followPointer;e=e&&h&&!h.noSharedTooltip;if(m&&(m!==f.hoverPoint||k&&k.isHidden)){u(f.hoverPoints||[],function(b){-1===a.inArray(b,g)&&b.setState()});u(g||[],function(a){a.setState("hover")});if(f.hoverSeries!==h)h.onMouseOver();f.hoverPoint&&f.hoverPoint.firePointEvent("mouseOut");if(!m.series)return;m.firePointEvent("mouseOver");f.hoverPoints=g;f.hoverPoint=m;k&&k.refresh(e?g:m,b)}else c&&k&&!k.isHidden&&(m=k.getAnchor([{}],b),k.updatePosition({plotX:m[0],plotY:m[1]}));
  this.unDocMouseMove||(this.unDocMouseMove=A(f.container.ownerDocument,"mousemove",function(b){var c=D[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));u(f.axes,function(c){var f=d(c.crosshair.snap,!0),k=f?a.find(g,function(a){return a.series[c.coll]===c}):void 0;k||!f?c.drawCrosshair(b,k):c.hideCrosshair()})},reset:function(a,b){var f=this.chart,k=f.hoverSeries,d=f.hoverPoint,e=f.hoverPoints,m=f.tooltip,h=m&&m.shared?e:d;a&&h&&u(c(h),function(b){b.series.isCartesian&&void 0===b.plotX&&
  (a=!1)});if(a)m&&h&&(m.refresh(h),m.shared&&e?u(e,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))}):d&&(d.setState(d.state,!0),u(f.axes,function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();e&&u(e,function(a){a.setState()});if(k)k.onMouseOut();m&&m.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());u(f.axes,function(a){a.hideCrosshair()});
  this.hoverX=f.hoverPoints=f.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,f;u(c.series,function(k){f=a||k.getPlotBox();k.xAxis&&k.xAxis.zoomEnabled&&k.group&&(k.group.attr(f),k.markerGroup&&(k.markerGroup.attr(f),k.markerGroup.clip(b?c.clipRect:null)),k.dataLabelsGroup&&k.dataLabelsGroup.attr(f))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=
  this.chart,c=b.options.chart,k=a.chartX,d=a.chartY,e=this.zoomHor,m=this.zoomVert,h=b.plotLeft,z=b.plotTop,g=b.plotWidth,y=b.plotHeight,t,p=this.selectionMarker,l=this.mouseDownX,B=this.mouseDownY,n=c.panKey&&a[c.panKey+"Key"];p&&p.touch||(k<h?k=h:k>h+g&&(k=h+g),d<z?d=z:d>z+y&&(d=z+y),this.hasDragged=Math.sqrt(Math.pow(l-k,2)+Math.pow(B-d,2)),10<this.hasDragged&&(t=b.isInsidePlot(l-h,B-z),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&t&&!n&&!p&&(this.selectionMarker=p=b.renderer.rect(h,z,e?1:g,
  m?1:y,0).attr({fill:c.selectionMarkerFill||r("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),p&&e&&(k-=l,p.attr({width:Math.abs(k),x:(0<k?0:k)+l})),p&&m&&(k=d-B,p.attr({height:Math.abs(k),y:(0<k?0:k)+B})),t&&!p&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,k=this.hasPinched;if(this.selectionMarker){var d={originalEvent:a,xAxis:[],yAxis:[]},e=this.selectionMarker,m=e.attr?e.attr("x"):e.x,h=e.attr?e.attr("y"):e.y,z=e.attr?e.attr("width"):
  e.width,H=e.attr?e.attr("height"):e.height,y;if(this.hasDragged||k)u(c.axes,function(c){if(c.zoomEnabled&&n(c.min)&&(k||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var f=c.horiz,l="touchend"===a.type?c.minPixelPadding:0,e=c.toValue((f?m:h)+l),f=c.toValue((f?m+z:h+H)-l);d[c.coll].push({axis:c,min:Math.min(e,f),max:Math.max(e,f)});y=!0}}),y&&p(c,"selection",d,function(a){c.zoom(w(a,k?{animation:!1}:null))});t(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());k&&this.scaleGroups()}c&&t(c.index)&&
  (g(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){D[a.hoverChartIndex]&&D[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||
  b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=D[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;n(a.hoverChartIndex)&&D[a.hoverChartIndex]&&D[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.returnValue=!1;"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-
  c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=C(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},
  onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,k=b.plotLeft,d=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(p(c.series,"click",w(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(w(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-k,a.chartY-d)&&p(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,d=c.ownerDocument;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};
  c.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=A(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=A(d,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=A(d,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();
  a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}})(J);(function(a){var A=a.charts,C=a.each,D=a.extend,r=a.map,g=a.noop,n=a.pick;D(a.Pointer.prototype,{pinchTranslate:function(a,g,h,p,t,e){this.zoomHor&&this.pinchTranslateDirection(!0,a,g,h,p,t,e);this.zoomVert&&this.pinchTranslateDirection(!1,a,g,h,p,
  t,e)},pinchTranslateDirection:function(a,g,h,p,t,e,m,d){var c=this.chart,b=a?"x":"y",k=a?"X":"Y",f="chart"+k,q=a?"width":"height",n=c["plot"+(a?"Left":"Top")],v,u,x=d||1,r=c.inverted,z=c.bounds[a?"h":"v"],H=1===g.length,y=g[0][f],K=h[0][f],F=!H&&g[1][f],l=!H&&h[1][f],B;h=function(){!H&&20<Math.abs(y-F)&&(x=d||Math.abs(K-l)/Math.abs(y-F));u=(n-K)/x+y;v=c["plot"+(a?"Width":"Height")]/x};h();g=u;g<z.min?(g=z.min,B=!0):g+v>z.max&&(g=z.max-v,B=!0);B?(K-=.8*(K-m[b][0]),H||(l-=.8*(l-m[b][1])),h()):m[b]=
  [K,l];r||(e[b]=u-n,e[q]=v);e=r?1/x:x;t[q]=v;t[b]=g;p[r?a?"scaleY":"scaleX":"scale"+k]=x;p["translate"+k]=e*n+(K-e*y)},pinch:function(a){var u=this,h=u.chart,p=u.pinchDown,t=a.touches,e=t.length,m=u.lastValidTouch,d=u.hasZoom,c=u.selectionMarker,b={},k=1===e&&(u.inClass(a.target,"highcharts-tracker")&&h.runTrackerClick||u.runChartClick),f={};1<e&&(u.initiated=!0);d&&u.initiated&&!k&&a.preventDefault();r(t,function(a){return u.normalize(a)});"touchstart"===a.type?(C(t,function(a,b){p[b]={chartX:a.chartX,
  chartY:a.chartY}}),m.x=[p[0].chartX,p[1]&&p[1].chartX],m.y=[p[0].chartY,p[1]&&p[1].chartY],C(h.axes,function(a){if(a.zoomEnabled){var b=h.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,f=a.toPixels(n(a.options.min,a.dataMin)),k=a.toPixels(n(a.options.max,a.dataMax)),d=Math.max(f,k);b.min=Math.min(a.pos,Math.min(f,k)-c);b.max=Math.max(a.pos+a.len,d+c)}}),u.res=!0):u.followTouchMove&&1===e?this.runPointActions(u.normalize(a)):p.length&&(c||(u.selectionMarker=c=D({destroy:g,touch:!0},h.plotBox)),u.pinchTranslate(p,
  t,b,c,f,m),u.hasPinched=d,u.scaleGroups(b,f),u.res&&(u.res=!1,this.reset(!1,0)))},touch:function(g,r){var h=this.chart,p,t;if(h.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=h.index;1===g.touches.length?(g=this.normalize(g),(t=h.isInsidePlot(g.chartX-h.plotLeft,g.chartY-h.plotTop))&&!h.openMenu?(r&&this.runPointActions(g),"touchmove"===g.type&&(r=this.pinchDown,p=r[0]?4<=Math.sqrt(Math.pow(r[0].chartX-g.chartX,2)+Math.pow(r[0].chartY-g.chartY,2)):!1),n(p,
  !0)&&this.pinch(g)):r&&this.reset()):2===g.touches.length&&this.pinch(g)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(g){A[a.hoverChartIndex]&&A[a.hoverChartIndex].pointer.drop(g)}})})(J);(function(a){var A=a.addEvent,C=a.charts,D=a.css,r=a.doc,g=a.extend,n=a.noop,u=a.Pointer,w=a.removeEvent,h=a.win,p=a.wrap;if(!a.hasTouch&&(h.PointerEvent||h.MSPointerEvent)){var t={},e=!!h.PointerEvent,m=function(){var c=
  [];c.item=function(a){return this[a]};a.objectEach(t,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return c},d=function(c,b,k,f){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!C[a.hoverChartIndex]||(f(c),f=C[a.hoverChartIndex].pointer,f[b]({type:k,target:c.currentTarget,preventDefault:n,touches:m()}))};g(u.prototype,{onContainerPointerDown:function(a){d(a,"onContainerTouchStart","touchstart",function(a){t[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},
  onContainerPointerMove:function(a){d(a,"onContainerTouchMove","touchmove",function(a){t[a.pointerId]={pageX:a.pageX,pageY:a.pageY};t[a.pointerId].target||(t[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){d(a,"onDocumentTouchEnd","touchend",function(a){delete t[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,e?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,e?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(r,e?
  "pointerup":"MSPointerUp",this.onDocumentPointerUp)}});p(u.prototype,"init",function(a,b,k){a.call(this,b,k);this.hasZoom&&D(b.container,{"-ms-touch-action":"none","touch-action":"none"})});p(u.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(A)});p(u.prototype,"destroy",function(a){this.batchMSEvents(w);a.call(this)})}})(J);(function(a){var A=a.addEvent,C=a.css,D=a.discardElement,r=a.defined,g=a.each,n=a.fireEvent,u=a.isFirefox,w=a.marginNames,
  h=a.merge,p=a.pick,t=a.setAnimation,e=a.stableSort,m=a.win,d=a.wrap;a.Legend=function(a,b){this.init(a,b)};a.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),A(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=A(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=p(a.padding,8);this.options=
  a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=h(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=p(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,b){var c=this.chart;this.setOptions(h(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;p(b,!0)&&c.redraw();n(this,"afterUpdate")},colorizeItem:function(a,b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");
  var c=this.options,f=a.legendItem,d=a.legendLine,e=a.legendSymbol,m=this.itemHiddenStyle.color,c=b?c.itemStyle.color:m,h=b?a.color||m:m,g=a.options&&a.options.marker,t={fill:h};f&&f.css({fill:c,color:c});d&&d.attr({stroke:h});e&&(g&&e.isMarker&&(t=a.pointAttribs(),b||(t.stroke=t.fill=m)),e.attr(t));n(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){g(this.allItems,this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,
  c=b.symbolPadding,b=!b.rtl,f=a._legendItemPos,d=f[0],f=f[1],e=a.checkbox;if((a=a.legendGroup)&&a.element)a[r(a.translateY)?"animate":"attr"]({translateX:b?d:this.legendWidth-d-2*c-4,translateY:f});e&&(e.x=d,e.y=f)},destroyItem:function(a){var b=a.checkbox;g(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});b&&D(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}g(this.getAllItems(),function(b){g(["legendItem","legendGroup"],
  a,b)});g("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b,d=this.clipHeight||this.legendHeight,f=this.titleHeight;a&&(b=a.translateY,g(this.allItems,function(c){var k=c.checkbox,e;k&&(e=b+f+k.y+(this.scrollOffset||0)+3,C(k,{left:a.translateX+c.checkboxOffset+k.x-20+"px",top:e+"px",display:this.proximate||e>b-6&&e<b+d-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,b=this.padding,
  d=a.title,f=0;d.text&&(this.title||(this.title=this.chart.renderer.label(d.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}).css(d.style).add(this.group)),a=this.title.getBBox(),f=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:f}));this.titleHeight=f},setText:function(c){var b=this.options;c.legendItem.attr({text:b.labelFormat?a.format(b.labelFormat,c,this.chart.time):b.labelFormatter.call(c)})},renderItem:function(a){var b=this.chart,c=b.renderer,f=
  this.options,d=this.symbolWidth,e=f.symbolPadding,m=this.itemStyle,g=this.itemHiddenStyle,x="horizontal"===f.layout?p(f.itemDistance,20):0,t=!f.rtl,z=a.legendItem,n=!a.series,y=!n&&a.series.drawLegendSymbol?a.series:a,K=y.options,K=this.createCheckboxForItem&&K&&K.showCheckbox,x=d+e+x+(K?20:0),F=f.useHTML,l=a.options.className;z||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+y.type+"-series highcharts-color-"+a.colorIndex+(l?" "+l:"")+(n?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),
  a.legendItem=z=c.text("",t?d+e:-e,this.baseline||0,F).css(h(a.visible?m:g)).attr({align:t?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(d=m.fontSize,this.fontMetrics=c.fontMetrics(d,z),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,z.attr("y",this.baseline)),this.symbolHeight=f.symbolHeight||this.fontMetrics.f,y.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,z,F),K&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);m.width||z.css({width:(f.itemWidth||
  f.width||b.spacingBox.width)-x});this.setText(a);b=z.getBBox();a.itemWidth=a.checkboxOffset=f.itemWidth||a.legendItemWidth||b.width+x;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||b.height||this.symbolHeight)},layoutItem:function(a){var b=this.options,c=this.padding,f="horizontal"===b.layout,d=a.itemHeight,e=b.itemMarginBottom||0,m=this.itemMarginTop,h=f?p(b.itemDistance,20):0,g=b.width,t=g||this.chart.spacingBox.width-
  2*c-b.x,b=b.alignColumns&&this.totalItemWidth>t?this.maxItemWidth:a.itemWidth;f&&this.itemX-c+b>t&&(this.itemX=c,this.itemY+=m+this.lastLineHeight+e,this.lastLineHeight=0);this.lastItemY=m+this.itemY+e;this.lastLineHeight=Math.max(d,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];f?this.itemX+=b:(this.itemY+=m+d+e,this.lastLineHeight=d);this.offsetWidth=g||Math.max((f?this.itemX-c-(a.checkbox?0:h):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];g(this.chart.series,function(b){var c=
  b&&b.options;b&&p(c.showInLegend,r(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});n(this,"afterGetAllItems",{allItems:a});return a},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)},adjustMargins:function(a,b){var c=this.chart,f=this.options,d=this.getAlignment();d&&g([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(k,
  e){k.test(d)&&!r(a[e])&&(c[w[e]]=Math.max(c[w[e]],c.legend[(e+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][e]*f[e%2?"x":"y"]+p(f.margin,12)+b[e]+(0===e&&void 0!==c.options.title.margin?c.titleOffset+c.options.title.margin:0)))})},proximatePositions:function(){var c=this.chart,b=[],d="left"===this.options.align;g(this.allItems,function(f){var k,e;k=d;f.xAxis&&f.points&&(f.xAxis.options.reversed&&(k=!k),k=a.find(k?f.points:f.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),e=f.legendGroup.getBBox().height,
  b.push({target:f.visible?(k?k.plotY:f.xAxis.height)-.3*e:c.plotHeight,size:e,item:f}))},this);a.distribute(b,c.plotHeight);g(b,function(a){a.item._legendItemPos[1]=c.plotTop-c.spacing[0]+a.pos})},render:function(){var a=this.chart,b=a.renderer,d=this.group,f,m,t,v=this.box,p=this.options,x=this.padding;this.itemX=x;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;d||(this.group=d=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(d),this.scrollGroup=b.g().add(this.contentGroup));
  this.renderTitle();f=this.getAllItems();e(f,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});p.reversed&&f.reverse();this.allItems=f;this.display=m=!!f.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;g(f,this.renderItem,this);g(f,this.layoutItem,this);f=(p.width||this.offsetWidth)+x;t=this.lastItemY+this.lastLineHeight+this.titleHeight;t=this.handleOverflow(t);t+=x;v||(this.box=v=b.rect().addClass("highcharts-legend-box").attr({r:p.borderRadius}).add(d),
  v.isNew=!0);v.attr({stroke:p.borderColor,"stroke-width":p.borderWidth||0,fill:p.backgroundColor||"none"}).shadow(p.shadow);0<f&&0<t&&(v[v.isNew?"attr":"animate"](v.crisp.call({},{x:0,y:0,width:f,height:t},v.strokeWidth())),v.isNew=!1);v[m?"show":"hide"]();this.legendWidth=f;this.legendHeight=t;m&&(b=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(b=h(b,{y:b.y+a.titleOffset+a.options.title.margin})),d.align(h(p,{width:f,height:t,verticalAlign:this.proximate?"top":p.verticalAlign}),!0,b));this.proximate||
  this.positionItems()},handleOverflow:function(a){var b=this,c=this.chart,f=c.renderer,d=this.options,e=d.y,m=this.padding,c=c.spacingBox.height+("top"===d.verticalAlign?-e:e)-m,e=d.maxHeight,h,t=this.clipRect,n=d.navigation,z=p(n.animation,!0),H=n.arrowSize||12,y=this.nav,K=this.pages,F,l=this.allItems,B=function(a){"number"===typeof a?t.attr({height:a}):t&&(b.clipRect=t.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+m+"px,9999px,"+(m+a)+"px,0)":"auto")};
  "horizontal"!==d.layout||"middle"===d.verticalAlign||d.floating||(c/=2);e&&(c=Math.min(c,e));K.length=0;a>c&&!1!==n.enabled?(this.clipHeight=h=Math.max(c-20-this.titleHeight-m,0),this.currentPage=p(this.currentPage,1),this.fullHeight=a,g(l,function(a,b){var c=a._legendItemPos[1],f=Math.round(a.legendItem.getBBox().height),d=K.length;if(!d||c-K[d-1]>h&&(F||c)!==K[d-1])K.push(F||c),d++;a.pageIx=d-1;F&&(l[b-1].pageIx=d-1);b===l.length-1&&c+f-K[d-1]>h&&(K.push(c),a.pageIx=d);c!==F&&(F=c)}),t||(t=b.clipRect=
  f.clipRect(0,m,9999,0),b.contentGroup.clip(t)),B(h),y||(this.nav=y=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,H,H).on("click",function(){b.scroll(-1,z)}).add(y),this.pager=f.text("",15,10).addClass("highcharts-legend-navigation").css(n.style).add(y),this.down=f.symbol("triangle-down",0,0,H,H).on("click",function(){b.scroll(1,z)}).add(y)),b.scroll(0),a=c):y&&(B(),this.nav=y.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=
  this.pages,f=c.length;a=this.currentPage+a;var d=this.clipHeight,e=this.options.navigation,m=this.pager,h=this.padding;a>f&&(a=f);0<a&&(void 0!==b&&t(b,this.chart),this.nav.attr({translateX:h,translateY:d+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),m.attr({text:a+"/"+f}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),
  this.up.attr({fill:1===a?e.inactiveColor:e.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===f?e.inactiveColor:e.activeColor}).css({cursor:a===f?"default":"pointer"}),this.scrollOffset=-c[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,f=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(f?(a.symbolWidth-c)/2:
  0,a.baseline-c+1,f?c:a.symbolWidth,c,p(a.options.symbolRadius,c/2)).addClass("highcharts-point").attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b=this.options,c=b.marker,f=a.symbolWidth,d=a.symbolHeight,e=d/2,m=this.chart.renderer,g=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var t;t={"stroke-width":b.lineWidth||0};b.dashStyle&&(t.dashstyle=b.dashStyle);this.legendLine=m.path(["M",0,a,"L",f,a]).addClass("highcharts-graph").attr(t).add(g);c&&!1!==c.enabled&&f&&
  (b=Math.min(p(c.radius,e),e),0===this.symbol.indexOf("url")&&(c=h(c,{width:d,height:d}),b=0),this.legendSymbol=c=m.symbol(this.symbol,f/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(g),c.isMarker=!0)}};(/Trident\/7\.0/.test(m.navigator.userAgent)||u)&&d(a.Legend.prototype,"positionItem",function(a,b){var c=this,f=function(){b._legendItemPos&&a.call(c,b)};f();setTimeout(f)})})(J);(function(a){var A=a.addEvent,C=a.animate,D=a.animObject,r=a.attr,g=a.doc,n=a.Axis,u=a.createElement,w=a.defaultOptions,
  h=a.discardElement,p=a.charts,t=a.css,e=a.defined,m=a.each,d=a.extend,c=a.find,b=a.fireEvent,k=a.grep,f=a.isNumber,q=a.isObject,E=a.isString,v=a.Legend,I=a.marginNames,x=a.merge,G=a.objectEach,z=a.Pointer,H=a.pick,y=a.pInt,K=a.removeEvent,F=a.seriesTypes,l=a.splat,B=a.syncTimeout,M=a.win,P=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new P(a,b,c)};d(P.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(E(a[0])||a[0].nodeName)this.renderTo=
  a.shift();this.init(a[0],a[1])},init:function(c,f){var d,l,k=c.series,e=c.plotOptions||{};b(this,"init",{args:arguments},function(){c.series=null;d=x(w,c);for(l in d.plotOptions)d.plotOptions[l].tooltip=e[l]&&x(e[l].tooltip)||void 0;d.tooltip.userOptions=c.chart&&c.chart.forExport&&c.tooltip.userOptions||c.tooltip;d.series=c.series=k;this.userOptions=c;var m=d.chart,h=m.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=f;this.isResizing=0;this.options=
  d;this.axes=[];this.series=[];this.time=c.time&&a.keys(c.time).length?new a.Time(c.time):a.time;this.hasCartesianSeries=m.showAxes;var q=this;q.index=p.length;p.push(q);a.chartCount++;h&&G(h,function(a,b){A(q,b,a)});q.xAxis=[];q.yAxis=[];q.pointCount=q.colorCounter=q.symbolCounter=0;b(q,"afterInit");q.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=F[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;
  for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var f=c?b:a;a=c?a:b;return 0<=f&&f<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(c){b(this,"beforeRedraw");var f=this.axes,l=this.series,k=this.pointer,e=this.legend,h=this.userOptions.legend,q=this.isDirtyLegend,z,g,v=this.hasCartesianSeries,y=this.isDirtyBox,t,x=this.renderer,B=x.isHidden(),p=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(c,this);B&&this.temporaryDisplay();
  this.layOutTitles();for(c=l.length;c--;)if(t=l[c],t.options.stacking&&(z=!0,t.isDirty)){g=!0;break}if(g)for(c=l.length;c--;)t=l[c],t.options.stacking&&(t.isDirty=!0);m(l,function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),q=!0):h&&(h.labelFormatter||h.labelFormat)&&(q=!0));a.isDirtyData&&b(a,"updatedData")});q&&e&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);z&&this.getStacks();v&&m(f,function(a){a.updateNames();a.updateYNames&&a.updateYNames();a.setScale()});
  this.getMargins();v&&(m(f,function(a){a.isDirty&&(y=!0)}),m(f,function(a){var c=a.min+","+a.max;a.extKey!==c&&(a.extKey=c,p.push(function(){b(a,"afterSetExtremes",d(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(y||z)&&a.redraw()}));y&&this.drawChartBox();b(this,"predraw");m(l,function(a){(y||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});k&&k.reset(!0);x.draw();b(this,"redraw");b(this,"render");B&&this.temporaryDisplay(!0);m(p,function(a){a.call()})},get:function(a){function b(b){return b.id===
  a||b.options&&b.options.id===a}var f,d=this.series,l;f=c(this.axes,b)||c(this.series,b);for(l=0;!f&&l<d.length;l++)f=c(d[l].points||[],b);return f},getAxes:function(){var a=this,c=this.options,f=c.xAxis=l(c.xAxis||{}),c=c.yAxis=l(c.yAxis||{});b(this,"getAxes");m(f,function(a,b){a.index=b;a.isX=!0});m(c,function(a,b){a.index=b});f=f.concat(c);m(f,function(b){new n(a,b)});b(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];m(this.series,function(b){a=a.concat(k(b.data||[],function(a){return a.selected}))});
  return a},getSelectedSeries:function(){return k(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var f=this,d=f.options,l;l=d.title=x({style:{color:"#333333",fontSize:d.isStock?"16px":"18px"}},d.title,a);d=d.subtitle=x({style:{color:"#666666"}},d.subtitle,b);m([["title",a,l],["subtitle",b,d]],function(a,b){var c=a[0],d=f[c],l=a[1];a=a[2];d&&l&&(f[c]=d=d.destroy());a&&!d&&(f[c]=f.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),
  f[c].update=function(a){f.setTitle(!b&&a,b&&a)},f[c].css(a.style))});f.layOutTitles(c)},layOutTitles:function(a){var b=0,c,f=this.renderer,l=this.spacingBox;m(["title","subtitle"],function(a){var c=this[a],k=this.options[a];a="title"===a?-3:k.verticalAlign?0:b+2;var e;c&&(e=k.style.fontSize,e=f.fontMetrics(e,c).b,c.css({width:(k.width||l.width+k.widthAdjust)+"px"}).align(d({y:a+e},k),!1,"spacingBox"),k.floating||k.verticalAlign||(b=Math.ceil(b+c.getBBox(k.useHTML).height)))},this);c=this.titleOffset!==
  b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&H(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,c=b.width,b=b.height,f=this.renderTo;e(c)||(this.containerWidth=a.getStyle(f,"width"));e(b)||(this.containerHeight=a.getStyle(f,"height"));this.chartWidth=Math.max(0,c||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},
  temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(g.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){g.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,g.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&
  (b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===g.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,l=this.options,k=l.chart,e,m;c=this.renderTo;var h=a.uniqueKey(),q;c||(this.renderTo=c=k.renderTo);E(c)&&(this.renderTo=c=g.getElementById(c));c||a.error(13,!0);e=y(r(c,"data-highcharts-chart"));f(e)&&p[e]&&p[e].hasRendered&&p[e].destroy();r(c,"data-highcharts-chart",
  this.index);c.innerHTML="";k.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();e=this.chartWidth;m=this.chartHeight;q=d({position:"relative",overflow:"hidden",width:e+"px",height:m+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},k.style);this.container=c=u("div",{id:h},q,c);this._cursor=c.style.cursor;this.renderer=new (a[k.renderer]||a.Renderer)(c,e,m,null,k.forExport,l.exporting&&l.exporting.allowHTML);this.setClassName(k.className);
  this.renderer.setStyle(k.style);this.renderer.chartIndex=this.index;b(this,"afterGetContainer")},getMargins:function(a){var c=this.spacing,f=this.margin,d=this.titleOffset;this.resetMargins();d&&!e(f[0])&&(this.plotTop=Math.max(this.plotTop,d+this.options.title.margin+c[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(f,c);b(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],c=a.margin;a.hasCartesianSeries&&m(a.axes,function(a){a.visible&&
  a.getOffset()});m(I,function(f,d){e(c[d])||(a[f]+=b[d])});a.setChartSize()},reflow:function(b){var c=this,f=c.options.chart,d=c.renderTo,l=e(f.width)&&e(f.height),k=f.width||a.getStyle(d,"width"),f=f.height||a.getStyle(d,"height"),d=b?b.target:M;if(!l&&!c.isPrinting&&k&&f&&(d===M||d===g)){if(k!==c.containerWidth||f!==c.containerHeight)a.clearTimeout(c.reflowTimeout),c.reflowTimeout=B(function(){c.container&&c.setSize(void 0,void 0,!1)},b?100:0);c.containerWidth=k;c.containerHeight=f}},setReflow:function(a){var b=
  this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=A(M,"resize",function(a){b.reflow(a)}),A(this,"destroy",this.unbindReflow))},setSize:function(c,f,d){var l=this,k=l.renderer;l.isResizing+=1;a.setAnimation(d,l);l.oldChartHeight=l.chartHeight;l.oldChartWidth=l.chartWidth;void 0!==c&&(l.options.chart.width=c);void 0!==f&&(l.options.chart.height=f);l.getChartSize();c=k.globalAnimation;(c?C:t)(l.container,{width:l.chartWidth+"px",height:l.chartHeight+
  "px"},c);l.setChartSize(!0);k.setSize(l.chartWidth,l.chartHeight,d);m(l.axes,function(a){a.isDirty=!0;a.setScale()});l.isDirtyLegend=!0;l.isDirtyBox=!0;l.layOutTitles();l.getMargins();l.redraw(d);l.oldChartHeight=null;b(l,"resize");B(function(){l&&b(l,"endResize",null,function(){--l.isResizing})},D(c).duration)},setChartSize:function(a){var c=this.inverted,f=this.renderer,d=this.chartWidth,l=this.chartHeight,k=this.options.chart,e=this.spacing,h=this.clipOffset,q,z,g,v;this.plotLeft=q=Math.round(this.plotLeft);
  this.plotTop=z=Math.round(this.plotTop);this.plotWidth=g=Math.max(0,Math.round(d-q-this.marginRight));this.plotHeight=v=Math.max(0,Math.round(l-z-this.marginBottom));this.plotSizeX=c?v:g;this.plotSizeY=c?g:v;this.plotBorderWidth=k.plotBorderWidth||0;this.spacingBox=f.spacingBox={x:e[3],y:e[0],width:d-e[3]-e[1],height:l-e[0]-e[2]};this.plotBox=f.plotBox={x:q,y:z,width:g,height:v};d=2*Math.floor(this.plotBorderWidth/2);c=Math.ceil(Math.max(d,h[3])/2);f=Math.ceil(Math.max(d,h[0])/2);this.clipBox={x:c,
  y:f,width:Math.floor(this.plotSizeX-Math.max(d,h[1])/2-c),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(d,h[2])/2-f))};a||m(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});b(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){var a=this,b=a.options.chart;m(["margin","spacing"],function(c){var f=b[c],d=q(f)?f:[f,f,f,f];m(["Top","Right","Bottom","Left"],function(f,l){a[c][l]=H(b[c+f],d[l])})});m(I,function(b,c){a[b]=H(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,
  0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,c=this.renderer,f=this.chartWidth,d=this.chartHeight,l=this.chartBackground,k=this.plotBackground,e=this.plotBorder,m,h=this.plotBGImage,q=a.backgroundColor,z=a.plotBackgroundColor,g=a.plotBackgroundImage,v,y=this.plotLeft,t=this.plotTop,x=this.plotWidth,B=this.plotHeight,p=this.plotBox,n=this.clipRect,H=this.clipBox,F="animate";l||(this.chartBackground=l=c.rect().addClass("highcharts-background").add(),F="attr");m=a.borderWidth||
  0;v=m+(a.shadow?8:0);q={fill:q||"none"};if(m||l["stroke-width"])q.stroke=a.borderColor,q["stroke-width"]=m;l.attr(q).shadow(a.shadow);l[F]({x:v/2,y:v/2,width:f-v-m%2,height:d-v-m%2,r:a.borderRadius});F="animate";k||(F="attr",this.plotBackground=k=c.rect().addClass("highcharts-plot-background").add());k[F](p);k.attr({fill:z||"none"}).shadow(a.plotShadow);g&&(h?h.animate(p):this.plotBGImage=c.image(g,y,t,x,B).add());n?n.animate({width:H.width,height:H.height}):this.clipRect=c.clipRect(H);F="animate";
  e||(F="attr",this.plotBorder=e=c.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());e.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});e[F](e.crisp({x:y,y:t,width:x,height:B},-e.strokeWidth()));this.isDirtyBox=!1;b(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,f=a.options.series,d,l;m(["inverted","angular","polar"],function(k){c=F[b.type||b.defaultSeriesType];l=b[k]||c&&c.prototype[k];for(d=f&&f.length;!l&&d--;)(c=
  F[f[d].type])&&c.prototype[k]&&(l=!0);a[k]=l})},linkSeries:function(){var a=this,c=a.series;m(c,function(a){a.linkedSeries.length=0});m(c,function(b){var c=b.options.linkedTo;E(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=H(b.options.visible,c.options.visible,b.visible))});b(this,"afterLinkSeries")},renderSeries:function(){m(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;
  b.items&&m(b.items,function(c){var f=d(b.style,c.style),l=y(f.left)+a.plotLeft,k=y(f.top)+a.plotTop+12;delete f.left;delete f.top;a.renderer.text(c.html,l,k).attr({zIndex:2}).css(f).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,f,d,l;this.setTitle();this.legend=new v(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;f=this.plotHeight=Math.max(this.plotHeight-21,0);m(a,function(a){a.setScale()});this.getAxisMargins();
  d=1.1<c/this.plotWidth;l=1.05<f/this.plotHeight;if(d||l)m(a,function(a){(a.horiz&&d||!a.horiz&&l)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&m(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=x(!0,this.options.credits,a);a.enabled&&
  !this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(M.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var c=this,f=c.axes,d=c.series,l=c.container,k,e=l&&l.parentNode;b(c,"destroy");c.renderer.forExport?a.erase(p,c):p[c.index]=void 0;a.chartCount--;c.renderTo.removeAttribute("data-highcharts-chart");
  K(c);for(k=f.length;k--;)f[k]=f[k].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(k=d.length;k--;)d[k]=d[k].destroy();m("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var b=c[a];b&&b.destroy&&(c[a]=b.destroy())});l&&(l.innerHTML="",K(l),e&&h(l));G(c,function(a,b){delete c[b]})},firstRender:function(){var a=this,c=a.options;if(!a.isReadyToRender||
  a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();m(c.series||[],function(b){a.initSeries(b)});a.linkSeries();b(a,"beforeRender");z&&(a.pointer=new z(a,c));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){m([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);b(this,"load");b(this,"render");e(this.index)&&this.setReflow(this.options.chart.reflow);
  this.onload=null}})})(J);(function(a){var A=a.addEvent,C=a.Chart,D=a.each;A(C,"afterSetChartSize",function(r){var g=this.options.chart.scrollablePlotArea;(g=g&&g.minWidth)&&!this.renderer.forExport&&(this.scrollablePixels=g=Math.max(0,g-this.chartWidth))&&(this.plotWidth+=g,this.clipBox.width+=g,r.skipAxes||D(this.axes,function(g){1===g.side?g.getPlotLinePath=function(){var n=this.right,r;this.right=n-g.chart.scrollablePixels;r=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this.right=n;return r}:
  (g.setAxisSize(),g.setAxisTranslation())}))});A(C,"render",function(){this.scrollablePixels?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});C.prototype.setUpScrolling=function(){this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},{overflowX:"auto",WebkitOverflowScrolling:"touch"},this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);
  this.setUpScrolling=null};C.prototype.applyFixed=function(){var r=this.container,g,n,u=!this.fixedDiv;u&&(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.fixedRenderer=g=new a.Renderer(this.fixedDiv,0,0),this.scrollableMask=g.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(.85).get(),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),
  a.each([this.inverted?".highcharts-xaxis":".highcharts-yaxis",this.inverted?".highcharts-xaxis-labels":".highcharts-yaxis-labels",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-subtitle",".highcharts-title",".highcharts-legend-checkbox"],function(h){a.each(r.querySelectorAll(h),function(a){(a.namespaceURI===g.SVG_NS?g.box:g.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})}));this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);n=this.chartWidth+
  this.scrollablePixels;a.stop(this.container);this.container.style.width=n+"px";this.renderer.boxWrapper.attr({width:n,height:this.chartHeight,viewBox:[0,0,n,this.chartHeight].join(" ")});this.chartBackground.attr({width:n});u&&(n=this.options.chart.scrollablePlotArea,n.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixels*n.scrollPositionX));u=this.axisOffset;n=this.plotTop-u[0]-1;var u=this.plotTop+this.plotHeight+u[2],w=this.plotLeft+this.plotWidth-this.scrollablePixels;this.scrollableMask.attr({d:this.scrollablePixels?
  ["M",0,n,"L",this.plotLeft-1,n,"L",this.plotLeft-1,u,"L",0,u,"Z","M",w,n,"L",this.chartWidth,n,"L",this.chartWidth,u,"L",w,u,"Z"]:["M",0,0]})}})(J);(function(a){var A,C=a.each,D=a.extend,r=a.erase,g=a.fireEvent,n=a.format,u=a.isArray,w=a.isNumber,h=a.pick,p=a.uniqueKey,t=a.defined,e=a.removeEvent;a.Point=A=function(){};a.Point.prototype={init:function(a,d,c){this.series=a;this.color=a.color;this.applyOptions(d,c);this.id=t(this.id)?this.id:p();a.options.colorByPoint?(d=a.options.colors||a.chart.options.colors,
  this.color=this.color||d[a.colorCounter],d=d.length,c=a.colorCounter,a.colorCounter++,a.colorCounter===d&&(a.colorCounter=0)):c=a.colorIndex;this.colorIndex=h(this.colorIndex,c);a.chart.pointCount++;g(this,"afterInit");return this},applyOptions:function(a,d){var c=this.series,b=c.options.pointValKey||c.pointValKey;a=A.prototype.optionsToObject.call(this,a);D(this,a);this.options=this.options?D(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;b&&(this.y=this[b]);this.isNull=
  h(this.isValid&&!this.isValid(),null===this.x||!w(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===d&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));void 0===this.x&&c&&(this.x=void 0===d?c.autoIncrement(this):d);return this},setNestedProperty:function(e,d,c){c=c.split(".");a.reduce(c,function(b,c,f,e){b[c]=e.length-1===f?d:a.isObject(b[c],!0)?b[c]:{};return b[c]},e);return e},optionsToObject:function(e){var d={},c=this.series,b=c.options.keys,k=b||c.pointArrayMap||
  ["y"],f=k.length,m=0,h=0;if(w(e)||null===e)d[k[0]]=e;else if(u(e))for(!b&&e.length>f&&(c=typeof e[0],"string"===c?d.name=e[0]:"number"===c&&(d.x=e[0]),m++);h<f;)b&&void 0===e[m]||(0<k[h].indexOf(".")?a.Point.prototype.setNestedProperty(d,e[m],k[h]):d[k[h]]=e[m]),m++,h++;else"object"===typeof e&&(d=e,e.dataLabels&&(c._hasPointLabels=!0),e.marker&&(c._hasPointMarkers=!0));return d},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":
  "")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,d=a.zones,a=a.zoneAxis||"y",c=0,b;for(b=d[c];this[a]>=b.value;)b=d[++c];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=b&&b.color&&!this.options.color?b.color:this.nonZonedColor;return b},
  destroy:function(){var a=this.series.chart,d=a.hoverPoints,c;a.pointCount--;d&&(this.setState(),r(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)e(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,c=6;c--;)d=a[c],this[d]&&(this[d]=this[d].destroy());this.dataLabels&&
  (C(this.dataLabels,function(a){a.element&&a.destroy()}),delete this.dataLabels);this.connectors&&(C(this.connectors,function(a){a.element&&a.destroy()}),delete this.connectors)},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}},tooltipFormatter:function(a){var d=this.series,c=d.tooltipOptions,b=h(c.valueDecimals,""),e=c.valuePrefix||
  "",f=c.valueSuffix||"";C(d.pointArrayMap||["y"],function(c){c="{point."+c;if(e||f)a=a.replace(RegExp(c+"}","g"),e+c+"}"+f);a=a.replace(RegExp(c+"}","g"),c+":,."+b+"f}")});return n(a,{point:this,series:this.series},d.chart.time)},firePointEvent:function(a,d,c){var b=this,e=this.series.options;(e.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();"click"===a&&e.allowPointSelect&&(c=function(a){b.select&&b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});g(this,a,
  d,c)},visible:!0}})(J);(function(a){var A=a.addEvent,C=a.animObject,D=a.arrayMax,r=a.arrayMin,g=a.correctFloat,n=a.defaultOptions,u=a.defaultPlotOptions,w=a.defined,h=a.each,p=a.erase,t=a.extend,e=a.fireEvent,m=a.grep,d=a.isArray,c=a.isNumber,b=a.isString,k=a.merge,f=a.objectEach,q=a.pick,E=a.removeEvent,v=a.splat,I=a.SVGElement,x=a.syncTimeout,G=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",
  enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},
  hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,b){var c=this,d,k=a.series,l;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();t(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});
  d=b.events;f(d,function(a,b){A(c,b,a)});if(d&&d.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();h(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);k.length&&(l=k[k.length-1]);c._i=q(l&&l._i,-1)+1;a.orderSeries(this.insert(k));e(this,"afterInit")},insert:function(a){var b=this.options.index,f;if(c(b)){for(f=a.length;f--;)if(b>=q(a[f].options.index,a[f]._i)){a.splice(f+
  1,0,this);break}-1===f&&a.unshift(this);f+=1}else a.push(this);return q(f,a.length-1)},bindAxes:function(){var b=this,c=b.options,f=b.chart,d;h(b.axisTypes||[],function(e){h(f[e],function(a){d=a.options;if(c[e]===d.index||void 0!==c[e]&&c[e]===d.id||void 0===c[e]&&0===d.index)b.insert(a.series),b[e]=a,a.isDirty=!0});b[e]||b.optionalAxis===e||a.error(18,!0)})},updateParallelArrays:function(a,b){var f=a.series,d=arguments,e=c(b)?function(c){var d="y"===c&&f.toYData?f.toYData(a):a[c];f[c+"Data"][b]=
  d}:function(a){Array.prototype[b].apply(f[a+"Data"],Array.prototype.slice.call(d,2))};h(f.parallelArrays,e)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,f=a.pointIntervalUnit,d=this.chart.time,b=q(b,a.pointStart,0);this.pointInterval=c=q(this.pointInterval,a.pointInterval,1);f&&(a=new d.Date(b),"day"===f?d.set("Date",a,d.get("Date",a)+c):"month"===f?d.set("Month",a,d.get("Month",a)+c):"year"===f&&d.set("FullYear",a,d.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},
  setOptions:function(a){var b=this.chart,c=b.options,f=c.plotOptions,d=(b.userOptions||{}).plotOptions||{},l=f[this.type];this.userOptions=a;b=k(l,f.series,a);this.tooltipOptions=k(n.tooltip,n.plotOptions.series&&n.plotOptions.series.tooltip,n.plotOptions[this.type].tooltip,c.tooltip.userOptions,f.series&&f.series.tooltip,f[this.type].tooltip,a.tooltip);this.stickyTracking=q(a.stickyTracking,d[this.type]&&d[this.type].stickyTracking,d.series&&d.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?
  !0:b.stickyTracking);null===l.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&&w(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});e(this,"afterSetOptions",{options:b});return b},getName:function(){return this.name||"Series "+(this.index+
  1)},getCyclic:function(a,b,c){var f,d=this.chart,l=this.userOptions,e=a+"Index",k=a+"Counter",h=c?c.length:q(d.options.chart[a+"Count"],d[a+"Count"]);b||(f=q(l[e],l["_"+e]),w(f)||(d.series.length||(d[k]=0),l["_"+e]=f=d[k]%h,d[k]+=1),c&&(b=c[f]));void 0!==f&&(this[e]=f);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||u[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,
  this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var f=this.options,d=this.points,e=[],k,l,m,q=this.requireSorting;h(b,function(b){var l;l=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b).x;c(l)&&(l=a.inArray(l,this.xData,m),-1===l||d[l].touched?e.push(b):b!==f.data[l]?(d[l].update(b,!1,null,!1),d[l].touched=!0,q&&(m=l+1)):d[l]&&(d[l].touched=!0),k=!0)},this);if(k)for(b=d.length;b--;)l=d[b],l.touched||l.remove(!1),
  l.touched=!1;else if(b.length===d.length)h(b,function(a,b){d[b].update&&a!==f.data[b]&&d[b].update(a,!1,null,!1)});else return!1;h(e,function(a){this.addPoint(a,!1)},this);return!0},setData:function(f,e,k,m){var g=this,l=g.points,v=l&&l.length||0,z,t=g.options,x=g.chart,y=null,p=g.xAxis,n=t.turboThreshold,H=this.xData,r=this.yData,u=(z=g.pointArrayMap)&&z.length,K;f=f||[];z=f.length;e=q(e,!0);!1!==m&&z&&v&&!g.cropped&&!g.hasGroupedData&&g.visible&&!g.isSeriesBoosting&&(K=this.updateData(f));if(!K){g.xIncrement=
  null;g.colorCounter=0;h(this.parallelArrays,function(a){g[a+"Data"].length=0});if(n&&z>n){for(k=0;null===y&&k<z;)y=f[k],k++;if(c(y))for(k=0;k<z;k++)H[k]=this.autoIncrement(),r[k]=f[k];else if(d(y))if(u)for(k=0;k<z;k++)y=f[k],H[k]=y[0],r[k]=y.slice(1,u+1);else for(k=0;k<z;k++)y=f[k],H[k]=y[0],r[k]=y[1];else a.error(12)}else for(k=0;k<z;k++)void 0!==f[k]&&(y={series:g},g.pointClass.prototype.applyOptions.apply(y,[f[k]]),g.updateParallelArrays(y,k));r&&b(r[0])&&a.error(14,!0);g.data=[];g.options.data=
  g.userOptions.data=f;for(k=v;k--;)l[k]&&l[k].destroy&&l[k].destroy();p&&(p.minRange=p.userMinRange);g.isDirty=x.isDirtyBox=!0;g.isDirtyData=!!l;k=!1}"point"===t.legendType&&(this.processData(),this.generatePoints());e&&x.redraw(k)},processData:function(b){var c=this.xData,f=this.yData,d=c.length,k;k=0;var l,e,h=this.xAxis,m,q=this.options;m=q.cropThreshold;var g=this.getExtremesFromAll||q.getExtremesFromAll,v=this.isCartesian,q=h&&h.val2lin,z=h&&h.isLog,t=this.requireSorting,x,p;if(v&&!this.isDirty&&
  !h.isDirty&&!this.yAxis.isDirty&&!b)return!1;h&&(b=h.getExtremes(),x=b.min,p=b.max);v&&this.sorted&&!g&&(!m||d>m||this.forceCrop)&&(c[d-1]<x||c[0]>p?(c=[],f=[]):this.yData&&(c[0]<x||c[d-1]>p)&&(k=this.cropData(this.xData,this.yData,x,p),c=k.xData,f=k.yData,k=k.start,l=!0));for(m=c.length||1;--m;)d=z?q(c[m])-q(c[m-1]):c[m]-c[m-1],0<d&&(void 0===e||d<e)?e=d:0>d&&t&&(a.error(15),t=!1);this.cropped=l;this.cropStart=k;this.processedXData=c;this.processedYData=f;this.closestPointRange=e},cropData:function(a,
  b,c,f,d){var l=a.length,k=0,e=l,h;d=q(d,this.cropShoulder,1);for(h=0;h<l;h++)if(a[h]>=c){k=Math.max(0,h-d);break}for(c=h;c<l;c++)if(a[c]>f){e=c+d;break}return{xData:a.slice(k,e),yData:b.slice(k,e),start:k,end:e}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,f,d=this.processedXData,l=this.processedYData,k=this.pointClass,e=d.length,h=this.cropStart||0,m,q=this.hasGroupedData,a=a.keys,g,x=[],p;c||q||(c=[],c.length=b.length,c=this.data=c);a&&q&&(this.options.keys=!1);for(p=0;p<e;p++)m=
  h+p,q?(g=(new k).init(this,[d[p]].concat(v(l[p]))),g.dataGroup=this.groupMap[p],g.dataGroup.options&&(g.options=g.dataGroup.options,t(g,g.dataGroup.options))):(g=c[m])||void 0===b[m]||(c[m]=g=(new k).init(this,b[m],d[p])),g&&(g.index=m,x[p]=g);this.options.keys=a;if(c&&(e!==(f=c.length)||q))for(p=0;p<f;p++)p!==h||q||(p+=e),c[p]&&(c[p].destroyElements(),c[p].plotX=void 0);this.data=c;this.points=x},getExtremes:function(a){var b=this.yAxis,f=this.processedXData,k,e=[],l=0;k=this.xAxis.getExtremes();
  var h=k.min,m=k.max,q,g,v=this.requireSorting?1:0,z,t;a=a||this.stackedYData||this.processedYData||[];k=a.length;for(t=0;t<k;t++)if(g=f[t],z=a[t],q=(c(z,!0)||d(z))&&(!b.positiveValuesOnly||z.length||0<z),g=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(f[t+v]||g)>=h&&(f[t-v]||g)<=m,q&&g)if(q=z.length)for(;q--;)"number"===typeof z[q]&&(e[l++]=z[q]);else e[l++]=z;this.dataMin=r(e);this.dataMax=D(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();
  var a=this.options,b=a.stacking,f=this.xAxis,d=f.categories,k=this.yAxis,l=this.points,h=l.length,m=!!this.modifyValue,v=a.pointPlacement,t="between"===v||c(v),x=a.threshold,p=a.startFromThreshold?x:0,n,r,u,G,E=Number.MAX_VALUE;"between"===v&&(v=.5);c(v)&&(v*=q(a.pointRange||f.pointRange));for(a=0;a<h;a++){var I=l[a],A=I.x,C=I.y;r=I.low;var D=b&&k.stacks[(this.negStacks&&C<(p?0:x)?"-":"")+this.stackKey],J;k.positiveValuesOnly&&null!==C&&0>=C&&(I.isNull=!0);I.plotX=n=g(Math.min(Math.max(-1E5,f.translate(A,
  0,0,0,1,v,"flags"===this.type)),1E5));b&&this.visible&&!I.isNull&&D&&D[A]&&(G=this.getStackIndicator(G,A,this.index),J=D[A],C=J.points[G.key],r=C[0],C=C[1],r===p&&G.key===D[A].base&&(r=q(c(x)&&x,k.min)),k.positiveValuesOnly&&0>=r&&(r=null),I.total=I.stackTotal=J.total,I.percentage=J.total&&I.y/J.total*100,I.stackY=C,J.setOffset(this.pointXOffset||0,this.barW||0));I.yBottom=w(r)?Math.min(Math.max(-1E5,k.translate(r,0,1,0,1)),1E5):null;m&&(C=this.modifyValue(C,I));I.plotY=r="number"===typeof C&&Infinity!==
  C?Math.min(Math.max(-1E5,k.translate(C,0,1,0,1)),1E5):void 0;I.isInside=void 0!==r&&0<=r&&r<=k.len&&0<=n&&n<=f.len;I.clientX=t?g(f.translate(A,0,0,0,1,v)):n;I.negative=I.y<(x||0);I.category=d&&void 0!==d[I.x]?d[I.x]:I.x;I.isNull||(void 0!==u&&(E=Math.min(E,Math.abs(n-u))),u=n);I.zone=this.zones.length&&I.getZone()}this.closestPointRangePx=E;e(this,"afterTranslate")},getValidPoints:function(a,b){var c=this.chart;return m(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?
  !1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,f=b.renderer,d=b.inverted,l=this.clipBox,k=l||b.clipBox,e=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,k.height,c.xAxis,c.yAxis].join(),h=b[e],m=b[e+"m"];h||(a&&(k.width=0,d&&(k.x=b.plotSizeX),b[e+"m"]=m=f.clipRect(d?b.plotSizeX+99:-99,d?-b.plotLeft:-b.plotTop,99,d?b.chartWidth:b.chartHeight)),b[e]=h=f.clipRect(k),h.count={length:0});a&&!h.count[this.index]&&(h.count[this.index]=!0,h.count.length+=1);!1!==c.clip&&
  (this.group.clip(a||l?h:b.clipRect),this.markerGroup.clip(m),this.sharedClipKey=e);a||(h.count[this.index]&&(delete h.count[this.index],--h.count.length),0===h.count.length&&e&&b[e]&&(l||(b[e]=b[e].destroy()),b[e+"m"]&&(b[e+"m"]=b[e+"m"].destroy())))},animate:function(a){var b=this.chart,c=C(this.options.animation),f;a?this.setClip(c):(f=this.sharedClipKey,(a=b[f])&&a.animate({width:b.plotSizeX,x:0},c),b[f+"m"]&&b[f+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();
  e(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,f,d,l,k=this.options.marker,e,h,m,g=this[this.specialGroup]||this.markerGroup,v,t=q(k.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=k.enabledThreshold*k.radius);if(!1!==k.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)f=a[c],l=f.graphic,e=f.marker||{},h=!!f.marker,d=t&&void 0===e.enabled||e.enabled,m=f.isInside,d&&!f.isNull?(d=q(e.symbol,this.symbol),v=this.markerAttribs(f,
  f.selected&&"select"),l?l[m?"show":"hide"](!0).animate(v):m&&(0<v.width||f.hasImage)&&(f.graphic=l=b.renderer.symbol(d,v.x,v.y,v.width,v.height,h?e:k).add(g)),l&&l.attr(this.pointAttribs(f,f.selected&&"select")),l&&l.addClass(f.getClassName(),!0)):l&&(f.graphic=l.destroy())},markerAttribs:function(a,b){var c=this.options.marker,f=a.marker||{},d=f.symbol||c.symbol,l=q(f.radius,c.radius);b&&(c=c.states[b],b=f.states&&f.states[b],l=q(b&&b.radius,c&&c.radius,l+(c&&c.radiusPlus||0)));a.hasImage=d&&0===
  d.indexOf("url");a.hasImage&&(l=0);a={x:Math.floor(a.plotX)-l,y:a.plotY-l};l&&(a.width=a.height=2*l);return a},pointAttribs:function(a,b){var c=this.options.marker,f=a&&a.options,d=f&&f.marker||{},l=this.color,k=f&&f.color,e=a&&a.color,f=q(d.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;l=k||a||e||l;a=d.fillColor||c.fillColor||l;l=d.lineColor||c.lineColor||l;b&&(c=c.states[b],b=d.states&&d.states[b]||{},f=q(b.lineWidth,c.lineWidth,f+q(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||
  a,l=b.lineColor||c.lineColor||l);return{stroke:l,"stroke-width":f,fill:a}},destroy:function(){var b=this,c=b.chart,d=/AppleWebKit\/533/.test(G.navigator.userAgent),k,m,l=b.data||[],q,g;e(b,"destroy");E(b);h(b.axisTypes||[],function(a){(g=b[a])&&g.series&&(p(g.series,b),g.isDirty=g.forceRedraw=!0)});b.legendItem&&b.chart.legend.destroyItem(b);for(m=l.length;m--;)(q=l[m])&&q.destroy&&q.destroy();b.points=null;a.clearTimeout(b.animationTimeout);f(b,function(a,b){a instanceof I&&!a.survive&&(k=d&&"group"===
  b?"hide":"destroy",a[k]())});c.hoverSeries===b&&(c.hoverSeries=null);p(c.series,b);c.orderSeries();f(b,function(a,c){delete b[c]})},getGraphPath:function(a,b,c){var f=this,d=f.options,k=d.step,e,m=[],q=[],g;a=a||f.points;(e=a.reversed)&&a.reverse();(k={right:1,center:2}[k]||k&&3)&&e&&(k=4-k);!d.connectNulls||b||c||(a=this.getValidPoints(a));h(a,function(l,e){var h=l.plotX,v=l.plotY,t=a[e-1];(l.leftCliff||t&&t.rightCliff)&&!c&&(g=!0);l.isNull&&!w(b)&&0<e?g=!d.connectNulls:l.isNull&&!b?g=!0:(0===e||
  g?e=["M",l.plotX,l.plotY]:f.getPointSpline?e=f.getPointSpline(a,l,e):k?(e=1===k?["L",t.plotX,v]:2===k?["L",(t.plotX+h)/2,t.plotY,"L",(t.plotX+h)/2,v]:["L",h,t.plotY],e.push("L",h,v)):e=["L",h,v],q.push(l.x),k&&(q.push(l.x),2===k&&q.push(l.x)),m.push.apply(m,e),g=!1)});m.xMap=q;return f.graphPath=m},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),f=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]],f=a.getZonesGraphs(f);h(f,function(f,
  d){var k=f[0],e=a[k];e?(e.endX=a.preventGraphAnimation?null:c.xMap,e.animate({d:c})):c.length&&(a[k]=a.chart.renderer.path(c).addClass(f[1]).attr({zIndex:1}).add(a.group),e={stroke:f[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},f[3]?e.dashstyle=f[3]:"square"!==b.linecap&&(e["stroke-linecap"]=e["stroke-linejoin"]="round"),e=a[k].attr(e).shadow(2>d&&b.shadow));e&&(e.startX=c.xMap,e.isArea=c.isArea)})},getZonesGraphs:function(a){h(this.zones,function(b,c){a.push(["zone-graph-"+c,
  "highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||""),b.color||this.color,b.dashStyle||this.options.dashStyle])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,f=this.zones,d,k,e=this.clips||[],m,g=this.graph,v=this.area,t=Math.max(b.chartWidth,b.chartHeight),x=this[(this.zoneAxis||"y")+"Axis"],p,n,r=b.inverted,u,I,G,E,w=!1;f.length&&(g||v)&&x&&void 0!==x.min&&(n=x.reversed,u=x.horiz,g&&!this.showLine&&g.hide(),v&&v.hide(),p=x.getExtremes(),h(f,function(f,l){d=
  n?u?b.plotWidth:0:u?0:x.toPixels(p.min);d=Math.min(Math.max(q(k,d),0),t);k=Math.min(Math.max(Math.round(x.toPixels(q(f.value,p.max),!0)),0),t);w&&(d=k=x.toPixels(p.max));I=Math.abs(d-k);G=Math.min(d,k);E=Math.max(d,k);x.isXAxis?(m={x:r?E:G,y:0,width:I,height:t},u||(m.x=b.plotHeight-m.x)):(m={x:0,y:r?E:G,width:t,height:I},u&&(m.y=b.plotWidth-m.y));r&&c.isVML&&(m=x.isXAxis?{x:0,y:n?G:E,height:m.width,width:b.chartWidth}:{x:m.y-b.plotLeft-b.spacingBox.x,y:0,width:m.height,height:b.chartHeight});e[l]?
  e[l].animate(m):(e[l]=c.clipRect(m),g&&a["zone-graph-"+l].clip(e[l]),v&&a["zone-area-"+l].clip(e[l]));w=f.value>p.max;a.resetZones&&0===k&&(k=void 0)}),this.clips=e)},invertGroups:function(a){function b(){h(["group","markerGroup"],function(b){c[b]&&(f.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,f=c.chart,d;c.xAxis&&(d=A(f,"resize",b),A(c,"destroy",d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,f,
  d){var k=this[a],e=!k;e&&(this[a]=k=this.chart.renderer.g().attr({zIndex:f||.1}).add(d));k.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(k.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);k.attr({visibility:c})[e?"attr":"animate"](this.getPlotBox());return k},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);
  return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,f=a.options,d=!!a.animate&&b.renderer.isSVG&&C(f.animation).duration,k=a.visible?"inherit":"hidden",h=f.zIndex,m=a.hasRendered,g=b.seriesGroup,q=b.inverted;c=a.plotGroup("group","series",k,h,g);a.markerGroup=a.plotGroup("markerGroup","markers",k,h,g);d&&a.animate(!0);c.inverted=a.isCartesian?q:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();
  a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(q);!1===f.clip||a.sharedClipKey||m||c.clip(b.clipRect);d&&a.animate();m||(a.animationTimeout=x(function(){a.afterAnimate()},d));a.isDirty=!1;a.hasRendered=!0;e(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,f=this.xAxis,d=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:q(f&&f.left,a.plotLeft),
  translateY:q(d&&d.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,f=this.yAxis,d=this.chart.inverted;return this.searchKDTree({clientX:d?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:d?f.len-a.chartX+f.pos:a.chartY-f.pos},b)},buildKDTree:function(){function a(c,f,d){var k,e;if(e=c&&c.length)return k=b.kdAxisArray[f%d],c.sort(function(a,b){return a[k]-b[k]}),e=Math.floor(e/2),{point:c[e],left:a(c.slice(0,
  e),f+1,d),right:a(c.slice(e+1),f+1,d)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;x(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,l,h){var m=b.point,g=f.kdAxisArray[l%h],q,v,t=m;v=w(a[d])&&w(m[d])?Math.pow(a[d]-m[d],2):null;q=w(a[k])&&w(m[k])?Math.pow(a[k]-m[k],2):null;q=(v||0)+(q||0);m.dist=w(q)?Math.sqrt(q):Number.MAX_VALUE;m.distX=w(v)?
  Math.sqrt(v):Number.MAX_VALUE;g=a[g]-m[g];q=0>g?"left":"right";v=0>g?"right":"left";b[q]&&(q=c(a,b[q],l+1,h),t=q[e]<t[e]?q:m);b[v]&&Math.sqrt(g*g)<t[e]&&(a=c(a,b[v],l+1,h),t=a[e]<t[e]?a:t);return t}var f=this,d=this.kdAxisArray[0],k=this.kdAxisArray[1],e=b?"distX":"dist";b=-1<f.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(J);(function(a){var A=a.Axis,C=a.Chart,D=a.correctFloat,r=a.defined,g=a.destroyObjectProperties,
  n=a.each,u=a.format,w=a.objectEach,h=a.pick,p=a.Series;a.StackItem=function(a,e,m,d,c){var b=a.chart.inverted;this.axis=a;this.isNegative=m;this.options=e;this.x=d;this.total=null;this.points={};this.stack=c;this.rightCliff=this.leftCliff=0;this.alignOptions={align:e.align||(b?m?"left":"right":"center"),verticalAlign:e.verticalAlign||(b?"middle":m?"bottom":"top"),y:h(e.y,b?4:m?14:-6),x:h(e.x,b?m?-6:6:0)};this.textAlign=e.textAlign||(b?m?"right":"left":"center")};a.StackItem.prototype={destroy:function(){g(this,
  this.axis)},render:function(a){var e=this.axis.chart,h=this.options,d=h.format,d=d?u(d,this,e.time):h.formatter.call(this);this.label?this.label.attr({text:d,visibility:"hidden"}):this.label=e.renderer.text(d,null,null,h.useHTML).css(h.style).attr({align:this.textAlign,rotation:h.rotation,visibility:"hidden"}).add(a);this.label.labelrank=e.plotHeight},setOffset:function(a,e){var h=this.axis,d=h.chart,c=h.translate(h.usePercentage?100:this.total,0,0,0,1),b=h.translate(0),b=r(c)&&Math.abs(c-b);a=d.xAxis[0].translate(this.x)+
  a;h=r(c)&&this.getStackBox(d,this,a,c,e,b,h);(e=this.label)&&h&&(e.align(this.alignOptions,null,h),h=e.alignAttr,e[!1===this.options.crop||d.isInsidePlot(h.x,h.y)?"show":"hide"](!0))},getStackBox:function(a,e,h,d,c,b,k){var f=e.axis.reversed,m=a.inverted;a=k.height+k.pos-(m?a.plotLeft:a.plotTop);e=e.isNegative&&!f||!e.isNegative&&f;return{x:m?e?d:d-b:h,y:m?a-h-c:e?a-d-b:a-d,width:m?b:c,height:m?c:b}}};C.prototype.getStacks=function(){var a=this;n(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&
  (a.oldStacks=a.stacks)});n(a.series,function(e){!e.options.stacking||!0!==e.visible&&!1!==a.options.chart.ignoreHiddenSeries||(e.stackKey=e.type+h(e.options.stack,""))})};A.prototype.buildStacks=function(){var a=this.series,e=h(this.options.reversedStacks,!0),m=a.length,d;if(!this.isXAxis){this.usePercentage=!1;for(d=m;d--;)a[e?d:m-d-1].setStackedPoints();for(d=0;d<m;d++)a[d].modifyStacks()}};A.prototype.renderStackTotals=function(){var a=this.chart,e=a.renderer,h=this.stacks,d=this.stackTotalGroup;
  d||(this.stackTotalGroup=d=e.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());d.translate(a.plotLeft,a.plotTop);w(h,function(a){w(a,function(a){a.render(d)})})};A.prototype.resetStacks=function(){var a=this,e=a.stacks;a.isXAxis||w(e,function(e){w(e,function(d,c){d.touched<a.stacksTouched?(d.destroy(),delete e[c]):(d.total=null,d.cumulative=null)})})};A.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),w(a,function(a){w(a,function(a){a.cumulative=
  a.total})}))};p.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var g=this.processedXData,e=this.processedYData,m=[],d=e.length,c=this.options,b=c.threshold,k=h(c.startFromThreshold&&b,0),f=c.stack,c=c.stacking,q=this.stackKey,p="-"+q,v=this.negStacks,n=this.yAxis,x=n.stacks,u=n.oldStacks,z,H,y,w,F,l,B;n.stacksTouched+=1;for(F=0;F<d;F++)l=g[F],B=e[F],z=this.getStackIndicator(z,l,this.index),w=z.key,y=(H=v&&B<(k?
  0:b))?p:q,x[y]||(x[y]={}),x[y][l]||(u[y]&&u[y][l]?(x[y][l]=u[y][l],x[y][l].total=null):x[y][l]=new a.StackItem(n,n.options.stackLabels,H,l,f)),y=x[y][l],null!==B?(y.points[w]=y.points[this.index]=[h(y.cumulative,k)],r(y.cumulative)||(y.base=w),y.touched=n.stacksTouched,0<z.index&&!1===this.singleStacks&&(y.points[w][0]=y.points[this.index+","+l+",0"][0])):y.points[w]=y.points[this.index]=null,"percent"===c?(H=H?q:p,v&&x[H]&&x[H][l]?(H=x[H][l],y.total=H.total=Math.max(H.total,y.total)+Math.abs(B)||
  0):y.total=D(y.total+(Math.abs(B)||0))):y.total=D(y.total+(B||0)),y.cumulative=h(y.cumulative,k)+(B||0),null!==B&&(y.points[w].push(y.cumulative),m[F]=y.cumulative);"percent"===c&&(n.usePercentage=!0);this.stackedYData=m;n.oldStacks={}}};p.prototype.modifyStacks=function(){var a=this,e=a.stackKey,h=a.yAxis.stacks,d=a.processedXData,c,b=a.options.stacking;a[b+"Stacker"]&&n([e,"-"+e],function(k){for(var f=d.length,e,m;f--;)if(e=d[f],c=a.getStackIndicator(c,e,a.index,k),m=(e=h[k]&&h[k][e])&&e.points[c.key])a[b+
  "Stacker"](m,e,f)})};p.prototype.percentStacker=function(a,e,h){e=e.total?100/e.total:0;a[0]=D(a[0]*e);a[1]=D(a[1]*e);this.stackedYData[h]=a[1]};p.prototype.getStackIndicator=function(a,e,h,d){!r(a)||a.x!==e||d&&a.key!==d?a={x:e,index:0,key:d}:a.index++;a.key=[h,e,a.index].join();return a}})(J);(function(a){var A=a.addEvent,C=a.animate,D=a.Axis,r=a.createElement,g=a.css,n=a.defined,u=a.each,w=a.erase,h=a.extend,p=a.fireEvent,t=a.inArray,e=a.isNumber,m=a.isObject,d=a.isArray,c=a.merge,b=a.objectEach,
  k=a.pick,f=a.Point,q=a.Series,E=a.seriesTypes,v=a.setAnimation,I=a.splat;h(a.Chart.prototype,{addSeries:function(a,b,c){var f,d=this;a&&(b=k(b,!0),p(d,"addSeries",{options:a},function(){f=d.initSeries(a);d.isDirtyLegend=!0;d.linkSeries();p(d,"afterAddSeries");b&&d.redraw(c)}));return f},addAxis:function(a,b,f,d){var e=b?"xAxis":"yAxis",h=this.options;a=c(a,{index:this[e].length,isX:b});b=new D(this,a);h[e]=I(h[e]||{});h[e].push(a);k(f,!0)&&this.redraw(d);return b},showLoading:function(a){var b=this,
  c=b.options,f=b.loadingDiv,d=c.loading,k=function(){f&&g(f,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};f||(b.loadingDiv=f=r("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=r("span",{className:"highcharts-loading-inner"},null,f),A(b,"redraw",k));f.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;g(f,h(d.style,{zIndex:10}));g(b.loadingSpan,d.labelStyle);b.loadingShown||(g(f,{opacity:0,
  display:""}),C(f,{opacity:d.style.opacity||.5},{duration:d.showDuration||0}));b.loadingShown=!0;k()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",C(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){g(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
  propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),update:function(a,f,d,h){var m=this,g={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},q=a.chart,l,v,x=[];p(m,"update",{options:a});if(q){c(!0,m.options.chart,q);"className"in q&&m.setClassName(q.className);"reflow"in q&&m.setReflow(q.reflow);if("inverted"in q||"polar"in q||"type"in q)m.propFromSeries(),l=!0;"alignTicks"in q&&(l=!0);b(q,function(a,b){-1!==
  t("chart."+b,m.propsRequireUpdateSeries)&&(v=!0);-1!==t(b,m.propsRequireDirtyBox)&&(m.isDirtyBox=!0)});"style"in q&&m.renderer.setStyle(q.style)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&c(!0,this.options.plotOptions,a.plotOptions);b(a,function(a,b){if(m[b]&&"function"===typeof m[b].update)m[b].update(a,!1);else if("function"===typeof m[g[b]])m[g[b]](a);"chart"!==b&&-1!==t(b,m.propsRequireUpdateSeries)&&(v=!0)});u("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;
  a[b]&&("series"===b&&(c=[],u(m[b],function(a,b){a.options.isInternal||c.push(b)})),u(I(a[b]),function(a,f){(f=n(a.id)&&m.get(a.id)||m[b][c?c[f]:f])&&f.coll===b&&(f.update(a,!1),d&&(f.touched=!0));if(!f&&d)if("series"===b)m.addSeries(a,!1).touched=!0;else if("xAxis"===b||"yAxis"===b)m.addAxis(a,"xAxis"===b,!1).touched=!0}),d&&u(m[b],function(a){a.touched||a.options.isInternal?delete a.touched:x.push(a)}))});u(x,function(a){a.remove&&a.remove(!1)});l&&u(m.axes,function(a){a.update({},!1)});v&&u(m.series,
  function(a){a.update({},!1)});a.loading&&c(!0,m.options.loading,a.loading);l=q&&q.width;q=q&&q.height;e(l)&&l!==m.chartWidth||e(q)&&q!==m.chartHeight?m.setSize(l,q,h):k(f,!0)&&m.redraw(h);p(m,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,a)}});h(f.prototype,{update:function(a,b,c,f){function d(){e.applyOptions(a);null===e.y&&l&&(e.graphic=l.destroy());m(a,!0)&&(l&&l.element&&a&&a.marker&&void 0!==a.marker.symbol&&(e.graphic=l.destroy()),a&&a.dataLabels&&e.dataLabel&&(e.dataLabel=
  e.dataLabel.destroy()),e.connector&&(e.connector=e.connector.destroy()));q=e.index;h.updateParallelArrays(e,q);v.data[q]=m(v.data[q],!0)||m(a,!0)?e.options:k(a,v.data[q]);h.isDirty=h.isDirtyData=!0;!h.fixedBox&&h.hasCartesianSeries&&(g.isDirtyBox=!0);"point"===v.legendType&&(g.isDirtyLegend=!0);b&&g.redraw(c)}var e=this,h=e.series,l=e.graphic,q,g=h.chart,v=h.options;b=k(b,!0);!1===f?d():e.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(t(this,this.series.data),
  a,b)}});h(q.prototype,{addPoint:function(a,b,c,f){var d=this.options,e=this.data,h=this.chart,l=this.xAxis,l=l&&l.hasNames&&l.names,m=d.data,q,g,v=this.xData,p,t;b=k(b,!0);q={series:this};this.pointClass.prototype.applyOptions.apply(q,[a]);t=q.x;p=v.length;if(this.requireSorting&&t<v[p-1])for(g=!0;p&&v[p-1]>t;)p--;this.updateParallelArrays(q,"splice",p,0,0);this.updateParallelArrays(q,p);l&&q.name&&(l[t]=q.name);m.splice(p,0,a);g&&(this.data.splice(p,0,null),this.processData());"point"===d.legendType&&
  this.generatePoints();c&&(e[0]&&e[0].remove?e[0].remove(!1):(e.shift(),this.updateParallelArrays(q,"shift"),m.shift()));this.isDirtyData=this.isDirty=!0;b&&h.redraw(f)},removePoint:function(a,b,c){var f=this,d=f.data,e=d[a],h=f.points,l=f.chart,m=function(){h&&h.length===d.length&&h.splice(a,1);d.splice(a,1);f.options.data.splice(a,1);f.updateParallelArrays(e||{series:f},"splice",a,1);e&&e.destroy();f.isDirty=!0;f.isDirtyData=!0;b&&l.redraw()};v(c,l);b=k(b,!0);e?e.firePointEvent("remove",null,m):
  m()},remove:function(a,b,c){function f(){d.destroy();d.remove=null;e.isDirtyLegend=e.isDirtyBox=!0;e.linkSeries();k(a,!0)&&e.redraw(b)}var d=this,e=d.chart;!1!==c?p(d,"remove",null,f):f()},update:function(b,f){var d=this,e=d.chart,m=d.userOptions,q=d.oldType||d.type,g=b.type||m.type||e.options.chart.type,l=E[q].prototype,v,n=["group","markerGroup","dataLabelsGroup"],x=["navigatorSeries","baseSeries"],r=d.finishedAnimating&&{animation:!1},I=["data","name","turboThreshold"],G=a.keys(b),w=0<G.length;
  u(G,function(a){-1===t(a,I)&&(w=!1)});if(w)b.data&&this.setData(b.data,!1),b.name&&this.setName(b.name,!1);else{x=n.concat(x);u(x,function(a){x[a]=d[a];delete d[a]});b=c(m,r,{index:d.index,pointStart:k(m.pointStart,d.xData[0])},{data:d.options.data},b);d.remove(!1,null,!1);for(v in l)d[v]=void 0;E[g||q]?h(d,E[g||q].prototype):a.error(17,!0);u(x,function(a){d[a]=x[a]});d.init(e,b);b.zIndex!==m.zIndex&&u(n,function(a){d[a]&&d[a].attr({zIndex:b.zIndex})});d.oldType=q;e.linkSeries()}p(this,"afterUpdate");
  k(f,!0)&&e.redraw(w?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});h(D.prototype,{update:function(a,f){var d=this.chart,e=a&&a.events||{};a=c(this.userOptions,a);d.options[this.coll].indexOf&&(d.options[this.coll][d.options[this.coll].indexOf(this.userOptions)]=a);b(d.options[this.coll].events,function(a,b){"undefined"===typeof e[b]&&(e[b]=void 0)});this.destroy(!0);this.init(d,h(a,{events:e}));d.isDirtyBox=!0;k(f,!0)&&d.redraw()},
  remove:function(a){for(var b=this.chart,c=this.coll,f=this.series,e=f.length;e--;)f[e]&&f[e].remove(!1);w(b.axes,this);w(b[c],this);d(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];u(b[c],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;k(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(J);(function(a){var A=a.color,C=a.each,D=a.map,r=a.pick,g=a.Series,
  n=a.seriesType;n("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(g){var n=[],h=[],p=this.xAxis,t=this.yAxis,e=t.stacks[this.stackKey],m={},d=this.index,c=t.series,b=c.length,k,f=r(t.options.reversedStacks,!0)?1:-1,q;g=g||this.points;if(this.options.stacking){for(q=0;q<g.length;q++)g[q].leftNull=g[q].rightNull=null,m[g[q].x]=g[q];a.objectEach(e,function(a,b){null!==a.total&&h.push(b)});h.sort(function(a,b){return a-b});k=D(c,function(){return this.visible});C(h,
  function(a,c){var g=0,v,r;if(m[a]&&!m[a].isNull)n.push(m[a]),C([-1,1],function(g){var p=1===g?"rightNull":"leftNull",t=0,n=e[h[c+g]];if(n)for(q=d;0<=q&&q<b;)v=n.points[q],v||(q===d?m[a][p]=!0:k[q]&&(r=e[a].points[q])&&(t-=r[1]-r[0])),q+=f;m[a][1===g?"rightCliff":"leftCliff"]=t});else{for(q=d;0<=q&&q<b;){if(v=e[a].points[q]){g=v[1];break}q+=f}g=t.translate(g,0,1,0,1);n.push({isNull:!0,plotX:p.translate(a,0,0,0,1),x:a,plotY:g,yBottom:g})}})}return n},getGraphPath:function(a){var n=g.prototype.getGraphPath,
  h=this.options,p=h.stacking,t=this.yAxis,e,m,d=[],c=[],b=this.index,k,f=t.stacks[this.stackKey],q=h.threshold,u=t.getThreshold(h.threshold),v,h=h.connectNulls||"percent"===p,I=function(e,h,m){var g=a[e];e=p&&f[g.x].points[b];var v=g[m+"Null"]||0;m=g[m+"Cliff"]||0;var n,x,g=!0;m||v?(n=(v?e[0]:e[1])+m,x=e[0]+m,g=!!v):!p&&a[h]&&a[h].isNull&&(n=x=q);void 0!==n&&(c.push({plotX:k,plotY:null===n?u:t.getThreshold(n),isNull:g,isCliff:!0}),d.push({plotX:k,plotY:null===x?u:t.getThreshold(x),doCurve:!1}))};a=
  a||this.points;p&&(a=this.getStackPoints(a));for(e=0;e<a.length;e++)if(m=a[e].isNull,k=r(a[e].rectPlotX,a[e].plotX),v=r(a[e].yBottom,u),!m||h)h||I(e,e-1,"left"),m&&!p&&h||(c.push(a[e]),d.push({x:e,plotX:k,plotY:v})),h||I(e,e+1,"right");e=n.call(this,c,!0,!0);d.reversed=!0;m=n.call(this,d,!0,!0);m.length&&(m[0]="L");m=e.concat(m);n=n.call(this,c,!1,h);m.xMap=e.xMap;this.areaPath=m;return n},drawGraph:function(){this.areaPath=[];g.prototype.drawGraph.apply(this);var a=this,n=this.areaPath,h=this.options,
  p=[["area","highcharts-area",this.color,h.fillColor]];C(this.zones,function(g,e){p.push(["zone-area-"+e,"highcharts-area highcharts-zone-area-"+e+" "+g.className,g.color||a.color,g.fillColor||h.fillColor])});C(p,function(g){var e=g[0],m=a[e];m?(m.endX=a.preventGraphAnimation?null:n.xMap,m.animate({d:n})):(m=a[e]=a.chart.renderer.path(n).addClass(g[1]).attr({fill:r(g[3],A(g[2]).setOpacity(r(h.fillOpacity,.75)).get()),zIndex:0}).add(a.group),m.isArea=!0);m.startX=n.xMap;m.shiftUnit=h.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(J);
  (function(a){var A=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,D,r){var g=D.plotX,n=D.plotY,u=a[r-1];r=a[r+1];var w,h,p,t;if(u&&!u.isNull&&!1!==u.doCurve&&!D.isCliff&&r&&!r.isNull&&!1!==r.doCurve&&!D.isCliff){a=u.plotY;p=r.plotX;r=r.plotY;var e=0;w=(1.5*g+u.plotX)/2.5;h=(1.5*n+a)/2.5;p=(1.5*g+p)/2.5;t=(1.5*n+r)/2.5;p!==w&&(e=(t-h)*(p-g)/(p-w)+n-t);h+=e;t+=e;h>a&&h>n?(h=Math.max(a,n),t=2*n-h):h<a&&h<n&&(h=Math.min(a,n),t=2*n-h);t>r&&t>n?(t=Math.max(r,n),h=2*n-t):t<r&&t<n&&
  (t=Math.min(r,n),h=2*n-t);D.rightContX=p;D.rightContY=t}D=["C",A(u.rightContX,u.plotX),A(u.rightContY,u.plotY),A(w,g),A(h,n),g,n];u.rightContX=u.rightContY=null;return D}})})(J);(function(a){var A=a.seriesTypes.area.prototype,C=a.seriesType;C("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:A.getStackPoints,getGraphPath:A.getGraphPath,drawGraph:A.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(J);(function(a){var A=a.animObject,C=a.color,D=a.each,r=a.extend,g=a.defined,
  n=a.isNumber,u=a.merge,w=a.pick,h=a.Series,p=a.seriesType,t=a.svg;p("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group",
  "dataLabelsGroup"],negStacks:!0,init:function(){h.prototype.init.apply(this,arguments);var a=this,m=a.chart;m.hasRendered&&D(m.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,h=a.options,d=a.xAxis,c=a.yAxis,b=d.options.reversedStacks,b=d.reversed&&!b||!d.reversed&&b,k,f={},g=0;!1===h.grouping?g=1:D(a.chart.series,function(b){var d=b.options,e=b.yAxis,h;b.type!==a.type||!b.visible&&a.chart.options.chart.ignoreHiddenSeries||c.len!==e.len||c.pos!==e.pos||
  (d.stacking?(k=b.stackKey,void 0===f[k]&&(f[k]=g++),h=f[k]):!1!==d.grouping&&(h=g++),b.columnIndex=h)});var p=Math.min(Math.abs(d.transA)*(d.ordinalSlope||h.pointRange||d.closestPointRange||d.tickInterval||1),d.len),v=p*h.groupPadding,n=(p-2*v)/(g||1),h=Math.min(h.maxPointWidth||d.len,w(h.pointWidth,n*(1-2*h.pointPadding)));a.columnMetrics={width:h,offset:(n-h)/2+(v+((a.columnIndex||0)+(b?1:0))*n-p/2)*(b?-1:1)};return a.columnMetrics},crispCol:function(a,h,d,c){var b=this.chart,e=this.borderWidth,
  f=-(e%2?.5:0),e=e%2?.5:1;b.inverted&&b.renderer.isVML&&(e+=1);this.options.crisp&&(d=Math.round(a+d)+f,a=Math.round(a)+f,d-=a);c=Math.round(h+c)+e;f=.5>=Math.abs(h)&&.5<c;h=Math.round(h)+e;c-=h;f&&c&&(--h,c+=1);return{x:a,y:h,width:d,height:c}},translate:function(){var a=this,m=a.chart,d=a.options,c=a.dense=2>a.closestPointRange*a.xAxis.transA,c=a.borderWidth=w(d.borderWidth,c?0:1),b=a.yAxis,k=d.threshold,f=a.translatedThreshold=b.getThreshold(k),q=w(d.minPointLength,5),p=a.getColumnMetrics(),v=p.width,
  n=a.barW=Math.max(v,1+2*c),t=a.pointXOffset=p.offset;m.inverted&&(f-=.5);d.pointPadding&&(n=Math.ceil(n));h.prototype.translate.apply(a);D(a.points,function(c){var d=w(c.yBottom,f),e=999+Math.abs(d),h=v,e=Math.min(Math.max(-e,c.plotY),b.len+e),p=c.plotX+t,x=n,l=Math.min(e,d),r,u=Math.max(e,d)-l;q&&Math.abs(u)<q&&(u=q,r=!b.reversed&&!c.negative||b.reversed&&c.negative,c.y===k&&a.dataMax<=k&&b.min<k&&(r=!r),l=Math.abs(l-f)>q?d-q:f-(r?q:0));g(c.options.pointWidth)&&(h=x=Math.ceil(c.options.pointWidth),
  p-=Math.round((h-v)/2));c.barX=p;c.pointWidth=h;c.tooltipPos=m.inverted?[b.len+b.pos-m.plotLeft-e,a.xAxis.len-p-x/2,u]:[p+x/2,e+b.pos-m.plotTop,u];c.shapeType="rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[p,f,x,0]:[p,l,x,u])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,h){var d=this.options,c,b=this.pointAttrToOptions||{};c=b.stroke||"borderColor";var e=
  b["stroke-width"]||"borderWidth",f=a&&a.color||this.color,m=a&&a[c]||d[c]||this.color||f,g=a&&a[e]||d[e]||this[e]||0,b=d.dashStyle;a&&this.zones.length&&(f=a.getZone(),f=a.options.color||f&&f.color||this.color);h&&(a=u(d.states[h],a.options.states&&a.options.states[h]||{}),h=a.brightness,f=a.color||void 0!==h&&C(f).brighten(a.brightness).get()||f,m=a[c]||m,g=a[e]||g,b=a.dashStyle||b);c={fill:f,stroke:m,"stroke-width":g};b&&(c.dashstyle=b);return c},drawPoints:function(){var a=this,h=this.chart,d=
  a.options,c=h.renderer,b=d.animationLimit||250,k;D(a.points,function(f){var e=f.graphic,m=e&&h.pointCount<b?"animate":"attr";if(n(f.plotY)&&null!==f.y){k=f.shapeArgs;if(e)e[m](u(k));else f.graphic=e=c[f.shapeType](k).add(f.group||a.group);d.borderRadius&&e.attr({r:d.borderRadius});e[m](a.pointAttribs(f,f.selected&&"select")).shadow(d.shadow,null,d.stacking&&!d.borderRadius);e.addClass(f.getClassName(),!0)}else e&&(f.graphic=e.destroy())})},animate:function(a){var e=this,d=this.yAxis,c=e.options,b=
  this.chart.inverted,k={},f=b?"translateX":"translateY",h;t&&(a?(k.scaleY=.001,a=Math.min(d.pos+d.len,Math.max(d.pos,d.toPixels(c.threshold))),b?k.translateX=a-d.len:k.translateY=a,e.group.attr(k)):(h=e.group.attr(f),e.group.animate({scaleY:1},r(A(e.options.animation),{step:function(a,b){k[f]=h+b.pos*(d.pos-h);e.group.attr(k)}})),e.animate=null))},remove:function(){var a=this,m=a.chart;m.hasRendered&&D(m.series,function(d){d.type===a.type&&(d.isDirty=!0)});h.prototype.remove.apply(a,arguments)}})})(J);
  (function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})})(J);(function(a){var A=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,
  trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&A.prototype.drawGraph.call(this)}})})(J);(function(a){var A=a.deg2rad,C=a.isNumber,D=a.pick,r=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,n=this.chart,u=2*(a.slicedOffset||0),w=n.plotWidth-2*u,n=n.plotHeight-2*u,h=a.center,h=[D(h[0],"50%"),D(h[1],"50%"),a.size||"100%",a.innerSize||0],p=Math.min(w,n),t,e;for(t=0;4>t;++t)e=h[t],a=2>t||2===t&&
  /%$/.test(e),h[t]=r(e,[w,n,p,h[2]][t])+(a?u:0);h[3]>h[2]&&(h[3]=h[2]);return h},getStartAndEndRadians:function(a,n){a=C(a)?a:0;n=C(n)&&n>a&&360>n-a?n:a+360;return{start:A*(a+-90),end:A*(n+-90)}}}})(J);(function(a){var A=a.addEvent,C=a.CenteredSeriesMixin,D=a.defined,r=a.each,g=a.extend,n=C.getStartAndEndRadians,u=a.inArray,w=a.noop,h=a.pick,p=a.Point,t=a.Series,e=a.seriesType,m=a.setAnimation;e("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,distance:30,enabled:!0,
  formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var c=this,b=c.points,
  d=c.startAngleRad;a||(r(b,function(a){var b=a.graphic,f=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:d,end:d}),b.animate({r:f.r,start:f.start,end:f.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,c=0,b=this.points,e=b.length,f,h=this.options.ignoreHiddenPoint;for(a=0;a<e;a++)f=b[a],c+=h&&!f.visible?0:f.isNull?0:f.y;this.total=c;for(a=0;a<e;a++)f=b[a],f.percentage=0<c&&(f.visible||!h)?f.y/c*100:0,f.total=c},generatePoints:function(){t.prototype.generatePoints.call(this);
  this.updateTotals()},translate:function(a){this.generatePoints();var c=0,b=this.options,d=b.slicedOffset,f=d+(b.borderWidth||0),e,m,g,p=n(b.startAngle,b.endAngle),t=this.startAngleRad=p.start,p=(this.endAngleRad=p.end)-t,r=this.points,u,w=b.dataLabels.distance,b=b.ignoreHiddenPoint,y,A=r.length,F;a||(this.center=a=this.getCenter());this.getX=function(b,c,f){g=Math.asin(Math.min((b-a[1])/(a[2]/2+f.labelDistance),1));return a[0]+(c?-1:1)*Math.cos(g)*(a[2]/2+f.labelDistance)};for(y=0;y<A;y++){F=r[y];
  F.labelDistance=h(F.options.dataLabels&&F.options.dataLabels.distance,w);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,F.labelDistance);e=t+c*p;if(!b||F.visible)c+=F.percentage/100;m=t+c*p;F.shapeType="arc";F.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*e)/1E3,end:Math.round(1E3*m)/1E3};g=(m+e)/2;g>1.5*Math.PI?g-=2*Math.PI:g<-Math.PI/2&&(g+=2*Math.PI);F.slicedTranslation={translateX:Math.round(Math.cos(g)*d),translateY:Math.round(Math.sin(g)*d)};m=Math.cos(g)*a[2]/
  2;u=Math.sin(g)*a[2]/2;F.tooltipPos=[a[0]+.7*m,a[1]+.7*u];F.half=g<-Math.PI/2||g>Math.PI/2?1:0;F.angle=g;e=Math.min(f,F.labelDistance/5);F.labelPos=[a[0]+m+Math.cos(g)*F.labelDistance,a[1]+u+Math.sin(g)*F.labelDistance,a[0]+m+Math.cos(g)*e,a[1]+u+Math.sin(g)*e,a[0]+m,a[1]+u,0>F.labelDistance?"center":F.half?"right":"left",g]}},drawGraph:null,drawPoints:function(){var a=this,c=a.chart.renderer,b,e,f,h,m=a.options.shadow;m&&!a.shadowGroup&&(a.shadowGroup=c.g("shadow").add(a.group));r(a.points,function(d){e=
  d.graphic;if(d.isNull)e&&(d.graphic=e.destroy());else{h=d.shapeArgs;b=d.getTranslate();var k=d.shadowGroup;m&&!k&&(k=d.shadowGroup=c.g("shadow").add(a.shadowGroup));k&&k.attr(b);f=a.pointAttribs(d,d.selected&&"select");e?e.setRadialReference(a.center).attr(f).animate(g(h,b)):(d.graphic=e=c[d.shapeType](h).setRadialReference(a.center).attr(b).add(a.group),e.attr(f).attr({"stroke-linejoin":"round"}).shadow(m,k));e.attr({visibility:d.visible?"inherit":"hidden"});e.addClass(d.getClassName())}})},searchPoint:w,
  sortByAngle:function(a,c){a.sort(function(a,d){return void 0!==a.angle&&(d.angle-a.angle)*c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:C.getCenter,getSymbol:w},{init:function(){p.prototype.init.apply(this,arguments);var a=this,c;a.name=h(a.name,"Slice");c=function(b){a.slice("select"===b.type)};A(a,"select",c);A(a,"unselect",c);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,c){var b=this,d=b.series,f=d.chart,e=d.options.ignoreHiddenPoint;
  c=h(c,e);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,d.options.data[u(b,d.data)]=b.options,r(["graphic","dataLabel","connector","shadowGroup"],function(c){if(b[c])b[c][a?"show":"hide"](!0)}),b.legendItem&&f.legend.colorizeItem(b,a),a||"hover"!==b.state||b.setState(""),e&&(d.isDirty=!0),c&&f.redraw())},slice:function(a,c,b){var d=this.series;m(b,d.chart);h(c,!0);this.sliced=this.options.sliced=D(a)?a:!this.sliced;d.options.data[u(this,d.data)]=this.options;this.graphic.animate(this.getTranslate());
  this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r-1,start:c.start,end:c.end})}})})(J);(function(a){var A=a.addEvent,C=a.arrayMax,D=a.defined,r=a.each,g=a.extend,n=a.format,u=a.map,w=a.merge,h=a.noop,p=a.pick,t=a.relativeLength,e=
  a.Series,m=a.seriesTypes,d=a.some,c=a.stableSort,b=a.isArray,k=a.splat;a.distribute=function(b,e,k){function f(a,b){return a.target-b.target}var h,m=!0,g=b,q=[],n;n=0;var t=g.reducedLen||e;for(h=b.length;h--;)n+=b[h].size;if(n>t){c(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(n=h=0;n<=t;)n+=b[h].size,h++;q=b.splice(h-1,b.length)}c(b,f);for(b=u(b,function(a){return{size:a.size,targets:[a.target],align:p(a.align,.5)}});m;){for(h=b.length;h--;)m=b[h],n=(Math.min.apply(0,m.targets)+Math.max.apply(0,
  m.targets))/2,m.pos=Math.min(Math.max(0,n-m.size*m.align),e-m.size);h=b.length;for(m=!1;h--;)0<h&&b[h-1].pos+b[h-1].size>b[h].pos&&(b[h-1].size+=b[h].size,b[h-1].targets=b[h-1].targets.concat(b[h].targets),b[h-1].align=.5,b[h-1].pos+b[h-1].size>e&&(b[h-1].pos=e-b[h-1].size),b.splice(h,1),m=!0)}g.push.apply(g,q);h=0;d(b,function(b){var c=0;if(d(b.targets,function(){g[h].pos=b.pos+c;if(Math.abs(g[h].pos-g[h].target)>k)return r(g.slice(0,h+1),function(a){delete a.pos}),g.reducedLen=(g.reducedLen||e)-
  .1*e,g.reducedLen>.1*e&&a.distribute(g,e,k),!0;c+=g[h].size;h++}))return!0});c(g,f)};e.prototype.drawDataLabels=function(){function c(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function d(a,c){var f=[],d;if(b(a)&&!b(c))f=u(a,function(a){return w(a,c)});else if(b(c)&&!b(a))f=u(c,function(b){return w(a,b)});else if(b(a)||b(c))for(d=Math.max(a.length,
  c.length);d--;)f[d]=w(a[d],c[d]);else f=w(a,c);return f}var e=this,h=e.chart,m=e.options,g=m.dataLabels,t=e.points,z,H=e.hasRendered||0,y,K=p(g.defer,!!m.animation),F=h.renderer,g=d(d(h.options.plotOptions&&h.options.plotOptions.series&&h.options.plotOptions.series.dataLabels,h.options.plotOptions&&h.options.plotOptions[e.type]&&h.options.plotOptions[e.type].dataLabels),g);if(b(g)||g.enabled||e._hasPointLabels)y=e.plotGroup("dataLabelsGroup","data-labels",K&&!H?"hidden":"visible",g.zIndex||6),K&&
  (y.attr({opacity:+H}),H||A(e,"afterAnimate",function(){e.visible&&y.show(!0);y[m.animation?"animate":"attr"]({opacity:1},{duration:200})})),r(t,function(b){z=k(d(g,b.dlOptions||b.options&&b.options.dataLabels));r(z,function(f,d){var k=f.enabled&&!b.isNull&&c(b,f),l,g,q,v,t=b.dataLabels?b.dataLabels[d]:b.dataLabel,r=b.connectors?b.connectors[d]:b.connector,x=!t;k&&(l=b.getLabelConfig(),g=f[b.formatPrefix+"Format"]||f.format,l=D(g)?n(g,l,h.time):(f[b.formatPrefix+"Formatter"]||f.formatter).call(l,f),
  g=f.style,q=f.rotation,g.color=p(f.color,g.color,e.color,"#000000"),"contrast"===g.color&&(b.contrastColor=F.getContrast(b.color||e.color),g.color=f.inside||0>p(f.distance,b.labelDistance)||m.stacking?b.contrastColor:"#000000"),m.cursor&&(g.cursor=m.cursor),v={fill:f.backgroundColor,stroke:f.borderColor,"stroke-width":f.borderWidth,r:f.borderRadius||0,rotation:q,padding:f.padding,zIndex:1},a.objectEach(v,function(a,b){void 0===a&&delete v[b]}));!t||k&&D(l)?k&&D(l)&&(t?v.text=l:(b.dataLabels=b.dataLabels||
  [],t=b.dataLabels[d]=q?F.text(l,0,-9999).addClass("highcharts-data-label"):F.label(l,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),d||(b.dataLabel=t),t.addClass(" highcharts-data-label-color-"+b.colorIndex+" "+(f.className||"")+(f.useHTML?" highcharts-tracker":""))),t.options=f,t.attr(v),t.css(g).shadow(f.shadow),t.added||t.add(y),e.alignDataLabel(b,t,f,null,x)):(b.dataLabel=b.dataLabel.destroy(),b.dataLabels&&(1===b.dataLabels.length?delete b.dataLabels:delete b.dataLabels[d]),d||delete b.dataLabel,
  r&&(b.connector=b.connector.destroy(),b.connectors&&(1===b.connectors.length?delete b.connectors:delete b.connectors[d])))})});a.fireEvent(this,"afterDrawDataLabels")};e.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart,k=f.inverted,h=p(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),m=p(a.plotY,-9999),q=b.getBBox(),v,n=c.rotation,l=c.align,t=this.visible&&(a.series.forceDL||f.isInsidePlot(h,Math.round(m),k)||d&&f.isInsidePlot(h,k?d.x+1:d.y+d.height-1,k)),r="justify"===p(c.overflow,"justify");
  if(t&&(v=c.style.fontSize,v=f.renderer.fontMetrics(v,b).b,d=g({x:k?this.yAxis.len-m:h,y:Math.round(k?this.xAxis.len-h:m),width:0,height:0},d),g(c,{width:q.width,height:q.height}),n?(r=!1,h=f.renderer.rotCorr(v,n),h={x:d.x+c.x+d.width/2+h.x,y:d.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*d.height},b[e?"attr":"animate"](h).attr({align:l}),m=(n+720)%360,m=180<m&&360>m,"left"===l?h.y-=m?q.height:0:"center"===l?(h.x-=q.width/2,h.y-=q.height/2):"right"===l&&(h.x-=q.width,h.y-=m?0:q.height),b.placed=
  !0,b.alignAttr=h):(b.align(c,null,d),h=b.alignAttr),r&&0<=d.height?a.isLabelJustified=this.justifyDataLabel(b,c,h,q,d,e):p(c.crop,!0)&&(t=f.isInsidePlot(h.x,h.y)&&f.isInsidePlot(h.x+q.width,h.y+q.height)),c.shape&&!n))b[e?"attr":"animate"]({anchorX:k?f.plotWidth-a.plotY:a.plotX,anchorY:k?f.plotHeight-a.plotX:a.plotY});t||(b.attr({y:-9999}),b.placed=!1)};e.prototype.justifyDataLabel=function(a,b,c,d,e,k){var f=this.chart,h=b.align,m=b.verticalAlign,g,q,v=a.box?0:a.padding||0;g=c.x+v;0>g&&("right"===
  h?b.align="left":b.x=-g,q=!0);g=c.x+d.width-v;g>f.plotWidth&&("left"===h?b.align="right":b.x=f.plotWidth-g,q=!0);g=c.y+v;0>g&&("bottom"===m?b.verticalAlign="top":b.y=-g,q=!0);g=c.y+d.height-v;g>f.plotHeight&&("top"===m?b.verticalAlign="bottom":b.y=f.plotHeight-g,q=!0);q&&(a.placed=!k,a.align(b,null,e));return q};m.pie&&(m.pie.prototype.drawDataLabels=function(){var b=this,c=b.data,d,k=b.chart,h=b.options.dataLabels,m=p(h.connectorPadding,10),g=p(h.connectorWidth,1),n=k.plotWidth,t=k.plotHeight,u=
  Math.round(k.chartWidth/3),w,F=b.center,l=F[2]/2,B=F[1],A,P,N,O,Q=[[],[]],L,J,R,W,S=[0,0,0,0];b.visible&&(h.enabled||b._hasPointLabels)&&(r(c,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),e.prototype.drawDataLabels.apply(b),r(c,function(a){a.dataLabel&&(a.visible?(Q[a.half].push(a),a.dataLabel._pos=null,!D(h.style.width)&&!D(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&
  a.dataLabel.getBBox().width>u&&(a.dataLabel.css({width:.7*u}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),r(Q,function(c,f){var e,g,q=c.length,v=[],x;if(q)for(b.sortByAngle(c,f-.5),0<b.maxLabelDistance&&(e=Math.max(0,B-l-b.maxLabelDistance),g=Math.min(B+l+b.maxLabelDistance,k.plotHeight),r(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,B-l-a.labelDistance),a.bottom=Math.min(B+l+a.labelDistance,k.plotHeight),
  x=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+x/2,size:x,rank:a.y},v.push(a.distributeBox))}),e=g+x-e,a.distribute(v,e,e/5)),W=0;W<q;W++)d=c[W],N=d.labelPos,A=d.dataLabel,R=!1===d.visible?"hidden":"inherit",J=e=N[1],v&&D(d.distributeBox)&&(void 0===d.distributeBox.pos?R="hidden":(O=d.distributeBox.size,J=d.top+d.distributeBox.pos)),delete d.positionIndex,L=h.justify?F[0]+(f?-1:1)*(l+d.labelDistance):b.getX(J<d.top+2||J>d.bottom-2?e:J,f,d),A._attr={visibility:R,align:N[6]},
  A._pos={x:L+h.x+({left:m,right:-m}[N[6]]||0),y:J+h.y-10},N.x=L,N.y=J,p(h.crop,!0)&&(P=A.getBBox().width,e=null,L-P<m&&1===f?(e=Math.round(P-L+m),S[3]=Math.max(e,S[3])):L+P>n-m&&0===f&&(e=Math.round(L+P-n+m),S[1]=Math.max(e,S[1])),0>J-O/2?S[0]=Math.max(Math.round(-J+O/2),S[0]):J+O/2>t&&(S[2]=Math.max(Math.round(J+O/2-t),S[2])),A.sideOverflow=e)}),0===C(S)||this.verifyDataLabelOverflow(S))&&(this.placeDataLabels(),g&&r(this.points,function(a){var c;w=a.connector;if((A=a.dataLabel)&&A._pos&&a.visible&&
  0<a.labelDistance){R=A._attr.visibility;if(c=!w)a.connector=w=k.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup),w.attr({"stroke-width":g,stroke:h.connectorColor||a.color||"#666666"});w[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});w.attr("visibility",R)}else w&&(a.connector=w.destroy())}))},m.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return p(this.options.dataLabels.softConnector,
  !0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},m.pie.prototype.placeDataLabels=function(){r(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=
  !0):b&&b.attr({y:-9999}))},this)},m.pie.prototype.alignDataLabel=h,m.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,f=c.center,d=c.minSize||80,e,k=null!==c.size;k||(null!==f[0]?e=Math.max(b[2]-Math.max(a[1],a[3]),d):(e=Math.max(b[2]-a[1]-a[3],d),b[0]+=(a[3]-a[1])/2),null!==f[1]?e=Math.max(Math.min(e,b[2]-Math.max(a[0],a[2])),d):(e=Math.max(Math.min(e,b[2]-a[0]-a[2]),d),b[1]+=(a[0]-a[2])/2),e<b[2]?(b[2]=e,b[3]=Math.min(t(c.innerSize||0,e),e),this.translate(b),this.drawDataLabels&&
  this.drawDataLabels()):k=!0);return k});m.column&&(m.column.prototype.alignDataLabel=function(a,b,c,d,k){var f=this.chart.inverted,h=a.series,m=a.dlBox||a.shapeArgs,g=p(a.below,a.plotY>p(this.translatedThreshold,h.yAxis.len)),q=p(c.inside,!!this.options.stacking);m&&(d=w(m),0>d.y&&(d.height+=d.y,d.y=0),m=d.y+d.height-h.yAxis.len,0<m&&(d.height-=m),f&&(d={x:h.yAxis.len-d.y-d.height,y:h.xAxis.len-d.x-d.width,width:d.height,height:d.width}),q||(f?(d.x+=g?0:d.width,d.width=0):(d.y+=g?d.height:0,d.height=
  0)));c.align=p(c.align,!f||q?"center":g?"right":"left");c.verticalAlign=p(c.verticalAlign,f||q?"middle":g?"top":"bottom");e.prototype.alignDataLabel.call(this,a,b,c,d,k);a.isLabelJustified&&a.contrastColor&&b.css({color:a.contrastColor})})})(J);(function(a){var A=a.Chart,C=a.each,D=a.isArray,r=a.objectEach,g=a.pick;a=a.addEvent;a(A,"render",function(){var a=[];C(this.labelCollectors||[],function(g){a=a.concat(g())});C(this.yAxis||[],function(g){g.options.stackLabels&&!g.options.stackLabels.allowOverlap&&
  r(g.stacks,function(g){r(g,function(h){a.push(h.label)})})});C(this.series||[],function(n){var r=n.options.dataLabels;n.visible&&(!1!==r.enabled||n._hasPointLabels)&&C(n.points,function(h){if(h.visible){var p=D(h.dataLabels)?h.dataLabels:h.dataLabel?[h.dataLabel]:[];C(p,function(p){var e=p.options;p.labelrank=g(e.labelrank,h.labelrank,h.shapeArgs&&h.shapeArgs.height);e.allowOverlap||a.push(p)})}})});this.hideOverlappingLabels(a)});A.prototype.hideOverlappingLabels=function(a){var g=a.length,n=this.renderer,
  h,p,t,e,m,d,c=function(a,c,d,e,h,g,m,p){return!(h>a+d||h+m<a||g>c+e||g+p<c)};t=function(a){var b,c,d,e=a.box?0:a.padding||0;d=0;if(a&&(!a.alignAttr||a.placed))return b=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},c=a.parentGroup,a.width||(d=a.getBBox(),a.width=d.width,a.height=d.height,d=n.fontMetrics(null,a.element).h),{x:b.x+(c.translateX||0)+e,y:b.y+(c.translateY||0)+e-d,width:a.width-2*e,height:a.height-2*e}};for(p=0;p<g;p++)if(h=a[p])h.oldOpacity=h.opacity,h.newOpacity=1,h.absoluteBox=t(h);a.sort(function(a,
  c){return(c.labelrank||0)-(a.labelrank||0)});for(p=0;p<g;p++)for(d=(t=a[p])&&t.absoluteBox,h=p+1;h<g;++h)if(m=(e=a[h])&&e.absoluteBox,d&&m&&t!==e&&0!==t.newOpacity&&0!==e.newOpacity&&(m=c(d.x,d.y,d.width,d.height,m.x,m.y,m.width,m.height)))(t.labelrank<e.labelrank?t:e).newOpacity=0;C(a,function(a){var b,c;a&&(c=a.newOpacity,a.oldOpacity!==c&&(a.alignAttr&&a.placed?(c?a.show(!0):b=function(){a.hide()},a.alignAttr.opacity=c,a[a.isOld?"animate":"attr"](a.alignAttr,null,b)):a.attr({opacity:c})),a.isOld=
  !0)})}})(J);(function(a){var A=a.addEvent,C=a.Chart,D=a.createElement,r=a.css,g=a.defaultOptions,n=a.defaultPlotOptions,u=a.each,w=a.extend,h=a.fireEvent,p=a.hasTouch,t=a.inArray,e=a.isObject,m=a.Legend,d=a.merge,c=a.pick,b=a.Point,k=a.Series,f=a.seriesTypes,q=a.svg,E;E=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};u(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&
  (a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(u(a.trackerGroups,function(d){if(a[d]){a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(p)a[d].on("touchstart",c);a.options.cursor&&a[d].css(r).css({cursor:a.options.cursor})}}),a._hasTracking=!0);h(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),f=d.length,e=a.chart,k=
  e.pointer,g=e.renderer,m=e.options.tooltip.snap,l=a.tracker,n,t=function(){if(e.hoverSeries!==a)a.onMouseOver()},r="rgba(192,192,192,"+(q?.0001:.002)+")";if(f&&!c)for(n=f+1;n--;)"M"===d[n]&&d.splice(n+1,0,d[n+1]-m,d[n+2],"L"),(n&&"M"===d[n]||n===f)&&d.splice(n,0,"L",d[n-2]+m,d[n-1]);l?l.attr({d:d}):a.graph&&(a.tracker=g.path(d).attr({"stroke-linejoin":"round",stroke:r,fill:c?r:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*m),visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":
  "highcharts-tracker-line").add(a.group),u([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",t).on("mouseout",function(a){k.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(p)a.on("touchstart",t)}));h(this,"afterDrawTracker")}};f.column&&(f.column.prototype.drawTracker=E.drawTrackerPoint);f.pie&&(f.pie.prototype.drawTracker=E.drawTrackerPoint);f.scatter&&(f.scatter.prototype.drawTracker=E.drawTrackerPoint);g.legend.itemStyle.cursor="pointer";w(m.prototype,
  {setItemEvents:function(a,c,f){var e=this,k=e.chart.renderer.boxWrapper,g="highcharts-legend-"+(a instanceof b?"point":"series")+"-active";(f?c:a.legendGroup).on("mouseover",function(){a.setState("hover");k.addClass(g);c.css(e.options.itemHoverStyle)}).on("mouseout",function(){c.css(d(a.visible?e.itemStyle:e.itemHiddenStyle));k.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};k.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",
  b,c):h(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=D("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);A(a.checkbox,"click",function(b){h(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});w(C.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=g.lang,d=b.options.chart.resetZoomButton,f=d.theme,e=
  f.states,k="chart"===d.relativeTo?null:"plotBox";h(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,f,e&&e.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,k)})},zoomOut:function(){h(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,d=this.pointer,f=!1,k;!a||a.resetSelection?(u(this.axes,function(a){b=a.zoom()}),d.initiated=!1):u(a.xAxis.concat(a.yAxis),
  function(a){var c=a.axis;d[c.isXAxis?"zoomX":"zoomY"]&&(b=c.zoom(a.min,a.max),c.displayBtn&&(f=!0))});k=this.resetZoomButton;f&&!k?this.showResetZoom():!f&&e(k)&&(this.resetZoomButton=k.destroy());b&&this.redraw(c(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,f;d&&u(d,function(a){a.setState()});u("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,e=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",k=c[d],h=(b.pointRange||
  0)/2,g=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,m=b.getExtremes(),q=b.toValue(k-e,!0)+h*g,g=b.toValue(k+b.len-e,!0)-h*g,p=g<q,k=p?g:q,q=p?q:g,g=Math.min(m.dataMin,h?m.min:b.toValue(b.toPixels(m.min)-b.minPixelPadding)),h=Math.max(m.dataMax,h?m.max:b.toValue(b.toPixels(m.max)+b.minPixelPadding)),p=g-k;0<p&&(q+=p,k=g);p=q-h;0<p&&(q=h,k-=p);b.series.length&&k!==m.min&&q!==m.max&&(b.setExtremes(k,q,!1,!1,{trigger:"pan"}),f=!0);c[d]=e});f&&c.redraw(!1);r(c.container,{cursor:"move"})}});w(b.prototype,
  {select:function(a,b){var d=this,f=d.series,e=f.chart;a=c(a,!d.selected);d.firePointEvent(a?"select":"unselect",{accumulate:b},function(){d.selected=d.options.selected=a;f.options.data[t(d,f.data)]=d.options;d.setState(a&&"select");b||u(e.getSelectedPoints(),function(a){a.selected&&a!==d&&(a.selected=a.options.selected=!1,f.options.data[t(a,f.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,
  b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");u(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=d(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){A(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var d=Math.floor(this.plotX),f=this.plotY,e=this.series,k=e.options.states[a||"normal"]||{},g=
  n[e.type].marker&&e.options.marker,m=g&&!1===g.enabled,q=g&&g.states&&g.states[a||"normal"]||{},l=!1===q.enabled,p=e.stateMarkerGraphic,t=this.marker||{},v=e.chart,r=e.halo,u,E=g&&e.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===k.enabled||a&&(l||m&&!1===q.enabled)||a&&t.states&&t.states[a]&&!1===t.states[a].enabled)){E&&(u=e.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+
  a),this.graphic.animate(e.pointAttribs(this,a),c(v.options.chart.animation,k.animation)),u&&this.graphic.animate(u,c(v.options.chart.animation,q.animation,g.animation)),p&&p.hide();else{if(a&&q){g=t.symbol||e.symbol;p&&p.currentSymbol!==g&&(p=p.destroy());if(p)p[b?"animate":"attr"]({x:u.x,y:u.y});else g&&(e.stateMarkerGraphic=p=v.renderer.symbol(g,u.x,u.y,u.width,u.height).add(e.markerGroup),p.currentSymbol=g);p&&p.attr(e.pointAttribs(this,a))}p&&(p[a&&v.isInsidePlot(d,f,v.inverted)?"show":"hide"](),
  p.element.point=this)}(d=k.halo)&&d.size?(r||(e.halo=r=v.renderer.path().add((this.graphic||p).parentGroup)),r.show()[b?"animate":"attr"]({d:this.haloPath(d.size)}),r.attr({"class":"highcharts-halo highcharts-color-"+c(this.colorIndex,e.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),r.point=this,r.attr(w({fill:this.color||e.color,"fill-opacity":d.opacity},d.attributes))):r&&r.point&&r.point.haloPath&&r.animate({d:r.point.haloPath(0)},null,r.hide);this.state=a;h(this,"afterSetState")}},
  haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});w(k.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&h(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&h(this,"mouseOut");!c||this.stickyTracking||
  c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this,d=b.options,f=b.graph,e=d.states,k=d.lineWidth,d=0;a=a||"";if(b.state!==a&&(u([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!e[a]||!1!==e[a].enabled)&&(a&&(k=e[a].lineWidth||k+(e[a].lineWidthPlus||0)),f&&!f.dashstyle))for(k={"stroke-width":k},f.animate(k,c(e[a||"normal"]&&e[a||"normal"].animation,
  b.chart.options.chart.animation));b["zone-graph-"+d];)b["zone-graph-"+d].attr(k),d+=1},setVisible:function(a,b){var c=this,d=c.chart,f=c.legendItem,e,k=d.options.chart.ignoreHiddenSeries,g=c.visible;e=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!g:a)?"show":"hide";u(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][e]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();f&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&
  u(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});u(c.linkedSeries,function(b){b.setVisible(a,!1)});k&&(d.isDirtyBox=!0);h(c,e);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);h(this,a?"select":"unselect")},drawTracker:E.drawTrackerGraph})})(J);(function(a){var A=a.Chart,C=a.each,D=a.inArray,r=a.isArray,g=a.isObject,n=a.pick,u=a.splat;
  A.prototype.setResponsive=function(g){var h=this.options.responsive,p=[],n=this.currentResponsive;h&&h.rules&&C(h.rules,function(e){void 0===e._id&&(e._id=a.uniqueKey());this.matchResponsiveRule(e,p,g)},this);var e=a.merge.apply(0,a.map(p,function(e){return a.find(h.rules,function(a){return a._id===e}).chartOptions})),p=p.toString()||void 0;p!==(n&&n.ruleIds)&&(n&&this.update(n.undoOptions,g),p?(this.currentResponsive={ruleIds:p,mergedOptions:e,undoOptions:this.currentOptions(e)},this.update(e,g)):
  this.currentResponsive=void 0)};A.prototype.matchResponsiveRule=function(a,h){var g=a.condition;(g.callback||function(){return this.chartWidth<=n(g.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=n(g.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=n(g.minWidth,0)&&this.chartHeight>=n(g.minHeight,0)}).call(this)&&h.push(a._id)};A.prototype.currentOptions=function(n){function h(p,e,m,d){var c;a.objectEach(p,function(a,k){if(!d&&-1<D(k,["series","xAxis","yAxis"]))for(a=u(a),m[k]=[],c=0;c<a.length;c++)e[k][c]&&
  (m[k][c]={},h(a[c],e[k][c],m[k][c],d+1));else g(a)?(m[k]=r(a)?[]:{},h(a,e[k]||{},m[k],d+1)):m[k]=e[k]||null})}var p={};h(n,this.options,p,0);return p}})(J);(function(a){var A=a.addEvent,C=a.PlotLineOrBand,D=a.merge,r={currentDateIndicator:!0,color:"#ccd6eb",width:2,label:{format:"%a, %b %d %Y, %H:%M",formatter:void 0,rotation:0,style:{fontSize:"10px"}}};A(a.Axis,"afterSetOptions",function(){var a=this.options,n=a.currentDateIndicator;n&&("object"===typeof n?(n.label&&n.label.format&&(n.label.formatter=
  void 0),n=D(r,n)):n=D(r),n.value=new Date,a.plotLines||(a.plotLines=[]),a.plotLines.push(n))});A(C,"render",function(){var g=this.options,n,r;g.currentDateIndicator&&g.label&&(n=g.label.format,r=g.label.formatter,g.value=new Date,g.label.text="function"===typeof r?r(this):a.dateFormat(n,new Date),this.label&&this.label.attr({text:g.label.text}))})})(J);(function(a){var A=function(a){return Array.prototype.slice.call(a,1)},C=a.dateFormat,D=a.defined,r=a.each,g=a.isArray,n=a.isNumber,u=function(d){return a.isObject(d,
  !0)},w=a.merge,h=a.pick,p=a.wrap,t=a.Axis,e=a.Tick,m={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};t.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};t.prototype.isOuterAxis=function(){var a=this,c=-1,b=!0;r(a.chart.axes,function(d,f){d.side!==a.side||d.isNavigatorAxis()||(d===a?c=f:0<=c&&f>c&&(b=!1))});return b};t.prototype.getMaxLabelDimensions=function(a,c){var b={width:0,height:0};r(c,function(c){c=a[c];var d;u(c)&&
  (d=u(c.label)?c.label:{},c=d.getBBox?d.getBBox().height:0,d=n(d.textPxLength)?d.textPxLength:0,b.height=Math.max(c,b.height),b.width=Math.max(d,b.width))});return b};a.dateFormats={W:function(a){a=new Date(a);var c;a.setHours(0,0,0,0);a.setDate(a.getDate()-(a.getDay()||7));c=new Date(a.getFullYear(),0,1);return Math.ceil(((a-c)/864E5+1)/7)},E:function(a){return C("%a",a,!0).charAt(0)}};p(t.prototype,"autoLabelAlign",function(a){return this.chart.isStock?"left":a.apply(this,A(arguments))});p(e.prototype,
  "getLabelPosition",function(a,c,b,e,f,h,p,t){var d=this.axis,k=d.reversed,q=d.chart,r=d.options,v=r&&u(r.grid)?r.grid:{},r=h.align,w=m[d.side],E=d.tickPositions,F=this.pos-p,l=n(E[t+1])?E[t+1]-p:d.max+p,B=d.tickSize("tick",!0),E=g(B)?B[0]:0,B=B&&B[1]/2,C;!0===v.enabled?("top"===w?(v=d.top+d.offset,C=v-E):"bottom"===w?(C=q.chartHeight-d.bottom+d.offset,v=C+E):(v=d.top+d.len-d.translate(k?l:F),C=d.top+d.len-d.translate(k?F:l)),"right"===w?(w=q.chartWidth-d.right+d.offset,k=w+E):"left"===w?(k=d.left+
  d.offset,w=k-E):(w=Math.round(d.left+d.translate(k?l:F))-B,k=Math.round(d.left+d.translate(k?F:l))-B),this.slotWidth=k-w,k={x:"left"===r?w:"right"===r?k:w+(k-w)/2,y:C+(v-C)/2},q=q.renderer.fontMetrics(h.style.fontSize,e.element),r=e.getBBox().height,h.useHTML?k.y+=q.b+-(r/2):(r=Math.round(r/q.h),k.y+=(q.b-(q.h-q.f))/2+-((r-1)*q.h/2)),k.x+=d.horiz&&h.x||0):k=a.apply(this,A(arguments));return k});p(t.prototype,"tickSize",function(a){var c=this.maxLabelDimensions,b=this.options,d=b&&u(b.grid)?b.grid:
  {},b=a.apply(this,A(arguments));!0===d.enabled&&(d=2*Math.abs(this.defaultLeftAxisOptions.labels.x),c=d+(this.horiz?c.height:c.width),g(b)?b[0]=c:b=[c]);return b});p(t.prototype,"getTitlePosition",function(a){var c=this.options;if(!0===(c&&u(c.grid)?c.grid:{}).enabled){var b=this.axisTitle,d=b&&b.getBBox().width,f=this.horiz,e=this.left,g=this.top,p=this.width,n=this.height,t=c.title,c=this.opposite,r=this.offset,w=this.tickSize()||[0],C=t.x||0,y=t.y||0,D=h(t.margin,f?5:10),b=this.chart.renderer.fontMetrics(t.style&&
  t.style.fontSize,b).f,w=(f?g+n:e)+w[0]/2*(c?-1:1)*(f?1:-1)+(this.side===m.bottom?b:0);return{x:f?e-d/2-D+C:w+(c?p:0)+r+C,y:f?w-(c?n:0)+(c?b:-b)/2+r+y:g-D+y}}return a.apply(this,A(arguments))});p(t.prototype,"unsquish",function(a){var c=this.options;return!0===(c&&u(c.grid)?c.grid:{}).enabled&&this.categories?this.tickInterval:a.apply(this,A(arguments))});a.addEvent(t,"afterSetOptions",function(d){var c=this.options;d=d.userOptions;var b,e=c&&u(c.grid)?c.grid:{};!0===e.enabled&&(b=w(!0,{className:"highcharts-grid-axis "+
  (d.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"13px"}},title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},d),"xAxis"===this.coll&&(D(d.linkedTo)&&!D(d.tickPixelInterval)&&(b.tickPixelInterval=
  350),D(d.tickPixelInterval)||!D(d.linkedTo)||D(d.tickPositioner)||D(d.tickInterval)||(b.tickPositioner=function(c,d){var f=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(f){var e,k,h,g,m=b.units;for(g=0;g<m.length;g++)if(m[g][0]===f.unitName){e=g;break}if(m[e][1])return m[e+1]&&(h=m[e+1][0],k=(m[e+1][1]||[1])[0]),f=a.timeUnits[h],this.tickInterval=f*k,this.getTimeTicks({unitRange:f,count:k,unitName:h},c,d,this.options.startOfWeek)}})),w(!0,this.options,
  b),this.horiz&&(c.minPadding=h(d.minPadding,0),c.maxPadding=h(d.maxPadding,0)),n(c.grid.borderWidth)&&(c.tickWidth=c.lineWidth=e.borderWidth))});p(t.prototype,"setAxisTranslation",function(a){var c=this.options,b=c&&u(c.grid)?c.grid:{},d=this.tickPositions&&this.tickPositions.info,f=this.userOptions.labels||{};this.horiz&&(!0===b.enabled&&r(this.series,function(a){a.options.pointRange=0}),d&&(!1===c.dateTimeLabelFormats[d.unitName].range||1<d.count)&&!D(f.align)&&(c.labels.align="left",D(f.x)||(c.labels.x=
  3)));a.apply(this,A(arguments))});p(t.prototype,"trimTicks",function(a){var c=this.options,b=c&&u(c.grid)?c.grid:{},d=this.categories,f=this.tickPositions,e=f[0],h=f[f.length-1],g=this.linkedParent&&this.linkedParent.min||this.min,m=this.linkedParent&&this.linkedParent.max||this.max,p=this.tickInterval,n=e>g,t=h<m,e=e<g&&e+p>g,h=h>m&&h-p<m;!0!==b.enabled||d||!this.horiz&&!this.isLinked||(!n&&!e||c.startOnTick||(f[0]=g),!t&&!h||c.endOnTick||(f[f.length-1]=m));a.apply(this,A(arguments))});p(t.prototype,
  "render",function(a){var c=this.options,b=c&&u(c.grid)?c.grid:{},d,f,e,h,g,p=this.chart.renderer,n=this.horiz;if(!0===b.enabled){if(b=2*Math.abs(this.defaultLeftAxisOptions.labels.x),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),b=this.maxLabelDimensions.width+b,d=c.lineWidth,this.rightWall&&this.rightWall.destroy(),a.apply(this),a=this.axisGroup.getBBox(),this.isOuterAxis()&&this.axisLine&&(n&&(b=a.height-1),d)){a=this.getLinePath(d);h=a.indexOf("M")+1;g=a.indexOf("L")+
  1;f=a.indexOf("M")+2;e=a.indexOf("L")+2;if(this.side===m.top||this.side===m.left)b=-b;n?(a[f]+=b,a[e]+=b):(a[h]+=b,a[g]+=b);this.axisLineExtra?this.axisLineExtra.animate({d:a}):this.axisLineExtra=p.path(a).attr({stroke:c.lineColor,"stroke-width":d,zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);this.axisLine[this.showAxis?"show":"hide"](!0)}}else a.apply(this)});p(t.prototype,"init",function(d,c,b){function e(a){var b=a.options,c=25/11,d=a.chart.renderer.fontMetrics(b.labels.style.fontSize);
  b.labels||(b.labels={});b.labels.align=h(b.labels.align,"center");a.categories||(b.showLastLabel=!1);a.horiz&&(b.tickLength=f.cellHeight||d.h*c);a.labelRotation=0;b.labels.rotation=0}var f=b&&u(b.grid)?b.grid:{},m,n,r;if(f.enabled)if(D(f.borderColor)&&(b.tickColor=b.lineColor=f.borderColor),g(f.columns))for(n=0,r=f.columns.length;r--;)m=w(b,f.columns[r],{type:"category"}),delete m.grid.columns,m=new t(c,m),m.isColumn=!0,m.columnIndex=n,p(m,"labelFormatter",function(b){var c=this.axis,d=c.tickPositions,
  f=this.value,e=f===d[0],d=f===d[d.length-1],k=a.find(c.series[0].options.data,function(a){return a[c.isXAxis?"x":"y"]===f});this.isFirst=e;this.isLast=d;this.point=k;return b.call(this)}),n++;else d.apply(this,A(arguments)),e(this);else d.apply(this,A(arguments))})})(J);(function(a){var A=a.Chart,C=a.each,D=a.pick;a.addEvent(a.Axis,"afterSetOptions",function(){this.horiz||!a.isNumber(this.options.staticScale)||this.chart.options.chart.height||(this.staticScale=this.options.staticScale)});A.prototype.adjustHeight=
  function(){"adjustHeight"!==this.redrawTrigger&&(C(this.axes||[],function(r){var g=r.chart,n=!!g.initiatedScale&&g.options.animation,u=r.options.staticScale,w;r.staticScale&&a.defined(r.min)&&(w=D(r.unitLength,r.max+r.tickInterval-r.min)*u,w=Math.max(w,u),u=w-g.plotHeight,1<=Math.abs(u)&&(g.plotHeight=w,g.redrawTrigger="adjustHeight",g.setSize(void 0,g.chartHeight+u,n)),C(r.series,function(a){(a=a.sharedClipKey&&g[a.sharedClipKey])&&a.attr({height:g.plotHeight})}))}),this.initiatedScale=!0);this.redrawTrigger=
  null};a.addEvent(A,"render",A.prototype.adjustHeight)})(J);var V=function(a){var A=a.each,C=a.extend,D=a.isNumber,r=a.keys,g=a.map,n=a.pick,u=a.reduce,w=function(h,g){var e=u(h,function(a,d){var c=n(d.parent,"");void 0===a[c]&&(a[c]=[]);a[c].push(d);return a},{});h=r(e);A(h,function(h,d){var c=e[h];""!==h&&-1===a.inArray(h,g)&&(A(c,function(a){d[""].push(a)}),delete d[h])});return e},h=function(a,t,e,m,d,c){var b=0,k=0,f=c&&c.after,q=c&&c.before;t={data:m,depth:e-1,id:a,level:e,parent:t};var p,r;
  "function"===typeof q&&q(t,c);q=g(d[a]||[],function(f){var g=h(f.id,a,e+1,f,d,c),m=f.start;f=!0===f.milestone?m:f.end;p=!D(p)||m<p?m:p;r=!D(r)||f>r?f:r;b=b+1+g.descendants;k=Math.max(g.height+1,k);return g});m&&(m.start=n(m.start,p),m.end=n(m.end,r));C(t,{children:q,descendants:b,height:k});"function"===typeof f&&f(t,c);return t};return{getListOfParents:w,getNode:h,getTree:function(a,n){var e=g(a,function(a){return a.id});a=w(a,e);return h("",null,1,null,a,n)}}}(J),Y=function(a){var A=a.each,C=a.extend,
  D=a.isArray,r=a.isObject,g=a.isNumber,n=a.merge,u=a.pick,w=a.reduce;return{getColor:function(h,g){var n=g.index,e=g.mapOptionsToLevel,m=g.parentColor,d=g.parentColorIndex,c=g.series,b=g.colors,k=g.siblings,f=c.points,q,p,r,w;if(h){f=f[h.i];h=e[h.level]||{};if(q=f&&h.colorByPoint)r=f.index%(b?b.length:c.chart.options.chart.colorCount),p=b&&b[r];b=f&&f.options.color;q=h&&h.color;if(e=m)e=(e=h&&h.colorVariation)&&"brightness"===e.key?a.color(m).brighten(n/k*e.to).get():m;q=u(b,q,p,e,c.color);w=u(f&&
  f.options.colorIndex,h&&h.colorIndex,r,d,g.colorIndex)}return{color:q,colorIndex:w}},getLevelOptions:function(a){var h=null,t,e,m,d;if(r(a))for(h={},m=g(a.from)?a.from:1,d=a.levels,e={},t=r(a.defaults)?a.defaults:{},D(d)&&(e=w(d,function(a,b){var c,d;r(b)&&g(b.level)&&(d=n({},b),c="boolean"===typeof d.levelIsConstant?d.levelIsConstant:t.levelIsConstant,delete d.levelIsConstant,delete d.level,b=b.level+(c?0:m-1),r(a[b])?C(a[b],d):a[b]=d);return a},{})),d=g(a.to)?a.to:1,a=0;a<=d;a++)h[a]=n({},t,r(e[a])?
  e[a]:{});return h},setTreeValues:function p(a,e){var g=e.before,d=e.idRoot,c=e.mapIdToNode[d],b=e.points[a.i],k=b&&b.options||{},f=0,q=[];C(a,{levelDynamic:a.level-(("boolean"===typeof e.levelIsConstant?e.levelIsConstant:1)?0:c.level),name:u(b&&b.name,""),visible:d===a.id||("boolean"===typeof e.visible?e.visible:!1)});"function"===typeof g&&(a=g(a,e));A(a.children,function(b,c){var d=C({},e);C(d,{index:c,siblings:a.children.length,visible:a.visible});b=p(b,d);q.push(b);b.visible&&(f+=b.val)});a.visible=
  0<f||a.visible;g=u(k.value,f);C(a,{children:q,childrenTotal:f,isLeaf:a.visible&&!f,val:g});return a},updateRootId:function(a){var g;r(a)&&(g=r(a.options)?a.options:{},g=u(a.rootNode,g.rootId,""),r(a.userOptions)&&(a.userOptions.rootId=g),a.rootNode=g);return g}}}(J);(function(a){function A(){return Array.prototype.slice.call(arguments,1)}function C(a){a.apply(this);this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,r(this.pointArrayMap,["y"]))}var D=a.addEvent,r=a.pick,g=a.wrap,n=a.each,
  u=a.extend,w=a.isArray,h=a.fireEvent,p=a.Axis,t=a.Series;u(p.prototype,{isInBreak:function(a,h){var d=a.repeat||Infinity,c=a.from,b=a.to-a.from;h=h>=c?(h-c)%d:d-(c-h)%d;return a.inclusive?h<=b:h<b&&0!==h},isInAnyBreak:function(a,h){var d=this.options.breaks,c=d&&d.length,b,e,f;if(c){for(;c--;)this.isInBreak(d[c],a)&&(b=!0,e||(e=r(d[c].showPoints,this.isXAxis?!1:!0)));f=b&&h?b&&!e:b}return f}});D(p,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});
  D(p,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,h=this.tickPositions.info,d=[],c;for(c=0;c<a.length;c++)this.isInAnyBreak(a[c])||d.push(a[c]);this.tickPositions=d;this.tickPositions.info=h}});D(p,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});p.prototype.setBreaks=function(a,g){function d(a){var c=a,d,f;for(f=0;f<b.breakArray.length;f++)if(d=b.breakArray[f],d.to<=a)c-=d.len;else if(d.from>=a)break;else if(b.isInBreak(d,a)){c-=a-d.from;break}return c}
  function c(a){var c,d;for(d=0;d<b.breakArray.length&&!(c=b.breakArray[d],c.from>=a);d++)c.to<a?a+=c.len:b.isInBreak(c,a)&&(a+=c.len);return a}var b=this,e=w(a)&&!!a.length;b.isDirty=b.isBroken!==e;b.isBroken=e;b.options.breaks=b.userOptions.breaks=a;b.forceRedraw=!0;e||b.val2lin!==d||(delete b.val2lin,delete b.lin2val);e&&(b.userOptions.ordinal=!1,b.val2lin=d,b.lin2val=c,b.setExtremes=function(a,b,c,d,e){if(this.isBroken){for(;this.isInAnyBreak(a);)a-=this.closestPointRange;for(;this.isInAnyBreak(b);)b-=
  this.closestPointRange}p.prototype.setExtremes.call(this,a,b,c,d,e)},b.setAxisTranslation=function(a){p.prototype.setAxisTranslation.call(this,a);this.unitLength=null;if(this.isBroken){a=b.options.breaks;var c=[],d=[],f=0,e,k,g=b.userMin||b.min,m=b.userMax||b.max,t=r(b.pointRangePadding,0),u,w;n(a,function(a){k=a.repeat||Infinity;b.isInBreak(a,g)&&(g+=a.to%k-g%k);b.isInBreak(a,m)&&(m-=m%k-a.from%k)});n(a,function(a){u=a.from;for(k=a.repeat||Infinity;u-k>g;)u-=k;for(;u<g;)u+=k;for(w=u;w<m;w+=k)c.push({value:w,
  move:"in"}),c.push({value:w+(a.to-a.from),move:"out",size:a.breakSize})});c.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});e=0;u=g;n(c,function(a){e+="in"===a.move?1:-1;1===e&&"in"===a.move&&(u=a.value);0===e&&(d.push({from:u,to:a.value,len:a.value-u-(a.size||0)}),f+=a.value-u-(a.size||0))});b.breakArray=d;b.unitLength=m-g-f+t;h(b,"afterBreaks");b.staticScale?b.transA=b.staticScale:b.unitLength&&(b.transA*=(m-b.min+t)/b.unitLength);t&&(b.minPixelPadding=
  b.transA*b.minPointOffset);b.min=g;b.max=m}});r(g,!0)&&this.chart.redraw()};g(t.prototype,"generatePoints",function(a){a.apply(this,A(arguments));var e=this.xAxis,d=this.yAxis,c=this.points,b,k=c.length,f=this.options.connectNulls,h;if(e&&d&&(e.options.breaks||d.options.breaks))for(;k--;)b=c[k],h=null===b.y&&!1===f,h||!e.isInAnyBreak(b.x,!0)&&!d.isInAnyBreak(b.y,!0)||(c.splice(k,1),this.data[k]&&this.data[k].destroyElements())});a.Series.prototype.drawBreaks=function(a,g){var d=this,c=d.points,b,
  e,f,m;a&&n(g,function(k){b=a.breakArray||[];e=a.isXAxis?a.min:r(d.options.threshold,a.min);n(c,function(c){m=r(c["stack"+k.toUpperCase()],c[k]);n(b,function(b){f=!1;if(e<b.from&&m>b.to||e>b.from&&m<b.from)f="pointBreak";else if(e<b.from&&m>b.from&&m<b.to||e>b.from&&m>b.to&&m<b.from)f="pointInBreak";f&&h(a,f,{point:c,brk:b})})})})};a.Series.prototype.gappedPath=function(){var e=this.currentDataGrouping,h=e&&e.totalRange,e=this.options.gapSize,d=this.points.slice(),c=d.length-1,b=this.yAxis;if(e&&0<
  c)for("value"!==this.options.gapUnit&&(e*=this.closestPointRange),h&&h>e&&(e=h);c--;)d[c+1].x-d[c].x>e&&(h=(d[c].x+d[c+1].x)/2,d.splice(c+1,0,{isNull:!0,x:h}),this.options.stacking&&(h=b.stacks[this.stackKey][h]=new a.StackItem(b,b.options.stackLabels,!1,h,this.stack),h.total=0));return this.getGraphPath(d)};g(a.seriesTypes.column.prototype,"drawPoints",C);g(a.Series.prototype,"drawPoints",C)})(J);(function(a,A,C){var D=function(a){return Array.prototype.slice.call(a,1)},r=a.defined,g=a.each,n=a.extend,
  u=a.find,w=a.fireEvent,h=C.getLevelOptions,p=a.map,t=a.merge,e=a.inArray,m=a.isNumber,d=function(b){return a.isObject(b,!0)},c=a.isString,b=a.keys,k=a.pick,f=a.reduce,q=a.wrap;C=a.Axis;var E=a.Tick,v=function(a,b){var c=!1;g(a,function(a,d,f){c||(c=b(a,d,f))});return c},I=function(a,b){var c,d;for(c in b)b.hasOwnProperty(c)&&(d=b[c],q(a,c,d))},x=function(a,b){var c=a.collapseStart;a=a.collapseEnd;a>=b&&(c-=.5);return{from:c,to:a,showPoints:!1}},G=function(a){return f(b(a.mapOfPosToGridNode),function(b,
  c){c=+c;a.min<=c&&a.max>=c&&!a.isInAnyBreak(c)&&b.push(c);return b},[])},z=function(a,b){var c=a.options.breaks||[],d=x(b,a.max);return v(c,function(a){return a.from===d.from&&a.to===d.to})},H=function(a,b){var c=a.options.breaks||[];a=x(b,a.max);c.push(a);return c},y=function(a,b){var c=a.options.breaks||[],d=x(b,a.max);return f(c,function(a,b){b.to===d.to&&b.from===d.from||a.push(b);return a},[])},K=function(b,c){var d=b.labelIcon,f=!d,e=c.renderer,h=c.xy,g=c.options,l=g.width,m=g.height,q=h.x-
  l/2-g.padding,h=h.y-m/2,n=c.collapsed?90:180,p=c.show&&a.isNumber(h);f&&(b.labelIcon=d=e.path(e.symbols[g.type](g.x,g.y,l,m)).addClass("highcharts-label-icon").add(c.group));p||d.attr({y:-9999});d.attr({"stroke-width":1,fill:k(c.color,"#666666")}).css({cursor:"pointer",stroke:g.lineColor,strokeWidth:g.lineWidth});d[f?"attr":"animate"]({translateX:q,translateY:h,rotation:n})},F=function(a,b,f){var e=[],k=[],h={},l={},m=-1,q="boolean"===typeof b?b:!1;a=A.getTree(a,{after:function(a){a=l[a.pos];var b=
  0,c=0;g(a.children,function(a){c+=a.descendants+1;b=Math.max(a.height+1,b)});a.descendants=c;a.height=b;a.collapsed&&k.push(a)},before:function(a){var b=d(a.data)?a.data:{},f=c(b.name)?b.name:"",k=h[a.parent],k=d(k)?l[k.pos]:null,g=function(a){return a.name===f},n;q&&d(k)&&(n=u(k.children,g))?(g=n.pos,n.nodes.push(a)):g=m++;l[g]||(l[g]=n={depth:k?k.depth+1:0,name:f,nodes:[a],children:[],pos:g},-1!==g&&e.push(f),d(k)&&k.children.push(n));c(a.id)&&(h[a.id]=a);!0===b.collapsed&&(n.collapsed=!0);a.pos=
  g}});l=function(a,b){var c=function(a,f,e){var k=f+(-1===f?0:b-1),h=(k-f)/2,l=f+h;g(a.nodes,function(a){var b=a.data;d(b)&&(b.y=f+b.seriesIndex,delete b.seriesIndex);a.pos=l});e[l]=a;a.pos=l;a.tickmarkOffset=h+.5;a.collapseStart=k+.5;g(a.children,function(a){c(a,k+1,e);k=a.collapseEnd-.5});a.collapseEnd=k+.5;return e};return c(a["-1"],-1,{})}(l,f);return{categories:e,mapOfIdToNode:h,mapOfPosToGridNode:l,collapsedNodes:k,tree:a}};I(C.prototype,{init:function(b,c,d){var f=this,e,k="treegrid"===d.type;
  k&&(d=t({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},d,{reversed:!0,grid:{columns:void 0}}));b.apply(f,[c,d]);k&&(a.addEvent(f.chart,"beforeRender",function(){var b=f.options&&f.options.labels;f.updateYNames();g(f.series,function(a){a.yData=p(a.options.data,function(a){return a.y})});f.mapOptionsToLevel=h({defaults:b,from:1,levels:b.levels,to:f.tree.height});e=a.addEvent(f,
  "foundExtremes",function(){g(f.collapsedNodes,function(a){a=H(f,a);f.setBreaks(a,!1)});e()})}),f.hasNames=!0,f.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var b=this.options,c=b&&b.labels,b=c&&m(c.indentation)?b.labels.indentation:0,c=a.apply(this,D(arguments)),d;"treegrid"===this.options.type&&(d=this.mapOfPosToGridNode[-1].height,c.width+=b*(d-1));return c},generateTick:function(a,b){var c=d(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},f=this.ticks,e=f[b],k,h;"treegrid"===
  this.options.type?(h=this.mapOfPosToGridNode[b],(c=c[h.depth])&&(k={labels:c}),e?(e.parameters.category=h.name,e.options=k,e.addLabel()):f[b]=new E(this,b,null,void 0,{category:h.name,tickmarkOffset:h.tickmarkOffset,options:k})):a.apply(this,D(arguments))},setTickInterval:function(a){var b=this.options;"treegrid"===b.type?(this.min=k(this.userMin,b.min,this.dataMin),this.max=k(this.userMax,b.max,this.dataMax),w(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=
  1,this.tickPositions=G(this)):a.apply(this,D(arguments))}});I(E.prototype,{getLabelPosition:function(a,b,c,f,e,h,g,q,n){var l=k(this.options&&this.options.labels,h);h=this.pos;var p=this.axis,t="treegrid"===p.options.type;a=a.apply(this,[b,c,f,e,l,g,q,n]);t&&(b=l&&d(l.symbol)?l.symbol:{},l=l&&m(l.indentation)?l.indentation:0,h=(h=(p=p.mapOfPosToGridNode)&&p[h])&&h.depth||1,a.x+=b.width+2*b.padding+(h-1)*l);return a},renderLabel:function(b){var c=this,f=c.pos,h=c.axis,l=c.label,m=h.mapOfPosToGridNode,
  q=h.options,n=k(c.options&&c.options.labels,q&&q.labels),p=n&&d(n.symbol)?n.symbol:{},t=(m=m&&m[f])&&m.depth,q="treegrid"===q.type,v=!(!l||!l.element),f=-1<e(f,h.tickPositions);q&&m&&v&&l.addClass("highcharts-treegrid-node-level-"+t);b.apply(c,D(arguments));q&&m&&v&&0<m.descendants&&(h=z(h,m),K(c,{color:l.styles.color,collapsed:h,group:l.parentGroup,options:p,renderer:l.renderer,show:f,xy:l.xy}),p="highcharts-treegrid-node-"+(h?"expanded":"collapsed"),l.addClass("highcharts-treegrid-node-"+(h?"collapsed":
  "expanded")).removeClass(p),l.css({cursor:"pointer"}),g([l,c.labelIcon],function(b){b.attachedTreeGridEvents||(a.addEvent(b.element,"mouseover",function(){var a=l;a.addClass("highcharts-treegrid-node-active");a.css({textDecoration:"underline"})}),a.addEvent(b.element,"mouseout",function(){var a=l,b=n,b=r(b.style)?b.style:{};a.removeClass("highcharts-treegrid-node-active");a.css({textDecoration:b.textDecoration})}),a.addEvent(b.element,"click",function(){c.toggleCollapse()}),b.attachedTreeGridEvents=
  !0)}))}});n(E.prototype,{collapse:function(a){var b=this.axis,c=H(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,k(a,!0))},expand:function(a){var b=this.axis,c=y(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,k(a,!0))},toggleCollapse:function(a){var b=this.axis,c;c=b.mapOfPosToGridNode[this.pos];c=z(b,c)?y(b,c):H(b,c);b.setBreaks(c,k(a,!0))}});C.prototype.updateYNames=function(){var a=this.options,b=a.uniqueNames,c=!this.isXAxis,e=this.series,k=0;"treegrid"===a.type&&c&&(a=f(e,function(a,c){c.visible&&
  (g(c.options.data,function(b){d(b)&&(b.seriesIndex=k,a.push(b))}),!0===b&&k++);return a},[]),a=F(a,b,!0===b?k:1),this.categories=a.categories,this.mapOfPosToGridNode=a.mapOfPosToGridNode,this.collapsedNodes=a.collapsedNodes,this.hasNames=!0,this.tree=a.tree)};C.prototype.utils={getNode:A.getNode}})(J,V,Y);V=function(a){function A(a,g,n){n=n||0;var e=a.length-1;g-=1e-7;for(var h,d;n<=e;)if(h=e+n>>1,d=g-a[h].xMin,0<d)n=h+1;else if(0>d)e=h-1;else return h;return 0<n?n-1:0}function C(a,g){for(var h=A(a,
  g.x+1)+1;h--;){var e;if(e=a[h].xMax>=g.x)e=a[h],e=g.x<=e.xMax&&g.x>=e.xMin&&g.y<=e.yMax&&g.y>=e.yMin;if(e)return h}return-1}function D(a){var h=[];if(a.length){h.push("M",a[0].start.x,a[0].start.y);for(var g=0;g<a.length;++g)h.push("L",a[g].end.x,a[g].end.y)}return h}function r(a,p){a.yMin=n(a.yMin,p.yMin);a.yMax=g(a.yMax,p.yMax);a.xMin=n(a.xMin,p.xMin);a.xMax=g(a.xMax,p.xMax)}var g=Math.min,n=Math.max,u=Math.abs,w=a.pick;return{straight:function(a,g){return{path:["M",a.x,a.y,"L",g.x,g.y],obstacles:[{start:a,
  end:g}]}},simpleConnect:a.extend(function(a,g,n){function e(a,b,c,d,f){a={x:a.x,y:a.y};a[b]=c[d||b]+(f||0);return a}function h(a,b,c){var d=u(b[c]-a[c+"Min"])>u(b[c]-a[c+"Max"]);return e(b,c,a,c+(d?"Max":"Min"),d?1:-1)}var d=[],c,b=w(n.startDirectionX,u(g.x-a.x)>u(g.y-a.y))?"x":"y",k=n.chartObstacles,f=C(k,a);n=C(k,g);var q;-1<n?(c=k[n],n=h(c,g,b),c={start:n,end:g},q=n):q=g;-1<f&&(k=k[f],n=h(k,a,b),d.push({start:a,end:n}),n[b]>a[b]===n[b]>q[b]&&(b="y"===b?"x":"y",g=a[b]<g[b],d.push({start:n,end:e(n,
  b,k,b+(g?"Max":"Min"),g?1:-1)}),b="y"===b?"x":"y"));a=d.length?d[d.length-1].end:a;n=e(a,b,q);d.push({start:a,end:n});b=e(n,"y"===b?"x":"y",q);d.push({start:n,end:b});d.push(c);return{path:D(d),obstacles:d}},{requiresObstacles:!0}),fastAvoid:a.extend(function(a,p,t){function e(a,b,c){var d,f,e,k,h,l=a.x<b.x?1:-1;a.x<b.x?(d=a,f=b):(d=b,f=a);a.y<b.y?(k=a,e=b):(k=b,e=a);for(h=0>l?g(A(y,f.x),y.length-1):0;y[h]&&(0<l&&y[h].xMin<=f.x||0>l&&y[h].xMax>=d.x);){if(y[h].xMin<=f.x&&y[h].xMax>=d.x&&y[h].yMin<=
  e.y&&y[h].yMax>=k.y)return c?{y:a.y,x:a.x<b.x?y[h].xMin-1:y[h].xMax+1,obstacle:y[h]}:{x:a.x,y:a.y<b.y?y[h].yMin-1:y[h].yMax+1,obstacle:y[h]};h+=l}return b}function h(a,b,c,d,f){var k=f.soft,h=f.hard,g=d?"x":"y",l={x:b.x,y:b.y},m={x:b.x,y:b.y};f=a[g+"Max"]>=k[g+"Max"];var k=a[g+"Min"]<=k[g+"Min"],n=a[g+"Max"]>=h[g+"Max"],h=a[g+"Min"]<=h[g+"Min"],q=u(a[g+"Min"]-b[g]),p=u(a[g+"Max"]-b[g]);c=10>u(q-p)?b[g]<c[g]:p<q;m[g]=a[g+"Min"];l[g]=a[g+"Max"];a=e(b,m,d)[g]!==m[g];b=e(b,l,d)[g]!==l[g];c=a?b?c:!0:b?
  !1:c;c=k?f?c:!0:f?!1:c;return h?n?c:!0:n?!1:c}function d(a,b,c){if(a.x===b.x&&a.y===b.y)return[];var f=c?"x":"y",k,l,m,q,p=t.obstacleOptions.margin;k={soft:{xMin:x,xMax:G,yMin:z,yMax:H},hard:t.hardBounds};l=C(y,a);-1<l?(l=y[l],k=h(l,a,b,c,k),r(l,t.hardBounds),q=c?{y:a.y,x:l[k?"xMax":"xMin"]+(k?1:-1)}:{x:a.x,y:l[k?"yMax":"yMin"]+(k?1:-1)},m=C(y,q),-1<m&&(m=y[m],r(m,t.hardBounds),q[f]=k?n(l[f+"Max"]-p+1,(m[f+"Min"]+l[f+"Max"])/2):g(l[f+"Min"]+p-1,(m[f+"Max"]+l[f+"Min"])/2),a.x===q.x&&a.y===q.y?(v&&
  (q[f]=k?n(l[f+"Max"],m[f+"Max"])+1:g(l[f+"Min"],m[f+"Min"])-1),v=!v):v=!1),a=[{start:a,end:q}]):(f=e(a,{x:c?b.x:a.x,y:c?a.y:b.y},c),a=[{start:a,end:{x:f.x,y:f.y}}],f[c?"x":"y"]!==b[c?"x":"y"]&&(k=h(f.obstacle,f,b,!c,k),r(f.obstacle,t.hardBounds),k={x:c?f.x:f.obstacle[k?"xMax":"xMin"]+(k?1:-1),y:c?f.obstacle[k?"yMax":"yMin"]+(k?1:-1):f.y},c=!c,a=a.concat(d({x:f.x,y:f.y},k,c))));return a=a.concat(d(a[a.length-1].end,b,!c))}function c(a,b,c){var d=g(a.xMax-b.x,b.x-a.xMin)<g(a.yMax-b.y,b.y-a.yMin);c=
  h(a,b,c,d,{soft:t.hardBounds,hard:t.hardBounds});return d?{y:b.y,x:a[c?"xMax":"xMin"]+(c?1:-1)}:{x:b.x,y:a[c?"yMax":"yMin"]+(c?1:-1)}}var b=w(t.startDirectionX,u(p.x-a.x)>u(p.y-a.y)),k=b?"x":"y",f,q,E=[],v=!1,I=t.obstacleMetrics,x=g(a.x,p.x)-I.maxWidth-10,G=n(a.x,p.x)+I.maxWidth+10,z=g(a.y,p.y)-I.maxHeight-10,H=n(a.y,p.y)+I.maxHeight+10,y=t.chartObstacles;f=A(y,x);I=A(y,G);y=y.slice(f,I+1);-1<(I=C(y,p))&&(q=c(y[I],p,a),E.push({end:p,start:q}),p=q);for(;-1<(I=C(y,p));)f=0>p[k]-a[k],q={x:p.x,y:p.y},
  q[k]=y[I][f?k+"Max":k+"Min"]+(f?1:-1),E.push({end:p,start:q}),p=q;a=d(a,p,b);a=a.concat(E.reverse());return{path:D(a),obstacles:a}},{requiresObstacles:!0})}}(J);(function(a){a.SVGRenderer.prototype.symbols.arrow=function(a,C,D,r){return["M",a,C+r/2,"L",a+D,C,"L",a,C+r/2,"L",a+D,C+r]};a.SVGRenderer.prototype.symbols["arrow-half"]=function(A,C,D,r){return a.SVGRenderer.prototype.symbols.arrow(A,C,D/2,r)};a.SVGRenderer.prototype.symbols["triangle-left"]=function(a,C,D,r){return["M",a+D,C,"L",a,C+r/2,
  "L",a+D,C+r,"Z"]};a.SVGRenderer.prototype.symbols["arrow-filled"]=a.SVGRenderer.prototype.symbols["triangle-left"];a.SVGRenderer.prototype.symbols["triangle-left-half"]=function(A,C,D,r){return a.SVGRenderer.prototype.symbols["triangle-left"](A,C,D/2,r)};a.SVGRenderer.prototype.symbols["arrow-filled-half"]=a.SVGRenderer.prototype.symbols["triangle-left-half"]})(J);(function(a,A){function C(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 D(a){for(var b=a.length,c=0,f,h,g=[],n=function(a,b,c){c=e(c,10);var f=a.yMax+c>b.yMin-c&&a.yMin-c<b.yMax+c,k=a.xMax+c>b.xMin-c&&a.xMin-c<b.xMax+c,h=f?a.xMin>b.xMax?a.xMin-b.xMax:b.xMin-a.xMax:Infinity,g=k?a.yMin>b.yMax?a.yMin-b.yMax:b.yMin-a.yMax:Infinity;return k&&f?c?n(a,b,Math.floor(c/2)):Infinity:d(h,g)};c<b;++c)for(f=c+1;f<b;++f)h=n(a[c],a[f]),80>h&&g.push(h);g.push(80);return m(Math.floor(g.sort(function(a,
  b){return a-b})[Math.floor(g.length/10)]/2-1),1)}function r(a,b,d){this.init(a,b,d)}function g(a){this.init(a)}var n=a.defined,u=a.deg2rad,w=a.extend,h=a.each,p=a.addEvent,t=a.merge,e=a.pick,m=Math.max,d=Math.min;w(a.defaultOptions,{pathfinder:{type:"straight",lineWidth:1,marker:{enabled:!1,align:"center",verticalAlign:"middle",inside:!1,lineWidth:1},startMarker:{symbol:"diamond"},endMarker:{symbol:"arrow-filled"}}});r.prototype={init:function(a,b,d){this.fromPoint=a;this.toPoint=b;this.options=d;
  this.chart=a.series.chart;this.pathfinder=this.chart.pathfinder},renderPath:function(a,b,d){var c=this.chart,e=c.pathfinder,k=!c.options.chart.forExport&&!1!==d,h=this.graphics&&this.graphics.path;e.group||(e.group=c.renderer.g().addClass("highcharts-pathfinder-group").attr({zIndex:-1}).add(c.seriesGroup));e.group.translate(c.plotLeft,c.plotTop);h&&h.renderer||(h=c.renderer.path().attr({opacity:0}).add(e.group));h.attr(b);h[k?"animate":"attr"]({opacity:1,d:a},d);this.graphics=this.graphics||{};this.graphics.path=
  h},addMarker:function(a,b,d){var c=this.fromPoint.series.chart,e=c.pathfinder,c=c.renderer,k="start"===a?this.fromPoint:this.toPoint,h=k.getPathfinderAnchorPoint(b),g,m;b.enabled&&(d="start"===a?{x:d[4],y:d[5]}:{x:d[d.length-5],y:d[d.length-4]},d=k.getRadiansToVector(d,h),h=k.getMarkerVector(d,b.radius,h),d=-d/u,b.width&&b.height?(g=b.width,m=b.height):g=m=2*b.radius,this.graphics=this.graphics||{},h={x:h.x-g/2,y:h.y-m/2,width:g,height:m,rotation:d,rotationOriginX:h.x,rotationOriginY:h.y},this.graphics[a]?
  this.graphics[a].animate(h):this.graphics[a]=c.symbol(b.symbol).addClass("highcharts-point-connecting-path-"+a+"-marker").attr(h).attr({fill:b.color||this.fromPoint.color,stroke:b.lineColor,"stroke-width":b.lineWidth,opacity:0}).animate({opacity:1},k.series.options.animation).add(e.group))},getPath:function(c){var b=this.pathfinder,d=this.chart,f=b.algorithms[c.type],e=b.chartObstacles;if("function"!==typeof f)a.error('"'+c.type+'" is not a Pathfinder algorithm.');else return f.requiresObstacles&&
  !e&&(e=b.chartObstacles=b.getChartObstacles(c),d.options.pathfinder.algorithmMargin=c.algorithmMargin,b.chartObstacleMetrics=b.getObstacleMetrics(e)),f(this.fromPoint.getPathfinderAnchorPoint(c.startMarker),this.toPoint.getPathfinderAnchorPoint(c.endMarker),t({chartObstacles:e,lineObstacles:b.lineObstacles||[],obstacleMetrics:b.chartObstacleMetrics,hardBounds:{xMin:0,xMax:d.plotWidth,yMin:0,yMax:d.plotHeight},obstacleOptions:{margin:c.algorithmMargin},startDirectionX:b.getAlgorithmStartDirection(c.startMarker)},
  c))},render:function(){var a=this.fromPoint,b=a.series,e=b.chart,f=e.pathfinder,h,e=t(e.options.pathfinder,b.options.pathfinder,a.options.pathfinder,this.options),g={};g.stroke=e.lineColor||a.color;g["stroke-width"]=e.lineWidth;e.dashStyle&&(g.dashstyle=e.dashStyle);g.class="highcharts-point-connecting-path highcharts-color-"+a.colorIndex;e=t(g,e);n(e.marker.radius)||(e.marker.radius=d(m(Math.ceil((e.algorithmMargin||8)/2)-1,1),5));a=this.getPath(e);h=a.path;a.obstacles&&(f.lineObstacles=f.lineObstacles||
  [],f.lineObstacles=f.lineObstacles.concat(a.obstacles));this.renderPath(h,g,b.options.animation);this.addMarker("start",t(e.marker,e.startMarker),h);this.addMarker("end",t(e.marker,e.endMarker),h)},destroy:function(){this.graphics&&(a.objectEach(this.graphics,function(a){a.destroy()}),delete this.graphics)}};g.prototype={algorithms:A,init:function(a){this.chart=a;this.connections=[];p(a,"redraw",function(){this.pathfinder.update()})},update:function(c){var b=this.chart,d=this,f=d.connections;d.connections=
  [];h(b.series,function(c){c.visible&&h(c.points,function(c){var f,e=c.options&&c.options.connect&&a.splat(c.options.connect);c.visible&&!1!==c.isInside&&e&&h(e,function(e){f=b.get("string"===typeof e?e:e.to);f instanceof a.Point&&f.series.visible&&f.visible&&!1!==f.isInside&&d.connections.push(new r(c,f,"string"===typeof e?{}:e))})})});for(var e=0,g,m,n=f.length,p=d.connections.length;e<n;++e){m=!1;for(g=0;g<p;++g)if(f[e].fromPoint===d.connections[g].fromPoint&&f[e].toPoint===d.connections[g].toPoint){d.connections[g].graphics=
  f[e].graphics;m=!0;break}m||f[e].destroy()}delete this.chartObstacles;delete this.lineObstacles;d.renderConnections(c)},renderConnections:function(a){a?h(this.chart.series,function(a){var b=function(){var b=a.chart.pathfinder;h(b&&b.connections||[],function(b){b.fromPoint&&b.fromPoint.series===a&&b.render()});a.pathfinderRemoveRenderEvent&&(a.pathfinderRemoveRenderEvent(),delete a.pathfinderRemoveRenderEvent)};!1===a.options.animation?b():a.pathfinderRemoveRenderEvent=p(a,"afterAnimate",b)}):h(this.connections,
  function(a){a.render()})},getChartObstacles:function(a){for(var b=[],c=this.chart.series,d=e(a.algorithmMargin,0),g,m=0,p=c.length;m<p;++m)if(c[m].visible)for(var t=0,r=c[m].points.length,u;t<r;++t)u=c[m].points[t],u.visible&&(u=C(u))&&b.push({xMin:u.xMin-d,xMax:u.xMax+d,yMin:u.yMin-d,yMax:u.yMax+d});b=b.sort(function(a,b){return a.xMin-b.xMin});n(a.algorithmMargin)||(g=a.algorithmMargin=D(b),h(b,function(a){a.xMin-=g;a.xMax+=g;a.yMin-=g;a.yMax+=g}));return b},getObstacleMetrics:function(a){for(var b=
  0,c=0,d,e,h=a.length;h--;)d=a[h].xMax-a[h].xMin,e=a[h].yMax-a[h].yMin,b<d&&(b=d),c<e&&(c=e);return{maxHeight:c,maxWidth:b}},getAlgorithmStartDirection:function(a){var b="top"!==a.verticalAlign&&"bottom"!==a.verticalAlign;return"left"!==a.align&&"right"!==a.align?b?void 0:!1:b?!0:void 0}};a.Connection=r;a.Pathfinder=g;w(a.Point.prototype,{getPathfinderAnchorPoint:function(a){var b=C(this),c,d;switch(a.align){case "right":c="xMax";break;case "left":c="xMin"}switch(a.verticalAlign){case "top":d="yMin";
  break;case "bottom":d="yMax"}return{x:c?b[c]:(b.xMin+b.xMax)/2,y:d?b[d]:(b.yMin+b.yMax)/2}},getRadiansToVector:function(a,b){n(b)||(b=C(this),b={x:(b.xMin+b.xMax)/2,y:(b.yMin+b.yMax)/2});return Math.atan2(b.y-a.y,a.x-b.x)},getMarkerVector:function(a,b,d){for(var c=2*Math.PI,e=C(this),h=e.xMax-e.xMin,k=e.yMax-e.yMin,g=Math.atan2(k,h),m=!1,h=h/2,n=k/2,p=e.xMin+h,e=e.yMin+n,t=p,r=e,u={},w=1,l=1;a<-Math.PI;)a+=c;for(;a>Math.PI;)a-=c;c=Math.tan(a);a>-g&&a<=g?(l=-1,m=!0):a>g&&a<=Math.PI-g?l=-1:a>Math.PI-
  g||a<=-(Math.PI-g)?(w=-1,m=!0):w=-1;m?(t+=w*h,r+=l*h*c):(t+=k/(2*c)*w,r+=l*n);d.x!==p&&(t=d.x);d.y!==e&&(r=d.y);u.x=t+b*Math.cos(a);u.y=r-b*Math.sin(a);return u}});a.Chart.prototype.callbacks.push(function(a){!1!==a.options.pathfinder.enabled&&(this.pathfinder=new g(this),this.pathfinder.update(!0))})})(J,V);(function(a){var A=a.addEvent,C=a.defined,D=a.Color,r=a.seriesTypes.column,g=a.each,n=a.isNumber,u=a.isObject,w=a.merge,h=a.pick,p=a.seriesType,t=a.Axis,e=a.Point,m=a.Series;p("xrange","column",
  {colorByPoint:!0,dataLabels:{verticalAlign:"middle",inside:!0,formatter:function(){var a=this.point.partialFill;u(a)&&(a=a.amount);C(a)||(a=0);return 100*a+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"font-size: 0.85em"\x3e{point.x} - {point.x2}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.yCategory}\x3c/b\x3e\x3cbr/\x3e'},borderRadius:3,pointRange:0},{type:"xrange",parallelArrays:["x","x2","y"],requireSorting:!1,
  animate:a.seriesTypes.line.prototype.animate,cropShoulder:1,getExtremesFromAll:!0,autoIncrement:a.noop,getColumnMetrics:function(){function a(){g(b.series,function(a){var b=a.xAxis;a.xAxis=a.yAxis;a.yAxis=b})}var c,b=this.chart;a();c=r.prototype.getColumnMetrics.call(this);a();return c},cropData:function(a,c,b,e){c=m.prototype.cropData.call(this,this.x2Data,c,b,e);c.xData=a.slice(c.start,c.end);return c},translatePoint:function(a){var c=this.xAxis,b=this.yAxis,d=this.columnMetrics,f=this.options,
  e=f.minPointLength||0,g=a.plotX,m=h(a.x2,a.x+(a.len||0)),p=c.translate(m,0,0,0,1),m=Math.abs(p-g),t=this.chart.inverted,r=h(f.borderWidth,1)%2/2,z=d.offset,A=Math.round(d.width);e&&(e-=m,0>e&&(e=0),g-=e/2,p+=e/2);g=Math.max(g,-10);p=Math.min(Math.max(p,-10),c.len+10);C(a.options.pointWidth)&&(z-=(Math.ceil(a.options.pointWidth)-A)/2,A=Math.ceil(a.options.pointWidth));f.pointPlacement&&n(a.plotY)&&b.categories&&(a.plotY=b.translate(a.y,0,1,0,1,f.pointPlacement));a.shapeArgs={x:Math.floor(Math.min(g,
  p))+r,y:Math.floor(a.plotY+z)+r,width:Math.round(Math.abs(p-g)),height:A,r:this.options.borderRadius};f=a.shapeArgs.x;e=f+a.shapeArgs.width;0>f||e>c.len?(f=Math.min(c.len,Math.max(0,f)),e=Math.max(0,Math.min(e,c.len)),c=e-f,a.dlBox=w(a.shapeArgs,{x:f,width:e-f,centerX:c?c/2:null})):a.dlBox=null;a.tooltipPos[0]+=t?0:m/2;a.tooltipPos[1]-=t?-m/2:d.width/2;if(c=a.partialFill)u(c)&&(c=c.amount),n(c)||(c=0),d=a.shapeArgs,a.partShapeArgs={x:d.x,y:d.y,width:d.width,height:d.height,r:this.options.borderRadius},
  a.clipRectArgs={x:d.x,y:d.y,width:Math.max(Math.round(m*c+(a.plotX-g)),0),height:d.height};b.categories&&(a.category=b.categories[a.y])},translate:function(){r.prototype.translate.apply(this,arguments);g(this.points,function(a){this.translatePoint(a)},this)},drawPoint:function(a,c){var b=this.options,d=this.chart.renderer,e=a.graphic,h=a.shapeType,g=a.shapeArgs,m=a.partShapeArgs,n=a.clipRectArgs,p=a.partialFill,t=a.selected&&"select",r=b.stacking&&!b.borderRadius;if(a.isNull)e&&(a.graphic=e.destroy());
  else{if(e)a.graphicOriginal[c](w(g));else a.graphic=e=d.g("point").addClass(a.getClassName()).add(a.group||this.group),a.graphicOriginal=d[h](g).addClass(a.getClassName()).addClass("highcharts-partfill-original").add(e);m&&(a.graphicOverlay?(a.graphicOverlay[c](w(m)),a.clipRect.animate(w(n))):(a.clipRect=d.clipRect(n.x,n.y,n.width,n.height),a.graphicOverlay=d[h](m).addClass("highcharts-partfill-overlay").add(e).clip(a.clipRect)));a.graphicOriginal.attr(this.pointAttribs(a,t)).shadow(b.shadow,null,
  r);m&&(u(p)||(p={}),u(b.partialFill)&&(p=w(p,b.partialFill)),c=p.fill||D(a.color||this.color).brighten(-.3).get(),a.graphicOverlay.attr(this.pointAttribs(a,t)).attr({fill:c}).shadow(b.shadow,null,r))}},drawPoints:function(){var a=this,c=a.getAnimationVerb();g(a.points,function(b){a.drawPoint(b,c)})},getAnimationVerb:function(){return this.chart.pointCount<(this.options.animationLimit||250)?"animate":"attr"}},{applyOptions:function(){var a,c=e.prototype.applyOptions.apply(this,arguments),b=c.series;
  b.options.colorByPoint&&!c.options.color&&(a=b.options.colors||b.chart.options.colors,b=c.y%(a?a.length:b.chart.options.chart.colorCount),a=a&&a[b],c.color=a,c.options.colorIndex||(c.colorIndex=b));return c},init:function(){e.prototype.init.apply(this,arguments);this.y||(this.y=0);return this},setState:function(){e.prototype.setState.apply(this,arguments);this.series.drawPoint(this,this.series.getAnimationVerb())},getLabelConfig:function(){var a=e.prototype.getLabelConfig.call(this),c=this.series.yAxis.categories;
  a.x2=this.x2;a.yCategory=this.yCategory=c&&c[this.y];return a},tooltipDateKeys:["x","x2"],isValid:function(){return"number"===typeof this.x&&"number"===typeof this.x2}});A(t,"afterGetSeriesExtremes",function(){var a=this.series,c,b;this.isXAxis&&(c=h(this.dataMax,-Number.MAX_VALUE),g(a,function(a){a.x2Data&&g(a.x2Data,function(a){a>c&&(c=a,b=!0)})}),b&&(this.dataMax=c))})})(J);(function(a){var A=a.dateFormat,C=a.isObject,D=a.isNumber,r=a.merge,g=a.pick,n=a.seriesType,u=a.stop,w=a.seriesTypes.xrange;
  n("gantt","xrange",{grouping:!1,dataLabels:{enabled:!0,formatter:function(){var a=this.point.partialFill;C(a)&&(a=a.amount);if(D(a)&&0<a)return 100*a+"%"}},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color};text-align:right"\x3e{series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:null,pointFormatter:function(){var h=this.series,g=h.chart.tooltip,n=h.xAxis,e=n.options.dateTimeLabelFormats,m=n.options.startOfWeek,d=h.tooltipOptions,c=d.xDateFormat,b=this.end?this.end-this.start:0,h=this.options.milestone,
  n="\x3cb\x3e"+(this.name||this.category)+"\x3c/b\x3e";if(d.pointFormat)return this.tooltipFormatter(d.pointFormat);c||(c=a.splat(g.getDateFormat(b,this.start,m,e))[0]);g=A(c,this.start);e=A(c,this.end);n+="\x3cbr/\x3e";return h?n+('\x3cspan style\x3d"font-size: 0.8em"\x3eDate '+g+"\x3c/span\x3e\x3cbr/\x3e"):n+('\x3cspan style\x3d"font-size: 0.8em"\x3eStart: '+g+"\x3c/span\x3e\x3cbr/\x3e")+('\x3cspan style\x3d"font-size: 0.8em"\x3eEnd: '+e+"\x3c/span\x3e\x3cbr/\x3e")}},pathfinder:{type:"simpleConnect",
  animation:{reversed:!0},startMarker:{enabled:!0,symbol:"arrow-filled",radius:4,fill:"#fa0",align:"left"},endMarker:{enabled:!1,align:"right"}}},{keyboardMoveVertical:!1,translatePoint:function(a){var h,g;w.prototype.translatePoint.call(this,a);a.options.milestone&&(h=a.shapeArgs,g=h.height,a.shapeArgs={x:h.x-g/2,y:h.y,width:g,height:g})},drawPoint:function(a,g){var h=this.options,e=this.chart.renderer,m=a.shapeArgs,d=a.plotY,c=a.graphic,b=a.selected&&"select",k=h.stacking&&!h.borderRadius;a.options.milestone?
  D(d)&&null!==a.y?(m=e.symbols.diamond(m.x,m.y,m.width,m.height),c?(u(c),c[g]({d:m})):a.graphic=e.path(m).addClass(a.getClassName(),!0).add(a.group||this.group),a.graphic.attr(this.pointAttribs(a,b)).shadow(h.shadow,null,k)):c&&(a.graphic=c.destroy()):w.prototype.drawPoint.call(this,a,g)},setData:a.Series.prototype.setData,setGanttPointAliases:function(a){function h(h,e){void 0!==e&&(a[h]=e)}h("x",g(a.start,a.x));h("x2",g(a.end,a.x2));h("partialFill",g(a.completed,a.partialFill));h("connect",g(a.dependency,
  a.connect))}},r(w.prototype.pointClass.prototype,{applyOptions:function(a,g){var h=this.series;a=r(a);h.setGanttPointAliases(a);return a=w.prototype.pointClass.prototype.applyOptions.call(this,a,g)}}))})(J);(function(a){var A=a.each,C=a.map,D=a.merge,r=a.splat,g=a.Chart;a.ganttChart=function(n,u,w){var h="string"===typeof n||n.nodeName,p=u.series,t=a.getOptions(),e;u=arguments[h?1:0];a.isArray(u.xAxis)||(u.xAxis=[u.xAxis||{},{}]);u.xAxis=C(u.xAxis,function(a,d){1===d&&(e=0);return D(t.xAxis,{grid:{enabled:!0},
  opposite:!0,linkedTo:e},a,{type:"datetime"})});u.yAxis=C(r(u.yAxis||{}),function(a){return D(t.yAxis,{grid:{enabled:!0},staticScale:50,reversed:!0,type:a.categories?a.type:"treegrid"},a)});u.series=null;u=D({chart:{type:"gantt"},title:{text:null},legend:{enabled:!1}},u);u.series=p;A(u.series,function(e){A(e.data,function(d){a.seriesTypes.gantt.prototype.setGanttPointAliases(d)})});return h?new g(n,u,w):new g(u,u)}})(J);return J});
  //# sourceMappingURL=highcharts-gantt.js.map
  