/*
 Highmaps JS v7.2.0 (2019-09-03)

 (c) 2011-2018 Torstein Honsi

 License: www.highcharts.com/license
*/
(function(O,K){"object"===typeof module&&module.exports?(K["default"]=K,module.exports=O.document?K(O):K):"function"===typeof define&&define.amd?define("highcharts/highmaps",function(){return K(O)}):(O.Highcharts&&O.Highcharts.error(16,!0),O.Highcharts=K(O))})("undefined"!==typeof window?window:this,function(O){function K(c,h,z,D){c.hasOwnProperty(h)||(c[h]=D.apply(null,z))}var E={};K(E,"parts/Globals.js",[],function(){var c="undefined"!==typeof O?O:"undefined"!==typeof window?window:{},h=c.document,
z=c.navigator&&c.navigator.userAgent||"",D=h&&h.createElementNS&&!!h.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,G=/(edge|msie|trident)/i.test(z)&&!c.opera,B=-1!==z.indexOf("Firefox"),H=-1!==z.indexOf("Chrome"),F=B&&4>parseInt(z.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.2.0",deg2rad:2*Math.PI/360,doc:h,hasBidiBug:F,hasTouch:!!c.TouchEvent,isMS:G,isWebKit:-1!==z.indexOf("AppleWebKit"),isFirefox:B,isChrome:H,isSafari:!H&&-1!==z.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(z),
SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:D,win:c,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});K(E,"parts/Utilities.js",[E["parts/Globals.js"]],function(c){function h(e,a){return parseInt(e,a||10)}function z(e){return"string"===typeof e}function D(e){e=Object.prototype.toString.call(e);return"[object Array]"===e||"[object Array Iterator]"===e}function G(e,a){return!!e&&"object"===typeof e&&(!a||
!D(e))}function B(e){return G(e)&&"number"===typeof e.nodeType}function H(e){var a=e&&e.constructor;return!(!G(e,!0)||B(e)||!a||!a.name||"Object"===a.name)}function F(e){return"number"===typeof e&&!isNaN(e)&&Infinity>e&&-Infinity<e}function A(e){return"undefined"!==typeof e&&null!==e}function v(e,a,b){var f;z(a)?A(b)?e.setAttribute(a,b):e&&e.getAttribute&&((f=e.getAttribute(a))||"class"!==a||(f=e.getAttribute(a+"Name"))):p(a,function(a,b){e.setAttribute(b,a)});return f}function p(e,a,b){for(var f in e)Object.hasOwnProperty.call(e,
f)&&a.call(b||e[f],e[f],f,e)}c.timers=[];var u=c.charts,y=c.doc,l=c.win;c.error=function(e,a,b){var f=F(e)?"Highcharts error #"+e+": www.highcharts.com/errors/"+e:e,d=function(){if(a)throw Error(f);l.console&&console.log(f)};b?c.fireEvent(b,"displayError",{code:e,message:f},d):d()};c.Fx=function(e,a,b){this.options=a;this.elem=e;this.prop=b};c.Fx.prototype={dSetter:function(){var e=this.paths[0],a=this.paths[1],b=[],f=this.now,d=e.length;if(1===f)b=this.toD;else if(d===a.length&&1>f)for(;d--;){var g=
parseFloat(e[d]);b[d]=isNaN(g)?a[d]:f*parseFloat(""+(a[d]-g))+g}else b=a;this.elem.attr("d",b,null,!0)},update:function(){var e=this.elem,a=this.prop,b=this.now,f=this.options.step;if(this[a+"Setter"])this[a+"Setter"]();else e.attr?e.element&&e.attr(a,b,null,!0):e.style[a]=b+this.unit;f&&f.call(e,b,this)},run:function(e,a,b){var f=this,d=f.options,g=function(a){return g.stopped?!1:f.step(a)},n=l.requestAnimationFrame||function(a){setTimeout(a,13)},t=function(){for(var a=0;a<c.timers.length;a++)c.timers[a]()||
c.timers.splice(a--,1);c.timers.length&&n(t)};e!==a||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=e,this.end=a,this.unit=b,this.now=this.start,this.pos=0,g.elem=this.elem,g.prop=this.prop,g()&&1===c.timers.push(g)&&n(t)):(delete d.curAnim[this.prop],d.complete&&0===Object.keys(d.curAnim).length&&d.complete.call(this.elem))},step:function(e){var a=+new Date,b=this.options,f=this.elem,d=b.complete,g=b.duration,c=b.curAnim;if(f.attr&&!f.element)e=!1;else if(e||a>=g+this.startTime){this.now=
this.end;this.pos=1;this.update();var t=c[this.prop]=!0;p(c,function(a){!0!==a&&(t=!1)});t&&d&&d.call(f);e=!1}else this.pos=b.easing((a-this.startTime)/g),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0;return e},initPath:function(e,a,b){function f(a){for(w=a.length;w--;){var d="M"===a[w]||"L"===a[w];var b=/[a-zA-Z]/.test(a[w+3]);d&&b&&a.splice(w+1,0,a[w+1],a[w+2],a[w+1],a[w+2])}}function d(a,d){for(;a.length<M;){a[0]=d[M-a.length];var b=a.slice(0,k);[].splice.apply(a,[0,0].concat(b));
C&&(b=a.slice(a.length-k),[].splice.apply(a,[a.length,0].concat(b)),w--)}a[0]="M"}function g(a,d){for(var b=(M-a.length)/k;0<b&&b--;)m=a.slice().splice(a.length/I-k,k*I),m[0]=d[M-k-b*k],q&&(m[k-6]=m[k-2],m[k-5]=m[k-1]),[].splice.apply(a,[a.length/I,0].concat(m)),C&&b--}a=a||"";var c=e.startX,t=e.endX,q=-1<a.indexOf("C"),k=q?7:3,m,w;a=a.split(" ");b=b.slice();var C=e.isArea,I=C?2:1;q&&(f(a),f(b));if(c&&t){for(w=0;w<c.length;w++)if(c[w]===t[0]){var x=w;break}else if(c[0]===t[t.length-c.length+w]){x=
w;var r=!0;break}else if(c[c.length-1]===t[t.length-c.length+w]){x=c.length-w;break}"undefined"===typeof x&&(a=[])}if(a.length&&F(x)){var M=b.length+x*I*k;r?(d(a,b),g(b,a)):(d(b,a),g(a,b))}return[a,b]},fillSetter:function(){c.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,c.color(this.start).tweenTo(c.color(this.end),this.pos),null,!0)}};c.merge=function(){var e,a=arguments,b={},f=function(a,d){"object"!==typeof a&&(a={});p(d,function(b,e){!G(b,!0)||
H(b)||B(b)?a[e]=d[e]:a[e]=f(a[e]||{},b)});return a};!0===a[0]&&(b=a[1],a=Array.prototype.slice.call(a,2));var d=a.length;for(e=0;e<d;e++)b=f(b,a[e]);return b};c.syncTimeout=function(e,a,b){if(a)return setTimeout(e,a,b);e.call(0,b)};c.clearTimeout=function(e){A(e)&&clearTimeout(e)};c.extend=function(e,a){var b;e||(e={});for(b in a)e[b]=a[b];return e};c.pick=function(){var e=arguments,a,b=e.length;for(a=0;a<b;a++){var f=e[a];if("undefined"!==typeof f&&null!==f)return f}};c.css=function(e,a){c.isMS&&
!c.svg&&a&&"undefined"!==typeof a.opacity&&(a.filter="alpha(opacity="+100*a.opacity+")");c.extend(e.style,a)};c.createElement=function(e,a,b,f,d){e=y.createElement(e);var g=c.css;a&&c.extend(e,a);d&&g(e,{padding:"0",border:"none",margin:"0"});b&&g(e,b);f&&f.appendChild(e);return e};c.extendClass=function(e,a){var b=function(){};b.prototype=new e;c.extend(b.prototype,a);return b};c.pad=function(e,a,b){return Array((a||2)+1-String(e).replace("-","").length).join(b||"0")+e};c.relativeLength=function(e,
a,b){return/%$/.test(e)?a*parseFloat(e)/100+(b||0):parseFloat(e)};c.wrap=function(e,a,b){var f=e[a];e[a]=function(){var a=Array.prototype.slice.call(arguments),e=arguments,c=this;c.proceed=function(){f.apply(c,arguments.length?arguments:e)};a.unshift(f);a=b.apply(this,a);c.proceed=null;return a}};c.datePropsToTimestamps=function(e){p(e,function(a,b){G(a)&&"function"===typeof a.getTime?e[b]=a.getTime():(G(a)||D(a))&&c.datePropsToTimestamps(a)})};c.formatSingle=function(e,a,b){var f=/\.([0-9])/,d=c.defaultOptions.lang;
/f$/.test(e)?(b=(b=e.match(f))?b[1]:-1,null!==a&&(a=c.numberFormat(a,b,d.decimalPoint,-1<e.indexOf(",")?d.thousandsSep:""))):a=(b||c.time).dateFormat(e,a);return a};c.format=function(e,a,b){for(var f="{",d=!1,g,n,t,q,k=[],m;e;){f=e.indexOf(f);if(-1===f)break;g=e.slice(0,f);if(d){g=g.split(":");n=g.shift().split(".");q=n.length;m=a;for(t=0;t<q;t++)m&&(m=m[n[t]]);g.length&&(m=c.formatSingle(g.join(":"),m,b));k.push(m)}else k.push(g);e=e.slice(f+1);f=(d=!d)?"}":"{"}k.push(e);return k.join("")};c.getMagnitude=
function(e){return Math.pow(10,Math.floor(Math.log(e)/Math.LN10))};c.normalizeTickInterval=function(e,a,b,f,d){var g=e;b=c.pick(b,1);var n=e/b;a||(a=d?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===f&&(1===b?a=a.filter(function(a){return 0===a%1}):.1>=b&&(a=[1/b])));for(f=0;f<a.length&&!(g=a[f],d&&g*b>=e||!d&&n<=(a[f]+(a[f+1]||a[f]))/2);f++);return g=c.correctFloat(g*b,-Math.round(Math.log(.001)/Math.LN10))};c.stableSort=function(e,a){var b=e.length,f,d;for(d=0;d<b;d++)e[d].safeI=d;e.sort(function(d,
b){f=a(d,b);return 0===f?d.safeI-b.safeI:f});for(d=0;d<b;d++)delete e[d].safeI};c.arrayMin=function(e){for(var a=e.length,b=e[0];a--;)e[a]<b&&(b=e[a]);return b};c.arrayMax=function(e){for(var a=e.length,b=e[0];a--;)e[a]>b&&(b=e[a]);return b};c.destroyObjectProperties=function(e,a){p(e,function(b,f){b&&b!==a&&b.destroy&&b.destroy();delete e[f]})};c.discardElement=function(e){var a=c.garbageBin;a||(a=c.createElement("div"));e&&a.appendChild(e);a.innerHTML=""};c.correctFloat=function(e,a){return parseFloat(e.toPrecision(a||
14))};c.setAnimation=function(e,a){a.renderer.globalAnimation=c.pick(e,a.options.chart.animation,!0)};c.animObject=function(e){return G(e)?c.merge(e):{duration:e?500:0}};c.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};c.numberFormat=function(e,a,b,f){e=+e||0;a=+a;var d=c.defaultOptions.lang,g=(e.toString().split(".")[1]||"").split("e")[0].length,n=e.toString().split("e");if(-1===a)a=Math.min(g,20);else if(!F(a))a=2;else if(a&&n[1]&&0>n[1]){var t=
a+ +n[1];0<=t?(n[0]=(+n[0]).toExponential(t).split("e")[0],a=t):(n[0]=n[0].split(".")[0]||0,e=20>a?(n[0]*Math.pow(10,n[1])).toFixed(a):0,n[1]=0)}var q=(Math.abs(n[1]?n[0]:e)+Math.pow(10,-Math.max(a,g)-1)).toFixed(a);g=String(h(q));t=3<g.length?g.length%3:0;b=c.pick(b,d.decimalPoint);f=c.pick(f,d.thousandsSep);e=(0>e?"-":"")+(t?g.substr(0,t)+f:"");e+=g.substr(t).replace(/(\d{3})(?=\d)/g,"$1"+f);a&&(e+=b+q.slice(-a));n[1]&&0!==+e&&(e+="e"+n[1]);return e};Math.easeInOutSine=function(e){return-.5*(Math.cos(Math.PI*
e)-1)};c.getStyle=function(e,a,b){if("width"===a)return a=Math.min(e.offsetWidth,e.scrollWidth),b=e.getBoundingClientRect&&e.getBoundingClientRect().width,b<a&&b>=a-1&&(a=Math.floor(b)),Math.max(0,a-c.getStyle(e,"padding-left")-c.getStyle(e,"padding-right"));if("height"===a)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-c.getStyle(e,"padding-top")-c.getStyle(e,"padding-bottom"));l.getComputedStyle||c.error(27,!0);if(e=l.getComputedStyle(e,void 0))e=e.getPropertyValue(a),c.pick(b,"opacity"!==
a)&&(e=h(e));return e};c.inArray=function(e,a,b){return a.indexOf(e,b)};c.find=Array.prototype.find?function(e,a){return e.find(a)}:function(e,a){var b,f=e.length;for(b=0;b<f;b++)if(a(e[b],b))return e[b]};c.keys=Object.keys;c.offset=function(e){var a=y.documentElement;e=e.parentElement||e.parentNode?e.getBoundingClientRect():{top:0,left:0};return{top:e.top+(l.pageYOffset||a.scrollTop)-(a.clientTop||0),left:e.left+(l.pageXOffset||a.scrollLeft)-(a.clientLeft||0)}};c.stop=function(e,a){for(var b=c.timers.length;b--;)c.timers[b].elem!==
e||a&&a!==c.timers[b].prop||(c.timers[b].stopped=!0)};p({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,a){c[a]=function(a){return Array.prototype[e].apply(a,[].slice.call(arguments,1))}});c.addEvent=function(e,a,b,f){void 0===f&&(f={});var d=e.addEventListener||c.addEventListenerPolyfill;var g="function"===typeof e&&e.prototype?e.prototype.protoEvents=e.prototype.protoEvents||{}:e.hcEvents=e.hcEvents||{};c.Point&&e instanceof c.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=
!0);d&&d.call(e,a,b,!1);g[a]||(g[a]=[]);g[a].push({fn:b,order:"number"===typeof f.order?f.order:Infinity});g[a].sort(function(a,d){return a.order-d.order});return function(){c.removeEvent(e,a,b)}};c.removeEvent=function(e,a,b){function f(a,d){var b=e.removeEventListener||c.removeEventListenerPolyfill;b&&b.call(e,a,d,!1)}function d(d){var b;if(e.nodeName){if(a){var g={};g[a]=!0}else g=d;p(g,function(a,e){if(d[e])for(b=d[e].length;b--;)f(e,d[e][b].fn)})}}var g;["protoEvents","hcEvents"].forEach(function(c){var n=
e[c];n&&(a?(g=n[a]||[],b?(n[a]=g.filter(function(a){return b!==a.fn}),f(a,b)):(d(n),n[a]=[])):(d(n),e[c]={}))})};c.fireEvent=function(e,a,b,f){var d;b=b||{};if(y.createEvent&&(e.dispatchEvent||e.fireEvent)){var g=y.createEvent("Events");g.initEvent(a,!0,!0);c.extend(g,b);e.dispatchEvent?e.dispatchEvent(g):e.fireEvent(a,g)}else b.target||c.extend(b,{preventDefault:function(){b.defaultPrevented=!0},target:e,type:a}),function(a,f){void 0===a&&(a=[]);void 0===f&&(f=[]);var g=0,c=0,m=a.length+f.length;
for(d=0;d<m;d++)!1===(a[g]?f[c]?a[g].order<=f[c].order?a[g++]:f[c++]:a[g++]:f[c++]).fn.call(e,b)&&b.preventDefault()}(e.protoEvents&&e.protoEvents[a],e.hcEvents&&e.hcEvents[a]);f&&!b.defaultPrevented&&f.call(e,b)};c.animate=function(e,a,b){var f,d="",g,n;if(!G(b)){var t=arguments;b={duration:t[2],easing:t[3],complete:t[4]}}F(b.duration)||(b.duration=400);b.easing="function"===typeof b.easing?b.easing:Math[b.easing]||Math.easeInOutSine;b.curAnim=c.merge(a);p(a,function(q,k){c.stop(e,k);n=new c.Fx(e,
b,k);g=null;"d"===k?(n.paths=n.initPath(e,e.d,a.d),n.toD=a.d,f=0,g=1):e.attr?f=e.attr(k):(f=parseFloat(c.getStyle(e,k))||0,"opacity"!==k&&(d="px"));g||(g=q);g&&g.match&&g.match("px")&&(g=g.replace(/px/g,""));n.run(f,g,d)})};c.seriesType=function(e,a,b,f,d){var g=c.getOptions(),n=c.seriesTypes;g.plotOptions[e]=c.merge(g.plotOptions[a],b);n[e]=c.extendClass(n[a]||function(){},f);n[e].prototype.type=e;d&&(n[e].prototype.pointClass=c.extendClass(c.Point,d));return n[e]};c.uniqueKey=function(){var e=Math.random().toString(36).substring(2,
9),a=0;return function(){return"highcharts-"+e+"-"+a++}}();c.isFunction=function(e){return"function"===typeof e};l.jQuery&&(l.jQuery.fn.highcharts=function(){var e=[].slice.call(arguments);if(this[0])return e[0]?(new (c[z(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):u[v(this[0],"data-highcharts-chart")]});return{attr:v,defined:A,erase:function(e,a){for(var b=e.length;b--;)if(e[b]===a){e.splice(b,1);break}},isArray:D,isClass:H,isDOMElement:B,isNumber:F,isObject:G,isString:z,objectEach:p,pInt:h,
splat:function(e){return D(e)?e:[e]}}});K(E,"parts/Color.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.isNumber,D=h.pInt,G=c.merge;c.Color=function(B){if(!(this instanceof c.Color))return new c.Color(B);this.init(B)};c.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(c){return[D(c[1]),D(c[2]),D(c[3]),parseFloat(c[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
parse:function(c){return[D(c[1]),D(c[2]),D(c[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(B){var h,z;if((this.input=B=this.names[B&&B.toLowerCase?B.toLowerCase():""]||B)&&B.stops)this.stops=B.stops.map(function(p){return new c.Color(p[1])});else{if(B&&B.charAt&&"#"===B.charAt()){var A=B.length;B=parseInt(B.substr(1),16);7===A?h=[(B&16711680)>>16,(B&65280)>>8,B&255,1]:4===A&&(h=[(B&3840)>>4|(B&3840)>>8,(B&240)>>4|B&240,(B&15)<<4|B&15,1])}if(!h)for(z=this.parsers.length;z--&&!h;){var v=
this.parsers[z];(A=v.regex.exec(B))&&(h=v.parse(A))}}this.rgba=h||[]},get:function(c){var B=this.input,h=this.rgba;if(this.stops){var A=G(B);A.stops=[].concat(A.stops);this.stops.forEach(function(v,p){A.stops[p]=[A.stops[p][0],v.get(c)]})}else A=h&&z(h[0])?"rgb"===c||!c&&1===h[3]?"rgb("+h[0]+","+h[1]+","+h[2]+")":"a"===c?h[3]:"rgba("+h.join(",")+")":B;return A},brighten:function(c){var B,h=this.rgba;if(this.stops)this.stops.forEach(function(B){B.brighten(c)});else if(z(c)&&0!==c)for(B=0;3>B;B++)h[B]+=
D(255*c),0>h[B]&&(h[B]=0),255<h[B]&&(h[B]=255);return this},setOpacity:function(c){this.rgba[3]=c;return this},tweenTo:function(c,h){var B=this.rgba,A=c.rgba;A.length&&B&&B.length?(c=1!==A[3]||1!==B[3],h=(c?"rgba(":"rgb(")+Math.round(A[0]+(B[0]-A[0])*(1-h))+","+Math.round(A[1]+(B[1]-A[1])*(1-h))+","+Math.round(A[2]+(B[2]-A[2])*(1-h))+(c?","+(A[3]+(B[3]-A[3])*(1-h)):"")+")"):h=c.input||"none";return h}};c.color=function(B){return new c.Color(B)}});K(E,"parts/Time.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],
function(c,h){var z=h.defined,D=h.isObject,G=h.objectEach,B=h.splat,H=c.extend,F=c.merge,A=c.pick,v=c.timeUnits,p=c.win;c.Time=function(c){this.update(c,!1)};c.Time.prototype={defaultOptions:{},update:function(c){var u=A(c&&c.useUTC,!0),l=this;this.options=c=F(!0,this.options||{},c);this.Date=c.Date||p.Date||Date;this.timezoneOffset=(this.useUTC=u)&&c.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(u&&!c.getTimezoneOffset&&!c.timezone))||this.timezoneOffset?
(this.get=function(e,a){var b=a.getTime(),f=b-l.getTimezoneOffset(a);a.setTime(f);e=a["getUTC"+e]();a.setTime(b);return e},this.set=function(e,a,b){if("Milliseconds"===e||"Seconds"===e||"Minutes"===e&&0===a.getTimezoneOffset()%60)a["set"+e](b);else{var f=l.getTimezoneOffset(a);f=a.getTime()-f;a.setTime(f);a["setUTC"+e](b);e=l.getTimezoneOffset(a);f=a.getTime()+e;a.setTime(f)}}):u?(this.get=function(e,a){return a["getUTC"+e]()},this.set=function(e,a,b){return a["setUTC"+e](b)}):(this.get=function(e,
a){return a["get"+e]()},this.set=function(e,a,b){return a["set"+e](b)})},makeTime:function(u,p,l,e,a,b){if(this.useUTC){var f=this.Date.UTC.apply(0,arguments);var d=this.getTimezoneOffset(f);f+=d;var g=this.getTimezoneOffset(f);d!==g?f+=g-d:d-36E5!==this.getTimezoneOffset(f-36E5)||c.isSafari||(f-=36E5)}else f=(new this.Date(u,p,A(l,1),A(e,0),A(a,0),A(b,0))).getTime();return f},timezoneOffsetFunction:function(){var u=this,y=this.options,l=p.moment;if(!this.useUTC)return function(e){return 6E4*(new Date(e)).getTimezoneOffset()};
if(y.timezone){if(l)return function(e){return 6E4*-l.tz(e,y.timezone).utcOffset()};c.error(25)}return this.useUTC&&y.getTimezoneOffset?function(e){return 6E4*y.getTimezoneOffset(e)}:function(){return 6E4*(u.timezoneOffset||0)}},dateFormat:function(u,p,l){if(!z(p)||isNaN(p))return c.defaultOptions.lang.invalidDate||"";u=c.pick(u,"%Y-%m-%d %H:%M:%S");var e=this,a=new this.Date(p),b=this.get("Hours",a),f=this.get("Day",a),d=this.get("Date",a),g=this.get("Month",a),n=this.get("FullYear",a),t=c.defaultOptions.lang,
q=t.weekdays,k=t.shortWeekdays,m=c.pad;a=c.extend({a:k?k[f]:q[f].substr(0,3),A:q[f],d:m(d),e:m(d,2," "),w:f,b:t.shortMonths[g],B:t.months[g],m:m(g+1),o:g+1,y:n.toString().substr(2,2),Y:n,H:m(b),k:b,I:m(b%12||12),l:b%12||12,M:m(e.get("Minutes",a)),p:12>b?"AM":"PM",P:12>b?"am":"pm",S:m(a.getSeconds()),L:m(Math.floor(p%1E3),3)},c.dateFormats);G(a,function(a,d){for(;-1!==u.indexOf("%"+d);)u=u.replace("%"+d,"function"===typeof a?a.call(e,p):a)});return l?u.substr(0,1).toUpperCase()+u.substr(1):u},resolveDTLFormat:function(c){return D(c,
!0)?c:(c=B(c),{main:c[0],from:c[1],to:c[2]})},getTimeTicks:function(c,p,l,e){var a=this,b=[],f={};var d=new a.Date(p);var g=c.unitRange,n=c.count||1,t;e=A(e,1);if(z(p)){a.set("Milliseconds",d,g>=v.second?0:n*Math.floor(a.get("Milliseconds",d)/n));g>=v.second&&a.set("Seconds",d,g>=v.minute?0:n*Math.floor(a.get("Seconds",d)/n));g>=v.minute&&a.set("Minutes",d,g>=v.hour?0:n*Math.floor(a.get("Minutes",d)/n));g>=v.hour&&a.set("Hours",d,g>=v.day?0:n*Math.floor(a.get("Hours",d)/n));g>=v.day&&a.set("Date",
d,g>=v.month?1:Math.max(1,n*Math.floor(a.get("Date",d)/n)));if(g>=v.month){a.set("Month",d,g>=v.year?0:n*Math.floor(a.get("Month",d)/n));var q=a.get("FullYear",d)}g>=v.year&&a.set("FullYear",d,q-q%n);g===v.week&&(q=a.get("Day",d),a.set("Date",d,a.get("Date",d)-q+e+(q<e?-7:0)));q=a.get("FullYear",d);e=a.get("Month",d);var k=a.get("Date",d),m=a.get("Hours",d);p=d.getTime();a.variableTimezone&&(t=l-p>4*v.month||a.getTimezoneOffset(p)!==a.getTimezoneOffset(l));p=d.getTime();for(d=1;p<l;)b.push(p),p=g===
v.year?a.makeTime(q+d*n,0):g===v.month?a.makeTime(q,e+d*n):!t||g!==v.day&&g!==v.week?t&&g===v.hour&&1<n?a.makeTime(q,e,k,m+d*n):p+g*n:a.makeTime(q,e,k+d*n*(g===v.day?1:7)),d++;b.push(p);g<=v.hour&&1E4>b.length&&b.forEach(function(d){0===d%18E5&&"000000000"===a.dateFormat("%H%M%S%L",d)&&(f[d]="day")})}b.info=H(c,{higherRanks:f,totalRange:g*n});return b}}});K(E,"parts/Options.js",[E["parts/Globals.js"]],function(c){var h=c.color,z=c.merge;c.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:c.Time.prototype.defaultOptions,
chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},labels:{style:{position:"absolute",
color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,
verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:c.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:c.isTouchDevice?25:10,headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">\u25cf</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:h("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",
color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};c.setOptions=function(h){c.defaultOptions=z(!0,c.defaultOptions,h);c.time.update(z(c.defaultOptions.global,c.defaultOptions.time),!1);return c.defaultOptions};c.getOptions=function(){return c.defaultOptions};c.defaultPlotOptions=c.defaultOptions.plotOptions;c.time=new c.Time(z(c.defaultOptions.global,c.defaultOptions.time));c.dateFormat=function(h,z,B){return c.time.dateFormat(h,z,B)};""});K(E,"parts/SvgRenderer.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],
function(c,h){var z=h.attr,D=h.defined,G=h.erase,B=h.isArray,H=h.isNumber,F=h.isObject,A=h.isString,v=h.objectEach,p=h.pInt,u=h.splat,y=c.addEvent,l=c.animate,e=c.charts,a=c.color,b=c.css,f=c.createElement,d=c.deg2rad,g=c.destroyObjectProperties,n=c.doc,t=c.extend,q=c.hasTouch,k=c.isFirefox,m=c.isMS,w=c.isWebKit,C=c.merge,I=c.noop,x=c.pick,r=c.removeEvent,M=c.stop,L=c.svg,S=c.SVG_NS,Q=c.symbolSizes,R=c.win;var N=c.SVGElement=function(){return this};t(N.prototype,{opacity:1,SVG_NS:S,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
init:function(a,d){this.element="span"===d?f(d):n.createElementNS(this.SVG_NS,d);this.renderer=a;c.fireEvent(this,"afterInit")},animate:function(a,d,b){var J=c.animObject(x(d,this.renderer.globalAnimation,!0));x(n.hidden,n.msHidden,n.webkitHidden,!1)&&(J.duration=0);0!==J.duration?(b&&(J.complete=b),l(this,a,J)):(this.attr(a,void 0,b),v(a,function(a,d){J.step&&J.step.call(this,a,{prop:d,pos:1})},this));return this},complexColor:function(a,d,b){var J=this.renderer,f,x,r,e,m,g,P,n,w,q,k,L=[],t;c.fireEvent(this.renderer,
"complexColor",{args:arguments},function(){a.radialGradient?x="radialGradient":a.linearGradient&&(x="linearGradient");x&&(r=a[x],m=J.gradients,P=a.stops,q=b.radialReference,B(r)&&(a[x]=r={x1:r[0],y1:r[1],x2:r[2],y2:r[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===x&&q&&!D(r.gradientUnits)&&(e=r,r=C(r,J.getRadialAttr(q,e),{gradientUnits:"userSpaceOnUse"})),v(r,function(a,d){"id"!==d&&L.push(d,a)}),v(P,function(a){L.push(a)}),L=L.join(","),m[L]?k=m[L].attr("id"):(r.id=k=c.uniqueKey(),m[L]=g=
J.createElement(x).attr(r).add(J.defs),g.radAttr=e,g.stops=[],P.forEach(function(a){0===a[1].indexOf("rgba")?(f=c.color(a[1]),n=f.get("rgb"),w=f.get("a")):(n=a[1],w=1);a=J.createElement("stop").attr({offset:a[0],"stop-color":n,"stop-opacity":w}).add(g);g.stops.push(a)})),t="url("+J.url+"#"+k+")",b.setAttribute(d,t),b.gradient=L,a.toString=function(){return t})})},applyTextOutline:function(a){var d=this.element,b;-1!==a.indexOf("contrast")&&(a=a.replace(/contrast/g,this.renderer.getContrast(d.style.fill)));
a=a.split(" ");var f=a[a.length-1];if((b=a[0])&&"none"!==b&&c.svg){this.fakeTS=!0;a=[].slice.call(d.getElementsByTagName("tspan"));this.ySetter=this.xSetter;b=b.replace(/(^[\d\.]+)(.*?)$/g,function(a,d,b){return 2*d+b});this.removeTextOutline(a);var J=d.firstChild;a.forEach(function(a,x){0===x&&(a.setAttribute("x",d.getAttribute("x")),x=d.getAttribute("y"),a.setAttribute("y",x||0),null===x&&d.setAttribute("y",0));a=a.cloneNode(1);z(a,{"class":"highcharts-text-outline",fill:f,stroke:f,"stroke-width":b,
"stroke-linejoin":"round"});d.insertBefore(a,J)})}},removeTextOutline:function(a){for(var d=a.length,b;d--;)b=a[d],"highcharts-text-outline"===b.getAttribute("class")&&G(a,this.element.removeChild(b))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),attr:function(a,d,b,f){var x=this.element,J,r=this,e,m,g=this.symbolCustomAttribs;if("string"===typeof a&&void 0!==d){var n=a;a={};a[n]=d}"string"===typeof a?r=(this[a+"Getter"]||this._defaultGetter).call(this,
a,x):(v(a,function(d,b){e=!1;f||M(this,b);this.symbolName&&-1!==c.inArray(b,g)&&(J||(this.symbolAttr(a),J=!0),e=!0);!this.rotation||"x"!==b&&"y"!==b||(this.doTransform=!0);e||(m=this[b+"Setter"]||this._defaultSetter,m.call(this,d,b,x),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(b)&&this.updateShadows(b,d,m))},this),this.afterSetters());b&&b.call(this);return r},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,
d,b){for(var f=this.shadows,x=f.length;x--;)b.call(f[x],"height"===a?Math.max(d-(f[x].cutHeight||0),0):"d"===a?this.d:d,a,f[x])},addClass:function(a,d){var b=this.attr("class")||"";d||(a=(a||"").split(/ /g).reduce(function(a,d){-1===b.indexOf(d)&&a.push(d);return a},b?[b]:[]).join(" "));a!==b&&this.attr("class",a);return this},hasClass:function(a){return-1!==(this.attr("class")||"").split(" ").indexOf(a)},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var d=
this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(b){d[b]=x(a[b],d[b])});d.attr({d:d.renderer.symbols[d.symbolName](d.x,d.y,d.width,d.height,d)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,d){d=d||a.strokeWidth||0;var b=Math.round(d)%2/2;a.x=Math.floor(a.x||this.x||0)+b;a.y=Math.floor(a.y||this.y||0)+b;a.width=Math.floor((a.width||this.width||0)-2*b);a.height=Math.floor((a.height||
this.height||0)-2*b);D(a.strokeWidth)&&(a.strokeWidth=d);return a},css:function(a){var d=this.styles,f={},x=this.element,r="",c=!d,e=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);d&&v(a,function(a,b){a!==d[b]&&(f[b]=a,c=!0)});if(c){d&&(a=t(d,f));if(a)if(null===a.width||"auto"===a.width)delete this.textWidth;else if("text"===x.nodeName.toLowerCase()&&a.width)var J=this.textWidth=p(a.width);this.styles=a;J&&!L&&this.renderer.forExport&&delete a.width;if(x.namespaceURI===this.SVG_NS){var m=
function(a,d){return"-"+d.toLowerCase()};v(a,function(a,d){-1===e.indexOf(d)&&(r+=d.replace(/([A-Z])/g,m)+":"+a+";")});r&&z(x,"style",r)}else b(x,a);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},getStyle:function(a){return R.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var a=this.getStyle("stroke-width");
if(a.indexOf("px")===a.length-2)a=p(a);else{var d=n.createElementNS(S,"rect");z(d,{width:a,"stroke-width":0});this.element.parentNode.appendChild(d);a=d.getBBox().width;d.parentNode.removeChild(d)}return a},on:function(a,d){var b=this,f=b.element;q&&"click"===a?(f.ontouchstart=function(a){b.touchEventFired=Date.now();a.preventDefault();d.call(f,a)},f.onclick=function(a){(-1===R.navigator.userAgent.indexOf("Android")||1100<Date.now()-(b.touchEventFired||0))&&d.call(f,a)}):f["on"+a]=d;return this},
setRadialReference:function(a){var d=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;d&&d.radAttr&&d.animate(this.renderer.getRadialAttr(a,d.radAttr));return this},translate:function(a,d){return this.attr({translateX:a,translateY:d})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,d=this.translateY||0,b=this.scaleX,f=this.scaleY,r=this.inverted,c=this.rotation,e=this.matrix,m=this.element;r&&
(a+=this.width,d+=this.height);a=["translate("+a+","+d+")"];D(e)&&a.push("matrix("+e.join(",")+")");r?a.push("rotate(90) scale(-1,1)"):c&&a.push("rotate("+c+" "+x(this.rotationOriginX,m.getAttribute("x"),0)+" "+x(this.rotationOriginY,m.getAttribute("y")||0)+")");(D(b)||D(f))&&a.push("scale("+x(b,1)+" "+x(f,1)+")");a.length&&m.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,d,b){var f,r={};var c=this.renderer;var e=
c.alignedObjects;var m,g;if(a){if(this.alignOptions=a,this.alignByTranslate=d,!b||A(b))this.alignTo=f=b||"renderer",G(e,this),e.push(this),b=null}else a=this.alignOptions,d=this.alignByTranslate,f=this.alignTo;b=x(b,c[f],c);f=a.align;c=a.verticalAlign;e=(b.x||0)+(a.x||0);var J=(b.y||0)+(a.y||0);"right"===f?m=1:"center"===f&&(m=2);m&&(e+=(b.width-(a.width||0))/m);r[d?"translateX":"x"]=Math.round(e);"bottom"===c?g=1:"middle"===c&&(g=2);g&&(J+=(b.height-(a.height||0))/g);r[d?"translateY":"y"]=Math.round(J);
this[this.placed?"animate":"attr"](r);this.placed=!0;this.alignAttr=r;return this},getBBox:function(a,b){var f,r=this.renderer,c=this.element,e=this.styles,m=this.textStr,g,J=r.cache,n=r.cacheKeys,w=c.namespaceURI===this.SVG_NS;b=x(b,this.rotation);var C=b*d;var P=r.styledMode?c&&N.prototype.getStyle.call(c,"font-size"):e&&e.fontSize;if(D(m)){var q=m.toString();-1===q.indexOf("<")&&(q=q.replace(/[0-9]/g,"0"));q+=["",b||0,P,this.textWidth,e&&e.textOverflow].join()}q&&!a&&(f=J[q]);if(!f){if(w||r.forExport){try{(g=
this.fakeTS&&function(a){[].forEach.call(c.querySelectorAll(".highcharts-text-outline"),function(d){d.style.display=a})})&&g("none"),f=c.getBBox?t({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight},g&&g("")}catch(ba){""}if(!f||0>f.width)f={width:0,height:0}}else f=this.htmlGetBBox();r.isSVG&&(a=f.width,r=f.height,w&&(f.height=r={"11px,17":14,"13px,20":16}[e&&e.fontSize+","+Math.round(r)]||r),b&&(f.width=Math.abs(r*Math.sin(C))+Math.abs(a*Math.cos(C)),f.height=Math.abs(r*Math.cos(C))+Math.abs(a*
Math.sin(C))));if(q&&0<f.height){for(;250<n.length;)delete J[n.shift()];J[q]||n.push(q);J[q]=f}}return f},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(a){a?this.attr({y:-9999}):this.attr({visibility:"hidden"});return this},fadeOut:function(a){var d=this;d.animate({opacity:0},{duration:a||150,complete:function(){d.attr({y:-9999})}})},add:function(a){var d=this.renderer,b=this.element;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&
d.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)var f=this.zIndexSetter();f||(a?a.element:d.box).appendChild(b);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var d=a.parentNode;d&&d.removeChild(a)},destroy:function(){var a=this,d=a.element||{},b=a.renderer,f=b.isSVG&&"SPAN"===d.nodeName&&a.parentGroup,x=d.ownerSVGElement,r=a.clipPath;d.onclick=d.onmouseout=d.onmouseover=d.onmousemove=d.point=null;M(a);r&&x&&([].forEach.call(x.querySelectorAll("[clip-path],[CLIP-PATH]"),
function(a){-1<a.getAttribute("clip-path").indexOf(r.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=r.destroy());if(a.stops){for(x=0;x<a.stops.length;x++)a.stops[x]=a.stops[x].destroy();a.stops=null}a.safeRemoveChild(d);for(b.styledMode||a.destroyShadows();f&&f.div&&0===f.div.childNodes.length;)d=f.parentGroup,a.safeRemoveChild(f.div),delete f.div,f=d;a.alignTo&&G(b.alignedObjects,a);v(a,function(d,b){a[b]&&a[b].parentGroup===a&&a[b].destroy&&a[b].destroy();delete a[b]})},shadow:function(a,
d,b){var f=[],r,c=this.element;if(!a)this.destroyShadows();else if(!this.shadows){var e=x(a.width,3);var m=(a.opacity||.15)/e;var g=this.parentInverted?"(-1,-1)":"("+x(a.offsetX,1)+", "+x(a.offsetY,1)+")";for(r=1;r<=e;r++){var J=c.cloneNode(0);var n=2*e+1-2*r;z(J,{stroke:a.color||"#000000","stroke-opacity":m*r,"stroke-width":n,transform:"translate"+g,fill:"none"});J.setAttribute("class",(J.getAttribute("class")||"")+" highcharts-shadow");b&&(z(J,"height",Math.max(z(J,"height")-n,0)),J.cutHeight=n);
d?d.element.appendChild(J):c.parentNode&&c.parentNode.insertBefore(J,c);f.push(J)}this.shadows=f}return this},destroyShadows:function(){(this.shadows||[]).forEach(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=x(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,d,b){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[d]!==a&&(b.setAttribute(d,a),this[d]=a)},dashstyleSetter:function(a){var d,b=this["stroke-width"];"inherit"===b&&(b=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(d=a.length;d--;)a[d]=p(a[d])*
b;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){var d={left:"start",center:"middle",right:"end"};d[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",d[a]))},opacitySetter:function(a,d,b){this[d]=a;b.setAttribute(d,a)},titleSetter:function(a){var d=this.element.getElementsByTagName("title")[0];d||(d=n.createElementNS(this.SVG_NS,"title"),this.element.appendChild(d));d.firstChild&&d.removeChild(d.firstChild);d.appendChild(n.createTextNode(String(x(a,
"")).replace(/<[^>]*>/g,"").replace(/&lt;/g,"<").replace(/&gt;/g,">")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,delete this.textPxLength,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(a,d){var b=this.element,f={textAnchor:"text-anchor"},x=!1,r=this.textPathWrapper,e=!r;d=C(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},d);var m=d.attributes;if(a&&d&&d.enabled){this.options&&this.options.padding&&(m.dx=-this.options.padding);
r||(this.textPathWrapper=r=this.renderer.createElement("textPath"),x=!0);var g=r.element;(d=a.element.getAttribute("id"))||a.element.setAttribute("id",d=c.uniqueKey());if(e)for(a=b.getElementsByTagName("tspan");a.length;)a[0].setAttribute("y",0),g.appendChild(a[0]);x&&r.add({element:this.text?this.text.element:b});g.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+d);D(m.dy)&&(g.parentNode.setAttribute("dy",m.dy),delete m.dy);D(m.dx)&&(g.parentNode.setAttribute("dx",m.dx),
delete m.dx);v(m,function(a,d){g.setAttribute(f[d]||d,a)});b.removeAttribute("transform");this.removeTextOutline.call(r,[].slice.call(b.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=I}else r&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(b,a));return this},destroyTextPath:function(a,d){var b;d.element.setAttribute("id","");for(b=this.textPathWrapper.element.childNodes;b.length;)a.firstChild.appendChild(b[0]);
a.firstChild.removeChild(this.textPathWrapper.element);delete d.textPathWrapper},fillSetter:function(a,d,b){"string"===typeof a?b.setAttribute(d,a):a&&this.complexColor(a,d,b)},visibilitySetter:function(a,d,b){"inherit"===a?b.removeAttribute(d):this[d]!==a&&b.setAttribute(d,a);this[d]=a},zIndexSetter:function(a,d){var b=this.renderer,f=this.parentGroup,x=(f||b).element||b.box,r=this.element,c=!1;b=x===b.box;var e=this.added;var m;D(a)?(r.setAttribute("data-z-index",a),a=+a,this[d]===a&&(e=!1)):D(this[d])&&
r.removeAttribute("data-z-index");this[d]=a;if(e){(a=this.zIndex)&&f&&(f.handleZ=!0);d=x.childNodes;for(m=d.length-1;0<=m&&!c;m--){f=d[m];e=f.getAttribute("data-z-index");var g=!D(e);if(f!==r)if(0>a&&g&&!b&&!m)x.insertBefore(r,d[m]),c=!0;else if(p(e)<=a||g&&(!D(a)||0<=a))x.insertBefore(r,d[m+1]||null),c=!0}c||(x.insertBefore(r,d[b?3:0]||null),c=!0)}return c},_defaultSetter:function(a,d,b){b.setAttribute(d,a)}});N.prototype.yGetter=N.prototype.xGetter;N.prototype.translateXSetter=N.prototype.translateYSetter=
N.prototype.rotationSetter=N.prototype.verticalAlignSetter=N.prototype.rotationOriginXSetter=N.prototype.rotationOriginYSetter=N.prototype.scaleXSetter=N.prototype.scaleYSetter=N.prototype.matrixSetter=function(a,d){this[d]=a;this.doTransform=!0};N.prototype["stroke-widthSetter"]=N.prototype.strokeSetter=function(a,d,b){this[d]=a;this.stroke&&this["stroke-width"]?(N.prototype.fillSetter.call(this,this.stroke,"stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===
d&&0===a&&this.hasStroke?(b.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)};h=c.SVGRenderer=function(){this.init.apply(this,arguments)};t(h.prototype,{Element:N,SVG_NS:S,init:function(a,d,f,r,x,c,e){var m=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});e||m.css(this.getStyle(r));r=m.element;a.appendChild(r);z(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&
z(r,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=r;this.boxWrapper=m;this.alignedObjects=[];this.url=(k||w)&&n.getElementsByTagName("base").length?R.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(n.createTextNode("Created with Highcharts 7.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=c;this.forExport=x;this.styledMode=e;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=
0;this.setSize(d,f,!1);var g;k&&a.getBoundingClientRect&&(d=function(){b(a,{left:0,top:0});g=a.getBoundingClientRect();b(a,{left:Math.ceil(g.left)-g.left+"px",top:Math.ceil(g.top)-g.top+"px"})},d(),this.unSubPixelFix=y(R,"resize",d))},definition:function(a){function d(a,f){var r;u(a).forEach(function(a){var x=b.createElement(a.tagName),c={};v(a,function(a,d){"tagName"!==d&&"children"!==d&&"textContent"!==d&&(c[d]=a)});x.attr(c);x.add(f||b.defs);a.textContent&&x.element.appendChild(n.createTextNode(a.textContent));
d(a.children||[],x);r=x});return r}var b=this;return d(a)},getStyle:function(a){return this.style=t({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();g(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&
this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var d=new this.Element;d.init(this,a);return d},draw:I,getRadialAttr:function(a,d){return{cx:a[0]-a[2]/2+d.cx*a[2],cy:a[1]-a[2]/2+d.cy*a[2],r:d.r*a[2]}},truncate:function(a,d,b,f,r,x,c){var e=this,m=a.rotation,g,w=f?1:0,C=(b||f).length,J=C,q=[],L=function(a){d.firstChild&&d.removeChild(d.firstChild);a&&d.appendChild(n.createTextNode(a))},k=function(x,m){m=m||x;if(void 0===q[m])if(d.getSubStringLength)try{q[m]=r+d.getSubStringLength(0,
f?m+1:m)}catch(ca){""}else e.getSpanWidth&&(L(c(b||f,x)),q[m]=r+e.getSpanWidth(a,d));return q[m]},t;a.rotation=0;var M=k(d.textContent.length);if(t=r+M>x){for(;w<=C;)J=Math.ceil((w+C)/2),f&&(g=c(f,J)),M=k(J,g&&g.length-1),w===C?w=C+1:M>x?C=J-1:w=J;0===C?L(""):b&&C===b.length-1||L(g||c(b||f,J))}f&&f.splice(0,J);a.actualWidth=M;a.rotation=m;return t},escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},buildText:function(a){var d=a.element,f=this,r=f.forExport,c=x(a.textStr,"").toString(),
e=-1!==c.indexOf("<"),m=d.childNodes,g,w=z(d,"x"),C=a.styles,q=a.textWidth,J=C&&C.lineHeight,k=C&&C.textOutline,t=C&&"ellipsis"===C.textOverflow,M=C&&"nowrap"===C.whiteSpace,N=C&&C.fontSize,I,l=m.length;C=q&&!a.added&&this.box;var u=function(a){var b;f.styledMode||(b=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:N||f.style.fontSize||12);return J?p(J):f.fontMetrics(b,a.getAttribute("style")?a:d).h},y=function(a,d){v(f.escapes,function(b,f){d&&-1!==d.indexOf(b)||(a=a.toString().replace(new RegExp(b,
"g"),f))});return a},B=function(a,d){var b=a.indexOf("<");a=a.substring(b,a.indexOf(">")-b);b=a.indexOf(d+"=");if(-1!==b&&(b=b+d.length+1,d=a.charAt(b),'"'===d||"'"===d))return a=a.substring(b+1),a.substring(0,a.indexOf(d))},Q=/<br.*?>/g;var R=[c,t,M,J,k,N,q].join();if(R!==a.textCache){for(a.textCache=R;l--;)d.removeChild(m[l]);e||k||t||q||-1!==c.indexOf(" ")&&(!M||Q.test(c))?(C&&C.appendChild(d),e?(c=f.styledMode?c.replace(/<(b|strong)>/g,'<span class="highcharts-strong">').replace(/<(i|em)>/g,'<span class="highcharts-emphasized">'):
c.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">'),c=c.replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(Q)):c=[c],c=c.filter(function(a){return""!==a}),c.forEach(function(x,c){var e=0,m=0;x=x.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");var C=x.split("|||");C.forEach(function(x){if(""!==x||1===C.length){var J={},k=n.createElementNS(f.SVG_NS,"tspan"),P,l;(P=B(x,"class"))&&
z(k,"class",P);if(P=B(x,"style"))P=P.replace(/(;| |^)color([ :])/,"$1fill$2"),z(k,"style",P);(l=B(x,"href"))&&!r&&(z(k,"onclick",'location.href="'+l+'"'),z(k,"class","highcharts-anchor"),f.styledMode||b(k,{cursor:"pointer"}));x=y(x.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==x){k.appendChild(n.createTextNode(x));e?J.dx=0:c&&null!==w&&(J.x=w);z(k,J);d.appendChild(k);!e&&I&&(!L&&r&&b(k,{display:"block"}),z(k,"dy",u(k)));if(q){var p=x.replace(/([^\^])-/g,"$1- ").split(" ");J=!M&&(1<C.length||
c||1<p.length);l=0;var W=u(k);if(t)g=f.truncate(a,k,x,void 0,0,Math.max(0,q-parseInt(N||12,10)),function(a,d){return a.substring(0,d)+"\u2026"});else if(J)for(;p.length;)p.length&&!M&&0<l&&(k=n.createElementNS(S,"tspan"),z(k,{dy:W,x:w}),P&&z(k,"style",P),k.appendChild(n.createTextNode(p.join(" ").replace(/- /g,"-"))),d.appendChild(k)),f.truncate(a,k,null,p,0===l?m:0,q,function(a,d){return p.slice(0,d).join(" ").replace(/- /g,"-")}),m=a.actualWidth,l++}e++}}});I=I||d.childNodes.length}),t&&g&&a.attr("title",
y(a.textStr,["&lt;","&gt;"])),C&&C.removeChild(d),k&&a.applyTextOutline&&a.applyTextOutline(k)):d.appendChild(n.createTextNode(y(c)))}},getContrast:function(d){d=a(d).rgba;d[0]*=1;d[1]*=1.2;d[2]*=.5;return 459<d[0]+d[1]+d[2]?"#000000":"#FFFFFF"},button:function(a,d,b,f,x,r,c,e,g,n){var w=this.label(a,d,b,g,null,null,n,null,"button"),k=0,q=this.styledMode;w.attr(C({padding:8,r:2},x));if(!q){x=C({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},
x);var L=x.style;delete x.style;r=C(x,{fill:"#e6e6e6"},r);var J=r.style;delete r.style;c=C(x,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},c);var M=c.style;delete c.style;e=C(x,{style:{color:"#cccccc"}},e);var N=e.style;delete e.style}y(w.element,m?"mouseover":"mouseenter",function(){3!==k&&w.setState(1)});y(w.element,m?"mouseout":"mouseleave",function(){3!==k&&w.setState(k)});w.setState=function(a){1!==a&&(w.state=k=a);w.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
["normal","hover","pressed","disabled"][a||0]);q||w.attr([x,r,c,e][a||0]).css([L,J,M,N][a||0])};q||w.attr(x).css(t({cursor:"default"},L));return w.on("click",function(a){3!==k&&f.call(w,a)})},crispLine:function(a,d){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-d%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+d%2/2);return a},path:function(a){var d=this.styledMode?{}:{fill:"none"};B(a)?d.d=a:F(a)&&t(d,a);return this.createElement("path").attr(d)},circle:function(a,d,b){a=F(a)?a:void 0===a?{}:{x:a,y:d,r:b};
d=this.createElement("circle");d.xSetter=d.ySetter=function(a,d,b){b.setAttribute("c"+d,a)};return d.attr(a)},arc:function(a,d,b,f,x,r){F(a)?(f=a,d=f.y,b=f.r,a=f.x):f={innerR:f,start:x,end:r};a=this.symbol("arc",a,d,b,b,f);a.r=b;return a},rect:function(a,d,b,f,x,r){x=F(a)?a.r:x;var c=this.createElement("rect");a=F(a)?a:void 0===a?{}:{x:a,y:d,width:Math.max(b,0),height:Math.max(f,0)};this.styledMode||(void 0!==r&&(a.strokeWidth=r,a=c.crisp(a)),a.fill="none");x&&(a.r=x);c.rSetter=function(a,d,b){c.r=
a;z(b,{rx:a,ry:a})};c.rGetter=function(){return c.r};return c.attr(a)},setSize:function(a,d,b){var f=this.alignedObjects,r=f.length;this.width=a;this.height=d;for(this.boxWrapper.animate({width:a,height:d},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:x(b,!0)?void 0:0});r--;)f[r].align()},g:function(a){var d=this.createElement("g");return a?d.attr({"class":"highcharts-"+a}):d},image:function(a,d,b,f,x,r){var c={preserveAspectRatio:"none"},e=function(a,
d){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",d):a.setAttribute("hc-svg-href",d)},m=function(d){e(g.element,a);r.call(g,d)};1<arguments.length&&t(c,{x:d,y:b,width:f,height:x});var g=this.createElement("image").attr(c);r?(e(g.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),c=new R.Image,y(c,"load",m),c.src=a,c.complete&&m({})):e(g.element,a);return g},symbol:function(a,d,r,c,m,g){var w=this,C=/^url\((.*?)\)$/,k=C.test(a),q=!k&&(this.symbols[a]?
a:"circle"),L=q&&this.symbols[q],M=D(d)&&L&&L.call(this.symbols,Math.round(d),Math.round(r),c,m,g);if(L){var J=this.path(M);w.styledMode||J.attr("fill","none");t(J,{symbolName:q,x:d,y:r,width:c,height:m});g&&t(J,g)}else if(k){var N=a.match(C)[1];J=this.image(N);J.imgwidth=x(Q[N]&&Q[N].width,g&&g.width);J.imgheight=x(Q[N]&&Q[N].height,g&&g.height);var I=function(){J.attr({width:J.width,height:J.height})};["width","height"].forEach(function(a){J[a+"Setter"]=function(a,d){var b={},f=this["img"+d],x=
"width"===d?"translateX":"translateY";this[d]=a;D(f)&&(g&&"within"===g.backgroundSize&&this.width&&this.height&&(f=Math.round(f*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(d,f),this.alignByTranslate||(b[x]=((this[d]||0)-f)/2,this.attr(b)))}});D(d)&&J.attr({x:d,y:r});J.isImg=!0;D(J.imgwidth)&&D(J.imgheight)?I():(J.attr({width:0,height:0}),f("img",{onload:function(){var a=e[w.chartIndex];0===this.width&&(b(this,{position:"absolute",top:"-999em"}),
n.body.appendChild(this));Q[N]={width:this.width,height:this.height};J.imgwidth=this.width;J.imgheight=this.height;J.element&&I();this.parentNode&&this.parentNode.removeChild(this);w.imgCount--;if(!w.imgCount&&a&&a.onload)a.onload()},src:N}),this.imgCount++)}return J},symbols:{circle:function(a,d,b,f){return this.arc(a+b/2,d+f/2,b/2,f/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,d,b,f){return["M",a,d,"L",a+b,d,a+b,d+f,a,d+f,"Z"]},triangle:function(a,d,b,f){return["M",a+b/2,d,"L",
a+b,d+f,a,d+f,"Z"]},"triangle-down":function(a,d,b,f){return["M",a,d,"L",a+b,d,a+b/2,d+f,"Z"]},diamond:function(a,d,b,f){return["M",a+b/2,d,"L",a+b,d+f/2,a+b/2,d+f,a,d+f/2,"Z"]},arc:function(a,d,b,f,r){var c=r.start,e=r.r||b,m=r.r||f||b,g=r.end-.001;b=r.innerR;f=x(r.open,.001>Math.abs(r.end-r.start-2*Math.PI));var w=Math.cos(c),n=Math.sin(c),C=Math.cos(g);g=Math.sin(g);c=.001>r.end-c-Math.PI?0:1;r=["M",a+e*w,d+m*n,"A",e,m,0,c,x(r.clockwise,1),a+e*C,d+m*g];D(b)&&r.push(f?"M":"L",a+b*C,d+b*g,"A",b,
b,0,c,0,a+b*w,d+b*n);r.push(f?"":"Z");return r},callout:function(a,d,b,f,r){var x=Math.min(r&&r.r||0,b,f),c=x+6,e=r&&r.anchorX;r=r&&r.anchorY;var m=["M",a+x,d,"L",a+b-x,d,"C",a+b,d,a+b,d,a+b,d+x,"L",a+b,d+f-x,"C",a+b,d+f,a+b,d+f,a+b-x,d+f,"L",a+x,d+f,"C",a,d+f,a,d+f,a,d+f-x,"L",a,d+x,"C",a,d,a,d,a+x,d];e&&e>b?r>d+c&&r<d+f-c?m.splice(13,3,"L",a+b,r-6,a+b+6,r,a+b,r+6,a+b,d+f-x):m.splice(13,3,"L",a+b,f/2,e,r,a+b,f/2,a+b,d+f-x):e&&0>e?r>d+c&&r<d+f-c?m.splice(33,3,"L",a,r+6,a-6,r,a,r-6,a,d+x):m.splice(33,
3,"L",a,f/2,e,r,a,f/2,a,d+x):r&&r>f&&e>a+c&&e<a+b-c?m.splice(23,3,"L",e+6,d+f,e,d+f+6,e-6,d+f,a+x,d+f):r&&0>r&&e>a+c&&e<a+b-c&&m.splice(3,3,"L",e-6,d,e,d-6,e+6,d,b-x,d);return m}},clipRect:function(a,d,b,f){var r=c.uniqueKey()+"-",x=this.createElement("clipPath").attr({id:r}).add(this.defs);a=this.rect(a,d,b,f,0).add(x);a.id=r;a.clipPath=x;a.count=0;return a},text:function(a,d,b,f){var r={};if(f&&(this.allowHTML||!this.forExport))return this.html(a,d,b);r.x=Math.round(d||0);b&&(r.y=Math.round(b));
D(a)&&(r.text=a);a=this.createElement("text").attr(r);f||(a.xSetter=function(a,d,b){var f=b.getElementsByTagName("tspan"),r=b.getAttribute(d),x;for(x=0;x<f.length;x++){var c=f[x];c.getAttribute(d)===r&&c.setAttribute(d,a)}b.setAttribute(d,a)});return a},fontMetrics:function(a,d){a=!this.styledMode&&/px/.test(a)||!R.getComputedStyle?a||d&&d.style&&d.style.fontSize||this.style&&this.style.fontSize:d&&N.prototype.getStyle.call(d,"font-size");a=/px/.test(a)?p(a):12;d=24>a?a+3:Math.round(1.2*a);return{h:d,
b:Math.round(.8*d),f:a}},rotCorr:function(a,b,f){var r=a;b&&f&&(r=Math.max(r*Math.cos(b*d),4));return{x:-a/3*Math.sin(b*d),y:r}},label:function(a,d,b,f,x,c,e,m,g){var w=this,n=w.styledMode,k=w.g("button"!==g&&"label"),q=k.text=w.text("",0,0,e).attr({zIndex:1}),L,M,I=0,l=3,J=0,u,p,S,P,y,B={},Q,v,W=/^url\((.*?)\)$/.test(f),R=n||W,h=function(){return n?L.strokeWidth()%2/2:(Q?parseInt(Q,10):0)%2/2};g&&k.addClass("highcharts-"+g);var A=function(){var a=q.element.style,d={};M=(void 0===u||void 0===p||y)&&
D(q.textStr)&&q.getBBox();k.width=(u||M.width||0)+2*l+J;k.height=(p||M.height||0)+2*l;v=l+Math.min(w.fontMetrics(a&&a.fontSize,q).b,M?M.height:Infinity);R&&(L||(k.box=L=w.symbols[f]||W?w.symbol(f):w.rect(),L.addClass(("button"===g?"":"highcharts-label-box")+(g?" highcharts-"+g+"-box":"")),L.add(k),a=h(),d.x=a,d.y=(m?-v:0)+a),d.width=Math.round(k.width),d.height=Math.round(k.height),L.attr(t(d,B)),B={})};var z=function(){var a=J+l;var d=m?0:v;D(u)&&M&&("center"===y||"right"===y)&&(a+={center:.5,right:1}[y]*
(u-M.width));if(a!==q.x||d!==q.y)q.attr("x",a),q.hasBoxWidthChanged&&(M=q.getBBox(!0),A()),void 0!==d&&q.attr("y",d);q.x=a;q.y=d};var G=function(a,d){L?L.attr(a,d):B[a]=d};k.onAdd=function(){q.add(k);k.attr({text:a||0===a?a:"",x:d,y:b});L&&D(x)&&k.attr({anchorX:x,anchorY:c})};k.widthSetter=function(a){u=H(a)?a:null};k.heightSetter=function(a){p=a};k["text-alignSetter"]=function(a){y=a};k.paddingSetter=function(a){D(a)&&a!==l&&(l=k.padding=a,z())};k.paddingLeftSetter=function(a){D(a)&&a!==J&&(J=a,
z())};k.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==I&&(I=a,M&&k.attr({x:S}))};k.textSetter=function(a){void 0!==a&&q.attr({text:a});A();z()};k["stroke-widthSetter"]=function(a,d){a&&(R=!0);Q=this["stroke-width"]=a;G(d,a)};n?k.rSetter=function(a,d){G(d,a)}:k.strokeSetter=k.fillSetter=k.rSetter=function(a,d){"r"!==d&&("fill"===d&&a&&(R=!0),k[d]=a);G(d,a)};k.anchorXSetter=function(a,d){x=k.anchorX=a;G(d,Math.round(a)-h()-S)};k.anchorYSetter=function(a,d){c=k.anchorY=a;G(d,a-P)};k.xSetter=
function(a){k.x=a;I&&(a-=I*((u||M.width)+2*l),k["forceAnimate:x"]=!0);S=Math.round(a);k.attr("translateX",S)};k.ySetter=function(a){P=k.y=Math.round(a);k.attr("translateY",P)};var U=k.css;e={css:function(a){if(a){var d={};a=C(a);k.textProps.forEach(function(b){void 0!==a[b]&&(d[b]=a[b],delete a[b])});q.css(d);"width"in d&&A();"fontSize"in d&&(A(),z())}return U.call(k,a)},getBBox:function(){return{width:M.width+2*l,height:M.height+2*l,x:M.x-l,y:M.y-l}},destroy:function(){r(k.element,"mouseenter");
r(k.element,"mouseleave");q&&(q=q.destroy());L&&(L=L.destroy());N.prototype.destroy.call(k);k=w=A=z=G=null}};n||(e.shadow=function(a){a&&(A(),L&&L.shadow(a));return k});return t(k,e)}});c.Renderer=h});K(E,"parts/Html.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.attr,D=h.defined,G=h.pInt,B=c.createElement,H=c.css,F=c.extend,A=c.isFirefox,v=c.isMS,p=c.isWebKit,u=c.pick,y=c.SVGElement;h=c.SVGRenderer;var l=c.win;F(y.prototype,{htmlCss:function(c){var a="SPAN"===this.element.tagName&&
c&&"width"in c,b=u(a&&c.width,void 0);if(a){delete c.width;this.textWidth=b;var f=!0}c&&"ellipsis"===c.textOverflow&&(c.whiteSpace="nowrap",c.overflow="hidden");this.styles=F(this.styles,c);H(this.element,c);f&&this.htmlUpdateTransform();return this},htmlGetBBox:function(){var c=this.element;return{x:c.offsetLeft,y:c.offsetTop,width:c.offsetWidth,height:c.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var c=this.renderer,a=this.element,b=this.translateX||0,f=this.translateY||0,d=this.x||
0,g=this.y||0,n=this.textAlign||"left",t={left:0,center:.5,right:1}[n],q=this.styles,k=q&&q.whiteSpace;H(a,{marginLeft:b,marginTop:f});!c.styledMode&&this.shadows&&this.shadows.forEach(function(a){H(a,{marginLeft:b+1,marginTop:f+1})});this.inverted&&[].forEach.call(a.childNodes,function(d){c.invertChild(d,a)});if("SPAN"===a.tagName){q=this.rotation;var m=this.textWidth&&G(this.textWidth),w=[q,n,a.innerHTML,this.textWidth,this.textAlign].join(),C;(C=m!==this.oldTextWidth)&&!(C=m>this.oldTextWidth)&&
((C=this.textPxLength)||(H(a,{width:"",whiteSpace:k||"nowrap"}),C=a.offsetWidth),C=C>m);C&&(/[ \-]/.test(a.textContent||a.innerText)||"ellipsis"===a.style.textOverflow)?(H(a,{width:m+"px",display:"block",whiteSpace:k||"normal"}),this.oldTextWidth=m,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;w!==this.cTT&&(k=c.fontMetrics(a.style.fontSize,a).b,!D(q)||q===(this.oldRotation||0)&&n===this.oldAlign||this.setSpanRotation(q,t,k),this.getSpanCorrection(!D(q)&&this.textPxLength||a.offsetWidth,
k,t,q,n));H(a,{left:d+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"});this.cTT=w;this.oldRotation=q;this.oldAlign=n}}else this.alignOnAdd=!0},setSpanRotation:function(c,a,b){var f={},d=this.renderer.getTransformKey();f[d]=f.transform="rotate("+c+"deg)";f[d+(A?"Origin":"-origin")]=f.transformOrigin=100*a+"% "+b+"px";H(this.element,f)},getSpanCorrection:function(c,a,b){this.xCorr=-c*b;this.yCorr=-a}});F(h.prototype,{getTransformKey:function(){return v&&!/Edge/.test(l.navigator.userAgent)?"-ms-transform":
p?"-webkit-transform":A?"MozTransform":l.opera?"-o-transform":""},html:function(c,a,b){var f=this.createElement("span"),d=f.element,e=f.renderer,n=e.isSVG,t=function(a,d){["opacity","visibility"].forEach(function(b){a[b+"Setter"]=function(f,c,e){var x=a.div?a.div.style:d;y.prototype[b+"Setter"].call(this,f,c,e);x&&(x[c]=f)}});a.addedSetters=!0};f.textSetter=function(a){a!==d.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;d.innerHTML=u(a,"");f.doTransform=!0};n&&t(f,f.element.style);
f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(a,d){"align"===d&&(d="textAlign");f[d]=a;f.doTransform=!0};f.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};f.attr({text:c,x:Math.round(a),y:Math.round(b)}).css({position:"absolute"});e.styledMode||f.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});d.style.whiteSpace="nowrap";f.css=f.htmlCss;n&&(f.add=function(a){var b=e.box.parentNode,c=[];if(this.parentGroup=a){var g=a.div;
if(!g){for(;a;)c.push(a),a=a.parentGroup;c.reverse().forEach(function(a){function d(d,b){a[b]=d;"translateX"===b?r.left=d+"px":r.top=d+"px";a.doTransform=!0}var x=z(a.element,"class");g=a.div=a.div||B("div",x?{className:x}:void 0,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},g||b);var r=g.style;F(a,{classSetter:function(a){return function(d){this.element.setAttribute("class",d);a.className=
d}}(g),on:function(){c[0].div&&f.on.apply({element:c[0].div},arguments);return a},translateXSetter:d,translateYSetter:d});a.addedSetters||t(a)})}}else g=b;g.appendChild(d);f.added=!0;f.alignOnAdd&&f.htmlUpdateTransform();return f});return f}})});K(E,"parts/Tick.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.isNumber,G=c.correctFloat,B=c.destroyObjectProperties,H=c.fireEvent,F=c.merge,A=c.pick,v=c.deg2rad;c.Tick=function(c,u,y,l,e){this.axis=c;this.pos=u;this.type=
y||"";this.isNewLabel=this.isNew=!0;this.parameters=e||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;y||l||this.addLabel()};c.Tick.prototype={addLabel:function(){var p=this,u=p.axis,y=u.options,l=u.chart,e=u.categories,a=u.names,b=p.pos,f=A(p.options&&p.options.labels,y.labels),d=u.tickPositions,g=b===d[0],n=b===d[d.length-1];e=this.parameters.category||(e?A(e[b],a[b],b):b);var t=p.label;d=d.info;var q,k;if(u.isDatetimeAxis&&d){var m=l.time.resolveDTLFormat(y.dateTimeLabelFormats[!y.grid&&
d.higherRanks[b]||d.unitName]);var w=m.main}p.isFirst=g;p.isLast=n;p.formatCtx={axis:u,chart:l,isFirst:g,isLast:n,dateTimeLabelFormat:w,tickPositionInfo:d,value:u.isLog?G(u.lin2log(e)):e,pos:b};y=u.labelFormatter.call(p.formatCtx,this.formatCtx);if(k=m&&m.list)p.shortenLabel=function(){for(q=0;q<k.length;q++)if(t.attr({text:u.labelFormatter.call(c.extend(p.formatCtx,{dateTimeLabelFormat:k[q]}))}),t.getBBox().width<u.getSlotWidth(p)-2*A(f.padding,5))return;t.attr({text:""})};if(z(t))t&&t.textStr!==
y&&(!t.textWidth||f.style&&f.style.width||t.styles.width||t.css({width:null}),t.attr({text:y}),t.textPxLength=t.getBBox().width);else{if(p.label=t=z(y)&&f.enabled?l.renderer.text(y,0,0,f.useHTML).add(u.labelGroup):null)l.styledMode||t.css(F(f.style)),t.textPxLength=t.getBBox().width;p.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(c){var u=this.axis,p=u.options.labels,l=c.x,e=u.chart.chartWidth,a=u.chart.spacing,
b=A(u.labelLeft,Math.min(u.pos,a[3]));a=A(u.labelRight,Math.max(u.isRadial?0:u.pos+u.len,e-a[1]));var f=this.label,d=this.rotation,g={left:0,center:.5,right:1}[u.labelAlign||f.attr("align")],n=f.getBBox().width,t=u.getSlotWidth(this),q=t,k=1,m,w={};if(d||"justify"!==A(p.overflow,"justify"))0>d&&l-g*n<b?m=Math.round(l/Math.cos(d*v)-b):0<d&&l+g*n>a&&(m=Math.round((e-l)/Math.cos(d*v)));else if(e=l+(1-g)*n,l-g*n<b?q=c.x+q*(1-g)-b:e>a&&(q=a-c.x+q*g,k=-1),q=Math.min(t,q),q<t&&"center"===u.labelAlign&&(c.x+=
k*(t-q-g*(t-Math.min(n,q)))),n>q||u.autoRotation&&(f.styles||{}).width)m=q;m&&(this.shortenLabel?this.shortenLabel():(w.width=Math.floor(m),(p.style||{}).textOverflow||(w.textOverflow="ellipsis"),f.css(w)))},getPosition:function(p,u,y,l){var e=this.axis,a=e.chart,b=l&&a.oldChartHeight||a.chartHeight;p={x:p?c.correctFloat(e.translate(u+y,null,null,l)+e.transB):e.left+e.offset+(e.opposite?(l&&a.oldChartWidth||a.chartWidth)-e.right-e.left:0),y:p?b-e.bottom+e.offset-(e.opposite?e.height:0):c.correctFloat(b-
e.translate(u+y,null,null,l)-e.transB)};p.y=Math.max(Math.min(p.y,1E5),-1E5);H(this,"afterGetPosition",{pos:p});return p},getLabelPosition:function(c,u,y,l,e,a,b,f){var d=this.axis,g=d.transA,n=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,t=d.staggerLines,q=d.tickRotCorr||{x:0,y:0},k=e.y,m=l||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),w={};z(k)||(k=0===d.side?y.rotation?-8:-y.getBBox().height:2===d.side?q.y+8:Math.cos(y.rotation*v)*(q.y-y.getBBox(!1,0).height/
2));c=c+e.x+m+q.x-(a&&l?a*g*(n?-1:1):0);u=u+k-(a&&!l?a*g*(n?1:-1):0);t&&(y=b/(f||1)%t,d.opposite&&(y=t-y-1),u+=d.labelOffset/t*y);w.x=c;w.y=Math.round(u);H(this,"afterGetLabelPosition",{pos:w,tickmarkOffset:a,index:b});return w},getMarkPath:function(c,u,y,l,e,a){return a.crispLine(["M",c,u,"L",c+(e?0:-y),u+(e?y:0)],l)},renderGridLine:function(c,u,y){var l=this.axis,e=l.options,a=this.gridLine,b={},f=this.pos,d=this.type,g=A(this.tickmarkOffset,l.tickmarkOffset),n=l.chart.renderer,t=d?d+"Grid":"grid",
q=e[t+"LineWidth"],k=e[t+"LineColor"];e=e[t+"LineDashStyle"];a||(l.chart.styledMode||(b.stroke=k,b["stroke-width"]=q,e&&(b.dashstyle=e)),d||(b.zIndex=1),c&&(u=0),this.gridLine=a=n.path().attr(b).addClass("highcharts-"+(d?d+"-":"")+"grid-line").add(l.gridGroup));if(a&&(y=l.getPlotLinePath({value:f+g,lineWidth:a.strokeWidth()*y,force:"pass",old:c})))a[c||this.isNew?"attr":"animate"]({d:y,opacity:u})},renderMark:function(c,u,y){var l=this.axis,e=l.options,a=l.chart.renderer,b=this.type,f=b?b+"Tick":
"tick",d=l.tickSize(f),g=this.mark,n=!g,t=c.x;c=c.y;var q=A(e[f+"Width"],!b&&l.isXAxis?1:0);e=e[f+"Color"];d&&(l.opposite&&(d[0]=-d[0]),n&&(this.mark=g=a.path().addClass("highcharts-"+(b?b+"-":"")+"tick").add(l.axisGroup),l.chart.styledMode||g.attr({stroke:e,"stroke-width":q})),g[n?"attr":"animate"]({d:this.getMarkPath(t,c,d[0],g.strokeWidth()*y,l.horiz,a),opacity:u}))},renderLabel:function(c,u,y,l){var e=this.axis,a=e.horiz,b=e.options,f=this.label,d=b.labels,g=d.step;e=A(this.tickmarkOffset,e.tickmarkOffset);
var n=!0,t=c.x;c=c.y;f&&D(t)&&(f.xy=c=this.getLabelPosition(t,c,f,a,d,e,l,g),this.isFirst&&!this.isLast&&!A(b.showFirstLabel,1)||this.isLast&&!this.isFirst&&!A(b.showLastLabel,1)?n=!1:!a||d.step||d.rotation||u||0===y||this.handleOverflow(c),g&&l%g&&(n=!1),n&&D(c.y)?(c.opacity=y,f[this.isNewLabel?"attr":"animate"](c),this.isNewLabel=!1):(f.attr("y",-9999),this.isNewLabel=!0))},render:function(p,u,y){var l=this.axis,e=l.horiz,a=this.pos,b=A(this.tickmarkOffset,l.tickmarkOffset);a=this.getPosition(e,
a,b,u);b=a.x;var f=a.y;l=e&&b===l.pos+l.len||!e&&f===l.pos?-1:1;y=A(y,1);this.isActive=!0;this.renderGridLine(u,y,l);this.renderMark(a,y,l);this.renderLabel(a,u,y,p);this.isNew=!1;c.fireEvent(this,"afterRender")},destroy:function(){B(this,this.axis)}}});K(E,"parts/Axis.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.isArray,G=h.isNumber,B=h.isString,H=h.objectEach,F=h.splat,A=c.addEvent,v=c.animObject,p=c.arrayMax,u=c.arrayMin,y=c.color,l=c.correctFloat,e=c.defaultOptions,
a=c.deg2rad,b=c.destroyObjectProperties,f=c.extend,d=c.fireEvent,g=c.format,n=c.getMagnitude,t=c.merge,q=c.normalizeTickInterval,k=c.pick,m=c.removeEvent,w=c.seriesTypes,C=c.syncTimeout,I=c.Tick;h=function(){this.init.apply(this,arguments)};c.extend(h.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,showEmpty:!0,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,crop:!0,overflow:"justify",formatter:function(){return c.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},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},init:function(a,b){var f=b.isX,r=this;r.chart=a;r.horiz=a.inverted&&!r.isZAxis?!f:f;r.isXAxis=f;r.coll=r.coll||(f?"xAxis":"yAxis");d(this,"init",{userOptions:b});r.opposite=b.opposite;r.side=b.side||(r.horiz?r.opposite?0:2:r.opposite?1:3);r.setOptions(b);var x=this.options,e=x.type;r.labelFormatter=x.labels.formatter||
r.defaultLabelFormatter;r.userOptions=b;r.minPixelPadding=0;r.reversed=x.reversed;r.visible=!1!==x.visible;r.zoomEnabled=!1!==x.zoomEnabled;r.hasNames="category"===e||!0===x.categories;r.categories=x.categories||r.hasNames;r.names||(r.names=[],r.names.keys={});r.plotLinesAndBandsGroups={};r.isLog="logarithmic"===e;r.isDatetimeAxis="datetime"===e;r.positiveValuesOnly=r.isLog&&!r.allowNegativeLog;r.isLinked=z(x.linkedTo);r.ticks={};r.labelEdge=[];r.minorTicks={};r.plotLinesAndBands=[];r.alternateBands=
{};r.len=0;r.minRange=r.userMinRange=x.minRange||x.maxZoom;r.range=x.range;r.offset=x.offset||0;r.stacks={};r.oldStacks={};r.stacksTouched=0;r.max=null;r.min=null;r.crosshair=k(x.crosshair,F(a.options.tooltip.crosshairs)[f?0:1],!1);b=r.options.events;-1===a.axes.indexOf(r)&&(f?a.axes.splice(a.xAxis.length,0,r):a.axes.push(r),a[r.coll].push(r));r.series=r.series||[];a.inverted&&!r.isZAxis&&f&&void 0===r.reversed&&(r.reversed=!0);H(b,function(a,d){c.isFunction(a)&&A(r,d,a)});r.lin2log=x.linearToLogConverter||
r.lin2log;r.isLog&&(r.val2lin=r.log2lin,r.lin2val=r.lin2log);d(this,"afterInit")},setOptions:function(a){this.options=t(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],t(e[this.coll],a));d(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var a=this.axis,d=this.value,b=a.chart.time,f=a.categories,m=this.dateTimeLabelFormat,w=e.lang,
n=w.numericSymbols;w=w.numericSymbolMagnitude||1E3;var k=n&&n.length,C=a.options.labels.format;a=a.isLog?Math.abs(d):a.tickInterval;if(C)var q=g(C,this,b);else if(f)q=d;else if(m)q=b.dateFormat(m,d);else if(k&&1E3<=a)for(;k--&&void 0===q;)b=Math.pow(w,k+1),a>=b&&0===10*d%b&&null!==n[k]&&0!==d&&(q=c.numberFormat(d/b,-1)+n[k]);void 0===q&&(q=1E4<=Math.abs(d)?c.numberFormat(d,-1):c.numberFormat(d,-1,void 0,""));return q},getSeriesExtremes:function(){var a=this,b=a.chart,f;d(this,"getSeriesExtremes",
null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();a.series.forEach(function(d){if(d.visible||!b.options.chart.ignoreHiddenSeries){var r=d.options,c=r.threshold;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=c&&(c=null);if(a.isXAxis){if(r=d.xData,r.length){f=d.getXExtremes(r);var x=f.min;var e=f.max;G(x)||x instanceof Date||(r=r.filter(G),f=d.getXExtremes(r),x=f.min,e=f.max);r.length&&(a.dataMin=Math.min(k(a.dataMin,
x),x),a.dataMax=Math.max(k(a.dataMax,e),e))}}else if(d.getExtremes(),e=d.dataMax,x=d.dataMin,z(x)&&z(e)&&(a.dataMin=Math.min(k(a.dataMin,x),x),a.dataMax=Math.max(k(a.dataMax,e),e)),z(c)&&(a.threshold=c),!r.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});d(this,"afterGetSeriesExtremes")},translate:function(a,d,b,f,c,e){var r=this.linkedParent||this,x=1,m=0,g=f?r.oldTransA:r.transA;f=f?r.oldMin:r.min;var w=r.minPixelPadding;c=(r.isOrdinal||r.isBroken||r.isLog&&c)&&r.lin2val;g||(g=r.transA);
b&&(x*=-1,m=r.len);r.reversed&&(x*=-1,m-=x*(r.sector||r.len));d?(a=(a*x+m-w)/g+f,c&&(a=r.lin2val(a))):(c&&(a=r.val2lin(a)),a=G(f)?x*(a-f)*g+m+x*w+(G(e)?g*e:0):void 0);return a},toPixels:function(a,d){return this.translate(a,!1,!this.horiz,null,!0)+(d?0:this.pos)},toValue:function(a,d){return this.translate(a-(d?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a){var b=this,f=b.chart,c=b.left,x=b.top,e=a.old,m=a.value,g=a.translatedValue,w=a.lineWidth,n=a.force,C,q,t,I,l=e&&f.oldChartHeight||
f.chartHeight,u=e&&f.oldChartWidth||f.chartWidth,p,y=b.transB,B=function(a,d,b){if("pass"!==n&&a<d||a>b)n?a=Math.min(Math.max(d,a),b):p=!0;return a};a={value:m,lineWidth:w,old:e,force:n,acrossPanes:a.acrossPanes,translatedValue:g};d(this,"getPlotLinePath",a,function(a){g=k(g,b.translate(m,null,null,e));g=Math.min(Math.max(-1E5,g),1E5);C=t=Math.round(g+y);q=I=Math.round(l-g-y);G(g)?b.horiz?(q=x,I=l-b.bottom,C=t=B(C,c,c+b.width)):(C=c,t=u-b.right,q=I=B(q,x,x+b.height)):(p=!0,n=!1);a.path=p&&!n?null:
f.renderer.crispLine(["M",C,q,"L",t,I],w||1)});return a.path},getLinearTickPositions:function(a,d,b){var f=l(Math.floor(d/a)*a);b=l(Math.ceil(b/a)*a);var r=[],c;l(f+a)===f&&(c=20);if(this.single)return[d];for(d=f;d<=b;){r.push(d);d=l(d+a,c);if(d===x)break;var x=d}return r},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?k(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,d=a.options,b=a.tickPositions,f=a.minorTickInterval,
c=[],e=a.pointRangePadding||0,g=a.min-e;e=a.max+e;var m=e-g;if(m&&m/f<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(d,b,r){b&&c.push.apply(c,a.getLogTickPositions(f,r[b-1],r[b],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())c=c.concat(a.getTimeTicks(a.normalizeTimeTickInterval(f),g,e,d.startOfWeek));else for(d=g+(b[0]-g)%f;d<=e&&d!==c[0];d+=f)c.push(d);0!==c.length&&a.trimTicks(c);return c},adjustForMinRange:function(){var a=this.options,d=this.min,b=this.max,f,c,e,g,
m;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(z(a.min)||z(a.max)?this.minRange=null:(this.series.forEach(function(a){g=a.xData;for(c=m=a.xIncrement?1:g.length-1;0<c;c--)if(e=g[c]-g[c-1],void 0===f||e<f)f=e}),this.minRange=Math.min(5*f,this.dataMax-this.dataMin)));if(b-d<this.minRange){var w=this.dataMax-this.dataMin>=this.minRange;var n=this.minRange;var C=(n-b+d)/2;C=[d-C,k(a.min,d-C)];w&&(C[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin);d=p(C);b=[d+n,k(a.max,d+n)];w&&(b[2]=this.isLog?
this.log2lin(this.dataMax):this.dataMax);b=u(b);b-d<n&&(C[0]=b-n,C[1]=k(a.min,b-n),d=p(C))}this.min=d;this.max=b},getClosest:function(){var a;this.categories?a=1:this.series.forEach(function(d){var b=d.closestPointRange,f=d.visible||!d.chart.options.chart.ignoreHiddenSeries;!d.noSharedTooltip&&z(b)&&f&&(a=z(a)?Math.min(a,b):b)});return a},nameToX:function(a){var d=D(this.categories),b=d?this.categories:this.names,f=a.options.x;a.series.requireSorting=!1;z(f)||(f=!1===this.options.uniqueNames?a.series.autoIncrement():
d?b.indexOf(a.name):k(b.keys[a.name],-1));if(-1===f){if(!d)var c=b.length}else c=f;void 0!==c&&(this.names[c]=a.name,this.names.keys[a.name]=c);return c},updateNames:function(){var a=this,d=this.names;0<d.length&&(Object.keys(d.keys).forEach(function(a){delete d.keys[a]}),d.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(d){d.xIncrement=null;if(!d.points||d.isDirtyData)a.max=Math.max(a.max,d.xData.length-1),d.processData(),d.generatePoints();d.data.forEach(function(b,f){if(b&&
b.options&&void 0!==b.name){var c=a.nameToX(b);void 0!==c&&c!==b.x&&(b.x=c,d.xData[f]=c)}})}))},setAxisTranslation:function(a){var b=this,f=b.max-b.min,c=b.axisPointRange||0,e=0,x=0,g=b.linkedParent,m=!!b.categories,n=b.transA,C=b.isXAxis;if(C||m||c){var q=b.getClosest();g?(e=g.minPointOffset,x=g.pointRangePadding):b.series.forEach(function(a){var d=m?1:C?k(a.options.pointRange,q,0):b.axisPointRange||0,f=a.options.pointPlacement;c=Math.max(c,d);if(!b.single||m)a=w.xrange&&a instanceof w.xrange?!C:
C,e=Math.max(e,a&&B(f)?0:d/2),x=Math.max(x,a&&"on"===f?0:d)});g=b.ordinalSlope&&q?b.ordinalSlope/q:1;b.minPointOffset=e*=g;b.pointRangePadding=x*=g;b.pointRange=Math.min(c,f);C&&(b.closestPointRange=q)}a&&(b.oldTransA=n);b.translationSlope=b.transA=n=b.staticScale||b.len/(f+x||1);b.transB=b.horiz?b.left:b.bottom;b.minPixelPadding=n*e;d(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(a){var b=this,f=b.chart,e=b.options,x=b.isLog,g=b.isDatetimeAxis,
m=b.isXAxis,w=b.isLinked,C=e.maxPadding,t=e.minPadding,I=e.tickInterval,u=e.tickPixelInterval,p=b.categories,y=G(b.threshold)?b.threshold:null,B=b.softThreshold;g||p||w||this.getTickAmount();var v=k(b.userMin,e.min);var h=k(b.userMax,e.max);if(w){b.linkedParent=f[b.coll][e.linkedTo];var A=b.linkedParent.getExtremes();b.min=k(A.min,A.dataMin);b.max=k(A.max,A.dataMax);e.type!==b.linkedParent.options.type&&c.error(11,1,f)}else{if(!B&&z(y))if(b.dataMin>=y)A=y,t=0;else if(b.dataMax<=y){var H=y;C=0}b.min=
k(v,A,b.dataMin);b.max=k(h,H,b.dataMax)}x&&(b.positiveValuesOnly&&!a&&0>=Math.min(b.min,k(b.dataMin,b.min))&&c.error(10,1,f),b.min=l(b.log2lin(b.min),15),b.max=l(b.log2lin(b.max),15));b.range&&z(b.max)&&(b.userMin=b.min=v=Math.max(b.dataMin,b.minFromRange()),b.userMax=h=b.max,b.range=null);d(b,"foundExtremes");b.beforePadding&&b.beforePadding();b.adjustForMinRange();!(p||b.axisPointRange||b.usePercentage||w)&&z(b.min)&&z(b.max)&&(f=b.max-b.min)&&(!z(v)&&t&&(b.min-=f*t),!z(h)&&C&&(b.max+=f*C));G(e.softMin)&&
!G(b.userMin)&&e.softMin<b.min&&(b.min=v=e.softMin);G(e.softMax)&&!G(b.userMax)&&e.softMax>b.max&&(b.max=h=e.softMax);G(e.floor)&&(b.min=Math.min(Math.max(b.min,e.floor),Number.MAX_VALUE));G(e.ceiling)&&(b.max=Math.max(Math.min(b.max,e.ceiling),k(b.userMax,-Number.MAX_VALUE)));B&&z(b.dataMin)&&(y=y||0,!z(v)&&b.min<y&&b.dataMin>=y?b.min=b.options.minRange?Math.min(y,b.max-b.minRange):y:!z(h)&&b.max>y&&b.dataMax<=y&&(b.max=b.options.minRange?Math.max(y,b.min+b.minRange):y));b.tickInterval=b.min===b.max||
void 0===b.min||void 0===b.max?1:w&&!I&&u===b.linkedParent.options.tickPixelInterval?I=b.linkedParent.tickInterval:k(I,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,p?1:(b.max-b.min)*u/Math.max(b.len,u));m&&!a&&b.series.forEach(function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!I&&(b.tickInterval=
Math.max(b.pointRange,b.tickInterval));a=k(e.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!I&&b.tickInterval<a&&(b.tickInterval=a);g||x||I||(b.tickInterval=q(b.tickInterval,null,n(b.tickInterval),k(e.allowDecimals,!(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b=a.tickPositions;var f=this.getMinorTickInterval();var e=a.tickPositioner,
g=a.startOnTick,m=a.endOnTick;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===f&&this.tickInterval?this.tickInterval/5:f;this.single=this.min===this.max&&z(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==a.allowDecimals);this.tickPositions=f=b&&b.slice();!f&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(f=[this.min,this.max],c.error(19,!1,this.chart)):f=
this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),f.length>this.len&&(f=[f[0],f.pop()],f[0]===f[1]&&(f.length=1)),this.tickPositions=f,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=f=e);this.paddedTicks=f.slice(0);this.trimTicks(f,
g,m);this.isLinked||(this.single&&2>f.length&&!this.categories&&(this.min-=.5,this.max+=.5),b||e||this.adjustTickAmount());d(this,"afterSetTickPositions")},trimTicks:function(a,b,f){var c=a[0],e=a[a.length-1],g=this.minPointOffset||0;d(this,"trimTicks");if(!this.isLinked){if(b&&-Infinity!==c)this.min=c;else for(;this.min-g>a[0];)a.shift();if(f)this.max=e;else for(;this.max+g<a[a.length-1];)a.pop();0===a.length&&z(c)&&!this.options.tickPositions&&a.push((e+c)/2)}},alignToOthers:function(){var a={},
d,b=this.options;!1===this.chart.options.chart.alignTicks||!1===b.alignTicks||!1===b.startOnTick||!1===b.endOnTick||this.isLog||this.chart[this.coll].forEach(function(b){var f=b.options;f=[b.horiz?f.left:f.top,f.width,f.height,f.pane].join();b.series.length&&(a[f]?d=!0:a[f]=1)});return d},getTickAmount:function(){var a=this.options,d=a.tickAmount,b=a.tickPixelInterval;!z(a.tickInterval)&&this.len<b&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(d=2);!d&&this.alignToOthers()&&(d=Math.ceil(this.len/
b)+1);4>d&&(this.finalTickAmt=d,d=5);this.tickAmount=d},adjustTickAmount:function(){var a=this.options,d=this.tickInterval,b=this.tickPositions,f=this.tickAmount,c=this.finalTickAmt,e=b&&b.length,g=k(this.threshold,this.softThreshold?0:null),m;if(this.hasData()){if(e<f){for(m=this.min;b.length<f;)b.length%2||m===g?b.push(l(b[b.length-1]+d)):b.unshift(l(b[0]-d));this.transA*=(e-1)/(f-1);this.min=a.startOnTick?b[0]:Math.min(this.min,b[0]);this.max=a.endOnTick?b[b.length-1]:Math.max(this.max,b[b.length-
1])}else e>f&&(this.tickInterval*=2,this.setTickPositions());if(z(c)){for(d=a=b.length;d--;)(3===c&&1===d%2||2>=c&&0<d&&d<a-1)&&b.splice(d,1);this.finalTickAmt=void 0}}},setScale:function(){var a=this.series.some(function(a){return a.isDirtyData||a.isDirty||a.xAxis&&a.xAxis.isDirty}),b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(b=this.len!==this.oldAxisLength)||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();d(this,"afterSetScale")},setExtremes:function(a,b,c,e,g){var m=this,x=m.chart;c=k(c,!0);m.series.forEach(function(a){delete a.kdTree});g=f(g,{min:a,max:b});d(m,"setExtremes",g,function(){m.userMin=a;
m.userMax=b;m.eventArgs=g;c&&x.redraw(e)})},zoom:function(a,b){var f=this.dataMin,c=this.dataMax,e=this.options,g=Math.min(f,k(e.min,f)),m=Math.max(c,k(e.max,c));a={newMin:a,newMax:b};d(this,"zoom",a,function(a){var d=a.newMin,b=a.newMax;if(d!==this.min||b!==this.max)this.allowZoomOutside||(z(f)&&(d<g&&(d=g),d>m&&(d=m)),z(c)&&(b<g&&(b=g),b>m&&(b=m))),this.displayBtn=void 0!==d||void 0!==b,this.setExtremes(d,b,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return a.zoomed},setAxisSize:function(){var a=
this.chart,d=this.options,b=d.offsets||[0,0,0,0],f=this.horiz,e=this.width=Math.round(c.relativeLength(k(d.width,a.plotWidth-b[3]+b[1]),a.plotWidth)),g=this.height=Math.round(c.relativeLength(k(d.height,a.plotHeight-b[0]+b[2]),a.plotHeight)),m=this.top=Math.round(c.relativeLength(k(d.top,a.plotTop+b[0]),a.plotHeight,a.plotTop));d=this.left=Math.round(c.relativeLength(k(d.left,a.plotLeft+b[3]),a.plotWidth,a.plotLeft));this.bottom=a.chartHeight-g-m;this.right=a.chartWidth-e-d;this.len=Math.max(f?e:
g,0);this.pos=f?d:m},getExtremes:function(){var a=this.isLog;return{min:a?l(this.lin2log(this.min)):this.min,max:a?l(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var d=this.isLog,b=d?this.lin2log(this.min):this.min;d=d?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=b:Infinity===a?a=d:b>a?a=b:d<a&&(a=d);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){var b=(k(a,0)-90*this.side+
720)%360;a={align:"center"};d(this,"autoLabelAlign",a,function(a){15<b&&165>b?a.align="right":195<b&&345>b&&(a.align="left")});return a.align},tickSize:function(a){var b=this.options,f=b[a+"Length"],c=k(b[a+"Width"],"tick"===a&&this.isXAxis&&!this.categories?1:0);if(c&&f){"inside"===b[a+"Position"]&&(f=-f);var e=[f,c]}a={tickSize:e};d(this,"afterTickSize",a);return a.tickSize},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 d=this.options.labels,b=this.horiz,f=this.tickInterval,c=f,e=this.len/(((this.categories?1:0)+this.max-this.min)/f),g,m=d.rotation,w=this.labelMetrics(),n,C=Number.MAX_VALUE,q,t=this.max-this.min,I=function(a){var d=a/(e||1);d=1<d?Math.ceil(d):1;d*f>t&&Infinity!==a&&Infinity!==e&&t&&(d=Math.ceil(t/f));return l(d*f)};b?(q=!d.staggerLines&&!d.step&&(z(m)?[m]:e<k(d.autoRotationLimit,80)&&d.autoRotation))&&
q.forEach(function(d){if(d===m||d&&-90<=d&&90>=d){n=I(Math.abs(w.h/Math.sin(a*d)));var b=n+Math.abs(d/360);b<C&&(C=b,g=d,c=n)}}):d.step||(c=I(w.h));this.autoRotation=q;this.labelRotation=k(g,m);return c},getSlotWidth:function(a){var d=this.chart,b=this.horiz,f=this.options.labels,c=Math.max(this.tickPositions.length-(this.categories?0:1),1),e=d.margin[3];return a&&a.slotWidth||b&&2>(f.step||0)&&!f.rotation&&(this.staggerLines||1)*this.len/c||!b&&(f.style&&parseInt(f.style.width,10)||e&&e-d.spacing[3]||
.33*d.chartWidth)},renderUnsquish:function(){var a=this.chart,d=a.renderer,b=this.tickPositions,f=this.ticks,c=this.options.labels,e=c&&c.style||{},g=this.horiz,m=this.getSlotWidth(),n=Math.max(1,Math.round(m-2*(c.padding||5))),w={},C=this.labelMetrics(),k=c.style&&c.style.textOverflow,q=0;B(c.rotation)||(w.rotation=c.rotation||0);b.forEach(function(a){(a=f[a])&&a.label&&a.label.textPxLength>q&&(q=a.label.textPxLength)});this.maxLabelLength=q;if(this.autoRotation)q>n&&q>C.h?w.rotation=this.labelRotation:
this.labelRotation=0;else if(m){var t=n;if(!k){var I="clip";for(n=b.length;!g&&n--;){var l=b[n];if(l=f[l].label)l.styles&&"ellipsis"===l.styles.textOverflow?l.css({textOverflow:"clip"}):l.textPxLength>m&&l.css({width:m+"px"}),l.getBBox().height>this.len/b.length-(C.h-C.f)&&(l.specificTextOverflow="ellipsis")}}}w.rotation&&(t=q>.5*a.chartHeight?.33*a.chartHeight:q,k||(I="ellipsis"));if(this.labelAlign=c.align||this.autoLabelAlign(this.labelRotation))w.align=this.labelAlign;b.forEach(function(a){var d=
(a=f[a])&&a.label,b=e.width,c={};d&&(d.attr(w),a.shortenLabel?a.shortenLabel():t&&!b&&"nowrap"!==e.whiteSpace&&(t<d.textPxLength||"SPAN"===d.element.tagName)?(c.width=t,k||(c.textOverflow=d.specificTextOverflow||I),d.css(c)):d.styles&&d.styles.width&&!c.width&&!b&&d.css({width:null}),delete d.specificTextOverflow,a.rotation=w.rotation)},this);this.tickRotCorr=d.rotCorr(C.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&
z(this.min)&&z(this.max)},addTitle:function(a){var d=this.chart.renderer,b=this.horiz,f=this.opposite,c=this.options.title,e,g=this.chart.styledMode;this.axisTitle||((e=c.textAlign)||(e=(b?{low:"left",middle:"center",high:"right"}:{low:f?"right":"left",middle:"center",high:f?"left":"right"})[c.align]),this.axisTitle=d.text(c.text,0,0,c.useHTML).attr({zIndex:7,rotation:c.rotation||0,align:e}).addClass("highcharts-axis-title"),g||this.axisTitle.css(t(c.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=
!0);g||c.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](a)},generateTick:function(a){var d=this.ticks;d[a]?d[a].addLabel():d[a]=new I(this,a)},getOffset:function(){var a=this,b=a.chart,f=b.renderer,c=a.options,e=a.tickPositions,g=a.ticks,m=a.horiz,w=a.side,n=b.inverted&&!a.isZAxis?[1,0,3,2][w]:w,C,q=0,t=0,I=c.title,l=c.labels,u=0,p=b.axisOffset;b=b.clipOffset;var y=[-1,1,1,-1][w],B=c.className,v=a.axisParent;var h=a.hasData();a.showAxis=C=h||k(c.showEmpty,
!0);a.staggerLines=a.horiz&&l.staggerLines;a.axisGroup||(a.gridGroup=f.g("grid").attr({zIndex:c.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(B||"")).add(v),a.axisGroup=f.g("axis").attr({zIndex:c.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(B||"")).add(v),a.labelGroup=f.g("axis-labels").attr({zIndex:l.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(B||"")).add(v));h||a.isLinked?(e.forEach(function(d,b){a.generateTick(d,b)}),a.renderUnsquish(),
a.reserveSpaceDefault=0===w||2===w||{1:"left",3:"right"}[w]===a.labelAlign,k(l.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&e.forEach(function(a){u=Math.max(g[a].getLabelSize(),u)}),a.staggerLines&&(u*=a.staggerLines),a.labelOffset=u*(a.opposite?-1:1)):H(g,function(a,d){a.destroy();delete g[d]});if(I&&I.text&&!1!==I.enabled&&(a.addTitle(C),C&&!1!==I.reserveSpace)){a.titleOffset=q=a.axisTitle.getBBox()[m?"height":"width"];var A=I.offset;t=z(A)?0:k(I.margin,m?5:10)}a.renderLine();
a.offset=y*k(c.offset,p[w]?p[w]+(c.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};f=0===w?-a.labelMetrics().h:2===w?a.tickRotCorr.y:0;t=Math.abs(u)+t;u&&(t=t-f+y*(m?k(l.y,a.tickRotCorr.y+8*y):l.x));a.axisTitleMargin=k(A,t);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(g,e));m=this.tickSize("tick");p[w]=Math.max(p[w],a.axisTitleMargin+q+y*a.offset,t,e&&e.length&&m?m[0]+y*a.offset:0);c=c.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[n]=Math.max(b[n],c);d(this,"afterGetOffset")},
getLinePath:function(a){var d=this.chart,b=this.opposite,f=this.offset,c=this.horiz,e=this.left+(b?this.width:0)+f;f=d.chartHeight-this.bottom-(b?this.height:0)+f;b&&(a*=-1);return d.renderer.crispLine(["M",c?this.left:e,c?f:this.top,"L",c?d.chartWidth-this.right:e,c?f:d.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,
"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,f=this.top,c=this.len,e=this.options.title,g=a?b:f,m=this.opposite,w=this.offset,n=e.x||0,C=e.y||0,k=this.axisTitle,q=this.chart.renderer.fontMetrics(e.style&&e.style.fontSize,k);k=Math.max(k.getBBox(null,0).height-q.h-1,0);c={low:g+(a?0:c),middle:g+c/2,high:g+(a?c:0)}[e.align];b=(a?f+this.height:b)+(a?1:-1)*(m?-1:1)*this.axisTitleMargin+[-k,k,q.f,-k][this.side];a={x:a?c+n:b+(m?this.width:0)+
w+n,y:a?b+C-(m?this.height:0)+w:c+C};d(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var d=this.chart.hasRendered&&G(this.oldMin),b=this.minorTicks;b[a]||(b[a]=new I(this,a,"minor"));d&&b[a].isNew&&b[a].render(null,!0);b[a].render(null,!1,1)},renderTick:function(a,d){var b=this.isLinked,f=this.ticks,c=this.chart.hasRendered&&G(this.oldMin);if(!b||a>=this.min&&a<=this.max)f[a]||(f[a]=new I(this,a)),c&&f[a].isNew&&f[a].render(d,!0,-1),f[a].render(d)},render:function(){var a=
this,b=a.chart,f=a.options,e=a.isLog,g=a.isLinked,m=a.tickPositions,w=a.axisTitle,n=a.ticks,k=a.minorTicks,q=a.alternateBands,t=f.stackLabels,l=f.alternateGridColor,u=a.tickmarkOffset,p=a.axisLine,y=a.showAxis,B=v(b.renderer.globalAnimation),h,A;a.labelEdge.length=0;a.overlap=!1;[n,k,q].forEach(function(a){H(a,function(a){a.isActive=!1})});if(a.hasData()||g)a.minorTickInterval&&!a.categories&&a.getMinorTickPositions().forEach(function(d){a.renderMinorTick(d)}),m.length&&(m.forEach(function(d,b){a.renderTick(d,
b)}),u&&(0===a.min||a.single)&&(n[-1]||(n[-1]=new I(a,-1,null,!0)),n[-1].render(-1))),l&&m.forEach(function(d,f){A=void 0!==m[f+1]?m[f+1]+u:a.max-u;0===f%2&&d<a.max&&A<=a.max+(b.polar?-u:u)&&(q[d]||(q[d]=new c.PlotLineOrBand(a)),h=d+u,q[d].options={from:e?a.lin2log(h):h,to:e?a.lin2log(A):A,color:l},q[d].render(),q[d].isActive=!0)}),a._addedPlotLB||((f.plotLines||[]).concat(f.plotBands||[]).forEach(function(d){a.addPlotBandOrLine(d)}),a._addedPlotLB=!0);[n,k,q].forEach(function(a){var d,f=[],c=B.duration;
H(a,function(a,d){a.isActive||(a.render(d,!1,0),a.isActive=!1,f.push(d))});C(function(){for(d=f.length;d--;)a[f[d]]&&!a[f[d]].isActive&&(a[f[d]].destroy(),delete a[f[d]])},a!==q&&b.hasRendered&&c?c:0)});p&&(p[p.isPlaced?"animate":"attr"]({d:this.getLinePath(p.strokeWidth())}),p.isPlaced=!0,p[y?"show":"hide"](y));w&&y&&(f=a.getTitlePosition(),G(f.y)?(w[w.isNew?"attr":"animate"](f),w.isNew=!1):(w.attr("y",-9999),w.isNew=!0));t&&t.enabled&&a.renderStackTotals();a.isDirty=!1;d(this,"afterRender")},redraw:function(){this.visible&&
(this.render(),this.plotLinesAndBands.forEach(function(a){a.render()}));this.series.forEach(function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var f=this,c=f.stacks,e=f.plotLinesAndBands,g;d(this,"destroy",{keepEvents:a});a||m(f);H(c,function(a,d){b(a);c[d]=null});[f.ticks,f.minorTicks,f.alternateBands].forEach(function(a){b(a)});if(e)for(a=e.length;a--;)e[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){f[a]&&
(f[a]=f[a].destroy())});for(g in f.plotLinesAndBandsGroups)f.plotLinesAndBandsGroups[g]=f.plotLinesAndBandsGroups[g].destroy();H(f,function(a,d){-1===f.keepProps.indexOf(d)&&delete f[d]})},drawCrosshair:function(a,b){var f,c=this.crosshair,e=k(c.snap,!0),g,m=this.cross;d(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(z(b)||!e)){e?z(b)&&(g=k("colorAxis"!==this.coll?b.crosshairPos:null,this.isXAxis?b.plotX:this.len-b.plotY)):g=a&&(this.horiz?a.chartX-this.pos:
this.len-a.chartY+this.pos);z(g)&&(f=this.getPlotLinePath({value:b&&(this.isXAxis?b.x:k(b.stackY,b.y)),translatedValue:g})||null);if(!z(f)){this.hideCrosshair();return}e=this.categories&&!this.isRadial;m||(this.cross=m=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(e?"category ":"thin ")+c.className).attr({zIndex:k(c.zIndex,2)}).add(),this.chart.styledMode||(m.attr({stroke:c.color||(e?y("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":k(c.width,1)}).css({"pointer-events":"none"}),
c.dashStyle&&m.attr({dashstyle:c.dashStyle})));m.show().attr({d:f});e&&!c.width&&m.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();d(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide();d(this,"afterHideCrosshair")}});return c.Axis=h});K(E,"parts/LogarithmicAxis.js",[E["parts/Globals.js"]],function(c){var h=c.Axis,z=c.getMagnitude,D=c.normalizeTickInterval,G=c.pick;h.prototype.getLogTickPositions=function(c,h,F,A){var v=this.options,
p=this.len,u=[];A||(this._minorAutoInterval=null);if(.5<=c)c=Math.round(c),u=this.getLinearTickPositions(c,h,F);else if(.08<=c){p=Math.floor(h);var y,l;for(v=.3<c?[1,2,4]:.15<c?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];p<F+1&&!l;p++){var e=v.length;for(y=0;y<e&&!l;y++){var a=this.log2lin(this.lin2log(p)*v[y]);a>h&&(!A||b<=F)&&void 0!==b&&u.push(b);b>F&&(l=!0);var b=a}}}else h=this.lin2log(h),F=this.lin2log(F),c=A?this.getMinorTickInterval():v.tickInterval,c=G("auto"===c?null:c,this._minorAutoInterval,v.tickPixelInterval/
(A?5:1)*(F-h)/((A?p/this.tickPositions.length:p)||1)),c=D(c,null,z(c)),u=this.getLinearTickPositions(c,h,F).map(this.log2lin),A||(this._minorAutoInterval=c/5);A||(this.tickInterval=c);return u};h.prototype.log2lin=function(c){return Math.log(c)/Math.LN10};h.prototype.lin2log=function(c){return Math.pow(10,c)}});K(E,"parts/PlotLineOrBand.js",[E["parts/Globals.js"],E["parts/Axis.js"],E["parts/Utilities.js"]],function(c,h,z){var D=z.defined,G=z.erase,B=z.objectEach,H=c.arrayMax,F=c.arrayMin,A=c.destroyObjectProperties,
v=c.merge,p=c.pick;c.PlotLineOrBand=function(c,p){this.axis=c;p&&(this.options=p,this.id=p.id)};c.PlotLineOrBand.prototype={render:function(){c.fireEvent(this,"render");var u=this,y=u.axis,l=y.horiz,e=u.options,a=e.label,b=u.label,f=e.to,d=e.from,g=e.value,n=D(d)&&D(f),t=D(g),q=u.svgElem,k=!q,m=[],w=e.color,C=p(e.zIndex,0),I=e.events;m={"class":"highcharts-plot-"+(n?"band ":"line ")+(e.className||"")};var x={},r=y.chart.renderer,M=n?"bands":"lines";y.isLog&&(d=y.log2lin(d),f=y.log2lin(f),g=y.log2lin(g));
y.chart.styledMode||(t?(m.stroke=w||"#999999",m["stroke-width"]=p(e.width,1),e.dashStyle&&(m.dashstyle=e.dashStyle)):n&&(m.fill=w||"#e6ebf5",e.borderWidth&&(m.stroke=e.borderColor,m["stroke-width"]=e.borderWidth)));x.zIndex=C;M+="-"+C;(w=y.plotLinesAndBandsGroups[M])||(y.plotLinesAndBandsGroups[M]=w=r.g("plot-"+M).attr(x).add());k&&(u.svgElem=q=r.path().attr(m).add(w));if(t)m=y.getPlotLinePath({value:g,lineWidth:q.strokeWidth(),acrossPanes:e.acrossPanes});else if(n)m=y.getPlotBandPath(d,f,e);else return;
(k||!q.d)&&m&&m.length?(q.attr({d:m}),I&&B(I,function(a,d){q.on(d,function(a){I[d].apply(u,[a])})})):q&&(m?(q.show(!0),q.animate({d:m})):q.d&&(q.hide(),b&&(u.label=b=b.destroy())));a&&(D(a.text)||D(a.formatter))&&m&&m.length&&0<y.width&&0<y.height&&!m.isFlat?(a=v({align:l&&n&&"center",x:l?!n&&4:10,verticalAlign:!l&&n&&"middle",y:l?n?16:10:n?6:-4,rotation:l&&!n&&90},a),this.renderLabel(a,m,n,C)):b&&b.hide();return u},renderLabel:function(c,p,l,e){var a=this.label,b=this.axis.chart.renderer;a||(a={align:c.textAlign||
c.align,rotation:c.rotation,"class":"highcharts-plot-"+(l?"band":"line")+"-label "+(c.className||"")},a.zIndex=e,e=this.getLabelText(c),this.label=a=b.text(e,0,0,c.useHTML).attr(a).add(),this.axis.chart.styledMode||a.css(c.style));b=p.xBounds||[p[1],p[4],l?p[6]:p[1]];p=p.yBounds||[p[2],p[5],l?p[7]:p[2]];l=F(b);e=F(p);a.align(c,!1,{x:l,y:e,width:H(b)-l,height:H(p)-e});a.show(!0)},getLabelText:function(c){return D(c.formatter)?c.formatter.call(this):c.text},destroy:function(){G(this.axis.plotLinesAndBands,
this);delete this.axis;A(this)}};c.extend(h.prototype,{getPlotBandPath:function(c,p){var l=this.getPlotLinePath({value:p,force:!0,acrossPanes:this.options.acrossPanes}),e=this.getPlotLinePath({value:c,force:!0,acrossPanes:this.options.acrossPanes}),a=[],b=this.horiz,f=1;c=c<this.min&&p<this.min||c>this.max&&p>this.max;if(e&&l){if(c){var d=e.toString()===l.toString();f=0}for(c=0;c<e.length;c+=6)b&&l[c+1]===e[c+1]?(l[c+1]+=f,l[c+4]+=f):b||l[c+2]!==e[c+2]||(l[c+2]+=f,l[c+5]+=f),a.push("M",e[c+1],e[c+
2],"L",e[c+4],e[c+5],l[c+4],l[c+5],l[c+1],l[c+2],"z"),a.isFlat=d}return a},addPlotBand:function(c){return this.addPlotBandOrLine(c,"plotBands")},addPlotLine:function(c){return this.addPlotBandOrLine(c,"plotLines")},addPlotBandOrLine:function(p,y){var l=(new c.PlotLineOrBand(this,p)).render(),e=this.userOptions;if(l){if(y){var a=e[y]||[];a.push(p);e[y]=a}this.plotLinesAndBands.push(l)}return l},removePlotBandOrLine:function(c){for(var p=this.plotLinesAndBands,l=this.options,e=this.userOptions,a=p.length;a--;)p[a].id===
c&&p[a].destroy();[l.plotLines||[],e.plotLines||[],l.plotBands||[],e.plotBands||[]].forEach(function(b){for(a=b.length;a--;)b[a].id===c&&G(b,b[a])})},removePlotBand:function(c){this.removePlotBandOrLine(c)},removePlotLine:function(c){this.removePlotBandOrLine(c)}})});K(E,"parts/Tooltip.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.isNumber,G=h.isString,B=h.splat;"";var H=c.doc,F=c.extend,A=c.format,v=c.merge,p=c.pick,u=c.syncTimeout,y=c.timeUnits;c.Tooltip=
function(){this.init.apply(this,arguments)};c.Tooltip.prototype={init:function(c,e){this.chart=c;this.options=e;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=e.split&&!c.inverted;this.shared=e.shared||this.split;this.outside=p(e.outside,!(!c.scrollablePixelsX&&!c.scrollablePixelsY))&&!this.split},cleanSplit:function(c){this.chart.series.forEach(function(e){var a=e&&e.tt;a&&(!a.isActive||c?e.tt=a.destroy():a.isActive=!1)})},applyFilter:function(){var c=this.chart;c.renderer.definition({tagName:"filter",
id:"drop-shadow-"+c.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});c.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+c.index+"{filter:url(#drop-shadow-"+c.index+")}"})},getLabel:function(){var l=this,e=this.chart.renderer,
a=this.chart.styledMode,b=this.options,f="tooltip"+(z(b.className)?" "+b.className:""),d;if(!this.label){this.outside&&(this.container=d=c.doc.createElement("div"),d.className="highcharts-tooltip-container",c.css(d,{position:"absolute",top:"1px",pointerEvents:b.style&&b.style.pointerEvents,zIndex:3}),c.doc.body.appendChild(d),this.renderer=e=new c.Renderer(d,0,0,{},void 0,void 0,e.styledMode));this.split?this.label=e.g(f):(this.label=e.label("",0,0,b.shape||"callout",null,null,b.useHTML,null,f).attr({padding:b.padding,
r:b.borderRadius}),a||this.label.attr({fill:b.backgroundColor,"stroke-width":b.borderWidth}).css(b.style).shadow(b.shadow));a&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index));if(this.outside){var g={x:this.label.xSetter,y:this.label.ySetter};this.label.xSetter=function(a,b){g[b].call(this.label,l.distance);d.style.left=a+"px"};this.label.ySetter=function(a,b){g[b].call(this.label,l.distance);d.style.top=a+"px"}}this.label.attr({zIndex:8}).add()}return this.label},
update:function(c){this.destroy();v(!0,this.chart.options.tooltip.userOptions,c);this.init(this.chart,v(!0,this.options,c))},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(),c.discardElement(this.container));c.clearTimeout(this.hideTimer);c.clearTimeout(this.tooltipTimeout)},move:function(l,e,a,b){var f=this,d=f.now,g=!1!==f.options.animation&&!f.isHidden&&
(1<Math.abs(l-d.x)||1<Math.abs(e-d.y)),n=f.followPointer||1<f.len;F(d,{x:g?(2*d.x+l)/3:l,y:g?(d.y+e)/2:e,anchorX:n?void 0:g?(2*d.anchorX+a)/3:a,anchorY:n?void 0:g?(d.anchorY+b)/2:b});f.getLabel().attr(d);g&&(c.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(l,e,a,b)},32))},hide:function(l){var e=this;c.clearTimeout(this.hideTimer);l=p(l,this.options.hideDelay,500);this.isHidden||(this.hideTimer=u(function(){e.getLabel()[l?"fadeOut":"hide"]();e.isHidden=!0},l))},
getAnchor:function(c,e){var a=this.chart,b=a.pointer,f=a.inverted,d=a.plotTop,g=a.plotLeft,n=0,t=0,q,k;c=B(c);this.followPointer&&e?(void 0===e.chartX&&(e=b.normalize(e)),c=[e.chartX-a.plotLeft,e.chartY-d]):c[0].tooltipPos?c=c[0].tooltipPos:(c.forEach(function(a){q=a.series.yAxis;k=a.series.xAxis;n+=a.plotX+(!f&&k?k.left-g:0);t+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!f&&q?q.top-d:0)}),n/=c.length,t/=c.length,c=[f?a.plotWidth-t:n,this.shared&&!f&&1<c.length&&e?e.chartY-d:f?a.plotHeight-n:t]);
return c.map(Math.round)},getPosition:function(c,e,a){var b=this.chart,f=this.distance,d={},g=b.inverted&&a.h||0,n,t=this.outside,q=t?H.documentElement.clientWidth-2*f:b.chartWidth,k=t?Math.max(H.body.scrollHeight,H.documentElement.scrollHeight,H.body.offsetHeight,H.documentElement.offsetHeight,H.documentElement.clientHeight):b.chartHeight,m=b.pointer.chartPosition,w=b.containerScaling,C=function(a){return w?a*w.scaleX:a},I=function(a){return w?a*w.scaleY:a},x=function(d){var g="x"===d;return[d,g?
q:k,g?c:e].concat(t?[g?C(c):I(e),g?m.left-f+C(a.plotX+b.plotLeft):m.top-f+I(a.plotY+b.plotTop),0,g?q:k]:[g?c:e,g?a.plotX+b.plotLeft:a.plotY+b.plotTop,g?b.plotLeft:b.plotTop,g?b.plotLeft+b.plotWidth:b.plotTop+b.plotHeight])},r=x("y"),l=x("x"),u=!this.followPointer&&p(a.ttBelow,!b.inverted===!!a.negative),y=function(a,b,c,e,m,w,r){var n="y"===a?I(f):C(f),k=(c-e)/2,q=e<m-f,x=m+f+e<b,t=m-n-c+k;m=m+n-k;if(u&&x)d[a]=m;else if(!u&&q)d[a]=t;else if(q)d[a]=Math.min(r-e,0>t-g?t:t-g);else if(x)d[a]=Math.max(w,
m+g+c>b?m:m+g);else return!1},v=function(a,b,c,e,g){var m;g<f||g>b-f?m=!1:d[a]=g<c/2?1:g>b-e/2?b-e-2:g-c/2;return m},h=function(a){var d=r;r=l;l=d;n=a},N=function(){!1!==y.apply(0,r)?!1!==v.apply(0,l)||n||(h(!0),N()):n?d.x=d.y=0:(h(!0),N())};(b.inverted||1<this.len)&&h();N();return d},defaultFormatter:function(c){var e=this.points||B(this);var a=[c.tooltipFooterHeaderFormatter(e[0])];a=a.concat(c.bodyFormatter(e));a.push(c.tooltipFooterHeaderFormatter(e[0],!0));return a},refresh:function(l,e){var a=
this.chart,b=this.options,f=l,d={},g=[];var n=b.formatter||this.defaultFormatter;d=this.shared;var t=a.styledMode;if(b.enabled){c.clearTimeout(this.hideTimer);this.followPointer=B(f)[0].series.tooltipOptions.followPointer;var q=this.getAnchor(f,e);e=q[0];var k=q[1];!d||f.series&&f.series.noSharedTooltip?d=f.getLabelConfig():(a.pointer.applyInactiveState(f),f.forEach(function(a){a.setState("hover");g.push(a.getLabelConfig())}),d={x:f[0].category,y:f[0].y},d.points=g,f=f[0]);this.len=g.length;n=n.call(d,
this);d=f.series;this.distance=p(d.tooltipOptions.distance,16);!1===n?this.hide():(a=this.getLabel(),this.isHidden&&a.attr({opacity:1}).show(),this.split?this.renderSplit(n,B(l)):(b.style.width&&!t||a.css({width:this.chart.spacingBox.width}),a.attr({text:n&&n.join?n.join(""):n}),a.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+p(f.colorIndex,d.colorIndex)),t||a.attr({stroke:b.borderColor||f.color||d.color||"#666666"}),this.updatePosition({plotX:e,plotY:k,negative:f.negative,ttBelow:f.ttBelow,
h:q[2]||0})),this.isHidden=!1);c.fireEvent(this,"refresh")}},renderSplit:function(l,e){var a=this,b=[],f=this.chart,d=f.renderer,g=!0,n=this.options,t=0,q,k=this.getLabel(),m=f.plotTop;G(l)&&(l=[!1,l]);l.slice(0,e.length+1).forEach(function(c,C){if(!1!==c&&""!==c){C=e[C-1]||{isHeader:!0,plotX:e[0].plotX,plotY:f.plotHeight};var w=C.series||a,x=w.tt,r=C.series||{},l="highcharts-color-"+p(C.colorIndex,r.colorIndex,"none");x||(x={padding:n.padding,r:n.borderRadius},f.styledMode||(x.fill=n.backgroundColor,
x["stroke-width"]=n.borderWidth),w.tt=x=d.label(null,null,null,(C.isHeader?n.headerShape:n.shape)||"callout",null,null,n.useHTML).addClass("highcharts-tooltip-box "+l).attr(x).add(k));x.isActive=!0;x.attr({text:c});f.styledMode||x.css(n.style).shadow(n.shadow).attr({stroke:n.borderColor||C.color||r.color||"#333333"});c=x.getBBox();l=c.width+x.strokeWidth();C.isHeader?(t=c.height,f.xAxis[0].opposite&&(q=!0,m-=t),c=Math.max(0,Math.min(C.plotX+f.plotLeft-l/2,f.chartWidth+(f.scrollablePixelsX?f.scrollablePixelsX-
f.marginRight:0)-l))):c=C.plotX+f.plotLeft-p(n.distance,16)-l;0>c&&(g=!1);C.isHeader?r=q?-t:f.plotHeight+t:(r=r.yAxis,r=r.pos-m+Math.max(0,Math.min(C.plotY||0,r.len)));b.push({target:r,rank:C.isHeader?1:0,size:w.tt.getBBox().height+1,point:C,x:c,tt:x})}});this.cleanSplit();n.positioner&&b.forEach(function(d){var b=n.positioner.call(a,d.tt.getBBox().width,d.size,d.point);d.x=b.x;d.align=0;d.target=b.y;d.rank=p(b.rank,d.rank)});c.distribute(b,f.plotHeight+t);b.forEach(function(d){var b=d.point,c=b.series,
e=c&&c.yAxis;d.tt.attr({visibility:void 0===d.pos?"hidden":"inherit",x:g||b.isHeader||n.positioner?d.x:b.plotX+f.plotLeft+a.distance,y:d.pos+m,anchorX:b.isHeader?b.plotX+f.plotLeft:b.plotX+c.xAxis.pos,anchorY:b.isHeader?f.plotTop+f.plotHeight/2:e.pos+Math.max(0,Math.min(b.plotY,e.len))})})},updatePosition:function(l){var e=this.chart,a=e.pointer,b=this.getLabel(),f=l.plotX+e.plotLeft,d=l.plotY+e.plotTop;a.chartPosition||(a.chartPosition=c.offset(e.container));l=(this.options.positioner||this.getPosition).call(this,
b.width,b.height,l);if(this.outside){var g=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(b.width+g,b.height+g,!1);if(e=e.containerScaling)c.css(this.container,{transform:"scale("+e.scaleX+", "+e.scaleY+")"}),f*=e.scaleX,d*=e.scaleY;f+=a.chartPosition.left-l.x;d+=a.chartPosition.top-l.y}this.move(Math.round(l.x),Math.round(l.y||0),f,d)},getDateFormat:function(c,e,a,b){var f=this.chart.time,d=f.dateFormat("%m-%d %H:%M:%S.%L",e),g={millisecond:15,second:12,minute:9,hour:6,day:3},
n="millisecond";for(t in y){if(c===y.week&&+f.dateFormat("%w",e)===a&&"00:00:00.000"===d.substr(6)){var t="week";break}if(y[t]>c){t=n;break}if(g[t]&&d.substr(g[t])!=="01-01 00:00:00.000".substr(g[t]))break;"week"!==t&&(n=t)}if(t)var q=f.resolveDTLFormat(b[t]).main;return q},getXDateFormat:function(c,e,a){e=e.dateTimeLabelFormats;var b=a&&a.closestPointRange;return(b?this.getDateFormat(b,c.x,a.options.startOfWeek,e):e.day)||e.year},tooltipFooterHeaderFormatter:function(l,e){var a=e?"footer":"header",
b=l.series,f=b.tooltipOptions,d=f.xDateFormat,g=b.xAxis,n=g&&"datetime"===g.options.type&&D(l.key),t=f[a+"Format"];e={isFooter:e,labelConfig:l};c.fireEvent(this,"headerFormatter",e,function(a){n&&!d&&(d=this.getXDateFormat(l,f,g));n&&d&&(l.point&&l.point.tooltipDateKeys||["key"]).forEach(function(a){t=t.replace("{point."+a+"}","{point."+a+":"+d+"}")});b.chart.styledMode&&(t=this.styledModeFormat(t));a.text=A(t,{point:l,series:b},this.chart.time)});return e.text},bodyFormatter:function(c){return c.map(function(c){var a=
c.series.tooltipOptions;return(a[(c.point.formatPrefix||"point")+"Formatter"]||c.point.tooltipFormatter).call(c.point,a[(c.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(c){return c.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')}}});K(E,"parts/Pointer.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.attr,D=h.defined,G=h.isNumber,B=h.isObject,
H=h.objectEach,F=h.splat,A=c.addEvent,v=c.charts,p=c.color,u=c.css,y=c.extend,l=c.find,e=c.fireEvent,a=c.offset,b=c.pick,f=c.Tooltip;c.Pointer=function(a,b){this.init(a,b)};c.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={};f&&(a.tooltip=new f(a,c.tooltip),this.followTouchMove=b(c.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var d=this.chart,c=d.options.chart,
f=c.zoomType||"";d=d.inverted;/touch/.test(a.type)&&(f=b(c.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=f=/y/.test(f);this.zoomHor=a&&!d||f&&d;this.zoomVert=f&&!d||a&&d;this.hasZoom=a||f},normalize:function(d,b){var c=d.touches?d.touches.length?d.touches.item(0):d.changedTouches[0]:d;b||(this.chartPosition=b=a(this.chart.container));var f=c.pageX-b.left;b=c.pageY-b.top;if(c=this.chart.containerScaling)f/=c.scaleX,b/=c.scaleY;return y(d,{chartX:Math.round(f),chartY:Math.round(b)})},getCoordinates:function(a){var d=
{xAxis:[],yAxis:[]};this.chart.axes.forEach(function(b){d[b.isXAxis?"xAxis":"yAxis"].push({axis:b,value:b.toValue(a[b.horiz?"chartX":"chartY"])})});return d},findNearestKDPoint:function(a,b,c){var d;a.forEach(function(a){var f=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(c,f);if((f=B(a,!0))&&!(f=!B(d,!0))){f=d.distX-a.distX;var e=d.dist-a.dist,g=(a.series.group&&a.series.group.zIndex)-(d.series.group&&d.series.group.zIndex);f=0<(0!==f&&b?f:0!==e?e:0!==g?g:d.series.index>
a.series.index?-1:1)}f&&(d=a)});return d},getPointFromEvent:function(a){a=a.target;for(var d;a&&!d;)d=a.point,a=a.parentNode;return d},getChartCoordinatesFromPoint:function(a,c){var d=a.series,f=d.xAxis;d=d.yAxis;var e=b(a.clientX,a.plotX),g=a.shapeArgs;if(f&&d)return c?{chartX:f.len+f.pos-e,chartY:d.len+d.pos-a.plotY}:{chartX:e+f.pos,chartY:a.plotY+d.pos};if(g&&g.x&&g.y)return{chartX:g.x,chartY:g.y}},getHoverData:function(a,c,f,e,q,k){var d,g=[];e=!(!e||!a);var n=c&&!c.stickyTracking?[c]:f.filter(function(a){return a.visible&&
!(!q&&a.directTouch)&&b(a.options.enableMouseTracking,!0)&&a.stickyTracking});c=(d=e||!k?a:this.findNearestKDPoint(n,q,k))&&d.series;d&&(q&&!c.noSharedTooltip?(n=f.filter(function(a){return a.visible&&!(!q&&a.directTouch)&&b(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),n.forEach(function(a){var b=l(a.points,function(a){return a.x===d.x&&!a.isNull});B(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),g.push(b))})):g.push(d));return{hoverPoint:d,hoverSeries:c,hoverPoints:g}},runPointActions:function(a,
f){var d=this.chart,e=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,g=e?e.shared:!1,k=f||d.hoverPoint,m=k&&k.series||d.hoverSeries;m=this.getHoverData(k,m,d.series,(!a||"touchmove"!==a.type)&&(!!f||m&&m.directTouch&&this.isDirectTouch),g,a);k=m.hoverPoint;var w=m.hoverPoints;f=(m=m.hoverSeries)&&m.tooltipOptions.followPointer;g=g&&m&&!m.noSharedTooltip;if(k&&(k!==d.hoverPoint||e&&e.isHidden)){(d.hoverPoints||[]).forEach(function(a){-1===w.indexOf(a)&&a.setState()});if(d.hoverSeries!==m)m.onMouseOver();
this.applyInactiveState(w);(w||[]).forEach(function(a){a.setState("hover")});d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!k.series)return;k.firePointEvent("mouseOver");d.hoverPoints=w;d.hoverPoint=k;e&&e.refresh(g?w:k,a)}else f&&e&&!e.isHidden&&(k=e.getAnchor([{}],a),e.updatePosition({plotX:k[0],plotY:k[1]}));this.unDocMouseMove||(this.unDocMouseMove=A(d.container.ownerDocument,"mousemove",function(a){var d=v[c.hoverChartIndex];if(d)d.pointer.onDocumentMouseMove(a)}));d.axes.forEach(function(d){var f=
b(d.crosshair.snap,!0),e=f?c.find(w,function(a){return a.series[d.coll]===d}):void 0;e||!f?d.drawCrosshair(a,e):d.hideCrosshair()})},applyInactiveState:function(a){var d=[],b;(a||[]).forEach(function(a){b=a.series;d.push(b);b.linkedParent&&d.push(b.linkedParent);b.linkedSeries&&(d=d.concat(b.linkedSeries));b.navigatorSeries&&d.push(b.navigatorSeries)});this.chart.series.forEach(function(a){-1===d.indexOf(a)?a.setState("inactive",!0):a.options.inactiveOtherPoints&&a.setAllPointsToState("inactive")})},
reset:function(a,b){var d=this.chart,c=d.hoverSeries,f=d.hoverPoint,e=d.hoverPoints,m=d.tooltip,g=m&&m.shared?e:f;a&&g&&F(g).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(a=!1)});if(a)m&&g&&F(g).length&&(m.refresh(g),m.shared&&e?e.forEach(function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):f&&(f.setState(f.state,!0),d.axes.forEach(function(a){a.crosshair&&
a.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();e&&e.forEach(function(a){a.setState()});if(c)c.onMouseOut();m&&m.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());d.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}},scaleGroups:function(a,b){var d=this.chart,c;d.series.forEach(function(f){c=a||f.getPlotBox();f.xAxis&&f.xAxis.zoomEnabled&&f.group&&(f.group.attr(c),f.markerGroup&&(f.markerGroup.attr(c),f.markerGroup.clip(b?d.clipRect:
null)),f.dataLabelsGroup&&f.dataLabelsGroup.attr(c))});d.clipRect.attr(b||d.clipBox)},dragStart:function(a){var d=this.chart;d.mouseIsDown=a.type;d.cancelClick=!1;d.mouseDownX=this.mouseDownX=a.chartX;d.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var d=this.chart,b=d.options.chart,c=a.chartX,f=a.chartY,e=this.zoomHor,m=this.zoomVert,w=d.plotLeft,C=d.plotTop,I=d.plotWidth,x=d.plotHeight,r=this.selectionMarker,l=this.mouseDownX,u=this.mouseDownY,y=b.panKey&&a[b.panKey+"Key"];if(!r||!r.touch)if(c<
w?c=w:c>w+I&&(c=w+I),f<C?f=C:f>C+x&&(f=C+x),this.hasDragged=Math.sqrt(Math.pow(l-c,2)+Math.pow(u-f,2)),10<this.hasDragged){var v=d.isInsidePlot(l-w,u-C);d.hasCartesianSeries&&(this.zoomX||this.zoomY)&&v&&!y&&!r&&(this.selectionMarker=r=d.renderer.rect(w,C,e?1:I,m?1:x,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),d.styledMode||r.attr({fill:b.selectionMarkerFill||p("#335cad").setOpacity(.25).get()}));r&&e&&(c-=l,r.attr({width:Math.abs(c),x:(0<c?0:c)+l}));r&&m&&(c=f-u,r.attr({height:Math.abs(c),
y:(0<c?0:c)+u}));v&&!r&&b.panning&&d.pan(a,b.panning)}},drop:function(a){var d=this,b=this.chart,c=this.hasPinched;if(this.selectionMarker){var f={originalEvent:a,xAxis:[],yAxis:[]},k=this.selectionMarker,m=k.attr?k.attr("x"):k.x,w=k.attr?k.attr("y"):k.y,C=k.attr?k.attr("width"):k.width,I=k.attr?k.attr("height"):k.height,x;if(this.hasDragged||c)b.axes.forEach(function(b){if(b.zoomEnabled&&D(b.min)&&(c||d[{xAxis:"zoomX",yAxis:"zoomY"}[b.coll]])){var e=b.horiz,g="touchend"===a.type?b.minPixelPadding:
0,r=b.toValue((e?m:w)+g);e=b.toValue((e?m+C:w+I)-g);f[b.coll].push({axis:b,min:Math.min(r,e),max:Math.max(r,e)});x=!0}}),x&&e(b,"selection",f,function(a){b.zoom(y(a,c?{animation:!1}:null))});G(b.index)&&(this.selectionMarker=this.selectionMarker.destroy());c&&this.scaleGroups()}b&&G(b.index)&&(u(b.container,{cursor:b._cursor}),b.cancelClick=10<this.hasDragged,b.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(a){v[c.hoverChartIndex]&&v[c.hoverChartIndex].pointer.drop(a)},onDocumentMouseMove:function(a){var d=this.chart,b=this.chartPosition;a=this.normalize(a,b);!b||this.inClass(a.target,"highcharts-tracker")||d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)||this.reset()},onContainerMouseLeave:function(a){var d=v[c.hoverChartIndex];d&&(a.relatedTarget||a.toElement)&&(d.pointer.reset(),d.pointer.chartPosition=null)},
onContainerMouseMove:function(a){var d=this.chart;D(c.hoverChartIndex)&&v[c.hoverChartIndex]&&v[c.hoverChartIndex].mouseIsDown||(c.hoverChartIndex=d.index);a=this.normalize(a);a.preventDefault||(a.returnValue=!1);"mousedown"===d.mouseIsDown&&this.drag(a);!this.inClass(a.target,"highcharts-tracker")&&!d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)||d.openMenu||this.runPointActions(a)},inClass:function(a,b){for(var d;a;){if(d=z(a,"class")){if(-1!==d.indexOf(b))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=
a.parentNode}},onTrackerMouseOut:function(a){var d=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!d||!a||d.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+d.index)&&this.inClass(a,"highcharts-tracker")))d.onMouseOut()},onContainerClick:function(a){var d=this.chart,b=d.hoverPoint,c=d.plotLeft,f=d.plotTop;a=this.normalize(a);d.cancelClick||(b&&this.inClass(a.target,"highcharts-tracker")?(e(b.series,"click",y(a,{point:b})),
d.hoverPoint&&b.firePointEvent("click",a)):(y(a,this.getCoordinates(a)),d.isInsidePlot(a.chartX-c,a.chartY-f)&&e(d,"click",a)))},setDOMEvents:function(){var a=this,b=a.chart.container,f=b.ownerDocument;b.onmousedown=function(d){a.onContainerMouseDown(d)};b.onmousemove=function(d){a.onContainerMouseMove(d)};b.onclick=function(d){a.onContainerClick(d)};this.unbindContainerMouseLeave=A(b,"mouseleave",a.onContainerMouseLeave);c.unbindDocumentMouseUp||(c.unbindDocumentMouseUp=A(f,"mouseup",a.onDocumentMouseUp));
c.hasTouch&&(A(b,"touchstart",function(d){a.onContainerTouchStart(d)}),A(b,"touchmove",function(d){a.onContainerTouchMove(d)}),c.unbindDocumentTouchEnd||(c.unbindDocumentTouchEnd=A(f,"touchend",a.onDocumentTouchEnd)))},destroy:function(){var a=this;a.unDocMouseMove&&a.unDocMouseMove();this.unbindContainerMouseLeave();c.chartCount||(c.unbindDocumentMouseUp&&(c.unbindDocumentMouseUp=c.unbindDocumentMouseUp()),c.unbindDocumentTouchEnd&&(c.unbindDocumentTouchEnd=c.unbindDocumentTouchEnd()));clearInterval(a.tooltipTimeout);
H(a,function(d,b){a[b]=null})}}});K(E,"parts/TouchPointer.js",[E["parts/Globals.js"]],function(c){var h=c.charts,z=c.extend,D=c.noop,G=c.pick;z(c.Pointer.prototype,{pinchTranslate:function(c,h,z,A,v,p){this.zoomHor&&this.pinchTranslateDirection(!0,c,h,z,A,v,p);this.zoomVert&&this.pinchTranslateDirection(!1,c,h,z,A,v,p)},pinchTranslateDirection:function(c,h,z,A,v,p,u,y){var l=this.chart,e=c?"x":"y",a=c?"X":"Y",b="chart"+a,f=c?"width":"height",d=l["plot"+(c?"Left":"Top")],g,n,t=y||1,q=l.inverted,k=
l.bounds[c?"h":"v"],m=1===h.length,w=h[0][b],C=z[0][b],I=!m&&h[1][b],x=!m&&z[1][b];z=function(){!m&&20<Math.abs(w-I)&&(t=y||Math.abs(C-x)/Math.abs(w-I));n=(d-C)/t+w;g=l["plot"+(c?"Width":"Height")]/t};z();h=n;if(h<k.min){h=k.min;var r=!0}else h+g>k.max&&(h=k.max-g,r=!0);r?(C-=.8*(C-u[e][0]),m||(x-=.8*(x-u[e][1])),z()):u[e]=[C,x];q||(p[e]=n-d,p[f]=g);p=q?1/t:t;v[f]=g;v[e]=h;A[q?c?"scaleY":"scaleX":"scale"+a]=t;A["translate"+a]=p*d+(C-p*w)},pinch:function(c){var h=this,B=h.chart,A=h.pinchDown,v=c.touches,
p=v.length,u=h.lastValidTouch,y=h.hasZoom,l=h.selectionMarker,e={},a=1===p&&(h.inClass(c.target,"highcharts-tracker")&&B.runTrackerClick||h.runChartClick),b={};1<p&&(h.initiated=!0);y&&h.initiated&&!a&&c.preventDefault();[].map.call(v,function(a){return h.normalize(a)});"touchstart"===c.type?([].forEach.call(v,function(a,d){A[d]={chartX:a.chartX,chartY:a.chartY}}),u.x=[A[0].chartX,A[1]&&A[1].chartX],u.y=[A[0].chartY,A[1]&&A[1].chartY],B.axes.forEach(function(a){if(a.zoomEnabled){var d=B.bounds[a.horiz?
"h":"v"],b=a.minPixelPadding,c=a.toPixels(Math.min(G(a.options.min,a.dataMin),a.dataMin)),f=a.toPixels(Math.max(G(a.options.max,a.dataMax),a.dataMax)),e=Math.max(c,f);d.min=Math.min(a.pos,Math.min(c,f)-b);d.max=Math.max(a.pos+a.len,e+b)}}),h.res=!0):h.followTouchMove&&1===p?this.runPointActions(h.normalize(c)):A.length&&(l||(h.selectionMarker=l=z({destroy:D,touch:!0},B.plotBox)),h.pinchTranslate(A,v,e,l,b,u),h.hasPinched=y,h.scaleGroups(e,b),h.res&&(h.res=!1,this.reset(!1,0)))},touch:function(h,z){var B=
this.chart,A;if(B.index!==c.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});c.hoverChartIndex=B.index;if(1===h.touches.length)if(h=this.normalize(h),(A=B.isInsidePlot(h.chartX-B.plotLeft,h.chartY-B.plotTop))&&!B.openMenu){z&&this.runPointActions(h);if("touchmove"===h.type){z=this.pinchDown;var v=z[0]?4<=Math.sqrt(Math.pow(z[0].chartX-h.chartX,2)+Math.pow(z[0].chartY-h.chartY,2)):!1}G(v,!0)&&this.pinch(h)}else z&&this.reset();else 2===h.touches.length&&this.pinch(h)},onContainerTouchStart:function(c){this.zoomOption(c);
this.touch(c,!0)},onContainerTouchMove:function(c){this.touch(c)},onDocumentTouchEnd:function(B){h[c.hoverChartIndex]&&h[c.hoverChartIndex].pointer.drop(B)}})});K(E,"parts/MSPointer.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.objectEach,D=c.addEvent,G=c.charts,B=c.css,H=c.doc;h=c.extend;var F=c.noop,A=c.Pointer,v=c.removeEvent,p=c.win,u=c.wrap;if(!c.hasTouch&&(p.PointerEvent||p.MSPointerEvent)){var y={},l=!!p.PointerEvent,e=function(){var a=[];a.item=function(a){return this[a]};
z(y,function(b){a.push({pageX:b.pageX,pageY:b.pageY,target:b.target})});return a},a=function(a,f,d,g){"touch"!==a.pointerType&&a.pointerType!==a.MSPOINTER_TYPE_TOUCH||!G[c.hoverChartIndex]||(g(a),g=G[c.hoverChartIndex].pointer,g[f]({type:d,target:a.currentTarget,preventDefault:F,touches:e()}))};h(A.prototype,{onContainerPointerDown:function(b){a(b,"onContainerTouchStart","touchstart",function(a){y[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(b){a(b,
"onContainerTouchMove","touchmove",function(a){y[a.pointerId]={pageX:a.pageX,pageY:a.pageY};y[a.pointerId].target||(y[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(b){a(b,"onDocumentTouchEnd","touchend",function(a){delete y[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,l?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,l?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(H,l?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});
u(A.prototype,"init",function(a,c,d){a.call(this,c,d);this.hasZoom&&B(c.container,{"-ms-touch-action":"none","touch-action":"none"})});u(A.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(D)});u(A.prototype,"destroy",function(a){this.batchMSEvents(v);a.call(this)})}});K(E,"parts/Legend.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.isNumber,G=c.addEvent,B=c.css,H=c.discardElement,F=c.fireEvent;h=c.isFirefox;
var A=c.marginNames,v=c.merge,p=c.pick,u=c.setAnimation,y=c.stableSort,l=c.win,e=c.wrap;c.Legend=function(a,b){this.init(a,b)};c.Legend.prototype={init:function(a,b){this.chart=a;this.setOptions(b);b.enabled&&(this.render(),G(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=G(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.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=v(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(v(!0,this.options,a));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;p(b,!0)&&c.redraw();F(this,"afterUpdate")},colorizeItem:function(a,
b){a.legendGroup[b?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var c=this.options,d=a.legendItem,e=a.legendLine,n=a.legendSymbol,t=this.itemHiddenStyle.color;c=b?c.itemStyle.color:t;var q=b?a.color||t:t,k=a.options&&a.options.marker,m={fill:q};d&&d.css({fill:c,color:c});e&&e.attr({stroke:q});n&&(k&&n.isMarker&&(m=a.pointAttribs(),b||(m.stroke=m.fill=t)),n.attr(m))}F(this,"afterColorizeItem",{item:a,visible:b})},positionItems:function(){this.allItems.forEach(this.positionItem,
this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var b=this.options,c=b.symbolPadding;b=!b.rtl;var d=a._legendItemPos,e=d[0];d=d[1];var n=a.checkbox;if((a=a.legendGroup)&&a.element)a[z(a.translateY)?"animate":"attr"]({translateX:b?e:this.legendWidth-e-2*c-4,translateY:d});n&&(n.x=e,n.y=d)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())});b&&H(a.checkbox)},destroy:function(){function a(a){this[a]&&
(this[a]=this[a].destroy())}this.getAllItems().forEach(function(b){["legendItem","legendGroup"].forEach(a,b)});"clipRect up down pager nav box title group".split(" ").forEach(a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,b=this.clipHeight||this.legendHeight,c=this.titleHeight;if(a){var d=a.translateY;this.allItems.forEach(function(f){var e=f.checkbox;if(e){var g=d+c+e.y+(this.scrollOffset||0)+3;B(e,{left:a.translateX+f.checkboxOffset+e.x-20+"px",top:g+
"px",display:this.proximate||g>d-6&&g<d+b-6?"":"none"})}},this)}},renderTitle:function(){var a=this.options,b=this.padding,c=a.title,d=0;c.text&&(this.title||(this.title=this.chart.renderer.label(c.text,b-3,b-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(c.style),this.title.add(this.group)),c.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),d=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:d}));
this.titleHeight=d},setText:function(a){var b=this.options;a.legendItem.attr({text:b.labelFormat?c.format(b.labelFormat,a,this.chart.time):b.labelFormatter.call(a)})},renderItem:function(a){var b=this.chart,c=b.renderer,d=this.options,e=this.symbolWidth,n=d.symbolPadding,t=this.itemStyle,q=this.itemHiddenStyle,k="horizontal"===d.layout?p(d.itemDistance,20):0,m=!d.rtl,w=a.legendItem,C=!a.series,I=!C&&a.series.drawLegendSymbol?a.series:a,x=I.options;x=this.createCheckboxForItem&&x&&x.showCheckbox;k=
e+n+k+(x?20:0);var r=d.useHTML,l=a.options.className;w||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+I.type+"-series highcharts-color-"+a.colorIndex+(l?" "+l:"")+(C?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=w=c.text("",m?e+n:-n,this.baseline||0,r),b.styledMode||w.css(v(a.visible?t:q)),w.attr({align:m?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(b.styledMode?12:t.fontSize,w),this.baseline=this.fontMetrics.f+
3+this.itemMarginTop,w.attr("y",this.baseline)),this.symbolHeight=d.symbolHeight||this.fontMetrics.f,I.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,w,r));x&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!b.styledMode&&t.width||w.css({width:(d.itemWidth||this.widthOption||b.spacingBox.width)-k});this.setText(a);b=w.getBBox();a.itemWidth=a.checkboxOffset=d.itemWidth||a.legendItemWidth||b.width+k;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,d="horizontal"===b.layout,e=a.itemHeight,n=b.itemMarginBottom||0,t=this.itemMarginTop,q=d?p(b.itemDistance,20):0,k=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>k?this.maxItemWidth:a.itemWidth;d&&this.itemX-c+b>k&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=t+this.lastLineHeight+n),this.lastLineHeight=0);
this.lastItemY=t+this.itemY+n;this.lastLineHeight=Math.max(e,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];d?this.itemX+=b:(this.itemY+=t+e+n,this.lastLineHeight=e);this.offsetWidth=this.widthOption||Math.max((d?this.itemX-c-(a.checkbox?0:q):b)+c,this.offsetWidth)},getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var c=b&&b.options;b&&p(c.showInLegend,z(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});F(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,d=this.options,e=this.getAlignment();e&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(f,g){f.test(e)&&!z(a[g])&&(c[A[g]]=Math.max(c[A[g]],c.legend[(g+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][g]*d[g%2?"x":"y"]+p(d.margin,12)+b[g]+
(c.titleOffset[g]||0)))})},proximatePositions:function(){var a=this.chart,b=[],f="left"===this.options.align;this.allItems.forEach(function(d){var e=f;if(d.yAxis&&d.points){d.xAxis.options.reversed&&(e=!e);var n=c.find(e?d.points:d.points.slice(0).reverse(),function(a){return D(a.plotY)});e=d.legendGroup.getBBox().height;var t=d.yAxis.top-a.plotTop;d.visible?(n=n?n.plotY:d.yAxis.height,n+=t-.3*e):n=t+d.yAxis.height;b.push({target:n,size:e,item:d})}},this);c.distribute(b,a.plotHeight);b.forEach(function(d){d.item._legendItemPos[1]=
a.plotTop-a.spacing[0]+d.pos})},render:function(){var a=this.chart,b=a.renderer,f=this.group,d,e=this.box,n=this.options,t=this.padding;this.itemX=t;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=c.relativeLength(n.width,a.spacingBox.width-t);var q=a.spacingBox.width-2*t-n.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(q/=2);this.maxLegendWidth=this.widthOption||q;f||(this.group=f=b.g("legend").attr({zIndex:7}).add(),this.contentGroup=b.g().attr({zIndex:1}).add(f),
this.scrollGroup=b.g().add(this.contentGroup));this.renderTitle();q=this.getAllItems();y(q,function(a,d){return(a.options&&a.options.legendIndex||0)-(d.options&&d.options.legendIndex||0)});n.reversed&&q.reverse();this.allItems=q;this.display=d=!!q.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;q.forEach(this.renderItem,this);q.forEach(this.layoutItem,this);q=(this.widthOption||this.offsetWidth)+t;var k=this.lastItemY+this.lastLineHeight+this.titleHeight;k=this.handleOverflow(k);
k+=t;e||(this.box=e=b.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(f),e.isNew=!0);a.styledMode||e.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow);0<q&&0<k&&(e[e.isNew?"attr":"animate"](e.crisp.call({},{x:0,y:0,width:q,height:k},e.strokeWidth())),e.isNew=!1);e[d?"show":"hide"]();a.styledMode&&"none"===f.getStyle("display")&&(q=k=0);this.legendWidth=q;this.legendHeight=k;d&&(b=a.spacingBox,e=b.y,/(lth|ct|rth)/.test(this.getAlignment())&&
0<a.titleOffset[0]?e+=a.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<a.titleOffset[2]&&(e-=a.titleOffset[2]),e!==b.y&&(b=v(b,{y:e})),f.align(v(n,{width:q,height:k,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,b));this.proximate||this.positionItems();F(this,"afterRender")},handleOverflow:function(a){var b=this,c=this.chart,d=c.renderer,e=this.options,n=e.y,t=this.padding;n=c.spacingBox.height+("top"===e.verticalAlign?-n:n)-t;var q=e.maxHeight,k,m=this.clipRect,w=e.navigation,
C=p(w.animation,!0),I=w.arrowSize||12,x=this.nav,r=this.pages,l,u=this.allItems,y=function(a){"number"===typeof a?m.attr({height:a}):m&&(b.clipRect=m.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=a?"rect("+t+"px,9999px,"+(t+a)+"px,0)":"auto")},h=function(a){b[a]=d.circle(0,0,1.3*I).translate(I/2,I/2).add(x);c.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");return b[a]};"horizontal"!==e.layout||"middle"===e.verticalAlign||e.floating||(n/=2);q&&(n=Math.min(n,
q));r.length=0;a>n&&!1!==w.enabled?(this.clipHeight=k=Math.max(n-20-this.titleHeight-t,0),this.currentPage=p(this.currentPage,1),this.fullHeight=a,u.forEach(function(a,d){var b=a._legendItemPos[1],c=Math.round(a.legendItem.getBBox().height),f=r.length;if(!f||b-r[f-1]>k&&(l||b)!==r[f-1])r.push(l||b),f++;a.pageIx=f-1;l&&(u[d-1].pageIx=f-1);d===u.length-1&&b+c-r[f-1]>k&&b!==l&&(r.push(b),a.pageIx=f);b!==l&&(l=b)}),m||(m=b.clipRect=d.clipRect(0,t,9999,0),b.contentGroup.clip(m)),y(k),x||(this.nav=x=d.g().attr({zIndex:1}).add(this.group),
this.up=d.symbol("triangle",0,0,I,I).add(x),h("upTracker").on("click",function(){b.scroll(-1,C)}),this.pager=d.text("",15,10).addClass("highcharts-legend-navigation"),c.styledMode||this.pager.css(w.style),this.pager.add(x),this.down=d.symbol("triangle-down",0,0,I,I).add(x),h("downTracker").on("click",function(){b.scroll(1,C)})),b.scroll(0),a=n):x&&(y(),this.nav=x.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,b){var c=this.pages,d=c.length,e=this.currentPage+
a;a=this.clipHeight;var n=this.options.navigation,t=this.pager,q=this.padding;e>d&&(e=d);0<e&&(void 0!==b&&u(b,this.chart),this.nav.attr({translateX:q,translateY:a+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),t.attr({text:e+"/"+d}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":e===d?"highcharts-legend-nav-inactive":
"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===e?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===e?"default":"pointer"}),this.down.attr({fill:e===d?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:e===d?"default":"pointer"})),this.scrollOffset=-c[e-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=e,this.positionCheckboxes())}};c.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.symbolHeight,
d=a.options.squareSymbol;b.legendSymbol=this.chart.renderer.rect(d?(a.symbolWidth-c)/2:0,a.baseline-c+1,d?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,d=a.symbolWidth,e=a.symbolHeight,n=e/2,t=this.chart.renderer,q=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var k={};this.chart.styledMode||(k={"stroke-width":b.lineWidth||0},b.dashStyle&&(k.dashstyle=b.dashStyle));
this.legendLine=t.path(["M",0,a,"L",d,a]).addClass("highcharts-graph").attr(k).add(q);c&&!1!==c.enabled&&d&&(b=Math.min(p(c.radius,n),n),0===this.symbol.indexOf("url")&&(c=v(c,{width:e,height:e}),b=0),this.legendSymbol=c=t.symbol(this.symbol,d/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(q),c.isMarker=!0)}};(/Trident\/7\.0/.test(l.navigator&&l.navigator.userAgent)||h)&&e(c.Legend.prototype,"positionItem",function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};d();c.bubbleLegend||
setTimeout(d)})});K(E,"parts/Chart.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.attr,D=h.defined,G=h.erase,B=h.isArray,H=h.isNumber,F=h.isObject,A=h.isString,v=h.objectEach,p=h.pInt,u=h.splat,y=c.addEvent,l=c.animate,e=c.animObject,a=c.doc,b=c.Axis,f=c.createElement,d=c.defaultOptions,g=c.discardElement,n=c.charts,t=c.css,q=c.extend,k=c.find,m=c.fireEvent,w=c.Legend,C=c.marginNames,I=c.merge,x=c.Pointer,r=c.pick,M=c.removeEvent,L=c.seriesTypes,S=c.syncTimeout,Q=c.win,
R=c.Chart=function(){this.getArgs.apply(this,arguments)};c.chart=function(a,d,b){return new R(a,d,b)};q(R.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(A(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},init:function(a,b){var f,e=a.series,g=a.plotOptions||{};m(this,"init",{args:arguments},function(){a.series=null;f=I(d,a);v(f.plotOptions,function(a,d){F(a)&&(a.tooltip=g[d]&&I(g[d].tooltip)||void 0)});f.tooltip.userOptions=a.chart&&a.chart.forExport&&
a.tooltip.userOptions||a.tooltip;f.series=a.series=e;this.userOptions=a;var r=f.chart,w=r.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=b;this.isResizing=0;this.options=f;this.axes=[];this.series=[];this.time=a.time&&Object.keys(a.time).length?new c.Time(a.time):c.time;this.styledMode=r.styledMode;this.hasCartesianSeries=r.showAxes;var k=this;k.index=n.length;n.push(k);c.chartCount++;w&&v(w,function(a,d){c.isFunction(a)&&y(k,d,a)});k.xAxis=[];
k.yAxis=[];k.pointCount=k.colorCounter=k.symbolCounter=0;m(k,"afterInit");k.firstRender()})},initSeries:function(a){var d=this.options.chart;(d=L[a.type||d.type||d.defaultSeriesType])||c.error(17,!0,this);d=new d;d.init(this,a);return d},orderSeries:function(a){var d=this.series;for(a=a||0;a<d.length;a++)d[a]&&(d[a].index=a,d[a].name=d[a].getName())},isInsidePlot:function(a,d,b){var c=b?d:a;a=b?a:d;return 0<=c&&c<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(a){m(this,"beforeRedraw");
var d=this.axes,b=this.series,f=this.pointer,e=this.legend,g=this.userOptions.legend,r=this.isDirtyLegend,w=this.hasCartesianSeries,k=this.isDirtyBox,x=this.renderer,C=x.isHidden(),n=[];this.setResponsive&&this.setResponsive(!1);c.setAnimation(a,this);C&&this.temporaryDisplay();this.layOutTitles();for(a=b.length;a--;){var t=b[a];if(t.options.stacking){var I=!0;if(t.isDirty){var l=!0;break}}}if(l)for(a=b.length;a--;)t=b[a],t.options.stacking&&(t.isDirty=!0);b.forEach(function(a){a.isDirty&&("point"===
a.options.legendType?(a.updateTotals&&a.updateTotals(),r=!0):g&&(g.labelFormatter||g.labelFormat)&&(r=!0));a.isDirtyData&&m(a,"updatedData")});r&&e&&e.options.enabled&&(e.render(),this.isDirtyLegend=!1);I&&this.getStacks();w&&d.forEach(function(a){a.updateNames();a.setScale()});this.getMargins();w&&(d.forEach(function(a){a.isDirty&&(k=!0)}),d.forEach(function(a){var d=a.min+","+a.max;a.extKey!==d&&(a.extKey=d,n.push(function(){m(a,"afterSetExtremes",q(a.eventArgs,a.getExtremes()));delete a.eventArgs}));
(k||I)&&a.redraw()}));k&&this.drawChartBox();m(this,"predraw");b.forEach(function(a){(k||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});f&&f.reset(!0);x.draw();m(this,"redraw");m(this,"render");C&&this.temporaryDisplay(!0);n.forEach(function(a){a.call()})},get:function(a){function d(d){return d.id===a||d.options&&d.options.id===a}var b=this.series,c;var f=k(this.axes,d)||k(this.series,d);for(c=0;!f&&c<b.length;c++)f=k(b[c].points||[],d);return f},getAxes:function(){var a=this,d=this.options,
c=d.xAxis=u(d.xAxis||{});d=d.yAxis=u(d.yAxis||{});m(this,"getAxes");c.forEach(function(a,d){a.index=d;a.isX=!0});d.forEach(function(a,d){a.index=d});c.concat(d).forEach(function(d){new b(a,d)});m(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(d){a=a.concat((d[d.hasGroupedData?"points":"data"]||[]).filter(function(a){return r(a.selectedStaging,a.selected)}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},
setTitle:function(a,d,b){this.applyDescription("title",a);this.applyDescription("subtitle",d);this.applyDescription("caption",void 0);this.layOutTitles(b)},applyDescription:function(a,d){var b=this,c="title"===a?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"};c=this.options[a]=I(!this.styledMode&&{style:c},this.options[a],d);var f=this[a];f&&d&&(this[a]=f=f.destroy());c&&!f&&(f=this.renderer.text(c.text,0,0,c.useHTML).attr({align:c.align,"class":"highcharts-"+a,zIndex:c.zIndex||
4}).add(),f.update=function(d){b[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[a]](d)},this.styledMode||f.css(c.style),this[a]=f)},layOutTitles:function(a){var d=[0,0,0],b=this.renderer,c=this.spacingBox;["title","subtitle","caption"].forEach(function(a){var f=this[a],e=this.options[a],m=e.verticalAlign||"top";a="title"===a?-3:"top"===m?d[0]+2:0;if(f){if(!this.styledMode)var g=e.style.fontSize;g=b.fontMetrics(g,f).b;f.css({width:(e.width||c.width+(e.widthAdjust||0))+"px"});var r=
f.getBBox(e.useHTML).height;f.align(q({y:"bottom"===m?g:a+g,height:r},e),!1,"spacingBox");e.floating||("top"===m?d[0]=Math.ceil(d[0]+r):"bottom"===m&&(d[2]=Math.ceil(d[2]+r)))}},this);d[0]&&"top"===(this.options.title.verticalAlign||"top")&&(d[0]+=this.options.title.margin);d[2]&&"bottom"===this.options.caption.verticalAlign&&(d[2]+=this.options.caption.margin);var f=!this.titleOffset||this.titleOffset.join(",")!==d.join(",");this.titleOffset=d;!this.isDirtyBox&&f&&(this.isDirtyBox=this.isDirtyLegend=
f,this.hasRendered&&r(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var a=this.options.chart,d=a.width;a=a.height;var b=this.renderTo;D(d)||(this.containerWidth=c.getStyle(b,"width"));D(a)||(this.containerHeight=c.getStyle(b,"height"));this.chartWidth=Math.max(0,d||this.containerWidth||600);this.chartHeight=Math.max(0,c.relativeLength(a,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(d){var b=this.renderTo;if(d)for(;b&&b.style;)b.hcOrigStyle&&
(c.css(b,b.hcOrigStyle),delete b.hcOrigStyle),b.hcOrigDetached&&(a.body.removeChild(b),b.hcOrigDetached=!1),b=b.parentNode;else for(;b&&b.style;){a.body.contains(b)||b.parentNode||(b.hcOrigDetached=!0,a.body.appendChild(b));if("none"===c.getStyle(b,"display",!1)||b.hcOricDetached)b.hcOrigStyle={display:b.style.display,height:b.style.height,overflow:b.style.overflow},d={display:"block",overflow:"hidden"},b!==this.renderTo&&(d.height=0),c.css(b,d),b.offsetWidth||b.style.setProperty("display","block",
"important");b=b.parentNode;if(b===a.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var d=this.options,b=d.chart;var e=this.renderTo;var g=c.uniqueKey(),r,w;e||(this.renderTo=e=b.renderTo);A(e)&&(this.renderTo=e=a.getElementById(e));e||c.error(13,!0,this);var k=p(z(e,"data-highcharts-chart"));H(k)&&n[k]&&n[k].hasRendered&&n[k].destroy();z(e,"data-highcharts-chart",this.index);e.innerHTML="";b.skipClone||e.offsetWidth||this.temporaryDisplay();
this.getChartSize();k=this.chartWidth;var x=this.chartHeight;t(e,{overflow:"hidden"});this.styledMode||(r=q({position:"relative",overflow:"hidden",width:k+"px",height:x+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},b.style));this.container=e=f("div",{id:g},r,e);this._cursor=e.style.cursor;this.renderer=new (c[b.renderer]||c.Renderer)(e,k,x,null,b.forExport,d.exporting&&d.exporting.allowHTML,this.styledMode);this.setClassName(b.className);if(this.styledMode)for(w in d.defs)this.renderer.definition(d.defs[w]);
else this.renderer.setStyle(b.style);this.renderer.chartIndex=this.index;m(this,"afterGetContainer")},getMargins:function(a){var d=this.spacing,b=this.margin,c=this.titleOffset;this.resetMargins();c[0]&&!D(b[0])&&(this.plotTop=Math.max(this.plotTop,c[0]+d[0]));c[2]&&!D(b[2])&&(this.marginBottom=Math.max(this.marginBottom,c[2]+d[2]));this.legend&&this.legend.display&&this.legend.adjustMargins(b,d);m(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,d=a.axisOffset=[0,
0,0,0],b=a.colorAxis,c=a.margin,f=function(a){a.forEach(function(a){a.visible&&a.getOffset()})};a.hasCartesianSeries?f(a.axes):b&&b.length&&f(b);C.forEach(function(b,f){D(c[f])||(a[b]+=d[f])});a.setChartSize()},reflow:function(d){var b=this,f=b.options.chart,e=b.renderTo,m=D(f.width)&&D(f.height),g=f.width||c.getStyle(e,"width");f=f.height||c.getStyle(e,"height");e=d?d.target:Q;if(!m&&!b.isPrinting&&g&&f&&(e===Q||e===a)){if(g!==b.containerWidth||f!==b.containerHeight)c.clearTimeout(b.reflowTimeout),
b.reflowTimeout=S(function(){b.container&&b.setSize(void 0,void 0,!1)},d?100:0);b.containerWidth=g;b.containerHeight=f}},setReflow:function(a){var d=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=y(Q,"resize",function(a){d.options&&d.reflow(a)}),y(this,"destroy",this.unbindReflow))},setSize:function(a,d,b){var f=this,g=f.renderer;f.isResizing+=1;c.setAnimation(b,f);f.oldChartHeight=f.chartHeight;f.oldChartWidth=f.chartWidth;void 0!==
a&&(f.options.chart.width=a);void 0!==d&&(f.options.chart.height=d);f.getChartSize();if(!f.styledMode){var r=g.globalAnimation;(r?l:t)(f.container,{width:f.chartWidth+"px",height:f.chartHeight+"px"},r)}f.setChartSize(!0);g.setSize(f.chartWidth,f.chartHeight,b);f.axes.forEach(function(a){a.isDirty=!0;a.setScale()});f.isDirtyLegend=!0;f.isDirtyBox=!0;f.layOutTitles();f.getMargins();f.redraw(b);f.oldChartHeight=null;m(f,"resize");S(function(){f&&m(f,"endResize",null,function(){--f.isResizing})},e(r).duration)},
setChartSize:function(a){var d=this.inverted,b=this.renderer,c=this.chartWidth,f=this.chartHeight,e=this.options.chart,g=this.spacing,r=this.clipOffset,w,k,x,C;this.plotLeft=w=Math.round(this.plotLeft);this.plotTop=k=Math.round(this.plotTop);this.plotWidth=x=Math.max(0,Math.round(c-w-this.marginRight));this.plotHeight=C=Math.max(0,Math.round(f-k-this.marginBottom));this.plotSizeX=d?C:x;this.plotSizeY=d?x:C;this.plotBorderWidth=e.plotBorderWidth||0;this.spacingBox=b.spacingBox={x:g[3],y:g[0],width:c-
g[3]-g[1],height:f-g[0]-g[2]};this.plotBox=b.plotBox={x:w,y:k,width:x,height:C};c=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(c,r[3])/2);b=Math.ceil(Math.max(c,r[0])/2);this.clipBox={x:d,y:b,width:Math.floor(this.plotSizeX-Math.max(c,r[1])/2-d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(c,r[2])/2-b))};a||this.axes.forEach(function(a){a.setAxisSize();a.setAxisTranslation()});m(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){m(this,"resetMargins");var a=this,
d=a.options.chart;["margin","spacing"].forEach(function(b){var c=d[b],f=F(c)?c:[c,c,c,c];["Top","Right","Bottom","Left"].forEach(function(c,e){a[b][e]=r(d[b+c],f[e])})});C.forEach(function(d,b){a[d]=r(a.margin[b],a.spacing[b])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,d=this.renderer,b=this.chartWidth,c=this.chartHeight,f=this.chartBackground,e=this.plotBackground,g=this.plotBorder,r=this.styledMode,w=this.plotBGImage,k=a.backgroundColor,x=a.plotBackgroundColor,
C=a.plotBackgroundImage,n,q=this.plotLeft,t=this.plotTop,I=this.plotWidth,l=this.plotHeight,p=this.plotBox,u=this.clipRect,y=this.clipBox,h="animate";f||(this.chartBackground=f=d.rect().addClass("highcharts-background").add(),h="attr");if(r)var L=n=f.strokeWidth();else{L=a.borderWidth||0;n=L+(a.shadow?8:0);k={fill:k||"none"};if(L||f["stroke-width"])k.stroke=a.borderColor,k["stroke-width"]=L;f.attr(k).shadow(a.shadow)}f[h]({x:n/2,y:n/2,width:b-n-L%2,height:c-n-L%2,r:a.borderRadius});h="animate";e||
(h="attr",this.plotBackground=e=d.rect().addClass("highcharts-plot-background").add());e[h](p);r||(e.attr({fill:x||"none"}).shadow(a.plotShadow),C&&(w?w.animate(p):this.plotBGImage=d.image(C,q,t,I,l).add()));u?u.animate({width:y.width,height:y.height}):this.clipRect=d.clipRect(y);h="animate";g||(h="attr",this.plotBorder=g=d.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());r||g.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});g[h](g.crisp({x:q,y:t,width:I,
height:l},-g.strokeWidth()));this.isDirtyBox=!1;m(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,d=a.options.chart,b,c=a.options.series,f,e;["inverted","angular","polar"].forEach(function(m){b=L[d.type||d.defaultSeriesType];e=d[m]||b&&b.prototype[m];for(f=c&&c.length;!e&&f--;)(b=L[c[f].type])&&b.prototype[m]&&(e=!0);a[m]=e})},linkSeries:function(){var a=this,d=a.series;d.forEach(function(a){a.linkedSeries.length=0});d.forEach(function(d){var b=d.options.linkedTo;A(b)&&(b=":previous"===
b?a.series[d.index-1]:a.get(b))&&b.linkedParent!==d&&(b.linkedSeries.push(d),d.linkedParent=b,d.visible=r(d.options.visible,b.options.visible,d.visible))});m(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,d=a.options.labels;d.items&&d.items.forEach(function(b){var c=q(d.style,b.style),f=p(c.left)+a.plotLeft,e=p(c.top)+a.plotTop+12;delete c.left;delete c.top;a.renderer.text(b.html,f,e).attr({zIndex:2}).css(c).add()})},
render:function(){var a=this.axes,d=this.colorAxis,b=this.renderer,c=this.options,f=0,e=function(a){a.forEach(function(a){a.visible&&a.render()})};this.setTitle();this.legend=new w(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return f=21,!0});var m=this.plotHeight=Math.max(this.plotHeight-f,0);a.forEach(function(a){a.setScale()});this.getAxisMargins();var g=
1.1<c/this.plotWidth;var r=1.05<m/this.plotHeight;if(g||r)a.forEach(function(a){(a.horiz&&g||!a.horiz&&r)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries?e(a):d&&d.length&&e(d);this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.updateContainerScaling();this.hasRendered=!0},addCredits:function(a){var d=this;a=I(!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&&(Q.location.href=a.href)}).attr({align:a.position.align,zIndex:8}),d.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){d.credits=d.credits.destroy();d.addCredits(a)})},updateContainerScaling:function(){var a=this.container;if(a.offsetWidth&&a.offsetHeight&&a.getBoundingClientRect){var d=
a.getBoundingClientRect(),b=d.width/a.offsetWidth;a=d.height/a.offsetHeight;1!==b||1!==a?this.containerScaling={scaleX:b,scaleY:a}:delete this.containerScaling}},destroy:function(){var a=this,d=a.axes,b=a.series,f=a.container,e,r=f&&f.parentNode;m(a,"destroy");a.renderer.forExport?G(n,a):n[a.index]=void 0;c.chartCount--;a.renderTo.removeAttribute("data-highcharts-chart");M(a);for(e=d.length;e--;)d[e]=d[e].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(e=b.length;e--;)b[e]=
b[e].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(d){var b=a[d];b&&b.destroy&&(a[d]=b.destroy())});f&&(f.innerHTML="",M(f),r&&g(f));v(a,function(d,b){delete a[b]})},firstRender:function(){var a=this,d=a.options;if(!a.isReadyToRender||a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();(B(d.series)?
d.series:[]).forEach(function(d){a.initSeries(d)});a.linkSeries();m(a,"beforeRender");x&&(a.pointer=new x(a,d));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){this.callbacks.concat([this.callback]).forEach(function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);m(this,"load");m(this,"render");D(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});K(E,"parts/Point.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],
function(c,h){var z=h.defined,D=h.erase,G=h.isArray,B=h.isNumber,H=h.isObject,F,A=c.extend,v=c.fireEvent,p=c.format,u=c.pick,y=c.uniqueKey,l=c.removeEvent;c.Point=F=function(){};c.Point.prototype={init:function(c,a,b){this.series=c;this.applyOptions(a,b);this.id=z(this.id)?this.id:y();this.resolveColor();c.chart.pointCount++;v(this,"afterInit");return this},resolveColor:function(){var c=this.series;var a=c.chart.options.chart.colorCount;var b=c.chart.styledMode;b||this.options.color||(this.color=
c.color);c.options.colorByPoint?(b||(a=c.options.colors||c.chart.options.colors,this.color=this.color||a[c.colorCounter],a=a.length),b=c.colorCounter,c.colorCounter++,c.colorCounter===a&&(c.colorCounter=0)):b=c.colorIndex;this.colorIndex=u(this.colorIndex,b)},applyOptions:function(c,a){var b=this.series,f=b.options.pointValKey||b.pointValKey;c=F.prototype.optionsToObject.call(this,c);A(this,c);this.options=this.options?A(this.options,c):c;c.group&&delete this.group;c.dataLabels&&delete this.dataLabels;
f&&(this.y=this[f]);this.formatPrefix=(this.isNull=u(this.isValid&&!this.isValid(),null===this.x||!B(this.y)))?"null":"point";this.selected&&(this.state="select");"name"in this&&void 0===a&&b.xAxis&&b.xAxis.hasNames&&(this.x=b.xAxis.nameToX(this));void 0===this.x&&b&&(this.x=void 0===a?b.autoIncrement(this):a);return this},setNestedProperty:function(c,a,b){b.split(".").reduce(function(b,d,c,e){b[d]=e.length-1===c?a:H(b[d],!0)?b[d]:{};return b[d]},c);return c},optionsToObject:function(e){var a={},
b=this.series,f=b.options.keys,d=f||b.pointArrayMap||["y"],g=d.length,n=0,t=0;if(B(e)||null===e)a[d[0]]=e;else if(G(e))for(!f&&e.length>g&&(b=typeof e[0],"string"===b?a.name=e[0]:"number"===b&&(a.x=e[0]),n++);t<g;)f&&void 0===e[n]||(0<d[t].indexOf(".")?c.Point.prototype.setNestedProperty(a,e[n],d[t]):a[d[t]]=e[n]),n++,t++;else"object"===typeof e&&(a=e,e.dataLabels&&(b._hasPointLabels=!0),e.marker&&(b._hasPointMarkers=!0));return a},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 c=this.series,a=c.zones;c=c.zoneAxis||"y";var b=0,f;for(f=a[b];this[c]>=f.value;)f=a[++b];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=f&&f.color&&!this.options.color?
f.color:this.nonZonedColor;return f},destroy:function(){var c=this.series.chart,a=c.hoverPoints,b;c.pointCount--;a&&(this.setState(),D(a,this),a.length||(c.hoverPoints=null));if(this===c.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)l(this),this.destroyElements();this.legendItem&&c.legend.destroyItem(this);for(b in this)this[b]=null},destroyElements:function(c){var a=this,b=[],f;c=c||{graphic:1,dataLabel:1};c.graphic&&b.push("graphic","shadowGroup");c.dataLabel&&b.push("dataLabel",
"dataLabelUpper","connector");for(f=b.length;f--;){var d=b[f];a[d]&&(a[d]=a[d].destroy())}["dataLabel","connector"].forEach(function(d){var b=d+"s";c[d]&&a[b]&&(a[b].forEach(function(a){a.element&&a.destroy()}),delete a[b])})},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(c){var a=this.series,b=a.tooltipOptions,
f=u(b.valueDecimals,""),d=b.valuePrefix||"",e=b.valueSuffix||"";a.chart.styledMode&&(c=a.chart.tooltip.styledModeFormat(c));(a.pointArrayMap||["y"]).forEach(function(a){a="{point."+a;if(d||e)c=c.replace(RegExp(a+"}","g"),d+a+"}"+e);c=c.replace(RegExp(a+"}","g"),a+":,."+f+"f}")});return p(c,{point:this,series:this.series},a.chart.time)},firePointEvent:function(c,a,b){var f=this,d=this.series.options;(d.point.events[c]||f.options&&f.options.events&&f.options.events[c])&&this.importEvents();"click"===
c&&d.allowPointSelect&&(b=function(a){f.select&&f.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});v(this,c,a,b)},visible:!0}});K(E,"parts/Series.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.erase,G=h.isArray,B=h.isNumber,H=h.isString,F=h.objectEach,A=h.splat,v=c.addEvent,p=c.animObject,u=c.arrayMax,y=c.arrayMin,l=c.correctFloat,e=c.defaultOptions,a=c.defaultPlotOptions,b=c.extend,f=c.fireEvent,d=c.merge,g=c.pick,n=c.removeEvent,t=c.SVGElement,q=c.syncTimeout,
k=c.win;c.Series=c.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?"":c.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",
fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,isCartesian:!0,
parallelArrays:["x","y"],pointClass:c.Point,requireSorting:!0,sorted:!0,init:function(a,d){f(this,"init",{options:d});var e=this,m=a.series,w;this.eventOptions=this.eventOptions||{};e.chart=a;e.options=d=e.setOptions(d);e.linkedSeries=[];e.bindAxes();b(e,{name:d.name,state:"",visible:!1!==d.visible,selected:!0===d.selected});var r=d.events;F(r,function(a,d){c.isFunction(a)&&e.eventOptions[d]!==a&&(c.isFunction(e.eventOptions[d])&&n(e,d,e.eventOptions[d]),e.eventOptions[d]=a,v(e,d,a))});if(r&&r.click||
d.point&&d.point.events&&d.point.events.click||d.allowPointSelect)a.runTrackerClick=!0;e.getColor();e.getSymbol();e.parallelArrays.forEach(function(a){e[a+"Data"]||(e[a+"Data"]=[])});e.points||e.data||e.setData(d.data,!1);e.isCartesian&&(a.hasCartesianSeries=!0);m.length&&(w=m[m.length-1]);e._i=g(w&&w._i,-1)+1;a.orderSeries(this.insert(m));f(this,"afterInit")},insert:function(a){var d=this.options.index,b;if(B(d)){for(b=a.length;b--;)if(d>=g(a[b].options.index,a[b]._i)){a.splice(b+1,0,this);break}-1===
b&&a.unshift(this);b+=1}else a.push(this);return g(b,a.length-1)},bindAxes:function(){var a=this,d=a.options,b=a.chart,e;f(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(f){b[f].forEach(function(b){e=b.options;if(d[f]===e.index||void 0!==d[f]&&d[f]===e.id||void 0===d[f]&&0===e.index)a.insert(b.series),a[f]=b,b.isDirty=!0});a[f]||a.optionalAxis===f||c.error(18,!0,b)})})},updateParallelArrays:function(a,d){var b=a.series,c=arguments,f=B(d)?function(c){var f="y"===c&&b.toYData?b.toYData(a):
a[c];b[c+"Data"][d]=f}:function(a){Array.prototype[d].apply(b[a+"Data"],Array.prototype.slice.call(c,2))};b.parallelArrays.forEach(f)},hasData:function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var a=this.options,d=this.xIncrement,b,c=a.pointIntervalUnit,f=this.chart.time;d=g(d,a.pointStart,0);this.pointInterval=b=g(this.pointInterval,a.pointInterval,1);c&&(a=new f.Date(d),"day"===c?f.set("Date",a,f.get("Date",
a)+b):"month"===c?f.set("Month",a,f.get("Month",a)+b):"year"===c&&f.set("FullYear",a,f.get("FullYear",a)+b),b=a.getTime()-d);this.xIncrement=d+b;return d},setOptions:function(a){var b=this.chart,c=b.options,m=c.plotOptions,k=b.userOptions||{};a=d(a);b=b.styledMode;var r={plotOptions:m,userOptions:a};f(this,"setOptions",r);var n=r.plotOptions[this.type],q=k.plotOptions||{};this.userOptions=r.userOptions;k=d(n,m.series,k.plotOptions&&k.plotOptions[this.type],a);this.tooltipOptions=d(e.tooltip,e.plotOptions.series&&
e.plotOptions.series.tooltip,e.plotOptions[this.type].tooltip,c.tooltip.userOptions,m.series&&m.series.tooltip,m[this.type].tooltip,a.tooltip);this.stickyTracking=g(a.stickyTracking,q[this.type]&&q[this.type].stickyTracking,q.series&&q.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:k.stickyTracking);null===n.marker&&delete k.marker;this.zoneAxis=k.zoneAxis;c=this.zones=(k.zones||[]).slice();!k.negativeColor&&!k.negativeFillColor||k.zones||(m={value:k[this.zoneAxis+"Threshold"]||
k.threshold||0,className:"highcharts-negative"},b||(m.color=k.negativeColor,m.fillColor=k.negativeFillColor),c.push(m));c.length&&z(c[c.length-1].value)&&c.push(b?{}:{color:this.color,fillColor:this.fillColor});f(this,"afterSetOptions",{options:k});return k},getName:function(){return g(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,d,b){var c=this.chart,f=this.userOptions,e=a+"Index",m=a+"Counter",k=b?b.length:g(c.options.chart[a+"Count"],c[a+"Count"]);if(!d){var w=g(f[e],f["_"+
e]);z(w)||(c.series.length||(c[m]=0),f["_"+e]=w=c[m]%k,c[m]+=1);b&&(d=b[w])}void 0!==w&&(this[e]=w);this[a]=d},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||a[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,d){var b=a.id;a=a.x;var c=this.points,f;if(b){var e=(b=this.chart.get(b))&&
b.index;void 0!==e&&(f=!0)}void 0===e&&B(a)&&(e=this.xData.indexOf(a,d));-1!==e&&void 0!==e&&this.cropped&&(e=e>=this.cropStart?e-this.cropStart:e);!f&&c[e]&&c[e].touched&&(e=void 0);return e},drawLegendSymbol:c.LegendSymbolMixin.drawLineMarker,updateData:function(a){var d=this.options,b=this.points,c=[],f,e,m,g=this.requireSorting,k=a.length===b.length,q=!0;this.xIncrement=null;a.forEach(function(a,e){var r=z(a)&&this.pointClass.prototype.optionsToObject.call({series:this},a)||{};var w=r.x;if(r.id||
B(w))if(w=this.findPointIndex(r,m),-1===w||void 0===w?c.push(a):b[w]&&a!==d.data[w]?(b[w].update(a,!1,null,!1),b[w].touched=!0,g&&(m=w+1)):b[w]&&(b[w].touched=!0),!k||e!==w||this.hasDerivedData)f=!0},this);if(f)for(a=b.length;a--;)(e=b[a])&&!e.touched&&e.remove(!1);else k?a.forEach(function(a,d){b[d].update&&a!==b[d].y&&b[d].update(a,!1,null,!1)}):q=!1;b.forEach(function(a){a&&(a.touched=!1)});if(!q)return!1;c.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(a,
d,b,f){var e=this,m=e.points,k=m&&m.length||0,w,q=e.options,n=e.chart,C=null,t=e.xAxis,l=q.turboThreshold,I=this.xData,p=this.yData,u=(w=e.pointArrayMap)&&w.length,y=q.keys,h=0,v=1,A;a=a||[];w=a.length;d=g(d,!0);!1!==f&&w&&k&&!e.cropped&&!e.hasGroupedData&&e.visible&&!e.isSeriesBoosting&&(A=this.updateData(a));if(!A){e.xIncrement=null;e.colorCounter=0;this.parallelArrays.forEach(function(a){e[a+"Data"].length=0});if(l&&w>l){for(b=0;null===C&&b<w;)C=a[b],b++;if(B(C))for(b=0;b<w;b++)I[b]=this.autoIncrement(),
p[b]=a[b];else if(G(C))if(u)for(b=0;b<w;b++)C=a[b],I[b]=C[0],p[b]=C.slice(1,u+1);else for(y&&(h=y.indexOf("x"),v=y.indexOf("y"),h=0<=h?h:0,v=0<=v?v:1),b=0;b<w;b++)C=a[b],I[b]=C[h],p[b]=C[v];else c.error(12,!1,n)}else for(b=0;b<w;b++)void 0!==a[b]&&(C={series:e},e.pointClass.prototype.applyOptions.apply(C,[a[b]]),e.updateParallelArrays(C,b));p&&H(p[0])&&c.error(14,!0,n);e.data=[];e.options.data=e.userOptions.data=a;for(b=k;b--;)m[b]&&m[b].destroy&&m[b].destroy();t&&(t.minRange=t.userMinRange);e.isDirty=
n.isDirtyBox=!0;e.isDirtyData=!!m;b=!1}"point"===q.legendType&&(this.processData(),this.generatePoints());d&&n.redraw(b)},processData:function(a){var d=this.xData,b=this.yData,f=d.length;var e=0;var m=this.xAxis,g=this.options;var k=g.cropThreshold;var q=this.getExtremesFromAll||g.getExtremesFromAll,n=this.isCartesian;g=m&&m.val2lin;var t=m&&m.isLog,l=this.requireSorting;if(n&&!this.isDirty&&!m.isDirty&&!this.yAxis.isDirty&&!a)return!1;if(m){a=m.getExtremes();var p=a.min;var u=a.max}if(n&&this.sorted&&
!q&&(!k||f>k||this.forceCrop))if(d[f-1]<p||d[0]>u)d=[],b=[];else if(this.yData&&(d[0]<p||d[f-1]>u)){e=this.cropData(this.xData,this.yData,p,u);d=e.xData;b=e.yData;e=e.start;var h=!0}for(k=d.length||1;--k;)if(f=t?g(d[k])-g(d[k-1]):d[k]-d[k-1],0<f&&(void 0===y||f<y))var y=f;else 0>f&&l&&(c.error(15,!1,this.chart),l=!1);this.cropped=h;this.cropStart=e;this.processedXData=d;this.processedYData=b;this.closestPointRange=this.basePointRange=y},cropData:function(a,d,b,c,f){var e=a.length,m=0,k=e,w;f=g(f,
this.cropShoulder);for(w=0;w<e;w++)if(a[w]>=b){m=Math.max(0,w-f);break}for(b=w;b<e;b++)if(a[b]>c){k=b+f;break}return{xData:a.slice(m,k),yData:d.slice(m,k),start:m,end:k}},generatePoints:function(){var a=this.options,d=a.data,c=this.data,e,g=this.processedXData,k=this.processedYData,q=this.pointClass,n=g.length,t=this.cropStart||0,l=this.hasGroupedData;a=a.keys;var p=[],u;c||l||(c=[],c.length=d.length,c=this.data=c);a&&l&&(this.options.keys=!1);for(u=0;u<n;u++){var y=t+u;if(l){var h=(new q).init(this,
[g[u]].concat(A(k[u])));h.dataGroup=this.groupMap[u];h.dataGroup.options&&(h.options=h.dataGroup.options,b(h,h.dataGroup.options),delete h.dataLabels)}else(h=c[y])||void 0===d[y]||(c[y]=h=(new q).init(this,d[y],g[u]));h&&(h.index=y,p[u]=h)}this.options.keys=a;if(c&&(n!==(e=c.length)||l))for(u=0;u<e;u++)u!==t||l||(u+=n),c[u]&&(c[u].destroyElements(),c[u].plotX=void 0);this.data=c;this.points=p;f(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:y(a),max:u(a)}},getExtremes:function(a){var d=
this.xAxis,b=this.yAxis,c=this.processedXData||this.xData,e=[],m=0,g=0;var k=0;var q=this.requireSorting?this.cropShoulder:0,n=b?b.positiveValuesOnly:!1,t;a=a||this.stackedYData||this.processedYData||[];b=a.length;d&&(k=d.getExtremes(),g=k.min,k=k.max);for(t=0;t<b;t++){var l=c[t];var p=a[t];var h=(B(p)||G(p))&&(p.length||0<p||!n);l=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!d||(c[t+q]||l)>=g&&(c[t-q]||l)<=k;if(h&&l)if(h=p.length)for(;h--;)B(p[h])&&(e[m++]=p[h]);else e[m++]=
p}this.dataMin=y(e);this.dataMax=u(e);f(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,d=a.stacking,b=this.xAxis,c=b.categories,e=this.yAxis,k=this.points,q=k.length,n=!!this.modifyValue,t,p=this.pointPlacementToXValue(),u=B(p),h=a.threshold,y=a.startFromThreshold?h:0,v,A=this.zoneAxis||"y",D=Number.MAX_VALUE;for(t=0;t<q;t++){var F=k[t],H=F.x;var E=F.y;var K=F.low,O=d&&e.stacks[(this.negStacks&&E<(y?0:h)?"-":"")+this.stackKey];
e.positiveValuesOnly&&null!==E&&0>=E&&(F.isNull=!0);F.plotX=v=l(Math.min(Math.max(-1E5,b.translate(H,0,0,0,1,p,"flags"===this.type)),1E5));if(d&&this.visible&&O&&O[H]){var Y=this.getStackIndicator(Y,H,this.index);if(!F.isNull){var V=O[H];var Z=V.points[Y.key]}}G(Z)&&(K=Z[0],E=Z[1],K===y&&Y.key===O[H].base&&(K=g(B(h)&&h,e.min)),e.positiveValuesOnly&&0>=K&&(K=null),F.total=F.stackTotal=V.total,F.percentage=V.total&&F.y/V.total*100,F.stackY=E,this.irregularWidths||V.setOffset(this.pointXOffset||0,this.barW||
0));F.yBottom=z(K)?Math.min(Math.max(-1E5,e.translate(K,0,1,0,1)),1E5):null;n&&(E=this.modifyValue(E,F));F.plotY=E="number"===typeof E&&Infinity!==E?Math.min(Math.max(-1E5,e.translate(E,0,1,0,1)),1E5):void 0;F.isInside=void 0!==E&&0<=E&&E<=e.len&&0<=v&&v<=b.len;F.clientX=u?l(b.translate(H,0,0,0,1,p)):v;F.negative=F[A]<(a[A+"Threshold"]||h||0);F.category=c&&void 0!==c[F.x]?c[F.x]:F.x;if(!F.isNull){void 0!==aa&&(D=Math.min(D,Math.abs(v-aa)));var aa=v}F.zone=this.zones.length&&F.getZone()}this.closestPointRangePx=
D;f(this,"afterTranslate")},getValidPoints:function(a,d,b){var c=this.chart;return(a||this.points||[]).filter(function(a){return d&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:b||!a.isNull})},getClipBox:function(a,d){var b=this.options,c=this.chart,f=c.inverted,e=this.xAxis,m=e&&this.yAxis;a&&!1===b.clip&&m?a=f?{y:-c.chartWidth+m.len+m.pos,height:c.chartWidth,width:c.chartHeight,x:-c.chartHeight+e.len+e.pos}:{y:-m.pos,height:c.chartHeight,width:c.chartWidth,x:-e.pos}:(a=this.clipBox||c.clipBox,
d&&(a.width=c.plotSizeX,a.x=0));return d?{width:a.width,x:a.x}:a},setClip:function(a){var d=this.chart,b=this.options,c=d.renderer,f=d.inverted,e=this.clipBox,m=this.getClipBox(a),g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,m.height,b.xAxis,b.yAxis].join(),k=d[g],q=d[g+"m"];k||(a&&(m.width=0,f&&(m.x=d.plotSizeX+(!1!==b.clip?0:d.plotTop)),d[g+"m"]=q=c.clipRect(f?d.plotSizeX+99:-99,f?-d.plotLeft:-d.plotTop,99,f?d.chartWidth:d.chartHeight)),d[g]=k=c.clipRect(m),k.count={length:0});
a&&!k.count[this.index]&&(k.count[this.index]=!0,k.count.length+=1);if(!1!==b.clip||a)this.group.clip(a||e?k:d.clipRect),this.markerGroup.clip(q),this.sharedClipKey=g;a||(k.count[this.index]&&(delete k.count[this.index],--k.count.length),0===k.count.length&&g&&d[g]&&(e||(d[g]=d[g].destroy()),d[g+"m"]&&(d[g+"m"]=d[g+"m"].destroy())))},animate:function(a){var d=this.chart,b=p(this.options.animation);if(a)this.setClip(b);else{var c=this.sharedClipKey;a=d[c];var f=this.getClipBox(b,!0);a&&a.animate(f,
b);d[c+"m"]&&d[c+"m"].animate({width:f.width+99,x:f.x-(d.inverted?0:99)},b);this.animate=null}},afterAnimate:function(){this.setClip();f(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,d=this.chart,b,c=this.options.marker,f=this[this.specialGroup]||this.markerGroup;var e=this.xAxis;var k=g(c.enabled,!e||e.isRadial?!0:null,this.closestPointRangePx>=c.enabledThreshold*c.radius);if(!1!==c.enabled||this._hasPointMarkers)for(e=0;e<a.length;e++){var q=a[e];var n=
(b=q.graphic)?"animate":"attr";var t=q.marker||{};var l=!!q.marker;var p=k&&void 0===t.enabled||t.enabled;var u=!1!==q.isInside;if(p&&!q.isNull){p=g(t.symbol,this.symbol);var h=this.markerAttribs(q,q.selected&&"select");b?b[u?"show":"hide"](u).animate(h):u&&(0<h.width||q.hasImage)&&(q.graphic=b=d.renderer.symbol(p,h.x,h.y,h.width,h.height,l?t:c).add(f));if(b&&!d.styledMode)b[n](this.pointAttribs(q,q.selected&&"select"));b&&b.addClass(q.getClassName(),!0)}else b&&(q.graphic=b.destroy())}},markerAttribs:function(a,
d){var b=this.options.marker,c=a.marker||{},f=c.symbol||b.symbol,e=g(c.radius,b.radius);d&&(b=b.states[d],d=c.states&&c.states[d],e=g(d&&d.radius,b&&b.radius,e+(b&&b.radiusPlus||0)));a.hasImage=f&&0===f.indexOf("url");a.hasImage&&(e=0);a={x:Math.floor(a.plotX)-e,y:a.plotY-e};e&&(a.width=a.height=2*e);return a},pointAttribs:function(a,d){var b=this.options.marker,c=a&&a.options,f=c&&c.marker||{},e=this.color,m=c&&c.color,k=a&&a.color;c=g(f.lineWidth,b.lineWidth);var q=a&&a.zone&&a.zone.color;a=1;e=
m||q||k||e;m=f.fillColor||b.fillColor||e;e=f.lineColor||b.lineColor||e;d=d||"normal";b=b.states[d];d=f.states&&f.states[d]||{};c=g(d.lineWidth,b.lineWidth,c+g(d.lineWidthPlus,b.lineWidthPlus,0));m=d.fillColor||b.fillColor||m;e=d.lineColor||b.lineColor||e;a=g(d.opacity,b.opacity,a);return{stroke:e,"stroke-width":c,fill:m,opacity:a}},destroy:function(a){var d=this,b=d.chart,e=/AppleWebKit\/533/.test(k.navigator.userAgent),g,m,q=d.data||[],l,p;f(d,"destroy");a||n(d);(d.axisTypes||[]).forEach(function(a){(p=
d[a])&&p.series&&(D(p.series,d),p.isDirty=p.forceRedraw=!0)});d.legendItem&&d.chart.legend.destroyItem(d);for(m=q.length;m--;)(l=q[m])&&l.destroy&&l.destroy();d.points=null;c.clearTimeout(d.animationTimeout);F(d,function(a,d){a instanceof t&&!a.survive&&(g=e&&"group"===d?"hide":"destroy",a[g]())});b.hoverSeries===d&&(b.hoverSeries=null);D(b.series,d);b.orderSeries();F(d,function(b,c){a&&"hcEvents"===c||delete d[c]})},getGraphPath:function(a,d,b){var c=this,f=c.options,e=f.step,g,m=[],k=[],q;a=a||
c.points;(g=a.reversed)&&a.reverse();(e={right:1,center:2}[e]||e&&3)&&g&&(e=4-e);!f.connectNulls||d||b||(a=this.getValidPoints(a));a.forEach(function(g,r){var n=g.plotX,w=g.plotY,t=a[r-1];(g.leftCliff||t&&t.rightCliff)&&!b&&(q=!0);g.isNull&&!z(d)&&0<r?q=!f.connectNulls:g.isNull&&!d?q=!0:(0===r||q?r=["M",g.plotX,g.plotY]:c.getPointSpline?r=c.getPointSpline(a,g,r):e?(r=1===e?["L",t.plotX,w]:2===e?["L",(t.plotX+n)/2,t.plotY,"L",(t.plotX+n)/2,w]:["L",n,t.plotY],r.push("L",n,w)):r=["L",n,w],k.push(g.x),
e&&(k.push(g.x),2===e&&k.push(g.x)),m.push.apply(m,r),q=!1)});m.xMap=k;return c.graphPath=m},drawGraph:function(){var a=this,d=this.options,b=(this.gappedPath||this.getGraphPath).call(this),c=this.chart.styledMode,f=[["graph","highcharts-graph"]];c||f[0].push(d.lineColor||this.color||"#cccccc",d.dashStyle);f=a.getZonesGraphs(f);f.forEach(function(f,e){var g=f[0],m=a[g],k=m?"animate":"attr";m?(m.endX=a.preventGraphAnimation?null:b.xMap,m.animate({d:b})):b.length&&(a[g]=m=a.chart.renderer.path(b).addClass(f[1]).attr({zIndex:1}).add(a.group));
m&&!c&&(g={stroke:f[2],"stroke-width":d.lineWidth,fill:a.fillGraph&&a.color||"none"},f[3]?g.dashstyle=f[3]:"square"!==d.linecap&&(g["stroke-linecap"]=g["stroke-linejoin"]="round"),m[k](g).shadow(2>e&&d.shadow));m&&(m.startX=b.xMap,m.isArea=b.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(d,b){b=["zone-graph-"+b,"highcharts-graph highcharts-zone-graph-"+b+" "+(d.className||"")];this.chart.styledMode||b.push(d.color||this.color,d.dashStyle||this.options.dashStyle);a.push(b)},this);
return a},applyZones:function(){var a=this,d=this.chart,b=d.renderer,c=this.zones,f,e,k=this.clips||[],q,n=this.graph,t=this.area,l=Math.max(d.chartWidth,d.chartHeight),p=this[(this.zoneAxis||"y")+"Axis"],u=d.inverted,h,y,v,A=!1;if(c.length&&(n||t)&&p&&void 0!==p.min){var B=p.reversed;var z=p.horiz;n&&!this.showLine&&n.hide();t&&t.hide();var G=p.getExtremes();c.forEach(function(c,m){f=B?z?d.plotWidth:0:z?0:p.toPixels(G.min)||0;f=Math.min(Math.max(g(e,f),0),l);e=Math.min(Math.max(Math.round(p.toPixels(g(c.value,
G.max),!0)||0),0),l);A&&(f=e=p.toPixels(G.max));h=Math.abs(f-e);y=Math.min(f,e);v=Math.max(f,e);p.isXAxis?(q={x:u?v:y,y:0,width:h,height:l},z||(q.x=d.plotHeight-q.x)):(q={x:0,y:u?v:y,width:l,height:h},z&&(q.y=d.plotWidth-q.y));u&&b.isVML&&(q=p.isXAxis?{x:0,y:B?y:v,height:q.width,width:d.chartWidth}:{x:q.y-d.plotLeft-d.spacingBox.x,y:0,width:q.height,height:d.chartHeight});k[m]?k[m].animate(q):k[m]=b.clipRect(q);n&&a["zone-graph-"+m].clip(k[m]);t&&a["zone-area-"+m].clip(k[m]);A=c.value>G.max;a.resetZones&&
0===e&&(e=void 0)});this.clips=k}else a.visible&&(n&&n.show(!0),t&&t.show(!0))},invertGroups:function(a){function d(){["group","markerGroup"].forEach(function(d){b[d]&&(c.renderer.isVML&&b[d].attr({width:b.yAxis.len,height:b.xAxis.len}),b[d].width=b.yAxis.len,b[d].height=b.xAxis.len,b[d].invert(a))})}var b=this,c=b.chart;if(b.xAxis){var f=v(c,"resize",d);v(b,"destroy",f);d(a);b.invertGroups=d}},plotGroup:function(a,d,b,c,f){var e=this[a],g=!e;g&&(this[a]=e=this.chart.renderer.g().attr({zIndex:c||
.1}).add(f));e.addClass("highcharts-"+d+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(z(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(e.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);e.attr({visibility:b})[g?"attr":"animate"](this.getPlotBox());return e},getPlotBox:function(){var a=this.chart,d=this.xAxis,b=this.yAxis;a.inverted&&(d=b,b=this.xAxis);return{translateX:d?d.left:a.plotLeft,translateY:b?b.top:a.plotTop,
scaleX:1,scaleY:1}},render:function(){var a=this,d=a.chart,b=a.options,c=!!a.animate&&d.renderer.isSVG&&p(b.animation).duration,e=a.visible?"inherit":"hidden",g=b.zIndex,k=a.hasRendered,n=d.seriesGroup,t=d.inverted;f(this,"render");var l=a.plotGroup("group","series",e,g,n);a.markerGroup=a.plotGroup("markerGroup","markers",e,g,n);c&&a.animate(!0);l.inverted=a.isCartesian||a.invertable?t:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.visible&&a.drawPoints();a.drawDataLabels&&a.drawDataLabels();a.redrawPoints&&
a.redrawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(t);!1===b.clip||a.sharedClipKey||k||l.clip(d.clipRect);c&&a.animate();k||(a.animationTimeout=q(function(){a.afterAnimate()},c));a.isDirty=!1;a.hasRendered=!0;f(a,"afterRender")},redraw:function(){var a=this.chart,d=this.isDirty||this.isDirtyData,b=this.group,c=this.xAxis,f=this.yAxis;b&&(a.inverted&&b.attr({width:a.plotWidth,height:a.plotHeight}),b.animate({translateX:g(c&&c.left,a.plotLeft),translateY:g(f&&
f.top,a.plotTop)}));this.translate();this.render();d&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,d){var b=this.xAxis,c=this.yAxis,f=this.chart.inverted;return this.searchKDTree({clientX:f?b.len-a.chartY+b.pos:a.chartX-b.pos,plotY:f?c.len-a.chartX+c.pos:a.chartY-c.pos},d,a)},buildKDTree:function(a){function d(a,c,f){var e;if(e=a&&a.length){var g=b.kdAxisArray[c%f];a.sort(function(a,d){return a[g]-d[g]});e=Math.floor(e/2);return{point:a[e],left:d(a.slice(0,e),c+1,f),
right:d(a.slice(e+1),c+1,f)}}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;q(function(){b.kdTree=d(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,d,b){function c(a,d,b,m){var q=d.point,n=f.kdAxisArray[b%m],r=q;var w=z(a[e])&&z(q[e])?Math.pow(a[e]-q[e],2):null;var t=z(a[g])&&z(q[g])?Math.pow(a[g]-q[g],2):null;t=(w||0)+(t||0);q.dist=z(t)?Math.sqrt(t):Number.MAX_VALUE;
q.distX=z(w)?Math.sqrt(w):Number.MAX_VALUE;n=a[n]-q[n];t=0>n?"left":"right";w=0>n?"right":"left";d[t]&&(t=c(a,d[t],b+1,m),r=t[k]<r[k]?t:q);d[w]&&Math.sqrt(n*n)<r[k]&&(a=c(a,d[w],b+1,m),r=a[k]<r[k]?a:r);return r}var f=this,e=this.kdAxisArray[0],g=this.kdAxisArray[1],k=d?"distX":"dist";d=-1<f.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(b);if(this.kdTree)return c(a,this.kdTree,d,d)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;
"between"===a&&(a=.5);B(a)&&(a*=g(this.options.pointRange||this.xAxis.pointRange));return a}});""});K(E,"parts/Dynamics.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.erase,G=h.isArray,B=h.isNumber,H=h.isObject,F=h.isString,A=h.objectEach,v=h.splat,p=c.addEvent,u=c.animate,y=c.Axis;h=c.Chart;var l=c.createElement,e=c.css,a=c.extend,b=c.fireEvent,f=c.merge,d=c.pick,g=c.Point,n=c.Series,t=c.seriesTypes,q=c.setAnimation;c.cleanRecursively=function(a,d){var b={};
A(a,function(f,e){if(H(a[e],!0)&&!a.nodeType&&d[e])f=c.cleanRecursively(a[e],d[e]),Object.keys(f).length&&(b[e]=f);else if(H(a[e])||a[e]!==d[e])b[e]=a[e]});return b};a(h.prototype,{addSeries:function(a,c,f){var e,g=this;a&&(c=d(c,!0),b(g,"addSeries",{options:a},function(){e=g.initSeries(a);g.isDirtyLegend=!0;g.linkSeries();b(g,"afterAddSeries",{series:e});c&&g.redraw(f)}));return e},addAxis:function(a,d,b,c){return this.createAxis(d?"xAxis":"yAxis",{axis:a,redraw:b,animation:c})},addColorAxis:function(a,
d,b){return this.createAxis("colorAxis",{axis:a,redraw:d,animation:b})},createAxis:function(a,b){var e=this.options,g="colorAxis"===a,k=b.redraw,m=b.animation;b=f(b.axis,{index:this[a].length,isX:"xAxis"===a});var q=g?new c.ColorAxis(this,b):new y(this,b);e[a]=v(e[a]||{});e[a].push(b);g&&(this.isDirtyLegend=!0);d(k,!0)&&this.redraw(m);return q},showLoading:function(b){var c=this,f=c.options,g=c.loadingDiv,k=f.loading,q=function(){g&&e(g,{left:c.plotLeft+"px",top:c.plotTop+"px",width:c.plotWidth+"px",
height:c.plotHeight+"px"})};g||(c.loadingDiv=g=l("div",{className:"highcharts-loading highcharts-loading-hidden"},null,c.container),c.loadingSpan=l("span",{className:"highcharts-loading-inner"},null,g),p(c,"redraw",q));g.className="highcharts-loading";c.loadingSpan.innerHTML=d(b,f.lang.loading,"");c.styledMode||(e(g,a(k.style,{zIndex:10})),e(c.loadingSpan,k.labelStyle),c.loadingShown||(e(g,{opacity:0,display:""}),u(g,{opacity:k.style.opacity||.5},{duration:k.showDuration||0})));c.loadingShown=!0;
q()},hideLoading:function(){var a=this.options,d=this.loadingDiv;d&&(d.className="highcharts-loading highcharts-loading-hidden",this.styledMode||u(d,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){e(d,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),
propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:"xAxis yAxis zAxis series colorAxis pane".split(" "),update:function(a,e,g,q){var k=this,m={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},n,t,w,l=a.isResponsiveOptions,p=[];b(k,"update",{options:a});l||k.setResponsive(!1,!0);a=c.cleanRecursively(a,k.options);f(!0,k.userOptions,a);if(n=a.chart){f(!0,k.options.chart,
n);"className"in n&&k.setClassName(n.className);"reflow"in n&&k.setReflow(n.reflow);if("inverted"in n||"polar"in n||"type"in n){k.propFromSeries();var u=!0}"alignTicks"in n&&(u=!0);A(n,function(a,d){-1!==k.propsRequireUpdateSeries.indexOf("chart."+d)&&(t=!0);-1!==k.propsRequireDirtyBox.indexOf(d)&&(k.isDirtyBox=!0);l||-1===k.propsRequireReflow.indexOf(d)||(w=!0)});!k.styledMode&&"style"in n&&k.renderer.setStyle(n.style)}!k.styledMode&&a.colors&&(this.options.colors=a.colors);a.plotOptions&&f(!0,this.options.plotOptions,
a.plotOptions);a.time&&this.time===c.time&&(this.time=new c.Time(a.time));A(a,function(a,d){if(k[d]&&"function"===typeof k[d].update)k[d].update(a,!1);else if("function"===typeof k[m[d]])k[m[d]](a);"chart"!==d&&-1!==k.propsRequireUpdateSeries.indexOf(d)&&(t=!0)});this.collectionsWithUpdate.forEach(function(b){if(a[b]){if("series"===b){var c=[];k[b].forEach(function(a,b){a.options.isInternal||c.push(d(a.options.index,b))})}v(a[b]).forEach(function(a,d){(d=z(a.id)&&k.get(a.id)||k[b][c?c[d]:d])&&d.coll===
b&&(d.update(a,!1),g&&(d.touched=!0));!d&&g&&k.collectionsWithInit[b]&&(k.collectionsWithInit[b][0].apply(k,[a].concat(k.collectionsWithInit[b][1]||[]).concat([!1])).touched=!0)});g&&k[b].forEach(function(a){a.touched||a.options.isInternal?delete a.touched:p.push(a)})}});p.forEach(function(a){a.remove&&a.remove(!1)});u&&k.axes.forEach(function(a){a.update({},!1)});t&&k.series.forEach(function(a){a.update({},!1)});a.loading&&f(!0,k.options.loading,a.loading);u=n&&n.width;n=n&&n.height;F(n)&&(n=c.relativeLength(n,
u||k.chartWidth));w||B(u)&&u!==k.chartWidth||B(n)&&n!==k.chartHeight?k.setSize(u,n,q):d(e,!0)&&k.redraw(q);b(k,"afterUpdate",{options:a,redraw:e,animation:q})},setSubtitle:function(a,d){this.applyDescription("subtitle",a);this.layOutTitles(d)},setCaption:function(a,d){this.applyDescription("caption",a);this.layOutTitles(d)}});h.prototype.collectionsWithInit={xAxis:[h.prototype.addAxis,[!0]],yAxis:[h.prototype.addAxis,[!1]],colorAxis:[h.prototype.addColorAxis,[!1]],series:[h.prototype.addSeries]};
a(g.prototype,{update:function(a,b,c,f){function e(){g.applyOptions(a);null===g.y&&m&&(g.graphic=m.destroy());H(a,!0)&&(m&&m.element&&a&&a.marker&&void 0!==a.marker.symbol&&(g.graphic=m.destroy()),a&&a.dataLabels&&g.dataLabel&&(g.dataLabel=g.dataLabel.destroy()),g.connector&&(g.connector=g.connector.destroy()));q=g.index;k.updateParallelArrays(g,q);t.data[q]=H(t.data[q],!0)||H(a,!0)?g.options:d(a,t.data[q]);k.isDirty=k.isDirtyData=!0;!k.fixedBox&&k.hasCartesianSeries&&(n.isDirtyBox=!0);"point"===
t.legendType&&(n.isDirtyLegend=!0);b&&n.redraw(c)}var g=this,k=g.series,m=g.graphic,q,n=k.chart,t=k.options;b=d(b,!0);!1===f?e():g.firePointEvent("update",{options:a},e)},remove:function(a,d){this.series.removePoint(this.series.data.indexOf(this),a,d)}});a(n.prototype,{addPoint:function(a,c,f,e,g){var k=this.options,m=this.data,q=this.chart,n=this.xAxis;n=n&&n.hasNames&&n.names;var t=k.data,w=this.xData,l;c=d(c,!0);var p={series:this};this.pointClass.prototype.applyOptions.apply(p,[a]);var u=p.x;
var h=w.length;if(this.requireSorting&&u<w[h-1])for(l=!0;h&&w[h-1]>u;)h--;this.updateParallelArrays(p,"splice",h,0,0);this.updateParallelArrays(p,h);n&&p.name&&(n[u]=p.name);t.splice(h,0,a);l&&(this.data.splice(h,0,null),this.processData());"point"===k.legendType&&this.generatePoints();f&&(m[0]&&m[0].remove?m[0].remove(!1):(m.shift(),this.updateParallelArrays(p,"shift"),t.shift()));!1!==g&&b(this,"addPoint",{point:p});this.isDirtyData=this.isDirty=!0;c&&q.redraw(e)},removePoint:function(a,b,c){var f=
this,e=f.data,g=e[a],k=f.points,m=f.chart,n=function(){k&&k.length===e.length&&k.splice(a,1);e.splice(a,1);f.options.data.splice(a,1);f.updateParallelArrays(g||{series:f},"splice",a,1);g&&g.destroy();f.isDirty=!0;f.isDirtyData=!0;b&&m.redraw()};q(c,m);b=d(b,!0);g?g.firePointEvent("remove",null,n):n()},remove:function(a,c,f,e){function g(){k.destroy(e);k.remove=null;m.isDirtyLegend=m.isDirtyBox=!0;m.linkSeries();d(a,!0)&&m.redraw(c)}var k=this,m=k.chart;!1!==f?b(k,"remove",null,g):g()},update:function(e,
g){e=c.cleanRecursively(e,this.userOptions);b(this,"update",{options:e});var k=this,m=k.chart,q=k.userOptions,n=k.initialType||k.type,r=e.type||q.type||m.options.chart.type,l=!(this.hasDerivedData||e.dataGrouping||r&&r!==this.type||void 0!==e.pointStart||e.pointInterval||e.pointIntervalUnit||e.keys),p=t[n].prototype,u,h=["group","markerGroup","dataLabelsGroup","transformGroup"],y=["eventOptions","navigatorSeries","baseSeries"],v=k.finishedAnimating&&{animation:!1},A={};l&&(y.push("data","isDirtyData",
"points","processedXData","processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==e.visible&&y.push("area","graph"),k.parallelArrays.forEach(function(a){y.push(a+"Data")}),e.data&&this.setData(e.data,!1));e=f(q,v,{index:void 0===q.index?k.index:q.index,pointStart:d(q.pointStart,k.xData[0])},!l&&{data:k.options.data},e);l&&e.data&&(e.data=k.options.data);y=h.concat(y);y.forEach(function(a){y[a]=k[a];delete k[a]});k.remove(!1,null,!1,!0);
for(u in p)k[u]=void 0;t[r||n]?a(k,t[r||n].prototype):c.error(17,!0,m);y.forEach(function(a){k[a]=y[a]});k.init(m,e);if(l&&this.points){var B=k.options;!1===B.visible?(A.graphic=1,A.dataLabel=1):k._hasPointLabels||(r=B.marker,p=B.dataLabels,r&&(!1===r.enabled||"symbol"in r)&&(A.graphic=1),p&&!1===p.enabled&&(A.dataLabel=1));this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(A).length&&a.destroyElements(A),!1===B.showInLegend&&a.legendItem&&m.legend.destroyItem(a))},this)}e.zIndex!==
q.zIndex&&h.forEach(function(a){k[a]&&k[a].attr({zIndex:e.zIndex})});k.initialType=n;m.linkSeries();b(this,"afterUpdate");d(g,!0)&&m.redraw(l?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});a(y.prototype,{update:function(b,c){var e=this.chart,g=b&&b.events||{};b=f(this.userOptions,b);e.options[this.coll].indexOf&&(e.options[this.coll][e.options[this.coll].indexOf(this.userOptions)]=b);A(e.options[this.coll].events,function(a,d){"undefined"===
typeof g[d]&&(g[d]=void 0)});this.destroy(!0);this.init(e,a(b,{events:g}));e.isDirtyBox=!0;d(c,!0)&&e.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);D(b.axes,this);D(b[c],this);G(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];b[c].forEach(function(a,d){a.options.index=a.userOptions.index=d});this.destroy();b.isDirtyBox=!0;d(a,!0)&&b.redraw()},setTitle:function(a,d){this.update({title:a},d)},setCategories:function(a,
d){this.update({categories:a},d)}})});K(E,"parts/ColumnSeries.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.isNumber,G=c.animObject,B=c.color,H=c.extend,F=c.merge,A=c.pick,v=c.Series;h=c.seriesType;var p=c.svg;h("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(){v.prototype.init.apply(this,arguments);var c=this,p=c.chart;p.hasRendered&&p.series.forEach(function(l){l.type===c.type&&(l.isDirty=!0)})},getColumnMetrics:function(){var c=this,p=c.options,l=c.xAxis,e=c.yAxis,a=l.options.reversedStacks;a=l.reversed&&!a||!l.reversed&&a;var b,f=
{},d=0;!1===p.grouping?d=1:c.chart.series.forEach(function(a){var g=a.yAxis,m=a.options;if(a.type===c.type&&(a.visible||!c.chart.options.chart.ignoreHiddenSeries)&&e.len===g.len&&e.pos===g.pos){if(m.stacking){b=a.stackKey;void 0===f[b]&&(f[b]=d++);var q=f[b]}else!1!==m.grouping&&(q=d++);a.columnIndex=q}});var g=Math.min(Math.abs(l.transA)*(l.ordinalSlope||p.pointRange||l.closestPointRange||l.tickInterval||1),l.len),n=g*p.groupPadding,t=(g-2*n)/(d||1);p=Math.min(p.maxPointWidth||l.len,A(p.pointWidth,
t*(1-2*p.pointPadding)));c.columnMetrics={width:p,offset:(t-p)/2+(n+((c.columnIndex||0)+(a?1:0))*t-g/2)*(a?-1:1)};return c.columnMetrics},crispCol:function(c,p,l,e){var a=this.chart,b=this.borderWidth,f=-(b%2?.5:0);b=b%2?.5:1;a.inverted&&a.renderer.isVML&&(b+=1);this.options.crisp&&(l=Math.round(c+l)+f,c=Math.round(c)+f,l-=c);e=Math.round(p+e)+b;f=.5>=Math.abs(p)&&.5<e;p=Math.round(p)+b;e-=p;f&&e&&(--p,e+=1);return{x:c,y:p,width:l,height:e}},translate:function(){var c=this,p=c.chart,l=c.options,e=
c.dense=2>c.closestPointRange*c.xAxis.transA;e=c.borderWidth=A(l.borderWidth,e?0:1);var a=c.yAxis,b=l.threshold,f=c.translatedThreshold=a.getThreshold(b),d=A(l.minPointLength,5),g=c.getColumnMetrics(),n=g.width,t=c.barW=Math.max(n,1+2*e),q=c.pointXOffset=g.offset,k=c.dataMin,m=c.dataMax;p.inverted&&(f-=.5);l.pointPadding&&(t=Math.ceil(t));v.prototype.translate.apply(c);c.points.forEach(function(e){var g=A(e.yBottom,f),l=999+Math.abs(g),w=n;l=Math.min(Math.max(-l,e.plotY),a.len+l);var r=e.plotX+q,
h=t,u=Math.min(l,g),y=Math.max(l,g)-u;if(d&&Math.abs(y)<d){y=d;var v=!a.reversed&&!e.negative||a.reversed&&e.negative;e.y===b&&c.dataMax<=b&&a.min<b&&k!==m&&(v=!v);u=Math.abs(u-f)>d?g-d:f-(v?d:0)}z(e.options.pointWidth)&&(w=h=Math.ceil(e.options.pointWidth),r-=Math.round((w-n)/2));e.barX=r;e.pointWidth=w;e.tooltipPos=p.inverted?[a.len+a.pos-p.plotLeft-l,c.xAxis.len-r-h/2,y]:[r+h/2,l+a.pos-p.plotTop,y];e.shapeType=c.pointClass.prototype.shapeType||"rect";e.shapeArgs=c.crispCol.apply(c,e.isNull?[r,
f,h,0]:[r,u,h,y])})},getSymbol:c.noop,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(c,p){var l=this.options,e=this.pointAttrToOptions||{};var a=e.stroke||"borderColor";var b=e["stroke-width"]||"borderWidth",f=c&&c.color||this.color,d=c&&c[a]||l[a]||this.color||f,g=c&&c[b]||l[b]||this[b]||0;e=c&&c.options.dashStyle||l.dashStyle;var n=A(l.opacity,1);if(c&&this.zones.length){var t=
c.getZone();f=c.options.color||t&&(t.color||c.nonZonedColor)||this.color;t&&(d=t.borderColor||d,e=t.dashStyle||e,g=t.borderWidth||g)}p&&(c=F(l.states[p],c.options.states&&c.options.states[p]||{}),p=c.brightness,f=c.color||void 0!==p&&B(f).brighten(c.brightness).get()||f,d=c[a]||d,g=c[b]||g,e=c.dashStyle||e,n=A(c.opacity,n));a={fill:f,stroke:d,"stroke-width":g,opacity:n};e&&(a.dashstyle=e);return a},drawPoints:function(){var c=this,p=this.chart,l=c.options,e=p.renderer,a=l.animationLimit||250,b;c.points.forEach(function(f){var d=
f.graphic,g=d&&p.pointCount<a?"animate":"attr";if(D(f.plotY)&&null!==f.y){b=f.shapeArgs;d&&d.element.nodeName!==f.shapeType&&(d=d.destroy());if(d)d[g](F(b));else f.graphic=d=e[f.shapeType](b).add(f.group||c.group);if(l.borderRadius)d[g]({r:l.borderRadius});p.styledMode||d[g](c.pointAttribs(f,f.selected&&"select")).shadow(!1!==f.allowShadow&&l.shadow,null,l.stacking&&!l.borderRadius);d.addClass(f.getClassName(),!0)}else d&&(f.graphic=d.destroy())})},animate:function(c){var h=this,l=this.yAxis,e=h.options,
a=this.chart.inverted,b={},f=a?"translateX":"translateY";if(p)if(c)b.scaleY=.001,c=Math.min(l.pos+l.len,Math.max(l.pos,l.toPixels(e.threshold))),a?b.translateX=c-l.len:b.translateY=c,h.clipBox&&h.setClip(),h.group.attr(b);else{var d=h.group.attr(f);h.group.animate({scaleY:1},H(G(h.options.animation),{step:function(a,c){b[f]=d+c.pos*(l.pos-d);h.group.attr(b)}}));h.animate=null}},remove:function(){var c=this,p=c.chart;p.hasRendered&&p.series.forEach(function(p){p.type===c.type&&(p.isDirty=!0)});v.prototype.remove.apply(c,
arguments)}});""});K(E,"parts/ScatterSeries.js",[E["parts/Globals.js"]],function(c){var h=c.Series,z=c.seriesType;z("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">\u25cf</span> <span style="font-size: 10px"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],
takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&h.prototype.drawGraph.call(this)},applyJitter:function(){var c=this,h=this.options.jitter,B=this.points.length;h&&this.points.forEach(function(z,G){["x","y"].forEach(function(A,v){var p="plot"+A.toUpperCase();if(h[A]&&!z.isNull){var u=c[A+"Axis"];var y=h[A]*u.transA;if(u&&!u.isLog){var l=Math.max(0,z[p]-y);u=Math.min(u.len,z[p]+y);v=1E4*Math.sin(G+v*B);z[p]=l+(u-l)*(v-Math.floor(v));"x"===A&&(z.clientX=z.plotX)}}})})}});c.addEvent(h,
"afterTranslate",function(){this.applyJitter&&this.applyJitter()});""});K(E,"parts/DataLabels.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.isArray,G=h.objectEach,B=h.splat,E=c.arrayMax,F=c.extend,A=c.format,v=c.merge;h=c.noop;var p=c.pick,u=c.relativeLength,y=c.Series,l=c.seriesTypes,e=c.stableSort;c.distribute=function(a,b,f){function d(a,d){return a.target-d.target}var g,n=!0,t=a,q=[];var k=0;var m=t.reducedLen||b;for(g=a.length;g--;)k+=a[g].size;if(k>m){e(a,
function(a,d){return(d.rank||0)-(a.rank||0)});for(k=g=0;k<=m;)k+=a[g].size,g++;q=a.splice(g-1,a.length)}e(a,d);for(a=a.map(function(a){return{size:a.size,targets:[a.target],align:p(a.align,.5)}});n;){for(g=a.length;g--;)n=a[g],k=(Math.min.apply(0,n.targets)+Math.max.apply(0,n.targets))/2,n.pos=Math.min(Math.max(0,k-n.size*n.align),b-n.size);g=a.length;for(n=!1;g--;)0<g&&a[g-1].pos+a[g-1].size>a[g].pos&&(a[g-1].size+=a[g].size,a[g-1].targets=a[g-1].targets.concat(a[g].targets),a[g-1].align=.5,a[g-
1].pos+a[g-1].size>b&&(a[g-1].pos=b-a[g-1].size),a.splice(g,1),n=!0)}t.push.apply(t,q);g=0;a.some(function(a){var d=0;if(a.targets.some(function(){t[g].pos=a.pos+d;if(Math.abs(t[g].pos-t[g].target)>f)return t.slice(0,g+1).forEach(function(a){delete a.pos}),t.reducedLen=(t.reducedLen||b)-.1*b,t.reducedLen>.1*b&&c.distribute(t,b,f),!0;d+=t[g].size;g++}))return!0});e(t,d)};y.prototype.drawDataLabels=function(){function a(a,d){var b=d.filter;return b?(d=b.operator,a=a[b.property],b=b.value,">"===d&&a>
b||"<"===d&&a<b||">="===d&&a>=b||"<="===d&&a<=b||"=="===d&&a==b||"==="===d&&a===b?!0:!1):!0}function b(a,d){var b=[],c;if(D(a)&&!D(d))b=a.map(function(a){return v(a,d)});else if(D(d)&&!D(a))b=d.map(function(d){return v(a,d)});else if(D(a)||D(d))for(c=Math.max(a.length,d.length);c--;)b[c]=v(a[c],d[c]);else b=v(a,d);return b}var f=this,d=f.chart,e=f.options,n=e.dataLabels,t=f.points,q,k=f.hasRendered||0,m=c.animObject(e.animation).duration,l=Math.min(m,200),h=!d.renderer.forExport&&p(n.defer,0<l),u=
d.renderer;n=b(b(d.options.plotOptions&&d.options.plotOptions.series&&d.options.plotOptions.series.dataLabels,d.options.plotOptions&&d.options.plotOptions[f.type]&&d.options.plotOptions[f.type].dataLabels),n);c.fireEvent(this,"drawDataLabels");if(D(n)||n.enabled||f._hasPointLabels){var x=f.plotGroup("dataLabelsGroup","data-labels",h&&!k?"hidden":"inherit",n.zIndex||6);h&&(x.attr({opacity:+k}),k||setTimeout(function(){var a=f.dataLabelsGroup;a&&(f.visible&&x.show(!0),a[e.animation?"animate":"attr"]({opacity:1},
{duration:l}))},m-l));t.forEach(function(c){q=B(b(n,c.dlOptions||c.options&&c.options.dataLabels));q.forEach(function(b,g){var k=b.enabled&&(!c.isNull||c.dataLabelOnNull)&&a(c,b),m=c.dataLabels?c.dataLabels[g]:c.dataLabel,q=c.connectors?c.connectors[g]:c.connector,n=p(b.distance,c.labelDistance),t=!m;if(k){var l=c.getLabelConfig();var r=p(b[c.formatPrefix+"Format"],b.format);l=z(r)?A(r,l,d.time):(b[c.formatPrefix+"Formatter"]||b.formatter).call(l,b);r=b.style;var w=b.rotation;d.styledMode||(r.color=
p(b.color,r.color,f.color,"#000000"),"contrast"===r.color&&(c.contrastColor=u.getContrast(c.color||f.color),r.color=!z(n)&&b.inside||0>n||e.stacking?c.contrastColor:"#000000"),e.cursor&&(r.cursor=e.cursor));var h={r:b.borderRadius||0,rotation:w,padding:b.padding,zIndex:1};d.styledMode||(h.fill=b.backgroundColor,h.stroke=b.borderColor,h["stroke-width"]=b.borderWidth);G(h,function(a,d){void 0===a&&delete h[d]})}!m||k&&z(l)?k&&z(l)&&(m?h.text=l:(c.dataLabels=c.dataLabels||[],m=c.dataLabels[g]=w?u.text(l,
0,-9999).addClass("highcharts-data-label"):u.label(l,0,-9999,b.shape,null,null,b.useHTML,null,"data-label"),g||(c.dataLabel=m),m.addClass(" highcharts-data-label-color-"+c.colorIndex+" "+(b.className||"")+(b.useHTML?" highcharts-tracker":""))),m.options=b,m.attr(h),d.styledMode||m.css(r).shadow(b.shadow),m.added||m.add(x),b.textPath&&!b.useHTML&&m.setTextPath(c.getDataLabelPath&&c.getDataLabelPath(m)||c.graphic,b.textPath),f.alignDataLabel(c,m,b,null,t)):(c.dataLabel=c.dataLabel&&c.dataLabel.destroy(),
c.dataLabels&&(1===c.dataLabels.length?delete c.dataLabels:delete c.dataLabels[g]),g||delete c.dataLabel,q&&(c.connector=c.connector.destroy(),c.connectors&&(1===c.connectors.length?delete c.connectors:delete c.connectors[g])))})})}c.fireEvent(this,"afterDrawDataLabels")};y.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart,g=this.isCartesian&&f.inverted,q=p(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),k=p(a.plotY,-9999),m=b.getBBox(),l=c.rotation,h=c.align,u=this.visible&&(a.series.forceDL||
f.isInsidePlot(q,Math.round(k),g)||d&&f.isInsidePlot(q,g?d.x+1:d.y+d.height-1,g)),x="justify"===p(c.overflow,"justify");if(u){var r=f.renderer.fontMetrics(f.styledMode?void 0:c.style.fontSize,b).b;d=F({x:g?this.yAxis.len-k:q,y:Math.round(g?this.xAxis.len-q:k),width:0,height:0},d);F(c,{width:m.width,height:m.height});l?(x=!1,q=f.renderer.rotCorr(r,l),q={x:d.x+c.x+d.width/2+q.x,y:d.y+c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*d.height},b[e?"attr":"animate"](q).attr({align:h}),k=(l+720)%360,k=180<
k&&360>k,"left"===h?q.y-=k?m.height:0:"center"===h?(q.x-=m.width/2,q.y-=m.height/2):"right"===h&&(q.x-=m.width,q.y-=k?0:m.height),b.placed=!0,b.alignAttr=q):(b.align(c,null,d),q=b.alignAttr);x&&0<=d.height?this.justifyDataLabel(b,c,q,m,d,e):p(c.crop,!0)&&(u=f.isInsidePlot(q.x,q.y)&&f.isInsidePlot(q.x+m.width,q.y+m.height));if(c.shape&&!l)b[e?"attr":"animate"]({anchorX:g?f.plotWidth-a.plotY:a.plotX,anchorY:g?f.plotHeight-a.plotX:a.plotY})}u||(b.hide(!0),b.placed=!1)};y.prototype.justifyDataLabel=function(a,
b,c,d,e,n){var f=this.chart,g=b.align,k=b.verticalAlign,m=a.box?0:a.padding||0;var l=c.x+m;if(0>l){"right"===g?(b.align="left",b.inside=!0):b.x=-l;var p=!0}l=c.x+d.width-m;l>f.plotWidth&&("left"===g?(b.align="right",b.inside=!0):b.x=f.plotWidth-l,p=!0);l=c.y+m;0>l&&("bottom"===k?(b.verticalAlign="top",b.inside=!0):b.y=-l,p=!0);l=c.y+d.height-m;l>f.plotHeight&&("top"===k?(b.verticalAlign="bottom",b.inside=!0):b.y=f.plotHeight-l,p=!0);p&&(a.placed=!n,a.align(b,null,e));return p};l.pie&&(l.pie.prototype.dataLabelPositioners=
{radialDistributionY:function(a){return a.top+a.distributeBox.pos},radialDistributionX:function(a,b,c,d){return a.getX(c<b.top+2||c>b.bottom-2?d:c,b.half,b)},justify:function(a,b,c){return c[0]+(a.half?-1:1)*(b+a.labelDistance)},alignToPlotEdges:function(a,b,c,d){a=a.getBBox().width;return b?a+d:c-a-d},alignToConnectors:function(a,b,c,d){var f=0,e;a.forEach(function(a){e=a.dataLabel.getBBox().width;e>f&&(f=e)});return b?f+d:c-f-d}},l.pie.prototype.drawDataLabels=function(){var a=this,b=a.data,f,d=
a.chart,e=a.options.dataLabels,n=e.connectorPadding,t,q=d.plotWidth,k=d.plotHeight,m=d.plotLeft,l=Math.round(d.chartWidth/3),h,u=a.center,x=u[2]/2,r=u[1],A,B,G,D,F=[[],[]],H,J,K,O,T=[0,0,0,0],U=a.dataLabelPositioners,X;a.visible&&(e.enabled||a._hasPointLabels)&&(b.forEach(function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),y.prototype.drawDataLabels.apply(a),b.forEach(function(a){a.dataLabel&&
(a.visible?(F[a.half].push(a),a.dataLabel._pos=null,!z(e.style.width)&&!z(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&a.dataLabel.getBBox().width>l&&(a.dataLabel.css({width:.7*l}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),F.forEach(function(b,g){var l=b.length,t=[],h;if(l){a.sortByAngle(b,g-.5);if(0<a.maxLabelDistance){var w=Math.max(0,r-x-a.maxLabelDistance);var y=Math.min(r+
x+a.maxLabelDistance,d.plotHeight);b.forEach(function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,r-x-a.labelDistance),a.bottom=Math.min(r+x+a.labelDistance,d.plotHeight),h=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPosition.natural.y-a.top+h/2,size:h,rank:a.y},t.push(a.distributeBox))});w=y+h-w;c.distribute(t,w,w/5)}for(O=0;O<l;O++){f=b[O];G=f.labelPosition;A=f.dataLabel;K=!1===f.visible?"hidden":"inherit";J=w=G.natural.y;t&&z(f.distributeBox)&&(void 0===f.distributeBox.pos?
K="hidden":(D=f.distributeBox.size,J=U.radialDistributionY(f)));delete f.positionIndex;if(e.justify)H=U.justify(f,x,u);else switch(e.alignTo){case "connectors":H=U.alignToConnectors(b,g,q,m);break;case "plotEdges":H=U.alignToPlotEdges(A,g,q,m);break;default:H=U.radialDistributionX(a,f,J,w)}A._attr={visibility:K,align:G.alignment};A._pos={x:H+e.x+({left:n,right:-n}[G.alignment]||0),y:J+e.y-10};G.final.x=H;G.final.y=J;p(e.crop,!0)&&(B=A.getBBox().width,w=null,H-B<n&&1===g?(w=Math.round(B-H+n),T[3]=
Math.max(w,T[3])):H+B>q-n&&0===g&&(w=Math.round(H+B-q+n),T[1]=Math.max(w,T[1])),0>J-D/2?T[0]=Math.max(Math.round(-J+D/2),T[0]):J+D/2>k&&(T[2]=Math.max(Math.round(J+D/2-k),T[2])),A.sideOverflow=w)}}}),0===E(T)||this.verifyDataLabelOverflow(T))&&(this.placeDataLabels(),this.points.forEach(function(b){X=v(e,b.options.dataLabels);if(t=p(X.connectorWidth,1)){var c;h=b.connector;if((A=b.dataLabel)&&A._pos&&b.visible&&0<b.labelDistance){K=A._attr.visibility;if(c=!h)b.connector=h=d.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+
b.colorIndex+(b.className?" "+b.className:"")).add(a.dataLabelsGroup),d.styledMode||h.attr({"stroke-width":t,stroke:X.connectorColor||b.color||"#666666"});h[c?"attr":"animate"]({d:b.getConnectorPath()});h.attr("visibility",K)}else h&&(b.connector=h.destroy())}}))},l.pie.prototype.placeDataLabels=function(){this.points.forEach(function(a){var b=a.dataLabel,c;b&&a.visible&&((c=b._pos)?(b.sideOverflow&&(b._attr.width=Math.max(b.getBBox().width-b.sideOverflow,0),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"](c),b.moved=!0):b&&b.attr({y:-9999}));delete a.distributeBox},this)},l.pie.prototype.alignDataLabel=h,l.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,n=null!==c.size;if(!n){if(null!==d[0])var l=Math.max(b[2]-Math.max(a[1],a[3]),e);else l=Math.max(b[2]-a[1]-a[3],e),b[0]+=(a[3]-a[1])/2;null!==d[1]?l=Math.max(Math.min(l,b[2]-Math.max(a[0],a[2])),e):
(l=Math.max(Math.min(l,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2);l<b[2]?(b[2]=l,b[3]=Math.min(u(c.innerSize||0,l),l),this.translate(b),this.drawDataLabels&&this.drawDataLabels()):n=!0}return n});l.column&&(l.column.prototype.alignDataLabel=function(a,b,c,d,e){var f=this.chart.inverted,g=a.series,q=a.dlBox||a.shapeArgs,k=p(a.below,a.plotY>p(this.translatedThreshold,g.yAxis.len)),m=p(c.inside,!!this.options.stacking);q&&(d=v(q),0>d.y&&(d.height+=d.y,d.y=0),q=d.y+d.height-g.yAxis.len,0<q&&(d.height-=q),
f&&(d={x:g.yAxis.len-d.y-d.height,y:g.xAxis.len-d.x-d.width,width:d.height,height:d.width}),m||(f?(d.x+=k?0:d.width,d.width=0):(d.y+=k?d.height:0,d.height=0)));c.align=p(c.align,!f||m?"center":k?"right":"left");c.verticalAlign=p(c.verticalAlign,f||m?"middle":k?"top":"bottom");y.prototype.alignDataLabel.call(this,a,b,c,d,e);c.inside&&a.contrastColor&&b.css({color:a.contrastColor})})});K(E,"modules/overlapping-datalabels.src.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.isArray,
D=h.objectEach;h=c.Chart;var G=c.pick,B=c.addEvent,H=c.fireEvent;B(h,"render",function(){var c=[];(this.labelCollectors||[]).forEach(function(h){c=c.concat(h())});(this.yAxis||[]).forEach(function(h){h.options.stackLabels&&!h.options.stackLabels.allowOverlap&&D(h.stacks,function(h){D(h,function(p){c.push(p.label)})})});(this.series||[]).forEach(function(h){var v=h.options.dataLabels;h.visible&&(!1!==v.enabled||h._hasPointLabels)&&h.points.forEach(function(p){p.visible&&(z(p.dataLabels)?p.dataLabels:
p.dataLabel?[p.dataLabel]:[]).forEach(function(h){var u=h.options;h.labelrank=G(u.labelrank,p.labelrank,p.shapeArgs&&p.shapeArgs.height);u.allowOverlap||c.push(h)})})});this.hideOverlappingLabels(c)});h.prototype.hideOverlappingLabels=function(c){var h=this,v=c.length,p=h.renderer,u,y,l;var e=function(a){var d=a.box?0:a.padding||0;var b=0;if(a&&(!a.alignAttr||a.placed)){var c=a.alignAttr||{x:a.attr("x"),y:a.attr("y")};var f=a.parentGroup;a.width||(b=a.getBBox(),a.width=b.width,a.height=b.height,b=
p.fontMetrics(null,a.element).h);return{x:c.x+(f.translateX||0)+d,y:c.y+(f.translateY||0)+d-b,width:a.width-2*d,height:a.height-2*d}}};for(y=0;y<v;y++)if(u=c[y])u.oldOpacity=u.opacity,u.newOpacity=1,u.absoluteBox=e(u);c.sort(function(a,d){return(d.labelrank||0)-(a.labelrank||0)});for(y=0;y<v;y++){var a=(e=c[y])&&e.absoluteBox;for(u=y+1;u<v;++u){var b=(l=c[u])&&l.absoluteBox;!a||!b||e===l||0===e.newOpacity||0===l.newOpacity||b.x>a.x+a.width||b.x+b.width<a.x||b.y>a.y+a.height||b.y+b.height<a.y||((e.labelrank<
l.labelrank?e:l).newOpacity=0)}}c.forEach(function(a){var d;if(a){var b=a.newOpacity;a.oldOpacity!==b&&(a.alignAttr&&a.placed?(b?a.show(!0):d=function(){a.hide(!0);a.placed=!1},a.alignAttr.opacity=b,a[a.isOld?"animate":"attr"](a.alignAttr,null,d),H(h,"afterHideOverlappingLabels")):a.attr({opacity:b}));a.isOld=!0}})}});K(E,"parts/Interaction.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined,D=h.isArray,G=h.isObject,B=h.objectEach,H=c.addEvent;h=c.Chart;var F=c.createElement,
A=c.css,v=c.defaultOptions,p=c.defaultPlotOptions,u=c.extend,y=c.fireEvent,l=c.hasTouch,e=c.Legend,a=c.merge,b=c.pick,f=c.Point,d=c.Series,g=c.seriesTypes,n=c.svg;var t=c.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,d=b.pointer,c=function(a){var b=d.getPointFromEvent(a);void 0!==b&&(d.isDirectTouch=!0,b.onMouseOver(a))},e;a.points.forEach(function(a){e=D(a.dataLabels)?a.dataLabels:a.dataLabel?[a.dataLabel]:[];a.graphic&&(a.graphic.element.point=a);e.forEach(function(b){b.div?b.div.point=
a:b.element.point=a})});a._hasTracking||(a.trackerGroups.forEach(function(e){if(a[e]){a[e].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){d.onTrackerMouseOut(a)});if(l)a[e].on("touchstart",c);!b.styledMode&&a.options.cursor&&a[e].css(A).css({cursor:a.options.cursor})}}),a._hasTracking=!0);y(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,d=b.trackByArea,c=[].concat(d?a.areaPath:a.graphPath),e=c.length,f=a.chart,g=f.pointer,p=f.renderer,t=f.options.tooltip.snap,
h=a.tracker,u,v=function(){if(f.hoverSeries!==a)a.onMouseOver()},A="rgba(192,192,192,"+(n?.0001:.002)+")";if(e&&!d)for(u=e+1;u--;)"M"===c[u]&&c.splice(u+1,0,c[u+1]-t,c[u+2],"L"),(u&&"M"===c[u]||u===e)&&c.splice(u,0,"L",c[u-2]+t,c[u-1]);h?h.attr({d:c}):a.graph&&(a.tracker=p.path(c).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(d?"highcharts-tracker-area":"highcharts-tracker-line").add(a.group),f.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:A,fill:d?A:"none","stroke-width":a.graph.strokeWidth()+
(d?0:2*t)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",v).on("mouseout",function(a){g.onTrackerMouseOut(a)});b.cursor&&!f.styledMode&&a.css({cursor:b.cursor});if(l)a.on("touchstart",v)}));y(this,"afterDrawTracker")}};g.column&&(g.column.prototype.drawTracker=t.drawTrackerPoint);g.pie&&(g.pie.prototype.drawTracker=t.drawTrackerPoint);g.scatter&&(g.scatter.prototype.drawTracker=t.drawTrackerPoint);u(e.prototype,{setItemEvents:function(b,d,c){var e=
this,g=e.chart.renderer.boxWrapper,k=b instanceof f,m="highcharts-legend-"+(k?"point":"series")+"-active",n=e.chart.styledMode;(c?d:b.legendGroup).on("mouseover",function(){b.visible&&e.allItems.forEach(function(a){b!==a&&a.setState("inactive",!k)});b.setState("hover");b.visible&&g.addClass(m);n||d.css(e.options.itemHoverStyle)}).on("mouseout",function(){e.chart.styledMode||d.css(a(b.visible?e.itemStyle:e.itemHiddenStyle));e.allItems.forEach(function(a){b!==a&&a.setState("",!k)});g.removeClass(m);
b.setState()}).on("click",function(a){var d=function(){b.setVisible&&b.setVisible();e.allItems.forEach(function(a){b!==a&&a.setState(b.visible?"inactive":"",!k)})};g.removeClass(m);a={browserEvent:a};b.firePointEvent?b.firePointEvent("legendItemClick",a,d):y(b,"legendItemClick",a,d)})},createCheckboxForItem:function(a){a.checkbox=F("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);H(a.checkbox,
"click",function(b){y(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});u(h.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,d=v.lang,c=b.options.chart.resetZoomButton,e=c.theme,f=e.states,g="chart"===c.relativeTo||"spaceBox"===c.relativeTo?null:"plotBox";y(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(d.resetZoom,null,null,a,e,f&&f.hover).attr({align:c.position.align,title:d.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(c.position,
!1,g)});y(this,"afterShowResetZoom")},zoomOut:function(){y(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var d=this,c,e=d.pointer,f=!1,g=d.inverted?e.mouseDownX:e.mouseDownY;!a||a.resetSelection?(d.axes.forEach(function(a){c=a.zoom()}),e.initiated=!1):a.xAxis.concat(a.yAxis).forEach(function(a){var b=a.axis,k=d.inverted?b.left:b.top,m=d.inverted?k+b.width:k+b.height,n=b.isXAxis,q=!1;if(!n&&g>=k&&g<=m||n||!z(g))q=!0;e[n?"zoomX":"zoomY"]&&q&&(c=b.zoom(a.min,a.max),b.displayBtn&&
(f=!0))});var n=d.resetZoomButton;f&&!n?d.showResetZoom():!f&&G(n)&&(d.resetZoomButton=n.destroy());c&&d.redraw(b(d.options.chart.animation,a&&a.animation,100>d.pointCount))},pan:function(a,b){var d=this,c=d.hoverPoints,e;y(this,"pan",{originalEvent:a},function(){c&&c.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=d[b?"xAxis":"yAxis"][0];var c=b.horiz,f=a[c?"chartX":"chartY"];c=c?"mouseDownX":"mouseDownY";var g=d[c],k=(b.pointRange||0)/2,m=b.reversed&&!d.inverted||!b.reversed&&
d.inverted?-1:1,n=b.getExtremes(),q=b.toValue(g-f,!0)+k*m;m=b.toValue(g+b.len-f,!0)-k*m;var l=m<q;g=l?m:q;q=l?q:m;m=Math.min(n.dataMin,k?n.min:b.toValue(b.toPixels(n.min)-b.minPixelPadding));k=Math.max(n.dataMax,k?n.max:b.toValue(b.toPixels(n.max)+b.minPixelPadding));l=m-g;0<l&&(q+=l,g=m);l=q-k;0<l&&(q=k,g-=l);b.series.length&&g!==n.min&&q!==n.max&&(b.setExtremes(g,q,!1,!1,{trigger:"pan"}),e=!0);d[c]=f});e&&d.redraw(!1);A(d.container,{cursor:"move"})})}});u(f.prototype,{select:function(a,d){var c=
this,e=c.series,f=e.chart;this.selectedStaging=a=b(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:d},function(){c.selected=c.options.selected=a;e.options.data[e.data.indexOf(c)]=c.options;c.setState(a&&"select");d||f.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==c&&(a.selected=a.options.selected=!1,b.options.data[b.data.indexOf(a)]=a.options,a.setState(f.hoverPoints&&b.options.inactiveOtherPoints?"inactive":""),a.firePointEvent("unselect"))})});delete this.selectedStaging},
onMouseOver:function(a){var b=this.series.chart,d=b.pointer;a=a?d.normalize(a):d.getChartCoordinatesFromPoint(this,b.inverted);d.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,d=a(b.series.options.point,b.options).events;b.events=d;B(d,function(a,d){c.isFunction(a)&&
H(b,d,a)});this.hasImportedEvents=!0}},setState:function(a,d){var c=this.series,e=this.state,f=c.options.states[a||"normal"]||{},g=p[c.type].marker&&c.options.marker,k=g&&!1===g.enabled,n=g&&g.states&&g.states[a||"normal"]||{},q=!1===n.enabled,l=c.stateMarkerGraphic,t=this.marker||{},h=c.chart,v=c.halo,A,B=g&&c.markerAttribs;a=a||"";if(!(a===this.state&&!d||this.selected&&"select"!==a||!1===f.enabled||a&&(q||k&&!1===n.enabled)||a&&t.states&&t.states[a]&&!1===t.states[a].enabled)){this.state=a;B&&
(A=c.markerAttribs(this,a));if(this.graphic){e&&this.graphic.removeClass("highcharts-point-"+e);a&&this.graphic.addClass("highcharts-point-"+a);if(!h.styledMode){var z=c.pointAttribs(this,a);var G=b(h.options.chart.animation,f.animation);c.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:z.opacity},G)}),this.connector&&this.connector.animate({opacity:z.opacity},G));this.graphic.animate(z,G)}A&&this.graphic.animate(A,b(h.options.chart.animation,n.animation,
g.animation));l&&l.hide()}else{if(a&&n){e=t.symbol||c.symbol;l&&l.currentSymbol!==e&&(l=l.destroy());if(A)if(l)l[d?"animate":"attr"]({x:A.x,y:A.y});else e&&(c.stateMarkerGraphic=l=h.renderer.symbol(e,A.x,A.y,A.width,A.height).add(c.markerGroup),l.currentSymbol=e);!h.styledMode&&l&&l.attr(c.pointAttribs(this,a))}l&&(l[a&&this.isInside?"show":"hide"](),l.element.point=this)}a=f.halo;f=(l=this.graphic||l)&&l.visibility||"inherit";a&&a.size&&l&&"hidden"!==f?(v||(c.halo=v=h.renderer.path().add(l.parentGroup)),
v.show()[d?"animate":"attr"]({d:this.haloPath(a.size)}),v.attr({"class":"highcharts-halo highcharts-color-"+b(this.colorIndex,c.colorIndex)+(this.className?" "+this.className:""),visibility:f,zIndex:-1}),v.point=this,h.styledMode||v.attr(u({fill:this.color||c.color,"fill-opacity":a.opacity},a.attributes))):v&&v.point&&v.point.haloPath&&v.animate({d:v.point.haloPath(0)},null,v.hide);y(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-
a,this.plotY-a,2*a,2*a)}});u(d.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&y(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,d=b.tooltip,c=b.hoverPoint;b.hoverSeries=null;if(c)c.onMouseOut();this&&a.events.mouseOut&&y(this,"mouseOut");!d||this.stickyTracking||d.shared&&!this.noSharedTooltip||d.hide();b.series.forEach(function(a){a.setState("",!0)})},
setState:function(a,d){var c=this,e=c.options,f=c.graph,g=e.inactiveOtherPoints,k=e.states,n=e.lineWidth,l=e.opacity,q=b(k[a||"normal"]&&k[a||"normal"].animation,c.chart.options.chart.animation);e=0;a=a||"";if(c.state!==a&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(b){b&&(c.state&&b.removeClass("highcharts-series-"+c.state),a&&b.addClass("highcharts-series-"+a))}),c.state=a,!c.chart.styledMode)){if(k[a]&&!1===k[a].enabled)return;a&&(n=k[a].lineWidth||n+(k[a].lineWidthPlus||0),l=b(k[a].opacity,
l));if(f&&!f.dashstyle)for(k={"stroke-width":n},f.animate(k,q);c["zone-graph-"+e];)c["zone-graph-"+e].attr(k),e+=1;g||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(a){a&&a.animate({opacity:l},q)})}d&&g&&c.points&&c.setAllPointsToState(a)},setAllPointsToState:function(a){this.points.forEach(function(b){b.setState&&b.setState(a)})},setVisible:function(a,b){var d=this,c=d.chart,e=d.legendItem,f=c.options.chart.ignoreHiddenSeries,g=d.visible;var k=(d.visible=a=d.options.visible=
d.userOptions.visible=void 0===a?!g:a)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(d[a])d[a][k]()});if(c.hoverSeries===d||(c.hoverPoint&&c.hoverPoint.series)===d)d.onMouseOut();e&&c.legend.colorizeItem(d,a);d.isDirty=!0;d.options.stacking&&c.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});d.linkedSeries.forEach(function(b){b.setVisible(a,!1)});f&&(c.isDirtyBox=!0);y(d,k);!1!==b&&c.redraw()},show:function(){this.setVisible(!0)},
hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=this.options.selected=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);y(this,a?"select":"unselect")},drawTracker:t.drawTrackerGraph})});K(E,"parts/Responsive.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.isArray,D=h.isObject,G=h.objectEach,B=h.splat;h=c.Chart;var H=c.pick;h.prototype.setResponsive=function(h,A){var v=this.options.responsive,p=[],u=this.currentResponsive;!A&&v&&
v.rules&&v.rules.forEach(function(h){void 0===h._id&&(h._id=c.uniqueKey());this.matchResponsiveRule(h,p)},this);A=c.merge.apply(0,p.map(function(p){return c.find(v.rules,function(c){return c._id===p}).chartOptions}));A.isResponsiveOptions=!0;p=p.toString()||void 0;p!==(u&&u.ruleIds)&&(u&&this.update(u.undoOptions,h,!0),p?(u=this.currentOptions(A),u.isResponsiveOptions=!0,this.currentResponsive={ruleIds:p,mergedOptions:A,undoOptions:u},this.update(A,h,!0)):this.currentResponsive=void 0)};h.prototype.matchResponsiveRule=
function(c,h){var v=c.condition;(v.callback||function(){return this.chartWidth<=H(v.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=H(v.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=H(v.minWidth,0)&&this.chartHeight>=H(v.minHeight,0)}).call(this)&&h.push(c._id)};h.prototype.currentOptions=function(c){function h(c,p,l,e){var a;G(c,function(b,c){if(!e&&-1<v.collectionsWithUpdate.indexOf(c))for(b=B(b),l[c]=[],a=0;a<b.length;a++)p[c][a]&&(l[c][a]={},h(b[a],p[c][a],l[c][a],e+1));else D(b)?(l[c]=z(b)?[]:
{},h(b,p[c]||{},l[c],e+1)):l[c]=void 0===p[c]?null:p[c]})}var v=this,p={};h(c,this.options,p,0);return p}});K(E,"parts-map/MapAxis.js",[E["parts/Globals.js"]],function(c){var h=c.addEvent,z=c.Axis,D=c.pick;h(z,"getSeriesExtremes",function(){var c=[];this.isXAxis&&(this.series.forEach(function(h,z){h.useMapGeometry&&(c[z]=h.xData,h.xData=[])}),this.seriesXData=c)});h(z,"afterGetSeriesExtremes",function(){var c=this.seriesXData,h;if(this.isXAxis){var z=D(this.dataMin,Number.MAX_VALUE);var F=D(this.dataMax,
-Number.MAX_VALUE);this.series.forEach(function(A,v){A.useMapGeometry&&(z=Math.min(z,D(A.minX,z)),F=Math.max(F,D(A.maxX,F)),A.xData=c[v],h=!0)});h&&(this.dataMin=z,this.dataMax=F);delete this.seriesXData}});h(z,"afterSetAxisTranslation",function(){var c=this.chart;var h=c.plotWidth/c.plotHeight;c=c.xAxis[0];var z;"yAxis"===this.coll&&void 0!==c.transA&&this.series.forEach(function(c){c.preserveAspectRatio&&(z=!0)});if(z&&(this.transA=c.transA=Math.min(this.transA,c.transA),h/=(c.max-c.min)/(this.max-
this.min),h=1>h?this:c,c=(h.max-h.min)*h.transA,h.pixelPadding=h.len-c,h.minPixelPadding=h.pixelPadding/2,c=h.fixTo)){c=c[1]-h.toValue(c[0],!0);c*=h.transA;if(Math.abs(c)>h.minPixelPadding||h.min===h.dataMin&&h.max===h.dataMax)c=0;h.minPixelPadding-=c}});h(z,"render",function(){this.fixTo=null})});K(E,"parts-map/ColorSeriesMixin.js",[E["parts/Globals.js"]],function(c){c.colorPointMixin={setVisible:function(c){var h=this,D=c?"show":"hide";h.visible=!!c;["graphic","dataLabel"].forEach(function(c){if(h[c])h[c][D]()})}};
c.colorSeriesMixin={optionalAxis:"colorAxis",colorAxis:0,translateColors:function(){var c=this,z=this.options.nullColor,D=this.colorAxis,G=this.colorKey;(this.data.length?this.data:this.points).forEach(function(h){var B=h[G];if(B=h.options.color||(h.isNull?z:D&&void 0!==B?D.toColor(B,h):h.color||c.color))h.color=B})}}});K(E,"parts-map/ColorAxis.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.erase,D=h.isNumber,G=h.splat;h=c.addEvent;var B=c.Axis,E=c.Chart,F=c.Series,A=c.Point,
v=c.color,p=c.extend,u=c.Legend,y=c.LegendSymbolMixin,l=c.colorPointMixin,e=c.noop,a=c.merge,b=c.pick;p(F.prototype,c.colorSeriesMixin);p(A.prototype,l);var f=c.ColorAxis=function(){this.init.apply(this,arguments)};p(f.prototype,B.prototype);p(f.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify",rotation:0},minColor:"#e6ebf5",
maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItemHeight","legendItemWidth","legendItem","legendSymbol"].concat(B.prototype.keepProps),init:function(a,b){this.coll="colorAxis";var d=this.buildOptions.call(a,this.defaultColorAxisOptions,b);B.prototype.init.call(this,a,d);b.dataClasses&&this.initDataClasses(b);this.initStops();this.horiz=!d.opposite;this.zoomEnabled=!1;this.defaultLegendLength=200},initDataClasses:function(b){var d=this.chart,c,e=0,f=d.options.chart.colorCount,
k=this.options,m=b.dataClasses.length;this.dataClasses=c=[];this.legendItems=[];b.dataClasses.forEach(function(b,g){b=a(b);c.push(b);if(d.styledMode||!b.color)"category"===k.dataClassColor?(d.styledMode||(g=d.options.colors,f=g.length,b.color=g[e]),b.colorIndex=e,e++,e===f&&(e=0)):b.color=v(k.minColor).tweenTo(v(k.maxColor),2>m?.5:g/(m-1))})},hasData:function(){return!(!this.tickPositions||!this.tickPositions.length)},setTickPositions:function(){if(!this.dataClasses)return B.prototype.setTickPositions.call(this)},
initStops:function(){this.stops=this.options.stops||[[0,this.options.minColor],[1,this.options.maxColor]];this.stops.forEach(function(a){a.color=v(a[1])})},buildOptions:function(b,c){var d=this.options.legend,e=c.layout?"vertical"!==c.layout:"vertical"!==d.layout;return a(b,{side:e?2:1,reversed:!e},c,{opposite:!e,showEmpty:!1,title:null,visible:d.enabled&&(c?!1!==c.visible:!0)})},setOptions:function(a){B.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=
this.legendSymbol,b=this.chart,c=b.options.legend||{},e,f;a?(this.left=c=a.attr("x"),this.top=e=a.attr("y"),this.width=f=a.attr("width"),this.height=a=a.attr("height"),this.right=b.chartWidth-c-f,this.bottom=b.chartHeight-e-a,this.len=this.horiz?f:a,this.pos=this.horiz?c:e):this.len=(this.horiz?c.symbolWidth:c.symbolHeight)||this.defaultLegendLength},normalizedValue:function(a){this.isLog&&(a=this.val2lin(a));return 1-(this.max-a)/(this.max-this.min||1)},toColor:function(a,b){var d=this.stops,c=this.dataClasses,
e;if(c)for(e=c.length;e--;){var f=c[e];var g=f.from;d=f.to;if((void 0===g||a>=g)&&(void 0===d||a<=d)){var l=f.color;b&&(b.dataClass=e,b.colorIndex=f.colorIndex);break}}else{a=this.normalizedValue(a);for(e=d.length;e--&&!(a>d[e][0]););g=d[e]||d[e+1];d=d[e+1]||g;a=1-(d[0]-a)/(d[0]-g[0]||1);l=g.color.tweenTo(d.color,a)}return l},getOffset:function(){var a=this.legendGroup,b=this.chart.axisOffset[this.side];a&&(this.axisParent=a,B.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=
0,this.labelRight=this.width),this.chart.axisOffset[this.side]=b)},setLegendColor:function(){var a=this.reversed;var b=a?1:0;a=a?0:1;b=this.horiz?[b,0,a,0]:[0,a,0,b];this.legendColor={linearGradient:{x1:b[0],y1:b[1],x2:b[2],y2:b[3]},stops:this.stops}},drawLegendSymbol:function(a,c){var d=a.padding,e=a.options,f=this.horiz,g=b(e.symbolWidth,f?this.defaultLegendLength:12),m=b(e.symbolHeight,f?12:this.defaultLegendLength),l=b(e.labelPadding,f?16:30);e=b(e.itemDistance,10);this.setLegendColor();c.legendSymbol=
this.chart.renderer.rect(0,a.baseline-11,g,m).attr({zIndex:1}).add(c.legendGroup);this.legendItemWidth=g+d+(f?e:l);this.legendItemHeight=m+d+(f?l:0)},setState:function(a){this.series.forEach(function(b){b.setState(a)})},visible:!0,setVisible:e,getSeriesExtremes:function(){var a=this.series,c=a.length,e;this.dataMin=Infinity;for(this.dataMax=-Infinity;c--;){var f=a[c];var l=f.colorKey=b(f.options.colorKey,f.colorKey,f.pointValKey,f.zoneAxis,"y");var k=f.pointArrayMap;var m=f[l+"Min"]&&f[l+"Max"];if(f[l+
"Data"])var h=f[l+"Data"];else if(k){h=[];k=k.indexOf(l);var p=f.yData;if(0<=k&&p)for(e=0;e<p.length;e++)h.push(b(p[e][k],p[e]))}else h=f.yData;m?(f.minColorValue=f[l+"Min"],f.maxColorValue=f[l+"Max"]):(F.prototype.getExtremes.call(f,h),f.minColorValue=f.dataMin,f.maxColorValue=f.dataMax);void 0!==f.minColorValue&&(this.dataMin=Math.min(this.dataMin,f.minColorValue),this.dataMax=Math.max(this.dataMax,f.maxColorValue));m||Highcharts.Series.prototype.getExtremes.call(f)}},drawCrosshair:function(a,b){var d=
b&&b.plotX,c=b&&b.plotY,e=this.pos,f=this.len;if(b){var g=this.toPixels(b[b.series.colorKey]);g<e?g=e-2:g>e+f&&(g=e+f+2);b.plotX=g;b.plotY=this.len-g;B.prototype.drawCrosshair.call(this,a,b);b.plotX=d;b.plotY=c;this.cross&&!this.cross.addedToColorAxis&&this.legendGroup&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup),this.cross.addedToColorAxis=!0,this.chart.styledMode||this.cross.attr({fill:this.crosshair.color}))}},getPlotLinePath:function(a){var b=a.translatedValue;return D(b)?
this.horiz?["M",b-4,this.top-6,"L",b+4,this.top-6,b,this.top,"Z"]:["M",this.left,b,"L",this.left-6,b+6,this.left-6,b-6,"Z"]:B.prototype.getPlotLinePath.apply(this,arguments)},update:function(b,c){var d=this.chart,e=d.legend,f=this.buildOptions.call(d,{},b);this.series.forEach(function(a){a.isDirtyData=!0});(b.dataClasses&&e.allItems||this.dataClasses)&&this.destroyItems();d.options[this.coll]=a(this.userOptions,f);B.prototype.update.call(this,f,c);this.legendItem&&(this.setLegendColor(),e.colorizeItem(this,
!0))},destroyItems:function(){var a=this.chart;this.legendItem?a.legend.destroyItem(this):this.legendItems&&this.legendItems.forEach(function(b){a.legend.destroyItem(b)});a.isDirtyLegend=!0},remove:function(a){this.destroyItems();B.prototype.remove.call(this,a)},getDataClassLegendSymbols:function(){var a=this,b=this.chart,f=this.legendItems,l=b.options.legend,h=l.valueDecimals,k=l.valueSuffix||"",m;f.length||this.dataClasses.forEach(function(d,g){var n=!0,l=d.from,q=d.to;m="";void 0===l?m="< ":void 0===
q&&(m="> ");void 0!==l&&(m+=c.numberFormat(l,h)+k);void 0!==l&&void 0!==q&&(m+=" - ");void 0!==q&&(m+=c.numberFormat(q,h)+k);f.push(p({chart:b,name:m,options:{},drawLegendSymbol:y.drawRectangle,visible:!0,setState:e,isDataClass:!0,setVisible:function(){n=this.visible=!n;a.series.forEach(function(a){a.points.forEach(function(a){a.dataClass===g&&a.setVisible(n)})});b.legend.colorizeItem(this,n)}},d))});return f},beforePadding:!1,name:""});["fill","stroke"].forEach(function(a){c.Fx.prototype[a+"Setter"]=
function(){this.elem.attr(a,v(this.start).tweenTo(v(this.end),this.pos),null,!0)}});h(E,"afterGetAxes",function(){var a=this,b=a.options;this.colorAxis=[];b.colorAxis&&(b.colorAxis=G(b.colorAxis),b.colorAxis.forEach(function(b,d){b.index=d;new f(a,b)}))});h(F,"bindAxes",function(){var a=this.axisTypes;a?-1===a.indexOf("colorAxis")&&a.push("colorAxis"):this.axisTypes=["colorAxis"]});h(u,"afterGetAllItems",function(a){var b=[],d,c;(this.chart.colorAxis||[]).forEach(function(c){(d=c.options)&&d.showInLegend&&
(d.dataClasses&&d.visible?b=b.concat(c.getDataClassLegendSymbols()):d.visible&&b.push(c),c.series.forEach(function(b){if(!b.options.showInLegend||d.dataClasses)"point"===b.options.legendType?b.points.forEach(function(b){z(a.allItems,b)}):z(a.allItems,b)}))});for(c=b.length;c--;)a.allItems.unshift(b[c])});h(u,"afterColorizeItem",function(a){a.visible&&a.item.legendColor&&a.item.legendSymbol.attr({fill:a.item.legendColor})});h(u,"afterUpdate",function(){var a=this.chart.colorAxis;a&&a.forEach(function(a,
b,d){a.update({},d)})});h(F,"afterTranslate",function(){(this.chart.colorAxis&&this.chart.colorAxis.length||this.colorAttribs)&&this.translateColors()})});K(E,"parts-map/ColorMapSeriesMixin.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.defined;h=c.noop;var D=c.seriesTypes;c.colorMapPointMixin={dataLabelOnNull:!0,isValid:function(){return null!==this.value&&Infinity!==this.value&&-Infinity!==this.value},setState:function(h){c.Point.prototype.setState.call(this,h);this.graphic&&
this.graphic.attr({zIndex:"hover"===h?1:0})}};c.colorMapSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:h,parallelArrays:["x","y","value"],colorKey:"value",pointAttribs:D.column.prototype.pointAttribs,colorAttribs:function(c){var h={};z(c.color)&&(h[this.colorProp||"fill"]=c.color);return h}}});K(E,"parts-map/MapNavigation.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){function z(c){c&&
(c.preventDefault&&c.preventDefault(),c.stopPropagation&&c.stopPropagation(),c.cancelBubble=!0)}function D(c){this.init(c)}var G=h.objectEach,B=c.addEvent;h=c.Chart;var E=c.doc,F=c.extend,A=c.merge,v=c.pick;D.prototype.init=function(c){this.chart=c;c.mapNavButtons=[]};D.prototype.update=function(c){var h=this.chart,p=h.options.mapNavigation,l,e,a,b,f,d=function(a){this.handler.call(h,a);z(a)},g=h.mapNavButtons;c&&(p=h.options.mapNavigation=A(h.options.mapNavigation,c));for(;g.length;)g.pop().destroy();
v(p.enableButtons,p.enabled)&&!h.renderer.forExport&&G(p.buttons,function(c,t){l=A(p.buttonOptions,c);h.styledMode||(e=l.theme,e.style=A(l.theme.style,l.style),b=(a=e.states)&&a.hover,f=a&&a.select);c=h.renderer.button(l.text,0,0,d,e,b,f,0,"zoomIn"===t?"topbutton":"bottombutton").addClass("highcharts-map-navigation highcharts-"+{zoomIn:"zoom-in",zoomOut:"zoom-out"}[t]).attr({width:l.width,height:l.height,title:h.options.lang[t],padding:l.padding,zIndex:5}).add();c.handler=l.onclick;c.align(F(l,{width:c.width,
height:2*c.height}),null,l.alignTo);B(c.element,"dblclick",z);g.push(c)});this.updateEvents(p)};D.prototype.updateEvents=function(c){var h=this.chart;v(c.enableDoubleClickZoom,c.enabled)||c.enableDoubleClickZoomTo?this.unbindDblClick=this.unbindDblClick||B(h.container,"dblclick",function(c){h.pointer.onContainerDblClick(c)}):this.unbindDblClick&&(this.unbindDblClick=this.unbindDblClick());v(c.enableMouseWheelZoom,c.enabled)?this.unbindMouseWheel=this.unbindMouseWheel||B(h.container,void 0===E.onmousewheel?
"DOMMouseScroll":"mousewheel",function(c){h.pointer.onContainerMouseWheel(c);z(c);return!1}):this.unbindMouseWheel&&(this.unbindMouseWheel=this.unbindMouseWheel())};F(h.prototype,{fitToBox:function(c,h){[["x","width"],["y","height"]].forEach(function(p){var l=p[0];p=p[1];c[l]+c[p]>h[l]+h[p]&&(c[p]>h[p]?(c[p]=h[p],c[l]=h[l]):c[l]=h[l]+h[p]-c[p]);c[p]>h[p]&&(c[p]=h[p]);c[l]<h[l]&&(c[l]=h[l])});return c},mapZoom:function(c,h,y,l,e){var a=this.xAxis[0],b=a.max-a.min,f=v(h,a.min+b/2),d=b*c;b=this.yAxis[0];
var g=b.max-b.min,n=v(y,b.min+g/2);g*=c;f=this.fitToBox({x:f-d*(l?(l-a.pos)/a.len:.5),y:n-g*(e?(e-b.pos)/b.len:.5),width:d,height:g},{x:a.dataMin,y:b.dataMin,width:a.dataMax-a.dataMin,height:b.dataMax-b.dataMin});d=f.x<=a.dataMin&&f.width>=a.dataMax-a.dataMin&&f.y<=b.dataMin&&f.height>=b.dataMax-b.dataMin;l&&(a.fixTo=[l-a.pos,h]);e&&(b.fixTo=[e-b.pos,y]);void 0===c||d?(a.setExtremes(void 0,void 0,!1),b.setExtremes(void 0,void 0,!1)):(a.setExtremes(f.x,f.x+f.width,!1),b.setExtremes(f.y,f.y+f.height,
!1));this.redraw()}});B(h,"beforeRender",function(){this.mapNavigation=new D(this);this.mapNavigation.update()});c.MapNavigation=D});K(E,"parts-map/MapPointer.js",[E["parts/Globals.js"]],function(c){var h=c.extend,z=c.pick,D=c.Pointer;c=c.wrap;h(D.prototype,{onContainerDblClick:function(c){var h=this.chart;c=this.normalize(c);h.options.mapNavigation.enableDoubleClickZoomTo?h.pointer.inClass(c.target,"highcharts-tracker")&&h.hoverPoint&&h.hoverPoint.zoomTo():h.isInsidePlot(c.chartX-h.plotLeft,c.chartY-
h.plotTop)&&h.mapZoom(.5,h.xAxis[0].toValue(c.chartX),h.yAxis[0].toValue(c.chartY),c.chartX,c.chartY)},onContainerMouseWheel:function(c){var h=this.chart;c=this.normalize(c);var z=c.detail||-(c.wheelDelta/120);h.isInsidePlot(c.chartX-h.plotLeft,c.chartY-h.plotTop)&&h.mapZoom(Math.pow(h.options.mapNavigation.mouseWheelSensitivity,z),h.xAxis[0].toValue(c.chartX),h.yAxis[0].toValue(c.chartY),c.chartX,c.chartY)}});c(D.prototype,"zoomOption",function(c){var h=this.chart.options.mapNavigation;z(h.enableTouchZoom,
h.enabled)&&(this.chart.options.chart.pinchType="xy");c.apply(this,[].slice.call(arguments,1))});c(D.prototype,"pinchTranslate",function(c,h,z,D,A,v,p){c.call(this,h,z,D,A,v,p);"map"===this.chart.options.chart.type&&this.hasZoom&&(c=D.scaleX>D.scaleY,this.pinchTranslateDirection(!c,h,z,D,A,v,p,c?D.scaleX:D.scaleY))})});K(E,"parts-map/MapSeries.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.isArray,D=h.isNumber,E=h.objectEach,B=h.splat;h=c.colorMapPointMixin;var H=c.extend,
F=c.merge,A=c.noop,v=c.pick,p=c.fireEvent,u=c.Point,y=c.Series,l=c.seriesType,e=c.seriesTypes;l("map","scatter",{animation:!1,dataLabels:{crop:!1,formatter:function(){return this.point.value},inside:!0,overflow:!1,padding:0,verticalAlign:"middle"},marker:null,nullColor:"#f7f7f7",stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}<br/>"},turboThreshold:0,allAreas:!0,borderColor:"#cccccc",borderWidth:1,joinBy:"hc-key",states:{hover:{halo:null,brightness:.2},normal:{animation:!0},
select:{color:"#cccccc"},inactive:{opacity:1}}},F(c.colorMapSeriesMixin,{type:"map",getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:A,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],setOptions:function(a){a=y.prototype.setOptions.call(this,a);var b=a.joinBy;null===b&&(b="_i");b=this.joinBy=B(b);b[1]||(b[1]=b[0]);return a},getBox:function(a){var b=Number.MAX_VALUE,e=-b,d=b,g=-b,n=b,h=b,l=this.xAxis,k=this.yAxis,m;(a||[]).forEach(function(a){if(a.path){"string"===typeof a.path&&
(a.path=c.splitPath(a.path));var f=a.path||[],k=f.length,l=!1,p=-b,q=b,t=-b,u=b,w=a.properties;if(!a._foundBox){for(;k--;)D(f[k])&&(l?(p=Math.max(p,f[k]),q=Math.min(q,f[k])):(t=Math.max(t,f[k]),u=Math.min(u,f[k])),l=!l);a._midX=q+(p-q)*v(a.middleX,w&&w["hc-middle-x"],.5);a._midY=u+(t-u)*v(a.middleY,w&&w["hc-middle-y"],.5);a._maxX=p;a._minX=q;a._maxY=t;a._minY=u;a.labelrank=v(a.labelrank,(p-q)*(t-u));a._foundBox=!0}e=Math.max(e,a._maxX);d=Math.min(d,a._minX);g=Math.max(g,a._maxY);n=Math.min(n,a._minY);
h=Math.min(a._maxX-a._minX,a._maxY-a._minY,h);m=!0}});m&&(this.minY=Math.min(n,v(this.minY,b)),this.maxY=Math.max(g,v(this.maxY,-b)),this.minX=Math.min(d,v(this.minX,b)),this.maxX=Math.max(e,v(this.maxX,-b)),l&&void 0===l.options.minRange&&(l.minRange=Math.min(5*h,(this.maxX-this.minX)/5,l.minRange||b)),k&&void 0===k.options.minRange&&(k.minRange=Math.min(5*h,(this.maxY-this.minY)/5,k.minRange||b)))},hasData:function(){return!!this.processedXData.length},getExtremes:function(){y.prototype.getExtremes.call(this,
this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax=this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,e=c.min,n=c.transA;c=c.minPixelPadding;var h=d.min,l=d.transA;d=d.minPixelPadding;var k,m=[];if(a)for(k=a.length;k--;)D(a[k])?(m[k]=b?(a[k]-e)*n+c:(a[k]-h)*l+d,b=!b):m[k]=a[k];return m},setData:function(a,b,e,d){var f=this.options,n=this.chart.options.chart,
h=n&&n.map,l=f.mapData,k=this.joinBy,m=f.keys||this.pointArrayMap,p=[],u={},v=this.chart.mapTransforms;!l&&h&&(l="string"===typeof h?c.maps[h]:h);a&&a.forEach(function(b,d){var e=0;if(D(b))a[d]={value:b};else if(z(b)){a[d]={};!f.keys&&b.length>m.length&&"string"===typeof b[0]&&(a[d]["hc-key"]=b[0],++e);for(var g=0;g<m.length;++g,++e)m[g]&&void 0!==b[e]&&(0<m[g].indexOf(".")?c.Point.prototype.setNestedProperty(a[d],b[e],m[g]):a[d][m[g]]=b[e])}k&&"_i"===k[0]&&(a[d]._i=d)});this.getBox(a);(this.chart.mapTransforms=
v=n&&n.mapTransforms||l&&l["hc-transform"]||v)&&E(v,function(a){a.rotation&&(a.cosAngle=Math.cos(a.rotation),a.sinAngle=Math.sin(a.rotation))});if(l){"FeatureCollection"===l.type&&(this.mapTitle=l.title,l=c.geojson(l,this.type,this));this.mapData=l;this.mapMap={};for(v=0;v<l.length;v++)n=l[v],h=n.properties,n._i=v,k[0]&&h&&h[k[0]]&&(n[k[0]]=h[k[0]]),u[n[k[0]]]=n;this.mapMap=u;a&&k[1]&&a.forEach(function(a){u[a[k[1]]]&&p.push(u[a[k[1]]])});f.allAreas?(this.getBox(l),a=a||[],k[1]&&a.forEach(function(a){p.push(a[k[1]])}),
p="|"+p.map(function(a){return a&&a[k[0]]}).join("|")+"|",l.forEach(function(b){k[0]&&-1!==p.indexOf("|"+b[k[0]]+"|")||(a.push(F(b,{value:null})),d=!1)})):this.getBox(p)}y.prototype.setData.call(this,a,b,e,d)},drawGraph:A,drawDataLabels:A,doFullTranslate:function(){return this.isDirtyData||this.chart.isResizing||this.chart.renderer.isVML||!this.baseTrans},translate:function(){var a=this,b=a.xAxis,c=a.yAxis,d=a.doFullTranslate();a.generatePoints();a.data.forEach(function(e){D(e._midX)&&D(e._midY)&&
(e.plotX=b.toPixels(e._midX,!0),e.plotY=c.toPixels(e._midY,!0));d&&(e.shapeType="path",e.shapeArgs={d:a.translatePath(e.path)})});p(a,"afterTranslate")},pointAttribs:function(a,b){b=a.series.chart.styledMode?this.colorAttribs(a):e.column.prototype.pointAttribs.call(this,a,b);b["stroke-width"]=v(a.options[this.pointAttrToOptions&&this.pointAttrToOptions["stroke-width"]||"borderWidth"],"inherit");return b},drawPoints:function(){var a=this,b=a.xAxis,c=a.yAxis,d=a.group,g=a.chart,l=g.renderer,h=this.baseTrans;
a.transformGroup||(a.transformGroup=l.g().attr({scaleX:1,scaleY:1}).add(d),a.transformGroup.survive=!0);if(a.doFullTranslate())g.hasRendered&&!g.styledMode&&a.points.forEach(function(b){b.shapeArgs&&(b.shapeArgs.fill=a.pointAttribs(b,b.state).fill)}),a.group=a.transformGroup,e.column.prototype.drawPoints.apply(a),a.group=d,a.points.forEach(function(b){if(b.graphic){var c="";b.name&&(c+="highcharts-name-"+b.name.replace(/ /g,"-").toLowerCase());b.properties&&b.properties["hc-key"]&&(c+=" highcharts-key-"+
b.properties["hc-key"].toLowerCase());c&&b.graphic.addClass(c);g.styledMode&&b.graphic.css(a.pointAttribs(b,b.selected&&"select"))}}),this.baseTrans={originX:b.min-b.minPixelPadding/b.transA,originY:c.min-c.minPixelPadding/c.transA+(c.reversed?0:c.len/c.transA),transAX:b.transA,transAY:c.transA},this.transformGroup.animate({translateX:0,translateY:0,scaleX:1,scaleY:1});else{var p=b.transA/h.transAX;var k=c.transA/h.transAY;var m=b.toPixels(h.originX,!0);var u=c.toPixels(h.originY,!0);.99<p&&1.01>
p&&.99<k&&1.01>k&&(k=p=1,m=Math.round(m),u=Math.round(u));var y=this.transformGroup;if(g.renderer.globalAnimation){var A=y.attr("translateX");var x=y.attr("translateY");var r=y.attr("scaleX");var z=y.attr("scaleY");y.attr({animator:0}).animate({animator:1},{step:function(a,b){y.attr({translateX:A+(m-A)*b.pos,translateY:x+(u-x)*b.pos,scaleX:r+(p-r)*b.pos,scaleY:z+(k-z)*b.pos})}})}else y.attr({translateX:m,translateY:u,scaleX:p,scaleY:k})}g.styledMode||d.element.setAttribute("stroke-width",v(a.options[a.pointAttrToOptions&&
a.pointAttrToOptions["stroke-width"]||"borderWidth"],1)/(p||1));this.drawMapDataLabels()},drawMapDataLabels:function(){y.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,b=y.prototype.render;a.chart.renderer.isVML&&3E3<a.data.length?setTimeout(function(){b.call(a)}):b.call(a)},animate:function(a){var b=this.options.animation,c=this.group,d=this.xAxis,e=this.yAxis,l=d.pos,h=e.pos;this.chart.renderer.isSVG&&(!0===
b&&(b={duration:1E3}),a?c.attr({translateX:l+d.len/2,translateY:h+e.len/2,scaleX:.001,scaleY:.001}):(c.animate({translateX:l,translateY:h,scaleX:1,scaleY:1},b),this.animate=null))},animateDrilldown:function(a){var b=this.chart.plotBox,c=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],d=c.bBox,e=this.chart.options.drilldown.animation;a||(a=Math.min(d.width/b.width,d.height/b.height),c.shapeArgs={scaleX:a,scaleY:a,translateX:d.x,translateY:d.y},this.points.forEach(function(a){a.graphic&&
a.graphic.attr(c.shapeArgs).animate({scaleX:1,scaleY:1,translateX:0,translateY:0},e)}),this.animate=null)},drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,animateDrillupFrom:function(a){e.column.prototype.animateDrillupFrom.call(this,a)},animateDrillupTo:function(a){e.column.prototype.animateDrillupTo.call(this,a)}}),H({applyOptions:function(a,b){var c=this.series;a=u.prototype.applyOptions.call(this,a,b);b=c.joinBy;c.mapData&&((b=void 0!==a[b[1]]&&c.mapMap[a[b[1]]])?(c.xyFromShape&&(a.x=b._midX,
a.y=b._midY),H(a,b)):a.value=a.value||null);return a},onMouseOver:function(a){c.clearTimeout(this.colorInterval);if(null!==this.value||this.series.options.nullInteraction)u.prototype.onMouseOver.call(this,a);else this.series.onMouseOut(a)},zoomTo:function(){var a=this.series;a.xAxis.setExtremes(this._minX,this._maxX,!1);a.yAxis.setExtremes(this._minY,this._maxY,!1);a.chart.redraw()}},h));""});K(E,"parts-map/MapLineSeries.js",[E["parts/Globals.js"]],function(c){var h=c.seriesType,z=c.seriesTypes;h("mapline",
"map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(c,h){c=z.map.prototype.pointAttribs.call(this,c,h);c.fill=this.options.fillColor;return c},drawLegendSymbol:z.line.prototype.drawLegendSymbol});""});K(E,"parts-map/MapPointSeries.js",[E["parts/Globals.js"]],function(c){var h=c.merge,z=c.Point;c=c.seriesType;c("mappoint","scatter",{dataLabels:{crop:!1,defer:!1,enabled:!0,formatter:function(){return this.point.name},
overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(c,E){c=void 0!==c.lat&&void 0!==c.lon?h(c,this.series.chart.fromLatLonToPoint(c)):c;return z.prototype.applyOptions.call(this,c,E)}});""});K(E,"parts-more/BubbleLegend.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.isNumber,D=h.objectEach;h=c.Series;var E=c.Legend,B=c.Chart,H=c.addEvent,F=c.wrap,A=c.color,v=c.numberFormat,p=c.merge,u=c.noop,y=c.pick,l=c.stableSort,e=c.setOptions,a=
c.arrayMin,b=c.arrayMax;e({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}});
c.BubbleLegend=function(a,b){this.init(a,b)};c.BubbleLegend.prototype={init:function(a,b){this.options=a;this.visible=!0;this.chart=b.chart;this.legend=b},setState:u,addToLegend:function(a){a.splice(this.options.legendIndex,0,this)},drawLegendSymbol:function(a){var b=this.chart,c=this.options,e=y(a.options.itemDistance,20),f=c.ranges;var h=c.connectorDistance;this.fontMetrics=b.renderer.fontMetrics(c.labels.style.fontSize.toString()+"px");f&&f.length&&z(f[0].value)?(l(f,function(a,b){return b.value-
a.value}),this.ranges=f,this.setOptions(),this.render(),b=this.getMaxLabelSize(),f=this.ranges[0].radius,a=2*f,h=h-f+b.width,h=0<h?h:0,this.maxLabel=b,this.movementX="left"===c.labels.align?h:0,this.legendItemWidth=a+h+e,this.legendItemHeight=a+this.fontMetrics.h/2):a.options.bubbleLegend.autoRanges=!0},setOptions:function(){var a=this.ranges,b=this.options,c=this.chart.series[b.seriesIndex],e=this.legend.baseline,h={"z-index":b.zIndex,"stroke-width":b.borderWidth},l={"z-index":b.zIndex,"stroke-width":b.connectorWidth},
k=this.getLabelStyles(),m=c.options.marker.fillOpacity,u=this.chart.styledMode;a.forEach(function(d,f){u||(h.stroke=y(d.borderColor,b.borderColor,c.color),h.fill=y(d.color,b.color,1!==m?A(c.color).setOpacity(m).get("rgba"):c.color),l.stroke=y(d.connectorColor,b.connectorColor,c.color));a[f].radius=this.getRangeRadius(d.value);a[f]=p(a[f],{center:a[0].radius-a[f].radius+e});u||p(!0,a[f],{bubbleStyle:p(!1,h),connectorStyle:p(!1,l),labelStyle:k})},this)},getLabelStyles:function(){var a=this.options,
b={},c="left"===a.labels.align,e=this.legend.options.rtl;D(a.labels.style,function(a,c){"color"!==c&&"fontSize"!==c&&"z-index"!==c&&(b[c]=a)});return p(!1,b,{"font-size":a.labels.style.fontSize,fill:y(a.labels.style.color,"#000000"),"z-index":a.zIndex,align:e||c?"right":"left"})},getRangeRadius:function(a){var b=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,b.ranges[b.ranges.length-1].value,b.ranges[0].value,b.minSize,b.maxSize,a)},render:function(){var a=this.chart.renderer,
b=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]});this.legendSymbol=a.g("bubble-legend");this.legendItem=a.g("bubble-legend-item");this.legendSymbol.translateX=0;this.legendSymbol.translateY=0;this.ranges.forEach(function(a){a.value>=b&&this.renderRange(a)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup);this.hideOverlappingLabels()},renderRange:function(a){var b=this.options,c=b.labels,e=this.chart.renderer,f=this.symbols,
h=f.labels,k=a.center,l=Math.abs(a.radius),p=b.connectorDistance,u=c.align,v=c.style.fontSize;p=this.legend.options.rtl||"left"===u?-p:p;c=b.connectorWidth;var x=this.ranges[0].radius,r=k-l-b.borderWidth/2+c/2;v=v/2-(this.fontMetrics.h-v)/2;var y=e.styledMode;"center"===u&&(p=0,b.connectorDistance=0,a.labelStyle.align="center");u=r+b.labels.y;var A=x+p+b.labels.x;f.bubbleItems.push(e.circle(x,k+((r%1?1:.5)-(c%2?0:.5)),l).attr(y?{}:a.bubbleStyle).addClass((y?"highcharts-color-"+this.options.seriesIndex+
" ":"")+"highcharts-bubble-legend-symbol "+(b.className||"")).add(this.legendSymbol));f.connectors.push(e.path(e.crispLine(["M",x,r,"L",x+p,r],b.connectorWidth)).attr(y?{}:a.connectorStyle).addClass((y?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(b.connectorClassName||"")).add(this.legendSymbol));a=e.text(this.formatLabel(a),A,u+v).attr(y?{}:a.labelStyle).addClass("highcharts-bubble-legend-labels "+(b.labels.className||"")).add(this.legendSymbol);h.push(a);
a.placed=!0;a.alignAttr={x:A,y:u+v}},getMaxLabelSize:function(){var a,b;this.symbols.labels.forEach(function(c){b=c.getBBox(!0);a=a?b.width>a.width?b:a:b});return a||{}},formatLabel:function(a){var b=this.options,e=b.labels.formatter;return(b=b.labels.format)?c.format(b,a):e?e.call(a):v(a.value,1)},hideOverlappingLabels:function(){var a=this.chart,b=this.symbols;!this.options.labels.allowOverlap&&b&&(a.hideOverlappingLabels(b.labels),b.labels.forEach(function(a,c){a.newOpacity?a.newOpacity!==a.oldOpacity&&
b.connectors[c].show():b.connectors[c].hide()}))},getRanges:function(){var c=this.legend.bubbleLegend,d=c.options.ranges,e,h=Number.MAX_VALUE,l=-Number.MAX_VALUE;c.chart.series.forEach(function(c){c.isBubble&&!c.ignoreSeries&&(e=c.zData.filter(z),e.length&&(h=y(c.options.zMin,Math.min(h,Math.max(a(e),!1===c.options.displayNegative?c.options.zThreshold:-Number.MAX_VALUE))),l=y(c.options.zMax,Math.max(l,b(e)))))});var q=h===l?[{value:l}]:[{value:h},{value:(h+l)/2},{value:l,autoRanges:!0}];d.length&&
d[0].radius&&q.reverse();q.forEach(function(a,b){d&&d[b]&&(q[b]=p(!1,d[b],a))});return q},predictBubbleSizes:function(){var a=this.chart,b=this.fontMetrics,c=a.legend.options,e="horizontal"===c.layout,h=e?a.legend.lastLineHeight:0,l=a.plotSizeX,k=a.plotSizeY,m=a.series[this.options.seriesIndex];a=Math.ceil(m.minPxSize);var p=Math.ceil(m.maxPxSize);m=m.options.maxSize;var u=Math.min(k,l);if(c.floating||!/%$/.test(m))b=p;else if(m=parseFloat(m),b=(u+h-b.h/2)*m/100/(m/100+1),e&&k-b>=l||!e&&l-b>=k)b=
p;return[a,Math.ceil(b)]},updateRanges:function(a,b){var c=this.legend.options.bubbleLegend;c.minSize=a;c.maxSize=b;c.ranges=this.getRanges()},correctSizes:function(){var a=this.legend,b=this.chart.series[this.options.seriesIndex];1<Math.abs(Math.ceil(b.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,b.maxPxSize),a.render())}};H(c.Legend,"afterGetAllItems",function(a){var b=this.bubbleLegend,e=this.options,f=e.bubbleLegend,h=this.chart.getVisibleBubbleSeriesIndex();b&&b.ranges&&
b.ranges.length&&(f.ranges.length&&(f.autoRanges=!!f.ranges[0].autoRanges),this.destroyItem(b));0<=h&&e.enabled&&f.enabled&&(f.seriesIndex=h,this.bubbleLegend=new c.BubbleLegend(f,this),this.bubbleLegend.addToLegend(a.allItems))});B.prototype.getVisibleBubbleSeriesIndex=function(){for(var a=this.series,b=0;b<a.length;){if(a[b]&&a[b].isBubble&&a[b].visible&&a[b].zData.length)return b;b++}return-1};E.prototype.getLinesHeights=function(){var a=this.allItems,b=[],c=a.length,e,h=0;for(e=0;e<c;e++)if(a[e].legendItemHeight&&
(a[e].itemHeight=a[e].legendItemHeight),a[e]===a[c-1]||a[e+1]&&a[e]._legendItemPos[1]!==a[e+1]._legendItemPos[1]){b.push({height:0});var l=b[b.length-1];for(h;h<=e;h++)a[h].itemHeight>l.height&&(l.height=a[h].itemHeight);l.step=e}return b};E.prototype.retranslateItems=function(a){var b,c,e,f=this.options.rtl,h=0;this.allItems.forEach(function(d,g){b=d.legendGroup.translateX;c=d._legendItemPos[1];if((e=d.movementX)||f&&d.ranges)e=f?b-d.options.maxSize/2:b+e,d.legendGroup.attr({translateX:e});g>a[h].step&&
h++;d.legendGroup.attr({translateY:Math.round(c+a[h].height/2)});d._legendItemPos[1]=c+a[h].height/2})};H(h,"legendItemClick",function(){var a=this.chart,b=this.visible,c=this.chart.legend;c&&c.bubbleLegend&&(this.visible=!b,this.ignoreSeries=b,a=0<=a.getVisibleBubbleSeriesIndex(),c.bubbleLegend.visible!==a&&(c.update({bubbleLegend:{enabled:a}}),c.bubbleLegend.visible=a),this.visible=b)});F(B.prototype,"drawChartBox",function(a,b,c){var d=this.legend,e=0<=this.getVisibleBubbleSeriesIndex();if(d&&
d.options.enabled&&d.bubbleLegend&&d.options.bubbleLegend.autoRanges&&e){var f=d.bubbleLegend.options;e=d.bubbleLegend.predictBubbleSizes();d.bubbleLegend.updateRanges(e[0],e[1]);f.placed||(d.group.placed=!1,d.allItems.forEach(function(a){a.legendGroup.translateY=null}));d.render();this.getMargins();this.axes.forEach(function(a){a.visible&&a.render();f.placed||(a.setScale(),a.updateNames(),D(a.ticks,function(a){a.isNew=!0;a.isNewLabel=!0}))});f.placed=!0;this.getMargins();a.call(this,b,c);d.bubbleLegend.correctSizes();
d.retranslateItems(d.getLinesHeights())}else a.call(this,b,c),d&&d.options.enabled&&d.bubbleLegend&&(d.render(),d.retranslateItems(d.getLinesHeights()))})});K(E,"parts-more/BubbleSeries.js",[E["parts/Globals.js"],E["parts/Utilities.js"]],function(c,h){var z=h.isNumber,D=h.pInt,E=c.arrayMax,B=c.arrayMin;h=c.Axis;var H=c.color,F=c.noop,A=c.pick,v=c.Point,p=c.Series,u=c.seriesType,y=c.seriesTypes;u("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},
animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,isBubble:!0,pointAttribs:function(c,
e){var a=this.options.marker.fillOpacity;c=p.prototype.pointAttribs.call(this,c,e);1!==a&&(c.fill=H(c.fill).setOpacity(a).get("rgba"));return c},getRadii:function(c,e,a){var b=this.zData,f=this.yData,d=a.minPxSize,g=a.maxPxSize,h=[];var l=0;for(a=b.length;l<a;l++){var p=b[l];h.push(this.getRadius(c,e,d,g,p,f[l]))}this.radii=h},getRadius:function(c,e,a,b,f,d){var g=this.options,h="width"!==g.sizeBy,l=g.zThreshold,p=e-c,k=.5;if(null===d||null===f)return null;if(z(f)){g.sizeByAbsoluteValue&&(f=Math.abs(f-
l),p=Math.max(e-l,Math.abs(c-l)),c=0);if(f<c)return a/2-1;0<p&&(k=(f-c)/p)}h&&0<=k&&(k=Math.sqrt(k));return Math.ceil(a+k*(b-a))/2},animate:function(c){!c&&this.points.length<this.options.animationLimit&&(this.points.forEach(function(c){var a=c.graphic;if(a&&a.width){var b={x:a.x,y:a.y,width:a.width,height:a.height};a.attr({x:c.plotX,y:c.plotY,width:1,height:1});a.animate(b,this.options.animation)}},this),this.animate=null)},hasData:function(){return!!this.processedXData.length},translate:function(){var h,
e=this.data,a=this.radii;y.scatter.prototype.translate.call(this);for(h=e.length;h--;){var b=e[h];var f=a?a[h]:0;z(f)&&f>=this.minPxSize/2?(b.marker=c.extend(b.marker,{radius:f,width:2*f,height:2*f}),b.dlBox={x:b.plotX-f,y:b.plotY-f,width:2*f,height:2*f}):b.shapeArgs=b.plotY=b.dlBox=void 0}},alignDataLabel:y.column.prototype.alignDataLabel,buildKDTree:F,applyZones:F},{haloPath:function(c){return v.prototype.haloPath.call(this,0===c?0:(this.marker?this.marker.radius||0:0)+c)},ttBelow:!1});h.prototype.beforePadding=
function(){var c=this,e=this.len,a=this.chart,b=0,f=e,d=this.isXAxis,g=d?"xData":"yData",h=this.min,p={},q=Math.min(a.plotWidth,a.plotHeight),k=Number.MAX_VALUE,m=-Number.MAX_VALUE,u=this.max-h,v=e/u,y=[];this.series.forEach(function(b){var e=b.options;!b.bubblePadding||!b.visible&&a.options.chart.ignoreHiddenSeries||(c.allowZoomOutside=!0,y.push(b),d&&(["minSize","maxSize"].forEach(function(a){var b=e[a],c=/%$/.test(b);b=D(b);p[a]=c?q*b/100:b}),b.minPxSize=p.minSize,b.maxPxSize=Math.max(p.maxSize,
p.minSize),b=b.zData.filter(z),b.length&&(k=A(e.zMin,Math.min(k,Math.max(B(b),!1===e.displayNegative?e.zThreshold:-Number.MAX_VALUE))),m=A(e.zMax,Math.max(m,E(b))))))});y.forEach(function(a){var e=a[g],l=e.length;d&&a.getRadii(k,m,a);if(0<u)for(;l--;)if(z(e[l])&&c.dataMin<=e[l]&&e[l]<=c.dataMax){var p=a.radii?a.radii[l]:0;b=Math.min((e[l]-h)*v-p,b);f=Math.max((e[l]-h)*v+p,f)}});y.length&&0<u&&!this.isLog&&(f-=e,v*=(e+Math.max(0,b)-Math.min(f,e))/e,[["min","userMin",b],["max","userMax",f]].forEach(function(a){void 0===
A(c.options[a[0]],c[a[1]])&&(c[a[0]]+=a[2]/v)}))};""});K(E,"parts-map/MapBubbleSeries.js",[E["parts/Globals.js"]],function(c){var h=c.merge,z=c.Point,D=c.seriesType,E=c.seriesTypes;E.bubble&&D("mapbubble","bubble",{animationLimit:500,tooltip:{pointFormat:"{point.name}: {point.z}"}},{xyFromShape:!0,type:"mapbubble",pointArrayMap:["z"],getMapData:E.map.prototype.getMapData,getBox:E.map.prototype.getBox,setData:E.map.prototype.setData,setOptions:E.map.prototype.setOptions},{applyOptions:function(c,D){return c&&
void 0!==c.lat&&void 0!==c.lon?z.prototype.applyOptions.call(this,h(c,this.series.chart.fromLatLonToPoint(c)),D):E.map.prototype.pointClass.prototype.applyOptions.call(this,c,D)},isValid:function(){return"number"===typeof this.z},ttBelow:!1});""});K(E,"parts-map/HeatmapSeries.js",[E["parts/Globals.js"]],function(c){var h=c.colorMapPointMixin,z=c.merge,D=c.noop,E=c.pick,B=c.fireEvent,H=c.Series,F=c.seriesType,A=c.seriesTypes;F("heatmap","scatter",{animation:!1,borderWidth:0,nullColor:"#f7f7f7",dataLabels:{formatter:function(){return this.point.value},
inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},marker:null,pointRange:null,tooltip:{pointFormat:"{point.x}, {point.y}: {point.value}<br/>"},states:{hover:{halo:!1,brightness:.2}}},z(c.colorMapSeriesMixin,{pointArrayMap:["y","value"],hasPointSpecificOptions:!0,getExtremesFromAll:!0,directTouch:!0,init:function(){A.scatter.prototype.init.apply(this,arguments);var c=this.options;c.pointRange=E(c.pointRange,c.colsize||1);this.yAxis.axisPointRange=c.rowsize||1},translate:function(){var c=
this.options,h=this.xAxis,u=this.yAxis,y=c.pointPadding||0,l=function(a,b,c){return Math.min(Math.max(b,a),c)},e=this.pointPlacementToXValue();this.generatePoints();this.points.forEach(function(a){var b=(c.colsize||1)/2,f=(c.rowsize||1)/2,d=l(Math.round(h.len-h.translate(a.x-b,0,1,0,1,-e)),-h.len,2*h.len);b=l(Math.round(h.len-h.translate(a.x+b,0,1,0,1,-e)),-h.len,2*h.len);var g=l(Math.round(u.translate(a.y-f,0,1,0,1)),-u.len,2*u.len);f=l(Math.round(u.translate(a.y+f,0,1,0,1)),-u.len,2*u.len);var p=
E(a.pointPadding,y);a.plotX=a.clientX=(d+b)/2;a.plotY=(g+f)/2;a.shapeType="rect";a.shapeArgs={x:Math.min(d,b)+p,y:Math.min(g,f)+p,width:Math.max(Math.abs(b-d)-2*p,0),height:Math.max(Math.abs(f-g)-2*p,0)}});B(this,"afterTranslate")},drawPoints:function(){var c=this.chart.styledMode?"css":"animate";A.column.prototype.drawPoints.call(this);this.points.forEach(function(h){h.graphic[c](this.colorAttribs(h))},this)},hasData:function(){return!!this.processedXData.length},getValidPoints:function(c,h){return H.prototype.getValidPoints.call(this,
c,h,!0)},animate:D,getBox:D,drawLegendSymbol:c.LegendSymbolMixin.drawRectangle,alignDataLabel:A.column.prototype.alignDataLabel,getExtremes:function(){H.prototype.getExtremes.call(this,this.valueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;H.prototype.getExtremes.call(this)}}),c.extend({haloPath:function(c){if(!c)return[];var h=this.shapeArgs;return["M",h.x-c,h.y-c,"L",h.x-c,h.y+h.height+c,h.x+h.width+c,h.y+h.height+c,h.x+h.width+c,h.y-c,"Z"]}},h));""});K(E,"parts-map/GeoJSON.js",[E["parts/Globals.js"]],
function(c){function h(c,h){var p,u=!1,v=c.x,l=c.y;c=0;for(p=h.length-1;c<h.length;p=c++){var e=h[c][1]>l;var a=h[p][1]>l;e!==a&&v<(h[p][0]-h[c][0])*(l-h[c][1])/(h[p][1]-h[c][1])+h[c][0]&&(u=!u)}return u}var z=c.Chart,D=c.extend,E=c.format,B=c.merge,H=c.win,F=c.wrap;z.prototype.transformFromLatLon=function(h,v){if(void 0===H.proj4)return c.error(21,!1,this),{x:0,y:null};h=H.proj4(v.crs,[h.lon,h.lat]);var p=v.cosAngle||v.rotation&&Math.cos(v.rotation),u=v.sinAngle||v.rotation&&Math.sin(v.rotation);
h=v.rotation?[h[0]*p+h[1]*u,-h[0]*u+h[1]*p]:h;return{x:((h[0]-(v.xoffset||0))*(v.scale||1)+(v.xpan||0))*(v.jsonres||1)+(v.jsonmarginX||0),y:(((v.yoffset||0)-h[1])*(v.scale||1)+(v.ypan||0))*(v.jsonres||1)-(v.jsonmarginY||0)}};z.prototype.transformToLatLon=function(h,v){if(void 0===H.proj4)c.error(21,!1,this);else{h={x:((h.x-(v.jsonmarginX||0))/(v.jsonres||1)-(v.xpan||0))/(v.scale||1)+(v.xoffset||0),y:((-h.y-(v.jsonmarginY||0))/(v.jsonres||1)+(v.ypan||0))/(v.scale||1)+(v.yoffset||0)};var p=v.cosAngle||
v.rotation&&Math.cos(v.rotation),u=v.sinAngle||v.rotation&&Math.sin(v.rotation);v=H.proj4(v.crs,"WGS84",v.rotation?{x:h.x*p+h.y*-u,y:h.x*u+h.y*p}:h);return{lat:v.y,lon:v.x}}};z.prototype.fromPointToLatLon=function(A){var v=this.mapTransforms,p;if(v){for(p in v)if(Object.hasOwnProperty.call(v,p)&&v[p].hitZone&&h({x:A.x,y:-A.y},v[p].hitZone.coordinates[0]))return this.transformToLatLon(A,v[p]);return this.transformToLatLon(A,v["default"])}c.error(22,!1,this)};z.prototype.fromLatLonToPoint=function(A){var v=
this.mapTransforms,p;if(!v)return c.error(22,!1,this),{x:0,y:null};for(p in v)if(Object.hasOwnProperty.call(v,p)&&v[p].hitZone){var u=this.transformFromLatLon(A,v[p]);if(h({x:u.x,y:-u.y},v[p].hitZone.coordinates[0]))return u}return this.transformFromLatLon(A,v["default"])};c.geojson=function(c,h,p){var u=[],v=[],l=function(c){var a,b=c.length;v.push("M");for(a=0;a<b;a++)1===a&&v.push("L"),v.push(c[a][0],-c[a][1])};h=h||"map";c.features.forEach(function(c){var a=c.geometry,b=a.type;a=a.coordinates;
c=c.properties;var e;v=[];"map"===h||"mapbubble"===h?("Polygon"===b?(a.forEach(l),v.push("Z")):"MultiPolygon"===b&&(a.forEach(function(a){a.forEach(l)}),v.push("Z")),v.length&&(e={path:v})):"mapline"===h?("LineString"===b?l(a):"MultiLineString"===b&&a.forEach(l),v.length&&(e={path:v})):"mappoint"===h&&"Point"===b&&(e={x:a[0],y:-a[1]});e&&u.push(D(e,{name:c.name||c.NAME,properties:c}))});p&&c.copyrightShort&&(p.chart.mapCredits=E(p.chart.options.credits.mapText,{geojson:c}),p.chart.mapCreditsFull=
E(p.chart.options.credits.mapTextFull,{geojson:c}));return u};F(z.prototype,"addCredits",function(c,h){h=B(!0,this.options.credits,h);this.mapCredits&&(h.href=null);c.call(this,h);this.credits&&this.mapCreditsFull&&this.credits.attr({title:this.mapCreditsFull})})});K(E,"parts-map/Map.js",[E["parts/Globals.js"]],function(c){function h(c,h,v,l,e,a,b,f){return["M",c+e,h,"L",c+v-a,h,"C",c+v-a/2,h,c+v,h+a/2,c+v,h+a,"L",c+v,h+l-b,"C",c+v,h+l-b/2,c+v-b/2,h+l,c+v-b,h+l,"L",c+f,h+l,"C",c+f/2,h+l,c,h+l-f/2,
c,h+l-f,"L",c,h+e,"C",c,h+e/2,c+e/2,h,c+e,h,"Z"]}var z=c.Chart,D=c.defaultOptions,E=c.extend,B=c.merge,H=c.pick,F=c.Renderer,A=c.SVGRenderer,v=c.VMLRenderer;E(D.lang,{zoomIn:"Zoom in",zoomOut:"Zoom out"});D.mapNavigation={buttonOptions:{alignTo:"plotBox",align:"left",verticalAlign:"top",x:0,width:18,height:18,padding:5,style:{fontSize:"15px",fontWeight:"bold"},theme:{"stroke-width":1,"text-align":"center"}},buttons:{zoomIn:{onclick:function(){this.mapZoom(.5)},text:"+",y:0},zoomOut:{onclick:function(){this.mapZoom(2)},
text:"-",y:28}},mouseWheelSensitivity:1.1};c.splitPath=function(c){var h;c=c.replace(/([A-Za-z])/g," $1 ");c=c.replace(/^\s*/,"").replace(/\s*$/,"");c=c.split(/[ ,]+/);for(h=0;h<c.length;h++)/[a-zA-Z]/.test(c[h])||(c[h]=parseFloat(c[h]));return c};c.maps={};A.prototype.symbols.topbutton=function(c,u,v,l,e){return h(c-1,u-1,v,l,e.r,e.r,0,0)};A.prototype.symbols.bottombutton=function(c,u,v,l,e){return h(c-1,u-1,v,l,0,0,e.r,e.r)};F===v&&["topbutton","bottombutton"].forEach(function(c){v.prototype.symbols[c]=
A.prototype.symbols[c]});c.Map=c.mapChart=function(h,u,v){var l="string"===typeof h||h.nodeName,e=arguments[l?1:0],a=e,b={endOnTick:!1,visible:!1,minPadding:0,maxPadding:0,startOnTick:!1},f=c.getOptions().credits;var d=e.series;e.series=null;e=B({chart:{panning:"xy",type:"map"},credits:{mapText:H(f.mapText,' \u00a9 <a href="{geojson.copyrightUrl}">{geojson.copyrightShort}</a>'),mapTextFull:H(f.mapTextFull,"{geojson.copyright}")},tooltip:{followTouchMove:!1},xAxis:b,yAxis:B(b,{reversed:!0})},e,{chart:{inverted:!1,
alignTicks:!1}});e.series=a.series=d;return l?new z(h,e,v):new z(e,u)}});K(E,"masters/modules/map.src.js",[],function(){});K(E,"masters/highmaps.src.js",[E["parts/Globals.js"]],function(c){c.product="Highmaps";return c});E["masters/highmaps.src.js"]._modules=E;return E["masters/highmaps.src.js"]});
//# sourceMappingURL=highmaps.js.map