mirror of
https://github.com/beestat/app.git
synced 2025-05-24 02:14:03 -04:00
483 lines
234 KiB
JavaScript
Executable File
483 lines
234 KiB
JavaScript
Executable File
/*
|
|
Highcharts JS vv7.1.2 custom build (2019-07-17)
|
|
|
|
(c) 2009-2016 Torstein Honsi
|
|
|
|
License: www.highcharts.com/license
|
|
*/
|
|
|
|
/**
|
|
* Reminder: The custom build tool on the Highcharts website is broken. It does
|
|
* not properly resolve dependencies with the AreaSplineRange and Exporting
|
|
* modules. I ended up using the custom build tool, then rearranging the modules
|
|
* to match the order of the pre-built source code.
|
|
*/
|
|
|
|
(function(P,L){"object"===typeof module&&module.exports?(L["default"]=L,module.exports=P.document?L(P):L):"function"===typeof define&&define.amd?define(function(){return L(P)}):(P.Highcharts&&P.Highcharts.error(16,!0),P.Highcharts=L(P))})("undefined"!==typeof window?window:this,function(P){function L(a,B,F,C){a.hasOwnProperty(B)||(a[B]=C.apply(null,F))}var I={};L(I,"v7.1.2/js/parts/Globals.js",[],function(){var a="undefined"===typeof P?"undefined"!==typeof window?window:{}:P,B=a.document,F=a.navigator&&
|
|
a.navigator.userAgent||"",C=B&&B.createElementNS&&!!B.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,k=/(edge|msie|trident)/i.test(F)&&!a.opera,g=-1!==F.indexOf("Firefox"),p=-1!==F.indexOf("Chrome"),v=g&&4>parseInt(F.split("Firefox/")[1],10);return{product:"Highcharts",version:"v7.1.2 custom build",deg2rad:2*Math.PI/360,doc:B,hasBidiBug:v,hasTouch:B&&"undefined"!==typeof B.documentElement.ontouchstart,isMS:k,isWebKit:-1!==F.indexOf("AppleWebKit"),isFirefox:g,isChrome:p,isSafari:!p&&
|
|
-1!==F.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(F),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});L(I,"v7.1.2/js/parts/Utilities.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){a.timers=[];var B=a.charts,F=a.doc,C=a.win;a.error=function(k,g,p){var v=a.isNumber(k)?"Highcharts error #"+k+": www.highcharts.com/errors/"+
|
|
k:k,t=function(){if(g)throw Error(v);C.console&&console.log(v)};p?a.fireEvent(p,"displayError",{code:k,message:v},t):t()};a.Fx=function(a,g,p){this.options=g;this.elem=a;this.prop=p};a.Fx.prototype={dSetter:function(){var a=this.paths[0],g=this.paths[1],p=[],v=this.now,t=a.length;if(1===v)p=this.toD;else if(t===g.length&&1>v)for(;t--;){var r=parseFloat(a[t]);p[t]=isNaN(r)?g[t]:v*parseFloat(g[t]-r)+r}else p=g;this.elem.attr("d",p,null,!0)},update:function(){var a=this.elem,g=this.prop,p=this.now,v=
|
|
this.options.step;if(this[g+"Setter"])this[g+"Setter"]();else a.attr?a.element&&a.attr(g,p,null,!0):a.style[g]=p+this.unit;v&&v.call(a,p,this)},run:function(k,g,p){var v=this,t=v.options,r=function(a){return r.stopped?!1:v.step(a)},f=C.requestAnimationFrame||function(a){setTimeout(a,13)},c=function(){for(var e=0;e<a.timers.length;e++)a.timers[e]()||a.timers.splice(e--,1);a.timers.length&&f(c)};k!==g||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=k,this.end=g,this.unit=
|
|
p,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===a.timers.push(r)&&f(c)):(delete t.curAnim[this.prop],t.complete&&0===Object.keys(t.curAnim).length&&t.complete.call(this.elem))},step:function(k){var g=+new Date,p=this.options,v=this.elem,t=p.complete,r=p.duration,f=p.curAnim;if(v.attr&&!v.element)k=!1;else if(k||g>=r+this.startTime){this.now=this.end;this.pos=1;this.update();var c=f[this.prop]=!0;a.objectEach(f,function(a){!0!==a&&(c=!1)});c&&t&&t.call(v);k=!1}else this.pos=
|
|
p.easing((g-this.startTime)/r),this.now=this.start+(this.end-this.start)*this.pos,this.update(),k=!0;return k},initPath:function(k,g,p){function v(a){for(n=a.length;n--;){var b="M"===a[n]||"L"===a[n];var d=/[a-zA-Z]/.test(a[n+3]);b&&d&&a.splice(n+1,0,a[n+1],a[n+2],a[n+1],a[n+2])}}function t(a,b){for(;a.length<A;){a[0]=b[A-a.length];var d=a.slice(0,m);[].splice.apply(a,[0,0].concat(d));l&&(d=a.slice(a.length-m),[].splice.apply(a,[a.length,0].concat(d)),n--)}a[0]="M"}function r(a,c){for(var d=(A-a.length)/
|
|
m;0<d&&d--;)b=a.slice().splice(a.length/y-m,m*y),b[0]=c[A-m-d*m],e&&(b[m-6]=b[m-2],b[m-5]=b[m-1]),[].splice.apply(a,[a.length/y,0].concat(b)),l&&d--}g=g||"";var f=k.startX,c=k.endX,e=-1<g.indexOf("C"),m=e?7:3,b,n;g=g.split(" ");p=p.slice();var l=k.isArea,y=l?2:1;e&&(v(g),v(p));if(f&&c){for(n=0;n<f.length;n++)if(f[n]===c[0]){var D=n;break}else if(f[0]===c[c.length-f.length+n]){D=n;var N=!0;break}else if(f[f.length-1]===c[c.length-f.length+n]){D=f.length-n;break}"undefined"===typeof D&&(g=[])}if(g.length&&
|
|
a.isNumber(D)){var A=p.length+D*y*m;N?(t(g,p),r(p,g)):(t(p,g),r(g,p))}return[g,p]},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 k,g=arguments,p={},v=function(k,f){"object"!==typeof k&&(k={});a.objectEach(f,function(c,e){!a.isObject(c,!0)||a.isClass(c)||a.isDOMElement(c)?k[e]=f[e]:k[e]=v(k[e]||{},c)});return k};!0===g[0]&&(p=g[1],g=Array.prototype.slice.call(g,
|
|
2));var t=g.length;for(k=0;k<t;k++)p=v(p,g[k]);return p};a.pInt=function(a,g){return parseInt(a,g||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(k,g){return!!k&&"object"===typeof k&&(!g||!a.isArray(k))};a.isDOMElement=function(k){return a.isObject(k)&&"number"===typeof k.nodeType};a.isClass=function(k){var g=k&&k.constructor;return!(!a.isObject(k,!0)||a.isDOMElement(k)||
|
|
!g||!g.name||"Object"===g.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,g){for(var k=a.length;k--;)if(a[k]===g){a.splice(k,1);break}};a.defined=function(a){return"undefined"!==typeof a&&null!==a};a.attr=function(k,g,p){var v;a.isString(g)?a.defined(p)?k.setAttribute(g,p):k&&k.getAttribute&&((v=k.getAttribute(g))||"class"!==g||(v=k.getAttribute(g+"Name"))):a.defined(g)&&a.isObject(g)&&a.objectEach(g,function(a,g){k.setAttribute(g,a)});
|
|
return v};a.splat=function(k){return a.isArray(k)?k:[k]};a.syncTimeout=function(a,g,p){if(g)return setTimeout(a,g,p);a.call(0,p)};a.clearTimeout=function(k){a.defined(k)&&clearTimeout(k)};a.extend=function(a,g){var k;a||(a={});for(k in g)a[k]=g[k];return a};a.pick=function(){var a=arguments,g,p=a.length;for(g=0;g<p;g++){var v=a[g];if("undefined"!==typeof v&&null!==v)return v}};a.css=function(k,g){a.isMS&&!a.svg&&g&&"undefined"!==typeof g.opacity&&(g.filter="alpha(opacity="+100*g.opacity+")");a.extend(k.style,
|
|
g)};a.createElement=function(k,g,p,v,t){k=F.createElement(k);var r=a.css;g&&a.extend(k,g);t&&r(k,{padding:"0",border:"none",margin:"0"});p&&r(k,p);v&&v.appendChild(k);return k};a.extendClass=function(k,g){var p=function(){};p.prototype=new k;a.extend(p.prototype,g);return p};a.pad=function(a,g,p){return Array((g||2)+1-String(a).replace("-","").length).join(p||"0")+a};a.relativeLength=function(a,g,p){return/%$/.test(a)?g*parseFloat(a)/100+(p||0):parseFloat(a)};a.wrap=function(a,g,p){var k=a[g];a[g]=
|
|
function(){var a=Array.prototype.slice.call(arguments),g=arguments,f=this;f.proceed=function(){k.apply(f,arguments.length?arguments:g)};a.unshift(k);a=p.apply(this,a);f.proceed=null;return a}};a.datePropsToTimestamps=function(k){a.objectEach(k,function(g,p){a.isObject(g)&&"function"===typeof g.getTime?k[p]=g.getTime():(a.isObject(g)||a.isArray(g))&&a.datePropsToTimestamps(g)})};a.formatSingle=function(k,g,p){var v=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(k)?(p=(p=k.match(v))?p[1]:-1,null!==g&&
|
|
(g=a.numberFormat(g,p,t.decimalPoint,-1<k.indexOf(",")?t.thousandsSep:""))):g=(p||a.time).dateFormat(k,g);return g};a.format=function(k,g,p){for(var v="{",t=!1,r,f,c,e,m=[],b;k;){v=k.indexOf(v);if(-1===v)break;r=k.slice(0,v);if(t){r=r.split(":");f=r.shift().split(".");e=f.length;b=g;for(c=0;c<e;c++)b&&(b=b[f[c]]);r.length&&(b=a.formatSingle(r.join(":"),b,p));m.push(b)}else m.push(r);k=k.slice(v+1);v=(t=!t)?"}":"{"}m.push(k);return m.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/
|
|
Math.LN10))};a.normalizeTickInterval=function(k,g,p,v,t){var r=k;p=a.pick(p,1);var f=k/p;g||(g=t?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===v&&(1===p?g=g.filter(function(a){return 0===a%1}):.1>=p&&(g=[1/p])));for(v=0;v<g.length&&!(r=g[v],t&&r*p>=k||!t&&f<=(g[v]+(g[v+1]||g[v]))/2);v++);return r=a.correctFloat(r*p,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,g){var k=a.length,v,t;for(t=0;t<k;t++)a[t].safeI=t;a.sort(function(a,f){v=g(a,f);return 0===v?a.safeI-f.safeI:v});for(t=
|
|
0;t<k;t++)delete a[t].safeI};a.arrayMin=function(a){for(var g=a.length,k=a[0];g--;)a[g]<k&&(k=a[g]);return k};a.arrayMax=function(a){for(var g=a.length,k=a[0];g--;)a[g]>k&&(k=a[g]);return k};a.destroyObjectProperties=function(k,g){a.objectEach(k,function(a,v){a&&a!==g&&a.destroy&&a.destroy();delete k[v]})};a.discardElement=function(k){var g=a.garbageBin;g||(g=a.createElement("div"));k&&g.appendChild(k);g.innerHTML=""};a.correctFloat=function(a,g){return parseFloat(a.toPrecision(g||14))};a.setAnimation=
|
|
function(k,g){g.renderer.globalAnimation=a.pick(k,g.options.chart.animation,!0)};a.animObject=function(k){return a.isObject(k)?a.merge(k):{duration:k?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(k,g,p,v){k=+k||0;g=+g;var t=a.defaultOptions.lang,r=(k.toString().split(".")[1]||"").split("e")[0].length,f=k.toString().split("e");if(-1===g)g=Math.min(r,20);else if(!a.isNumber(g))g=2;else if(g&&f[1]&&0>f[1]){var c=
|
|
g+ +f[1];0<=c?(f[0]=(+f[0]).toExponential(c).split("e")[0],g=c):(f[0]=f[0].split(".")[0]||0,k=20>g?(f[0]*Math.pow(10,f[1])).toFixed(g):0,f[1]=0)}var e=(Math.abs(f[1]?f[0]:k)+Math.pow(10,-Math.max(g,r)-1)).toFixed(g);r=String(a.pInt(e));c=3<r.length?r.length%3:0;p=a.pick(p,t.decimalPoint);v=a.pick(v,t.thousandsSep);k=(0>k?"-":"")+(c?r.substr(0,c)+v:"");k+=r.substr(c).replace(/(\d{3})(?=\d)/g,"$1"+v);g&&(k+=p+e.slice(-g));f[1]&&0!==+k&&(k+="e"+f[1]);return k};Math.easeInOutSine=function(a){return-.5*
|
|
(Math.cos(Math.PI*a)-1)};a.getStyle=function(k,g,p){if("width"===g)return Math.max(0,Math.min(k.offsetWidth,k.scrollWidth,k.getBoundingClientRect&&"none"===a.getStyle(k,"transform",!1)?Math.floor(k.getBoundingClientRect().width):Infinity)-a.getStyle(k,"padding-left")-a.getStyle(k,"padding-right"));if("height"===g)return Math.max(0,Math.min(k.offsetHeight,k.scrollHeight)-a.getStyle(k,"padding-top")-a.getStyle(k,"padding-bottom"));C.getComputedStyle||a.error(27,!0);if(k=C.getComputedStyle(k,void 0))k=
|
|
k.getPropertyValue(g),a.pick(p,"opacity"!==g)&&(k=a.pInt(k));return k};a.inArray=function(a,g,p){return g.indexOf(a,p)};a.find=Array.prototype.find?function(a,g){return a.find(g)}:function(a,g){var k,v=a.length;for(k=0;k<v;k++)if(g(a[k],k))return a[k]};a.keys=Object.keys;a.offset=function(a){var g=F.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||g.scrollTop)-(g.clientTop||0),left:a.left+(C.pageXOffset||g.scrollLeft)-(g.clientLeft||
|
|
0)}};a.stop=function(k,g){for(var p=a.timers.length;p--;)a.timers[p].elem!==k||g&&g!==a.timers[p].prop||(a.timers[p].stopped=!0)};a.objectEach=function(a,g,p){for(var k in a)a.hasOwnProperty(k)&&g.call(p||a[k],a[k],k,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(k,g){a[g]=function(a){return Array.prototype[k].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(k,g,p,v){void 0===v&&(v={});var t=k.addEventListener||a.addEventListenerPolyfill;var r=
|
|
"function"===typeof k&&k.prototype?k.prototype.protoEvents=k.prototype.protoEvents||{}:k.hcEvents=k.hcEvents||{};a.Point&&k instanceof a.Point&&k.series&&k.series.chart&&(k.series.chart.runTrackerClick=!0);t&&t.call(k,g,p,!1);r[g]||(r[g]=[]);r[g].push({fn:p,order:"number"===typeof v.order?v.order:Infinity});r[g].sort(function(a,c){return a.order-c.order});return function(){a.removeEvent(k,g,p)}};a.removeEvent=function(k,g,p){function v(f,c){var e=k.removeEventListener||a.removeEventListenerPolyfill;
|
|
e&&e.call(k,f,c,!1)}function t(f){var c;if(k.nodeName){if(g){var e={};e[g]=!0}else e=f;a.objectEach(e,function(a,b){if(f[b])for(c=f[b].length;c--;)v(b,f[b][c].fn)})}}var r;["protoEvents","hcEvents"].forEach(function(a){var c=k[a];c&&(g?(r=c[g]||[],p?(c[g]=r.filter(function(a){return p!==a.fn}),v(g,p)):(t(c),c[g]=[])):(t(c),k[a]={}))})};a.fireEvent=function(k,g,p,v){var t;p=p||{};if(F.createEvent&&(k.dispatchEvent||k.fireEvent)){var r=F.createEvent("Events");r.initEvent(g,!0,!0);a.extend(r,p);k.dispatchEvent?
|
|
k.dispatchEvent(r):k.fireEvent(g,r)}else p.target||a.extend(p,{preventDefault:function(){p.defaultPrevented=!0},target:k,type:g}),function(a,c){void 0===a&&(a=[]);void 0===c&&(c=[]);var e=0,m=0,b=a.length+c.length;for(t=0;t<b;t++)!1===(a[e]?c[m]?a[e].order<=c[m].order?a[e++]:c[m++]:a[e++]:c[m++]).fn.call(k,p)&&p.preventDefault()}(k.protoEvents&&k.protoEvents[g],k.hcEvents&&k.hcEvents[g]);v&&!p.defaultPrevented&&v.call(k,p)};a.animate=function(k,g,p){var v,t="",r,f;if(!a.isObject(p)){var c=arguments;
|
|
p={duration:c[2],easing:c[3],complete:c[4]}}a.isNumber(p.duration)||(p.duration=400);p.easing="function"===typeof p.easing?p.easing:Math[p.easing]||Math.easeInOutSine;p.curAnim=a.merge(g);a.objectEach(g,function(e,c){a.stop(k,c);f=new a.Fx(k,p,c);r=null;"d"===c?(f.paths=f.initPath(k,k.d,g.d),f.toD=g.d,v=0,r=1):k.attr?v=k.attr(c):(v=parseFloat(a.getStyle(k,c))||0,"opacity"!==c&&(t="px"));r||(r=e);r&&r.match&&r.match("px")&&(r=r.replace(/px/g,""));f.run(v,r,t)})};a.seriesType=function(k,g,p,v,t){var r=
|
|
a.getOptions(),f=a.seriesTypes;r.plotOptions[k]=a.merge(r.plotOptions[g],p);f[k]=a.extendClass(f[g]||function(){},v);f[k].prototype.type=k;t&&(f[k].prototype.pointClass=a.extendClass(a.Point,t));return f[k]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),g=0;return function(){return"highcharts-"+a+"-"+g++}}();a.isFunction=function(a){return"function"===typeof a};C.jQuery&&(C.jQuery.fn.highcharts=function(){var k=[].slice.call(arguments);if(this[0])return k[0]?(new (a[a.isString(k[0])?
|
|
k.shift():"Chart"])(this[0],k[0],k[1]),this):B[a.attr(this[0],"data-highcharts-chart")]})});L(I,"v7.1.2/js/parts/Color.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.isNumber,F=a.merge,C=a.pInt;a.Color=function(k){if(!(this instanceof a.Color))return new a.Color(k);this.init(k)};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[C(a[1]),C(a[2]),C(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[C(a[1]),C(a[2]),C(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(k){var g,p;if((this.input=k=this.names[k&&k.toLowerCase?k.toLowerCase():""]||k)&&k.stops)this.stops=k.stops.map(function(g){return new a.Color(g[1])});else{if(k&&k.charAt&&"#"===k.charAt()){var v=k.length;k=parseInt(k.substr(1),16);7===v?g=[(k&16711680)>>16,(k&65280)>>8,k&255,1]:4===v&&(g=[(k&3840)>>4|(k&3840)>>8,(k&240)>>4|k&240,(k&15)<<4|k&15,1])}if(!g)for(p=this.parsers.length;p--&&!g;){var t=
|
|
this.parsers[p];(v=t.regex.exec(k))&&(g=t.parse(v))}}this.rgba=g||[]},get:function(a){var g=this.input,k=this.rgba;if(this.stops){var v=F(g);v.stops=[].concat(v.stops);this.stops.forEach(function(g,k){v.stops[k]=[v.stops[k][0],g.get(a)]})}else v=k&&B(k[0])?"rgb"===a||!a&&1===k[3]?"rgb("+k[0]+","+k[1]+","+k[2]+")":"a"===a?k[3]:"rgba("+k.join(",")+")":g;return v},brighten:function(a){var g,k=this.rgba;if(this.stops)this.stops.forEach(function(g){g.brighten(a)});else if(B(a)&&0!==a)for(g=0;3>g;g++)k[g]+=
|
|
C(255*a),0>k[g]&&(k[g]=0),255<k[g]&&(k[g]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,g){var k=this.rgba,v=a.rgba;if(v.length&&k&&k.length){var t=1!==v[3]||1!==k[3];k=(t?"rgba(":"rgb(")+Math.round(v[0]+(k[0]-v[0])*(1-g))+","+Math.round(v[1]+(k[1]-v[1])*(1-g))+","+Math.round(v[2]+(k[2]-v[2])*(1-g))+(t?","+(v[3]+(k[3]-v[3])*(1-g)):"")+")"}else k=a.input||"none";return k}};a.color=function(k){return new a.Color(k)}});L(I,"v7.1.2/js/parts/SvgRenderer.js",[I["v7.1.2/js/parts/Globals.js"]],
|
|
function(a){var B=a.addEvent,F=a.animate,C=a.attr,k=a.charts,g=a.color,p=a.css,v=a.createElement,t=a.defined,r=a.deg2rad,f=a.destroyObjectProperties,c=a.doc,e=a.extend,m=a.erase,b=a.hasTouch,n=a.isArray,l=a.isFirefox,y=a.isMS,D=a.isObject,N=a.isString,A=a.isWebKit,E=a.merge,u=a.noop,d=a.objectEach,w=a.pick,q=a.pInt,G=a.removeEvent,H=a.splat,h=a.stop,x=a.svg,J=a.SVG_NS,O=a.symbolSizes,K=a.win;var M=a.SVGElement=function(){return this};e(M.prototype,{opacity:1,SVG_NS:J,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
|
|
init:function(z,h){this.element="span"===h?v(h):c.createElementNS(this.SVG_NS,h);this.renderer=z;a.fireEvent(this,"afterInit")},animate:function(z,h,d){var b=a.animObject(w(h,this.renderer.globalAnimation,!0));w(c.hidden,c.msHidden,c.webkitHidden,!1)&&(b.duration=0);0!==b.duration?(d&&(b.complete=d),F(this,z,b)):(this.attr(z,void 0,d),a.objectEach(z,function(a,z){b.step&&b.step.call(this,a,{prop:z,pos:1})},this));return this},complexColor:function(z,h,b){var e=this.renderer,x,c,q,l,w,K,y,m,f,R,u,
|
|
J=[],M;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){z.radialGradient?c="radialGradient":z.linearGradient&&(c="linearGradient");c&&(q=z[c],w=e.gradients,y=z.stops,R=b.radialReference,n(q)&&(z[c]=q={x1:q[0],y1:q[1],x2:q[2],y2:q[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===c&&R&&!t(q.gradientUnits)&&(l=q,q=E(q,e.getRadialAttr(R,l),{gradientUnits:"userSpaceOnUse"})),d(q,function(a,z){"id"!==z&&J.push(z,a)}),d(y,function(a){J.push(a)}),J=J.join(","),w[J]?u=w[J].attr("id"):
|
|
(q.id=u=a.uniqueKey(),w[J]=K=e.createElement(c).attr(q).add(e.defs),K.radAttr=l,K.stops=[],y.forEach(function(z){0===z[1].indexOf("rgba")?(x=a.color(z[1]),m=x.get("rgb"),f=x.get("a")):(m=z[1],f=1);z=e.createElement("stop").attr({offset:z[0],"stop-color":m,"stop-opacity":f}).add(K);K.stops.push(z)})),M="url("+e.url+"#"+u+")",b.setAttribute(h,M),b.gradient=J,z.toString=function(){return M})})},applyTextOutline:function(z){var h=this.element,d;-1!==z.indexOf("contrast")&&(z=z.replace(/contrast/g,this.renderer.getContrast(h.style.fill)));
|
|
z=z.split(" ");var b=z[z.length-1];if((d=z[0])&&"none"!==d&&a.svg){this.fakeTS=!0;z=[].slice.call(h.getElementsByTagName("tspan"));this.ySetter=this.xSetter;d=d.replace(/(^[\d\.]+)(.*?)$/g,function(a,z,h){return 2*z+h});this.removeTextOutline(z);var e=h.firstChild;z.forEach(function(a,z){0===z&&(a.setAttribute("x",h.getAttribute("x")),z=h.getAttribute("y"),a.setAttribute("y",z||0),null===z&&h.setAttribute("y",0));var x=a.cloneNode(1);C(x,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":d,
|
|
"stroke-linejoin":"round"});h.insertBefore(x,e)})}},removeTextOutline:function(a){for(var z=a.length,h;z--;)h=a[z],"highcharts-text-outline"===h.getAttribute("class")&&m(a,this.element.removeChild(h))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "),attr:function(z,b,e,x){var c=this.element,q,l=this,w,K,y=this.symbolCustomAttribs;if("string"===typeof z&&void 0!==b){var m=z;z={};z[m]=b}"string"===typeof z?l=(this[z+"Getter"]||this._defaultGetter).call(this,
|
|
z,c):(d(z,function(d,b){w=!1;x||h(this,b);this.symbolName&&-1!==a.inArray(b,y)&&(q||(this.symbolAttr(z),q=!0),w=!0);!this.rotation||"x"!==b&&"y"!==b||(this.doTransform=!0);w||(K=this[b+"Setter"]||this._defaultSetter,K.call(this,d,b,c),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(b)&&this.updateShadows(b,d,K))},this),this.afterSetters());e&&e.call(this);return l},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,
|
|
h,d){for(var z=this.shadows,b=z.length;b--;)d.call(z[b],"height"===a?Math.max(h-(z[b].cutHeight||0),0):"d"===a?this.d:h,a,z[b])},addClass:function(a,h){var z=this.attr("class")||"";h||(a=(a||"").split(/ /g).reduce(function(a,h){-1===z.indexOf(h)&&a.push(h);return a},z?[z]:[]).join(" "));a!==z&&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 z=
|
|
this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(h){z[h]=w(a[h],z[h])});z.attr({d:z.renderer.symbols[z.symbolName](z.x,z.y,z.width,z.height,z)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,h){h=h||a.strokeWidth||0;var z=Math.round(h)%2/2;a.x=Math.floor(a.x||this.x||0)+z;a.y=Math.floor(a.y||this.y||0)+z;a.width=Math.floor((a.width||this.width||0)-2*z);a.height=Math.floor((a.height||
|
|
this.height||0)-2*z);t(a.strokeWidth)&&(a.strokeWidth=h);return a},css:function(a){var z=this.styles,h={},b=this.element,c="",l=!z,w=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);z&&d(a,function(a,b){a!==z[b]&&(h[b]=a,l=!0)});if(l){z&&(a=e(z,h));if(a)if(null===a.width||"auto"===a.width)delete this.textWidth;else if("text"===b.nodeName.toLowerCase()&&a.width)var K=this.textWidth=q(a.width);this.styles=a;K&&!x&&this.renderer.forExport&&delete a.width;if(b.namespaceURI===this.SVG_NS){var y=
|
|
function(a,z){return"-"+z.toLowerCase()};d(a,function(a,z){-1===w.indexOf(z)&&(c+=z.replace(/([A-Z])/g,y)+":"+a+";")});c&&C(b,"style",c)}else p(b,a);this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline))}return this},getStyle:function(a){return K.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=q(a);else{var h=c.createElementNS(J,"rect");C(h,{width:a,"stroke-width":0});this.element.parentNode.appendChild(h);a=h.getBBox().width;h.parentNode.removeChild(h)}return a},on:function(a,h){var z=this,d=z.element;b&&"click"===a?(d.ontouchstart=function(a){z.touchEventFired=Date.now();a.preventDefault();h.call(d,a)},d.onclick=function(a){(-1===K.navigator.userAgent.indexOf("Android")||1100<Date.now()-(z.touchEventFired||0))&&h.call(d,a)}):d["on"+a]=h;return this},
|
|
setRadialReference:function(a){var z=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;z&&z.radAttr&&z.animate(this.renderer.getRadialAttr(a,z.radAttr));return this},translate:function(a,h){return this.attr({translateX:a,translateY:h})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,h=this.translateY||0,b=this.scaleX,d=this.scaleY,e=this.inverted,x=this.rotation,c=this.matrix,q=this.element;e&&
|
|
(a+=this.width,h+=this.height);a=["translate("+a+","+h+")"];t(c)&&a.push("matrix("+c.join(",")+")");e?a.push("rotate(90) scale(-1,1)"):x&&a.push("rotate("+x+" "+w(this.rotationOriginX,q.getAttribute("x"),0)+" "+w(this.rotationOriginY,q.getAttribute("y")||0)+")");(t(b)||t(d))&&a.push("scale("+w(b,1)+" "+w(d,1)+")");a.length&&q.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,h,b){var z,d={};var e=this.renderer;var x=
|
|
e.alignedObjects;var c,q;if(a){if(this.alignOptions=a,this.alignByTranslate=h,!b||N(b))this.alignTo=z=b||"renderer",m(x,this),x.push(this),b=null}else a=this.alignOptions,h=this.alignByTranslate,z=this.alignTo;b=w(b,e[z],e);z=a.align;e=a.verticalAlign;x=(b.x||0)+(a.x||0);var l=(b.y||0)+(a.y||0);"right"===z?c=1:"center"===z&&(c=2);c&&(x+=(b.width-(a.width||0))/c);d[h?"translateX":"x"]=Math.round(x);"bottom"===e?q=1:"middle"===e&&(q=2);q&&(l+=(b.height-(a.height||0))/q);d[h?"translateY":"y"]=Math.round(l);
|
|
this[this.placed?"animate":"attr"](d);this.placed=!0;this.alignAttr=d;return this},getBBox:function(a,h){var z,b=this.renderer,d=this.element,x=this.styles,c=this.textStr,q,l=b.cache,K=b.cacheKeys,y=d.namespaceURI===this.SVG_NS;var m=w(h,this.rotation);var n=m*r;var f=b.styledMode?d&&M.prototype.getStyle.call(d,"font-size"):x&&x.fontSize;if(t(c)){var u=c.toString();-1===u.indexOf("<")&&(u=u.replace(/[0-9]/g,"0"));u+=["",m||0,f,this.textWidth,x&&x.textOverflow].join()}u&&!a&&(z=l[u]);if(!z){if(y||
|
|
b.forExport){try{(q=this.fakeTS&&function(a){[].forEach.call(d.querySelectorAll(".highcharts-text-outline"),function(z){z.style.display=a})})&&q("none"),z=d.getBBox?e({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight},q&&q("")}catch(Y){""}if(!z||0>z.width)z={width:0,height:0}}else z=this.htmlGetBBox();b.isSVG&&(b=z.width,f=z.height,y&&(z.height=f={"11px,17":14,"13px,20":16}[x&&x.fontSize+","+Math.round(f)]||f),m&&(z.width=Math.abs(f*Math.sin(n))+Math.abs(b*Math.cos(n)),z.height=Math.abs(f*
|
|
Math.cos(n))+Math.abs(b*Math.sin(n))));if(u&&0<z.height){for(;250<K.length;)delete l[K.shift()];l[u]||K.push(u);l[u]=z}}return z},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var z=this;z.animate({opacity:0},{duration:a||150,complete:function(){z.attr({y:-9999})}})},add:function(a){var z=this.renderer,h=this.element;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&
|
|
z.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)var b=this.zIndexSetter();b||(a?a.element:z.box).appendChild(h);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var z=a.parentNode;z&&z.removeChild(a)},destroy:function(){var a=this,b=a.element||{},x=a.renderer,e=x.isSVG&&"SPAN"===b.nodeName&&a.parentGroup,c=b.ownerSVGElement,q=a.clipPath;b.onclick=b.onmouseout=b.onmouseover=b.onmousemove=b.point=null;h(a);q&&c&&([].forEach.call(c.querySelectorAll("[clip-path],[CLIP-PATH]"),
|
|
function(a){-1<a.getAttribute("clip-path").indexOf(q.element.id)&&a.removeAttribute("clip-path")}),a.clipPath=q.destroy());if(a.stops){for(c=0;c<a.stops.length;c++)a.stops[c]=a.stops[c].destroy();a.stops=null}a.safeRemoveChild(b);for(x.styledMode||a.destroyShadows();e&&e.div&&0===e.div.childNodes.length;)b=e.parentGroup,a.safeRemoveChild(e.div),delete e.div,e=b;a.alignTo&&m(x.alignedObjects,a);d(a,function(h,z){delete a[z]})},shadow:function(a,h,b){var z=[],d,e=this.element;if(!a)this.destroyShadows();
|
|
else if(!this.shadows){var x=w(a.width,3);var c=(a.opacity||.15)/x;var q=this.parentInverted?"(-1,-1)":"("+w(a.offsetX,1)+", "+w(a.offsetY,1)+")";for(d=1;d<=x;d++){var l=e.cloneNode(0);var K=2*x+1-2*d;C(l,{stroke:a.color||"#000000","stroke-opacity":c*d,"stroke-width":K,transform:"translate"+q,fill:"none"});l.setAttribute("class",(l.getAttribute("class")||"")+" highcharts-shadow");b&&(C(l,"height",Math.max(C(l,"height")-K,0)),l.cutHeight=K);h?h.element.appendChild(l):e.parentNode&&e.parentNode.insertBefore(l,
|
|
e);z.push(l)}this.shadows=z}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=w(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,h,b){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&
|
|
(a="M 0 0");this[h]!==a&&(b.setAttribute(h,a),this[h]=a)},dashstyleSetter:function(a){var h,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(h=a.length;h--;)a[h]=q(a[h])*b;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",
|
|
a)}},alignSetter:function(a){var h={left:"start",center:"middle",right:"end"};h[a]&&(this.alignValue=a,this.element.setAttribute("text-anchor",h[a]))},opacitySetter:function(a,h,b){this[h]=a;b.setAttribute(h,a)},titleSetter:function(a){var h=this.element.getElementsByTagName("title")[0];h||(h=c.createElementNS(this.SVG_NS,"title"),this.element.appendChild(h));h.firstChild&&h.removeChild(h.firstChild);h.appendChild(c.createTextNode(String(w(a,"")).replace(/<[^>]*>/g,"").replace(/</g,"<").replace(/>/g,
|
|
">")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,delete this.textPxLength,this.textStr=a,this.added&&this.renderer.buildText(this))},setTextPath:function(h,b){var d=this.element,z={textAnchor:"text-anchor"},e=!1,x,c=this.textPathWrapper;var q=!c;b=E(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},b);var l=b.attributes;if(h&&b&&b.enabled){this.options&&this.options.padding&&(l.dx=-this.options.padding);c||(this.textPathWrapper=c=this.renderer.createElement("textPath"),
|
|
e=!0);var K=c.element;(x=h.element.getAttribute("id"))||h.element.setAttribute("id",x=a.uniqueKey());if(q)for(q=d.getElementsByTagName("tspan");q.length;)q[0].setAttribute("y",0),K.appendChild(q[0]);e&&c.add({element:this.text?this.text.element:d});K.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+x);t(l.dy)&&(K.parentNode.setAttribute("dy",l.dy),delete l.dy);t(l.dx)&&(K.parentNode.setAttribute("dx",l.dx),delete l.dx);a.objectEach(l,function(a,h){K.setAttribute(z[h]||h,
|
|
a)});d.removeAttribute("transform");this.removeTextOutline.call(c,[].slice.call(d.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=u}else c&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(d,h));return this},destroyTextPath:function(a,h){var b;h.element.setAttribute("id","");for(b=this.textPathWrapper.element.childNodes;b.length;)a.firstChild.appendChild(b[0]);a.firstChild.removeChild(this.textPathWrapper.element);
|
|
delete h.textPathWrapper},fillSetter:function(a,h,b){"string"===typeof a?b.setAttribute(h,a):a&&this.complexColor(a,h,b)},visibilitySetter:function(a,h,b){"inherit"===a?b.removeAttribute(h):this[h]!==a&&b.setAttribute(h,a);this[h]=a},zIndexSetter:function(a,h){var b=this.renderer,d=this.parentGroup,z=(d||b).element||b.box,e=this.element,x=!1;b=z===b.box;var c=this.added;var l;t(a)?(e.setAttribute("data-z-index",a),a=+a,this[h]===a&&(c=!1)):t(this[h])&&e.removeAttribute("data-z-index");this[h]=a;if(c){(a=
|
|
this.zIndex)&&d&&(d.handleZ=!0);d=z.childNodes;for(l=d.length-1;0<=l&&!x;l--){c=d[l];var K=c.getAttribute("data-z-index");var w=!t(K);if(c!==e)if(0>a&&w&&!b&&!l)z.insertBefore(e,d[l]),x=!0;else if(q(K)<=a||w&&(!t(a)||0<=a))z.insertBefore(e,d[l+1]||null),x=!0}x||(z.insertBefore(e,d[b?3:0]||null),x=!0)}return x},_defaultSetter:function(a,h,b){b.setAttribute(h,a)}});M.prototype.yGetter=M.prototype.xGetter;M.prototype.translateXSetter=M.prototype.translateYSetter=M.prototype.rotationSetter=M.prototype.verticalAlignSetter=
|
|
M.prototype.rotationOriginXSetter=M.prototype.rotationOriginYSetter=M.prototype.scaleXSetter=M.prototype.scaleYSetter=M.prototype.matrixSetter=function(a,h){this[h]=a;this.doTransform=!0};M.prototype["stroke-widthSetter"]=M.prototype.strokeSetter=function(a,h,b){this[h]=a;this.stroke&&this["stroke-width"]?(M.prototype.fillSetter.call(this,this.stroke,"stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===h&&0===a&&this.hasStroke&&(b.removeAttribute("stroke"),
|
|
this.hasStroke=!1)};var Q=a.SVGRenderer=function(){this.init.apply(this,arguments)};e(Q.prototype,{Element:M,SVG_NS:J,init:function(a,h,b,d,e,x,q){var z=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});q||z.css(this.getStyle(d));d=z.element;a.appendChild(d);C(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&C(d,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=d;this.boxWrapper=z;this.alignedObjects=[];this.url=(l||A)&&c.getElementsByTagName("base").length?K.location.href.split("#")[0].replace(/<[^>]*>/g,
|
|
"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(c.createTextNode("Created with Highcharts v7.1.2 custom build"));this.defs=this.createElement("defs").add();this.allowHTML=x;this.forExport=e;this.styledMode=q;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(h,b,!1);var w;l&&a.getBoundingClientRect&&(h=function(){p(a,{left:0,top:0});w=a.getBoundingClientRect();p(a,{left:Math.ceil(w.left)-w.left+"px",top:Math.ceil(w.top)-
|
|
w.top+"px"})},h(),this.unSubPixelFix=B(K,"resize",h))},definition:function(a){function h(a,e){var z;H(a).forEach(function(a){var x=b.createElement(a.tagName),q={};d(a,function(a,h){"tagName"!==h&&"children"!==h&&"textContent"!==h&&(q[h]=a)});x.attr(q);x.add(e||b.defs);a.textContent&&x.element.appendChild(c.createTextNode(a.textContent));h(a.children||[],x);z=x});return z}var b=this;return h(a)},getStyle:function(a){return this.style=e({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();f(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var h=new this.Element;h.init(this,a);return h},draw:u,getRadialAttr:function(a,h){return{cx:a[0]-a[2]/
|
|
2+h.cx*a[2],cy:a[1]-a[2]/2+h.cy*a[2],r:h.r*a[2]}},truncate:function(a,h,b,d,x,e,q){var z=this,l=a.rotation,K,w=d?1:0,y=(b||d).length,m=y,f=[],n=function(a){h.firstChild&&h.removeChild(h.firstChild);a&&h.appendChild(c.createTextNode(a))},u=function(e,c){var l=c||e;if(void 0===f[l])if(h.getSubStringLength)try{f[l]=x+h.getSubStringLength(0,d?l+1:l)}catch(Z){""}else z.getSpanWidth&&(n(q(b||d,e)),f[l]=x+z.getSpanWidth(a,h));return f[l]},J;a.rotation=0;var M=u(h.textContent.length);if(J=x+M>e){for(;w<=
|
|
y;)m=Math.ceil((w+y)/2),d&&(K=q(d,m)),M=u(m,K&&K.length-1),w===y?w=y+1:M>e?y=m-1:w=m;0===y?n(""):b&&y===b.length-1||n(K||q(b||d,m))}d&&d.splice(0,m);a.actualWidth=M;a.rotation=l;return J},escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},buildText:function(a){var h=a.element,b=this,e=b.forExport,z=w(a.textStr,"").toString(),l=-1!==z.indexOf("<"),K=h.childNodes,y,m=C(h,"x"),f=a.styles,n=a.textWidth,u=f&&f.lineHeight,M=f&&f.textOutline,D=f&&"ellipsis"===f.textOverflow,G=f&&"nowrap"===
|
|
f.whiteSpace,O=f&&f.fontSize,H,g=K.length;f=n&&!a.added&&this.box;var A=function(a){var d;b.styledMode||(d=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:O||b.style.fontSize||12);return u?q(u):b.fontMetrics(d,a.getAttribute("style")?a:h).h},k=function(a,h){d(b.escapes,function(b,d){h&&-1!==h.indexOf(b)||(a=a.toString().replace(new RegExp(b,"g"),d))});return a},Q=function(a,h){var b=a.indexOf("<");a=a.substring(b,a.indexOf(">")-b);b=a.indexOf(h+"=");if(-1!==b){b=b+h.length+1;var d=a.charAt(b);
|
|
if('"'===d||"'"===d)return a=a.substring(b+1),a.substring(0,a.indexOf(d))}};var r=[z,D,G,u,M,O,n].join();if(r!==a.textCache){for(a.textCache=r;g--;)h.removeChild(K[g]);l||M||D||n||-1!==z.indexOf(" ")?(f&&f.appendChild(h),l?(z=b.styledMode?z.replace(/<(b|strong)>/g,'<span class="highcharts-strong">').replace(/<(i|em)>/g,'<span class="highcharts-emphasized">'):z.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">'),z=z.replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,
|
|
"</span>").split(/<br.*?>/g)):z=[z],z=z.filter(function(a){return""!==a}),z.forEach(function(d,z){var q=0,l=0;d=d.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");var K=d.split("|||");K.forEach(function(d){if(""!==d||1===K.length){var w={},f=c.createElementNS(b.SVG_NS,"tspan"),u,M;(u=Q(d,"class"))&&C(f,"class",u);if(u=Q(d,"style"))u=u.replace(/(;| |^)color([ :])/,"$1fill$2"),C(f,"style",u);(M=Q(d,"href"))&&!e&&(C(f,"onclick",'location.href="'+M+'"'),C(f,"class",
|
|
"highcharts-anchor"),b.styledMode||p(f,{cursor:"pointer"}));d=k(d.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==d){f.appendChild(c.createTextNode(d));q?w.dx=0:z&&null!==m&&(w.x=m);C(f,w);h.appendChild(f);!q&&H&&(!x&&e&&p(f,{display:"block"}),C(f,"dy",A(f)));if(n){var g=d.replace(/([^\^])-/g,"$1- ").split(" ");w=!G&&(1<K.length||z||1<g.length);M=0;var r=A(f);if(D)y=b.truncate(a,f,d,void 0,0,Math.max(0,n-parseInt(O||12,10)),function(a,h){return a.substring(0,h)+"\u2026"});else if(w)for(;g.length;)g.length&&
|
|
!G&&0<M&&(f=c.createElementNS(J,"tspan"),C(f,{dy:r,x:m}),u&&C(f,"style",u),f.appendChild(c.createTextNode(g.join(" ").replace(/- /g,"-"))),h.appendChild(f)),b.truncate(a,f,null,g,0===M?l:0,n,function(a,h){return g.slice(0,h).join(" ").replace(/- /g,"-")}),l=a.actualWidth,M++}q++}}});H=H||h.childNodes.length}),D&&y&&a.attr("title",k(a.textStr,["<",">"])),f&&f.removeChild(h),M&&a.applyTextOutline&&a.applyTextOutline(M)):h.appendChild(c.createTextNode(k(z)))}},getContrast:function(a){a=g(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,h,b,d,x,c,q,l,K,w){var z=this.label(a,h,b,K,null,null,w,null,"button"),f=0,m=this.styledMode;z.attr(E({padding:8,r:2},x));if(!m){x=E({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},x);var n=x.style;delete x.style;c=E(x,{fill:"#e6e6e6"},c);var u=c.style;delete c.style;q=E(x,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},q);var J=q.style;
|
|
delete q.style;l=E(x,{style:{color:"#cccccc"}},l);var M=l.style;delete l.style}B(z.element,y?"mouseover":"mouseenter",function(){3!==f&&z.setState(1)});B(z.element,y?"mouseout":"mouseleave",function(){3!==f&&z.setState(f)});z.setState=function(a){1!==a&&(z.state=f=a);z.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][a||0]);m||z.attr([x,c,q,l][a||0]).css([n,u,J,M][a||0])};m||z.attr(x).css(e({cursor:"default"},n));
|
|
return z.on("click",function(a){3!==f&&d.call(z,a)})},crispLine:function(a,h){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-h%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+h%2/2);return a},path:function(a){var h=this.styledMode?{}:{fill:"none"};n(a)?h.d=a:D(a)&&e(h,a);return this.createElement("path").attr(h)},circle:function(a,h,b){a=D(a)?a:void 0===a?{}:{x:a,y:h,r:b};h=this.createElement("circle");h.xSetter=h.ySetter=function(a,h,b){b.setAttribute("c"+h,a)};return h.attr(a)},arc:function(a,h,b,d,x,e){D(a)?
|
|
(d=a,h=d.y,b=d.r,a=d.x):d={innerR:d,start:x,end:e};a=this.symbol("arc",a,h,b,b,d);a.r=b;return a},rect:function(a,h,b,d,x,e){x=D(a)?a.r:x;var c=this.createElement("rect");a=D(a)?a:void 0===a?{}:{x:a,y:h,width:Math.max(b,0),height:Math.max(d,0)};this.styledMode||(void 0!==e&&(a.strokeWidth=e,a=c.crisp(a)),a.fill="none");x&&(a.r=x);c.rSetter=function(a,h,b){c.r=a;C(b,{rx:a,ry:a})};c.rGetter=function(){return c.r};return c.attr(a)},setSize:function(a,h,b){var d=this.alignedObjects,x=d.length;this.width=
|
|
a;this.height=h;for(this.boxWrapper.animate({width:a,height:h},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:w(b,!0)?void 0:0});x--;)d[x].align()},g:function(a){var h=this.createElement("g");return a?h.attr({"class":"highcharts-"+a}):h},image:function(a,h,b,d,x,c){var q={preserveAspectRatio:"none"},l=function(a,h){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",h):a.setAttribute("hc-svg-href",h)},z=function(h){l(w.element,
|
|
a);c.call(w,h)};1<arguments.length&&e(q,{x:h,y:b,width:d,height:x});var w=this.createElement("image").attr(q);c?(l(w.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),q=new K.Image,B(q,"load",z),q.src=a,q.complete&&z({})):l(w.element,a);return w},symbol:function(a,h,b,d,x,q){var l=this,z=/^url\((.*?)\)$/,K=z.test(a),f=!K&&(this.symbols[a]?a:"circle"),y=f&&this.symbols[f],m=t(h)&&y&&y.call(this.symbols,Math.round(h),Math.round(b),d,x,q);if(y){var n=this.path(m);
|
|
l.styledMode||n.attr("fill","none");e(n,{symbolName:f,x:h,y:b,width:d,height:x});q&&e(n,q)}else if(K){var u=a.match(z)[1];n=this.image(u);n.imgwidth=w(O[u]&&O[u].width,q&&q.width);n.imgheight=w(O[u]&&O[u].height,q&&q.height);var J=function(){n.attr({width:n.width,height:n.height})};["width","height"].forEach(function(a){n[a+"Setter"]=function(a,h){var b={},d=this["img"+h],x="width"===h?"translateX":"translateY";this[h]=a;t(d)&&(q&&"within"===q.backgroundSize&&this.width&&this.height&&(d=Math.round(d*
|
|
Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(h,d),this.alignByTranslate||(b[x]=((this[h]||0)-d)/2,this.attr(b)))}});t(h)&&n.attr({x:h,y:b});n.isImg=!0;t(n.imgwidth)&&t(n.imgheight)?J():(n.attr({width:0,height:0}),v("img",{onload:function(){var a=k[l.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),c.body.appendChild(this));O[u]={width:this.width,height:this.height};n.imgwidth=this.width;n.imgheight=this.height;n.element&&
|
|
J();this.parentNode&&this.parentNode.removeChild(this);l.imgCount--;if(!l.imgCount&&a&&a.onload)a.onload()},src:u}),this.imgCount++)}return n},symbols:{circle:function(a,h,b,d){return this.arc(a+b/2,h+d/2,b/2,d/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(a,h,b,d){return["M",a,h,"L",a+b,h,a+b,h+d,a,h+d,"Z"]},triangle:function(a,h,b,d){return["M",a+b/2,h,"L",a+b,h+d,a,h+d,"Z"]},"triangle-down":function(a,h,b,d){return["M",a,h,"L",a+b,h,a+b/2,h+d,"Z"]},diamond:function(a,h,b,d){return["M",
|
|
a+b/2,h,"L",a+b,h+d/2,a+b/2,h+d,a,h+d/2,"Z"]},arc:function(a,h,b,d,x){var e=x.start,c=x.r||b,q=x.r||d||b,l=x.end-.001;b=x.innerR;d=w(x.open,.001>Math.abs(x.end-x.start-2*Math.PI));var z=Math.cos(e),K=Math.sin(e),f=Math.cos(l);l=Math.sin(l);e=.001>x.end-e-Math.PI?0:1;x=["M",a+c*z,h+q*K,"A",c,q,0,e,w(x.clockwise,1),a+c*f,h+q*l];t(b)&&x.push(d?"M":"L",a+b*f,h+b*l,"A",b,b,0,e,0,a+b*z,h+b*K);x.push(d?"":"Z");return x},callout:function(a,h,b,d,x){var e=Math.min(x&&x.r||0,b,d),c=e+6,q=x&&x.anchorX;x=x&&
|
|
x.anchorY;var l=["M",a+e,h,"L",a+b-e,h,"C",a+b,h,a+b,h,a+b,h+e,"L",a+b,h+d-e,"C",a+b,h+d,a+b,h+d,a+b-e,h+d,"L",a+e,h+d,"C",a,h+d,a,h+d,a,h+d-e,"L",a,h+e,"C",a,h,a,h,a+e,h];q&&q>b?x>h+c&&x<h+d-c?l.splice(13,3,"L",a+b,x-6,a+b+6,x,a+b,x+6,a+b,h+d-e):l.splice(13,3,"L",a+b,d/2,q,x,a+b,d/2,a+b,h+d-e):q&&0>q?x>h+c&&x<h+d-c?l.splice(33,3,"L",a,x+6,a-6,x,a,x-6,a,h+e):l.splice(33,3,"L",a,d/2,q,x,a,d/2,a,h+e):x&&x>d&&q>a+c&&q<a+b-c?l.splice(23,3,"L",q+6,h+d,q,h+d+6,q-6,h+d,a+e,h+d):x&&0>x&&q>a+c&&q<a+b-c&&l.splice(3,
|
|
3,"L",q-6,h,q,h-6,q+6,h,b-e,h);return l}},clipRect:function(h,b,d,x){var e=a.uniqueKey()+"-",c=this.createElement("clipPath").attr({id:e}).add(this.defs);h=this.rect(h,b,d,x,0).add(c);h.id=e;h.clipPath=c;h.count=0;return h},text:function(a,h,b,d){var x={};if(d&&(this.allowHTML||!this.forExport))return this.html(a,h,b);x.x=Math.round(h||0);b&&(x.y=Math.round(b));t(a)&&(x.text=a);a=this.createElement("text").attr(x);d||(a.xSetter=function(a,h,b){var d=b.getElementsByTagName("tspan"),x=b.getAttribute(h),
|
|
e;for(e=0;e<d.length;e++){var c=d[e];c.getAttribute(h)===x&&c.setAttribute(h,a)}b.setAttribute(h,a)});return a},fontMetrics:function(a,h){a=!this.styledMode&&/px/.test(a)||!K.getComputedStyle?a||h&&h.style&&h.style.fontSize||this.style&&this.style.fontSize:h&&M.prototype.getStyle.call(h,"font-size");a=/px/.test(a)?q(a):12;var b=24>a?a+3:Math.round(1.2*a);return{h:b,b:Math.round(.8*b),f:a}},rotCorr:function(a,h,b){var d=a;h&&b&&(d=Math.max(d*Math.cos(h*r),4));return{x:-a/3*Math.sin(h*r),y:d}},label:function(h,
|
|
b,d,x,c,q,l,K,w){var f=this,y=f.styledMode,n=f.g("button"!==w&&"label"),m=n.text=f.text("",0,0,l).attr({zIndex:1}),u,z,J=0,D=3,O=0,H,g,A,k,Q,r={},v,p,N=/^url\((.*?)\)$/.test(x),U=y||N,R=function(){return y?u.strokeWidth()%2/2:(v?parseInt(v,10):0)%2/2};w&&n.addClass("highcharts-"+w);var S=function(){var a=m.element.style,h={};z=(void 0===H||void 0===g||Q)&&t(m.textStr)&&m.getBBox();n.width=(H||z.width||0)+2*D+O;n.height=(g||z.height||0)+2*D;p=D+Math.min(f.fontMetrics(a&&a.fontSize,m).b,z?z.height:
|
|
Infinity);U&&(u||(n.box=u=f.symbols[x]||N?f.symbol(x):f.rect(),u.addClass(("button"===w?"":"highcharts-label-box")+(w?" highcharts-"+w+"-box":"")),u.add(n),a=R(),h.x=a,h.y=(K?-p:0)+a),h.width=Math.round(n.width),h.height=Math.round(n.height),u.attr(e(h,r)),r={})};var T=function(){var a=O+D;var h=K?0:p;t(H)&&z&&("center"===Q||"right"===Q)&&(a+={center:.5,right:1}[Q]*(H-z.width));if(a!==m.x||h!==m.y)m.attr("x",a),m.hasBoxWidthChanged&&(z=m.getBBox(!0),S()),void 0!==h&&m.attr("y",h);m.x=a;m.y=h};var C=
|
|
function(a,h){u?u.attr(a,h):r[a]=h};n.onAdd=function(){m.add(n);n.attr({text:h||0===h?h:"",x:b,y:d});u&&t(c)&&n.attr({anchorX:c,anchorY:q})};n.widthSetter=function(h){H=a.isNumber(h)?h:null};n.heightSetter=function(a){g=a};n["text-alignSetter"]=function(a){Q=a};n.paddingSetter=function(a){t(a)&&a!==D&&(D=n.padding=a,T())};n.paddingLeftSetter=function(a){t(a)&&a!==O&&(O=a,T())};n.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==J&&(J=a,z&&n.attr({x:A}))};n.textSetter=function(a){void 0!==
|
|
a&&m.attr({text:a});S();T()};n["stroke-widthSetter"]=function(a,h){a&&(U=!0);v=this["stroke-width"]=a;C(h,a)};y?n.rSetter=function(a,h){C(h,a)}:n.strokeSetter=n.fillSetter=n.rSetter=function(a,h){"r"!==h&&("fill"===h&&a&&(U=!0),n[h]=a);C(h,a)};n.anchorXSetter=function(a,h){c=n.anchorX=a;C(h,Math.round(a)-R()-A)};n.anchorYSetter=function(a,h){q=n.anchorY=a;C(h,a-k)};n.xSetter=function(a){n.x=a;J&&(a-=J*((H||z.width)+2*D),n["forceAnimate:x"]=!0);A=Math.round(a);n.attr("translateX",A)};n.ySetter=function(a){k=
|
|
n.y=Math.round(a);n.attr("translateY",k)};var B=n.css;l={css:function(a){if(a){var h={};a=E(a);n.textProps.forEach(function(b){void 0!==a[b]&&(h[b]=a[b],delete a[b])});m.css(h);"width"in h&&S();"fontSize"in h&&(S(),T())}return B.call(n,a)},getBBox:function(){return{width:z.width+2*D,height:z.height+2*D,x:z.x-D,y:z.y-D}},destroy:function(){G(n.element,"mouseenter");G(n.element,"mouseleave");m&&(m=m.destroy());u&&(u=u.destroy());M.prototype.destroy.call(n);n=f=S=T=C=null}};y||(l.shadow=function(a){a&&
|
|
(S(),u&&u.shadow(a));return n});return e(n,l)}});a.Renderer=Q});L(I,"v7.1.2/js/parts/Html.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.attr,F=a.createElement,C=a.css,k=a.defined,g=a.extend,p=a.isFirefox,v=a.isMS,t=a.isWebKit,r=a.pick,f=a.pInt,c=a.SVGElement,e=a.SVGRenderer,m=a.win;g(c.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,e=r(b&&a.width,void 0);if(b){delete a.width;this.textWidth=e;var c=!0}a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",
|
|
a.overflow="hidden");this.styles=g(this.styles,a);C(this.element,a);c&&this.htmlUpdateTransform();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,e=this.element,c=this.translateX||0,m=this.translateY||0,D=this.x||0,g=this.y||0,A=this.textAlign||"left",r={left:0,center:.5,right:1}[A],u=this.styles,d=u&&u.whiteSpace;C(e,{marginLeft:c,marginTop:m});
|
|
!a.styledMode&&this.shadows&&this.shadows.forEach(function(a){C(a,{marginLeft:c+1,marginTop:m+1})});this.inverted&&[].forEach.call(e.childNodes,function(b){a.invertChild(b,e)});if("SPAN"===e.tagName){u=this.rotation;var w=this.textWidth&&f(this.textWidth),q=[u,A,e.innerHTML,this.textWidth,this.textAlign].join(),G;(G=w!==this.oldTextWidth)&&!(G=w>this.oldTextWidth)&&((G=this.textPxLength)||(C(e,{width:"",whiteSpace:d||"nowrap"}),G=e.offsetWidth),G=G>w);G&&(/[ \-]/.test(e.textContent||e.innerText)||
|
|
"ellipsis"===e.style.textOverflow)?(C(e,{width:w+"px",display:"block",whiteSpace:d||"normal"}),this.oldTextWidth=w,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;q!==this.cTT&&(d=a.fontMetrics(e.style.fontSize,e).b,!k(u)||u===(this.oldRotation||0)&&A===this.oldAlign||this.setSpanRotation(u,r,d),this.getSpanCorrection(!k(u)&&this.textPxLength||e.offsetWidth,d,r,u,A));C(e,{left:D+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"});this.cTT=q;this.oldRotation=u;this.oldAlign=A}}else this.alignOnAdd=
|
|
!0},setSpanRotation:function(a,e,c){var b={},l=this.renderer.getTransformKey();b[l]=b.transform="rotate("+a+"deg)";b[l+(p?"Origin":"-origin")]=b.transformOrigin=100*e+"% "+c+"px";C(this.element,b)},getSpanCorrection:function(a,e,c){this.xCorr=-a*c;this.yCorr=-e}});g(e.prototype,{getTransformKey:function(){return v&&!/Edge/.test(m.navigator.userAgent)?"-ms-transform":t?"-webkit-transform":p?"MozTransform":m.opera?"-o-transform":""},html:function(b,e,l){var f=this.createElement("span"),n=f.element,
|
|
m=f.renderer,A=m.isSVG,k=function(a,b){["opacity","visibility"].forEach(function(d){a[d+"Setter"]=function(e,q,h){var x=a.div?a.div.style:b;c.prototype[d+"Setter"].call(this,e,q,h);x&&(x[q]=e)}});a.addedSetters=!0},u=a.charts[m.chartIndex];u=u&&u.styledMode;f.textSetter=function(a){a!==n.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=a;n.innerHTML=r(a,"");f.doTransform=!0};A&&k(f,f.element.style);f.xSetter=f.ySetter=f.alignSetter=f.rotationSetter=function(a,b){"align"===b&&(b=
|
|
"textAlign");f[b]=a;f.doTransform=!0};f.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};f.attr({text:b,x:Math.round(e),y:Math.round(l)}).css({position:"absolute"});u||f.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});n.style.whiteSpace="nowrap";f.css=f.htmlCss;A&&(f.add=function(a){var b=m.box.parentNode,d=[];if(this.parentGroup=a){var e=a.div;if(!e){for(;a;)d.push(a),a=a.parentGroup;d.reverse().forEach(function(a){function h(h,b){a[b]=
|
|
h;"translateX"===b?c.left=h+"px":c.top=h+"px";a.doTransform=!0}var x=B(a.element,"class");x&&(x={className:x});e=a.div=a.div||F("div",x,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},e||b);var c=e.style;g(a,{classSetter:function(a){return function(h){this.element.setAttribute("class",h);a.className=h}}(e),on:function(){d[0].div&&f.on.apply({element:d[0].div},arguments);return a},translateXSetter:h,
|
|
translateYSetter:h});a.addedSetters||k(a)})}}else e=b;e.appendChild(n);f.added=!0;f.alignOnAdd&&f.htmlUpdateTransform();return f});return f}})});L(I,"v7.1.2/js/parts/Time.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.defined,F=a.extend,C=a.merge,k=a.pick,g=a.timeUnits,p=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var g=k(a&&a.useUTC,!0),r=this;this.options=a=C(!0,this.options||{},a);this.Date=a.Date||p.Date||Date;this.timezoneOffset=
|
|
(this.useUTC=g)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(g&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,c){var e=c.getTime(),f=e-r.getTimezoneOffset(c);c.setTime(f);f=c["getUTC"+a]();c.setTime(e);return f},this.set=function(a,c,e){if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===c.getTimezoneOffset()%60)c["set"+a](e);else{var f=r.getTimezoneOffset(c);f=c.getTime()-f;c.setTime(f);c["setUTC"+a](e);a=r.getTimezoneOffset(c);
|
|
f=c.getTime()+a;c.setTime(f)}}):g?(this.get=function(a,c){return c["getUTC"+a]()},this.set=function(a,c,e){return c["setUTC"+a](e)}):(this.get=function(a,c){return c["get"+a]()},this.set=function(a,c,e){return c["set"+a](e)})},makeTime:function(g,p,r,f,c,e){if(this.useUTC){var m=this.Date.UTC.apply(0,arguments);var b=this.getTimezoneOffset(m);m+=b;var n=this.getTimezoneOffset(m);b!==n?m+=n-b:b-36E5!==this.getTimezoneOffset(m-36E5)||a.isSafari||(m-=36E5)}else m=(new this.Date(g,p,k(r,1),k(f,0),k(c,
|
|
0),k(e,0))).getTime();return m},timezoneOffsetFunction:function(){var g=this,k=this.options,r=p.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(k.timezone){if(r)return function(a){return 6E4*-r.tz(a,k.timezone).utcOffset()};a.error(25)}return this.useUTC&&k.getTimezoneOffset?function(a){return 6E4*k.getTimezoneOffset(a)}:function(){return 6E4*(g.timezoneOffset||0)}},dateFormat:function(g,k,r){if(!a.defined(k)||isNaN(k))return a.defaultOptions.lang.invalidDate||
|
|
"";g=a.pick(g,"%Y-%m-%d %H:%M:%S");var f=this,c=new this.Date(k),e=this.get("Hours",c),m=this.get("Day",c),b=this.get("Date",c),n=this.get("Month",c),l=this.get("FullYear",c),y=a.defaultOptions.lang,D=y.weekdays,p=y.shortWeekdays,A=a.pad;c=a.extend({a:p?p[m]:D[m].substr(0,3),A:D[m],d:A(b),e:A(b,2," "),w:m,b:y.shortMonths[n],B:y.months[n],m:A(n+1),o:n+1,y:l.toString().substr(2,2),Y:l,H:A(e),k:e,I:A(e%12||12),l:e%12||12,M:A(f.get("Minutes",c)),p:12>e?"AM":"PM",P:12>e?"am":"pm",S:A(c.getSeconds()),L:A(Math.floor(k%
|
|
1E3),3)},a.dateFormats);a.objectEach(c,function(a,b){for(;-1!==g.indexOf("%"+b);)g=g.replace("%"+b,"function"===typeof a?a.call(f,k):a)});return r?g.substr(0,1).toUpperCase()+g.substr(1):g},resolveDTLFormat:function(g){return a.isObject(g,!0)?g:(g=a.splat(g),{main:g[0],from:g[1],to:g[2]})},getTimeTicks:function(a,p,r,f){var c=this,e=[],m={};var b=new c.Date(p);var n=a.unitRange,l=a.count||1,y;f=k(f,1);if(B(p)){c.set("Milliseconds",b,n>=g.second?0:l*Math.floor(c.get("Milliseconds",b)/l));n>=g.second&&
|
|
c.set("Seconds",b,n>=g.minute?0:l*Math.floor(c.get("Seconds",b)/l));n>=g.minute&&c.set("Minutes",b,n>=g.hour?0:l*Math.floor(c.get("Minutes",b)/l));n>=g.hour&&c.set("Hours",b,n>=g.day?0:l*Math.floor(c.get("Hours",b)/l));n>=g.day&&c.set("Date",b,n>=g.month?1:Math.max(1,l*Math.floor(c.get("Date",b)/l)));if(n>=g.month){c.set("Month",b,n>=g.year?0:l*Math.floor(c.get("Month",b)/l));var D=c.get("FullYear",b)}n>=g.year&&c.set("FullYear",b,D-D%l);n===g.week&&(D=c.get("Day",b),c.set("Date",b,c.get("Date",b)-
|
|
D+f+(D<f?-7:0)));D=c.get("FullYear",b);f=c.get("Month",b);var N=c.get("Date",b),A=c.get("Hours",b);p=b.getTime();c.variableTimezone&&(y=r-p>4*g.month||c.getTimezoneOffset(p)!==c.getTimezoneOffset(r));p=b.getTime();for(b=1;p<r;)e.push(p),p=n===g.year?c.makeTime(D+b*l,0):n===g.month?c.makeTime(D,f+b*l):!y||n!==g.day&&n!==g.week?y&&n===g.hour&&1<l?c.makeTime(D,f,N,A+b*l):p+n*l:c.makeTime(D,f,N+b*l*(n===g.day?1:7)),b++;e.push(p);n<=g.hour&&1E4>e.length&&e.forEach(function(a){0===a%18E5&&"000000000"===
|
|
c.dateFormat("%H%M%S%L",a)&&(m[a]="day")})}e.info=F(a,{higherRanks:m,totalRange:n*l});return e}}});L(I,"v7.1.2/js/parts/Options.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.color,F=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),
|
|
shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,chart:{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},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: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:'<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:B("#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"}};a.setOptions=function(C){a.defaultOptions=F(!0,a.defaultOptions,C);a.time.update(F(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(F(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(C,k,g){return a.time.dateFormat(C,k,g)};""});L(I,"v7.1.2/js/parts/Tick.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.correctFloat,F=a.defined,C=a.destroyObjectProperties,k=a.fireEvent,g=a.isNumber,p=a.merge,v=a.pick,t=a.deg2rad;a.Tick=function(a,f,c,e,m){this.axis=a;this.pos=f;this.type=c||"";this.isNewLabel=this.isNew=!0;this.parameters=m||{};this.tickmarkOffset=
|
|
this.parameters.tickmarkOffset;this.options=this.parameters.options;c||e||this.addLabel()};a.Tick.prototype={addLabel:function(){var g=this,f=g.axis,c=f.options,e=f.chart,m=f.categories,b=f.names,n=g.pos,l=v(g.options&&g.options.labels,c.labels),y=f.tickPositions,D=n===y[0],k=n===y[y.length-1];m=this.parameters.category||(m?v(m[n],b[n],n):n);var A=g.label;y=y.info;var E,u;if(f.isDatetimeAxis&&y){var d=e.time.resolveDTLFormat(c.dateTimeLabelFormats[!c.grid&&y.higherRanks[n]||y.unitName]);var w=d.main}g.isFirst=
|
|
D;g.isLast=k;g.formatCtx={axis:f,chart:e,isFirst:D,isLast:k,dateTimeLabelFormat:w,tickPositionInfo:y,value:f.isLog?B(f.lin2log(m)):m,pos:n};c=f.labelFormatter.call(g.formatCtx,this.formatCtx);if(u=d&&d.list)g.shortenLabel=function(){for(E=0;E<u.length;E++)if(A.attr({text:f.labelFormatter.call(a.extend(g.formatCtx,{dateTimeLabelFormat:u[E]}))}),A.getBBox().width<f.getSlotWidth(g)-2*v(l.padding,5))return;A.attr({text:""})};if(F(A))A&&A.textStr!==c&&(!A.textWidth||l.style&&l.style.width||A.styles.width||
|
|
A.css({width:null}),A.attr({text:c}),A.textPxLength=A.getBBox().width);else{if(g.label=A=F(c)&&l.enabled?e.renderer.text(c,0,0,l.useHTML).add(f.labelGroup):null)e.styledMode||A.css(p(l.style)),A.textPxLength=A.getBBox().width;g.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var f=this.axis,c=f.options.labels,e=a.x,m=f.chart.chartWidth,b=f.chart.spacing,n=v(f.labelLeft,Math.min(f.pos,b[3]));b=v(f.labelRight,
|
|
Math.max(f.isRadial?0:f.pos+f.len,m-b[1]));var l=this.label,y=this.rotation,g={left:0,center:.5,right:1}[f.labelAlign||l.attr("align")],k=l.getBBox().width,A=f.getSlotWidth(this),r=A,u=1,d,w={};if(y||"justify"!==v(c.overflow,"justify"))0>y&&e-g*k<n?d=Math.round(e/Math.cos(y*t)-n):0<y&&e+g*k>b&&(d=Math.round((m-e)/Math.cos(y*t)));else if(m=e+(1-g)*k,e-g*k<n?r=a.x+r*(1-g)-n:m>b&&(r=b-a.x+r*g,u=-1),r=Math.min(A,r),r<A&&"center"===f.labelAlign&&(a.x+=u*(A-r-g*(A-Math.min(k,r)))),k>r||f.autoRotation&&
|
|
(l.styles||{}).width)d=r;d&&(this.shortenLabel?this.shortenLabel():(w.width=Math.floor(d),(c.style||{}).textOverflow||(w.textOverflow="ellipsis"),l.css(w)))},getPosition:function(g,f,c,e){var m=this.axis,b=m.chart,n=e&&b.oldChartHeight||b.chartHeight;g={x:g?a.correctFloat(m.translate(f+c,null,null,e)+m.transB):m.left+m.offset+(m.opposite?(e&&b.oldChartWidth||b.chartWidth)-m.right-m.left:0),y:g?n-m.bottom+m.offset-(m.opposite?m.height:0):a.correctFloat(n-m.translate(f+c,null,null,e)-m.transB)};g.y=
|
|
Math.max(Math.min(g.y,1E5),-1E5);k(this,"afterGetPosition",{pos:g});return g},getLabelPosition:function(a,f,c,e,m,b,n,l){var y=this.axis,g=y.transA,r=y.reversed,A=y.staggerLines,p=y.tickRotCorr||{x:0,y:0},u=m.y,d=e||y.reserveSpaceDefault?0:-y.labelOffset*("center"===y.labelAlign?.5:1),w={};F(u)||(u=0===y.side?c.rotation?-8:-c.getBBox().height:2===y.side?p.y+8:Math.cos(c.rotation*t)*(p.y-c.getBBox(!1,0).height/2));a=a+m.x+d+p.x-(b&&e?b*g*(r?-1:1):0);f=f+u-(b&&!e?b*g*(r?1:-1):0);A&&(c=n/(l||1)%A,y.opposite&&
|
|
(c=A-c-1),f+=y.labelOffset/A*c);w.x=a;w.y=Math.round(f);k(this,"afterGetLabelPosition",{pos:w,tickmarkOffset:b,index:n});return w},getMarkPath:function(a,f,c,e,m,b){return b.crispLine(["M",a,f,"L",a+(m?0:-c),f+(m?c:0)],e)},renderGridLine:function(a,f,c){var e=this.axis,m=e.options,b=this.gridLine,n={},l=this.pos,y=this.type,g=v(this.tickmarkOffset,e.tickmarkOffset),k=e.chart.renderer,A=y?y+"Grid":"grid",r=m[A+"LineWidth"],u=m[A+"LineColor"];m=m[A+"LineDashStyle"];b||(e.chart.styledMode||(n.stroke=
|
|
u,n["stroke-width"]=r,m&&(n.dashstyle=m)),y||(n.zIndex=1),a&&(f=0),this.gridLine=b=k.path().attr(n).addClass("highcharts-"+(y?y+"-":"")+"grid-line").add(e.gridGroup));if(b&&(c=e.getPlotLinePath({value:l+g,lineWidth:b.strokeWidth()*c,force:"pass",old:a})))b[a||this.isNew?"attr":"animate"]({d:c,opacity:f})},renderMark:function(a,f,c){var e=this.axis,m=e.options,b=e.chart.renderer,n=this.type,l=n?n+"Tick":"tick",y=e.tickSize(l),g=this.mark,k=!g,A=a.x;a=a.y;var r=v(m[l+"Width"],!n&&e.isXAxis?1:0);m=m[l+
|
|
"Color"];y&&(e.opposite&&(y[0]=-y[0]),k&&(this.mark=g=b.path().addClass("highcharts-"+(n?n+"-":"")+"tick").add(e.axisGroup),e.chart.styledMode||g.attr({stroke:m,"stroke-width":r})),g[k?"attr":"animate"]({d:this.getMarkPath(A,a,y[0],g.strokeWidth()*c,e.horiz,b),opacity:f}))},renderLabel:function(a,f,c,e){var m=this.axis,b=m.horiz,n=m.options,l=this.label,y=n.labels,D=y.step;m=v(this.tickmarkOffset,m.tickmarkOffset);var k=!0,A=a.x;a=a.y;l&&g(A)&&(l.xy=a=this.getLabelPosition(A,a,l,b,y,m,e,D),this.isFirst&&
|
|
!this.isLast&&!v(n.showFirstLabel,1)||this.isLast&&!this.isFirst&&!v(n.showLastLabel,1)?k=!1:!b||y.step||y.rotation||f||0===c||this.handleOverflow(a),D&&e%D&&(k=!1),k&&g(a.y)?(a.opacity=c,l[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(l.attr("y",-9999),this.isNewLabel=!0))},render:function(g,f,c){var e=this.axis,m=e.horiz,b=this.pos,n=v(this.tickmarkOffset,e.tickmarkOffset);b=this.getPosition(m,b,n,f);n=b.x;var l=b.y;e=m&&n===e.pos+e.len||!m&&l===e.pos?-1:1;c=v(c,1);this.isActive=!0;
|
|
this.renderGridLine(f,c,e);this.renderMark(b,c,e);this.renderLabel(b,f,c,g);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){C(this,this.axis)}}});L(I,"v7.1.2/js/parts/Axis.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.animObject,C=a.arrayMax,k=a.arrayMin,g=a.color,p=a.correctFloat,v=a.defaultOptions,t=a.defined,r=a.deg2rad,f=a.destroyObjectProperties,c=a.extend,e=a.fireEvent,m=a.format,b=a.getMagnitude,n=a.isArray,l=a.isNumber,y=a.isString,D=a.merge,N=a.normalizeTickInterval,
|
|
A=a.objectEach,E=a.pick,u=a.removeEvent,d=a.seriesTypes,w=a.splat,q=a.syncTimeout,G=a.Tick,H=function(){this.init.apply(this,arguments)};a.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,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},
|
|
defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},init:function(h,b){var d=b.isX,x=this;x.chart=h;x.horiz=h.inverted&&!x.isZAxis?!d:d;x.isXAxis=d;x.coll=x.coll||(d?"xAxis":"yAxis");e(this,"init",{userOptions:b});x.opposite=b.opposite;x.side=b.side||(x.horiz?x.opposite?0:2:x.opposite?1:3);x.setOptions(b);var c=this.options,q=c.type;x.labelFormatter=c.labels.formatter||x.defaultLabelFormatter;x.userOptions=b;x.minPixelPadding=0;x.reversed=c.reversed;x.visible=!1!==
|
|
c.visible;x.zoomEnabled=!1!==c.zoomEnabled;x.hasNames="category"===q||!0===c.categories;x.categories=c.categories||x.hasNames;x.names||(x.names=[],x.names.keys={});x.plotLinesAndBandsGroups={};x.isLog="logarithmic"===q;x.isDatetimeAxis="datetime"===q;x.positiveValuesOnly=x.isLog&&!x.allowNegativeLog;x.isLinked=t(c.linkedTo);x.ticks={};x.labelEdge=[];x.minorTicks={};x.plotLinesAndBands=[];x.alternateBands={};x.len=0;x.minRange=x.userMinRange=c.minRange||c.maxZoom;x.range=c.range;x.offset=c.offset||
|
|
0;x.stacks={};x.oldStacks={};x.stacksTouched=0;x.max=null;x.min=null;x.crosshair=E(c.crosshair,w(h.options.tooltip.crosshairs)[d?0:1],!1);q=x.options.events;-1===h.axes.indexOf(x)&&(d?h.axes.splice(h.xAxis.length,0,x):h.axes.push(x),h[x.coll].push(x));x.series=x.series||[];h.inverted&&!x.isZAxis&&d&&void 0===x.reversed&&(x.reversed=!0);A(q,function(h,b){a.isFunction(h)&&B(x,b,h)});x.lin2log=c.linearToLogConverter||x.lin2log;x.isLog&&(x.val2lin=x.log2lin,x.lin2val=x.lin2log);e(this,"afterInit")},setOptions:function(a){this.options=
|
|
D(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],D(v[this.coll],a));e(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var h=this.axis,b=this.value,d=h.chart.time,e=h.categories,c=this.dateTimeLabelFormat,q=v.lang,l=q.numericSymbols;q=q.numericSymbolMagnitude||1E3;var f=l&&l.length,n=h.options.labels.format;h=h.isLog?Math.abs(b):
|
|
h.tickInterval;if(n)var w=m(n,this,d);else if(e)w=b;else if(c)w=d.dateFormat(c,b);else if(f&&1E3<=h)for(;f--&&void 0===w;)d=Math.pow(q,f+1),h>=d&&0===10*b%d&&null!==l[f]&&0!==b&&(w=a.numberFormat(b/d,-1)+l[f]);void 0===w&&(w=1E4<=Math.abs(b)?a.numberFormat(b,-1):a.numberFormat(b,-1,void 0,""));return w},getSeriesExtremes:function(){var a=this,b=a.chart,d;e(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(h){if(h.visible||!b.options.chart.ignoreHiddenSeries){var x=h.options,e=x.threshold;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=e&&(e=null);if(a.isXAxis){if(x=h.xData,x.length){d=h.getXExtremes(x);var c=d.min;var q=d.max;l(c)||c instanceof Date||(x=x.filter(l),d=h.getXExtremes(x),c=d.min,q=d.max);x.length&&(a.dataMin=Math.min(E(a.dataMin,c),c),a.dataMax=Math.max(E(a.dataMax,q),q))}}else if(h.getExtremes(),q=h.dataMax,c=h.dataMin,t(c)&&t(q)&&(a.dataMin=
|
|
Math.min(E(a.dataMin,c),c),a.dataMax=Math.max(E(a.dataMax,q),q)),t(e)&&(a.threshold=e),!x.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});e(this,"afterGetSeriesExtremes")},translate:function(a,b,d,e,c,q){var h=this.linkedParent||this,x=1,f=0,w=e?h.oldTransA:h.transA;e=e?h.oldMin:h.min;var n=h.minPixelPadding;c=(h.isOrdinal||h.isBroken||h.isLog&&c)&&h.lin2val;w||(w=h.transA);d&&(x*=-1,f=h.len);h.reversed&&(x*=-1,f-=x*(h.sector||h.len));b?(a=(a*x+f-n)/w+e,c&&(a=h.lin2val(a))):(c&&(a=h.val2lin(a)),
|
|
a=l(e)?x*(a-e)*w+f+x*n+(l(q)?w*q:0):void 0);return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a){var h=this,b=h.chart,d=h.left,c=h.top,q=a.old,f=a.value,w=a.translatedValue,n=a.lineWidth,m=a.force,u,y,g,D,G=q&&b.oldChartHeight||b.chartHeight,k=q&&b.oldChartWidth||b.chartWidth,H,A=h.transB,p=function(a,h,b){if("pass"!==m&&a<h||a>b)m?a=Math.min(Math.max(h,
|
|
a),b):H=!0;return a};a={value:f,lineWidth:n,old:q,force:m,acrossPanes:a.acrossPanes,translatedValue:w};e(this,"getPlotLinePath",a,function(a){w=E(w,h.translate(f,null,null,q));w=Math.min(Math.max(-1E5,w),1E5);u=g=Math.round(w+A);y=D=Math.round(G-w-A);l(w)?h.horiz?(y=c,D=G-h.bottom,u=g=p(u,d,d+h.width)):(u=d,g=k-h.right,y=D=p(y,c,c+h.height)):(H=!0,m=!1);a.path=H&&!m?null:b.renderer.crispLine(["M",u,y,"L",g,D],n||1)});return a.path},getLinearTickPositions:function(a,b,d){var h=p(Math.floor(b/a)*a);
|
|
d=p(Math.ceil(d/a)*a);var x=[],e;p(h+a)===h&&(e=20);if(this.single)return[b];for(b=h;b<=d;){x.push(b);b=p(b+a,e);if(b===c)break;var c=b}return x},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?E(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,b=a.options,d=a.tickPositions,e=a.minorTickInterval,c=[],q=a.pointRangePadding||0,l=a.min-q;q=a.max+q;var f=q-l;if(f&&f/e<a.len/3)if(a.isLog)this.paddedTicks.forEach(function(h,
|
|
b,d){b&&c.push.apply(c,a.getLogTickPositions(e,d[b-1],d[b],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())c=c.concat(a.getTimeTicks(a.normalizeTimeTickInterval(e),l,q,b.startOfWeek));else for(b=l+(d[0]-l)%e;b<=q&&b!==c[0];b+=e)c.push(b);0!==c.length&&a.trimTicks(c);return c},adjustForMinRange:function(){var a=this.options,b=this.min,d=this.max,e,c,q,l,f;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(t(a.min)||t(a.max)?this.minRange=null:(this.series.forEach(function(a){l=
|
|
a.xData;for(c=f=a.xIncrement?1:l.length-1;0<c;c--)if(q=l[c]-l[c-1],void 0===e||q<e)e=q}),this.minRange=Math.min(5*e,this.dataMax-this.dataMin)));if(d-b<this.minRange){var w=this.dataMax-this.dataMin>=this.minRange;var n=this.minRange;var m=(n-d+b)/2;m=[b-m,E(a.min,b-m)];w&&(m[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin);b=C(m);d=[b+n,E(a.max,b+n)];w&&(d[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax);d=k(d);d-b<n&&(m[0]=d-n,m[1]=E(a.min,d-n),b=C(m))}this.min=b;this.max=d},getClosest:function(){var a;
|
|
this.categories?a=1:this.series.forEach(function(h){var b=h.closestPointRange,d=h.visible||!h.chart.options.chart.ignoreHiddenSeries;!h.noSharedTooltip&&t(b)&&d&&(a=t(a)?Math.min(a,b):b)});return a},nameToX:function(a){var h=n(this.categories),b=h?this.categories:this.names,d=a.options.x;a.series.requireSorting=!1;t(d)||(d=!1===this.options.uniqueNames?a.series.autoIncrement():h?b.indexOf(a.name):E(b.keys[a.name],-1));if(-1===d){if(!h)var e=b.length}else e=d;void 0!==e&&(this.names[e]=a.name,this.names.keys[a.name]=
|
|
e);return e},updateNames:function(){var a=this,b=this.names;0<b.length&&(Object.keys(b.keys).forEach(function(a){delete b.keys[a]}),b.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(h){h.xIncrement=null;if(!h.points||h.isDirtyData)a.max=Math.max(a.max,h.xData.length-1),h.processData(),h.generatePoints();h.data.forEach(function(b,d){if(b&&b.options&&void 0!==b.name){var e=a.nameToX(b);void 0!==e&&e!==b.x&&(b.x=e,h.xData[d]=e)}})}))},setAxisTranslation:function(a){var h=
|
|
this,b=h.max-h.min,c=h.axisPointRange||0,q=0,l=0,f=h.linkedParent,w=!!h.categories,n=h.transA,m=h.isXAxis;if(m||w||c){var u=h.getClosest();f?(q=f.minPointOffset,l=f.pointRangePadding):h.series.forEach(function(a){var b=w?1:m?E(a.options.pointRange,u,0):h.axisPointRange||0,e=a.options.pointPlacement;c=Math.max(c,b);if(!h.single||w)a=d.xrange&&a instanceof d.xrange?!m:m,q=Math.max(q,a&&y(e)?0:b/2),l=Math.max(l,a&&"on"===e?0:b)});f=h.ordinalSlope&&u?h.ordinalSlope/u:1;h.minPointOffset=q*=f;h.pointRangePadding=
|
|
l*=f;h.pointRange=Math.min(c,b);m&&(h.closestPointRange=u)}a&&(h.oldTransA=n);h.translationSlope=h.transA=n=h.staticScale||h.len/(b+l||1);h.transB=h.horiz?h.left:h.bottom;h.minPixelPadding=n*q;e(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(h){var d=this,c=d.chart,q=d.options,f=d.isLog,w=d.isDatetimeAxis,n=d.isXAxis,m=d.isLinked,u=q.maxPadding,y=q.minPadding,g=q.tickInterval,D=q.tickPixelInterval,G=d.categories,k=l(d.threshold)?d.threshold:
|
|
null,H=d.softThreshold;w||G||m||this.getTickAmount();var A=E(d.userMin,q.min);var r=E(d.userMax,q.max);if(m){d.linkedParent=c[d.coll][q.linkedTo];var v=d.linkedParent.getExtremes();d.min=E(v.min,v.dataMin);d.max=E(v.max,v.dataMax);q.type!==d.linkedParent.options.type&&a.error(11,1,c)}else{if(!H&&t(k))if(d.dataMin>=k)v=k,y=0;else if(d.dataMax<=k){var C=k;u=0}d.min=E(A,v,d.dataMin);d.max=E(r,C,d.dataMax)}f&&(d.positiveValuesOnly&&!h&&0>=Math.min(d.min,E(d.dataMin,d.min))&&a.error(10,1,c),d.min=p(d.log2lin(d.min),
|
|
15),d.max=p(d.log2lin(d.max),15));d.range&&t(d.max)&&(d.userMin=d.min=A=Math.max(d.dataMin,d.minFromRange()),d.userMax=r=d.max,d.range=null);e(d,"foundExtremes");d.beforePadding&&d.beforePadding();d.adjustForMinRange();!(G||d.axisPointRange||d.usePercentage||m)&&t(d.min)&&t(d.max)&&(c=d.max-d.min)&&(!t(A)&&y&&(d.min-=c*y),!t(r)&&u&&(d.max+=c*u));l(q.softMin)&&!l(d.userMin)&&q.softMin<d.min&&(d.min=A=q.softMin);l(q.softMax)&&!l(d.userMax)&&q.softMax>d.max&&(d.max=r=q.softMax);l(q.floor)&&(d.min=Math.min(Math.max(d.min,
|
|
q.floor),Number.MAX_VALUE));l(q.ceiling)&&(d.max=Math.max(Math.min(d.max,q.ceiling),E(d.userMax,-Number.MAX_VALUE)));H&&t(d.dataMin)&&(k=k||0,!t(A)&&d.min<k&&d.dataMin>=k?d.min=d.options.minRange?Math.min(k,d.max-d.minRange):k:!t(r)&&d.max>k&&d.dataMax<=k&&(d.max=d.options.minRange?Math.max(k,d.min+d.minRange):k));d.tickInterval=d.min===d.max||void 0===d.min||void 0===d.max?1:m&&!g&&D===d.linkedParent.options.tickPixelInterval?g=d.linkedParent.tickInterval:E(g,this.tickAmount?(d.max-d.min)/Math.max(this.tickAmount-
|
|
1,1):void 0,G?1:(d.max-d.min)*D/Math.max(d.len,D));n&&!h&&d.series.forEach(function(a){a.processData(d.min!==d.oldMin||d.max!==d.oldMax)});d.setAxisTranslation(!0);d.beforeSetTickPositions&&d.beforeSetTickPositions();d.postProcessTickInterval&&(d.tickInterval=d.postProcessTickInterval(d.tickInterval));d.pointRange&&!g&&(d.tickInterval=Math.max(d.pointRange,d.tickInterval));h=E(q.minTickInterval,d.isDatetimeAxis&&d.closestPointRange);!g&&d.tickInterval<h&&(d.tickInterval=h);w||f||g||(d.tickInterval=
|
|
N(d.tickInterval,null,b(d.tickInterval),E(q.allowDecimals,!(.5<d.tickInterval&&5>d.tickInterval&&1E3<d.max&&9999>d.max)),!!this.tickAmount));this.tickAmount||(d.tickInterval=d.unsquish());this.setTickPositions()},setTickPositions:function(){var h=this.options,d=h.tickPositions;var b=this.getMinorTickInterval();var c=h.tickPositioner,q=h.startOnTick,l=h.endOnTick;this.tickmarkOffset=this.categories&&"between"===h.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?
|
|
this.tickInterval/5:b;this.single=this.min===this.max&&t(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==h.allowDecimals);this.tickPositions=b=d&&d.slice();!b&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(b=[this.min,this.max],a.error(19,!1,this.chart)):b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,h.units),this.min,this.max,h.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?
|
|
this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,c&&(c=c.apply(this,[this.min,this.max])))&&(this.tickPositions=b=c);this.paddedTicks=b.slice(0);this.trimTicks(b,q,l);this.isLinked||(this.single&&2>b.length&&!this.categories&&(this.min-=.5,this.max+=.5),d||c||this.adjustTickAmount());e(this,"afterSetTickPositions")},trimTicks:function(a,
|
|
d,b){var h=a[0],c=a[a.length-1],q=this.minPointOffset||0;e(this,"trimTicks");if(!this.isLinked){if(d&&-Infinity!==h)this.min=h;else for(;this.min-q>a[0];)a.shift();if(b)this.max=c;else for(;this.max+q<a[a.length-1];)a.pop();0===a.length&&t(h)&&!this.options.tickPositions&&a.push((c+h)/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(h){var b=
|
|
h.options;b=[h.horiz?b.left:b.top,b.width,b.height,b.pane].join();h.series.length&&(a[b]?d=!0:a[b]=1)});return d},getTickAmount:function(){var a=this.options,d=a.tickAmount,b=a.tickPixelInterval;!t(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,e=this.tickAmount,c=
|
|
this.finalTickAmt,q=b&&b.length,l=E(this.threshold,this.softThreshold?0:null),f;if(this.hasData()){if(q<e){for(f=this.min;b.length<e;)b.length%2||f===l?b.push(p(b[b.length-1]+d)):b.unshift(p(b[0]-d));this.transA*=(q-1)/(e-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 q>e&&(this.tickInterval*=2,this.setTickPositions());if(t(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.isDirty}),d;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(d=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=d||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();e(this,"afterSetScale")},setExtremes:function(a,d,b,q,l){var h=this,f=h.chart;b=E(b,!0);h.series.forEach(function(a){delete a.kdTree});l=c(l,{min:a,max:d});e(h,"setExtremes",l,function(){h.userMin=a;h.userMax=d;h.eventArgs=l;b&&f.redraw(q)})},zoom:function(a,d){var b=this.dataMin,h=this.dataMax,c=this.options,q=Math.min(b,E(c.min,b)),l=Math.max(h,E(c.max,h));c={newMin:a,
|
|
newMax:d};e(this,"zoom",c,function(a){var d=a.newMin,c=a.newMax;if(d!==this.min||c!==this.max)this.allowZoomOutside||(t(b)&&(d<q&&(d=q),d>l&&(d=l)),t(h)&&(c<q&&(c=q),c>l&&(c=l))),this.displayBtn=void 0!==d||void 0!==c,this.setExtremes(d,c,!1,void 0,{trigger:"zoom"});a.zoomed=!0});return c.zoomed},setAxisSize:function(){var d=this.chart,b=this.options,c=b.offsets||[0,0,0,0],e=this.horiz,q=this.width=Math.round(a.relativeLength(E(b.width,d.plotWidth-c[3]+c[1]),d.plotWidth)),l=this.height=Math.round(a.relativeLength(E(b.height,
|
|
d.plotHeight-c[0]+c[2]),d.plotHeight)),f=this.top=Math.round(a.relativeLength(E(b.top,d.plotTop+c[0]),d.plotHeight,d.plotTop));b=this.left=Math.round(a.relativeLength(E(b.left,d.plotLeft+c[3]),d.plotWidth,d.plotLeft));this.bottom=d.chartHeight-l-f;this.right=d.chartWidth-q-b;this.len=Math.max(e?q:l,0);this.pos=e?b:f},getExtremes:function(){var a=this.isLog;return{min:a?p(this.lin2log(this.min)):this.min,max:a?p(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 d=(E(a,0)-90*this.side+720)%360;a={align:"center"};e(this,"autoLabelAlign",a,function(a){15<d&&165>d?a.align="right":195<d&&345>d&&(a.align="left")});return a.align},tickSize:function(a){var d=this.options,b=d[a+"Length"],h=E(d[a+"Width"],
|
|
"tick"===a&&this.isXAxis&&!this.categories?1:0);if(h&&b){"inside"===d[a+"Position"]&&(b=-b);var c=[b,h]}a={tickSize:c};e(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 a=this.options.labels,d=this.horiz,b=this.tickInterval,c=b,e=this.len/(((this.categories?1:0)+this.max-
|
|
this.min)/b),q,l=a.rotation,f=this.labelMetrics(),w,n=Number.MAX_VALUE,m,u=this.max-this.min,y=function(a){var d=a/(e||1);d=1<d?Math.ceil(d):1;d*b>u&&Infinity!==a&&Infinity!==e&&(d=Math.ceil(u/b));return p(d*b)};d?(m=!a.staggerLines&&!a.step&&(t(l)?[l]:e<E(a.autoRotationLimit,80)&&a.autoRotation))&&m.forEach(function(a){if(a===l||a&&-90<=a&&90>=a){w=y(Math.abs(f.h/Math.sin(r*a)));var d=w+Math.abs(a/360);d<n&&(n=d,q=a,c=w)}}):a.step||(c=y(f.h));this.autoRotation=m;this.labelRotation=E(q,l);return c},
|
|
getSlotWidth:function(a){var d=this.chart,b=this.horiz,h=this.options.labels,c=Math.max(this.tickPositions.length-(this.categories?0:1),1),e=d.margin[3];return a&&a.slotWidth||b&&2>(h.step||0)&&!h.rotation&&(this.staggerLines||1)*this.len/c||!b&&(h.style&&parseInt(h.style.width,10)||e&&e-d.spacing[3]||.33*d.chartWidth)},renderUnsquish:function(){var a=this.chart,d=a.renderer,b=this.tickPositions,c=this.ticks,e=this.options.labels,q=e&&e.style||{},l=this.horiz,f=this.getSlotWidth(),w=Math.max(1,Math.round(f-
|
|
2*(e.padding||5))),n={},m=this.labelMetrics(),u=e.style&&e.style.textOverflow,g=0;y(e.rotation)||(n.rotation=e.rotation||0);b.forEach(function(a){(a=c[a])&&a.label&&a.label.textPxLength>g&&(g=a.label.textPxLength)});this.maxLabelLength=g;if(this.autoRotation)g>w&&g>m.h?n.rotation=this.labelRotation:this.labelRotation=0;else if(f){var k=w;if(!u){var D="clip";for(w=b.length;!l&&w--;){var G=b[w];if(G=c[G].label)G.styles&&"ellipsis"===G.styles.textOverflow?G.css({textOverflow:"clip"}):G.textPxLength>
|
|
f&&G.css({width:f+"px"}),G.getBBox().height>this.len/b.length-(m.h-m.f)&&(G.specificTextOverflow="ellipsis")}}}n.rotation&&(k=g>.5*a.chartHeight?.33*a.chartHeight:g,u||(D="ellipsis"));if(this.labelAlign=e.align||this.autoLabelAlign(this.labelRotation))n.align=this.labelAlign;b.forEach(function(a){var d=(a=c[a])&&a.label,b=q.width,h={};d&&(d.attr(n),a.shortenLabel?a.shortenLabel():k&&!b&&"nowrap"!==q.whiteSpace&&(k<d.textPxLength||"SPAN"===d.element.tagName)?(h.width=k,u||(h.textOverflow=d.specificTextOverflow||
|
|
D),d.css(h)):d.styles&&d.styles.width&&!h.width&&!b&&d.css({width:null}),delete d.specificTextOverflow,a.rotation=n.rotation)},this);this.tickRotCorr=d.rotCorr(m.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(a){return a.hasData()})||this.options.showEmpty&&t(this.min)&&t(this.max)},addTitle:function(a){var d=this.chart.renderer,b=this.horiz,h=this.opposite,c=this.options.title,e,q=this.chart.styledMode;this.axisTitle||((e=c.textAlign)||(e=(b?{low:"left",
|
|
middle:"center",high:"right"}:{low:h?"right":"left",middle:"center",high:h?"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"),q||this.axisTitle.css(D(c.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);q||c.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var d=this.ticks;d[a]?d[a].addLabel():d[a]=new G(this,
|
|
a)},getOffset:function(){var a=this,d=a.chart,b=d.renderer,c=a.options,q=a.tickPositions,l=a.ticks,f=a.horiz,w=a.side,n=d.inverted&&!a.isZAxis?[1,0,3,2][w]:w,m,u=0,y=0,g=c.title,k=c.labels,G=0,D=d.axisOffset;d=d.clipOffset;var H=[-1,1,1,-1][w],p=c.className,r=a.axisParent;var v=a.hasData();a.showAxis=m=v||E(c.showEmpty,!0);a.staggerLines=a.horiz&&k.staggerLines;a.axisGroup||(a.gridGroup=b.g("grid").attr({zIndex:c.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(p||"")).add(r),
|
|
a.axisGroup=b.g("axis").attr({zIndex:c.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(p||"")).add(r),a.labelGroup=b.g("axis-labels").attr({zIndex:k.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(p||"")).add(r));v||a.isLinked?(q.forEach(function(d,b){a.generateTick(d,b)}),a.renderUnsquish(),a.reserveSpaceDefault=0===w||2===w||{1:"left",3:"right"}[w]===a.labelAlign,E(k.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&q.forEach(function(a){G=
|
|
Math.max(l[a].getLabelSize(),G)}),a.staggerLines&&(G*=a.staggerLines),a.labelOffset=G*(a.opposite?-1:1)):A(l,function(a,d){a.destroy();delete l[d]});if(g&&g.text&&!1!==g.enabled&&(a.addTitle(m),m&&!1!==g.reserveSpace)){a.titleOffset=u=a.axisTitle.getBBox()[f?"height":"width"];var N=g.offset;y=t(N)?0:E(g.margin,f?5:10)}a.renderLine();a.offset=H*E(c.offset,D[w]?D[w]+(c.margin||0):0);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};b=0===w?-a.labelMetrics().h:2===w?a.tickRotCorr.y:0;y=Math.abs(G)+y;G&&(y=y-b+
|
|
H*(f?E(k.y,a.tickRotCorr.y+8*H):k.x));a.axisTitleMargin=E(N,y);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(l,q));f=this.tickSize("tick");D[w]=Math.max(D[w],a.axisTitleMargin+u+H*a.offset,y,q&&q.length&&f?f[0]+H*a.offset:0);c=c.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);d[n]=Math.max(d[n],c);e(this,"afterGetOffset")},getLinePath:function(a){var d=this.chart,b=this.opposite,h=this.offset,c=this.horiz,e=this.left+(b?this.width:0)+h;h=d.chartHeight-this.bottom-(b?this.height:
|
|
0)+h;b&&(a*=-1);return d.renderer.crispLine(["M",c?this.left:e,c?h:this.top,"L",c?d.chartWidth-this.right:e,c?h: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,d=this.left,b=this.top,c=this.len,q=this.options.title,l=
|
|
a?d:b,f=this.opposite,w=this.offset,n=q.x||0,m=q.y||0,u=this.axisTitle,y=this.chart.renderer.fontMetrics(q.style&&q.style.fontSize,u);u=Math.max(u.getBBox(null,0).height-y.h-1,0);c={low:l+(a?0:c),middle:l+c/2,high:l+(a?c:0)}[q.align];d=(a?b+this.height:d)+(a?1:-1)*(f?-1:1)*this.axisTitleMargin+[-u,u,y.f,-u][this.side];a={x:a?c+n:d+(f?this.width:0)+w+n,y:a?d+m-(f?this.height:0)+w:c+m};e(this,"afterGetTitlePosition",{titlePosition:a});return a},renderMinorTick:function(a){var d=this.chart.hasRendered&&
|
|
l(this.oldMin),b=this.minorTicks;b[a]||(b[a]=new G(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,h=this.ticks,c=this.chart.hasRendered&&l(this.oldMin);if(!b||a>=this.min&&a<=this.max)h[a]||(h[a]=new G(this,a)),c&&h[a].isNew&&h[a].render(d,!0,-1),h[a].render(d)},render:function(){var d=this,b=d.chart,c=d.options,f=d.isLog,w=d.isLinked,n=d.tickPositions,m=d.axisTitle,u=d.ticks,y=d.minorTicks,g=d.alternateBands,k=c.stackLabels,
|
|
D=c.alternateGridColor,H=d.tickmarkOffset,p=d.axisLine,r=d.showAxis,E=F(b.renderer.globalAnimation),v,t;d.labelEdge.length=0;d.overlap=!1;[u,y,g].forEach(function(a){A(a,function(a){a.isActive=!1})});if(d.hasData()||w)d.minorTickInterval&&!d.categories&&d.getMinorTickPositions().forEach(function(a){d.renderMinorTick(a)}),n.length&&(n.forEach(function(a,b){d.renderTick(a,b)}),H&&(0===d.min||d.single)&&(u[-1]||(u[-1]=new G(d,-1,null,!0)),u[-1].render(-1))),D&&n.forEach(function(h,c){t=void 0!==n[c+
|
|
1]?n[c+1]+H:d.max-H;0===c%2&&h<d.max&&t<=d.max+(b.polar?-H:H)&&(g[h]||(g[h]=new a.PlotLineOrBand(d)),v=h+H,g[h].options={from:f?d.lin2log(v):v,to:f?d.lin2log(t):t,color:D},g[h].render(),g[h].isActive=!0)}),d._addedPlotLB||((c.plotLines||[]).concat(c.plotBands||[]).forEach(function(a){d.addPlotBandOrLine(a)}),d._addedPlotLB=!0);[u,y,g].forEach(function(a){var d,h=[],c=E.duration;A(a,function(a,d){a.isActive||(a.render(d,!1,0),a.isActive=!1,h.push(d))});q(function(){for(d=h.length;d--;)a[h[d]]&&!a[h[d]].isActive&&
|
|
(a[h[d]].destroy(),delete a[h[d]])},a!==g&&b.hasRendered&&c?c:0)});p&&(p[p.isPlaced?"animate":"attr"]({d:this.getLinePath(p.strokeWidth())}),p.isPlaced=!0,p[r?"show":"hide"](!0));m&&r&&(c=d.getTitlePosition(),l(c.y)?(m[m.isNew?"attr":"animate"](c),m.isNew=!1):(m.attr("y",-9999),m.isNew=!0));k&&k.enabled&&d.renderStackTotals();d.isDirty=!1;e(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 d=this,b=d.stacks,h=d.plotLinesAndBands,c;e(this,"destroy",{keepEvents:a});a||u(d);A(b,function(a,d){f(a);b[d]=null});[d.ticks,d.minorTicks,d.alternateBands].forEach(function(a){f(a)});if(h)for(a=h.length;a--;)h[a].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(a){d[a]&&(d[a]=d[a].destroy())});for(c in d.plotLinesAndBandsGroups)d.plotLinesAndBandsGroups[c]=
|
|
d.plotLinesAndBandsGroups[c].destroy();A(d,function(a,b){-1===d.keepProps.indexOf(b)&&delete d[b]})},drawCrosshair:function(a,d){var b,c=this.crosshair,h=E(c.snap,!0),q,l=this.cross;e(this,"drawCrosshair",{e:a,point:d});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(t(d)||!h)){h?t(d)&&(q=E(d.crosshairPos,this.isXAxis?d.plotX:this.len-d.plotY)):q=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);t(q)&&(b=this.getPlotLinePath({value:d&&(this.isXAxis?d.x:E(d.stackY,d.y)),translatedValue:q})||
|
|
null);if(!t(b)){this.hideCrosshair();return}h=this.categories&&!this.isRadial;l||(this.cross=l=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(h?"category ":"thin ")+c.className).attr({zIndex:E(c.zIndex,2)}).add(),this.chart.styledMode||(l.attr({stroke:c.color||(h?g("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":E(c.width,1)}).css({"pointer-events":"none"}),c.dashStyle&&l.attr({dashstyle:c.dashStyle})));l.show().attr({d:b});h&&!c.width&&l.attr({"stroke-width":this.transA});
|
|
this.cross.e=a}else this.hideCrosshair();e(this,"afterDrawCrosshair",{e:a,point:d})},hideCrosshair:function(){this.cross&&this.cross.hide();e(this,"afterHideCrosshair")}});return a.Axis=H});L(I,"v7.1.2/js/parts/DateTimeAxis.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.Axis,F=a.getMagnitude,C=a.normalizeTickInterval,k=a.timeUnits;B.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};B.prototype.normalizeTimeTickInterval=function(a,p){var g=
|
|
p||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],t=g[g.length-1],r=k[t[0]],f=t[1],c;for(c=0;c<g.length&&!(t=g[c],r=k[t[0]],f=t[1],g[c+1]&&a<=(r*f[f.length-1]+k[g[c+1][0]])/2);c++);r===k.year&&a<5*r&&(f=[1,2,5]);g=C(a/r,f,"year"===t[0]?Math.max(F(a/r),1):1);return{unitRange:r,count:g,unitName:t[0]}}});L(I,"v7.1.2/js/parts/Tooltip.js",[I["v7.1.2/js/parts/Globals.js"]],
|
|
function(a){var B=a.doc,F=a.extend,C=a.format,k=a.isNumber,g=a.merge,p=a.pick,v=a.splat,t=a.syncTimeout,r=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,c){this.chart=a;this.options=c;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=c.split&&!a.inverted;this.shared=c.shared||this.split;this.outside=p(c.outside,!(!a.scrollablePixelsX&&!a.scrollablePixelsY))&&!this.split},cleanSplit:function(a){this.chart.series.forEach(function(c){var e=
|
|
c&&c.tt;e&&(!e.isActive||a?c.tt=e.destroy():e.isActive=!1)})},applyFilter:function(){var a=this.chart;a.renderer.definition({tagName:"filter",id:"drop-shadow-"+a.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"}]}]});a.renderer.definition({tagName:"style",
|
|
textContent:".highcharts-tooltip-"+a.index+"{filter:url(#drop-shadow-"+a.index+")}"})},getLabel:function(){var f=this,c=this.chart.renderer,e=this.chart.styledMode,m=this.options,b;if(!this.label){this.outside&&(this.container=b=a.doc.createElement("div"),b.className="highcharts-tooltip-container",a.css(b,{position:"absolute",top:"1px",pointerEvents:m.style&&m.style.pointerEvents,zIndex:3}),a.doc.body.appendChild(b),this.renderer=c=new a.Renderer(b,0,0));this.split?this.label=c.g("tooltip"):(this.label=
|
|
c.label("",0,0,m.shape||"callout",null,null,m.useHTML,null,"tooltip").attr({padding:m.padding,r:m.borderRadius}),e||this.label.attr({fill:m.backgroundColor,"stroke-width":m.borderWidth}).css(m.style).shadow(m.shadow));e&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index));if(this.outside){var n={x:this.label.xSetter,y:this.label.ySetter};this.label.xSetter=function(a,c){n[c].call(this.label,f.distance);b.style.left=a+"px"};this.label.ySetter=function(a,c){n[c].call(this.label,
|
|
f.distance);b.style.top=a+"px"}}this.label.attr({zIndex:8}).add()}return this.label},update:function(a){this.destroy();g(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,g(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},
|
|
move:function(f,c,e,m){var b=this,n=b.now,l=!1!==b.options.animation&&!b.isHidden&&(1<Math.abs(f-n.x)||1<Math.abs(c-n.y)),y=b.followPointer||1<b.len;F(n,{x:l?(2*n.x+f)/3:f,y:l?(n.y+c)/2:c,anchorX:y?void 0:l?(2*n.anchorX+e)/3:e,anchorY:y?void 0:l?(n.anchorY+m)/2:m});b.getLabel().attr(n);l&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(f,c,e,m)},32))},hide:function(f){var c=this;a.clearTimeout(this.hideTimer);f=p(f,this.options.hideDelay,500);this.isHidden||
|
|
(this.hideTimer=t(function(){c.getLabel()[f?"fadeOut":"hide"]();c.isHidden=!0},f))},getAnchor:function(a,c){var e=this.chart;var f=e.pointer,b=e.inverted,n=e.plotTop,l=e.plotLeft,y=0,g=0,k,A;a=v(a);this.followPointer&&c?(void 0===c.chartX&&(c=f.normalize(c)),e=[c.chartX-e.plotLeft,c.chartY-n]):a[0].tooltipPos?e=a[0].tooltipPos:(a.forEach(function(a){k=a.series.yAxis;A=a.series.xAxis;y+=a.plotX+(!b&&A?A.left-l:0);g+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!b&&k?k.top-n:0)}),y/=a.length,g/=a.length,
|
|
e=[b?e.plotWidth-g:y,this.shared&&!b&&1<a.length&&c?c.chartY-n:b?e.plotHeight-y:g]);return e.map(Math.round)},getPosition:function(a,c,e){var f=this.chart,b=this.distance,n={},l=f.inverted&&e.h||0,y,g=this.outside,k=g?B.documentElement.clientWidth-2*b:f.chartWidth,A=g?Math.max(B.body.scrollHeight,B.documentElement.scrollHeight,B.body.offsetHeight,B.documentElement.offsetHeight,B.documentElement.clientHeight):f.chartHeight,r=f.pointer.chartPosition,u=["y",A,c,(g?r.top-b:0)+e.plotY+f.plotTop,g?0:f.plotTop,
|
|
g?A:f.plotTop+f.plotHeight],d=["x",k,a,(g?r.left-b:0)+e.plotX+f.plotLeft,g?0:f.plotLeft,g?k:f.plotLeft+f.plotWidth],w=!this.followPointer&&p(e.ttBelow,!f.inverted===!!e.negative),q=function(a,d,c,h,e,q){var f=c<h-b,m=h+b+c<d,u=h-b-c;h+=b;if(w&&m)n[a]=h;else if(!w&&f)n[a]=u;else if(f)n[a]=Math.min(q-c,0>u-l?u:u-l);else if(m)n[a]=Math.max(e,h+l+c>d?h:h+l);else return!1},G=function(a,d,c,h){var e;h<b||h>d-b?e=!1:n[a]=h<c/2?1:h>d-c/2?d-c-2:h-c/2;return e},H=function(a){var b=u;u=d;d=b;y=a},h=function(){!1!==
|
|
q.apply(0,u)?!1!==G.apply(0,d)||y||(H(!0),h()):y?n.x=n.y=0:(H(!0),h())};(f.inverted||1<this.len)&&H();h();return n},defaultFormatter:function(a){var c=this.points||v(this);var e=[a.tooltipFooterHeaderFormatter(c[0])];e=e.concat(a.bodyFormatter(c));e.push(a.tooltipFooterHeaderFormatter(c[0],!0));return e},refresh:function(f,c){var e=this.chart,m=this.options,b=f,n={},l=[];var g=m.formatter||this.defaultFormatter;n=this.shared;var k=e.styledMode,r=[];if(m.enabled){a.clearTimeout(this.hideTimer);this.followPointer=
|
|
v(b)[0].series.tooltipOptions.followPointer;var A=this.getAnchor(b,c);var E=A[0];var u=A[1];!n||b.series&&b.series.noSharedTooltip?n=b.getLabelConfig():(r=e.pointer.getActiveSeries(b),e.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===r.indexOf(a))&&a.setState("inactive",!0)}),b.forEach(function(a){a.setState("hover");l.push(a.getLabelConfig())}),n={x:b[0].category,y:b[0].y},n.points=l,b=b[0]);this.len=l.length;g=g.call(n,this);n=b.series;this.distance=p(n.tooltipOptions.distance,16);
|
|
!1===g?this.hide():(e=this.getLabel(),this.isHidden&&e.attr({opacity:1}).show(),this.split?this.renderSplit(g,v(f)):(m.style.width&&!k||e.css({width:this.chart.spacingBox.width}),e.attr({text:g&&g.join?g.join(""):g}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+p(b.colorIndex,n.colorIndex)),k||e.attr({stroke:m.borderColor||b.color||n.color||"#666666"}),this.updatePosition({plotX:E,plotY:u,negative:b.negative,ttBelow:b.ttBelow,h:A[2]||0})),this.isHidden=!1);a.fireEvent(this,
|
|
"refresh")}},renderSplit:function(f,c){var e=this,m=[],b=this.chart,n=b.renderer,l=!0,g=this.options,k=0,r,A=this.getLabel(),E=b.plotTop;a.isString(f)&&(f=[!1,f]);f.slice(0,c.length+1).forEach(function(a,d){if(!1!==a&&""!==a){var f=c[d-1]||{isHeader:!0,plotX:c[0].plotX,plotY:b.plotHeight},q=f.series||e,u=q.tt,y=f.series||{},h="highcharts-color-"+p(f.colorIndex,y.colorIndex,"none");u||(u={padding:g.padding,r:g.borderRadius},b.styledMode||(u.fill=g.backgroundColor,u["stroke-width"]=g.borderWidth),q.tt=
|
|
u=n.label(null,null,null,(f.isHeader?g.headerShape:g.shape)||"callout",null,null,g.useHTML).addClass("highcharts-tooltip-box "+h).attr(u).add(A));u.isActive=!0;u.attr({text:a});b.styledMode||u.css(g.style).shadow(g.shadow).attr({stroke:g.borderColor||f.color||y.color||"#333333"});y=u.getBBox();h=y.width+u.strokeWidth();f.isHeader?(k=y.height,b.xAxis[0].opposite&&(r=!0,E-=k),h=Math.max(0,Math.min(f.plotX+b.plotLeft-h/2,b.chartWidth+(b.scrollablePixelsX?b.scrollablePixelsX-b.marginRight:0)-h))):h=f.plotX+
|
|
b.plotLeft-p(g.distance,16)-h;0>h&&(l=!1);y=(f.series&&f.series.yAxis&&f.series.yAxis.pos)+(f.plotY||0);y-=E;f.isHeader&&(y=r?-k:b.plotHeight+k);m.push({target:y,rank:f.isHeader?1:0,size:q.tt.getBBox().height+1,point:f,x:h,tt:u})}});this.cleanSplit();g.positioner&&m.forEach(function(a){var d=g.positioner.call(e,a.tt.getBBox().width,a.size,a.point);a.x=d.x;a.align=0;a.target=d.y;a.rank=p(d.rank,a.rank)});a.distribute(m,b.plotHeight+k);m.forEach(function(a){var d=a.point,c=d.series;a.tt.attr({visibility:void 0===
|
|
a.pos?"hidden":"inherit",x:l||d.isHeader||g.positioner?a.x:d.plotX+b.plotLeft+e.distance,y:a.pos+E,anchorX:d.isHeader?d.plotX+b.plotLeft:d.plotX+c.xAxis.pos,anchorY:d.isHeader?b.plotTop+b.plotHeight/2:d.plotY+c.yAxis.pos})})},updatePosition:function(a){var c=this.chart,e=this.getLabel(),f=(this.options.positioner||this.getPosition).call(this,e.width,e.height,a),b=a.plotX+c.plotLeft;a=a.plotY+c.plotTop;if(this.outside){var n=(this.options.borderWidth||0)+2*this.distance;this.renderer.setSize(e.width+
|
|
n,e.height+n,!1);b+=c.pointer.chartPosition.left-f.x;a+=c.pointer.chartPosition.top-f.y}this.move(Math.round(f.x),Math.round(f.y||0),b,a)},getDateFormat:function(a,c,e,m){var b=this.chart.time,f=b.dateFormat("%m-%d %H:%M:%S.%L",c),l={millisecond:15,second:12,minute:9,hour:6,day:3},g="millisecond";for(k in r){if(a===r.week&&+b.dateFormat("%w",c)===e&&"00:00:00.000"===f.substr(6)){var k="week";break}if(r[k]>a){k=g;break}if(l[k]&&f.substr(l[k])!=="01-01 00:00:00.000".substr(l[k]))break;"week"!==k&&(g=
|
|
k)}if(k)var p=b.resolveDTLFormat(m[k]).main;return p},getXDateFormat:function(a,c,e){c=c.dateTimeLabelFormats;var f=e&&e.closestPointRange;return(f?this.getDateFormat(f,a.x,e.options.startOfWeek,c):c.day)||c.year},tooltipFooterHeaderFormatter:function(f,c){var e=c?"footer":"header",m=f.series,b=m.tooltipOptions,n=b.xDateFormat,l=m.xAxis,g=l&&"datetime"===l.options.type&&k(f.key),D=b[e+"Format"];e={isFooter:c,labelConfig:f};a.fireEvent(this,"headerFormatter",e,function(a){g&&!n&&(n=this.getXDateFormat(f,
|
|
b,l));g&&n&&(f.point&&f.point.tooltipDateKeys||["key"]).forEach(function(a){D=D.replace("{point."+a+"}","{point."+a+":"+n+"}")});m.chart.styledMode&&(D=this.styledModeFormat(D));a.text=C(D,{point:f,series:m},this.chart.time)});return e.text},bodyFormatter:function(a){return a.map(function(a){var c=a.series.tooltipOptions;return(c[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,c[(a.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(a){return a.replace('style="font-size: 10px"',
|
|
'class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')}}});L(I,"v7.1.2/js/parts/Pointer.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.attr,C=a.charts,k=a.color,g=a.css,p=a.defined,v=a.extend,t=a.find,r=a.fireEvent,f=a.isNumber,c=a.isObject,e=a.offset,m=a.pick,b=a.splat,n=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=
|
|
b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};n&&(a.tooltip=new n(a,b.tooltip),this.followTouchMove=m(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,e=c.zoomType||"";b=b.inverted;/touch/.test(a.type)&&(e=m(c.pinchType,e));this.zoomX=a=/x/.test(e);this.zoomY=e=/y/.test(e);this.zoomHor=a&&!b||e&&b;this.zoomVert=e&&!b||a&&b;this.hasZoom=a||e},normalize:function(a,b){var c=a.touches?a.touches.length?a.touches.item(0):
|
|
a.changedTouches[0]:a;b||(this.chartPosition=b=e(this.chart.container));return v(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};this.chart.axes.forEach(function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,e){var l;a.forEach(function(a){var f=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(e,
|
|
f);if((f=c(a,!0))&&!(f=!c(l,!0))){f=l.distX-a.distX;var n=l.dist-a.dist,d=(a.series.group&&a.series.group.zIndex)-(l.series.group&&l.series.group.zIndex);f=0<(0!==f&&b?f:0!==n?n:0!==d?d:l.series.index>a.series.index?-1:1)}f&&(l=a)});return l},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,e=c.xAxis;c=c.yAxis;var l=m(a.clientX,a.plotX),f=a.shapeArgs;if(e&&c)return b?{chartX:e.len+e.pos-l,chartY:c.len+
|
|
c.pos-a.plotY}:{chartX:l+e.pos,chartY:a.plotY+c.pos};if(f&&f.x&&f.y)return{chartX:f.x,chartY:f.y}},getHoverData:function(a,b,e,f,n,g){var l,d=[];f=!(!f||!a);var w=b&&!b.stickyTracking?[b]:e.filter(function(a){return a.visible&&!(!n&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(l=f?a:this.findNearestKDPoint(w,n,g))&&l.series;l&&(n&&!b.noSharedTooltip?(w=e.filter(function(a){return a.visible&&!(!n&&a.directTouch)&&m(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),
|
|
w.forEach(function(a){var b=t(a.points,function(a){return a.x===l.x&&!a.isNull});c(b)&&(a.chart.isBoosting&&(b=a.getPoint(b)),d.push(b))})):d.push(l));return{hoverPoint:l,hoverSeries:b,hoverPoints:d}},runPointActions:function(b,c){var e=this.chart,l=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,f=l?l.shared:!1,n=c||e.hoverPoint,g=n&&n.series||e.hoverSeries;g=this.getHoverData(n,g,e.series,"touchmove"!==b.type&&(!!c||g&&g.directTouch&&this.isDirectTouch),f,b);var d=[];n=g.hoverPoint;var w=
|
|
g.hoverPoints;var q=(g=g.hoverSeries)&&g.tooltipOptions.followPointer;f=f&&g&&!g.noSharedTooltip;if(n&&(n!==e.hoverPoint||l&&l.isHidden)){(e.hoverPoints||[]).forEach(function(a){-1===w.indexOf(a)&&a.setState()});if(e.hoverSeries!==g)g.onMouseOver();d=this.getActiveSeries(w);e.series.forEach(function(a){(a.options.inactiveOtherPoints||-1===d.indexOf(a))&&a.setState("inactive",!0)});(w||[]).forEach(function(a){a.setState("hover")});e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut");if(!n.series)return;
|
|
n.firePointEvent("mouseOver");e.hoverPoints=w;e.hoverPoint=n;l&&l.refresh(f?w:n,b)}else q&&l&&!l.isHidden&&(n=l.getAnchor([{}],b),l.updatePosition({plotX:n[0],plotY:n[1]}));this.unDocMouseMove||(this.unDocMouseMove=B(e.container.ownerDocument,"mousemove",function(d){var b=C[a.hoverChartIndex];if(b)b.pointer.onDocumentMouseMove(d)}));e.axes.forEach(function(d){var c=m(d.crosshair.snap,!0),h=c?a.find(w,function(a){return a.series[d.coll]===d}):void 0;h||!c?d.drawCrosshair(b,h):d.hideCrosshair()})},
|
|
getActiveSeries:function(a){var b=[],c;(a||[]).forEach(function(a){c=a.series;b.push(c);c.linkedParent&&b.push(c.linkedParent);c.linkedSeries&&(b=b.concat(c.linkedSeries));c.navigatorSeries&&b.push(c.navigatorSeries)});return b},reset:function(a,c){var e=this.chart,l=e.hoverSeries,f=e.hoverPoint,n=e.hoverPoints,g=e.tooltip,d=g&&g.shared?n:f;a&&d&&b(d).forEach(function(d){d.series.isCartesian&&void 0===d.plotX&&(a=!1)});if(a)g&&d&&b(d).length&&(g.refresh(d),g.shared&&n?n.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),e.axes.forEach(function(a){a.crosshair&&a.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();n&&n.forEach(function(a){a.setState()});if(l)l.onMouseOut();g&&g.hide(c);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());e.axes.forEach(function(a){a.hideCrosshair()});this.hoverX=e.hoverPoints=e.hoverPoint=null}},
|
|
scaleGroups:function(a,b){var c=this.chart,e;c.series.forEach(function(l){e=a||l.getPlotBox();l.xAxis&&l.xAxis.zoomEnabled&&l.group&&(l.group.attr(e),l.markerGroup&&(l.markerGroup.attr(e),l.markerGroup.clip(b?c.clipRect:null)),l.dataLabelsGroup&&l.dataLabelsGroup.attr(e))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=this.chart,c=b.options.chart,
|
|
e=a.chartX,l=a.chartY,f=this.zoomHor,n=this.zoomVert,d=b.plotLeft,g=b.plotTop,q=b.plotWidth,m=b.plotHeight,H=this.selectionMarker,h=this.mouseDownX,x=this.mouseDownY,p=c.panKey&&a[c.panKey+"Key"];if(!H||!H.touch)if(e<d?e=d:e>d+q&&(e=d+q),l<g?l=g:l>g+m&&(l=g+m),this.hasDragged=Math.sqrt(Math.pow(h-e,2)+Math.pow(x-l,2)),10<this.hasDragged){var r=b.isInsidePlot(h-d,x-g);b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&r&&!p&&!H&&(this.selectionMarker=H=b.renderer.rect(d,g,f?1:q,n?1:m,0).attr({"class":"highcharts-selection-marker",
|
|
zIndex:7}).add(),b.styledMode||H.attr({fill:c.selectionMarkerFill||k("#335cad").setOpacity(.25).get()}));H&&f&&(e-=h,H.attr({width:Math.abs(e),x:(0<e?0:e)+h}));H&&n&&(e=l-x,H.attr({height:Math.abs(e),y:(0<e?0:e)+x}));r&&!H&&c.panning&&b.pan(a,c.panning)}},drop:function(a){var b=this,c=this.chart,e=this.hasPinched;if(this.selectionMarker){var l={originalEvent:a,xAxis:[],yAxis:[]},n=this.selectionMarker,m=n.attr?n.attr("x"):n.x,d=n.attr?n.attr("y"):n.y,w=n.attr?n.attr("width"):n.width,q=n.attr?n.attr("height"):
|
|
n.height,k;if(this.hasDragged||e)c.axes.forEach(function(c){if(c.zoomEnabled&&p(c.min)&&(e||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var h=c.horiz,f="touchend"===a.type?c.minPixelPadding:0,n=c.toValue((h?m:d)+f);h=c.toValue((h?m+w:d+q)-f);l[c.coll].push({axis:c,min:Math.min(n,h),max:Math.max(n,h)});k=!0}}),k&&r(c,"selection",l,function(a){c.zoom(v(a,e?{animation:!1}:null))});f(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());e&&this.scaleGroups()}c&&f(c.index)&&(g(c.container,{cursor:c._cursor}),
|
|
c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(b){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(b)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-
|
|
b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(b){var c=C[a.hoverChartIndex];c&&(b.relatedTarget||b.toElement)&&(c.pointer.reset(),c.pointer.chartPosition=null)},onContainerMouseMove:function(b){var c=this.chart;p(a.hoverChartIndex)&&C[a.hoverChartIndex]&&C[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=c.index);b=this.normalize(b);b.preventDefault||(b.returnValue=!1);"mousedown"===c.mouseIsDown&&this.drag(b);!this.inClass(b.target,"highcharts-tracker")&&!c.isInsidePlot(b.chartX-
|
|
c.plotLeft,b.chartY-c.plotTop)||c.openMenu||this.runPointActions(b)},inClass:function(a,b){for(var c;a;){if(c=F(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},
|
|
onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,e=b.plotLeft,f=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(r(c.series,"click",v(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(v(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-e,a.chartY-f)&&r(b,"click",a)))},setDOMEvents:function(){var b=this,c=b.chart.container,e=c.ownerDocument;c.onmousedown=function(a){b.onContainerMouseDown(a)};c.onmousemove=function(a){b.onContainerMouseMove(a)};
|
|
c.onclick=function(a){b.onContainerClick(a)};this.unbindContainerMouseLeave=B(c,"mouseleave",b.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=B(e,"mouseup",b.onDocumentMouseUp));a.hasTouch&&(c.ontouchstart=function(a){b.onContainerTouchStart(a)},c.ontouchmove=function(a){b.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=B(e,"touchend",b.onDocumentTouchEnd)))},destroy:function(){var b=this;b.unDocMouseMove&&b.unDocMouseMove();this.unbindContainerMouseLeave();
|
|
a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(b.tooltipTimeout);a.objectEach(b,function(a,c){b[c]=null})}}});L(I,"v7.1.2/js/parts/TouchPointer.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.charts,F=a.extend,C=a.noop,k=a.pick;F(a.Pointer.prototype,{pinchTranslate:function(a,k,v,t,r,f){this.zoomHor&&this.pinchTranslateDirection(!0,a,k,v,t,r,f);this.zoomVert&&
|
|
this.pinchTranslateDirection(!1,a,k,v,t,r,f)},pinchTranslateDirection:function(a,k,v,t,r,f,c,e){var g=this.chart,b=a?"x":"y",n=a?"X":"Y",l="chart"+n,y=a?"width":"height",p=g["plot"+(a?"Left":"Top")],N,A,E=e||1,u=g.inverted,d=g.bounds[a?"h":"v"],w=1===k.length,q=k[0][l],G=v[0][l],H=!w&&k[1][l],h=!w&&v[1][l];v=function(){!w&&20<Math.abs(q-H)&&(E=e||Math.abs(G-h)/Math.abs(q-H));A=(p-G)/E+q;N=g["plot"+(a?"Width":"Height")]/E};v();k=A;if(k<d.min){k=d.min;var x=!0}else k+N>d.max&&(k=d.max-N,x=!0);x?(G-=
|
|
.8*(G-c[b][0]),w||(h-=.8*(h-c[b][1])),v()):c[b]=[G,h];u||(f[b]=A-p,f[y]=N);f=u?1/E:E;r[y]=N;r[b]=k;t[u?a?"scaleY":"scaleX":"scale"+n]=E;t["translate"+n]=f*p+(G-f*q)},pinch:function(a){var g=this,v=g.chart,t=g.pinchDown,r=a.touches,f=r.length,c=g.lastValidTouch,e=g.hasZoom,m=g.selectionMarker,b={},n=1===f&&(g.inClass(a.target,"highcharts-tracker")&&v.runTrackerClick||g.runChartClick),l={};1<f&&(g.initiated=!0);e&&g.initiated&&!n&&a.preventDefault();[].map.call(r,function(a){return g.normalize(a)});
|
|
"touchstart"===a.type?([].forEach.call(r,function(a,b){t[b]={chartX:a.chartX,chartY:a.chartY}}),c.x=[t[0].chartX,t[1]&&t[1].chartX],c.y=[t[0].chartY,t[1]&&t[1].chartY],v.axes.forEach(function(a){if(a.zoomEnabled){var b=v.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,e=a.toPixels(Math.min(k(a.options.min,a.dataMin),a.dataMin)),f=a.toPixels(Math.max(k(a.options.max,a.dataMax),a.dataMax)),n=Math.max(e,f);b.min=Math.min(a.pos,Math.min(e,f)-c);b.max=Math.max(a.pos+a.len,n+c)}}),g.res=!0):g.followTouchMove&&
|
|
1===f?this.runPointActions(g.normalize(a)):t.length&&(m||(g.selectionMarker=m=F({destroy:C,touch:!0},v.plotBox)),g.pinchTranslate(t,r,b,m,l,c),g.hasPinched=e,g.scaleGroups(b,l),g.res&&(g.res=!1,this.reset(!1,0)))},touch:function(g,p){var v=this.chart,t;if(v.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=v.index;if(1===g.touches.length)if(g=this.normalize(g),(t=v.isInsidePlot(g.chartX-v.plotLeft,g.chartY-v.plotTop))&&!v.openMenu){p&&this.runPointActions(g);
|
|
if("touchmove"===g.type){v=this.pinchDown;var r=v[0]?4<=Math.sqrt(Math.pow(v[0].chartX-g.chartX,2)+Math.pow(v[0].chartY-g.chartY,2)):!1}k(r,!0)&&this.pinch(g)}else p&&this.reset();else 2===g.touches.length&&this.pinch(g)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(g){B[a.hoverChartIndex]&&B[a.hoverChartIndex].pointer.drop(g)}})});L(I,"v7.1.2/js/parts/MSPointer.js",[I["v7.1.2/js/parts/Globals.js"]],
|
|
function(a){var B=a.addEvent,F=a.charts,C=a.css,k=a.doc,g=a.extend,p=a.noop,v=a.Pointer,t=a.removeEvent,r=a.win,f=a.wrap;if(!a.hasTouch&&(r.PointerEvent||r.MSPointerEvent)){var c={},e=!!r.PointerEvent,m=function(){var b=[];b.item=function(a){return this[a]};a.objectEach(c,function(a){b.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return b},b=function(b,c,e,f){"touch"!==b.pointerType&&b.pointerType!==b.MSPOINTER_TYPE_TOUCH||!F[a.hoverChartIndex]||(f(b),f=F[a.hoverChartIndex].pointer,f[c]({type:e,
|
|
target:b.currentTarget,preventDefault:p,touches:m()}))};g(v.prototype,{onContainerPointerDown:function(a){b(a,"onContainerTouchStart","touchstart",function(a){c[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},onContainerPointerMove:function(a){b(a,"onContainerTouchMove","touchmove",function(a){c[a.pointerId]={pageX:a.pageX,pageY:a.pageY};c[a.pointerId].target||(c[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){b(a,"onDocumentTouchEnd","touchend",function(a){delete c[a.pointerId]})},
|
|
batchMSEvents:function(a){a(this.chart.container,e?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,e?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(k,e?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});f(v.prototype,"init",function(a,b,c){a.call(this,b,c);this.hasZoom&&C(b.container,{"-ms-touch-action":"none","touch-action":"none"})});f(v.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(B)});
|
|
f(v.prototype,"destroy",function(a){this.batchMSEvents(t);a.call(this)})}});L(I,"v7.1.2/js/parts/Legend.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.css,C=a.discardElement,k=a.defined,g=a.fireEvent,p=a.isFirefox,v=a.marginNames,t=a.merge,r=a.pick,f=a.setAnimation,c=a.stableSort,e=a.win,m=a.wrap;a.Legend=function(a,c){this.init(a,c)};a.Legend.prototype={init:function(a,c){this.chart=a;this.setOptions(c);c.enabled&&(this.render(),B(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),
|
|
this.proximate?this.unchartrender=B(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var b=r(a.padding,8);this.options=a;this.chart.styledMode||(this.itemStyle=a.itemStyle,this.itemHiddenStyle=t(this.itemStyle,a.itemHiddenStyle));this.itemMarginTop=a.itemMarginTop||0;this.padding=b;this.initialItemY=b-5;this.symbolWidth=r(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&
|
|
!this.chart.inverted},update:function(a,c){var b=this.chart;this.setOptions(t(!0,this.options,a));this.destroy();b.isDirtyLegend=b.isDirtyBox=!0;r(c,!0)&&b.redraw();g(this,"afterUpdate")},colorizeItem:function(a,c){a.legendGroup[c?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var b=this.options,e=a.legendItem,f=a.legendLine,n=a.legendSymbol,m=this.itemHiddenStyle.color;b=c?b.itemStyle.color:m;var k=c?a.color||m:m,u=a.options&&a.options.marker,d={fill:k};e&&
|
|
e.css({fill:b,color:b});f&&f.attr({stroke:k});n&&(u&&n.isMarker&&(d=a.pointAttribs(),c||(d.stroke=d.fill=m)),n.attr(d))}g(this,"afterColorizeItem",{item:a,visible:c})},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 e=a._legendItemPos,f=e[0];e=e[1];var g=a.checkbox;if((a=a.legendGroup)&&a.element)a[k(a.translateY)?"animate":"attr"]({translateX:b?f:this.legendWidth-
|
|
f-2*c-4,translateY:e});g&&(g.x=f,g.y=e)},destroyItem:function(a){var b=a.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(b){a[b]&&(a[b]=a[b].destroy())});b&&C(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,
|
|
c=this.clipHeight||this.legendHeight,e=this.titleHeight;if(a){var f=a.translateY;this.allItems.forEach(function(b){var g=b.checkbox;if(g){var n=f+e+g.y+(this.scrollOffset||0)+3;F(g,{left:a.translateX+b.checkboxOffset+g.x-20+"px",top:n+"px",display:this.proximate||n>f-6&&n<f+c-6?"":"none"})}},this)}},renderTitle:function(){var a=this.options,c=this.padding,e=a.title,f=0;e.text&&(this.title||(this.title=this.chart.renderer.label(e.text,c-3,c-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}),
|
|
this.chart.styledMode||this.title.css(e.style),this.title.add(this.group)),e.width||this.title.css({width:this.maxLegendWidth+"px"}),a=this.title.getBBox(),f=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:f}));this.titleHeight=f},setText:function(b){var c=this.options;b.legendItem.attr({text:c.labelFormat?a.format(c.labelFormat,b,this.chart.time):c.labelFormatter.call(b)})},renderItem:function(a){var b=this.chart,c=b.renderer,e=this.options,f=this.symbolWidth,g=e.symbolPadding,
|
|
m=this.itemStyle,k=this.itemHiddenStyle,u="horizontal"===e.layout?r(e.itemDistance,20):0,d=!e.rtl,w=a.legendItem,q=!a.series,G=!q&&a.series.drawLegendSymbol?a.series:a,H=G.options;H=this.createCheckboxForItem&&H&&H.showCheckbox;u=f+g+u+(H?20:0);var h=e.useHTML,x=a.options.className;w||(a.legendGroup=c.g("legend-item").addClass("highcharts-"+G.type+"-series highcharts-color-"+a.colorIndex+(x?" "+x:"")+(q?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),a.legendItem=w=c.text("",
|
|
d?f+g:-g,this.baseline||0,h),b.styledMode||w.css(t(a.visible?m:k)),w.attr({align:d?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(this.fontMetrics=c.fontMetrics(b.styledMode?12:m.fontSize,w),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,w.attr("y",this.baseline)),this.symbolHeight=e.symbolHeight||this.fontMetrics.f,G.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,w,h));H&&!a.checkbox&&this.createCheckboxForItem(a);this.colorizeItem(a,a.visible);!b.styledMode&&
|
|
m.width||w.css({width:(e.itemWidth||this.widthOption||b.spacingBox.width)-u});this.setText(a);b=w.getBBox();a.itemWidth=a.checkboxOffset=e.itemWidth||a.legendItemWidth||b.width+u;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,e="horizontal"===b.layout,f=a.itemHeight,g=b.itemMarginBottom||0,m=this.itemMarginTop,
|
|
k=e?r(b.itemDistance,20):0,u=this.maxLegendWidth;b=b.alignColumns&&this.totalItemWidth>u?this.maxItemWidth:a.itemWidth;e&&this.itemX-c+b>u&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=m+this.lastLineHeight+g),this.lastLineHeight=0);this.lastItemY=m+this.itemY+g;this.lastLineHeight=Math.max(f,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];e?this.itemX+=b:(this.itemY+=m+f+g,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((e?this.itemX-c-(a.checkbox?0:k):b)+c,this.offsetWidth)},
|
|
getAllItems:function(){var a=[];this.chart.series.forEach(function(b){var c=b&&b.options;b&&r(c.showInLegend,k(c.linkedTo)?!1:void 0,!0)&&(a=a.concat(b.legendItems||("point"===c.legendType?b.data:b)))});g(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,c){var b=this.chart,e=this.options,f=this.getAlignment(),
|
|
g=void 0!==b.options.title.margin?b.titleOffset+b.options.title.margin:0;f&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(m,n){m.test(f)&&!k(a[n])&&(b[v[n]]=Math.max(b[v[n]],b.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*e[n%2?"x":"y"]+r(e.margin,12)+c[n]+(0===n&&(0===b.titleOffset?0:g))))})},proximatePositions:function(){var b=this.chart,c=[],e="left"===this.options.align;this.allItems.forEach(function(f){var g=e;if(f.yAxis&&f.points){f.xAxis.options.reversed&&
|
|
(g=!g);var m=a.find(g?f.points:f.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)});g=f.legendGroup.getBBox().height;var n=f.yAxis.top-b.plotTop;f.visible?(m=m?m.plotY:f.yAxis.height,m+=n-.3*g):m=n+f.yAxis.height;c.push({target:m,size:g,item:f})}},this);a.distribute(c,b.plotHeight);c.forEach(function(a){a.item._legendItemPos[1]=b.plotTop-b.spacing[0]+a.pos})},render:function(){var b=this.chart,e=b.renderer,f=this.group,m,k=this.box,r=this.options,A=this.padding;this.itemX=A;this.itemY=
|
|
this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=a.relativeLength(r.width,b.spacingBox.width-A);var p=b.spacingBox.width-2*A-r.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(p/=2);this.maxLegendWidth=this.widthOption||p;f||(this.group=f=e.g("legend").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(f),this.scrollGroup=e.g().add(this.contentGroup));this.renderTitle();p=this.getAllItems();c(p,function(a,b){return(a.options&&a.options.legendIndex||
|
|
0)-(b.options&&b.options.legendIndex||0)});r.reversed&&p.reverse();this.allItems=p;this.display=m=!!p.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;p.forEach(this.renderItem,this);p.forEach(this.layoutItem,this);p=(this.widthOption||this.offsetWidth)+A;var u=this.lastItemY+this.lastLineHeight+this.titleHeight;u=this.handleOverflow(u);u+=A;k||(this.box=k=e.rect().addClass("highcharts-legend-box").attr({r:r.borderRadius}).add(f),k.isNew=!0);b.styledMode||k.attr({stroke:r.borderColor,
|
|
"stroke-width":r.borderWidth||0,fill:r.backgroundColor||"none"}).shadow(r.shadow);0<p&&0<u&&(k[k.isNew?"attr":"animate"](k.crisp.call({},{x:0,y:0,width:p,height:u},k.strokeWidth())),k.isNew=!1);k[m?"show":"hide"]();b.styledMode&&"none"===f.getStyle("display")&&(p=u=0);this.legendWidth=p;this.legendHeight=u;m&&(e=b.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(k=e.y+b.titleOffset,e=t(e,{y:0<b.titleOffset?k+=b.options.title.margin:k})),f.align(t(r,{width:p,height:u,verticalAlign:this.proximate?
|
|
"top":r.verticalAlign}),!0,e));this.proximate||this.positionItems();g(this,"afterRender")},handleOverflow:function(a){var b=this,c=this.chart,e=c.renderer,f=this.options,g=f.y,m=this.padding;g=c.spacingBox.height+("top"===f.verticalAlign?-g:g)-m;var k=f.maxHeight,u,d=this.clipRect,w=f.navigation,q=r(w.animation,!0),G=w.arrowSize||12,H=this.nav,h=this.pages,x,p=this.allItems,v=function(a){"number"===typeof a?d.attr({height:a}):d&&(b.clipRect=d.destroy(),b.contentGroup.clip());b.contentGroup.div&&(b.contentGroup.div.style.clip=
|
|
a?"rect("+m+"px,9999px,"+(m+a)+"px,0)":"auto")},K=function(a){b[a]=e.circle(0,0,1.3*G).translate(G/2,G/2).add(H);c.styledMode||b[a].attr("fill","rgba(0,0,0,0.0001)");return b[a]};"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(g/=2);k&&(g=Math.min(g,k));h.length=0;a>g&&!1!==w.enabled?(this.clipHeight=u=Math.max(g-20-this.titleHeight-m,0),this.currentPage=r(this.currentPage,1),this.fullHeight=a,p.forEach(function(a,b){var d=a._legendItemPos[1],c=Math.round(a.legendItem.getBBox().height),
|
|
e=h.length;if(!e||d-h[e-1]>u&&(x||d)!==h[e-1])h.push(x||d),e++;a.pageIx=e-1;x&&(p[b-1].pageIx=e-1);b===p.length-1&&d+c-h[e-1]>u&&d!==x&&(h.push(d),a.pageIx=e);d!==x&&(x=d)}),d||(d=b.clipRect=e.clipRect(0,m,9999,0),b.contentGroup.clip(d)),v(u),H||(this.nav=H=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,G,G).add(H),K("upTracker").on("click",function(){b.scroll(-1,q)}),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation"),c.styledMode||this.pager.css(w.style),
|
|
this.pager.add(H),this.down=e.symbol("triangle-down",0,0,G,G).add(H),K("downTracker").on("click",function(){b.scroll(1,q)})),b.scroll(0),a=g):H&&(v(),this.nav=H.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,e=b.length,g=this.currentPage+a,m=this.clipHeight,n=this.options.navigation,k=this.pager,u=this.padding;g>e&&(g=e);0<g&&(void 0!==c&&f(c,this.chart),this.nav.attr({translateX:u,translateY:m+this.padding+7+this.titleHeight,visibility:"visible"}),
|
|
[this.up,this.upTracker].forEach(function(a){a.attr({"class":1===g?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),k.attr({text:g+"/"+e}),[this.down,this.downTracker].forEach(function(a){a.attr({x:18+this.pager.getBBox().width,"class":g===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),this.chart.styledMode||(this.up.attr({fill:1===g?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===g?"default":"pointer"}),this.down.attr({fill:g===e?n.inactiveColor:
|
|
n.activeColor}),this.downTracker.css({cursor:g===e?"default":"pointer"})),this.scrollOffset=-b[g-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=g,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,c){var b=a.symbolHeight,e=a.options.squareSymbol;c.legendSymbol=this.chart.renderer.rect(e?(a.symbolWidth-b)/2:0,a.baseline-b+1,e?b:a.symbolWidth,b,r(a.options.symbolRadius,b/2)).addClass("highcharts-point").attr({zIndex:3}).add(c.legendGroup)},
|
|
drawLineMarker:function(a){var b=this.options,c=b.marker,e=a.symbolWidth,f=a.symbolHeight,g=f/2,m=this.chart.renderer,k=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var u={};this.chart.styledMode||(u={"stroke-width":b.lineWidth||0},b.dashStyle&&(u.dashstyle=b.dashStyle));this.legendLine=m.path(["M",0,a,"L",e,a]).addClass("highcharts-graph").attr(u).add(k);c&&!1!==c.enabled&&e&&(b=Math.min(r(c.radius,g),g),0===this.symbol.indexOf("url")&&(c=t(c,{width:f,height:f}),b=0),this.legendSymbol=
|
|
c=m.symbol(this.symbol,e/2-b,a-b,2*b,2*b,c).addClass("highcharts-point").add(k),c.isMarker=!0)}};(/Trident\/7\.0/.test(e.navigator&&e.navigator.userAgent)||p)&&m(a.Legend.prototype,"positionItem",function(a,c){var b=this,e=function(){c._legendItemPos&&a.call(b,c)};e();b.bubbleLegend||setTimeout(e)})});L(I,"v7.1.2/js/parts/Chart.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.animate,C=a.animObject,k=a.attr,g=a.doc,p=a.Axis,v=a.createElement,t=a.defaultOptions,r=a.discardElement,
|
|
f=a.charts,c=a.css,e=a.defined,m=a.extend,b=a.find,n=a.fireEvent,l=a.isNumber,y=a.isObject,D=a.isString,N=a.Legend,A=a.marginNames,E=a.merge,u=a.objectEach,d=a.Pointer,w=a.pick,q=a.pInt,G=a.removeEvent,H=a.seriesTypes,h=a.splat,x=a.syncTimeout,J=a.win,O=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,d){return new O(a,b,d)};m(O.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(D(a[0])||a[0].nodeName)this.renderTo=a.shift();this.init(a[0],a[1])},
|
|
init:function(b,d){var c,e=b.series,h=b.plotOptions||{};n(this,"init",{args:arguments},function(){b.series=null;c=E(t,b);u(c.plotOptions,function(a,b){y(a)&&(a.tooltip=h[b]&&E(h[b].tooltip)||void 0)});c.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;c.series=b.series=e;this.userOptions=b;var q=c.chart,g=q.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=d;this.isResizing=0;this.options=c;this.axes=[];this.series=
|
|
[];this.time=b.time&&Object.keys(b.time).length?new a.Time(b.time):a.time;this.styledMode=q.styledMode;this.hasCartesianSeries=q.showAxes;var m=this;m.index=f.length;f.push(m);a.chartCount++;g&&u(g,function(b,d){a.isFunction(b)&&B(m,d,b)});m.xAxis=[];m.yAxis=[];m.pointCount=m.colorCounter=m.symbolCounter=0;n(m,"afterInit");m.firstRender()})},initSeries:function(b){var d=this.options.chart;(d=H[b.type||d.type||d.defaultSeriesType])||a.error(17,!0,this);d=new d;d.init(this,b);return d},orderSeries:function(a){var b=
|
|
this.series;for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,d){var c=d?b:a;a=d?a:b;return 0<=c&&c<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){n(this,"beforeRedraw");var d=this.axes,c=this.series,e=this.pointer,h=this.legend,q=this.userOptions.legend,f=this.isDirtyLegend,g=this.hasCartesianSeries,w=this.isDirtyBox,u=this.renderer,k=u.isHidden(),l=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);k&&this.temporaryDisplay();
|
|
this.layOutTitles();for(b=c.length;b--;){var x=c[b];if(x.options.stacking){var G=!0;if(x.isDirty){var H=!0;break}}}if(H)for(b=c.length;b--;)x=c[b],x.options.stacking&&(x.isDirty=!0);c.forEach(function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),f=!0):q&&(q.labelFormatter||q.labelFormat)&&(f=!0));a.isDirtyData&&n(a,"updatedData")});f&&h&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1);G&&this.getStacks();g&&d.forEach(function(a){a.updateNames();a.setScale()});
|
|
this.getMargins();g&&(d.forEach(function(a){a.isDirty&&(w=!0)}),d.forEach(function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,l.push(function(){n(a,"afterSetExtremes",m(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(w||G)&&a.redraw()}));w&&this.drawChartBox();n(this,"predraw");c.forEach(function(a){(w||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});e&&e.reset(!0);u.draw();n(this,"redraw");n(this,"render");k&&this.temporaryDisplay(!0);l.forEach(function(a){a.call()})},get:function(a){function d(b){return b.id===
|
|
a||b.options&&b.options.id===a}var c=this.series,e;var h=b(this.axes,d)||b(this.series,d);for(e=0;!h&&e<c.length;e++)h=b(c[e].points||[],d);return h},getAxes:function(){var a=this,b=this.options,d=b.xAxis=h(b.xAxis||{});b=b.yAxis=h(b.yAxis||{});n(this,"getAxes");d.forEach(function(a,b){a.index=b;a.isX=!0});b.forEach(function(a,b){a.index=b});d.concat(b).forEach(function(b){new p(a,b)});n(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];this.series.forEach(function(b){a=a.concat((b[b.hasGroupedData?
|
|
"points":"data"]||[]).filter(function(a){return a.selected}))});return a},getSelectedSeries:function(){return this.series.filter(function(a){return a.selected})},setTitle:function(a,b,d){var c=this,e=c.options,h=c.styledMode;var q=e.title=E(!h&&{style:{color:"#333333",fontSize:e.isStock?"16px":"18px"}},e.title,a);e=e.subtitle=E(!h&&{style:{color:"#666666"}},e.subtitle,b);[["title",a,q],["subtitle",b,e]].forEach(function(a,b){var d=a[0],e=c[d],q=a[1],f=a[2];e&&q&&(c[d]=e=e.destroy());f&&!e&&(c[d]=
|
|
c.renderer.text(f.text,0,0,f.useHTML).attr({align:f.align,"class":"highcharts-"+d,zIndex:f.zIndex||4}).add(),c[d].update=function(a){c.setTitle(!b&&a,b&&a)},h||c[d].css(f.style))});c.layOutTitles(d)},layOutTitles:function(a){var b=0,d=this.renderer,c=this.spacingBox;["title","subtitle"].forEach(function(a){var e=this[a],h=this.options[a];a="title"===a?-3:h.verticalAlign?0:b+2;if(e){if(!this.styledMode)var q=h.style.fontSize;q=d.fontMetrics(q,e).b;e.css({width:(h.width||c.width+h.widthAdjust)+"px"}).align(m({y:a+
|
|
q},h),!1,"spacingBox");h.floating||h.verticalAlign||(b=Math.ceil(b+e.getBBox(h.useHTML).height))}},this);var e=this.titleOffset!==b;this.titleOffset=b;!this.isDirtyBox&&e&&(this.isDirtyBox=this.isDirtyLegend=e,this.hasRendered&&w(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,d=b.width;b=b.height;var c=this.renderTo;e(d)||(this.containerWidth=a.getStyle(c,"width"));e(b)||(this.containerHeight=a.getStyle(c,"height"));this.chartWidth=Math.max(0,d||this.containerWidth||
|
|
600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(b){var d=this.renderTo;if(b)for(;d&&d.style;)d.hcOrigStyle&&(a.css(d,d.hcOrigStyle),delete d.hcOrigStyle),d.hcOrigDetached&&(g.body.removeChild(d),d.hcOrigDetached=!1),d=d.parentNode;else for(;d&&d.style;){g.body.contains(d)||d.parentNode||(d.hcOrigDetached=!0,g.body.appendChild(d));if("none"===a.getStyle(d,"display",!1)||d.hcOricDetached)d.hcOrigStyle=
|
|
{display:d.style.display,height:d.style.height,overflow:d.style.overflow},b={display:"block",overflow:"hidden"},d!==this.renderTo&&(b.height=0),a.css(d,b),d.offsetWidth||d.style.setProperty("display","block","important");d=d.parentNode;if(d===g.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var b=this.options,d=b.chart;var e=this.renderTo;var h=a.uniqueKey(),w,u;e||(this.renderTo=e=d.renderTo);D(e)&&(this.renderTo=e=g.getElementById(e));
|
|
e||a.error(13,!0,this);var x=q(k(e,"data-highcharts-chart"));l(x)&&f[x]&&f[x].hasRendered&&f[x].destroy();k(e,"data-highcharts-chart",this.index);e.innerHTML="";d.skipClone||e.offsetWidth||this.temporaryDisplay();this.getChartSize();x=this.chartWidth;var G=this.chartHeight;c(e,{overflow:"hidden"});this.styledMode||(w=m({position:"relative",overflow:"hidden",width:x+"px",height:G+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},d.style));this.container=
|
|
e=v("div",{id:h},w,e);this._cursor=e.style.cursor;this.renderer=new (a[d.renderer]||a.Renderer)(e,x,G,null,d.forExport,b.exporting&&b.exporting.allowHTML,this.styledMode);this.setClassName(d.className);if(this.styledMode)for(u in b.defs)this.renderer.definition(b.defs[u]);else this.renderer.setStyle(d.style);this.renderer.chartIndex=this.index;n(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,d=this.margin,c=this.titleOffset;this.resetMargins();c&&!e(d[0])&&(this.plotTop=Math.max(this.plotTop,
|
|
c+this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(d,b);n(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],d=a.margin;a.hasCartesianSeries&&a.axes.forEach(function(a){a.visible&&a.getOffset()});A.forEach(function(c,h){e(d[h])||(a[c]+=b[h])});a.setChartSize()},reflow:function(b){var d=this,c=d.options.chart,h=d.renderTo,q=e(c.width)&&e(c.height),f=c.width||a.getStyle(h,"width");c=c.height||a.getStyle(h,
|
|
"height");h=b?b.target:J;if(!q&&!d.isPrinting&&f&&c&&(h===J||h===g)){if(f!==d.containerWidth||c!==d.containerHeight)a.clearTimeout(d.reflowTimeout),d.reflowTimeout=x(function(){d.container&&d.setSize(void 0,void 0,!1)},b?100:0);d.containerWidth=f;d.containerHeight=c}},setReflow:function(a){var b=this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=B(J,"resize",function(a){b.reflow(a)}),B(this,"destroy",this.unbindReflow))},setSize:function(b,
|
|
d,e){var h=this,q=h.renderer;h.isResizing+=1;a.setAnimation(e,h);h.oldChartHeight=h.chartHeight;h.oldChartWidth=h.chartWidth;void 0!==b&&(h.options.chart.width=b);void 0!==d&&(h.options.chart.height=d);h.getChartSize();if(!h.styledMode){var f=q.globalAnimation;(f?F:c)(h.container,{width:h.chartWidth+"px",height:h.chartHeight+"px"},f)}h.setChartSize(!0);q.setSize(h.chartWidth,h.chartHeight,e);h.axes.forEach(function(a){a.isDirty=!0;a.setScale()});h.isDirtyLegend=!0;h.isDirtyBox=!0;h.layOutTitles();
|
|
h.getMargins();h.redraw(e);h.oldChartHeight=null;n(h,"resize");x(function(){h&&n(h,"endResize",null,function(){--h.isResizing})},C(f).duration)},setChartSize:function(a){var b=this.inverted,d=this.renderer,c=this.chartWidth,e=this.chartHeight,h=this.options.chart,q=this.spacing,f=this.clipOffset,g,m,w,u;this.plotLeft=g=Math.round(this.plotLeft);this.plotTop=m=Math.round(this.plotTop);this.plotWidth=w=Math.max(0,Math.round(c-g-this.marginRight));this.plotHeight=u=Math.max(0,Math.round(e-m-this.marginBottom));
|
|
this.plotSizeX=b?u:w;this.plotSizeY=b?w:u;this.plotBorderWidth=h.plotBorderWidth||0;this.spacingBox=d.spacingBox={x:q[3],y:q[0],width:c-q[3]-q[1],height:e-q[0]-q[2]};this.plotBox=d.plotBox={x:g,y:m,width:w,height:u};c=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(c,f[3])/2);d=Math.ceil(Math.max(c,f[0])/2);this.clipBox={x:b,y:d,width:Math.floor(this.plotSizeX-Math.max(c,f[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(c,f[2])/2-d))};a||this.axes.forEach(function(a){a.setAxisSize();
|
|
a.setAxisTranslation()});n(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){n(this,"resetMargins");var a=this,b=a.options.chart;["margin","spacing"].forEach(function(d){var c=b[d],e=y(c)?c:[c,c,c,c];["Top","Right","Bottom","Left"].forEach(function(c,h){a[d][h]=w(b[d+c],e[h])})});A.forEach(function(b,d){a[b]=w(a.margin[d],a.spacing[d])});a.axisOffset=[0,0,0,0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,d=this.chartWidth,c=this.chartHeight,
|
|
e=this.chartBackground,h=this.plotBackground,q=this.plotBorder,f=this.styledMode,g=this.plotBGImage,m=a.backgroundColor,w=a.plotBackgroundColor,u=a.plotBackgroundImage,k,l=this.plotLeft,x=this.plotTop,G=this.plotWidth,H=this.plotHeight,r=this.plotBox,p=this.clipRect,y=this.clipBox,A="animate";e||(this.chartBackground=e=b.rect().addClass("highcharts-background").add(),A="attr");if(f)var v=k=e.strokeWidth();else{v=a.borderWidth||0;k=v+(a.shadow?8:0);m={fill:m||"none"};if(v||e["stroke-width"])m.stroke=
|
|
a.borderColor,m["stroke-width"]=v;e.attr(m).shadow(a.shadow)}e[A]({x:k/2,y:k/2,width:d-k-v%2,height:c-k-v%2,r:a.borderRadius});A="animate";h||(A="attr",this.plotBackground=h=b.rect().addClass("highcharts-plot-background").add());h[A](r);f||(h.attr({fill:w||"none"}).shadow(a.plotShadow),u&&(g?g.animate(r):this.plotBGImage=b.image(u,l,x,G,H).add()));p?p.animate({width:y.width,height:y.height}):this.clipRect=b.clipRect(y);A="animate";q||(A="attr",this.plotBorder=q=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());
|
|
f||q.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});q[A](q.crisp({x:l,y:x,width:G,height:H},-q.strokeWidth()));this.isDirtyBox=!1;n(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,d,c=a.options.series,e,h;["inverted","angular","polar"].forEach(function(q){d=H[b.type||b.defaultSeriesType];h=b[q]||d&&d.prototype[q];for(e=c&&c.length;!h&&e--;)(d=H[c[e].type])&&d.prototype[q]&&(h=!0);a[q]=h})},linkSeries:function(){var a=this,b=a.series;
|
|
b.forEach(function(a){a.linkedSeries.length=0});b.forEach(function(b){var d=b.options.linkedTo;D(d)&&(d=":previous"===d?a.series[b.index-1]:a.get(d))&&d.linkedParent!==b&&(d.linkedSeries.push(b),b.linkedParent=d,b.visible=w(b.options.visible,d.options.visible,b.visible))});n(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;b.items&&b.items.forEach(function(d){var c=m(b.style,d.style),
|
|
e=q(c.left)+a.plotLeft,h=q(c.top)+a.plotTop+12;delete c.left;delete c.top;a.renderer.text(d.html,e,h).attr({zIndex:2}).css(c).add()})},render:function(){var a=this.axes,b=this.renderer,d=this.options,c=0;this.setTitle();this.legend=new N(this,d.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();d=this.plotWidth;a.some(function(a){if(a.horiz&&a.visible&&a.options.labels.enabled&&a.series.length)return c=21,!0});var e=this.plotHeight=Math.max(this.plotHeight-c,0);a.forEach(function(a){a.setScale()});
|
|
this.getAxisMargins();var h=1.1<d/this.plotWidth;var q=1.05<e/this.plotHeight;if(h||q)a.forEach(function(a){(a.horiz&&h||!a.horiz&&q)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&a.forEach(function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;
|
|
a=E(!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&&(J.location.href=a.href)}).attr({align:a.position.align,zIndex:8}),b.styledMode||this.credits.css(a.style),this.credits.add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,d=b.axes,c=b.series,e=b.container,h,q=e&&e.parentNode;n(b,"destroy");
|
|
b.renderer.forExport?a.erase(f,b):f[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");G(b);for(h=d.length;h--;)d[h]=d[h].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(h=c.length;h--;)c[h]=c[h].destroy();"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(a){var d=b[a];d&&d.destroy&&(b[a]=d.destroy())});
|
|
e&&(e.innerHTML="",G(e),q&&r(e));u(b,function(a,d){delete b[d]})},firstRender:function(){var b=this,c=b.options;if(!b.isReadyToRender||b.isReadyToRender()){b.getContainer();b.resetMargins();b.setChartSize();b.propFromSeries();b.getAxes();(a.isArray(c.series)?c.series:[]).forEach(function(a){b.initSeries(a)});b.linkSeries();n(b,"beforeRender");d&&(b.pointer=new d(b,c));b.render();if(!b.renderer.imgCount&&b.onload)b.onload();b.temporaryDisplay(!0)}},onload:function(){this.callbacks.concat([this.callback]).forEach(function(a){a&&
|
|
void 0!==this.index&&a.apply(this,[this])},this);n(this,"load");n(this,"render");e(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})});L(I,"v7.1.2/js/parts/Point.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B,F=a.extend,C=a.erase,k=a.fireEvent,g=a.format,p=a.isArray,v=a.isNumber,t=a.pick,r=a.uniqueKey,f=a.defined,c=a.removeEvent;a.Point=B=function(){};a.Point.prototype={init:function(a,c,b){this.series=a;this.applyOptions(c,b);this.id=f(this.id)?this.id:r();this.resolveColor();
|
|
a.chart.pointCount++;k(this,"afterInit");return this},resolveColor:function(){var a=this.series;var c=a.chart.options.chart.colorCount;var b=a.chart.styledMode;b||this.options.color||(this.color=a.color);a.options.colorByPoint?(b||(c=a.options.colors||a.chart.options.colors,this.color=this.color||c[a.colorCounter],c=c.length),b=a.colorCounter,a.colorCounter++,a.colorCounter===c&&(a.colorCounter=0)):b=a.colorIndex;this.colorIndex=t(this.colorIndex,b)},applyOptions:function(a,c){var b=this.series,e=
|
|
b.options.pointValKey||b.pointValKey;a=B.prototype.optionsToObject.call(this,a);F(this,a);this.options=this.options?F(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;e&&(this.y=this[e]);if(this.isNull=t(this.isValid&&!this.isValid(),null===this.x||!v(this.y,!0)))this.formatPrefix="null";this.selected&&(this.state="select");"name"in this&&void 0===c&&b.xAxis&&b.xAxis.hasNames&&(this.x=b.xAxis.nameToX(this));void 0===this.x&&b&&(this.x=void 0===c?b.autoIncrement(this):
|
|
c);return this},setNestedProperty:function(c,f,b){b.split(".").reduce(function(b,c,e,g){b[c]=g.length-1===e?f:a.isObject(b[c],!0)?b[c]:{};return b[c]},c);return c},optionsToObject:function(c){var e={},b=this.series,f=b.options.keys,g=f||b.pointArrayMap||["y"],k=g.length,r=0,t=0;if(v(c)||null===c)e[g[0]]=c;else if(p(c))for(!f&&c.length>k&&(b=typeof c[0],"string"===b?e.name=c[0]:"number"===b&&(e.x=c[0]),r++);t<k;)f&&void 0===c[r]||(0<g[t].indexOf(".")?a.Point.prototype.setNestedProperty(e,c[r],g[t]):
|
|
e[g[t]]=c[r]),r++,t++;else"object"===typeof c&&(e=c,c.dataLabels&&(b._hasPointLabels=!0),c.marker&&(b._hasPointMarkers=!0));return e},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",
|
|
""):"")},getZone:function(){var a=this.series,c=a.zones;a=a.zoneAxis||"y";var b=0,f;for(f=c[b];this[a]>=f.value;)f=c[++b];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=f&&f.color&&!this.options.color?f.color:this.nonZonedColor;return f},destroy:function(){var a=this.series.chart,f=a.hoverPoints,b;a.pointCount--;f&&(this.setState(),C(f,this),f.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)c(this),this.destroyElements();
|
|
this.legendItem&&a.legend.destroyItem(this);for(b in this)this[b]=null},destroyElements:function(a){var c=this,b=[],e;a=a||{graphic:1,dataLabel:1};a.graphic&&b.push("graphic","shadowGroup");a.dataLabel&&b.push("dataLabel","dataLabelUpper","connector");for(e=b.length;e--;){var f=b[e];c[f]&&(c[f]=c[f].destroy())}["dataLabel","connector"].forEach(function(b){var e=b+"s";a[b]&&c[e]&&(c[e].forEach(function(a){a.element&&a.destroy()}),delete c[e])})},getLabelConfig:function(){return{x:this.category,y:this.y,
|
|
color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var c=this.series,b=c.tooltipOptions,e=t(b.valueDecimals,""),f=b.valuePrefix||"",k=b.valueSuffix||"";c.chart.styledMode&&(a=c.chart.tooltip.styledModeFormat(a));(c.pointArrayMap||["y"]).forEach(function(b){b="{point."+b;if(f||k)a=a.replace(RegExp(b+"}","g"),f+b+"}"+k);a=a.replace(RegExp(b+"}","g"),b+":,."+
|
|
e+"f}")});return g(a,{point:this,series:this.series},c.chart.time)},firePointEvent:function(a,c,b){var e=this,f=this.series.options;(f.point.events[a]||e.options&&e.options.events&&e.options.events[a])&&this.importEvents();"click"===a&&f.allowPointSelect&&(b=function(a){e.select&&e.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});k(this,a,c,b)},visible:!0}});L(I,"v7.1.2/js/parts/Series.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.animObject,C=a.arrayMax,k=a.arrayMin,g=a.correctFloat,
|
|
p=a.defaultOptions,v=a.defaultPlotOptions,t=a.defined,r=a.erase,f=a.extend,c=a.fireEvent,e=a.isArray,m=a.isNumber,b=a.isString,n=a.merge,l=a.objectEach,y=a.pick,D=a.removeEvent,N=a.splat,A=a.SVGElement,E=a.syncTimeout,u=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},
|
|
select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},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"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",cropShoulder:1,init:function(b,e){c(this,"init",{options:e});var d=this,g=b.series,m;d.chart=b;d.options=e=d.setOptions(e);d.linkedSeries=[];d.bindAxes();f(d,{name:e.name,state:"",visible:!1!==e.visible,selected:!0===e.selected});var h=
|
|
e.events;l(h,function(b,c){!a.isFunction(b)||d.hcEvents&&d.hcEvents[c]&&d.hcEvents[c].some(function(a){return a.fn===b})||B(d,c,b)});if(h&&h.click||e.point&&e.point.events&&e.point.events.click||e.allowPointSelect)b.runTrackerClick=!0;d.getColor();d.getSymbol();d.parallelArrays.forEach(function(a){d[a+"Data"]||(d[a+"Data"]=[])});d.points||d.setData(e.data,!1);d.isCartesian&&(b.hasCartesianSeries=!0);g.length&&(m=g[g.length-1]);d._i=y(m&&m._i,-1)+1;b.orderSeries(this.insert(g));c(this,"afterInit")},
|
|
insert:function(a){var b=this.options.index,d;if(m(b)){for(d=a.length;d--;)if(b>=y(a[d].options.index,a[d]._i)){a.splice(d+1,0,this);break}-1===d&&a.unshift(this);d+=1}else a.push(this);return y(d,a.length-1)},bindAxes:function(){var b=this,e=b.options,q=b.chart,f;c(this,"bindAxes",null,function(){(b.axisTypes||[]).forEach(function(d){q[d].forEach(function(a){f=a.options;if(e[d]===f.index||void 0!==e[d]&&e[d]===f.id||void 0===e[d]&&0===f.index)b.insert(a.series),b[d]=a,a.isDirty=!0});b[d]||b.optionalAxis===
|
|
d||a.error(18,!0,q)})})},updateParallelArrays:function(a,b){var d=a.series,c=arguments,e=m(b)?function(c){var e="y"===c&&d.toYData?d.toYData(a):a[c];d[c+"Data"][b]=e}:function(a){Array.prototype[b].apply(d[a+"Data"],Array.prototype.slice.call(c,2))};d.parallelArrays.forEach(e)},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,b=this.xIncrement,c,e=a.pointIntervalUnit,f=this.chart.time;
|
|
b=y(b,a.pointStart,0);this.pointInterval=c=y(this.pointInterval,a.pointInterval,1);e&&(a=new f.Date(b),"day"===e?f.set("Date",a,f.get("Date",a)+c):"month"===e?f.set("Month",a,f.get("Month",a)+c):"year"===e&&f.set("FullYear",a,f.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},setOptions:function(a){var b=this.chart,d=b.options,e=d.plotOptions,f=b.userOptions||{};a=n(a);b=b.styledMode;var h={plotOptions:e,userOptions:a};c(this,"setOptions",h);var g=f.plotOptions||{},m=h.plotOptions[this.type];
|
|
this.userOptions=h.userOptions;f=n(m,e.series,f.plotOptions&&f.plotOptions[this.type],a);this.tooltipOptions=n(p.tooltip,p.plotOptions.series&&p.plotOptions.series.tooltip,p.plotOptions[this.type].tooltip,d.tooltip.userOptions,e.series&&e.series.tooltip,e[this.type].tooltip,a.tooltip);this.stickyTracking=y(a.stickyTracking,g[this.type]&&g[this.type].stickyTracking,g.series&&g.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:f.stickyTracking);null===m.marker&&delete f.marker;
|
|
this.zoneAxis=f.zoneAxis;d=this.zones=(f.zones||[]).slice();!f.negativeColor&&!f.negativeFillColor||f.zones||(e={value:f[this.zoneAxis+"Threshold"]||f.threshold||0,className:"highcharts-negative"},b||(e.color=f.negativeColor,e.fillColor=f.negativeFillColor),d.push(e));d.length&&t(d[d.length-1].value)&&d.push(b?{}:{color:this.color,fillColor:this.fillColor});c(this,"afterSetOptions",{options:f});return f},getName:function(){return y(this.options.name,"Series "+(this.index+1))},getCyclic:function(a,
|
|
b,c){var d=this.chart,e=this.userOptions,h=a+"Index",f=a+"Counter",q=c?c.length:y(d.options.chart[a+"Count"],d[a+"Count"]);if(!b){var g=y(e[h],e["_"+h]);t(g)||(d.series.length||(d[f]=0),e["_"+h]=g=d[f]%q,d[f]+=1);c&&(b=c[g])}void 0!==g&&(this[h]=g);this[a]=b},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||v[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",
|
|
this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(a,b){var d=a.id,c=a.x,e=this.points,h;if(d){var f=(d=this.chart.get(d))&&d.index;void 0!==f&&(h=!0)}void 0===f&&m(c)&&(f=this.xData.indexOf(c,b));-1!==f&&void 0!==f&&this.cropped&&(f=f>=this.cropStart?f-this.cropStart:f);!h&&e[f]&&e[f].touched&&(f=void 0);return f},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var d=this.options,c=this.points,e=[],f,h,g,k=this.requireSorting,u=b.length===c.length,
|
|
n=!0;this.xIncrement=null;b.forEach(function(b,h){var q=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};var w=q.x;if(q.id||m(w))if(w=this.findPointIndex(q,g),-1===w||void 0===w?e.push(b):c[w]&&b!==d.data[w]?(c[w].update(b,!1,null,!1),c[w].touched=!0,k&&(g=w+1)):c[w]&&(c[w].touched=!0),!u||h!==w||this.hasDerivedData)f=!0},this);if(f)for(b=c.length;b--;)(h=c[b])&&!h.touched&&h.remove(!1);else u?b.forEach(function(a,b){c[b].update&&a!==c[b].y&&c[b].update(a,!1,null,
|
|
!1)}):n=!1;c.forEach(function(a){a&&(a.touched=!1)});if(!n)return!1;e.forEach(function(a){this.addPoint(a,!1,null,null,!1)},this);return!0},setData:function(d,c,f,g){var q=this,h=q.points,w=h&&h.length||0,u,k=q.options,n=q.chart,l=null,G=q.xAxis,r=k.turboThreshold,p=this.xData,A=this.yData,v=(u=q.pointArrayMap)&&u.length,t=k.keys,D=0,E=1,C;d=d||[];u=d.length;c=y(c,!0);!1!==g&&u&&w&&!q.cropped&&!q.hasGroupedData&&q.visible&&!q.isSeriesBoosting&&(C=this.updateData(d));if(!C){q.xIncrement=null;q.colorCounter=
|
|
0;this.parallelArrays.forEach(function(a){q[a+"Data"].length=0});if(r&&u>r){for(f=0;null===l&&f<u;)l=d[f],f++;if(m(l))for(f=0;f<u;f++)p[f]=this.autoIncrement(),A[f]=d[f];else if(e(l))if(v)for(f=0;f<u;f++)l=d[f],p[f]=l[0],A[f]=l.slice(1,v+1);else for(t&&(D=t.indexOf("x"),E=t.indexOf("y"),D=0<=D?D:0,E=0<=E?E:1),f=0;f<u;f++)l=d[f],p[f]=l[D],A[f]=l[E];else a.error(12,!1,n)}else for(f=0;f<u;f++)void 0!==d[f]&&(l={series:q},q.pointClass.prototype.applyOptions.apply(l,[d[f]]),q.updateParallelArrays(l,f));
|
|
A&&b(A[0])&&a.error(14,!0,n);q.data=[];q.options.data=q.userOptions.data=d;for(f=w;f--;)h[f]&&h[f].destroy&&h[f].destroy();G&&(G.minRange=G.userMinRange);q.isDirty=n.isDirtyBox=!0;q.isDirtyData=!!h;f=!1}"point"===k.legendType&&(this.processData(),this.generatePoints());c&&n.redraw(f)},processData:function(b){var d=this.xData,c=this.yData,e=d.length;var f=0;var h=this.xAxis,g=this.options;var m=g.cropThreshold;var u=this.getExtremesFromAll||g.getExtremesFromAll,k=this.isCartesian;g=h&&h.val2lin;var n=
|
|
h&&h.isLog,l=this.requireSorting;if(k&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!b)return!1;if(h){b=h.getExtremes();var r=b.min;var p=b.max}if(k&&this.sorted&&!u&&(!m||e>m||this.forceCrop))if(d[e-1]<r||d[0]>p)d=[],c=[];else if(this.yData&&(d[0]<r||d[e-1]>p)){f=this.cropData(this.xData,this.yData,r,p);d=f.xData;c=f.yData;f=f.start;var A=!0}for(m=d.length||1;--m;)if(e=n?g(d[m])-g(d[m-1]):d[m]-d[m-1],0<e&&(void 0===y||e<y))var y=e;else 0>e&&l&&(a.error(15,!1,this.chart),l=!1);this.cropped=A;this.cropStart=
|
|
f;this.processedXData=d;this.processedYData=c;this.closestPointRange=y},cropData:function(a,b,c,e,f){var d=a.length,q=0,g=d,m;f=y(f,this.cropShoulder);for(m=0;m<d;m++)if(a[m]>=c){q=Math.max(0,m-f);break}for(c=m;c<d;c++)if(a[c]>e){g=c+f;break}return{xData:a.slice(q,g),yData:b.slice(q,g),start:q,end:g}},generatePoints:function(){var a=this.options,b=a.data,e=this.data,g,m=this.processedXData,h=this.processedYData,u=this.pointClass,k=m.length,l=this.cropStart||0,n=this.hasGroupedData;a=a.keys;var r=
|
|
[],p;e||n||(e=[],e.length=b.length,e=this.data=e);a&&n&&(this.options.keys=!1);for(p=0;p<k;p++){var A=l+p;if(n){var y=(new u).init(this,[m[p]].concat(N(h[p])));y.dataGroup=this.groupMap[p];y.dataGroup.options&&(y.options=y.dataGroup.options,f(y,y.dataGroup.options),delete y.dataLabels)}else(y=e[A])||void 0===b[A]||(e[A]=y=(new u).init(this,b[A],m[p]));y&&(y.index=A,r[p]=y)}this.options.keys=a;if(e&&(k!==(g=e.length)||n))for(p=0;p<g;p++)p!==l||n||(p+=k),e[p]&&(e[p].destroyElements(),e[p].plotX=void 0);
|
|
this.data=e;this.points=r;c(this,"afterGeneratePoints")},getXExtremes:function(a){return{min:k(a),max:C(a)}},getExtremes:function(a){var b=this.yAxis,d=this.processedXData,f=[],g=0;var h=this.xAxis.getExtremes();var u=h.min,n=h.max,l=this.requireSorting?this.cropShoulder:0,r;a=a||this.stackedYData||this.processedYData||[];h=a.length;for(r=0;r<h;r++){var p=d[r];var A=a[r];var y=(m(A,!0)||e(A))&&(!b.positiveValuesOnly||A.length||0<A);p=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||
|
|
(d[r+l]||p)>=u&&(d[r-l]||p)<=n;if(y&&p)if(y=A.length)for(;y--;)"number"===typeof A[y]&&(f[g++]=A[y]);else f[g++]=A}this.dataMin=k(f);this.dataMax=C(f);c(this,"afterGetExtremes")},translate:function(){this.processedXData||this.processData();this.generatePoints();var a=this.options,b=a.stacking,f=this.xAxis,u=f.categories,k=this.yAxis,h=this.points,n=h.length,l=!!this.modifyValue,r,p=this.pointPlacementToXValue(),A=m(p),v=a.threshold,z=a.startFromThreshold?v:0,D,E=this.zoneAxis||"y",C=Number.MAX_VALUE;
|
|
for(r=0;r<n;r++){var B=h[r],N=B.x;var F=B.y;var I=B.low,L=b&&k.stacks[(this.negStacks&&F<(z?0:v)?"-":"")+this.stackKey];k.positiveValuesOnly&&null!==F&&0>=F&&(B.isNull=!0);B.plotX=D=g(Math.min(Math.max(-1E5,f.translate(N,0,0,0,1,p,"flags"===this.type)),1E5));if(b&&this.visible&&!B.isNull&&L&&L[N]){var V=this.getStackIndicator(V,N,this.index);var P=L[N];var W=P.points[V.key]}e(W)&&(I=W[0],F=W[1],I===z&&V.key===L[N].base&&(I=y(m(v)&&v,k.min)),k.positiveValuesOnly&&0>=I&&(I=null),B.total=B.stackTotal=
|
|
P.total,B.percentage=P.total&&B.y/P.total*100,B.stackY=F,P.setOffset(this.pointXOffset||0,this.barW||0));B.yBottom=t(I)?Math.min(Math.max(-1E5,k.translate(I,0,1,0,1)),1E5):null;l&&(F=this.modifyValue(F,B));B.plotY=F="number"===typeof F&&Infinity!==F?Math.min(Math.max(-1E5,k.translate(F,0,1,0,1)),1E5):void 0;B.isInside=void 0!==F&&0<=F&&F<=k.len&&0<=D&&D<=f.len;B.clientX=A?g(f.translate(N,0,0,0,1,p)):D;B.negative=B[E]<(a[E+"Threshold"]||v||0);B.category=u&&void 0!==u[B.x]?u[B.x]:B.x;if(!B.isNull){void 0!==
|
|
X&&(C=Math.min(C,Math.abs(D-X)));var X=D}B.zone=this.zones.length&&B.getZone()}this.closestPointRangePx=C;c(this,"afterTranslate")},getValidPoints:function(a,b,c){var d=this.chart;return(a||this.points||[]).filter(function(a){return b&&!d.isInsidePlot(a.plotX,a.plotY,d.inverted)?!1:c||!a.isNull})},getClipBox:function(a,b){var d=this.options,c=this.chart,e=c.inverted,h=this.xAxis,f=h&&this.yAxis;a&&!1===d.clip&&f?d=e?{y:-c.chartWidth+f.len+f.pos,height:c.chartWidth,width:c.chartHeight,x:-c.chartHeight+
|
|
h.len+h.pos}:{y:-f.pos,height:c.chartHeight,width:c.chartWidth,x:-h.pos}:(d=this.clipBox||c.clipBox,b&&(d.width=c.plotSizeX,d.x=0));return b?{width:d.width,x:d.x}:d},setClip:function(a){var b=this.chart,d=this.options,c=b.renderer,e=b.inverted,h=this.clipBox,f=this.getClipBox(a),g=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,f.height,d.xAxis,d.yAxis].join(),m=b[g],u=b[g+"m"];m||(a&&(f.width=0,e&&(f.x=b.plotSizeX+(!1!==d.clip?0:b.plotTop)),b[g+"m"]=u=c.clipRect(e?b.plotSizeX+99:-99,
|
|
e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[g]=m=c.clipRect(f),m.count={length:0});a&&!m.count[this.index]&&(m.count[this.index]=!0,m.count.length+=1);if(!1!==d.clip||a)this.group.clip(a||h?m:b.clipRect),this.markerGroup.clip(u),this.sharedClipKey=g;a||(m.count[this.index]&&(delete m.count[this.index],--m.count.length),0===m.count.length&&g&&b[g]&&(h||(b[g]=b[g].destroy()),b[g+"m"]&&(b[g+"m"]=b[g+"m"].destroy())))},animate:function(a){var b=this.chart,d=F(this.options.animation);
|
|
if(a)this.setClip(d);else{var c=this.sharedClipKey;a=b[c];var e=this.getClipBox(d,!0);a&&a.animate(e,d);b[c+"m"]&&b[c+"m"].animate({width:e.width+99,x:e.x-(b.inverted?0:99)},d);this.animate=null}},afterAnimate:function(){this.setClip();c(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,e=this.options.marker,f=this[this.specialGroup]||this.markerGroup;var h=this.xAxis;var g=y(e.enabled,!h||h.isRadial?!0:null,this.closestPointRangePx>=e.enabledThreshold*
|
|
e.radius);if(!1!==e.enabled||this._hasPointMarkers)for(h=0;h<a.length;h++){var m=a[h];var u=(c=m.graphic)?"animate":"attr";var k=m.marker||{};var n=!!m.marker;var l=g&&void 0===k.enabled||k.enabled;var r=!1!==m.isInside;if(l&&!m.isNull){l=y(k.symbol,this.symbol);var p=this.markerAttribs(m,m.selected&&"select");c?c[r?"show":"hide"](!0).animate(p):r&&(0<p.width||m.hasImage)&&(m.graphic=c=b.renderer.symbol(l,p.x,p.y,p.width,p.height,n?k:e).add(f));if(c&&!b.styledMode)c[u](this.pointAttribs(m,m.selected&&
|
|
"select"));c&&c.addClass(m.getClassName(),!0)}else c&&(m.graphic=c.destroy())}},markerAttribs:function(a,b){var d=this.options.marker,c=a.marker||{},e=c.symbol||d.symbol,h=y(c.radius,d.radius);b&&(d=d.states[b],c=c.states&&c.states[b],h=y(c&&c.radius,d&&d.radius,h+(d&&d.radiusPlus||0)));a.hasImage=e&&0===e.indexOf("url");a.hasImage&&(h=0);e={x:Math.floor(a.plotX)-h,y:a.plotY-h};h&&(e.width=e.height=2*h);return e},pointAttribs:function(a,b){var d=this.options.marker,c=a&&a.options,e=c&&c.marker||{},
|
|
h=this.color,f=c&&c.color,g=a&&a.color;c=y(e.lineWidth,d.lineWidth);var m=a&&a.zone&&a.zone.color,u=1;h=f||m||g||h;f=e.fillColor||d.fillColor||h;h=e.lineColor||d.lineColor||h;b=b||"normal";d=d.states[b];e=e.states&&e.states[b]||{};c=y(e.lineWidth,d.lineWidth,c+y(e.lineWidthPlus,d.lineWidthPlus,0));f=e.fillColor||d.fillColor||f;h=e.lineColor||d.lineColor||h;u=y(e.opacity,d.opacity,u);return{stroke:h,"stroke-width":c,fill:f,opacity:u}},destroy:function(b){var d=this,e=d.chart,f=/AppleWebKit\/533/.test(u.navigator.userAgent),
|
|
g,h,m=d.data||[],k,n;c(d,"destroy");b||D(d);(d.axisTypes||[]).forEach(function(a){(n=d[a])&&n.series&&(r(n.series,d),n.isDirty=n.forceRedraw=!0)});d.legendItem&&d.chart.legend.destroyItem(d);for(h=m.length;h--;)(k=m[h])&&k.destroy&&k.destroy();d.points=null;a.clearTimeout(d.animationTimeout);l(d,function(a,b){a instanceof A&&!a.survive&&(g=f&&"group"===b?"hide":"destroy",a[g]())});e.hoverSeries===d&&(e.hoverSeries=null);r(e.series,d);e.orderSeries();l(d,function(a,c){b&&"hcEvents"===c||delete d[c]})},
|
|
getGraphPath:function(a,b,c){var d=this,e=d.options,h=e.step,f,g=[],q=[],m;a=a||d.points;(f=a.reversed)&&a.reverse();(h={right:1,center:2}[h]||h&&3)&&f&&(h=4-h);!e.connectNulls||b||c||(a=this.getValidPoints(a));a.forEach(function(f,u){var k=f.plotX,n=f.plotY,l=a[u-1];(f.leftCliff||l&&l.rightCliff)&&!c&&(m=!0);f.isNull&&!t(b)&&0<u?m=!e.connectNulls:f.isNull&&!b?m=!0:(0===u||m?l=["M",f.plotX,f.plotY]:d.getPointSpline?l=d.getPointSpline(a,f,u):h?(l=1===h?["L",l.plotX,n]:2===h?["L",(l.plotX+k)/2,l.plotY,
|
|
"L",(l.plotX+k)/2,n]:["L",k,l.plotY],l.push("L",k,n)):l=["L",k,n],q.push(f.x),h&&(q.push(f.x),2===h&&q.push(f.x)),g.push.apply(g,l),m=!1)});g.xMap=q;return d.graphPath=g},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),e=this.chart.styledMode,f=[["graph","highcharts-graph"]];e||f[0].push(b.lineColor||this.color||"#cccccc",b.dashStyle);f=a.getZonesGraphs(f);f.forEach(function(d,f){var h=d[0],g=a[h],q=g?"animate":"attr";g?(g.endX=a.preventGraphAnimation?
|
|
null:c.xMap,g.animate({d:c})):c.length&&(a[h]=g=a.chart.renderer.path(c).addClass(d[1]).attr({zIndex:1}).add(a.group));g&&!e&&(h={stroke:d[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},d[3]?h.dashstyle=d[3]:"square"!==b.linecap&&(h["stroke-linecap"]=h["stroke-linejoin"]="round"),g[q](h).shadow(2>f&&b.shadow));g&&(g.startX=c.xMap,g.isArea=c.isArea)})},getZonesGraphs:function(a){this.zones.forEach(function(b,d){var c=["zone-graph-"+d,"highcharts-graph highcharts-zone-graph-"+d+" "+
|
|
(b.className||"")];this.chart.styledMode||c.push(b.color||this.color,b.dashStyle||this.options.dashStyle);a.push(c)},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,e=this.zones,f,h,g=this.clips||[],m,u=this.graph,k=this.area,l=Math.max(b.chartWidth,b.chartHeight),n=this[(this.zoneAxis||"y")+"Axis"],r=b.inverted,p,A,v,t=!1;if(e.length&&(u||k)&&n&&void 0!==n.min){var D=n.reversed;var E=n.horiz;u&&!this.showLine&&u.hide();k&&k.hide();var B=n.getExtremes();e.forEach(function(d,
|
|
e){f=D?E?b.plotWidth:0:E?0:n.toPixels(B.min)||0;f=Math.min(Math.max(y(h,f),0),l);h=Math.min(Math.max(Math.round(n.toPixels(y(d.value,B.max),!0)||0),0),l);t&&(f=h=n.toPixels(B.max));p=Math.abs(f-h);A=Math.min(f,h);v=Math.max(f,h);n.isXAxis?(m={x:r?v:A,y:0,width:p,height:l},E||(m.x=b.plotHeight-m.x)):(m={x:0,y:r?v:A,width:l,height:p},E&&(m.y=b.plotWidth-m.y));r&&c.isVML&&(m=n.isXAxis?{x:0,y:D?A:v,height:m.width,width:b.chartWidth}:{x:m.y-b.plotLeft-b.spacingBox.x,y:0,width:m.height,height:b.chartHeight});
|
|
g[e]?g[e].animate(m):g[e]=c.clipRect(m);u&&a["zone-graph-"+e].clip(g[e]);k&&a["zone-area-"+e].clip(g[e]);t=d.value>B.max;a.resetZones&&0===h&&(h=void 0)});this.clips=g}else a.visible&&(u&&u.show(!0),k&&k.show(!0))},invertGroups:function(a){function b(){["group","markerGroup"].forEach(function(b){d[b]&&(c.renderer.isVML&&d[b].attr({width:d.yAxis.len,height:d.xAxis.len}),d[b].width=d.yAxis.len,d[b].height=d.xAxis.len,d[b].invert(a))})}var d=this,c=d.chart;if(d.xAxis){var e=B(c,"resize",b);B(d,"destroy",
|
|
e);b(a);d.invertGroups=b}},plotGroup:function(a,b,c,e,f){var d=this[a],g=!d;g&&(this[a]=d=this.chart.renderer.g().attr({zIndex:e||.1}).add(f));d.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(t(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(d.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);d.attr({visibility:c})[g?"attr":"animate"](this.getPlotBox());return d},getPlotBox:function(){var a=this.chart,
|
|
b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,e=a.options,f=!!a.animate&&b.renderer.isSVG&&F(e.animation).duration,g=a.visible?"inherit":"hidden",h=e.zIndex,m=a.hasRendered,u=b.seriesGroup,k=b.inverted;c(this,"render");var n=a.plotGroup("group","series",g,h,u);a.markerGroup=a.plotGroup("markerGroup","markers",g,h,u);f&&a.animate(!0);n.inverted=a.isCartesian||a.invertable?
|
|
k:!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(k);!1===e.clip||a.sharedClipKey||m||n.clip(b.clipRect);f&&a.animate();m||(a.animationTimeout=E(function(){a.afterAnimate()},f));a.isDirty=!1;a.hasRendered=!0;c(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,e=this.xAxis,f=
|
|
this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:y(e&&e.left,a.plotLeft),translateY:y(f&&f.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var d=this.xAxis,c=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?d.len-a.chartY+d.pos:a.chartX-d.pos,plotY:e?c.len-a.chartX+c.pos:a.chartY-c.pos},b,a)},buildKDTree:function(a){function b(a,d,e){var f;if(f=a&&a.length){var h=
|
|
c.kdAxisArray[d%e];a.sort(function(a,b){return a[h]-b[h]});f=Math.floor(f/2);return{point:a[f],left:b(a.slice(0,f),d+1,e),right:b(a.slice(f+1),d+1,e)}}}this.buildingKdTree=!0;var c=this,d=-1<c.options.findNearestPointBy.indexOf("y")?2:1;delete c.kdTree;E(function(){c.kdTree=b(c.getValidPoints(null,!c.directTouch),d,d);c.buildingKdTree=!1},c.options.kdNow||a&&"touchstart"===a.type?0:1)},searchKDTree:function(a,b,c){function d(a,b,c,h){var q=b.point,u=e.kdAxisArray[c%h],k=q;var n=t(a[f])&&t(q[f])?Math.pow(a[f]-
|
|
q[f],2):null;var l=t(a[g])&&t(q[g])?Math.pow(a[g]-q[g],2):null;l=(n||0)+(l||0);q.dist=t(l)?Math.sqrt(l):Number.MAX_VALUE;q.distX=t(n)?Math.sqrt(n):Number.MAX_VALUE;u=a[u]-q[u];l=0>u?"left":"right";n=0>u?"right":"left";b[l]&&(l=d(a,b[l],c+1,h),k=l[m]<k[m]?l:q);b[n]&&Math.sqrt(u*u)<k[m]&&(a=d(a,b[n],c+1,h),k=a[m]<k[m]?a:k);return k}var e=this,f=this.kdAxisArray[0],g=this.kdAxisArray[1],m=b?"distX":"dist";b=-1<e.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree(c);
|
|
if(this.kdTree)return d(a,this.kdTree,b,b)},pointPlacementToXValue:function(){var a=this.options.pointPlacement;"between"===a&&(a=.5);m(a)&&(a*=y(this.options.pointRange||this.xAxis.pointRange));return a}})});L(I,"v7.1.2/js/parts/Stacking.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.Axis,F=a.Chart,C=a.correctFloat,k=a.defined,g=a.destroyObjectProperties,p=a.format,v=a.objectEach,t=a.pick,r=a.Series;a.StackItem=function(a,c,e,g,b){var f=a.chart.inverted;this.axis=a;this.isNegative=e;this.options=
|
|
c;this.x=g;this.total=null;this.points={};this.stack=b;this.rightCliff=this.leftCliff=0;this.alignOptions={align:c.align||(f?e?"left":"right":"center"),verticalAlign:c.verticalAlign||(f?"middle":e?"bottom":"top"),y:t(c.y,f?4:e?14:-6),x:t(c.x,f?e?-6:6:0)};this.textAlign=c.textAlign||(f?e?"right":"left":"center")};a.StackItem.prototype={destroy:function(){g(this,this.axis)},render:function(a){var c=this.axis.chart,e=this.options,f=e.format;f=f?p(f,this,c.time):e.formatter.call(this);this.label?this.label.attr({text:f,
|
|
visibility:"hidden"}):this.label=c.renderer.text(f,null,null,e.useHTML).css(e.style).attr({align:this.textAlign,rotation:e.rotation,visibility:"hidden"}).add(a);this.label.labelrank=c.plotHeight},setOffset:function(a,c,e,g){var b=this.axis,f=b.chart;g=b.translate(b.usePercentage?100:g?g:this.total,0,0,0,1);e=b.translate(e?e:0);e=k(g)&&Math.abs(g-e);a=f.xAxis[0].translate(this.x)+a;b=k(g)&&this.getStackBox(f,this,a,g,c,e,b);(c=this.label)&&b&&(c.align(this.alignOptions,null,b),b=c.alignAttr,c[!1===
|
|
this.options.crop||f.isInsidePlot(b.x,b.y)?"show":"hide"](!0))},getStackBox:function(a,c,e,g,b,k,l){var f=c.axis.reversed,m=a.inverted;a=l.height+l.pos-(m?a.plotLeft:a.plotTop);c=c.isNegative&&!f||!c.isNegative&&f;return{x:m?c?g:g-k:e,y:m?a-e-b:c?a-g-k:a-g,width:m?k:b,height:m?b:k}}};F.prototype.getStacks=function(){var a=this;a.yAxis.forEach(function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)});a.series.forEach(function(c){!c.options.stacking||!0!==c.visible&&!1!==a.options.chart.ignoreHiddenSeries||
|
|
(c.stackKey=c.type+t(c.options.stack,""))})};B.prototype.buildStacks=function(){var a=this.series,c=t(this.options.reversedStacks,!0),e=a.length,g;if(!this.isXAxis){this.usePercentage=!1;for(g=e;g--;)a[c?g:e-g-1].setStackedPoints();for(g=0;g<e;g++)a[g].modifyStacks()}};B.prototype.renderStackTotals=function(){var a=this.chart,c=a.renderer,e=this.stacks,g=this.stackTotalGroup;g||(this.stackTotalGroup=g=c.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());g.translate(a.plotLeft,a.plotTop);
|
|
v(e,function(a){v(a,function(a){a.render(g)})})};B.prototype.resetStacks=function(){var a=this,c=a.stacks;a.isXAxis||v(c,function(c){v(c,function(e,b){e.touched<a.stacksTouched?(e.destroy(),delete c[b]):(e.total=null,e.cumulative=null)})})};B.prototype.cleanStacks=function(){if(!this.isXAxis){if(this.oldStacks)var a=this.stacks=this.oldStacks;v(a,function(a){v(a,function(a){a.cumulative=a.total})})}};r.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var f=
|
|
this.processedXData,c=this.processedYData,e=[],g=c.length,b=this.options,n=b.threshold,l=t(b.startFromThreshold&&n,0),r=b.stack;b=b.stacking;var p=this.stackKey,v="-"+p,A=this.negStacks,E=this.yAxis,u=E.stacks,d=E.oldStacks,w,q;E.stacksTouched+=1;for(q=0;q<g;q++){var G=f[q];var H=c[q];var h=this.getStackIndicator(h,G,this.index);var x=h.key;var J=(w=A&&H<(l?0:n))?v:p;u[J]||(u[J]={});u[J][G]||(d[J]&&d[J][G]?(u[J][G]=d[J][G],u[J][G].total=null):u[J][G]=new a.StackItem(E,E.options.stackLabels,w,G,r));
|
|
J=u[J][G];null!==H?(J.points[x]=J.points[this.index]=[t(J.cumulative,l)],k(J.cumulative)||(J.base=x),J.touched=E.stacksTouched,0<h.index&&!1===this.singleStacks&&(J.points[x][0]=J.points[this.index+","+G+",0"][0])):J.points[x]=J.points[this.index]=null;"percent"===b?(w=w?p:v,A&&u[w]&&u[w][G]?(w=u[w][G],J.total=w.total=Math.max(w.total,J.total)+Math.abs(H)||0):J.total=C(J.total+(Math.abs(H)||0))):J.total=C(J.total+(H||0));J.cumulative=t(J.cumulative,l)+(H||0);null!==H&&(J.points[x].push(J.cumulative),
|
|
e[q]=J.cumulative)}"percent"===b&&(E.usePercentage=!0);this.stackedYData=e;E.oldStacks={}}};r.prototype.modifyStacks=function(){var a=this,c=a.stackKey,e=a.yAxis.stacks,g=a.processedXData,b,k=a.options.stacking;a[k+"Stacker"]&&[c,"-"+c].forEach(function(c){for(var f=g.length,m,l;f--;)if(m=g[f],b=a.getStackIndicator(b,m,a.index,c),l=(m=e[c]&&e[c][m])&&m.points[b.key])a[k+"Stacker"](l,m,f)})};r.prototype.percentStacker=function(a,c,e){c=c.total?100/c.total:0;a[0]=C(a[0]*c);a[1]=C(a[1]*c);this.stackedYData[e]=
|
|
a[1]};r.prototype.getStackIndicator=function(a,c,e,g){!k(a)||a.x!==c||g&&a.key!==g?a={x:c,index:0,key:g}:a.index++;a.key=[e,c,a.index].join();return a}});L(I,"v7.1.2/js/parts/Dynamics.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.animate,C=a.Axis,k=a.Chart,g=a.createElement,p=a.css,v=a.defined,t=a.erase,r=a.extend,f=a.fireEvent,c=a.isNumber,e=a.isObject,m=a.isArray,b=a.merge,n=a.objectEach,l=a.pick,y=a.Point,D=a.Series,N=a.seriesTypes,A=a.setAnimation,E=a.splat;a.cleanRecursively=
|
|
function(b,c){var d={};n(b,function(f,g){if(e(b[g],!0)&&!b.nodeType&&c[g]){var m=a.cleanRecursively(b[g],c[g]);Object.keys(m).length&&(d[g]=m)}else if(e(b[g])||b[g]!==c[g])d[g]=b[g]});return d};r(k.prototype,{addSeries:function(a,b,c){var d,e=this;a&&(b=l(b,!0),f(e,"addSeries",{options:a},function(){d=e.initSeries(a);e.isDirtyLegend=!0;e.linkSeries();f(e,"afterAddSeries",{series:d});b&&e.redraw(c)}));return d},addAxis:function(a,c,e,f){var d=c?"xAxis":"yAxis",g=this.options;a=b(a,{index:this[d].length,
|
|
isX:c});c=new C(this,a);g[d]=E(g[d]||{});g[d].push(a);l(e,!0)&&this.redraw(f);return c},showLoading:function(a){var b=this,c=b.options,e=b.loadingDiv,f=c.loading,m=function(){e&&p(e,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};e||(b.loadingDiv=e=g("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=g("span",{className:"highcharts-loading-inner"},null,e),B(b,"redraw",m));e.className="highcharts-loading";b.loadingSpan.innerHTML=
|
|
a||c.lang.loading;b.styledMode||(p(e,r(f.style,{zIndex:10})),p(b.loadingSpan,f.labelStyle),b.loadingShown||(p(e,{opacity:0,display:""}),F(e,{opacity:f.style.opacity||.5},{duration:f.showDuration||0})));b.loadingShown=!0;m()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",this.styledMode||F(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){p(b,{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(e,d,g,m){var k=this,q={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},h,u,w,r=[];f(k,"update",{options:e});e.isResponsiveOptions||
|
|
k.setResponsive(!1,!0);e=a.cleanRecursively(e,k.options);b(!0,k.userOptions,e);if(h=e.chart){b(!0,k.options.chart,h);"className"in h&&k.setClassName(h.className);"reflow"in h&&k.setReflow(h.reflow);if("inverted"in h||"polar"in h||"type"in h){k.propFromSeries();var p=!0}"alignTicks"in h&&(p=!0);n(h,function(a,b){-1!==k.propsRequireUpdateSeries.indexOf("chart."+b)&&(u=!0);-1!==k.propsRequireDirtyBox.indexOf(b)&&(k.isDirtyBox=!0);-1!==k.propsRequireReflow.indexOf(b)&&(w=!0)});!k.styledMode&&"style"in
|
|
h&&k.renderer.setStyle(h.style)}!k.styledMode&&e.colors&&(this.options.colors=e.colors);e.plotOptions&&b(!0,this.options.plotOptions,e.plotOptions);e.time&&this.time===a.time&&(this.time=new a.Time(e.time));n(e,function(a,b){if(k[b]&&"function"===typeof k[b].update)k[b].update(a,!1);else if("function"===typeof k[q[b]])k[q[b]](a);"chart"!==b&&-1!==k.propsRequireUpdateSeries.indexOf(b)&&(u=!0)});this.collectionsWithUpdate.forEach(function(a){if(e[a]){if("series"===a){var b=[];k[a].forEach(function(a,
|
|
c){a.options.isInternal||b.push(l(a.options.index,c))})}E(e[a]).forEach(function(c,d){var e=v(c.id)&&k.get(c.id)||k[a][b?b[d]:d];e&&e.coll===a&&(e.update(c,!1),g&&(e.touched=!0));!e&&g&&k.collectionsWithInit[a]&&(k.collectionsWithInit[a][0].apply(k,[c].concat(k.collectionsWithInit[a][1]||[]).concat([!1])).touched=!0)});g&&k[a].forEach(function(a){a.touched||a.options.isInternal?delete a.touched:r.push(a)})}});r.forEach(function(a){a.remove&&a.remove(!1)});p&&k.axes.forEach(function(a){a.update({},
|
|
!1)});u&&k.series.forEach(function(a){a.update({},!1)});e.loading&&b(!0,k.options.loading,e.loading);p=h&&h.width;h=h&&h.height;a.isString(h)&&(h=a.relativeLength(h,p||k.chartWidth));w||c(p)&&p!==k.chartWidth||c(h)&&h!==k.chartHeight?k.setSize(p,h,m):l(d,!0)&&k.redraw(m);f(k,"afterUpdate",{options:e,redraw:d,animation:m})},setSubtitle:function(a){this.setTitle(void 0,a)}});k.prototype.collectionsWithInit={xAxis:[k.prototype.addAxis,[!0]],yAxis:[k.prototype.addAxis,[!1]],series:[k.prototype.addSeries]};
|
|
r(y.prototype,{update:function(a,b,c,f){function d(){g.applyOptions(a);null===g.y&&m&&(g.graphic=m.destroy());e(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()));k=g.index;h.updateParallelArrays(g,k);u.data[k]=e(u.data[k],!0)||e(a,!0)?g.options:l(a,u.data[k]);h.isDirty=h.isDirtyData=!0;!h.fixedBox&&h.hasCartesianSeries&&(q.isDirtyBox=!0);"point"===
|
|
u.legendType&&(q.isDirtyLegend=!0);b&&q.redraw(c)}var g=this,h=g.series,m=g.graphic,k,q=h.chart,u=h.options;b=l(b,!0);!1===f?d():g.firePointEvent("update",{options:a},d)},remove:function(a,b){this.series.removePoint(this.series.data.indexOf(this),a,b)}});r(D.prototype,{addPoint:function(a,b,c,e,g){var d=this.options,h=this.data,m=this.chart,k=this.xAxis;k=k&&k.hasNames&&k.names;var q=d.data,u=this.xData,n;b=l(b,!0);var w={series:this};this.pointClass.prototype.applyOptions.apply(w,[a]);var r=w.x;
|
|
var p=u.length;if(this.requireSorting&&r<u[p-1])for(n=!0;p&&u[p-1]>r;)p--;this.updateParallelArrays(w,"splice",p,0,0);this.updateParallelArrays(w,p);k&&w.name&&(k[r]=w.name);q.splice(p,0,a);n&&(this.data.splice(p,0,null),this.processData());"point"===d.legendType&&this.generatePoints();c&&(h[0]&&h[0].remove?h[0].remove(!1):(h.shift(),this.updateParallelArrays(w,"shift"),q.shift()));!1!==g&&f(this,"addPoint",{point:w});this.isDirtyData=this.isDirty=!0;b&&m.redraw(e)},removePoint:function(a,b,c){var d=
|
|
this,e=d.data,f=e[a],h=d.points,g=d.chart,m=function(){h&&h.length===e.length&&h.splice(a,1);e.splice(a,1);d.options.data.splice(a,1);d.updateParallelArrays(f||{series:d},"splice",a,1);f&&f.destroy();d.isDirty=!0;d.isDirtyData=!0;b&&g.redraw()};A(c,g);b=l(b,!0);f?f.firePointEvent("remove",null,m):m()},remove:function(a,b,c,e){function d(){g.destroy(e);g.remove=null;h.isDirtyLegend=h.isDirtyBox=!0;h.linkSeries();l(a,!0)&&h.redraw(b)}var g=this,h=g.chart;!1!==c?f(g,"remove",null,d):d()},update:function(c,
|
|
d){c=a.cleanRecursively(c,this.userOptions);f(this,"update",{options:c});var e=this,g=e.chart,m=e.userOptions,k=e.initialType||e.type,h=c.type||m.type||g.options.chart.type,n=!(this.hasDerivedData||c.dataGrouping||h&&h!==this.type||void 0!==c.pointStart||c.pointInterval||c.pointIntervalUnit||c.keys),u=N[k].prototype,p,A=["group","markerGroup","dataLabelsGroup","transformGroup"],y=["navigatorSeries","baseSeries"],v=e.finishedAnimating&&{animation:!1},t={};n&&(y.push("data","isDirtyData","points","processedXData",
|
|
"processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==c.visible&&y.push("area","graph"),e.parallelArrays.forEach(function(a){y.push(a+"Data")}),c.data&&this.setData(c.data,!1));c=b(m,v,{index:void 0===m.index?e.index:m.index,pointStart:l(m.pointStart,e.xData[0])},!n&&{data:e.options.data},c);y=A.concat(y);y.forEach(function(a){y[a]=e[a];delete e[a]});e.remove(!1,null,!1,!0);for(p in u)e[p]=void 0;N[h||k]?r(e,N[h||k].prototype):a.error(17,
|
|
!0,g);y.forEach(function(a){e[a]=y[a]});e.init(g,c);if(n&&this.points){var D=e.options;!1===D.visible?(t.graphic=1,t.dataLabel=1):(D.marker&&!1===D.marker.enabled&&!e._hasPointMarkers&&(t.graphic=1),D.dataLabels&&!1===D.dataLabels.enabled&&!e._hasPointLabels&&(t.dataLabel=1));this.points.forEach(function(a){a&&a.series&&(a.resolveColor(),Object.keys(t).length&&a.destroyElements(t),!1===D.showInLegend&&a.legendItem&&g.legend.destroyItem(a))},this)}c.zIndex!==m.zIndex&&A.forEach(function(a){e[a]&&e[a].attr({zIndex:c.zIndex})});
|
|
e.initialType=k;g.linkSeries();f(this,"afterUpdate");l(d,!0)&&g.redraw(n?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});r(C.prototype,{update:function(a,c){var d=this.chart,e=a&&a.events||{};a=b(this.userOptions,a);d.options[this.coll].indexOf&&(d.options[this.coll][d.options[this.coll].indexOf(this.userOptions)]=a);n(d.options[this.coll].events,function(a,b){"undefined"===typeof e[b]&&(e[b]=void 0)});this.destroy(!0);this.init(d,
|
|
r(a,{events:e}));d.isDirtyBox=!0;l(c,!0)&&d.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,e=this.series,f=e.length;f--;)e[f]&&e[f].remove(!1);t(b.axes,this);t(b[c],this);m(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];b[c].forEach(function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;l(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})});L(I,"v7.1.2/js/parts/AreaSeries.js",
|
|
[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.color,F=a.pick,C=a.Series,k=a.seriesType;k("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(g){var k=[],v=[],t=this.xAxis,r=this.yAxis,f=r.stacks[this.stackKey],c={},e=this.index,m=r.series,b=m.length,n=F(r.options.reversedStacks,!0)?1:-1,l;g=g||this.points;if(this.options.stacking){for(l=0;l<g.length;l++)g[l].leftNull=g[l].rightNull=null,c[g[l].x]=g[l];a.objectEach(f,function(a,b){null!==a.total&&v.push(b)});
|
|
v.sort(function(a,b){return a-b});var y=m.map(function(a){return a.visible});v.forEach(function(a,g){var m=0,p,u;if(c[a]&&!c[a].isNull)k.push(c[a]),[-1,1].forEach(function(d){var m=1===d?"rightNull":"leftNull",k=0,r=f[v[g+d]];if(r)for(l=e;0<=l&&l<b;)p=r.points[l],p||(l===e?c[a][m]=!0:y[l]&&(u=f[a].points[l])&&(k-=u[1]-u[0])),l+=n;c[a][1===d?"rightCliff":"leftCliff"]=k});else{for(l=e;0<=l&&l<b;){if(p=f[a].points[l]){m=p[1];break}l+=n}m=r.translate(m,0,1,0,1);k.push({isNull:!0,plotX:t.translate(a,0,
|
|
0,0,1),x:a,plotY:m,yBottom:m})}})}return k},getGraphPath:function(g){var k=C.prototype.getGraphPath,v=this.options,t=v.stacking,r=this.yAxis,f,c=[],e=[],m=this.index,b=r.stacks[this.stackKey],n=v.threshold,l=r.getThreshold(v.threshold);v=a.pick(v.connectNulls,"percent"===t);var y=function(a,f,d){var k=g[a];a=t&&b[k.x].points[m];var q=k[d+"Null"]||0;d=k[d+"Cliff"]||0;k=!0;if(d||q){var u=(q?a[0]:a[1])+d;var p=a[0]+d;k=!!q}else!t&&g[f]&&g[f].isNull&&(u=p=n);void 0!==u&&(e.push({plotX:B,plotY:null===
|
|
u?l:r.getThreshold(u),isNull:k,isCliff:!0}),c.push({plotX:B,plotY:null===p?l:r.getThreshold(p),doCurve:!1}))};g=g||this.points;t&&(g=this.getStackPoints(g));for(f=0;f<g.length;f++){var D=g[f].isNull;var B=F(g[f].rectPlotX,g[f].plotX);var A=F(g[f].yBottom,l);if(!D||v)v||y(f,f-1,"left"),D&&!t&&v||(e.push(g[f]),c.push({x:f,plotX:B,plotY:A})),v||y(f,f+1,"right")}f=k.call(this,e,!0,!0);c.reversed=!0;D=k.call(this,c,!0,!0);D.length&&(D[0]="L");D=f.concat(D);k=k.call(this,e,!1,v);D.xMap=f.xMap;this.areaPath=
|
|
D;return k},drawGraph:function(){this.areaPath=[];C.prototype.drawGraph.apply(this);var a=this,k=this.areaPath,v=this.options,t=[["area","highcharts-area",this.color,v.fillColor]];this.zones.forEach(function(g,f){t.push(["zone-area-"+f,"highcharts-area highcharts-zone-area-"+f+" "+g.className,g.color||a.color,g.fillColor||v.fillColor])});t.forEach(function(g){var f=g[0],c=a[f],e=c?"animate":"attr",m={};c?(c.endX=a.preventGraphAnimation?null:k.xMap,c.animate({d:k})):(m.zIndex=0,c=a[f]=a.chart.renderer.path(k).addClass(g[1]).add(a.group),
|
|
c.isArea=!0);a.chart.styledMode||(m.fill=F(g[3],B(g[2]).setOpacity(F(v.fillOpacity,.75)).get()));c[e](m);c.startX=k.xMap;c.shiftUnit=v.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});L(I,"v7.1.2/js/parts/SplineSeries.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,C,k){var g=C.plotX,p=C.plotY,v=a[k-1];k=a[k+1];if(v&&!v.isNull&&!1!==v.doCurve&&!C.isCliff&&k&&!k.isNull&&!1!==k.doCurve&&!C.isCliff){a=v.plotY;
|
|
var t=k.plotX;k=k.plotY;var r=0;var f=(1.5*g+v.plotX)/2.5;var c=(1.5*p+a)/2.5;t=(1.5*g+t)/2.5;var e=(1.5*p+k)/2.5;t!==f&&(r=(e-c)*(t-g)/(t-f)+p-e);c+=r;e+=r;c>a&&c>p?(c=Math.max(a,p),e=2*p-c):c<a&&c<p&&(c=Math.min(a,p),e=2*p-c);e>k&&e>p?(e=Math.max(k,p),c=2*p-e):e<k&&e<p&&(e=Math.min(k,p),c=2*p-e);C.rightContX=t;C.rightContY=e}C=["C",B(v.rightContX,v.plotX),B(v.rightContY,v.plotY),B(f,g),B(c,p),g,p];v.rightContX=v.rightContY=null;return C}})});L(I,"v7.1.2/js/parts/AreaSplineSeries.js",[I["v7.1.2/js/parts/Globals.js"]],
|
|
function(a){var B=a.seriesTypes.area.prototype,F=a.seriesType;F("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:B.getStackPoints,getGraphPath:B.getGraphPath,drawGraph:B.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})});L(I,"v7.1.2/js/parts/ColumnSeries.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.animObject,F=a.color,C=a.extend,k=a.defined,g=a.isNumber,p=a.merge,v=a.pick,t=a.Series,r=a.seriesType,f=a.svg;r("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(){t.prototype.init.apply(this,arguments);var a=this,e=a.chart;e.hasRendered&&
|
|
e.series.forEach(function(c){c.type===a.type&&(c.isDirty=!0)})},getColumnMetrics:function(){var a=this,e=a.options,f=a.xAxis,b=a.yAxis,g=f.options.reversedStacks;g=f.reversed&&!g||!f.reversed&&g;var k,p={},r=0;!1===e.grouping?r=1:a.chart.series.forEach(function(c){var d=c.options,e=c.yAxis;if(c.type===a.type&&(c.visible||!a.chart.options.chart.ignoreHiddenSeries)&&b.len===e.len&&b.pos===e.pos){if(d.stacking){k=c.stackKey;void 0===p[k]&&(p[k]=r++);var f=p[k]}else!1!==d.grouping&&(f=r++);c.columnIndex=
|
|
f}});var t=Math.min(Math.abs(f.transA)*(f.ordinalSlope||e.pointRange||f.closestPointRange||f.tickInterval||1),f.len),A=t*e.groupPadding,E=(t-2*A)/(r||1);e=Math.min(e.maxPointWidth||f.len,v(e.pointWidth,E*(1-2*e.pointPadding)));a.columnMetrics={width:e,offset:(E-e)/2+(A+((a.columnIndex||0)+(g?1:0))*E-t/2)*(g?-1:1)};return a.columnMetrics},crispCol:function(a,e,f,b){var c=this.chart,g=this.borderWidth,k=-(g%2?.5:0);g=g%2?.5:1;c.inverted&&c.renderer.isVML&&(g+=1);this.options.crisp&&(f=Math.round(a+
|
|
f)+k,a=Math.round(a)+k,f-=a);b=Math.round(e+b)+g;k=.5>=Math.abs(e)&&.5<b;e=Math.round(e)+g;b-=e;k&&b&&(--e,b+=1);return{x:a,y:e,width:f,height:b}},translate:function(){var a=this,e=a.chart,f=a.options,b=a.dense=2>a.closestPointRange*a.xAxis.transA;b=a.borderWidth=v(f.borderWidth,b?0:1);var g=a.yAxis,l=f.threshold,p=a.translatedThreshold=g.getThreshold(l),r=v(f.minPointLength,5),B=a.getColumnMetrics(),A=B.width,E=a.barW=Math.max(A,1+2*b),u=a.pointXOffset=B.offset,d=a.dataMin,w=a.dataMax;e.inverted&&
|
|
(p-=.5);f.pointPadding&&(E=Math.ceil(E));t.prototype.translate.apply(a);a.points.forEach(function(b){var c=v(b.yBottom,p),f=999+Math.abs(c),h=A;f=Math.min(Math.max(-f,b.plotY),g.len+f);var m=b.plotX+u,q=E,n=Math.min(f,c),y=Math.max(f,c)-n;if(r&&Math.abs(y)<r){y=r;var t=!g.reversed&&!b.negative||g.reversed&&b.negative;b.y===l&&a.dataMax<=l&&g.min<l&&d!==w&&(t=!t);n=Math.abs(n-p)>r?c-r:p-(t?r:0)}k(b.options.pointWidth)&&(h=q=Math.ceil(b.options.pointWidth),m-=Math.round((h-A)/2));b.barX=m;b.pointWidth=
|
|
h;b.tooltipPos=e.inverted?[g.len+g.pos-e.plotLeft-f,a.xAxis.len-m-q/2,y]:[m+q/2,f+g.pos-e.plotTop,y];b.shapeType=a.pointClass.prototype.shapeType||"rect";b.shapeArgs=a.crispCol.apply(a,b.isNull?[m,p,q,0]:[m,n,q,y])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,e){var c=this.options,b=this.pointAttrToOptions||{};var f=b.stroke||"borderColor";var g=b["stroke-width"]||
|
|
"borderWidth",k=a&&a.color||this.color,r=a&&a[f]||c[f]||this.color||k,t=a&&a[g]||c[g]||this[g]||0;b=a&&a.dashStyle||c.dashStyle;var A=v(c.opacity,1);if(a&&this.zones.length){var E=a.getZone();k=a.options.color||E&&E.color||this.color;E&&(r=E.borderColor||r,b=E.dashStyle||b,t=E.borderWidth||t)}e&&(c=p(c.states[e],a.options.states&&a.options.states[e]||{}),E=c.brightness,k=c.color||void 0!==E&&F(k).brighten(c.brightness).get()||k,r=c[f]||r,t=c[g]||t,b=c.dashStyle||b,A=v(c.opacity,A));f={fill:k,stroke:r,
|
|
"stroke-width":t,opacity:A};b&&(f.dashstyle=b);return f},drawPoints:function(){var a=this,e=this.chart,f=a.options,b=e.renderer,k=f.animationLimit||250,l;a.points.forEach(function(c){var m=c.graphic,n=m&&e.pointCount<k?"animate":"attr";if(g(c.plotY)&&null!==c.y){l=c.shapeArgs;m&&m.element.nodeName!==c.shapeType&&(m=m.destroy());if(m)m[n](p(l));else c.graphic=m=b[c.shapeType](l).add(c.group||a.group);if(f.borderRadius)m[n]({r:f.borderRadius});e.styledMode||m[n](a.pointAttribs(c,c.selected&&"select")).shadow(!1!==
|
|
c.allowShadow&&f.shadow,null,f.stacking&&!f.borderRadius);m.addClass(c.getClassName(),!0)}else m&&(c.graphic=m.destroy())})},animate:function(a){var c=this,g=this.yAxis,b=c.options,k=this.chart.inverted,l={},r=k?"translateX":"translateY";if(f)if(a)l.scaleY=.001,a=Math.min(g.pos+g.len,Math.max(g.pos,g.toPixels(b.threshold))),k?l.translateX=a-g.len:l.translateY=a,c.clipBox&&c.setClip(),c.group.attr(l);else{var p=c.group.attr(r);c.group.animate({scaleY:1},C(B(c.options.animation),{step:function(a,b){l[r]=
|
|
p+b.pos*(g.pos-p);c.group.attr(l)}}));c.animate=null}},remove:function(){var a=this,e=a.chart;e.hasRendered&&e.series.forEach(function(c){c.type===a.type&&(c.isDirty=!0)});t.prototype.remove.apply(a,arguments)}})});L(I,"v7.1.2/js/mixins/centered-series.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.deg2rad,F=a.isNumber,C=a.pick,k=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,p=this.chart,v=2*(a.slicedOffset||0),t=p.plotWidth-2*v;p=p.plotHeight-2*v;var r=
|
|
a.center;r=[C(r[0],"50%"),C(r[1],"50%"),a.size||"100%",a.innerSize||0];var f=Math.min(t,p),c;for(c=0;4>c;++c){var e=r[c];a=2>c||2===c&&/%$/.test(e);r[c]=k(e,[t,p,f,r[2]][c])+(a?v:0)}r[3]>r[2]&&(r[3]=r[2]);return r},getStartAndEndRadians:function(a,k){var g=F(a)?a:0,p=F(k)&&k>g&&360>k-g?k:g+360;return{start:B*(g+-90),end:B*(p+-90)}}}});L(I,"v7.1.2/js/parts/PieSeries.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.CenteredSeriesMixin,C=a.defined,k=F.getStartAndEndRadians,g=a.merge,
|
|
p=a.noop,v=a.pick,t=a.Point,r=a.Series,f=a.seriesType,c=a.setAnimation;f("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},
|
|
borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var c=this,b=c.points,e=c.startAngleRad;a||(b.forEach(function(a){var b=a.graphic,f=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:e,end:e}),b.animate({r:f.r,start:f.start,end:f.end},c.options.animation))}),c.animate=null)},
|
|
hasData:function(){return!!this.processedXData.length},updateTotals:function(){var a,c=0,b=this.points,f=b.length,g=this.options.ignoreHiddenPoint;for(a=0;a<f;a++){var k=b[a];c+=g&&!k.visible?0:k.isNull?0:k.y}this.total=c;for(a=0;a<f;a++)k=b[a],k.percentage=0<c&&(k.visible||!g)?k.y/c*100:0,k.total=c},generatePoints:function(){r.prototype.generatePoints.call(this);this.updateTotals()},getX:function(a,c,b){var e=this.center,f=this.radii?this.radii[b.index]:e[2]/2;return e[0]+(c?-1:1)*Math.cos(Math.asin(Math.max(Math.min((a-
|
|
e[1])/(f+b.labelDistance),1),-1)))*(f+b.labelDistance)+(0<b.labelDistance?(c?-1:1)*this.options.dataLabels.padding:0)},translate:function(c){this.generatePoints();var e=0,b=this.options,f=b.slicedOffset,g=f+(b.borderWidth||0),r=k(b.startAngle,b.endAngle),p=this.startAngleRad=r.start;r=(this.endAngleRad=r.end)-p;var t=this.points,A=b.dataLabels.distance;b=b.ignoreHiddenPoint;var E,u=t.length;c||(this.center=c=this.getCenter());for(E=0;E<u;E++){var d=t[E];var w=p+e*r;if(!b||d.visible)e+=d.percentage/
|
|
100;var q=p+e*r;d.shapeType="arc";d.shapeArgs={x:c[0],y:c[1],r:c[2]/2,innerR:c[3]/2,start:Math.round(1E3*w)/1E3,end:Math.round(1E3*q)/1E3};d.labelDistance=v(d.options.dataLabels&&d.options.dataLabels.distance,A);d.labelDistance=a.relativeLength(d.labelDistance,d.shapeArgs.r);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,d.labelDistance);q=(q+w)/2;q>1.5*Math.PI?q-=2*Math.PI:q<-Math.PI/2&&(q+=2*Math.PI);d.slicedTranslation={translateX:Math.round(Math.cos(q)*f),translateY:Math.round(Math.sin(q)*
|
|
f)};var G=Math.cos(q)*c[2]/2;var H=Math.sin(q)*c[2]/2;d.tooltipPos=[c[0]+.7*G,c[1]+.7*H];d.half=q<-Math.PI/2||q>Math.PI/2?1:0;d.angle=q;w=Math.min(g,d.labelDistance/5);d.labelPosition={natural:{x:c[0]+G+Math.cos(q)*d.labelDistance,y:c[1]+H+Math.sin(q)*d.labelDistance},"final":{},alignment:0>d.labelDistance?"center":d.half?"right":"left",connectorPosition:{breakAt:{x:c[0]+G+Math.cos(q)*w,y:c[1]+H+Math.sin(q)*w},touchingSliceAt:{x:c[0]+G,y:c[1]+H}}}}},drawGraph:null,redrawPoints:function(){var a=this,
|
|
c=a.chart,b=c.renderer,f,k,r,p,t=a.options.shadow;!t||a.shadowGroup||c.styledMode||(a.shadowGroup=b.g("shadow").attr({zIndex:-1}).add(a.group));a.points.forEach(function(e){var m={};k=e.graphic;if(!e.isNull&&k){p=e.shapeArgs;f=e.getTranslate();if(!c.styledMode){var l=e.shadowGroup;t&&!l&&(l=e.shadowGroup=b.g("shadow").add(a.shadowGroup));l&&l.attr(f);r=a.pointAttribs(e,e.selected&&"select")}e.delayedRendering?(k.setRadialReference(a.center).attr(p).attr(f),c.styledMode||k.attr(r).attr({"stroke-linejoin":"round"}).shadow(t,
|
|
l),e.delayedRendering=!1):(k.setRadialReference(a.center),c.styledMode||g(!0,m,r),g(!0,m,p,f),k.animate(m));k.attr({visibility:e.visible?"inherit":"hidden"});k.addClass(e.getClassName())}else k&&(e.graphic=k.destroy())})},drawPoints:function(){var a=this.chart.renderer;this.points.forEach(function(c){c.graphic||(c.graphic=a[c.shapeType](c.shapeArgs).add(c.series.group),c.delayedRendering=!0)})},searchPoint:p,sortByAngle:function(a,c){a.sort(function(a,e){return void 0!==a.angle&&(e.angle-a.angle)*
|
|
c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:F.getCenter,getSymbol:p},{init:function(){t.prototype.init.apply(this,arguments);var a=this;a.name=v(a.name,"Slice");var c=function(b){a.slice("select"===b.type)};B(a,"select",c);B(a,"unselect",c);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,c){var b=this,e=b.series,f=e.chart,g=e.options.ignoreHiddenPoint;c=v(c,g);a!==b.visible&&(b.visible=b.options.visible=a=void 0===a?!b.visible:a,e.options.data[e.data.indexOf(b)]=
|
|
b.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(c){if(b[c])b[c][a?"show":"hide"](!0)}),b.legendItem&&f.legend.colorizeItem(b,a),a||"hover"!==b.state||b.setState(""),g&&(e.isDirty=!0),c&&f.redraw())},slice:function(a,f,b){var e=this.series;c(b,e.chart);v(f,!0);this.sliced=this.options.sliced=C(a)?a:!this.sliced;e.options.data[e.data.indexOf(this)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?
|
|
this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r-1,start:c.start,end:c.end})},connectorShapes:{fixedOffset:function(a,c,b){var e=c.breakAt;c=c.touchingSliceAt;return["M",a.x,a.y].concat(b.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*e.x-c.x,2*e.y-c.y,e.x,e.y]:["L",e.x,e.y]).concat(["L",c.x,c.y])},straight:function(a,c){var b=
|
|
c.touchingSliceAt;return["M",a.x,a.y,"L",b.x,b.y]},crookedLine:function(c,f,b){f=f.touchingSliceAt;var e=this.series,g=e.center[0],k=e.chart.plotWidth,m=e.chart.plotLeft;e=c.alignment;var r=this.shapeArgs.r;b=a.relativeLength(b.crookDistance,1);b="left"===e?g+r+(k+m-g-r)*(1-b):m+(g-r)*b;g=["L",b,c.y];if("left"===e?b>c.x||b<f.x:b<c.x||b>f.x)g=[];return["M",c.x,c.y].concat(g).concat(["L",f.x,f.y])}},getConnectorPath:function(){var a=this.labelPosition,c=this.series.options.dataLabels,b=c.connectorShape,
|
|
f=this.connectorShapes;f[b]&&(b=f[b]);return b.call(this,{x:a["final"].x,y:a["final"].y,alignment:a.alignment},a.connectorPosition,c)}})});L(I,"v7.1.2/js/parts/PlotLineOrBand.js",[I["v7.1.2/js/parts/Globals.js"],I["v7.1.2/js/parts/Axis.js"]],function(a,B){var F=a.arrayMax,C=a.arrayMin,k=a.defined,g=a.destroyObjectProperties,p=a.erase,v=a.merge,t=a.pick;a.PlotLineOrBand=function(a,f){this.axis=a;f&&(this.options=f,this.id=f.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");
|
|
var g=this,f=g.axis,c=f.horiz,e=g.options,m=e.label,b=g.label,n=e.to,l=e.from,p=e.value,D=k(l)&&k(n),B=k(p),A=g.svgElem,E=!A,u=[],d=e.color,w=t(e.zIndex,0),q=e.events;u={"class":"highcharts-plot-"+(D?"band ":"line ")+(e.className||"")};var G={},H=f.chart.renderer,h=D?"bands":"lines";f.isLog&&(l=f.log2lin(l),n=f.log2lin(n),p=f.log2lin(p));f.chart.styledMode||(B?(u.stroke=d,u["stroke-width"]=e.width,e.dashStyle&&(u.dashstyle=e.dashStyle)):D&&(d&&(u.fill=d),e.borderWidth&&(u.stroke=e.borderColor,u["stroke-width"]=
|
|
e.borderWidth)));G.zIndex=w;h+="-"+w;(d=f.plotLinesAndBandsGroups[h])||(f.plotLinesAndBandsGroups[h]=d=H.g("plot-"+h).attr(G).add());E&&(g.svgElem=A=H.path().attr(u).add(d));if(B)u=f.getPlotLinePath({value:p,lineWidth:A.strokeWidth(),acrossPanes:e.acrossPanes});else if(D)u=f.getPlotBandPath(l,n,e);else return;(E||!A.d)&&u&&u.length?(A.attr({d:u}),q&&a.objectEach(q,function(a,b){A.on(b,function(a){q[b].apply(g,[a])})})):A&&(u?(A.show(!0),A.animate({d:u})):A.d&&(A.hide(),b&&(g.label=b=b.destroy())));
|
|
m&&k(m.text)&&u&&u.length&&0<f.width&&0<f.height&&!u.isFlat?(m=v({align:c&&D&&"center",x:c?!D&&4:10,verticalAlign:!c&&D&&"middle",y:c?D?16:10:D?6:-4,rotation:c&&!D&&90},m),this.renderLabel(m,u,D,w)):b&&b.hide();return g},renderLabel:function(a,f,c,e){var g=this.label,b=this.axis.chart.renderer;g||(g={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(c?"band":"line")+"-label "+(a.className||"")},g.zIndex=e,this.label=g=b.text(a.text,0,0,a.useHTML).attr(g).add(),this.axis.chart.styledMode||
|
|
g.css(a.style));e=f.xBounds||[f[1],f[4],c?f[6]:f[1]];f=f.yBounds||[f[2],f[5],c?f[7]:f[2]];c=C(e);b=C(f);g.align(a,!1,{x:c,y:b,width:F(e)-c,height:F(f)-b});g.show(!0)},destroy:function(){p(this.axis.plotLinesAndBands,this);delete this.axis;g(this)}};a.extend(B.prototype,{getPlotBandPath:function(a,f){var c=this.getPlotLinePath({value:f,force:!0,acrossPanes:this.options.acrossPanes}),e=this.getPlotLinePath({value:a,force:!0,acrossPanes:this.options.acrossPanes}),g=[],b=this.horiz,k=1;var l=a<this.min&&
|
|
f<this.min||a>this.max&&f>this.max;if(e&&c){if(l){var p=e.toString()===c.toString();k=0}for(l=0;l<e.length;l+=6)b&&c[l+1]===e[l+1]?(c[l+1]+=k,c[l+4]+=k):b||c[l+2]!==e[l+2]||(c[l+2]+=k,c[l+5]+=k),g.push("M",e[l+1],e[l+2],"L",e[l+4],e[l+5],c[l+4],c[l+5],c[l+1],c[l+2],"z"),g.isFlat=p}return g},addPlotBand:function(a){return this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(g,f){var c=(new a.PlotLineOrBand(this,g)).render(),
|
|
e=this.userOptions;c&&(f&&(e[f]=e[f]||[],e[f].push(g)),this.plotLinesAndBands.push(c));return c},removePlotBandOrLine:function(a){for(var f=this.plotLinesAndBands,c=this.options,e=this.userOptions,g=f.length;g--;)f[g].id===a&&f[g].destroy();[c.plotLines||[],e.plotLines||[],c.plotBands||[],e.plotBands||[]].forEach(function(b){for(g=b.length;g--;)b[g].id===a&&p(b,b[g])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})});L(I,"v7.1.2/js/parts/Interaction.js",
|
|
[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.addEvent,F=a.Chart,C=a.createElement,k=a.css,g=a.defaultOptions,p=a.defaultPlotOptions,v=a.extend,t=a.fireEvent,r=a.hasTouch,f=a.isObject,c=a.isArray,e=a.Legend,m=a.merge,b=a.pick,n=a.Point,l=a.Series,y=a.seriesTypes,D=a.svg;var I=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,e=b.pointer,d=function(a){var b=e.getPointFromEvent(a);void 0!==b&&(e.isDirectTouch=!0,b.onMouseOver(a))},f;a.points.forEach(function(a){f=c(a.dataLabels)?
|
|
a.dataLabels:a.dataLabel?[a.dataLabel]:[];a.graphic&&(a.graphic.element.point=a);f.forEach(function(b){b.div?b.div.point=a:b.element.point=a})});a._hasTracking||(a.trackerGroups.forEach(function(c){if(a[c]){a[c].addClass("highcharts-tracker").on("mouseover",d).on("mouseout",function(a){e.onTrackerMouseOut(a)});if(r)a[c].on("touchstart",d);!b.styledMode&&a.options.cursor&&a[c].css(k).css({cursor:a.options.cursor})}}),a._hasTracking=!0);t(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=
|
|
this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,g=f.pointer,k=f.renderer,h=f.options.tooltip.snap,m=a.tracker,l,n=function(){if(f.hoverSeries!==a)a.onMouseOver()},p="rgba(192,192,192,"+(D?1E-4:.002)+")";if(e&&!c)for(l=e+1;l--;)"M"===d[l]&&d.splice(l+1,0,d[l+1]-h,d[l+2],"L"),(l&&"M"===d[l]||l===e)&&d.splice(l,0,"L",d[l-2]+h,d[l-1]);m?m.attr({d:d}):a.graph&&(a.tracker=k.path(d).attr({visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":
|
|
"highcharts-tracker-line").add(a.group),f.styledMode||a.tracker.attr({"stroke-linejoin":"round",stroke:p,fill:c?p:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*h)}),[a.tracker,a.markerGroup].forEach(function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){g.onTrackerMouseOut(a)});b.cursor&&!f.styledMode&&a.css({cursor:b.cursor});if(r)a.on("touchstart",n)}));t(this,"afterDrawTracker")}};y.column&&(y.column.prototype.drawTracker=I.drawTrackerPoint);y.pie&&(y.pie.prototype.drawTracker=
|
|
I.drawTrackerPoint);y.scatter&&(y.scatter.prototype.drawTracker=I.drawTrackerPoint);v(e.prototype,{setItemEvents:function(a,b,c){var d=this,e=d.chart.renderer.boxWrapper,f=a instanceof n,g="highcharts-legend-"+(f?"point":"series")+"-active",k=d.chart.styledMode;(c?b:a.legendGroup).on("mouseover",function(){d.allItems.forEach(function(b){a!==b&&b.setState("inactive",!f)});a.setState("hover");a.visible&&e.addClass(g);k||b.css(d.options.itemHoverStyle)}).on("mouseout",function(){d.styledMode||b.css(m(a.visible?
|
|
d.itemStyle:d.itemHiddenStyle));d.allItems.forEach(function(b){a!==b&&b.setState("",!f)});e.removeClass(g);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};e.removeClass(g);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):t(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=C("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,
|
|
this.chart.container);B(a.checkbox,"click",function(b){t(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});v(F.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=g.lang,d=b.options.chart.resetZoomButton,e=d.theme,f=e.states,k="chart"===d.relativeTo||"spaceBox"===d.relativeTo?null:"plotBox";t(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,e,f&&f.hover).attr({align:d.position.align,
|
|
title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,k)});t(this,"afterShowResetZoom")},zoomOut:function(){t(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(c){var e=this,g,d=e.pointer,k=!1,m=e.inverted?d.mouseDownX:d.mouseDownY;!c||c.resetSelection?(e.axes.forEach(function(a){g=a.zoom()}),d.initiated=!1):c.xAxis.concat(c.yAxis).forEach(function(b){var c=b.axis,f=e.inverted?c.left:c.top,l=e.inverted?f+c.width:f+c.height,q=c.isXAxis,u=!1;if(!q&&m>=f&&
|
|
m<=l||q||!a.defined(m))u=!0;d[q?"zoomX":"zoomY"]&&u&&(g=c.zoom(b.min,b.max),c.displayBtn&&(k=!0))});var l=e.resetZoomButton;k&&!l?e.showResetZoom():!k&&f(l)&&(e.resetZoomButton=l.destroy());g&&e.redraw(b(e.options.chart.animation,c&&c.animation,100>e.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;t(this,"pan",{originalEvent:a},function(){d&&d.forEach(function(a){a.setState()});("xy"===b?[1,0]:[1]).forEach(function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"];d=
|
|
d?"mouseDownX":"mouseDownY";var g=c[d],k=(b.pointRange||0)/2,m=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,l=b.getExtremes(),q=b.toValue(g-f,!0)+k*m;m=b.toValue(g+b.len-f,!0)-k*m;var n=m<q;g=n?m:q;q=n?q:m;m=Math.min(l.dataMin,k?l.min:b.toValue(b.toPixels(l.min)-b.minPixelPadding));k=Math.max(l.dataMax,k?l.max:b.toValue(b.toPixels(l.max)+b.minPixelPadding));n=m-g;0<n&&(q+=n,g=m);n=q-k;0<n&&(q=k,g-=n);b.series.length&&g!==l.min&&q!==l.max&&(b.setExtremes(g,q,!1,!1,{trigger:"pan"}),e=!0);c[d]=
|
|
f});e&&c.redraw(!1);k(c.container,{cursor:"move"})})}});v(n.prototype,{select:function(a,c){var e=this,d=e.series,f=d.chart;a=b(a,!e.selected);e.firePointEvent(a?"select":"unselect",{accumulate:c},function(){e.selected=e.options.selected=a;d.options.data[d.data.indexOf(e)]=e.options;e.setState(a&&"select");c||f.getSelectedPoints().forEach(function(a){var b=a.series;a.selected&&a!==e&&(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"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(a.hoverPoints||[]).forEach(function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=m(b.series.options.point,
|
|
b.options).events;b.events=c;a.objectEach(c,function(c,d){a.isFunction(c)&&B(b,d,c)});this.hasImportedEvents=!0}},setState:function(a,c){var e=Math.floor(this.plotX),d=this.plotY,f=this.series,g=this.state,k=f.options.states[a||"normal"]||{},m=p[f.type].marker&&f.options.marker,h=m&&!1===m.enabled,l=m&&m.states&&m.states[a||"normal"]||{},n=!1===l.enabled,r=f.stateMarkerGraphic,y=this.marker||{},A=f.chart,D=f.halo,z,B=m&&f.markerAttribs;a=a||"";if(!(a===this.state&&!c||this.selected&&"select"!==a||
|
|
!1===k.enabled||a&&(n||h&&!1===l.enabled)||a&&y.states&&y.states[a]&&!1===y.states[a].enabled)){this.state=a;B&&(z=f.markerAttribs(this,a));if(this.graphic){g&&this.graphic.removeClass("highcharts-point-"+g);a&&this.graphic.addClass("highcharts-point-"+a);if(!A.styledMode){var E=f.pointAttribs(this,a);var C=b(A.options.chart.animation,k.animation);f.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(a){a&&a.animate({opacity:E.opacity},C)}),this.connector&&this.connector.animate({opacity:E.opacity},
|
|
C));this.graphic.animate(E,C)}z&&this.graphic.animate(z,b(A.options.chart.animation,l.animation,m.animation));r&&r.hide()}else{if(a&&l){g=y.symbol||f.symbol;r&&r.currentSymbol!==g&&(r=r.destroy());if(r)r[c?"animate":"attr"]({x:z.x,y:z.y});else g&&(f.stateMarkerGraphic=r=A.renderer.symbol(g,z.x,z.y,z.width,z.height).add(f.markerGroup),r.currentSymbol=g);!A.styledMode&&r&&r.attr(f.pointAttribs(this,a))}r&&(r[a&&A.isInsidePlot(e,d,A.inverted)?"show":"hide"](),r.element.point=this)}(e=k.halo)&&e.size?
|
|
(D||(f.halo=D=A.renderer.path().add((this.graphic||r).parentGroup)),D.show()[c?"animate":"attr"]({d:this.haloPath(e.size)}),D.attr({"class":"highcharts-halo highcharts-color-"+b(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),D.point=this,A.styledMode||D.attr(v({fill:this.color||f.color,"fill-opacity":e.opacity},e.attributes))):D&&D.point&&D.point.haloPath&&D.animate({d:D.point.haloPath(0)},null,D.hide);t(this,"afterSetState")}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-
|
|
a,this.plotY-a,2*a,2*a)}});v(l.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&t(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&t(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();b.series.forEach(function(a){a.setState("",!0)})},
|
|
setState:function(a,c){var e=this,d=e.options,f=e.graph,g=d.inactiveOtherPoints,k=d.states,m=d.lineWidth,h=d.opacity,l=b(k[a||"normal"]&&k[a||"normal"].animation,e.chart.options.chart.animation);d=0;a=a||"";if(e.state!==a&&([e.group,e.markerGroup,e.dataLabelsGroup].forEach(function(b){b&&(e.state&&b.removeClass("highcharts-series-"+e.state),a&&b.addClass("highcharts-series-"+a))}),e.state=a,!e.chart.styledMode)){if(k[a]&&!1===k[a].enabled)return;a&&(m=k[a].lineWidth||m+(k[a].lineWidthPlus||0),h=b(k[a].opacity,
|
|
h));if(f&&!f.dashstyle)for(k={"stroke-width":m},f.animate(k,l);e["zone-graph-"+d];)e["zone-graph-"+d].attr(k),d+=1;g||[e.group,e.markerGroup,e.dataLabelsGroup,e.labelBySeries].forEach(function(a){a&&a.animate({opacity:h},l)})}c&&g&&e.points&&e.points.forEach(function(b){b.setState&&b.setState(a)})},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f=d.options.chart.ignoreHiddenSeries,g=c.visible;var k=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!g:a)?"show":"hide";["group",
|
|
"dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(a){if(c[a])c[a][k]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});c.linkedSeries.forEach(function(b){b.setVisible(a,!1)});f&&(d.isDirtyBox=!0);t(c,k);!1!==b&&d.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);t(this,a?"select":"unselect")},drawTracker:I.drawTrackerGraph})});L(I,"v7.1.2/js/mixins/navigation.js",[],function(){return{initUpdate:function(a){a.navigation||(a.navigation={updates:[],update:function(a,F){this.updates.forEach(function(B){B.update.call(B.context,a,F)})}})},addUpdate:function(a,B){B.navigation||this.initUpdate(B);B.navigation.updates.push({update:a,context:B})}}});L(I,"v7.1.2/js/parts-more/AreaRangeSeries.js",
|
|
[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.pick,F=a.extend,C=a.isArray,k=a.defined,g=a.seriesType,p=a.seriesTypes,v=a.Series.prototype,t=a.Point.prototype;g("arearange","area",{lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">\u25cf</span> {series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0}},{pointArrayMap:["low","high"],toYData:function(a){return[a.low,
|
|
a.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(a){var f=this.chart,c=this.xAxis.postTranslate(a.rectPlotX,this.yAxis.len-a.plotHigh);a.plotHighX=c.x-f.plotLeft;a.plotHigh=c.y-f.plotTop;a.plotLowX=a.plotX},translate:function(){var a=this,f=a.yAxis,c=!!a.modifyValue;p.area.prototype.translate.apply(a);a.points.forEach(function(e){var g=e.low,b=e.high,k=e.plotY;null===b||null===g?(e.isNull=!0,e.plotY=null):(e.plotLow=k,e.plotHigh=f.translate(c?a.modifyValue(b,e):b,0,1,0,1),c&&(e.yBottom=
|
|
e.plotHigh))});this.chart.polar&&this.points.forEach(function(c){a.highToXY(c);c.tooltipPos=[(c.plotHighX+c.plotLowX)/2,(c.plotHigh+c.plotLow)/2]})},getGraphPath:function(a){var f=[],c=[],e,g=p.area.prototype.getGraphPath;var b=this.options;var k=this.chart.polar&&!1!==b.connectEnds,l=b.connectNulls,r=b.step;a=a||this.points;for(e=a.length;e--;){var t=a[e];t.isNull||k||l||a[e+1]&&!a[e+1].isNull||c.push({plotX:t.plotX,plotY:t.plotY,doCurve:!1});var v={polarPlotY:t.polarPlotY,rectPlotX:t.rectPlotX,
|
|
yBottom:t.yBottom,plotX:B(t.plotHighX,t.plotX),plotY:t.plotHigh,isNull:t.isNull};c.push(v);f.push(v);t.isNull||k||l||a[e-1]&&!a[e-1].isNull||c.push({plotX:t.plotX,plotY:t.plotY,doCurve:!1})}a=g.call(this,a);r&&(!0===r&&(r="left"),b.step={left:"right",center:"center",right:"left"}[r]);f=g.call(this,f);c=g.call(this,c);b.step=r;b=[].concat(a,f);this.chart.polar||"M"!==c[0]||(c[0]="L");this.graphPath=b;this.areaPath=a.concat(c);b.isArea=!0;b.xMap=a.xMap;this.areaPath.xMap=a.xMap;return b},drawDataLabels:function(){var a=
|
|
this.points,f=a.length,c,e=[],g=this.options.dataLabels,b,k=this.chart.inverted;if(C(g))if(1<g.length){var l=g[0];var p=g[1]}else l=g[0],p={enabled:!1};else l=F({},g),l.x=g.xHigh,l.y=g.yHigh,p=F({},g),p.x=g.xLow,p.y=g.yLow;if(l.enabled||this._hasPointLabels){for(c=f;c--;)if(b=a[c]){var t=l.inside?b.plotHigh<b.plotLow:b.plotHigh>b.plotLow;b.y=b.high;b._plotY=b.plotY;b.plotY=b.plotHigh;e[c]=b.dataLabel;b.dataLabel=b.dataLabelUpper;b.below=t;k?l.align||(l.align=t?"right":"left"):l.verticalAlign||(l.verticalAlign=
|
|
t?"top":"bottom")}this.options.dataLabels=l;v.drawDataLabels&&v.drawDataLabels.apply(this,arguments);for(c=f;c--;)if(b=a[c])b.dataLabelUpper=b.dataLabel,b.dataLabel=e[c],delete b.dataLabels,b.y=b.low,b.plotY=b._plotY}if(p.enabled||this._hasPointLabels){for(c=f;c--;)if(b=a[c])t=p.inside?b.plotHigh<b.plotLow:b.plotHigh>b.plotLow,b.below=!t,k?p.align||(p.align=t?"left":"right"):p.verticalAlign||(p.verticalAlign=t?"bottom":"top");this.options.dataLabels=p;v.drawDataLabels&&v.drawDataLabels.apply(this,
|
|
arguments)}if(l.enabled)for(c=f;c--;)if(b=a[c])b.dataLabels=[b.dataLabelUpper,b.dataLabel].filter(function(a){return!!a});this.options.dataLabels=g},alignDataLabel:function(){p.column.prototype.alignDataLabel.apply(this,arguments)},drawPoints:function(){var g=this.points.length,f;v.drawPoints.apply(this,arguments);for(f=0;f<g;){var c=this.points[f];c.origProps={plotY:c.plotY,plotX:c.plotX,isInside:c.isInside,negative:c.negative,zone:c.zone,y:c.y};c.lowerGraphic=c.graphic;c.graphic=c.upperGraphic;
|
|
c.plotY=c.plotHigh;k(c.plotHighX)&&(c.plotX=c.plotHighX);c.y=c.high;c.negative=c.high<(this.options.threshold||0);c.zone=this.zones.length&&c.getZone();this.chart.polar||(c.isInside=c.isTopInside=void 0!==c.plotY&&0<=c.plotY&&c.plotY<=this.yAxis.len&&0<=c.plotX&&c.plotX<=this.xAxis.len);f++}v.drawPoints.apply(this,arguments);for(f=0;f<g;)c=this.points[f],c.upperGraphic=c.graphic,c.graphic=c.lowerGraphic,a.extend(c,c.origProps),delete c.origProps,f++},setStackedPoints:a.noop},{setState:function(){var a=
|
|
this.state,f=this.series,c=f.chart.polar;k(this.plotHigh)||(this.plotHigh=f.yAxis.toPixels(this.high,!0));k(this.plotLow)||(this.plotLow=this.plotY=f.yAxis.toPixels(this.low,!0));f.stateMarkerGraphic&&(f.lowerStateMarkerGraphic=f.stateMarkerGraphic,f.stateMarkerGraphic=f.upperStateMarkerGraphic);this.graphic=this.upperGraphic;this.plotY=this.plotHigh;c&&(this.plotX=this.plotHighX);t.setState.apply(this,arguments);this.state=a;this.plotY=this.plotLow;this.graphic=this.lowerGraphic;c&&(this.plotX=this.plotLowX);
|
|
f.stateMarkerGraphic&&(f.upperStateMarkerGraphic=f.stateMarkerGraphic,f.stateMarkerGraphic=f.lowerStateMarkerGraphic,f.lowerStateMarkerGraphic=void 0);t.setState.apply(this,arguments)},haloPath:function(){var a=this.series.chart.polar,f=[];this.plotY=this.plotLow;a&&(this.plotX=this.plotLowX);this.isInside&&(f=t.haloPath.apply(this,arguments));this.plotY=this.plotHigh;a&&(this.plotX=this.plotHighX);this.isTopInside&&(f=f.concat(t.haloPath.apply(this,arguments)));return f},destroyElements:function(){["lowerGraphic",
|
|
"upperGraphic"].forEach(function(a){this[a]&&(this[a]=this[a].destroy())},this);this.graphic=null;return t.destroyElements.apply(this,arguments)}})});L(I,"v7.1.2/js/parts-more/AreaSplineRangeSeries.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.seriesType;B("areasplinerange","arearange",null,{getPointSpline:a.seriesTypes.spline.prototype.getPointSpline})});L(I,"v7.1.2/js/modules/exporting.src.js",[I["v7.1.2/js/parts/Globals.js"],I["v7.1.2/js/mixins/navigation.js"]],function(a,B){var F=
|
|
a.defaultOptions,C=a.doc,k=a.Chart,g=a.addEvent,p=a.removeEvent,v=a.fireEvent,t=a.createElement,r=a.discardElement,f=a.css,c=a.merge,e=a.pick,m=a.objectEach,b=a.extend,n=a.isTouchDevice,l=a.win,y=l.navigator.userAgent,D=a.SVGRenderer,I=a.Renderer.prototype.symbols,A=/Edge\/|Trident\/|MSIE /.test(y),E=/firefox/i.test(y);b(F.lang,{viewFullscreen:"View in full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",
|
|
contextButtonTitle:"Chart context menu"});F.navigation||(F.navigation={});c(!0,F.navigation,{buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}});c(!0,F.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:n?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",
|
|
color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}}});F.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",
|
|
onclick:function(){this.fullscreen=new a.FullScreen(this.container)}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}};
|
|
a.post=function(a,b,e){var d=t("form",c({method:"post",action:a,enctype:"multipart/form-data"},e),{display:"none"},C.body);m(b,function(a,b){t("input",{type:"hidden",name:b,value:a},null,d)});d.submit();r(d)};b(k.prototype,{sanitizeSVG:function(a,b){var c=a.indexOf("</svg>")+6,d=a.substr(c);a=a.substr(0,c);b&&b.exporting&&b.exporting.allowHTML&&d&&(d='<foreignObject x="0" y="0" width="'+b.chart.width+'" height="'+b.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+d+"</body></foreignObject>",
|
|
a=a.replace("</svg>",d+"</svg>"));a=a.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(\S+)("|")\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (|NS[0-9]+:)href=/g," xlink:href=").replace(/\n/," ").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/ /g,"\u00a0").replace(/­/g,
|
|
"\u00ad");this.ieSanitizeSVG&&(a=this.ieSanitizeSVG(a));return a},getChartHTML:function(){this.styledMode&&this.inlineStyles();return this.container.innerHTML},getSVG:function(e){var d,f=c(this.options,e);f.plotOptions=c(this.userOptions.plotOptions,e&&e.plotOptions);var g=t("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},C.body);var k=this.renderTo.style.width;var m=this.renderTo.style.height;k=f.exporting.sourceWidth||f.chart.width||/px$/.test(k)&&
|
|
parseInt(k,10)||(f.isGantt?800:600);m=f.exporting.sourceHeight||f.chart.height||/px$/.test(m)&&parseInt(m,10)||400;b(f.chart,{animation:!1,renderTo:g,forExport:!0,renderer:"SVGRenderer",width:k,height:m});f.exporting.enabled=!1;delete f.data;f.series=[];this.series.forEach(function(a){d=c(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});d.isInternal||f.series.push(d)});this.axes.forEach(function(b){b.userOptions.internalKey||(b.userOptions.internalKey=a.uniqueKey())});
|
|
var h=new a.Chart(f,this.callback);e&&["xAxis","yAxis","series"].forEach(function(a){var b={};e[a]&&(b[a]=e[a],h.update(b))});this.axes.forEach(function(b){var c=a.find(h.axes,function(a){return a.options.internalKey===b.userOptions.internalKey}),d=b.getExtremes(),e=d.userMin;d=d.userMax;c&&(void 0!==e&&e!==c.min||void 0!==d&&d!==c.max)&&c.setExtremes(e,d,!0,!1)});k=h.getChartHTML();v(this,"getSVG",{chartCopy:h});k=this.sanitizeSVG(k,f);f=null;h.destroy();r(g);return k},getSVGForExport:function(a,
|
|
b){var d=this.options.exporting;return this.getSVG(c({chart:{borderRadius:0}},d.chartOptions,b,{exporting:{sourceWidth:a&&a.sourceWidth||d.sourceWidth,sourceHeight:a&&a.sourceHeight||d.sourceHeight}}))},getFilename:function(){var a=this.userOptions.title&&this.userOptions.title.text,b=this.options.exporting.filename;if(b)return b;"string"===typeof a&&(b=a.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,
|
|
24).replace(/[\-]+$/g,""));if(!b||5>b.length)b="chart";return b},exportChart:function(b,d){var e=this.getSVGForExport(b,d);b=c(this.options.exporting,b);a.post(b.url,{filename:b.filename||this.getFilename(),type:b.type,width:b.width||0,scale:b.scale,svg:e},b.formAttributes)},print:function(){function a(a){(b.fixedDiv?[b.fixedDiv,b.scrollingContainer]:[b.container]).forEach(function(b){a.appendChild(b)})}var b=this,c=[],e=C.body,f=e.childNodes,g=b.options.exporting.printMaxWidth,h;if(!b.isPrinting){b.isPrinting=
|
|
!0;b.pointer.reset(null,0);v(b,"beforePrint");if(h=g&&b.chartWidth>g){var k=[b.options.chart.width,void 0,!1];b.setSize(g,void 0,!1)}[].forEach.call(f,function(a,b){1===a.nodeType&&(c[b]=a.style.display,a.style.display="none")});a(e);setTimeout(function(){l.focus();l.print();setTimeout(function(){a(b.renderTo);[].forEach.call(f,function(a,b){1===a.nodeType&&(a.style.display=c[b])});b.isPrinting=!1;h&&b.setSize.apply(b,k);v(b,"afterPrint")},1E3)},1)}},contextMenu:function(c,d,e,k,m,l,h){var n=this,
|
|
q=n.options.navigation,p=n.chartWidth,u=n.chartHeight,r="cache-"+c,w=n[r],y=Math.max(m,l);if(!w){n.exportContextMenu=n[r]=w=t("div",{className:c},{position:"absolute",zIndex:1E3,padding:y+"px",pointerEvents:"auto"},n.fixedDiv||n.container);var A=t("div",{className:"highcharts-menu"},null,w);n.styledMode||f(A,b({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},q.menuStyle));w.hideMenu=function(){f(w,{display:"none"});h&&h.setState(0);n.openMenu=!1;
|
|
f(n.renderTo,{overflow:"hidden"});a.clearTimeout(w.hideTimer);v(n,"exportMenuHidden")};n.exportEvents.push(g(w,"mouseleave",function(){w.hideTimer=setTimeout(w.hideMenu,500)}),g(w,"mouseenter",function(){a.clearTimeout(w.hideTimer)}),g(C,"mouseup",function(a){n.pointer.inClass(a.target,c)||w.hideMenu()}),g(w,"click",function(){n.openMenu&&w.hideMenu()}));d.forEach(function(c){"string"===typeof c&&(c=n.options.exporting.menuItemDefinitions[c]);if(a.isObject(c,!0)){if(c.separator)var d=t("hr",null,
|
|
null,A);else d=t("div",{className:"highcharts-menu-item",onclick:function(a){a&&a.stopPropagation();w.hideMenu();c.onclick&&c.onclick.apply(n,arguments)},innerHTML:c.text||n.options.lang[c.textKey]},null,A),n.styledMode||(d.onmouseover=function(){f(this,q.menuItemHoverStyle)},d.onmouseout=function(){f(this,q.menuItemStyle)},f(d,b({cursor:"pointer"},q.menuItemStyle)));n.exportDivElements.push(d)}});n.exportDivElements.push(A,w);n.exportMenuWidth=w.offsetWidth;n.exportMenuHeight=w.offsetHeight}d={display:"block"};
|
|
e+n.exportMenuWidth>p?d.right=p-e-m-y+"px":d.left=e-y+"px";k+l+n.exportMenuHeight>u&&"top"!==h.alignOptions.verticalAlign?d.bottom=u-k-y+"px":d.top=k+l-y+"px";f(w,d);f(n.renderTo,{overflow:""});n.openMenu=!0},addButton:function(a){var d=this,f=d.renderer,g=c(d.options.navigation.buttonOptions,a),k=g.onclick,m=g.menuItems,h=g.symbolSize||12;d.btnCount||(d.btnCount=0);d.exportDivElements||(d.exportDivElements=[],d.exportSVGElements=[]);if(!1!==g.enabled){var l=g.theme,n=l.states,p=n&&n.hover;n=n&&n.select;
|
|
var u;d.styledMode||(l.fill=e(l.fill,"#ffffff"),l.stroke=e(l.stroke,"none"));delete l.states;k?u=function(a){a&&a.stopPropagation();k.call(d,a)}:m&&(u=function(a){a&&a.stopPropagation();d.contextMenu(r.menuClassName,m,r.translateX,r.translateY,r.width,r.height,r);r.setState(2)});g.text&&g.symbol?l.paddingLeft=e(l.paddingLeft,25):g.text||b(l,{width:g.width,height:g.height,padding:0});d.styledMode||(l["stroke-linecap"]="round",l.fill=e(l.fill,"#ffffff"),l.stroke=e(l.stroke,"none"));var r=f.button(g.text,
|
|
0,0,u,l,p,n).addClass(a.className).attr({title:e(d.options.lang[g._titleKey||g.titleKey],"")});r.menuClassName=a.menuClassName||"highcharts-menu-"+d.btnCount++;if(g.symbol){var t=f.symbol(g.symbol,g.symbolX-h/2,g.symbolY-h/2,h,h,{width:h,height:h}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(r);d.styledMode||t.attr({stroke:g.symbolStroke,fill:g.symbolFill,"stroke-width":g.symbolStrokeWidth||1})}r.add(d.exportingGroup).align(b(g,{width:r.width,x:e(g.x,d.buttonOffset)}),!0,"spacingBox");
|
|
d.buttonOffset+=(r.width+g.buttonSpacing)*("right"===g.align?-1:1);d.exportSVGElements.push(r,t)}},destroyExport:function(b){var c=b?b.target:this;b=c.exportSVGElements;var e=c.exportDivElements,f=c.exportEvents,g;b&&(b.forEach(function(a,b){a&&(a.onclick=a.ontouchstart=null,g="cache-"+a.menuClassName,c[g]&&delete c[g],c.exportSVGElements[b]=a.destroy())}),b.length=0);c.exportingGroup&&(c.exportingGroup.destroy(),delete c.exportingGroup);e&&(e.forEach(function(b,d){a.clearTimeout(b.hideTimer);p(b,
|
|
"mouseleave");c.exportDivElements[d]=b.onmouseout=b.onmouseover=b.ontouchstart=b.onclick=null;r(b)}),e.length=0);f&&(f.forEach(function(a){a()}),f.length=0)}});D.prototype.inlineToAttributes="fill stroke strokeLinecap strokeLinejoin strokeWidth textAnchor x y".split(" ");D.prototype.inlineBlacklist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/];D.prototype.unstyledElements=["clipPath","defs","desc"];k.prototype.inlineStyles=
|
|
function(){function a(a){return a.replace(/([A-Z])/g,function(a,b){return"-"+b.toLowerCase()})}function b(d){function e(b,c){q=u=!1;if(n){for(v=n.length;v--&&!u;)u=n[v].test(c);q=!u}"transform"===c&&"none"===b&&(q=!0);for(v=k.length;v--&&!q;)q=k[v].test(c)||"function"===typeof b;q||x[c]===b&&"svg"!==d.nodeName||p[d.nodeName][c]===b||(-1!==g.indexOf(c)?d.setAttribute(a(c),b):f+=a(c)+":"+b+";")}var f="",q,u,v;if(1===d.nodeType&&-1===h.indexOf(d.nodeName)){var w=l.getComputedStyle(d,null);var x="svg"===
|
|
d.nodeName?{}:l.getComputedStyle(d.parentNode,null);if(!p[d.nodeName]){r=t.getElementsByTagName("svg")[0];var y=t.createElementNS(d.namespaceURI,d.nodeName);r.appendChild(y);p[d.nodeName]=c(l.getComputedStyle(y,null));"text"===d.nodeName&&delete p.text.fill;r.removeChild(y)}if(E||A)for(var B in w)e(w[B],B);else m(w,e);f&&(w=d.getAttribute("style"),d.setAttribute("style",(w?w+";":"")+f));"svg"===d.nodeName&&d.setAttribute("stroke-width","1px");"text"!==d.nodeName&&[].forEach.call(d.children||d.childNodes,
|
|
b)}}var e=this.renderer,g=e.inlineToAttributes,k=e.inlineBlacklist,n=e.inlineWhitelist,h=e.unstyledElements,p={},r;e=C.createElement("iframe");f(e,{width:"1px",height:"1px",visibility:"hidden"});C.body.appendChild(e);var t=e.contentWindow.document;t.open();t.write('<svg xmlns="http://www.w3.org/2000/svg"></svg>');t.close();b(this.container.querySelector("svg"));r.parentNode.removeChild(r)};I.menu=function(a,b,c,e){return["M",a,b+2.5,"L",a+c,b+2.5,"M",a,b+e/2+.5,"L",a+c,b+e/2+.5,"M",a,b+e-1.5,"L",
|
|
a+c,b+e-1.5]};I.menuball=function(a,b,c,e){a=[];e=e/3-2;return a=a.concat(this.circle(c-e,b,e,e),this.circle(c-e,b+e+4,e,e),this.circle(c-e,b+2*(e+4),e,e))};k.prototype.renderExporting=function(){var a=this,b=a.options.exporting,c=b.buttons,e=a.isDirtyExporting||!a.exportSVGElements;a.buttonOffset=0;a.isDirtyExporting&&a.destroyExport();e&&!1!==b.enabled&&(a.exportEvents=[],a.exportingGroup=a.exportingGroup||a.renderer.g("exporting-group").attr({zIndex:3}).add(),m(c,function(b){a.addButton(b)}),a.isDirtyExporting=
|
|
!1);g(a,"destroy",a.destroyExport)};g(k,"init",function(){var a=this;a.exporting={update:function(b,f){a.isDirtyExporting=!0;c(!0,a.options.exporting,b);e(f,!0)&&a.redraw()}};B.addUpdate(function(b,f){a.isDirtyExporting=!0;c(!0,a.options.navigation,b);e(f,!0)&&a.redraw()},a)});k.prototype.callbacks.push(function(a){a.renderExporting();g(a,"redraw",a.renderExporting)})});L(I,"v7.1.2/js/mixins/download-url.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){var B=a.win,F=B.navigator,C=B.document,k=B.URL||
|
|
B.webkitURL||B,g=/Edge\/\d+/.test(F.userAgent);a.dataURLtoBlob=function(a){if((a=a.match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3<a.length&&B.atob&&B.ArrayBuffer&&B.Uint8Array&&B.Blob&&k.createObjectURL){var g=B.atob(a[3]),p=new B.ArrayBuffer(g.length);p=new B.Uint8Array(p);for(var r=0;r<p.length;++r)p[r]=g.charCodeAt(r);a=new B.Blob([p],{type:a[1]});return k.createObjectURL(a)}};a.downloadURL=function(k,v){var p=C.createElement("a");if("string"===typeof k||k instanceof String||!F.msSaveOrOpenBlob){if(g||
|
|
2E6<k.length)if(k=a.dataURLtoBlob(k),!k)throw Error("Failed to convert to blob");if(void 0!==p.download)p.href=k,p.download=v,C.body.appendChild(p),p.click(),C.body.removeChild(p);else try{var r=B.open(k,"chart");if(void 0===r||null===r)throw Error("Failed to open window");}catch(f){B.location.href=k}}else F.msSaveOrOpenBlob(k,v)}});L(I,"v7.1.2/js/modules/offline-exporting.src.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){function B(f,c){var e=p.getElementsByTagName("head")[0],g=p.createElement("script");
|
|
g.type="text/javascript";g.src=f;g.onload=c;g.onerror=function(){a.error("Error loading script "+f)};e.appendChild(g)}var F=a.addEvent,C=a.merge,k=a.win,g=k.navigator,p=k.document,v=k.URL||k.webkitURL||k,t=/Edge\/|Trident\/|MSIE /.test(g.userAgent),r=t?150:0;a.CanVGRenderer={};a.svgToDataUrl=function(a){var c=-1<g.userAgent.indexOf("WebKit")&&0>g.userAgent.indexOf("Chrome");try{if(!c&&0>g.userAgent.toLowerCase().indexOf("firefox"))return v.createObjectURL(new k.Blob([a],{type:"image/svg+xml;charset-utf-16"}))}catch(e){}return"data:image/svg+xml;charset=UTF-8,"+
|
|
encodeURIComponent(a)};a.imageToDataUrl=function(a,c,e,g,b,n,l,t,v){var f=new k.Image,m=function(){setTimeout(function(){var d=p.createElement("canvas"),k=d.getContext&&d.getContext("2d");try{if(k){d.height=f.height*g;d.width=f.width*g;k.drawImage(f,0,0,d.width,d.height);try{var m=d.toDataURL(c);b(m,c,e,g)}catch(G){u(a,c,e,g)}}else l(a,c,e,g)}finally{v&&v(a,c,e,g)}},r)},y=function(){t(a,c,e,g);v&&v(a,c,e,g)};var u=function(){f=new k.Image;u=n;f.crossOrigin="Anonymous";f.onload=m;f.onerror=y;f.src=
|
|
a};f.onload=m;f.onerror=y;f.src=a};a.downloadSVGLocal=function(f,c,e,m){function b(a,b){var c=new k.jsPDF("l","pt",[a.width.baseVal.value+2*b,a.height.baseVal.value+2*b]);[].forEach.call(a.querySelectorAll('*[visibility="hidden"]'),function(a){a.parentNode.removeChild(a)});k.svg2pdf(a,c,{removeInvalid:!0});return c.output("datauristring")}function n(){t.innerHTML=f;var c=t.getElementsByTagName("text"),d;[].forEach.call(c,function(a){["font-family","font-size"].forEach(function(b){for(var c=a;c&&c!==
|
|
t;){if(c.style[b]){a.style[b]=c.style[b];break}c=c.parentNode}});a.style["font-family"]=a.style["font-family"]&&a.style["font-family"].split(" ").splice(-1);d=a.getElementsByTagName("title");[].forEach.call(d,function(b){a.removeChild(b)})});c=b(t.firstChild,0);try{a.downloadURL(c,A),m&&m()}catch(H){e(H)}}var l=!0,r=c.libURL||a.getOptions().exporting.libURL,t=p.createElement("div"),C=c.type||"image/png",A=(c.filename||"chart")+"."+("image/svg+xml"===C?"svg":C.split("/")[1]),E=c.scale||1;r="/"!==r.slice(-1)?
|
|
r+"/":r;if("image/svg+xml"===C)try{if(g.msSaveOrOpenBlob){var u=new MSBlobBuilder;u.append(f);var d=u.getBlob("image/svg+xml")}else d=a.svgToDataUrl(f);a.downloadURL(d,A);m&&m()}catch(q){e(q)}else if("application/pdf"===C)k.jsPDF&&k.svg2pdf?n():(l=!0,B(r+"jspdf.js",function(){B(r+"svg2pdf.js",function(){n()})}));else{d=a.svgToDataUrl(f);var w=function(){try{v.revokeObjectURL(d)}catch(q){}};a.imageToDataUrl(d,C,{},E,function(b){try{a.downloadURL(b,A),m&&m()}catch(G){e(G)}},function(){var b=p.createElement("canvas"),
|
|
c=b.getContext("2d"),d=f.match(/^<svg[^>]*width\s*=\s*"?(\d+)"?[^>]*>/)[1]*E,h=f.match(/^<svg[^>]*height\s*=\s*"?(\d+)"?[^>]*>/)[1]*E,n=function(){c.drawSvg(f,0,0,d,h);try{a.downloadURL(g.msSaveOrOpenBlob?b.msToBlob():b.toDataURL(C),A),m&&m()}catch(J){e(J)}finally{w()}};b.width=d;b.height=h;k.canvg?n():(l=!0,B(r+"rgbcolor.js",function(){B(r+"canvg.js",function(){n()})}))},e,e,function(){l&&w()})}};a.Chart.prototype.getSVGForLocalExport=function(f,c,e,g){var b=this,k=0,l,m,p,r,t=function(){k===u.length&&
|
|
g(b.sanitizeSVG(l.innerHTML,m))},v=function(a,b,c){++k;c.imageElement.setAttributeNS("http://www.w3.org/1999/xlink","href",a);t()};b.unbindGetSVG=F(b,"getSVG",function(a){m=a.chartCopy.options;l=a.chartCopy.container.cloneNode(!0)});b.getSVGForExport(f,c);var u=l.getElementsByTagName("image");try{if(!u.length){g(b.sanitizeSVG(l.innerHTML,m));return}var d=0;for(p=u.length;d<p;++d){var w=u[d];(r=w.getAttributeNS("http://www.w3.org/1999/xlink","href"))?a.imageToDataUrl(r,"image/png",{imageElement:w},
|
|
f.scale,v,e,e,e):(++k,w.parentNode.removeChild(w),t())}}catch(q){e(q)}b.unbindGetSVG()};a.Chart.prototype.exportChartLocal=function(f,c){var e=this,g=a.merge(e.options.exporting,f),b=function(b){!1===g.fallbackToExportServer?g.error?g.error(g,b):a.error(28,!0):e.exportChart(g)},k=function(){return[].some.call(e.container.getElementsByTagName("image"),function(a){a=a.getAttribute("href");return""!==a&&0!==a.indexOf("data:")})};t&&e.styledMode&&(a.SVGRenderer.prototype.inlineWhitelist=[/^blockSize/,
|
|
/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,/^stroke/,/^textAlign/,/^textAnchor/,/^textDecoration/,/^transform/,/^vectorEffect/,/^visibility/,/^x$/,/^y$/]);t&&("application/pdf"===g.type||e.container.getElementsByTagName("image").length&&"image/svg+xml"!==g.type)||"application/pdf"===g.type&&k()?b("Image type not supported for this chart/browser."):
|
|
e.getSVGForLocalExport(g,c,b,function(c){-1<c.indexOf("<foreignObject")&&"image/svg+xml"!==g.type?b("Image type not supported for charts with embedded HTML"):a.downloadSVGLocal(c,a.extend({filename:e.getFilename()},g),b)})};C(!0,a.getOptions().exporting,{libURL:"https://code.highcharts.com/v7.1.2 custom build/lib/",menuItemDefinitions:{downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChartLocal()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChartLocal({type:"image/jpeg"})}},
|
|
downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChartLocal({type:"image/svg+xml"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChartLocal({type:"application/pdf"})}}}})});L(I,"v7.1.2/custom/3c4828502d278d889b7a90c4d2e9df3a3f541e9e.src.js",[I["v7.1.2/js/parts/Globals.js"]],function(a){return a});I["v7.1.2/custom/3c4828502d278d889b7a90c4d2e9df3a3f541e9e.src.js"]._modules=I;return I["v7.1.2/custom/3c4828502d278d889b7a90c4d2e9df3a3f541e9e.src.js"]});
|