UNPKG

highcharts

Version:
105 lines (103 loc) 313 kB
/* Highcharts JS v7.1.0 (2019-04-01) (c) 2017-2018 Lars Cabrera, Torstein Honsi, Jon Arild Nygard & Oystein Moseng License: www.highcharts.com/license */ (function(R,J){"object"===typeof module&&module.exports?(J["default"]=J,module.exports=R.document?J(R):J):"function"===typeof define&&define.amd?define("highcharts/highcharts-gantt",function(){return J(R)}):(R.Highcharts&&R.Highcharts.error(16,!0),R.Highcharts=J(R))})("undefined"!==typeof window?window:this,function(R){function J(a,A,y,C){a.hasOwnProperty(A)||(a[A]=C.apply(null,y))}var G={};J(G,"parts/Globals.js",[],function(){var a="undefined"===typeof R?"undefined"!==typeof window?window:{}:R,A= a.document,y=a.navigator&&a.navigator.userAgent||"",C=A&&A.createElementNS&&!!A.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,p=/(edge|msie|trident)/i.test(y)&&!a.opera,l=-1!==y.indexOf("Firefox"),t=-1!==y.indexOf("Chrome"),w=l&&4>parseInt(y.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.0",deg2rad:2*Math.PI/360,doc:A,hasBidiBug:w,hasTouch:A&&void 0!==A.documentElement.ontouchstart,isMS:p,isWebKit:-1!==y.indexOf("AppleWebKit"),isFirefox:l,isChrome:t,isSafari:!t&& -1!==y.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(y),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,win:a,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}});J(G,"parts/Utilities.js",[G["parts/Globals.js"]],function(a){a.timers=[];var A=a.charts,y=a.doc,C=a.win;a.error=function(p,l,t){var w=a.isNumber(p)?"Highcharts error #"+p+": www.highcharts.com/errors/"+p:p,x=function(){if(l)throw Error(w); C.console&&console.log(w)};t?a.fireEvent(t,"displayError",{code:p,message:w},x):x()};a.Fx=function(a,l,t){this.options=l;this.elem=a;this.prop=t};a.Fx.prototype={dSetter:function(){var a=this.paths[0],l=this.paths[1],t=[],w=this.now,x=a.length,u;if(1===w)t=this.toD;else if(x===l.length&&1>w)for(;x--;)u=parseFloat(a[x]),t[x]=isNaN(u)?l[x]:w*parseFloat(l[x]-u)+u;else t=l;this.elem.attr("d",t,null,!0)},update:function(){var a=this.elem,l=this.prop,t=this.now,w=this.options.step;if(this[l+"Setter"])this[l+ "Setter"]();else a.attr?a.element&&a.attr(l,t,null,!0):a.style[l]=t+this.unit;w&&w.call(a,t,this)},run:function(p,l,t){var w=this,x=w.options,u=function(a){return u.stopped?!1:w.step(a)},q=C.requestAnimationFrame||function(a){setTimeout(a,13)},e=function(){for(var h=0;h<a.timers.length;h++)a.timers[h]()||a.timers.splice(h--,1);a.timers.length&&q(e)};p!==l||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=p,this.end=l,this.unit=t,this.now=this.start,this.pos=0,u.elem=this.elem, u.prop=this.prop,u()&&1===a.timers.push(u)&&q(e)):(delete x.curAnim[this.prop],x.complete&&0===Object.keys(x.curAnim).length&&x.complete.call(this.elem))},step:function(p){var l=+new Date,t,w=this.options,x=this.elem,u=w.complete,q=w.duration,e=w.curAnim;x.attr&&!x.element?p=!1:p||l>=q+this.startTime?(this.now=this.end,this.pos=1,this.update(),t=e[this.prop]=!0,a.objectEach(e,function(a){!0!==a&&(t=!1)}),t&&u&&u.call(x),p=!1):(this.pos=w.easing((l-this.startTime)/q),this.now=this.start+(this.end- this.start)*this.pos,this.update(),p=!0);return p},initPath:function(p,l,t){function w(b){var c,a;for(d=b.length;d--;)c="M"===b[d]||"L"===b[d],a=/[a-zA-Z]/.test(b[d+3]),c&&a&&b.splice(d+1,0,b[d+1],b[d+2],b[d+1],b[d+2])}function x(c,a){for(;c.length<b;){c[0]=a[b-c.length];var k=c.slice(0,g);[].splice.apply(c,[0,0].concat(k));f&&(k=c.slice(c.length-g),[].splice.apply(c,[c.length,0].concat(k)),d--)}c[0]="M"}function u(a,d){for(var k=(b-a.length)/g;0<k&&k--;)c=a.slice().splice(a.length/v-g,g*v),c[0]= d[b-g-k*g],n&&(c[g-6]=c[g-2],c[g-5]=c[g-1]),[].splice.apply(a,[a.length/v,0].concat(c)),f&&k--}l=l||"";var q,e=p.startX,h=p.endX,n=-1<l.indexOf("C"),g=n?7:3,b,c,d;l=l.split(" ");t=t.slice();var f=p.isArea,v=f?2:1,z;n&&(w(l),w(t));if(e&&h){for(d=0;d<e.length;d++)if(e[d]===h[0]){q=d;break}else if(e[0]===h[h.length-e.length+d]){q=d;z=!0;break}void 0===q&&(l=[])}l.length&&a.isNumber(q)&&(b=t.length+q*v*g,z?(x(l,t),u(t,l)):(x(t,l),u(l,t)));return[l,t]},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 p,l=arguments,t,w={},x=function(u,q){"object"!==typeof u&&(u={});a.objectEach(q,function(e,h){!a.isObject(e,!0)||a.isClass(e)||a.isDOMElement(e)?u[h]=q[h]:u[h]=x(u[h]||{},e)});return u};!0===l[0]&&(w=l[1],l=Array.prototype.slice.call(l,2));t=l.length;for(p=0;p<t;p++)w=x(w,l[p]);return w};a.pInt=function(a,l){return parseInt(a,l||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(p,l){return!!p&&"object"===typeof p&&(!l||!a.isArray(p))};a.isDOMElement=function(p){return a.isObject(p)&&"number"===typeof p.nodeType};a.isClass=function(p){var l=p&&p.constructor;return!(!a.isObject(p,!0)||a.isDOMElement(p)||!l||!l.name||"Object"===l.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase= function(a,l){for(var p=a.length;p--;)if(a[p]===l){a.splice(p,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(p,l,t){var w;a.isString(l)?a.defined(t)?p.setAttribute(l,t):p&&p.getAttribute&&((w=p.getAttribute(l))||"class"!==l||(w=p.getAttribute(l+"Name"))):a.defined(l)&&a.isObject(l)&&a.objectEach(l,function(a,u){p.setAttribute(u,a)});return w};a.splat=function(p){return a.isArray(p)?p:[p]};a.syncTimeout=function(a,l,t){if(l)return setTimeout(a,l,t);a.call(0,t)};a.clearTimeout= function(p){a.defined(p)&&clearTimeout(p)};a.extend=function(a,l){var p;a||(a={});for(p in l)a[p]=l[p];return a};a.pick=function(){var a=arguments,l,t,w=a.length;for(l=0;l<w;l++)if(t=a[l],void 0!==t&&null!==t)return t};a.css=function(p,l){a.isMS&&!a.svg&&l&&void 0!==l.opacity&&(l.filter="alpha(opacity\x3d"+100*l.opacity+")");a.extend(p.style,l)};a.createElement=function(p,l,t,w,x){p=y.createElement(p);var u=a.css;l&&a.extend(p,l);x&&u(p,{padding:0,border:"none",margin:0});t&&u(p,t);w&&w.appendChild(p); return p};a.extendClass=function(p,l){var t=function(){};t.prototype=new p;a.extend(t.prototype,l);return t};a.pad=function(a,l,t){return Array((l||2)+1-String(a).replace("-","").length).join(t||0)+a};a.relativeLength=function(a,l,t){return/%$/.test(a)?l*parseFloat(a)/100+(t||0):parseFloat(a)};a.wrap=function(a,l,t){var p=a[l];a[l]=function(){var a=Array.prototype.slice.call(arguments),u=arguments,q=this;q.proceed=function(){p.apply(q,arguments.length?arguments:u)};a.unshift(p);a=t.apply(this,a); q.proceed=null;return a}};a.datePropsToTimestamps=function(p){a.objectEach(p,function(l,t){a.isObject(l)&&"function"===typeof l.getTime?p[t]=l.getTime():(a.isObject(l)||a.isArray(l))&&a.datePropsToTimestamps(l)})};a.formatSingle=function(p,l,t){var w=/\.([0-9])/,x=a.defaultOptions.lang;/f$/.test(p)?(t=(t=p.match(w))?t[1]:-1,null!==l&&(l=a.numberFormat(l,t,x.decimalPoint,-1<p.indexOf(",")?x.thousandsSep:""))):l=(t||a.time).dateFormat(p,l);return l};a.format=function(p,l,t){for(var w="{",x=!1,u,q,e, h,n=[],g;p;){w=p.indexOf(w);if(-1===w)break;u=p.slice(0,w);if(x){u=u.split(":");q=u.shift().split(".");h=q.length;g=l;for(e=0;e<h;e++)g&&(g=g[q[e]]);u.length&&(g=a.formatSingle(u.join(":"),g,t));n.push(g)}else n.push(u);p=p.slice(w+1);w=(x=!x)?"}":"{"}n.push(p);return n.join("")};a.getMagnitude=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(p,l,t,w,x){var u,q=p;t=a.pick(t,1);u=p/t;l||(l=x?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===w&&(1=== t?l=l.filter(function(a){return 0===a%1}):.1>=t&&(l=[1/t])));for(w=0;w<l.length&&!(q=l[w],x&&q*t>=p||!x&&u<=(l[w]+(l[w+1]||l[w]))/2);w++);return q=a.correctFloat(q*t,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,l){var p=a.length,w,x;for(x=0;x<p;x++)a[x].safeI=x;a.sort(function(a,q){w=l(a,q);return 0===w?a.safeI-q.safeI:w});for(x=0;x<p;x++)delete a[x].safeI};a.arrayMin=function(a){for(var l=a.length,p=a[0];l--;)a[l]<p&&(p=a[l]);return p};a.arrayMax=function(a){for(var l=a.length, p=a[0];l--;)a[l]>p&&(p=a[l]);return p};a.destroyObjectProperties=function(p,l){a.objectEach(p,function(a,w){a&&a!==l&&a.destroy&&a.destroy();delete p[w]})};a.discardElement=function(p){var l=a.garbageBin;l||(l=a.createElement("div"));p&&l.appendChild(p);l.innerHTML=""};a.correctFloat=function(a,l){return parseFloat(a.toPrecision(l||14))};a.setAnimation=function(p,l){l.renderer.globalAnimation=a.pick(p,l.options.chart.animation,!0)};a.animObject=function(p){return a.isObject(p)?a.merge(p):{duration:p? 500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(p,l,t,w){p=+p||0;l=+l;var x=a.defaultOptions.lang,u=(p.toString().split(".")[1]||"").split("e")[0].length,q,e,h=p.toString().split("e");-1===l?l=Math.min(u,20):a.isNumber(l)?l&&h[1]&&0>h[1]&&(q=l+ +h[1],0<=q?(h[0]=(+h[0]).toExponential(q).split("e")[0],l=q):(h[0]=h[0].split(".")[0]||0,p=20>l?(h[0]*Math.pow(10,h[1])).toFixed(l):0,h[1]=0)):l=2;e=(Math.abs(h[1]? h[0]:p)+Math.pow(10,-Math.max(l,u)-1)).toFixed(l);u=String(a.pInt(e));q=3<u.length?u.length%3:0;t=a.pick(t,x.decimalPoint);w=a.pick(w,x.thousandsSep);p=(0>p?"-":"")+(q?u.substr(0,q)+w:"");p+=u.substr(q).replace(/(\d{3})(?=\d)/g,"$1"+w);l&&(p+=t+e.slice(-l));h[1]&&0!==+p&&(p+="e"+h[1]);return p};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI*a)-1)};a.getStyle=function(p,l,t){if("width"===l)return Math.max(0,Math.min(p.offsetWidth,p.scrollWidth,p.getBoundingClientRect&&"none"===a.getStyle(p, "transform",!1)?Math.floor(p.getBoundingClientRect().width):Infinity)-a.getStyle(p,"padding-left")-a.getStyle(p,"padding-right"));if("height"===l)return Math.max(0,Math.min(p.offsetHeight,p.scrollHeight)-a.getStyle(p,"padding-top")-a.getStyle(p,"padding-bottom"));C.getComputedStyle||a.error(27,!0);if(p=C.getComputedStyle(p,void 0))p=p.getPropertyValue(l),a.pick(t,"opacity"!==l)&&(p=a.pInt(p));return p};a.inArray=function(a,l,t){return l.indexOf(a,t)};a.find=Array.prototype.find?function(a,l){return a.find(l)}: function(a,l){var p,w=a.length;for(p=0;p<w;p++)if(l(a[p],p))return a[p]};a.keys=Object.keys;a.offset=function(a){var l=y.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(C.pageYOffset||l.scrollTop)-(l.clientTop||0),left:a.left+(C.pageXOffset||l.scrollLeft)-(l.clientLeft||0)}};a.stop=function(p,l){for(var t=a.timers.length;t--;)a.timers[t].elem!==p||l&&l!==a.timers[t].prop||(a.timers[t].stopped=!0)};a.objectEach=function(a,l,t){for(var p in a)a.hasOwnProperty(p)&& l.call(t||a[p],a[p],p,a)};a.objectEach({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(p,l){a[l]=function(a){return Array.prototype[p].apply(a,[].slice.call(arguments,1))}});a.addEvent=function(p,l,t,w){var x,u=p.addEventListener||a.addEventListenerPolyfill;x="function"===typeof p&&p.prototype?p.prototype.protoEvents=p.prototype.protoEvents||{}:p.hcEvents=p.hcEvents||{};a.Point&&p instanceof a.Point&&p.series&&p.series.chart&&(p.series.chart.runTrackerClick=!0);u&&u.call(p, l,t,!1);x[l]||(x[l]=[]);x[l].push(t);w&&a.isNumber(w.order)&&(t.order=w.order,x[l].sort(function(a,e){return a.order-e.order}));return function(){a.removeEvent(p,l,t)}};a.removeEvent=function(p,l,t){function w(e,h){var n=p.removeEventListener||a.removeEventListenerPolyfill;n&&n.call(p,e,h,!1)}function x(e){var h,n;p.nodeName&&(l?(h={},h[l]=!0):h=e,a.objectEach(h,function(a,b){if(e[b])for(n=e[b].length;n--;)w(b,e[b][n])}))}var u,q;["protoEvents","hcEvents"].forEach(function(a){var h=p[a];h&&(l?(u= h[l]||[],t?(q=u.indexOf(t),-1<q&&(u.splice(q,1),h[l]=u),w(l,t)):(x(h),h[l]=[])):(x(h),p[a]={}))})};a.fireEvent=function(p,l,t,w){var x,u,q,e,h;t=t||{};y.createEvent&&(p.dispatchEvent||p.fireEvent)?(x=y.createEvent("Events"),x.initEvent(l,!0,!0),a.extend(x,t),p.dispatchEvent?p.dispatchEvent(x):p.fireEvent(l,x)):["protoEvents","hcEvents"].forEach(function(n){if(p[n])for(u=p[n][l]||[],q=u.length,t.target||a.extend(t,{preventDefault:function(){t.defaultPrevented=!0},target:p,type:l}),e=0;e<q;e++)(h=u[e])&& !1===h.call(p,t)&&t.preventDefault()});w&&!t.defaultPrevented&&w.call(p,t)};a.animate=function(p,l,t){var w,x="",u,q,e;a.isObject(t)||(e=arguments,t={duration:e[2],easing:e[3],complete:e[4]});a.isNumber(t.duration)||(t.duration=400);t.easing="function"===typeof t.easing?t.easing:Math[t.easing]||Math.easeInOutSine;t.curAnim=a.merge(l);a.objectEach(l,function(h,n){a.stop(p,n);q=new a.Fx(p,t,n);u=null;"d"===n?(q.paths=q.initPath(p,p.d,l.d),q.toD=l.d,w=0,u=1):p.attr?w=p.attr(n):(w=parseFloat(a.getStyle(p, n))||0,"opacity"!==n&&(x="px"));u||(u=h);u&&u.match&&u.match("px")&&(u=u.replace(/px/g,""));q.run(w,u,x)})};a.seriesType=function(p,l,t,w,x){var u=a.getOptions(),q=a.seriesTypes;u.plotOptions[p]=a.merge(u.plotOptions[l],t);q[p]=a.extendClass(q[l]||function(){},w);q[p].prototype.type=p;x&&(q[p].prototype.pointClass=a.extendClass(a.Point,x));return q[p]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),l=0;return function(){return"highcharts-"+a+"-"+l++}}();a.isFunction=function(a){return"function"=== typeof a};C.jQuery&&(C.jQuery.fn.highcharts=function(){var p=[].slice.call(arguments);if(this[0])return p[0]?(new (a[a.isString(p[0])?p.shift():"Chart"])(this[0],p[0],p[1]),this):A[a.attr(this[0],"data-highcharts-chart")]})});J(G,"parts/Color.js",[G["parts/Globals.js"]],function(a){var A=a.isNumber,y=a.merge,C=a.pInt;a.Color=function(p){if(!(this instanceof a.Color))return new a.Color(p);this.init(p)};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(p){var l,t,w,x;if((this.input=p=this.names[p&&p.toLowerCase?p.toLowerCase():""]||p)&&p.stops)this.stops=p.stops.map(function(u){return new a.Color(u[1])});else if(p&&p.charAt&&"#"===p.charAt()&&(l=p.length,p=parseInt(p.substr(1),16),7===l?t=[(p&16711680)>> 16,(p&65280)>>8,p&255,1]:4===l&&(t=[(p&3840)>>4|(p&3840)>>8,(p&240)>>4|p&240,(p&15)<<4|p&15,1])),!t)for(w=this.parsers.length;w--&&!t;)x=this.parsers[w],(l=x.regex.exec(p))&&(t=x.parse(l));this.rgba=t||[]},get:function(a){var l=this.input,p=this.rgba,w;this.stops?(w=y(l),w.stops=[].concat(w.stops),this.stops.forEach(function(l,u){w.stops[u]=[w.stops[u][0],l.get(a)]})):w=p&&A(p[0])?"rgb"===a||!a&&1===p[3]?"rgb("+p[0]+","+p[1]+","+p[2]+")":"a"===a?p[3]:"rgba("+p.join(",")+")":l;return w},brighten:function(a){var l, p=this.rgba;if(this.stops)this.stops.forEach(function(l){l.brighten(a)});else if(A(a)&&0!==a)for(l=0;3>l;l++)p[l]+=C(255*a),0>p[l]&&(p[l]=0),255<p[l]&&(p[l]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,l){var p=this.rgba,w=a.rgba;w.length&&p&&p.length?(a=1!==w[3]||1!==p[3],l=(a?"rgba(":"rgb(")+Math.round(w[0]+(p[0]-w[0])*(1-l))+","+Math.round(w[1]+(p[1]-w[1])*(1-l))+","+Math.round(w[2]+(p[2]-w[2])*(1-l))+(a?","+(w[3]+(p[3]-w[3])*(1-l)):"")+")"):l=a.input|| "none";return l}};a.color=function(p){return new a.Color(p)}});J(G,"parts/SvgRenderer.js",[G["parts/Globals.js"]],function(a){var A,y,C=a.addEvent,p=a.animate,l=a.attr,t=a.charts,w=a.color,x=a.css,u=a.createElement,q=a.defined,e=a.deg2rad,h=a.destroyObjectProperties,n=a.doc,g=a.extend,b=a.erase,c=a.hasTouch,d=a.isArray,f=a.isFirefox,v=a.isMS,z=a.isObject,F=a.isString,m=a.isWebKit,k=a.merge,B=a.noop,H=a.objectEach,D=a.pick,E=a.pInt,r=a.removeEvent,I=a.splat,N=a.stop,S=a.svg,L=a.SVG_NS,O=a.symbolSizes, U=a.win;A=a.SVGElement=function(){return this};g(A.prototype,{opacity:1,SVG_NS:L,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(b,c){this.element="span"===c?u(c):n.createElementNS(this.SVG_NS,c);this.renderer=b;a.fireEvent(this,"afterInit")},animate:function(b,c,r){var K=a.animObject(D(c,this.renderer.globalAnimation,!0));D(n.hidden,n.msHidden,n.webkitHidden,!1)&&(K.duration=0); 0!==K.duration?(r&&(K.complete=r),p(this,b,K)):(this.attr(b,null,r),a.objectEach(b,function(a,b){K.step&&K.step.call(this,a,{prop:b,pos:1})},this));return this},complexColor:function(b,c,r){var K=this.renderer,f,g,m,I,v,B,E,n,h,e,L,z=[],D;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){b.radialGradient?g="radialGradient":b.linearGradient&&(g="linearGradient");g&&(m=b[g],v=K.gradients,E=b.stops,e=r.radialReference,d(m)&&(b[g]=m={x1:m[0],y1:m[1],x2:m[2],y2:m[3],gradientUnits:"userSpaceOnUse"}), "radialGradient"===g&&e&&!q(m.gradientUnits)&&(I=m,m=k(m,K.getRadialAttr(e,I),{gradientUnits:"userSpaceOnUse"})),H(m,function(a,b){"id"!==b&&z.push(b,a)}),H(E,function(a){z.push(a)}),z=z.join(","),v[z]?L=v[z].attr("id"):(m.id=L=a.uniqueKey(),v[z]=B=K.createElement(g).attr(m).add(K.defs),B.radAttr=I,B.stops=[],E.forEach(function(b){0===b[1].indexOf("rgba")?(f=a.color(b[1]),n=f.get("rgb"),h=f.get("a")):(n=b[1],h=1);b=K.createElement("stop").attr({offset:b[0],"stop-color":n,"stop-opacity":h}).add(B); B.stops.push(b)})),D="url("+K.url+"#"+L+")",r.setAttribute(c,D),r.gradient=z,b.toString=function(){return D})})},applyTextOutline:function(b){var c=this.element,r,K,d;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));b=b.split(" ");r=b[b.length-1];(K=b[0])&&"none"!==K&&a.svg&&(this.fakeTS=!0,b=[].slice.call(c.getElementsByTagName("tspan")),this.ySetter=this.xSetter,K=K.replace(/(^[\d\.]+)(.*?)$/g,function(b,a,c){return 2*a+c}),this.removeTextOutline(b), d=c.firstChild,b.forEach(function(b,a){0===a&&(b.setAttribute("x",c.getAttribute("x")),a=c.getAttribute("y"),b.setAttribute("y",a||0),null===a&&c.setAttribute("y",0));b=b.cloneNode(1);l(b,{"class":"highcharts-text-outline",fill:r,stroke:r,"stroke-width":K,"stroke-linejoin":"round"});c.insertBefore(b,d)}))},removeTextOutline:function(a){for(var c=a.length,r;c--;)r=a[c],"highcharts-text-outline"===r.getAttribute("class")&&b(a,this.element.removeChild(r))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY rounded".split(" "), attr:function(b,c,r,d){var K,k=this.element,f,g=this,m,I,v=this.symbolCustomAttribs;"string"===typeof b&&void 0!==c&&(K=b,b={},b[K]=c);"string"===typeof b?g=(this[b+"Getter"]||this._defaultGetter).call(this,b,k):(H(b,function(c,r){m=!1;d||N(this,r);this.symbolName&&-1!==a.inArray(r,v)&&(f||(this.symbolAttr(b),f=!0),m=!0);!this.rotation||"x"!==r&&"y"!==r||(this.doTransform=!0);m||(I=this[r+"Setter"]||this._defaultSetter,I.call(this,c,r,k),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(r)&& this.updateShadows(r,c,I))},this),this.afterSetters());r&&r.call(this);return g},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(b,a,c){for(var r=this.shadows,K=r.length;K--;)c.call(r[K],"height"===b?Math.max(a-(r[K].cutHeight||0),0):"d"===b?this.d:a,b,r[K])},addClass:function(b,a){var c=this.attr("class")||"";a||(b=(b||"").split(/ /g).reduce(function(b,a){-1===c.indexOf(a)&&b.push(a);return b},c?[c]:[]).join(" "));b!==c&&this.attr("class", b);return this},hasClass:function(b){return-1!==(this.attr("class")||"").split(" ").indexOf(b)},removeClass:function(b){return this.attr("class",(this.attr("class")||"").replace(b,""))},symbolAttr:function(b){var a=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(c){a[c]=D(b[c],a[c])});a.attr({d:a.renderer.symbols[a.symbolName](a.x,a.y,a.width,a.height,a)})},clip:function(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+")":"none")}, crisp:function(b,a){var c;a=a||b.strokeWidth||0;c=Math.round(a)%2/2;b.x=Math.floor(b.x||this.x||0)+c;b.y=Math.floor(b.y||this.y||0)+c;b.width=Math.floor((b.width||this.width||0)-2*c);b.height=Math.floor((b.height||this.height||0)-2*c);q(b.strokeWidth)&&(b.strokeWidth=a);return b},css:function(b){var a=this.styles,c={},r=this.element,d,k="",f,K=!a,m=["textOutline","textOverflow","width"];b&&b.color&&(b.fill=b.color);a&&H(b,function(b,r){b!==a[r]&&(c[r]=b,K=!0)});K&&(a&&(b=g(a,c)),b&&(null===b.width|| "auto"===b.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&b.width&&(d=this.textWidth=E(b.width))),this.styles=b,d&&!S&&this.renderer.forExport&&delete b.width,r.namespaceURI===this.SVG_NS?(f=function(b,a){return"-"+a.toLowerCase()},H(b,function(b,a){-1===m.indexOf(a)&&(k+=a.replace(/([A-Z])/g,f)+":"+b+";")}),k&&l(r,"style",k)):x(r,b),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),b&&b.textOutline&&this.applyTextOutline(b.textOutline)));return this},getStyle:function(b){return U.getComputedStyle(this.element|| this,"").getPropertyValue(b)},strokeWidth:function(){if(!this.renderer.styledMode)return this["stroke-width"]||0;var b=this.getStyle("stroke-width"),a;b.indexOf("px")===b.length-2?b=E(b):(a=n.createElementNS(L,"rect"),l(a,{width:b,"stroke-width":0}),this.element.parentNode.appendChild(a),b=a.getBBox().width,a.parentNode.removeChild(a));return b},on:function(b,a){var r=this,d=r.element;c&&"click"===b?(d.ontouchstart=function(b){r.touchEventFired=Date.now();b.preventDefault();a.call(d,b)},d.onclick= function(b){(-1===U.navigator.userAgent.indexOf("Android")||1100<Date.now()-(r.touchEventFired||0))&&a.call(d,b)}):d["on"+b]=a;return this},setRadialReference:function(b){var a=this.renderer.gradients[this.element.gradient];this.element.radialReference=b;a&&a.radAttr&&a.animate(this.renderer.getRadialAttr(b,a.radAttr));return this},translate:function(b,a){return this.attr({translateX:b,translateY:a})},invert:function(b){this.inverted=b;this.updateTransform();return this},updateTransform:function(){var b= this.translateX||0,a=this.translateY||0,c=this.scaleX,r=this.scaleY,d=this.inverted,k=this.rotation,f=this.matrix,g=this.element;d&&(b+=this.width,a+=this.height);b=["translate("+b+","+a+")"];q(f)&&b.push("matrix("+f.join(",")+")");d?b.push("rotate(90) scale(-1,1)"):k&&b.push("rotate("+k+" "+D(this.rotationOriginX,g.getAttribute("x"),0)+" "+D(this.rotationOriginY,g.getAttribute("y")||0)+")");(q(c)||q(r))&&b.push("scale("+D(c,1)+" "+D(r,1)+")");b.length&&g.setAttribute("transform",b.join(" "))},toFront:function(){var b= this.element;b.parentNode.appendChild(b);return this},align:function(a,c,r){var d,k,f,g,m={};k=this.renderer;f=k.alignedObjects;var K,I;if(a){if(this.alignOptions=a,this.alignByTranslate=c,!r||F(r))this.alignTo=d=r||"renderer",b(f,this),f.push(this),r=null}else a=this.alignOptions,c=this.alignByTranslate,d=this.alignTo;r=D(r,k[d],k);d=a.align;k=a.verticalAlign;f=(r.x||0)+(a.x||0);g=(r.y||0)+(a.y||0);"right"===d?K=1:"center"===d&&(K=2);K&&(f+=(r.width-(a.width||0))/K);m[c?"translateX":"x"]=Math.round(f); "bottom"===k?I=1:"middle"===k&&(I=2);I&&(g+=(r.height-(a.height||0))/I);m[c?"translateY":"y"]=Math.round(g);this[this.placed?"animate":"attr"](m);this.placed=!0;this.alignAttr=m;return this},getBBox:function(b,a){var c,r=this.renderer,d,k=this.element,f=this.styles,m,K=this.textStr,I,v=r.cache,B=r.cacheKeys,E=k.namespaceURI===this.SVG_NS,n;a=D(a,this.rotation);d=a*e;m=r.styledMode?k&&A.prototype.getStyle.call(k,"font-size"):f&&f.fontSize;q(K)&&(n=K.toString(),-1===n.indexOf("\x3c")&&(n=n.replace(/[0-9]/g, "0")),n+=["",a||0,m,this.textWidth,f&&f.textOverflow].join());n&&!b&&(c=v[n]);if(!c){if(E||r.forExport){try{(I=this.fakeTS&&function(b){[].forEach.call(k.querySelectorAll(".highcharts-text-outline"),function(a){a.style.display=b})})&&I("none"),c=k.getBBox?g({},k.getBBox()):{width:k.offsetWidth,height:k.offsetHeight},I&&I("")}catch(aa){}if(!c||0>c.width)c={width:0,height:0}}else c=this.htmlGetBBox();r.isSVG&&(b=c.width,r=c.height,E&&(c.height=r={"11px,17":14,"13px,20":16}[f&&f.fontSize+","+Math.round(r)]|| r),a&&(c.width=Math.abs(r*Math.sin(d))+Math.abs(b*Math.cos(d)),c.height=Math.abs(r*Math.cos(d))+Math.abs(b*Math.sin(d))));if(n&&0<c.height){for(;250<B.length;)delete v[B.shift()];v[n]||B.push(n);v[n]=c}}return c},show:function(b){return this.attr({visibility:b?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(b){var a=this;a.animate({opacity:0},{duration:b||150,complete:function(){a.attr({y:-9999})}})},add:function(b){var a=this.renderer,c=this.element, r;b&&(this.parentGroup=b);this.parentInverted=b&&b.inverted;void 0!==this.textStr&&a.buildText(this);this.added=!0;if(!b||b.handleZ||this.zIndex)r=this.zIndexSetter();r||(b?b.element:a.box).appendChild(c);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(b){var a=b.parentNode;a&&a.removeChild(b)},destroy:function(){var a=this,c=a.element||{},r=a.renderer,d=r.isSVG&&"SPAN"===c.nodeName&&a.parentGroup,k=c.ownerSVGElement,f=a.clipPath;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove= c.point=null;N(a);f&&k&&([].forEach.call(k.querySelectorAll("[clip-path],[CLIP-PATH]"),function(b){-1<b.getAttribute("clip-path").indexOf(f.element.id)&&b.removeAttribute("clip-path")}),a.clipPath=f.destroy());if(a.stops){for(k=0;k<a.stops.length;k++)a.stops[k]=a.stops[k].destroy();a.stops=null}a.safeRemoveChild(c);for(r.styledMode||a.destroyShadows();d&&d.div&&0===d.div.childNodes.length;)c=d.parentGroup,a.safeRemoveChild(d.div),delete d.div,d=c;a.alignTo&&b(r.alignedObjects,a);H(a,function(b,c){delete a[c]}); return null},shadow:function(b,a,c){var r=[],d,k,f=this.element,g,m,I,K;if(!b)this.destroyShadows();else if(!this.shadows){m=D(b.width,3);I=(b.opacity||.15)/m;K=this.parentInverted?"(-1,-1)":"("+D(b.offsetX,1)+", "+D(b.offsetY,1)+")";for(d=1;d<=m;d++)k=f.cloneNode(0),g=2*m+1-2*d,l(k,{stroke:b.color||"#000000","stroke-opacity":I*d,"stroke-width":g,transform:"translate"+K,fill:"none"}),k.setAttribute("class",(k.getAttribute("class")||"")+" highcharts-shadow"),c&&(l(k,"height",Math.max(l(k,"height")- g,0)),k.cutHeight=g),a?a.element.appendChild(k):f.parentNode&&f.parentNode.insertBefore(k,f),r.push(k);this.shadows=r}return this},destroyShadows:function(){(this.shadows||[]).forEach(function(b){this.safeRemoveChild(b)},this);this.shadows=void 0},xGetter:function(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)},_defaultGetter:function(b){b=D(this[b+"Value"],this[b],this.element?this.element.getAttribute(b):null,0);/^[\-0-9\.]+$/.test(b)&&(b=parseFloat(b)); return b},dSetter:function(b,a,c){b&&b.join&&(b=b.join(" "));/(NaN| {2}|^$)/.test(b)&&(b="M 0 0");this[a]!==b&&(c.setAttribute(a,b),this[a]=b)},dashstyleSetter:function(b){var a,c=this["stroke-width"];"inherit"===c&&(c=1);if(b=b&&b.toLowerCase()){b=b.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(a=b.length;a--;)b[a]= E(b[a])*c;b=b.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",b)}},alignSetter:function(b){var a={left:"start",center:"middle",right:"end"};a[b]&&(this.alignValue=b,this.element.setAttribute("text-anchor",a[b]))},opacitySetter:function(b,a,c){this[a]=b;c.setAttribute(a,b)},titleSetter:function(b){var a=this.element.getElementsByTagName("title")[0];a||(a=n.createElementNS(this.SVG_NS,"title"),this.element.appendChild(a));a.firstChild&&a.removeChild(a.firstChild);a.appendChild(n.createTextNode(String(D(b), "").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(b){b!==this.textStr&&(delete this.bBox,this.textStr=b,this.added&&this.renderer.buildText(this))},setTextPath:function(b,c){var r=this.element,d={textAnchor:"text-anchor"},f,g=!1,m,I=this.textPathWrapper,v=!I;c=k(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},c);f=c.attributes;if(b&&c&&c.enabled){this.options&&this.options.padding&&(f.dx=-this.options.padding);I||(this.textPathWrapper= I=this.renderer.createElement("textPath"),g=!0);m=I.element;(c=b.element.getAttribute("id"))||b.element.setAttribute("id",c=a.uniqueKey());if(v)for(b=r.getElementsByTagName("tspan");b.length;)b[0].setAttribute("y",0),m.appendChild(b[0]);g&&I.add({element:this.text?this.text.element:r});m.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+c);q(f.dy)&&(m.parentNode.setAttribute("dy",f.dy),delete f.dy);q(f.dx)&&(m.parentNode.setAttribute("dx",f.dx),delete f.dx);a.objectEach(f, function(b,a){m.setAttribute(d[a]||a,b)});r.removeAttribute("transform");this.removeTextOutline.call(I,[].slice.call(r.getElementsByTagName("tspan")));this.applyTextOutline=this.updateTransform=B}else I&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(r,b));return this},destroyTextPath:function(b,a){var c;a.element.setAttribute("id","");for(c=this.textPathWrapper.element.childNodes;c.length;)b.firstChild.appendChild(c[0]);b.firstChild.removeChild(this.textPathWrapper.element); delete a.textPathWrapper},fillSetter:function(b,a,c){"string"===typeof b?c.setAttribute(a,b):b&&this.complexColor(b,a,c)},visibilitySetter:function(b,a,c){"inherit"===b?c.removeAttribute(a):this[a]!==b&&c.setAttribute(a,b);this[a]=b},zIndexSetter:function(b,a){var c=this.renderer,r=this.parentGroup,d=(r||c).element||c.box,k,f=this.element,m,g,c=d===c.box;k=this.added;var I;q(b)?(f.setAttribute("data-z-index",b),b=+b,this[a]===b&&(k=!1)):q(this[a])&&f.removeAttribute("data-z-index");this[a]=b;if(k){(b= this.zIndex)&&r&&(r.handleZ=!0);a=d.childNodes;for(I=a.length-1;0<=I&&!m;I--)if(r=a[I],k=r.getAttribute("data-z-index"),g=!q(k),r!==f)if(0>b&&g&&!c&&!I)d.insertBefore(f,a[I]),m=!0;else if(E(k)<=b||g&&(!q(b)||0<=b))d.insertBefore(f,a[I+1]||null),m=!0;m||(d.insertBefore(f,a[c?3:0]||null),m=!0)}return m},_defaultSetter:function(b,a,c){c.setAttribute(a,b)}});A.prototype.yGetter=A.prototype.xGetter;A.prototype.translateXSetter=A.prototype.translateYSetter=A.prototype.rotationSetter=A.prototype.verticalAlignSetter= A.prototype.rotationOriginXSetter=A.prototype.rotationOriginYSetter=A.prototype.scaleXSetter=A.prototype.scaleYSetter=A.prototype.matrixSetter=function(b,a){this[a]=b;this.doTransform=!0};A.prototype["stroke-widthSetter"]=A.prototype.strokeSetter=function(b,a,c){this[a]=b;this.stroke&&this["stroke-width"]?(A.prototype.fillSetter.call(this,this.stroke,"stroke",c),c.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===a&&0===b&&this.hasStroke&&(c.removeAttribute("stroke"), this.hasStroke=!1)};y=a.SVGRenderer=function(){this.init.apply(this,arguments)};g(y.prototype,{Element:A,SVG_NS:L,init:function(b,a,c,r,d,k,g){var I;I=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});g||I.css(this.getStyle(r));r=I.element;b.appendChild(r);l(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&l(r,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=r;this.boxWrapper=I;this.alignedObjects=[];this.url=(f||m)&&n.getElementsByTagName("base").length?U.location.href.split("#")[0].replace(/<[^>]*>/g, "").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(n.createTextNode("Created with Highcharts 7.1.0"));this.defs=this.createElement("defs").add();this.allowHTML=k;this.forExport=d;this.styledMode=g;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(a,c,!1);var v;f&&b.getBoundingClientRect&&(a=function(){x(b,{left:0,top:0});v=b.getBoundingClientRect();x(b,{left:Math.ceil(v.left)-v.left+"px",top:Math.ceil(v.top)-v.top+ "px"})},a(),this.unSubPixelFix=C(U,"resize",a))},definition:function(b){function a(b,r){var d;I(b).forEach(function(b){var k=c.createElement(b.tagName),f={};H(b,function(b,a){"tagName"!==a&&"children"!==a&&"textContent"!==a&&(f[a]=b)});k.attr(f);k.add(r||c.defs);b.textContent&&k.element.appendChild(n.createTextNode(b.textContent));a(b.children||[],k);d=k});return d}var c=this;return a(b)},getStyle:function(b){return this.style=g({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif', fontSize:"12px"},b)},setStyle:function(b){this.boxWrapper.css(this.getStyle(b))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();h(this.gradients||{});this.gradients=null;b&&(this.defs=b.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(b){var a=new this.Element;a.init(this,b);return a},draw:B,getRadialAttr:function(b,a){return{cx:b[0]-b[2]/ 2+a.cx*b[2],cy:b[1]-b[2]/2+a.cy*b[2],r:a.r*b[2]}},truncate:function(b,a,c,r,k,d,f){var m=this,g=b.rotation,I,v=r?1:0,B=(c||r).length,E=B,h=[],e=function(b){a.firstChild&&a.removeChild(a.firstChild);b&&a.appendChild(n.createTextNode(b))},L=function(d,g){g=g||d;if(void 0===h[g])if(a.getSubStringLength)try{h[g]=k+a.getSubStringLength(0,r?g+1:g)}catch(fa){}else m.getSpanWidth&&(e(f(c||r,d)),h[g]=k+m.getSpanWidth(b,a));return h[g]},K,H;b.rotation=0;K=L(a.textContent.length);if(H=k+K>d){for(;v<=B;)E=Math.ceil((v+ B)/2),r&&(I=f(r,E)),K=L(E,I&&I.length-1),v===B?v=B+1:K>d?B=E-1:v=E;0===B?e(""):c&&B===c.length-1||e(I||f(c||r,E))}r&&r.splice(0,E);b.actualWidth=K;b.rotation=g;return H},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(b){var a=b.element,c=this,r=c.forExport,d=D(b.textStr,"").toString(),k=-1!==d.indexOf("\x3c"),f=a.childNodes,g,m=l(a,"x"),I=b.styles,v=b.textWidth,B=I&&I.lineHeight,h=I&&I.textOutline,e=I&&"ellipsis"===I.textOverflow,z= I&&"nowrap"===I.whiteSpace,q=I&&I.fontSize,K,F,N=f.length,I=v&&!b.added&&this.box,u=function(b){var r;c.styledMode||(r=/(px|em)$/.test(b&&b.style.fontSize)?b.style.fontSize:q||c.style.fontSize||12);return B?E(B):c.fontMetrics(r,b.getAttribute("style")?b:a).h},O=function(b,a){H(c.escapes,function(c,r){a&&-1!==a.indexOf(c)||(b=b.toString().replace(new RegExp(c,"g"),r))});return b},p=function(b,a){var c;c=b.indexOf("\x3c");b=b.substring(c,b.indexOf("\x3e")-c);c=b.indexOf(a+"\x3d");if(-1!==c&&(c=c+a.length+ 1,a=b.charAt(c),'"'===a||"'"===a))return b=b.substring(c+1),b.substring(0,b.indexOf(a))};K=[d,e,z,B,h,q,v].join();if(K!==b.textCache){for(b.textCache=K;N--;)a.removeChild(f[N]);k||h||e||v||-1!==d.indexOf(" ")?(I&&I.appendChild(a),k?(d=c.styledMode?d.replace(/<(b|strong)>/g,'\x3cspan class\x3d"highcharts-strong"\x3e').replace(/<(i|em)>/g,'\x3cspan class\x3d"highcharts-emphasized"\x3e'):d.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e'), d=d.replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g)):d=[d],d=d.filter(function(b){return""!==b}),d.forEach(function(d,k){var f,I=0,B=0;d=d.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");f=d.split("|||");f.forEach(function(d){if(""!==d||1===f.length){var E={},h=n.createElementNS(c.SVG_NS,"tspan"),H,K;(H=p(d,"class"))&&l(h,"class",H);if(H=p(d,"style"))H=H.replace(/(;| |^)color([ :])/,"$1fill$2"),l(h,"style", H);(K=p(d,"href"))&&!r&&(l(h,"onclick",'location.href\x3d"'+K+'"'),l(h,"class","highcharts-anchor"),c.styledMode||x(h,{cursor:"pointer"}));d=O(d.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==d){h.appendChild(n.createTextNode(d));I?E.dx=0:k&&null!==m&&(E.x=m);l(h,E);a.appendChild(h);!I&&F&&(!S&&r&&x(h,{display:"block"}),l(h,"dy",u(h)));if(v){var D=d.replace(/([^\^])-/g,"$1- ").split(" "),E=!z&&(1<f.length||k||1<D.length);K=0;var N=u(h);if(e)g=c.truncate(b,h,d,void 0,0,Math.max(0,v-parseInt(q|| 12,10)),function(b,a){return b.substring(0,a)+"\u2026"});else if(E)for(;D.length;)D.length&&!z&&0<K&&(h=n.createElementNS(L,"tspan"),l(h,{dy:N,x:m}),H&&l(h,"style",H),h.appendChild(n.createTextNode(D.join(" ").replace(/- /g,"-"))),a.appendChild(h)),c.truncate(b,h,null,D,0===K?B:0,v,function(b,a){return D.slice(0,a).join(" ").replace(/- /g,"-")}),B=b.actualWidth,K++}I++}}});F=F||a.childNodes.length}),e&&g&&b.attr("title",O(b.textStr,["\x26lt;","\x26gt;"])),I&&I.removeChild(a),h&&b.applyTextOutline&& b.applyTextOutline(h)):a.appendChild(n.createTextNode(O(d)))}},getContrast:function(b){b=w(b).rgba;b[0]*=1;b[1]*=1.2;b[2]*=.5;return 459<b[0]+b[1]+b[2]?"#000000":"#FFFFFF"},button:function(b,a,c,r,d,f,m,I,B,E){var h=this.label(b,a,c,B,null,null,E,null,"button"),n=0,e=this.styledMode;h.attr(k({padding:8,r:2},d));if(!e){var H,L,z,q;d=k({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},d);H=d.style;delete d.style;f=k(d,{fill:"#e6e6e6"},f); L=f.style;delete f.style;m=k(d,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},m);z=m.style;delete m.style;I=k(d,{style:{color:"#cccccc"}},I);q=I.style;delete I.style}C(h.element,v?"mouseover":"mouseenter",function(){3!==n&&h.setState(1)});C(h.element,v?"mouseout":"mouseleave",function(){3!==n&&h.setState(n)});h.setState=function(b){1!==b&&(h.state=n=b);h.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b|| 0]);e||h.attr([d,f,m,I][b||0]).css([H,L,z,q][b||0])};e||h.attr(d).css(g({cursor:"default"},H));return h.on("click",function(b){3!==n&&r.call(h,b)})},crispLine:function(b,a){b[1]===b[4]&&(b[1]=b[4]=Math.round(b[1])-a%2/2);b[2]===b[5]&&(b[2]=b[5]=Math.round(b[2])+a%2/2);return b},path:function(b){var a=this.styledMode?{}:{fill:"none"};d(b)?a.d=b:z(b)&&g(a,b);return this.createElement("path").attr(a)},circle:function(b,a,c){b=z(b)?b:void 0===b?{}:{x:b,y:a,r:c};a=this.createElement("circle");a.xSetter= a.ySetter=function(b,a,c){c.setAttribute("c"+a,b)};return a.attr(b)},arc:function(b,a,c,r,d,k){z(b)?(r=b,a=r.y,c=r.r,b=r.x):r={innerR:r,start:d,end:k};b=this.symbol("arc",b,a,c,c,r);b.r=c;return b},rect:function(b,a,c,r,d,k){d=z(b)?b.r:d;var f=this.createElement("rect");b=z(b)?b:void 0===b?{}:{x:b,y:a,width:Math.max(c,0),height:Math.max(r,0)};this.styledMode||(void 0!==k&&(b.strokeWidth=k,b=f.crisp(b)),b.fill="none");d&&(b.r=d);f.rSetter=function(b,a,c){f.r=b;l(c,{rx:b,ry:b})};f.rGetter=function(){return f.r}; return f.attr(b)},setSize:function(b,a,c){var r=this.alignedObjects,d=r.length;this.width=b;this.height=a;for(this.boxWrapper.animate({width:b,height:a},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:D(c,!0)?void 0:0});d--;)r[d].align()},g:function(b){var a=this.createElement("g");return b?a.attr({"class":"highcharts-"+b}):a},image:function(b,a,c,r,d,k){var f={preserveAspectRatio:"none"},m,I=function(b,a){b.setAttributeNS?b.setAttributeNS("http://www.w3.org/1999/xlink", "href",a):b.setAttribute("hc-svg-href",a)},v=function(a){I(m.element,b);k.call(m,a)};1<arguments.length&&g(f,{x:a,y:c,width:r,height:d});m=this.createElement("image").attr(f);k?(I(m.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),f=new U.Image,C(f,"load",v),f.src=b,f.complete&&v({})):I(m.element,b);return m},symbol:function(b,a,c,r,d,k){var f=this,m,I=/^url\((.*?)\)$/,v=I.test(b),B=!v&&(this.symbols[b]?b:"circle"),h=B&&this.symbols[B],E=q(a)&&h&&h.call(this.symbols, Math.round(a),Math.round(c),r,d,k),e,H;h?(m=this.path(E),f.styledMode||m.attr("fill","none"),g(m,{symbolName:B,x:a,y:c,width:r,height:d}),k&&g(m,k)):v&&(e=b.match(I)[1],m=this.image(e),m.imgwidth=D(O[e]&&O[e].width,k&&k.width),m.imgheight=D(O[e]&&O[e].height,k&&k.height),H=function(){m.attr({width:m.width,height:m.height})},["width","height"].forEach(function(b){m[b+"Setter"]=function(b,a){var c={},r=this["img"+a],d="width"===a?"translateX":"translateY";this[a]=b;q(r)&&(k&&"within"===k.backgroundSize&& this.width&&this.height&&(r=Math.round(r*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(a,r),this.alignByTranslate||(c[d]=((this[a]||0)-r)/2,this.attr(c)))}}),q(a)&&m.attr({x:a,y:c}),m.isImg=!0,q(m.imgwidth)&&q(m.imgheight)?H():(m.attr({width:0,height:0}),u("img",{onload:function(){var b=t[f.chartIndex];0===this.width&&(x(this,{position:"absolute",top:"-999em"}),n.body.appendChild(this));O[e]={width:this.width,height:this.height};m.imgwidth= this.width;m.imgheight=this.height;m.element&&H();this.parentNode&&this.parentNode.removeChild(this);f.imgCount--;if(!f.imgCount&&b&&b.onload)b.onload()},src:e}),this.imgCount++));return m},symbols:{circle:function(b,a,c,r){return this.arc(b+c/2,a+r/2,c/2,r/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(b,a,c,r){return["M",b,a,"L",b+c,a,b+c,a+r,b,a+r,"Z"]},triangle:function(b,a,c,r){return["M",b+c/2,a,"L",b+c,a+r,b,a+r,"Z"]},"triangle-down":function(b,a,c,r){return["M",b,a,"L",b+c, a,b+c/2,a+r,"Z"]},diamond:function(b,a,c,r){return["M",b+c/2,a,"L",b+c,a+r/2,b+c/2,a+r,b,a+r/2,"Z"]},arc:function(b,a,c,r,d){var k=d.start,f=d.r||c,m=d.r||r||c,g=d.end-.001;c=d.innerR;r=D(d.open,.001>Math.abs(d.end-d.start-2*Math.PI));var I=Math.cos(k),v=Math.sin(k),B=Math.cos(g),g=Math.sin(g),k=.001>d.end-k-Math.PI?0:1;d=["M",b+f*I,a+m*v,"A",f,m,0,k,D(d.clockwise,1),b+f*B,a+m*g];q(c)&&d.push(r?"M":"L",b+c*B,a+c*g,"A",c,c,0,k,0,b+c*I,a+c*v);d.push(r?"":"Z");return d},callout:function(b,a,c,r,d){var k= Math.min(d&&d.r||0,c,r),f=k+6,m=d&&d.anchorX;d=d&&d.anchorY;var g;g=["M",b+k,a,"L",b+c-k,a,"C",b+c,a,b+c,a,b+c,a+k,"L",b+c,a+r-k,"C",b+c,a+r,b+c,a+r,b+c-k,a+r,"L",b+k,a+r,"C",b,a+r,b,a+r,b,a+r-k,"L",b,a+k,"C",b,a,b,a,b+k,a];m&&m>c?d>a+f&&d<a+r-f?g.splice(13,3,"L",b+c,d-6,b+c+6,d,b+c,d+6,b+c,a+r-k):g.splice(13,3,"L",b+c,r/2,m,d,b+c,r/2,b+c,a+r-k):m&&0>m?d>a+f&&d<a+r-f?g.splice(33,3,"L",b,d+6,b-6,d,b,d-6,b,a+k):g.splice(33,3,"L",b,r/2,m,d,b,r/2,b,a+k):d&&d>r&&m>b+f&&m<b+c-f?g.splice(23,3,"L",m+6,a+ r,m,a+r+6,m-6,a+r,b+k,a+r):d&&0>d&&m>b+f&&m<b+c-f&&g.splice(3,3,"L",m-6,a,m,a-6,m+6,a,c-k,a);return g}},clipRect:function(b,c,r,d){var k=a.uniqueKey()+"-",f=this.createElement("clipPath").attr({id:k}).add(this.defs);b=this.rect(b,c,r,d,0).add(f);b.id=k;b.clipPath=f;b.count=0;return b},text:function(b,a,c,r){var d={};if(r&&(this.allowHTML||!this.forExport))return this.html(b,a,c);d.x=Math.round(a||0);c&&(d.y=Math.round(c));q(b)&&(d.text=b);b=this.createElement("text").attr(d);r||(b.xSetter=function(b, a,c){var r=c.getElementsByTagName("tspan"),d,k=c.getAttribute(a),f;for(f=0;f<r.length;f++)d=r[f],d.getAttribute(a)===k&&d.setAttribute(a,b);c.setAttribute(a,b)});return b},fontMetrics:function(b,a){b=!this.styledMode&&/px/.test(b)||!U.getComputedStyle?b||a&&a.style&&a.style.fontSize||this.style&&this.style.fontSize:a&&A.prototype.getStyle.call(a,"font-size");b=/px/.test(b)?E(b):12;a=24>b?b+3:Math.round(1.2*b);return{h:a,b:Math.round(.8*a),f:b}},rotCorr:function(b,a,c){var r=b;a&&c&&(r=Math.max(r* Math.cos(a*e),4));return{x:-b/3*Math.sin(a*e),y:r}},label:function(b,c,d,f,m,I,v,B,h){var E=this,n=E.styledMode,e=E.g("button"!==h&&"label"),H=e.text=E.text("",0,0,v).attr({zIndex:1}),L,z,D=0,F=3,S=0,N,l,u,O,K,p={},U,w,t=/^url\((.*?)\)$/.test(f),x=n||t,ea=function(){return n?L.strokeWidth()%2/2:(U?parseInt(U,10):0)%2/2},ca,y,C;h&&e.addClass("highcharts-"+h);ca=function(){var b=H.element.style,a={};z=(void 0===N||void 0===l||K)&&q(H.textStr)&&H.getBBox();e.width=(N||z.width||0)+2*F+S;e.height=(l|| z.height||0)+2*F;w=F+Math.min(E.fontMetrics(b&&b.fontSize,H).b,z?z.height:Infinity);x&&(L||(e.box=L=E.symbols[f]||t?E.symbol(f):E.rect(),L.addClass(("button"===h?"":"highcharts-label-box")+(h?" highcharts-"+h+"-box":"")),L.add(e),b=ea(),a.x=b,a.y=(B?-w:0)+b),a.width=Math.round(e.width),a.height=Math.round(e.height),L.attr(g(a,p)),p={})};y=function(){var b=S+F,a;a=B?0:w;q(N)&&z&&("center"===K||"right"===K)&&(b+={center:.5,right:1}[K]*(N-z.width));if(b!==H.x||a!==H.y)H.attr("x",b),H.hasBoxWidthChanged&& (z=H.getBBox(!0),ca()),void 0!==a&&H.attr("y",a);H.x=b;H.y=a};C=function(b,a){L?L.attr(b,a):p[b]=a};e.onAdd=function(){H.add(e);e.attr({text:b||0===b?b:"",x:c,y:d});L&&q(m)&&e.attr({anchorX:m,anchorY:I})};e.widthSetter=function(b){N=a.isNumber(b)?b:null};e.heightSetter=function(b){l=b};e["text-alignSetter"]=function(b){K=b};e.paddingSetter=function(b){q(b)&&b!==F&&(F=e.padding=b,y())};e.paddingLeftSetter=function(b){q(b)&&b!==S&&(S=b,y())};e.alignSetter=function(b){b={left:0,center:.5,right:1}[b]; b!==D&&(D=b,z&&e.attr({x:u}))};e.textSetter=function(b){void 0!==b&&H.attr({text:b});ca();y()};e["stroke-widthSetter"]=function(b,a){b&&(x=!0);U=this["stroke-width"]=b;C(a,b)};n?e.rSetter=function(b,a){C(a,b)}:e.strokeSetter=e.fillSetter=e.rSetter=function(b,a){"r"!==a&&("fill"===a&&b&&(x=!0),e[a]=b);C(a,b)};e.anchorXSetter=function(b,a){m=e.anchorX=b;C(a,Math.round(b)-ea()-u)};e.anchorYSetter=function(b,a){I=e.anchorY=b;C(a,b-O)};e.xSetter=function(b){e.x=b;D&&(b-=D*((N||z.width)+2*F),e["forceAnimate:x"]= !0);u=Math.round(b);e.attr("translateX",u)};e.ySetter=function(b){O=e.y=Math.round(b);e.attr("translateY",O)};var P=e.css;v={css:function(b){if(b){var a={};b=k(b);e.textProps.forEach(function(c){void 0!==b[c]&&(a[c]=b[c],delete b[c])});H.css(a);"width"in a&&ca();"fontSize"in a&&(ca(),y())}return P.call(e,b)},getBBox:function(){return{width:z.width+2*F,height:z.height+2*F,x:z.x-F,y:z.y-F}},destroy:function(){r(e.element,"mouseenter");r(e.element,"mouseleave");H&&(H=H.destroy());L&&(L=L.destroy()); A.prototype.destroy.call(e);e=E=ca=y=C=null}};n||(v.shadow=function(b){b&&(ca(),L&&L.shadow(b));return e});return g(e,v)}});a.Renderer=y});J(G,"parts/Html.js",[G["parts/Globals.js"]],function(a){var A=a.attr,y=a.createElement,C=a.css,p=a.defined,l=a.extend,t=a.isFirefox,w=a.isMS,x=a.isWebKit,u=a.pick,q=a.pInt,e=a.SVGElement,h=a.SVGRenderer,n=a.win;l(e.prototype,{htmlCss:function(a){var b="SPAN"===this.element.tagName&&a&&"width"in a,c=u(b&&a.width,void 0),d;b&&(delete a.width,this.textWidth=c,d=!0); a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=l(this.styles,a);C(this.element,a);d&&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,b=this.element,c=this.translateX||0,d=this.translateY||0,f=this.x||0,v=this.y||0,h=this.textAlign||"left",e={left:0,center:.5,right:1}[h],m=this.styles, k=m&&m.whiteSpace;C(b,{marginLeft:c,marginTop:d});!a.styledMode&&this.shadows&&this.shadows.forEach(function(b){C(b,{marginLeft:c+1,marginTop:d+1})});this.inverted&&[].forEach.call(b.childNodes,function(c){a.invertChild(c,b)});if("SPAN"===b.tagName){var m=this.rotation,B=this.textWidth&&q(this.textWidth),n=[m,h,b.innerHTML,this.textWidth,this.textAlign].join(),D;(D=B!==this.oldTextWidth)&&!(D=B>this.oldTextWidth)&&((D=this.textPxLength)||(C(b,{width:"",whiteSpace:k||"nowrap"}),D=b.offsetWidth),D= D>B);D&&(/[ \-]/.test(b.textContent||b.innerText)||"ellipsis"===b.style.textOverflow)?(C(b,{width:B+"px",display:"block",whiteSpace:k||"normal"}),this.oldTextWidth=B,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;n!==this.cTT&&(k=a.fontMetrics(b.style.fontSize,b).b,!p(m)||m===(this.oldRotation||0)&&h===this.oldAlign||this.setSpanRotation(m,e,k),this.getSpanCorrection(!p(m)&&this.textPxLength||b.offsetWidth,k,e,m,h));C(b,{left:f+(this.xCorr||0)+"px",top:v+(this.yCorr||0)+"px"});this.cTT=n; this.oldRotation=m;this.oldAlign=h}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},f=this.renderer.getTransformKey();d[f]=d.transform="rotate("+a+"deg)";d[f+(t?"Origin":"-origin")]=d.transformOrigin=100*b+"% "+c+"px";C(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c;this.yCorr=-b}});l(h.prototype,{getTransformKey:function(){return w&&!/Edge/.test(n.navigator.userAgent)?"-ms-transform":x?"-webkit-transform":t?"MozTransform":n.opera?"-o-transform":""},html:function(g, b,c){var d=this.createElement("span"),f=d.element,v=d.renderer,h=v.isSVG,n=function(b,a){["opacity","visibility"].forEach(function(c){b[c+"Setter"]=function(d,k,r){var f=b.div?b.div.style:a;e.prototype[c+"Setter"].call(this,d,k,r);f&&(f[k]=d)}});b.addedSetters=!0},m=a.charts[v.chartIndex],m=m&&m.styledMode;d.textSetter=function(b){b!==f.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=b;f.innerHTML=u(b,"");d.doTransform=!0};h&&n(d,d.element.style);d.xSetter=d.ySetter=d.alignSetter= d.rotationSetter=function(b,a){"align"===a&&(a="textAlign");d[a]=b;d.doTransform=!0};d.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};d.attr({text:g,x:Math.round(b),y:Math.round(c)}).css({position:"absolute"});m||d.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});f.style.whiteSpace="nowrap";d.css=d.htmlCss;h&&(d.add=function(b){var a,c=v.box.parentNode,k=[];if(this.parentGroup=b){if(a=b.div,!a){for(;b;)k.push(b),b=b.parentGroup;k.reverse().forEach(function(b){function r(a, c){b[c]=a;"translateX"===c?f.left=a+"px":f.top=a+"px";b.doTransform=!0}var f,m=A(b.element,"class");m&&(m={className:m});a=b.div=b.div||y("div",m,{position:"absolute",left:(b.translateX||0)+"px",top:(b.translateY||0)+"px",display:b.display,opacity:b.opacity,pointerEvents:b.styles&&b.styles.pointerEvents},a||c);f=a.style;l(b,{classSetter:function(b){return function(a){this.element.setAttribute("class",a);b.className=a}}(a),on:function(){k[0].div&&d.on.apply({element:k[0].div},arguments);return b}, translateXSetter:r,translateYSetter:r});b.addedSetters||n(b)})}}else a=c;a.appendChild(f);d.added=!0;d.alignOnAdd&&d.htmlUpdateTransform();return d});return d}})});J(G,"parts/Time.js",[G["parts/Globals.js"]],function(a){var A=a.defined,y=a.extend,C=a.merge,p=a.pick,l=a.timeUnits,t=a.w