UNPKG

highcharts

Version:
105 lines (103 loc) 215 kB
/* Highmaps JS v6.2.0 (2018-10-17) (c) 2011-2016 Torstein Honsi License: www.highcharts.com/license */ (function(O,K){"object"===typeof module&&module.exports?module.exports=O.document?K(O):K:"function"===typeof define&&define.amd?define(function(){return K(O)}):O.Highcharts=K(O)})("undefined"!==typeof window?window:this,function(O){var K=function(){var a="undefined"===typeof O?window:O,z=a.document,y=a.navigator&&a.navigator.userAgent||"",C=z&&z.createElementNS&&!!z.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,m=/(edge|msie|trident)/i.test(y)&&!a.opera,d=-1!==y.indexOf("Firefox"), e=-1!==y.indexOf("Chrome"),u=d&&4>parseInt(y.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps",version:"6.2.0",deg2rad:2*Math.PI/360,doc:z,hasBidiBug:u,hasTouch:z&&void 0!==z.documentElement.ontouchstart,isMS:m,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:d,isChrome:e,isSafari:!e&&-1!==y.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop", "marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var z=a.charts,y=a.doc,C=a.win;a.error=function(m,d){m=a.isNumber(m)?"Highcharts error #"+m+": www.highcharts.com/errors/"+m:m;if(d)throw Error(m);C.console&&console.log(m)};a.Fx=function(a,d,e){this.options=d;this.elem=a;this.prop=e};a.Fx.prototype={dSetter:function(){var a=this.paths[0],d=this.paths[1],e=[],u=this.now,w=a.length,q;if(1===u)e=this.toD;else if(w===d.length&&1>u)for(;w--;)q=parseFloat(a[w]), e[w]=isNaN(q)?d[w]:u*parseFloat(d[w]-q)+q;else e=d;this.elem.attr("d",e,null,!0)},update:function(){var a=this.elem,d=this.prop,e=this.now,u=this.options.step;if(this[d+"Setter"])this[d+"Setter"]();else a.attr?a.element&&a.attr(d,e,null,!0):a.style[d]=e+this.unit;u&&u.call(a,e,this)},run:function(m,d,e){var u=this,w=u.options,q=function(a){return q.stopped?!1:u.step(a)},h=C.requestAnimationFrame||function(a){setTimeout(a,13)},p=function(){for(var f=0;f<a.timers.length;f++)a.timers[f]()||a.timers.splice(f--, 1);a.timers.length&&h(p)};m!==d||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=m,this.end=d,this.unit=e,this.now=this.start,this.pos=0,q.elem=this.elem,q.prop=this.prop,q()&&1===a.timers.push(q)&&h(p)):(delete w.curAnim[this.prop],w.complete&&0===a.keys(w.curAnim).length&&w.complete.call(this.elem))},step:function(m){var d=+new Date,e,u=this.options,w=this.elem,q=u.complete,h=u.duration,p=u.curAnim;w.attr&&!w.element?m=!1:m||d>=h+this.startTime?(this.now=this.end,this.pos= 1,this.update(),e=p[this.prop]=!0,a.objectEach(p,function(a){!0!==a&&(e=!1)}),e&&q&&q.call(w),m=!1):(this.pos=u.easing((d-this.startTime)/h),this.now=this.start+(this.end-this.start)*this.pos,this.update(),m=!0);return m},initPath:function(m,d,e){function u(a){var b,c;for(l=a.length;l--;)b="M"===a[l]||"L"===a[l],c=/[a-zA-Z]/.test(a[l+3]),b&&c&&a.splice(l+1,0,a[l+1],a[l+2],a[l+1],a[l+2])}function w(a,b){for(;a.length<c;){a[0]=b[c-a.length];var f=a.slice(0,n);[].splice.apply(a,[0,0].concat(f));g&&(f= a.slice(a.length-n),[].splice.apply(a,[a.length,0].concat(f)),l--)}a[0]="M"}function q(a,f){for(var l=(c-a.length)/n;0<l&&l--;)b=a.slice().splice(a.length/E-n,n*E),b[0]=f[c-n-l*n],t&&(b[n-6]=b[n-2],b[n-5]=b[n-1]),[].splice.apply(a,[a.length/E,0].concat(b)),g&&l--}d=d||"";var h,p=m.startX,f=m.endX,t=-1<d.indexOf("C"),n=t?7:3,c,b,l;d=d.split(" ");e=e.slice();var g=m.isArea,E=g?2:1,x;t&&(u(d),u(e));if(p&&f){for(l=0;l<p.length;l++)if(p[l]===f[0]){h=l;break}else if(p[0]===f[f.length-p.length+l]){h=l;x= !0;break}void 0===h&&(d=[])}d.length&&a.isNumber(h)&&(c=e.length+h*E*n,x?(w(d,e),q(e,d)):(w(e,d),q(d,e)));return[d,e]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var m,d=arguments,e,u={},w=function(e,h){"object"!==typeof e&&(e={});a.objectEach(h,function(p,f){!a.isObject(p,!0)||a.isClass(p)||a.isDOMElement(p)?e[f]=h[f]:e[f]=w(e[f]||{}, p)});return e};!0===d[0]&&(u=d[1],d=Array.prototype.slice.call(d,2));e=d.length;for(m=0;m<e;m++)u=w(u,d[m]);return u};a.pInt=function(a,d){return parseInt(a,d||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(m,d){return!!m&&"object"===typeof m&&(!d||!a.isArray(m))};a.isDOMElement=function(m){return a.isObject(m)&&"number"===typeof m.nodeType};a.isClass=function(m){var d= m&&m.constructor;return!(!a.isObject(m,!0)||a.isDOMElement(m)||!d||!d.name||"Object"===d.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,d){for(var e=a.length;e--;)if(a[e]===d){a.splice(e,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(m,d,e){var u;a.isString(d)?a.defined(e)?m.setAttribute(d,e):m&&m.getAttribute&&((u=m.getAttribute(d))||"class"!==d||(u=m.getAttribute(d+"Name"))):a.defined(d)&&a.isObject(d)&& a.objectEach(d,function(a,e){m.setAttribute(e,a)});return u};a.splat=function(m){return a.isArray(m)?m:[m]};a.syncTimeout=function(a,d,e){if(d)return setTimeout(a,d,e);a.call(0,e)};a.clearTimeout=function(m){a.defined(m)&&clearTimeout(m)};a.extend=function(a,d){var e;a||(a={});for(e in d)a[e]=d[e];return a};a.pick=function(){var a=arguments,d,e,u=a.length;for(d=0;d<u;d++)if(e=a[d],void 0!==e&&null!==e)return e};a.css=function(m,d){a.isMS&&!a.svg&&d&&void 0!==d.opacity&&(d.filter="alpha(opacity\x3d"+ 100*d.opacity+")");a.extend(m.style,d)};a.createElement=function(m,d,e,u,w){m=y.createElement(m);var q=a.css;d&&a.extend(m,d);w&&q(m,{padding:0,border:"none",margin:0});e&&q(m,e);u&&u.appendChild(m);return m};a.extendClass=function(m,d){var e=function(){};e.prototype=new m;a.extend(e.prototype,d);return e};a.pad=function(a,d,e){return Array((d||2)+1-String(a).replace("-","").length).join(e||0)+a};a.relativeLength=function(a,d,e){return/%$/.test(a)?d*parseFloat(a)/100+(e||0):parseFloat(a)};a.wrap= function(a,d,e){var m=a[d];a[d]=function(){var a=Array.prototype.slice.call(arguments),d=arguments,h=this;h.proceed=function(){m.apply(h,arguments.length?arguments:d)};a.unshift(m);a=e.apply(this,a);h.proceed=null;return a}};a.datePropsToTimestamps=function(m){a.objectEach(m,function(d,e){a.isObject(d)&&"function"===typeof d.getTime?m[e]=d.getTime():(a.isObject(d)||a.isArray(d))&&a.datePropsToTimestamps(d)})};a.formatSingle=function(m,d,e){var u=/\.([0-9])/,w=a.defaultOptions.lang;/f$/.test(m)?(e= (e=m.match(u))?e[1]:-1,null!==d&&(d=a.numberFormat(d,e,w.decimalPoint,-1<m.indexOf(",")?w.thousandsSep:""))):d=(e||a.time).dateFormat(m,d);return d};a.format=function(m,d,e){for(var u="{",w=!1,q,h,p,f,t=[],n;m;){u=m.indexOf(u);if(-1===u)break;q=m.slice(0,u);if(w){q=q.split(":");h=q.shift().split(".");f=h.length;n=d;for(p=0;p<f;p++)n&&(n=n[h[p]]);q.length&&(n=a.formatSingle(q.join(":"),n,e));t.push(n)}else t.push(q);m=m.slice(u+1);u=(w=!w)?"}":"{"}t.push(m);return t.join("")};a.getMagnitude=function(a){return Math.pow(10, Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(m,d,e,u,w){var q,h=m;e=a.pick(e,1);q=m/e;d||(d=w?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===e?d=a.grep(d,function(a){return 0===a%1}):.1>=e&&(d=[1/e])));for(u=0;u<d.length&&!(h=d[u],w&&h*e>=m||!w&&q<=(d[u]+(d[u+1]||d[u]))/2);u++);return h=a.correctFloat(h*e,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,d){var e=a.length,m,w;for(w=0;w<e;w++)a[w].safeI=w;a.sort(function(a,h){m=d(a,h);return 0===m? a.safeI-h.safeI:m});for(w=0;w<e;w++)delete a[w].safeI};a.arrayMin=function(a){for(var d=a.length,e=a[0];d--;)a[d]<e&&(e=a[d]);return e};a.arrayMax=function(a){for(var d=a.length,e=a[0];d--;)a[d]>e&&(e=a[d]);return e};a.destroyObjectProperties=function(m,d){a.objectEach(m,function(a,u){a&&a!==d&&a.destroy&&a.destroy();delete m[u]})};a.discardElement=function(m){var d=a.garbageBin;d||(d=a.createElement("div"));m&&d.appendChild(m);d.innerHTML=""};a.correctFloat=function(a,d){return parseFloat(a.toPrecision(d|| 14))};a.setAnimation=function(m,d){d.renderer.globalAnimation=a.pick(m,d.options.chart.animation,!0)};a.animObject=function(m){return a.isObject(m)?a.merge(m):{duration:m?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(m,d,e,u){m=+m||0;d=+d;var w=a.defaultOptions.lang,q=(m.toString().split(".")[1]||"").split("e")[0].length,h,p,f=m.toString().split("e");-1===d?d=Math.min(q,20):a.isNumber(d)?d&&f[1]&&0>f[1]&& (h=d+ +f[1],0<=h?(f[0]=(+f[0]).toExponential(h).split("e")[0],d=h):(f[0]=f[0].split(".")[0]||0,m=20>d?(f[0]*Math.pow(10,f[1])).toFixed(d):0,f[1]=0)):d=2;p=(Math.abs(f[1]?f[0]:m)+Math.pow(10,-Math.max(d,q)-1)).toFixed(d);q=String(a.pInt(p));h=3<q.length?q.length%3:0;e=a.pick(e,w.decimalPoint);u=a.pick(u,w.thousandsSep);m=(0>m?"-":"")+(h?q.substr(0,h)+u:"");m+=q.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+u);d&&(m+=e+p.slice(-d));f[1]&&0!==+m&&(m+="e"+f[1]);return m};Math.easeInOutSine=function(a){return-.5* (Math.cos(Math.PI*a)-1)};a.getStyle=function(m,d,e){if("width"===d)return Math.max(0,Math.min(m.offsetWidth,m.scrollWidth)-a.getStyle(m,"padding-left")-a.getStyle(m,"padding-right"));if("height"===d)return Math.max(0,Math.min(m.offsetHeight,m.scrollHeight)-a.getStyle(m,"padding-top")-a.getStyle(m,"padding-bottom"));C.getComputedStyle||a.error(27,!0);if(m=C.getComputedStyle(m,void 0))m=m.getPropertyValue(d),a.pick(e,"opacity"!==d)&&(m=a.pInt(m));return m};a.inArray=function(m,d,e){return(a.indexOfPolyfill|| Array.prototype.indexOf).call(d,m,e)};a.grep=function(m,d){return(a.filterPolyfill||Array.prototype.filter).call(m,d)};a.find=Array.prototype.find?function(a,d){return a.find(d)}:function(a,d){var e,m=a.length;for(e=0;e<m;e++)if(d(a[e],e))return a[e]};a.some=function(m,d,e){return(a.somePolyfill||Array.prototype.some).call(m,d,e)};a.map=function(a,d){for(var e=[],m=0,w=a.length;m<w;m++)e[m]=d.call(a[m],a[m],m,a);return e};a.keys=function(m){return(a.keysPolyfill||Object.keys).call(void 0,m)};a.reduce= function(m,d,e){return(a.reducePolyfill||Array.prototype.reduce).apply(m,2<arguments.length?[d,e]:[d])};a.offset=function(a){var d=y.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||d.scrollTop)-(d.clientTop||0),left:a.left+(C.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}};a.stop=function(m,d){for(var e=a.timers.length;e--;)a.timers[e].elem!==m||d&&d!==a.timers[e].prop||(a.timers[e].stopped=!0)};a.each=function(m,d,e){return(a.forEachPolyfill|| Array.prototype.forEach).call(m,d,e)};a.objectEach=function(a,d,e){for(var m in a)a.hasOwnProperty(m)&&d.call(e||a[m],a[m],m,a)};a.addEvent=function(m,d,e,u){var w,q=m.addEventListener||a.addEventListenerPolyfill;w="function"===typeof m&&m.prototype?m.prototype.protoEvents=m.prototype.protoEvents||{}:m.hcEvents=m.hcEvents||{};a.Point&&m instanceof a.Point&&m.series&&m.series.chart&&(m.series.chart.runTrackerClick=!0);q&&q.call(m,d,e,!1);w[d]||(w[d]=[]);w[d].push(e);u&&a.isNumber(u.order)&&(e.order= u.order,w[d].sort(function(a,p){return a.order-p.order}));return function(){a.removeEvent(m,d,e)}};a.removeEvent=function(m,d,e){function u(h,f){var p=m.removeEventListener||a.removeEventListenerPolyfill;p&&p.call(m,h,f,!1)}function w(h){var f,p;m.nodeName&&(d?(f={},f[d]=!0):f=h,a.objectEach(f,function(a,c){if(h[c])for(p=h[c].length;p--;)u(c,h[c][p])}))}var q,h;a.each(["protoEvents","hcEvents"],function(p){var f=m[p];f&&(d?(q=f[d]||[],e?(h=a.inArray(e,q),-1<h&&(q.splice(h,1),f[d]=q),u(d,e)):(w(f), f[d]=[])):(w(f),m[p]={}))})};a.fireEvent=function(m,d,e,u){var w,q,h,p,f;e=e||{};y.createEvent&&(m.dispatchEvent||m.fireEvent)?(w=y.createEvent("Events"),w.initEvent(d,!0,!0),a.extend(w,e),m.dispatchEvent?m.dispatchEvent(w):m.fireEvent(d,w)):a.each(["protoEvents","hcEvents"],function(t){if(m[t])for(q=m[t][d]||[],h=q.length,e.target||a.extend(e,{preventDefault:function(){e.defaultPrevented=!0},target:m,type:d}),p=0;p<h;p++)(f=q[p])&&!1===f.call(m,e)&&e.preventDefault()});u&&!e.defaultPrevented&&u.call(m, e)};a.animate=function(m,d,e){var u,w="",q,h,p;a.isObject(e)||(p=arguments,e={duration:p[2],easing:p[3],complete:p[4]});a.isNumber(e.duration)||(e.duration=400);e.easing="function"===typeof e.easing?e.easing:Math[e.easing]||Math.easeInOutSine;e.curAnim=a.merge(d);a.objectEach(d,function(f,p){a.stop(m,p);h=new a.Fx(m,e,p);q=null;"d"===p?(h.paths=h.initPath(m,m.d,d.d),h.toD=d.d,u=0,q=1):m.attr?u=m.attr(p):(u=parseFloat(a.getStyle(m,p))||0,"opacity"!==p&&(w="px"));q||(q=f);q&&q.match&&q.match("px")&& (q=q.replace(/px/g,""));h.run(u,q,w)})};a.seriesType=function(m,d,e,u,w){var q=a.getOptions(),h=a.seriesTypes;q.plotOptions[m]=a.merge(q.plotOptions[d],e);h[m]=a.extendClass(h[d]||function(){},u);h[m].prototype.type=m;w&&(h[m].prototype.pointClass=a.extendClass(a.Point,w));return h[m]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),d=0;return function(){return"highcharts-"+a+"-"+d++}}();C.jQuery&&(C.jQuery.fn.highcharts=function(){var m=[].slice.call(arguments);if(this[0])return m[0]? (new (a[a.isString(m[0])?m.shift():"Chart"])(this[0],m[0],m[1]),this):z[a.attr(this[0],"data-highcharts-chart")]})})(K);(function(a){var z=a.each,y=a.isNumber,C=a.map,m=a.merge,d=a.pInt;a.Color=function(e){if(!(this instanceof a.Color))return new a.Color(e);this.init(e)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[d(a[1]),d(a[2]),d(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/, parse:function(a){return[d(a[1]),d(a[2]),d(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(e){var d,w,q,h;if((this.input=e=this.names[e&&e.toLowerCase?e.toLowerCase():""]||e)&&e.stops)this.stops=C(e.stops,function(h){return new a.Color(h[1])});else if(e&&e.charAt&&"#"===e.charAt()&&(d=e.length,e=parseInt(e.substr(1),16),7===d?w=[(e&16711680)>>16,(e&65280)>>8,e&255,1]:4===d&&(w=[(e&3840)>>4|(e&3840)>>8,(e&240)>>4|e&240,(e&15)<<4|e&15,1])),!w)for(q=this.parsers.length;q--&&!w;)h=this.parsers[q], (d=h.regex.exec(e))&&(w=h.parse(d));this.rgba=w||[]},get:function(a){var e=this.input,d=this.rgba,q;this.stops?(q=m(e),q.stops=[].concat(q.stops),z(this.stops,function(h,p){q.stops[p]=[q.stops[p][0],h.get(a)]})):q=d&&y(d[0])?"rgb"===a||!a&&1===d[3]?"rgb("+d[0]+","+d[1]+","+d[2]+")":"a"===a?d[3]:"rgba("+d.join(",")+")":e;return q},brighten:function(a){var e,m=this.rgba;if(this.stops)z(this.stops,function(e){e.brighten(a)});else if(y(a)&&0!==a)for(e=0;3>e;e++)m[e]+=d(255*a),0>m[e]&&(m[e]=0),255<m[e]&& (m[e]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,d){var e=this.rgba,q=a.rgba;q.length&&e&&e.length?(a=1!==q[3]||1!==e[3],d=(a?"rgba(":"rgb(")+Math.round(q[0]+(e[0]-q[0])*(1-d))+","+Math.round(q[1]+(e[1]-q[1])*(1-d))+","+Math.round(q[2]+(e[2]-q[2])*(1-d))+(a?","+(q[3]+(e[3]-q[3])*(1-d)):"")+")"):d=a.input||"none";return d}};a.color=function(e){return new a.Color(e)}})(K);(function(a){var z=a.defined,y=a.each,C=a.extend,m=a.merge,d=a.pick,e=a.timeUnits,u= a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var e=d(a&&a.useUTC,!0),h=this;this.options=a=m(!0,this.options||{},a);this.Date=a.Date||u.Date;this.timezoneOffset=(this.useUTC=e)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(e&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,f){var p=f.getTime(),n=p-h.getTimezoneOffset(f);f.setTime(n);a=f["getUTC"+a]();f.setTime(p);return a}, this.set=function(a,f,t){var n;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===f.getTimezoneOffset()%60)f["set"+a](t);else n=h.getTimezoneOffset(f),n=f.getTime()-n,f.setTime(n),f["setUTC"+a](t),a=h.getTimezoneOffset(f),n=f.getTime()+a,f.setTime(n)}):e?(this.get=function(a,f){return f["getUTC"+a]()},this.set=function(a,f,h){return f["setUTC"+a](h)}):(this.get=function(a,f){return f["get"+a]()},this.set=function(a,f,h){return f["set"+a](h)})},makeTime:function(e,q,h,p,f,t){var n,c,b;this.useUTC? (n=this.Date.UTC.apply(0,arguments),c=this.getTimezoneOffset(n),n+=c,b=this.getTimezoneOffset(n),c!==b?n+=b-c:c-36E5!==this.getTimezoneOffset(n-36E5)||a.isSafari||(n-=36E5)):n=(new this.Date(e,q,d(h,1),d(p,0),d(f,0),d(t,0))).getTime();return n},timezoneOffsetFunction:function(){var e=this,d=this.options,h=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(d.timezone){if(h)return function(a){return 6E4*-h.tz(a,d.timezone).utcOffset()};a.error(25)}return this.useUTC&& d.getTimezoneOffset?function(a){return 6E4*d.getTimezoneOffset(a)}:function(){return 6E4*(e.timezoneOffset||0)}},dateFormat:function(e,d,h){if(!a.defined(d)||isNaN(d))return a.defaultOptions.lang.invalidDate||"";e=a.pick(e,"%Y-%m-%d %H:%M:%S");var p=this,f=new this.Date(d),t=this.get("Hours",f),n=this.get("Day",f),c=this.get("Date",f),b=this.get("Month",f),l=this.get("FullYear",f),g=a.defaultOptions.lang,E=g.weekdays,x=g.shortWeekdays,q=a.pad,f=a.extend({a:x?x[n]:E[n].substr(0,3),A:E[n],d:q(c),e:q(c, 2," "),w:n,b:g.shortMonths[b],B:g.months[b],m:q(b+1),o:b+1,y:l.toString().substr(2,2),Y:l,H:q(t),k:t,I:q(t%12||12),l:t%12||12,M:q(p.get("Minutes",f)),p:12>t?"AM":"PM",P:12>t?"am":"pm",S:q(f.getSeconds()),L:q(Math.floor(d%1E3),3)},a.dateFormats);a.objectEach(f,function(a,b){for(;-1!==e.indexOf("%"+b);)e=e.replace("%"+b,"function"===typeof a?a.call(p,d):a)});return h?e.substr(0,1).toUpperCase()+e.substr(1):e},resolveDTLFormat:function(e){return a.isObject(e,!0)?e:(e=a.splat(e),{main:e[0],from:e[1], to:e[2]})},getTimeTicks:function(a,q,h,p){var f=this,t=[],n,c={},b;n=new f.Date(q);var l=a.unitRange,g=a.count||1,E;p=d(p,1);if(z(q)){f.set("Milliseconds",n,l>=e.second?0:g*Math.floor(f.get("Milliseconds",n)/g));l>=e.second&&f.set("Seconds",n,l>=e.minute?0:g*Math.floor(f.get("Seconds",n)/g));l>=e.minute&&f.set("Minutes",n,l>=e.hour?0:g*Math.floor(f.get("Minutes",n)/g));l>=e.hour&&f.set("Hours",n,l>=e.day?0:g*Math.floor(f.get("Hours",n)/g));l>=e.day&&f.set("Date",n,l>=e.month?1:g*Math.floor(f.get("Date", n)/g));l>=e.month&&(f.set("Month",n,l>=e.year?0:g*Math.floor(f.get("Month",n)/g)),b=f.get("FullYear",n));l>=e.year&&f.set("FullYear",n,b-b%g);l===e.week&&(b=f.get("Day",n),f.set("Date",n,f.get("Date",n)-b+p+(b<p?-7:0)));b=f.get("FullYear",n);p=f.get("Month",n);var x=f.get("Date",n),m=f.get("Hours",n);q=n.getTime();f.variableTimezone&&(E=h-q>4*e.month||f.getTimezoneOffset(q)!==f.getTimezoneOffset(h));q=n.getTime();for(n=1;q<h;)t.push(q),q=l===e.year?f.makeTime(b+n*g,0):l===e.month?f.makeTime(b,p+n* g):!E||l!==e.day&&l!==e.week?E&&l===e.hour&&1<g?f.makeTime(b,p,x,m+n*g):q+l*g:f.makeTime(b,p,x+n*g*(l===e.day?1:7)),n++;t.push(q);l<=e.hour&&1E4>t.length&&y(t,function(a){0===a%18E5&&"000000000"===f.dateFormat("%H%M%S%L",a)&&(c[a]="day")})}t.info=C(a,{higherRanks:c,totalRange:l*g});return t}}})(K);(function(a){var z=a.merge;a.defaultOptions={symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "), shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{borderRadius:0,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},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0, y:0,title:{}},loading:{},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,headerFormat:'\x3cspan class\x3d"highcharts-header"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',pointFormat:'\x3cspan class\x3d"highcharts-color-{point.colorIndex}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cspan class\x3d"highcharts-strong"\x3e{point.y}\x3c/span\x3e\x3cbr/\x3e'}, credits:{enabled:!0,href:"https://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},text:"Highcharts.com"}};a.setOptions=function(y){a.defaultOptions=z(!0,a.defaultOptions,y);a.time.update(z(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(z(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(y,z,m){return a.time.dateFormat(y, z,m)}})(K);(function(a){var z,y,C=a.addEvent,m=a.animate,d=a.attr,e=a.charts,u=a.color,w=a.css,q=a.createElement,h=a.defined,p=a.deg2rad,f=a.destroyObjectProperties,t=a.doc,n=a.each,c=a.extend,b=a.erase,l=a.grep,g=a.hasTouch,E=a.inArray,x=a.isArray,I=a.isFirefox,G=a.isMS,B=a.isObject,v=a.isString,A=a.isWebKit,F=a.merge,M=a.noop,J=a.objectEach,r=a.pick,D=a.pInt,S=a.removeEvent,k=a.splat,H=a.stop,T=a.svg,Q=a.SVG_NS,P=a.symbolSizes,N=a.win;z=a.SVGElement=function(){return this};c(z.prototype,{opacity:1, SVG_NS:Q,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(a,b){this.element="span"===b?q(b):t.createElementNS(this.SVG_NS,b);this.renderer=a},animate:function(b,k,c){k=a.animObject(r(k,this.renderer.globalAnimation,!0));0!==k.duration?(c&&(k.complete=c),m(this,b,k)):(this.attr(b,null,c),k.step&&k.step.call(this));return this},complexColor:function(b,k,r){var c=this.renderer,D,g,L, l,f,v,A,e,H,p,E,d=[],t;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?g="radialGradient":b.linearGradient&&(g="linearGradient");g&&(L=b[g],f=c.gradients,A=b.stops,p=r.radialReference,x(L)&&(b[g]=L={x1:L[0],y1:L[1],x2:L[2],y2:L[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===g&&p&&!h(L.gradientUnits)&&(l=L,L=F(L,c.getRadialAttr(p,l),{gradientUnits:"userSpaceOnUse"})),J(L,function(a,b){"id"!==b&&d.push(b,a)}),J(A,function(a){d.push(a)}),d=d.join(","),f[d]? E=f[d].attr("id"):(L.id=E=a.uniqueKey(),f[d]=v=c.createElement(g).attr(L).add(c.defs),v.radAttr=l,v.stops=[],n(A,function(b){0===b[1].indexOf("rgba")?(D=a.color(b[1]),e=D.get("rgb"),H=D.get("a")):(e=b[1],H=1);b=c.createElement("stop").attr({offset:b[0],"stop-color":e,"stop-opacity":H}).add(v);v.stops.push(b)})),t="url("+c.url+"#"+E+")",r.setAttribute(k,t),r.gradient=d,b.toString=function(){return t})})},applyTextOutline:function(k){var r=this.element,c,D,g,L,l;-1!==k.indexOf("contrast")&&(k=k.replace(/contrast/g, this.renderer.getContrast(r.style.fill)));k=k.split(" ");D=k[k.length-1];if((g=k[0])&&"none"!==g&&a.svg){this.fakeTS=!0;k=[].slice.call(r.getElementsByTagName("tspan"));this.ySetter=this.xSetter;g=g.replace(/(^[\d\.]+)(.*?)$/g,function(a,b,k){return 2*b+k});for(l=k.length;l--;)c=k[l],"highcharts-text-outline"===c.getAttribute("class")&&b(k,r.removeChild(c));L=r.firstChild;n(k,function(a,b){0===b&&(a.setAttribute("x",r.getAttribute("x")),b=r.getAttribute("y"),a.setAttribute("y",b||0),null===b&&r.setAttribute("y", 0));a=a.cloneNode(1);d(a,{"class":"highcharts-text-outline",fill:D,stroke:D,"stroke-width":g,"stroke-linejoin":"round"});r.insertBefore(a,L)})}},attr:function(a,b,k,r){var c,D=this.element,g,L=this,l,f;"string"===typeof a&&void 0!==b&&(c=a,a={},a[c]=b);"string"===typeof a?L=(this[a+"Getter"]||this._defaultGetter).call(this,a,D):(J(a,function(b,k){l=!1;r||H(this,k);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(k)&&(g||(this.symbolAttr(a),g=!0),l=!0);!this.rotation|| "x"!==k&&"y"!==k||(this.doTransform=!0);l||(f=this[k+"Setter"]||this._defaultSetter,f.call(this,b,k,D))},this),this.afterSetters());k&&k.call(this);return L},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},addClass:function(a,b){var k=this.attr("class")||"";-1===k.indexOf(a)&&(b||(a=(k+(k?" ":"")+a).replace(" "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==E(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class", (this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var b=this;n("x y r start end width height innerR anchorX anchorY".split(" "),function(k){b[k]=r(a[k],b[k])});b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,b){var k;b=b||a.strokeWidth||0;k=Math.round(b)%2/2;a.x=Math.floor(a.x||this.x||0)+k;a.y=Math.floor(a.y||this.y||0)+k;a.width=Math.floor((a.width|| this.width||0)-2*k);a.height=Math.floor((a.height||this.height||0)-2*k);h(a.strokeWidth)&&(a.strokeWidth=b);return a},css:function(a){var b=this.styles,k={},r=this.element,g,l="",L,f=!b,h=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);b&&J(a,function(a,r){a!==b[r]&&(k[r]=a,f=!0)});f&&(b&&(a=c(b,k)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&a.width&&(g=this.textWidth=D(a.width))),this.styles=a,g&&!T&&this.renderer.forExport&& delete a.width,r.namespaceURI===this.SVG_NS?(L=function(a,b){return"-"+b.toLowerCase()},J(a,function(a,b){-1===E(b,h)&&(l+=b.replace(/([A-Z])/g,L)+":"+a+";")}),l&&d(r,"style",l)):w(r,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},getStyle:function(a){return N.getComputedStyle(this.element||this,"").getPropertyValue(a)},strokeWidth:function(){var a=this.getStyle("stroke-width"),b;a.indexOf("px")=== a.length-2?a=D(a):(b=t.createElementNS(Q,"rect"),d(b,{width:a,"stroke-width":0}),this.element.parentNode.appendChild(b),a=b.getBBox().width,b.parentNode.removeChild(b));return a},on:function(a,b){var k=this,r=k.element;g&&"click"===a?(r.ontouchstart=function(a){k.touchEventFired=Date.now();a.preventDefault();b.call(r,a)},r.onclick=function(a){(-1===N.navigator.userAgent.indexOf("Android")||1100<Date.now()-(k.touchEventFired||0))&&b.call(r,a)}):r["on"+a]=b;return this},setRadialReference:function(a){var b= this.renderer.gradients[this.element.gradient];this.element.radialReference=a;b&&b.radAttr&&b.animate(this.renderer.getRadialAttr(a,b.radAttr));return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,k=this.scaleX,c=this.scaleY,g=this.inverted,D=this.rotation,l=this.matrix,f=this.element;g&&(a+=this.width,b+=this.height);a=["translate("+ a+","+b+")"];h(l)&&a.push("matrix("+l.join(",")+")");g?a.push("rotate(90) scale(-1,1)"):D&&a.push("rotate("+D+" "+r(this.rotationOriginX,f.getAttribute("x"),0)+" "+r(this.rotationOriginY,f.getAttribute("y")||0)+")");(h(k)||h(c))&&a.push("scale("+r(k,1)+" "+r(c,1)+")");a.length&&f.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,k,c){var g,D,l,f,h={};D=this.renderer;l=D.alignedObjects;var n,L;if(a){if(this.alignOptions= a,this.alignByTranslate=k,!c||v(c))this.alignTo=g=c||"renderer",b(l,this),l.push(this),c=null}else a=this.alignOptions,k=this.alignByTranslate,g=this.alignTo;c=r(c,D[g],D);g=a.align;D=a.verticalAlign;l=(c.x||0)+(a.x||0);f=(c.y||0)+(a.y||0);"right"===g?n=1:"center"===g&&(n=2);n&&(l+=(c.width-(a.width||0))/n);h[k?"translateX":"x"]=Math.round(l);"bottom"===D?L=1:"middle"===D&&(L=2);L&&(f+=(c.height-(a.height||0))/L);h[k?"translateY":"y"]=Math.round(f);this[this.placed?"animate":"attr"](h);this.placed= !0;this.alignAttr=h;return this},getBBox:function(a,b){var k,g=this.renderer,D,l=this.element,f=this.styles,v,L=this.textStr,A,e=g.cache,H=g.cacheKeys,x=l.namespaceURI===this.SVG_NS,d;b=r(b,this.rotation);D=b*p;v=l&&z.prototype.getStyle.call(l,"font-size");h(L)&&(d=L.toString(),-1===d.indexOf("\x3c")&&(d=d.replace(/[0-9]/g,"0")),d+=["",b||0,v,this.textWidth,f&&f.textOverflow].join());d&&!a&&(k=e[d]);if(!k){if(x||g.forExport){try{(A=this.fakeTS&&function(a){n(l.querySelectorAll(".highcharts-text-outline"), function(b){b.style.display=a})})&&A("none"),k=l.getBBox?c({},l.getBBox()):{width:l.offsetWidth,height:l.offsetHeight},A&&A("")}catch(X){}if(!k||0>k.width)k={width:0,height:0}}else k=this.htmlGetBBox();g.isSVG&&(a=k.width,g=k.height,x&&(k.height=g={"11px,17":14,"13px,20":16}[f&&f.fontSize+","+Math.round(g)]||g),b&&(k.width=Math.abs(g*Math.sin(D))+Math.abs(a*Math.cos(D)),k.height=Math.abs(g*Math.cos(D))+Math.abs(a*Math.sin(D))));if(d&&0<k.height){for(;250<H.length;)delete e[H.shift()];e[d]||H.push(d); e[d]=k}}return k},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.attr({y:-9999})}})},add:function(a){var b=this.renderer,k=this.element,r;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&b.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)r=this.zIndexSetter();r||(a?a.element:b.box).appendChild(k); if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,k=a.element||{},r=a.renderer.isSVG&&"SPAN"===k.nodeName&&a.parentGroup,c=k.ownerSVGElement,g=a.clipPath;k.onclick=k.onmouseout=k.onmouseover=k.onmousemove=k.point=null;H(a);g&&c&&(n(c.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var b=a.getAttribute("clip-path"),k=g.element.id;(-1<b.indexOf("(#"+k+")")||-1<b.indexOf('("#'+k+'")'))&&a.removeAttribute("clip-path")}), a.clipPath=g.destroy());if(a.stops){for(c=0;c<a.stops.length;c++)a.stops[c]=a.stops[c].destroy();a.stops=null}for(a.safeRemoveChild(k);r&&r.div&&0===r.div.childNodes.length;)k=r.parentGroup,a.safeRemoveChild(r.div),delete r.div,r=k;a.alignTo&&b(a.renderer.alignedObjects,a);J(a,function(b,k){delete a[k]});return null},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=r(this[a+"Value"],this[a],this.element? this.element.getAttribute(a):null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,b,k){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[b]!==a&&(k.setAttribute(b,a),this[b]=a)},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,b,k){this[b]=a;k.setAttribute(b,a)},titleSetter:function(a){var b=this.element.getElementsByTagName("title")[0];b||(b=t.createElementNS(this.SVG_NS, "title"),this.element.appendChild(b));b.firstChild&&b.removeChild(b.firstChild);b.appendChild(t.createTextNode(String(r(a),"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,b,k){"string"===typeof a?k.setAttribute(b,a):a&&this.complexColor(a,b,k)},visibilitySetter:function(a,b,k){"inherit"===a?k.removeAttribute(b):this[b]!==a&&k.setAttribute(b, a);this[b]=a},zIndexSetter:function(a,b){var k=this.renderer,r=this.parentGroup,c=(r||k).element||k.box,g,l=this.element,f,v,k=c===k.box;g=this.added;var n;h(a)?(l.setAttribute("data-z-index",a),a=+a,this[b]===a&&(g=!1)):h(this[b])&&l.removeAttribute("data-z-index");this[b]=a;if(g){(a=this.zIndex)&&r&&(r.handleZ=!0);b=c.childNodes;for(n=b.length-1;0<=n&&!f;n--)if(r=b[n],g=r.getAttribute("data-z-index"),v=!h(g),r!==l)if(0>a&&v&&!k&&!n)c.insertBefore(l,b[n]),f=!0;else if(D(g)<=a||v&&(!h(a)||0<=a))c.insertBefore(l, b[n+1]||null),f=!0;f||(c.insertBefore(l,b[k?3:0]||null),f=!0)}return f},_defaultSetter:function(a,b,k){k.setAttribute(b,a)}});z.prototype.yGetter=z.prototype.xGetter;z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.rotationSetter=z.prototype.verticalAlignSetter=z.prototype.rotationOriginXSetter=z.prototype.rotationOriginYSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=z.prototype.matrixSetter=function(a,b){this[b]=a;this.doTransform=!0};y=a.SVGRenderer=function(){this.init.apply(this, arguments)};c(y.prototype,{Element:z,SVG_NS:Q,init:function(a,b,k,r,c,g){var D;r=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});D=r.element;a.appendChild(D);d(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&d(D,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=D;this.boxWrapper=r;this.alignedObjects=[];this.url=(I||A)&&t.getElementsByTagName("base").length?N.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(t.createTextNode("Created with Highmaps 6.2.0")); this.defs=this.createElement("defs").add();this.allowHTML=g;this.forExport=c;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(b,k,!1);var l;I&&a.getBoundingClientRect&&(b=function(){w(a,{left:0,top:0});l=a.getBoundingClientRect();w(a,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})},b(),this.unSubPixelFix=C(N,"resize",b))},definition:function(a){function b(a,c){var g;n(k(a),function(a){var k=r.createElement(a.tagName),D={};J(a,function(a,b){"tagName"!== b&&"children"!==b&&"textContent"!==b&&(D[b]=a)});k.attr(D);k.add(c||r.defs);a.textContent&&k.element.appendChild(t.createTextNode(a.textContent));b(a.children||[],k);g=k});return g}var r=this;return b(a)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();f(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var b= new this.Element;b.init(this,a);return b},draw:M,getRadialAttr:function(a,b){return{cx:a[0]-a[2]/2+b.cx*a[2],cy:a[1]-a[2]/2+b.cy*a[2],r:b.r*a[2]}},truncate:function(a,b,k,r,c,g,D){var l=this,f=a.rotation,h,v=r?1:0,n=(k||r).length,A=n,e=[],H=function(a){b.firstChild&&b.removeChild(b.firstChild);a&&b.appendChild(t.createTextNode(a))},d=function(g,f){f=f||g;if(void 0===e[f])if(b.getSubStringLength)try{e[f]=c+b.getSubStringLength(0,r?f+1:f)}catch(Y){}else l.getSpanWidth&&(H(D(k||r,g)),e[f]=c+l.getSpanWidth(a, b));return e[f]},x,p;a.rotation=0;x=d(b.textContent.length);if(p=c+x>g){for(;v<=n;)A=Math.ceil((v+n)/2),r&&(h=D(r,A)),x=d(A,h&&h.length-1),v===n?v=n+1:x>g?n=A-1:v=A;0===n?H(""):k&&n===k.length-1||H(h||D(k||r,A))}r&&r.splice(0,A);a.actualWidth=x;a.rotation=f;return p},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var b=a.element,k=this,c=k.forExport,g=r(a.textStr,"").toString(),f=-1!==g.indexOf("\x3c"),v=b.childNodes,h,A=d(b,"x"), e=a.styles,H=a.textWidth,x=e&&e.lineHeight,p=e&&e.textOutline,F=e&&"ellipsis"===e.textOverflow,S=e&&"nowrap"===e.whiteSpace,B=e&&e.fontSize,q,G,m=v.length,e=H&&!a.added&&this.box,M=function(a){return x?D(x):k.fontMetrics(void 0,a.getAttribute("style")?a:b).h},I=function(a,b){J(k.escapes,function(k,r){b&&-1!==E(k,b)||(a=a.toString().replace(new RegExp(k,"g"),r))});return a},L=function(a,b){var k;k=a.indexOf("\x3c");a=a.substring(k,a.indexOf("\x3e")-k);k=a.indexOf(b+"\x3d");if(-1!==k&&(k=k+b.length+ 1,b=a.charAt(k),'"'===b||"'"===b))return a=a.substring(k+1),a.substring(0,a.indexOf(b))};q=[g,F,S,x,p,B,H].join();if(q!==a.textCache){for(a.textCache=q;m--;)b.removeChild(v[m]);f||p||F||H||-1!==g.indexOf(" ")?(e&&e.appendChild(b),g=f?g.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[g],g=l(g,function(a){return""!== a}),n(g,function(r,g){var D,l=0,f=0;r=r.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");D=r.split("|||");n(D,function(r){if(""!==r||1===D.length){var v={},n=t.createElementNS(k.SVG_NS,"tspan"),e,x;(e=L(r,"class"))&&d(n,"class",e);if(e=L(r,"style"))e=e.replace(/(;| |^)color([ :])/,"$1fill$2"),d(n,"style",e);(x=L(r,"href"))&&!c&&(d(n,"onclick",'location.href\x3d"'+x+'"'),d(n,"class","highcharts-anchor"));r=I(r.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" "); if(" "!==r){n.appendChild(t.createTextNode(r));l?v.dx=0:g&&null!==A&&(v.x=A);d(n,v);b.appendChild(n);!l&&G&&(!T&&c&&w(n,{display:"block"}),d(n,"dy",M(n)));if(H){var p=r.replace(/([^\^])-/g,"$1- ").split(" "),v=!S&&(1<D.length||g||1<p.length);x=0;var E=M(n);if(F)h=k.truncate(a,n,r,void 0,0,Math.max(0,H-parseInt(B||12,10)),function(a,b){return a.substring(0,b)+"\u2026"});else if(v)for(;p.length;)p.length&&!S&&0<x&&(n=t.createElementNS(Q,"tspan"),d(n,{dy:E,x:A}),e&&d(n,"style",e),n.appendChild(t.createTextNode(p.join(" ").replace(/- /g, "-"))),b.appendChild(n)),k.truncate(a,n,null,p,0===x?f:0,H,function(a,b){return p.slice(0,b).join(" ").replace(/- /g,"-")}),f=a.actualWidth,x++}l++}}});G=G||b.childNodes.length}),F&&h&&a.attr("title",I(a.textStr,["\x26lt;","\x26gt;"])),e&&e.removeChild(b),p&&a.applyTextOutline&&a.applyTextOutline(p)):b.appendChild(t.createTextNode(I(g)))}},getContrast:function(a){a=u(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,b,k,r,c,g,D,l,f){var v=this.label(a, b,k,f,null,null,null,null,"button"),n=0;v.attr(F({padding:8,r:2},c));C(v.element,G?"mouseover":"mouseenter",function(){3!==n&&v.setState(1)});C(v.element,G?"mouseout":"mouseleave",function(){3!==n&&v.setState(n)});v.setState=function(a){1!==a&&(v.state=n=a);v.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0])};return v.on("click",function(a){3!==n&&r.call(v,a)})},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]= Math.round(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+b%2/2);return a},path:function(a){var b={};x(a)?b.d=a:B(a)&&c(b,a);return this.createElement("path").attr(b)},circle:function(a,b,k){a=B(a)?a:{x:a,y:b,r:k};b=this.createElement("circle");b.xSetter=b.ySetter=function(a,b,k){k.setAttribute("c"+b,a)};return b.attr(a)},arc:function(a,b,k,r,c,g){B(a)?(r=a,b=r.y,k=r.r,a=r.x):r={innerR:r,start:c,end:g};a=this.symbol("arc",a,b,k,k,r);a.r=k;return a},rect:function(a,b,k,r,c,g){c=B(a)?a.r:c;g= this.createElement("rect");a=B(a)?a:void 0===a?{}:{x:a,y:b,width:Math.max(k,0),height:Math.max(r,0)};c&&(a.r=c);g.rSetter=function(a,b,k){d(k,{rx:a,ry:a})};return g.attr(a)},setSize:function(a,b,k){var c=this.alignedObjects,g=c.length;this.width=a;this.height=b;for(this.boxWrapper.animate({width:a,height:b},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:r(k,!0)?void 0:0});g--;)c[g].align()},g:function(a){var b=this.createElement("g");return a?b.attr({"class":"highcharts-"+ a}):b},image:function(a,b,k,r,g,D){var l={preserveAspectRatio:"none"},f,v=function(a,b){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.setAttribute("hc-svg-href",b)},n=function(b){v(f.element,a);D.call(f,b)};1<arguments.length&&c(l,{x:b,y:k,width:r,height:g});f=this.createElement("image").attr(l);D?(v(f.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),l=new N.Image,C(l,"load",n),l.src=a,l.complete&&n({})):v(f.element,a);return f}, symbol:function(a,b,k,g,D,l){var f=this,v,A=/^url\((.*?)\)$/,H=A.test(a),x=!H&&(this.symbols[a]?a:"circle"),p=x&&this.symbols[x],d=h(b)&&p&&p.call(this.symbols,Math.round(b),Math.round(k),g,D,l),F,E;p?(v=this.path(d),c(v,{symbolName:x,x:b,y:k,width:g,height:D}),l&&c(v,l)):H&&(F=a.match(A)[1],v=this.image(F),v.imgwidth=r(P[F]&&P[F].width,l&&l.width),v.imgheight=r(P[F]&&P[F].height,l&&l.height),E=function(){v.attr({width:v.width,height:v.height})},n(["width","height"],function(a){v[a+"Setter"]=function(a, b){var k={},r=this["img"+b],c="width"===b?"translateX":"translateY";this[b]=a;h(r)&&(this.element&&this.element.setAttribute(b,r),this.alignByTranslate||(k[c]=((this[b]||0)-r)/2,this.attr(k)))}}),h(b)&&v.attr({x:b,y:k}),v.isImg=!0,h(v.imgwidth)&&h(v.imgheight)?E():(v.attr({width:0,height:0}),q("img",{onload:function(){var a=e[f.chartIndex];0===this.width&&(w(this,{position:"absolute",top:"-999em"}),t.body.appendChild(this));P[F]={width:this.width,height:this.height};v.imgwidth=this.width;v.imgheight= this.height;v.element&&E();this.parentNode&&this.parentNode.removeChild(this);f.imgCount--;if(!f.imgCount&&a&&a.onload)a.onload()},src:F}),this.imgCount++));return v},symbols:{circle:function(a,b,k,r){return this.arc(a+k/2,b+r/2,k/2,r/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,b,k,r){return["M",a,b,"L",a+k,b,a+k,b+r,a,b+r,"Z"]},triangle:function(a,b,k,r){return["M",a+k/2,b,"L",a+k,b+r,a,b+r,"Z"]},"triangle-down":function(a,b,k,r){return["M",a,b,"L",a+k,b,a+k/2,b+r,"Z"]},diamond:function(a, b,k,r){return["M",a+k/2,b,"L",a+k,b+r/2,a+k/2,b+r,a,b+r/2,"Z"]},arc:function(a,b,k,c,g){var D=g.start,l=g.r||k,f=g.r||c||k,v=g.end-.001;k=g.innerR;c=r(g.open,.001>Math.abs(g.end-g.start-2*Math.PI));var n=Math.cos(D),e=Math.sin(D),A=Math.cos(v),v=Math.sin(v);g=.001>g.end-D-Math.PI?0:1;l=["M",a+l*n,b+f*e,"A",l,f,0,g,1,a+l*A,b+f*v];h(k)&&l.push(c?"M":"L",a+k*A,b+k*v,"A",k,k,0,g,0,a+k*n,b+k*e);l.push(c?"":"Z");return l},callout:function(a,b,k,r,c){var g=Math.min(c&&c.r||0,k,r),D=g+6,l=c&&c.anchorX;c= c&&c.anchorY;var f;f=["M",a+g,b,"L",a+k-g,b,"C",a+k,b,a+k,b,a+k,b+g,"L",a+k,b+r-g,"C",a+k,b+r,a+k,b+r,a+k-g,b+r,"L",a+g,b+r,"C",a,b+r,a,b+r,a,b+r-g,"L",a,b+g,"C",a,b,a,b,a+g,b];l&&l>k?c>b+D&&c<b+r-D?f.splice(13,3,"L",a+k,c-6,a+k+6,c,a+k,c+6,a+k,b+r-g):f.splice(13,3,"L",a+k,r/2,l,c,a+k,r/2,a+k,b+r-g):l&&0>l?c>b+D&&c<b+r-D?f.splice(33,3,"L",a,c+6,a-6,c,a,c-6,a,b+g):f.splice(33,3,"L",a,r/2,l,c,a,r/2,a,b+g):c&&c>r&&l>a+D&&l<a+k-D?f.splice(23,3,"L",l+6,b+r,l,b+r+6,l-6,b+r,a+g,b+r):c&&0>c&&l>a+D&&l<a+k- D&&f.splice(3,3,"L",l-6,b,l,b-6,l+6,b,k-g,b);return f}},clipRect:function(b,k,r,c){var g=a.uniqueKey(),D=this.createElement("clipPath").attr({id:g}).add(this.defs);b=this.rect(b,k,r,c,0).add(D);b.id=g;b.clipPath=D;b.count=0;return b},text:function(a,b,k,r){var c={};if(r&&(this.allowHTML||!this.forExport))return this.html(a,b,k);c.x=Math.round(b||0);k&&(c.y=Math.round(k));h(a)&&(c.text=a);a=this.createElement("text").attr(c);r||(a.xSetter=function(a,b,k){var r=k.getElementsByTagName("tspan"),c,g=k.getAttribute(b), D;for(D=0;D<r.length;D++)c=r[D],c.getAttribute(b)===g&&c.setAttribute(b,a);k.setAttribute(b,a)});return a},fontMetrics:function(a,b){a=b&&z.prototype.getStyle.call(b,"font-size");a=/px/.test(a)?D(a):/em/.test(a)?parseFloat(a)*(b?this.fontMetrics(null,b.parentNode).f:16):12;b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,b,k){var r=a;b&&k&&(r=Math.max(r*Math.cos(b*p),4));return{x:-a/3*Math.sin(b*p),y:r}},label:function(b,k,r,g,D,l,f,v,e){var A=this,H=A.g("button"!== e&&"label"),x=H.text=A.text("",0,0,f).attr({zIndex:1}),p,d,E=0,t=3,B=0,q,G,m,T,M,I={},J,Q=/^url\((.*?)\)$/.test(g),w=Q,u,P,N,L;e&&H.addClass("highcharts-"+e);w=!0;u=function(){return p.strokeWidth()%2/2};P=function(){var a=x.element.style,b={};d=(void 0===q||void 0===G||M)&&h(x.textStr)&&x.getBBox();H.width=(q||d.width||0)+2*t+B;H.height=(G||d.height||0)+2*t;J=t+A.fontMetrics(a&&a.fontSize,x).b;w&&(p||(H.box=p=A.symbols[g]||Q?A.symbol(g):A.rect(),p.addClass(("button"===e?"":"highcharts-label-box")+ (e?" highcharts-"+e+"-box":"")),p.add(H),a=u(),b.x=a,b.y=(v?-J:0)+a),b.width=Math.round(H.width),b.height=Math.round(H.height),p.attr(c(b,I)),I={})};N=function(){var a=B+t,b;b=v?0:J;h(q)&&d&&("center"===M||"right"===M)&&(a+={center:.5,right:1}[M]*(q-d.width));if(a!==x.x||b!==x.y)x.attr("x",a),x.hasBoxWidthChanged&&(d=x.getBBox(!0),P()),void 0!==b&&x.attr("y",b);x.x=a;x.y=b};L=function(a,b){p?p.attr(a,b):I[a]=b};H.onAdd=function(){x.add(H);H.attr({text:b||0===b?b:"",x:k,y:r});p&&h(D)&&H.attr({anchorX:D, anchorY:l})};H.widthSetter=function(b){q=a.isNumber(b)?b:null};H.heightSetter=function(a){G=a};H["text-alignSetter"]=function(a){M=a};H.paddingSetter=function(a){h(a)&&a!==t&&(t=H.padding=a,N())};H.paddingLeftSetter=function(a){h(a)&&a!==B&&(B=a,N())};H.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==E&&(E=a,d&&H.attr({x:m}))};H.textSetter=function(a){void 0!==a&&x.textSetter(a);P();N()};H["stroke-widthSetter"]=function(a,b){a&&(w=!0);this["stroke-width"]=a;L(b,a)};H.rSetter=function(a, b){L(b,a)};H.anchorXSetter=function(a,b){D=H.anchorX=a;L(b,Math.round(a)-u()-m)};H.anchorYSetter=function(a,b){l=H.anchorY=a;L(b,a-T)};H.xSetter=function(a){H.x=a;E&&(a-=E*((q||d.width)+2*t),H["forceAnimate:x"]=!0);m=Math.round(a);H.attr("translateX",m)};H.ySetter=function(a){T=H.y=Math.round(a);H.attr("translateY",T)};var y=H.css;return c(H,{css:function(a){if(a){var b={};a=F(a);n(H.textProps,function(k){void 0!==a[k]&&(b[k]=a[k],delete a[k])});x.css(b);"width"in b&&P()}return y.call(H,a)},getBBox:function(){return{width:d.width+ 2*t,height:d.height+2*t,x:d.x-t,y:d.y-t}},destroy:function(){S(H.element,"mouseenter");S(H.element,"mouseleave");x&&(x=x.destroy());p&&(p=p.destroy());z.prototype.destroy.call(H);H=A=P=N=L=null}})}});a.Renderer=y})(K);(function(a){var z=a.attr,y=a.createElement,C=a.css,m=a.defined,d=a.each,e=a.extend,u=a.isFirefox,w=a.isMS,q=a.isWebKit,h=a.pick,p=a.pInt,f=a.SVGRenderer,t=a.win,n=a.wrap;e(a.SVGElement.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,c=h(b&&a.width, void 0);b&&(delete a.width,this.textWidth=c,this.htmlUpdateTransform());a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=e(this.styles,a);C(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,l=this.x||0,g=this.y||0,f=this.textAlign||"left",n={left:0,center:.5,right:1}[f],h=this.styles, e=h&&h.whiteSpace;C(b,{marginLeft:this.translateX||0,marginTop:this.translateY||0});this.inverted&&d(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var h=this.rotation,t=this.textWidth&&p(this.textWidth),v=[h,f,b.innerHTML,this.textWidth,this.textAlign].join(),A;(A=t!==this.oldTextWidth)&&!(A=t>this.oldTextWidth)&&((A=this.textPxLength)||(C(b,{width:"",whiteSpace:e||"nowrap"}),A=b.offsetWidth),A=A>t);A&&/[ \-]/.test(b.textContent||b.innerText)?(C(b,{width:t+"px",display:"block", whiteSpace:e||"normal"}),this.oldTextWidth=t,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;v!==this.cTT&&(e=a.fontMetrics(b.style.fontSize).b,!m(h)||h===(this.oldRotation||0)&&f===this.oldAlign||this.setSpanRotation(h,n,e),this.getSpanCorrection(!m(h)&&this.textPxLength||b.offsetWidth,e,n,h,f));C(b,{left:l+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"});this.cTT=v;this.oldRotation=h;this.oldAlign=f}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,l){var c={},f=this.renderer.getTransformKey(); c[f]=c.transform="rotate("+a+"deg)";c[f+(u?"Origin":"-origin")]=c.transformOrigin=100*b+"% "+l+"px";C(this.element,c)},getSpanCorrection:function(a,b,l){this.xCorr=-a*l;this.yCorr=-b}});e(f.prototype,{getTransformKey:function(){return w&&!/Edge/.test(t.navigator.userAgent)?"-ms-transform":q?"-webkit-transform":u?"MozTransform":t.opera?"-o-transform":""},html:function(a,b,l){var c=this.createElement("span"),f=c.element,x=c.renderer,p=x.isSVG,t=function(a,b){d(["opacity","visibility"],function(c){n(a, c+"Setter",function(a,c,g,r){a.call(this,c,g,r);b[g]=c})});a.addedSetters=!0};c.textSetter=function(a){a!==f.innerHTML&&delete this.bBox;this.textStr=a;f.innerHTML=h(a,"");c.doTransform=!0};p&&t(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.doTransform=!0};c.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};c.attr({text:a,x:Math.round(b),y:Math.round(l)}).css({position:"absolute"}); f.style.whiteSpace="nowrap";c.css=c.htmlCss;p&&(c.add=function(a){var b,g=x.box.parentNode,l=[];if(this.parentGroup=a){if(b=a.div,!b){for(;a;)l.push(a),a=a.parentGroup;d(l.reverse(),function(a){function f(b,k){a[k]=b;"translateX"===k?r.left=b+"px":r.top=b+"px";a.doTransform=!0}var r,D=z(a.element,"class");D&&(D={className:D});b=a.div=a.div||y("div",D,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents}, b||g);r=b.style;e(a,{classSetter:function(a){return function(b){this.element.setAttribute("class",b);a.className=b}}(b),on:function(){l[0].div&&c.on.apply({element:l[0].div},arguments)