/* Highmaps JS v5.0.6 (2016-12-07) (c) 2011-2016 Torstein Honsi License: www.highcharts.com/license */ (function(K,a){"object"===typeof module&&module.exports?module.exports=K.document?a(K):a:K.Highcharts=a(K)})("undefined"!==typeof window?window:this,function(K){K=function(){var a=window,z=a.document,D=a.navigator&&a.navigator.userAgent||"",C=z&&z.createElementNS&&!!z.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,B=/(edge|msie|trident)/i.test(D)&&!window.opera,d=!C,h=/Firefox/.test(D),q=h&&4>parseInt(D.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highmaps", version:"5.0.6",deg2rad:2*Math.PI/360,doc:z,hasBidiBug:q,hasTouch:z&&void 0!==z.documentElement.ontouchstart,isMS:B,isWebKit:/AppleWebKit/.test(D),isFirefox:h,isTouchDevice:/(Mobile|Android|Windows Phone)/.test(D),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:C,vml:d,win:a,charts:[],marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){}}}();(function(a){var z=[],D=a.charts,C=a.doc,B=a.win;a.error=function(d,h){d=a.isNumber(d)?"Highcharts error #"+ d+": www.highcharts.com/errors/"+d:d;if(h)throw Error(d);B.console&&console.log(d)};a.Fx=function(a,h,q){this.options=h;this.elem=a;this.prop=q};a.Fx.prototype={dSetter:function(){var a=this.paths[0],h=this.paths[1],q=[],t=this.now,g=a.length,p;if(1===t)q=this.toD;else if(g===h.length&&1>t)for(;g--;)p=parseFloat(a[g]),q[g]=isNaN(p)?a[g]:t*parseFloat(h[g]-p)+p;else q=h;this.elem.attr("d",q,null,!0)},update:function(){var a=this.elem,h=this.prop,q=this.now,t=this.options.step;if(this[h+"Setter"])this[h+ "Setter"]();else a.attr?a.element&&a.attr(h,q,null,!0):a.style[h]=q+this.unit;t&&t.call(a,q,this)},run:function(a,h,q){var d=this,g=function(a){return g.stopped?!1:d.step(a)},p;this.startTime=+new Date;this.start=a;this.end=h;this.unit=q;this.now=this.start;this.pos=0;g.elem=this.elem;g.prop=this.prop;g()&&1===z.push(g)&&(g.timerId=setInterval(function(){for(p=0;p=p+this.startTime){this.now=this.end;this.pos=1;this.update();a=f[this.prop]=!0;for(n in f)!0!==f[n]&&(a=!1);a&&g&&g.call(q);q=!1}else this.pos=t.easing((d-this.startTime)/p),this.now=this.start+(this.end-this.start)*this.pos,this.update(),q=!0;return q},initPath:function(d,h,q){function t(a){var r,c;for(b=a.length;b--;)r="M"===a[b]||"L"===a[b],c=/[a-zA-Z]/.test(a[b+3]),r&&c&&a.splice(b+1,0,a[b+1],a[b+2],a[b+1],a[b+ 2])}function g(a,r){for(;a.lengthf?"AM":"PM",P:12>f?"am":"pm",S:F(g.getSeconds()),L:F(Math.round(h% 1E3),3)},a.dateFormats);for(p in t)for(;-1!==d.indexOf("%"+p);)d=d.replace("%"+p,"function"===typeof t[p]?t[p](h):t[p]);return q?d.substr(0,1).toUpperCase()+d.substr(1):d};a.formatSingle=function(d,h){var q=/\.([0-9])/,t=a.defaultOptions.lang;/f$/.test(d)?(q=(q=d.match(q))?q[1]:-1,null!==h&&(h=a.numberFormat(h,q,t.decimalPoint,-1=q&&(h=[1/q]))); for(t=0;t=d||!g&&p<=(h[t]+(h[t+1]||h[t]))/2);t++);return f*q};a.stableSort=function(a,h){var d=a.length,t,g;for(g=0;gq&&(q=a[d]);return q};a.destroyObjectProperties=function(a,h){for(var d in a)a[d]&&a[d]!==h&&a[d].destroy&& a[d].destroy(),delete a[d]};a.discardElement=function(d){var h=a.garbageBin;h||(h=a.createElement("div"));d&&h.appendChild(d);h.innerHTML=""};a.correctFloat=function(a,h){return parseFloat(a.toPrecision(h||14))};a.setAnimation=function(d,h){h.renderer.globalAnimation=a.pick(d,h.options.chart.animation,!0)};a.animObject=function(d){return a.isObject(d)?a.merge(d):{duration:d?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat= function(d,h,q,t){d=+d||0;h=+h;var g=a.defaultOptions.lang,p=(d.toString().split(".")[1]||"").length,f,n,w=Math.abs(d);-1===h?h=Math.min(p,20):a.isNumber(h)||(h=2);f=String(a.pInt(w.toFixed(h)));n=3d?"-":"")+(n?f.substr(0,n)+t:"");d+=f.substr(n).replace(/(\d{3})(?=\d)/g,"$1"+t);h&&(t=Math.abs(w-f+Math.pow(10,-Math.max(h,p)-1)),d+=q+t.toFixed(h).slice(2));return d};Math.easeInOutSine=function(a){return-.5*(Math.cos(Math.PI* a)-1)};a.getStyle=function(d,h){return"width"===h?Math.min(d.offsetWidth,d.scrollWidth)-a.getStyle(d,"padding-left")-a.getStyle(d,"padding-right"):"height"===h?Math.min(d.offsetHeight,d.scrollHeight)-a.getStyle(d,"padding-top")-a.getStyle(d,"padding-bottom"):(d=B.getComputedStyle(d,void 0))&&a.pInt(d.getPropertyValue(h))};a.inArray=function(a,h){return h.indexOf?h.indexOf(a):[].indexOf.call(h,a)};a.grep=function(a,h){return[].filter.call(a,h)};a.find=function(a,h){return[].find.call(a,h)};a.map=function(a, h){for(var d=[],t=0,g=a.length;th;h++)t[h]+=d(255*a),0>t[h]&&(t[h]=0),255b.width)b={width:0, height:0}}else b=this.htmlGetBBox();E.isSVG&&(a=b.width,E=b.height,r&&l&&"11px"===l.fontSize&&"16.9"===E.toPrecision(3)&&(b.height=E=14),m&&(b.width=Math.abs(E*Math.sin(c))+Math.abs(a*Math.cos(c)),b.height=Math.abs(E*Math.cos(c))+Math.abs(a*Math.sin(c))));if(n&&0]*>/g,"")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a, m,b){"string"===typeof a?b.setAttribute(m,a):a&&this.colorGradient(a,m,b)},visibilitySetter:function(a,m,b){"inherit"===a?b.removeAttribute(m):b.setAttribute(m,a)},zIndexSetter:function(a,m){var b=this.renderer,c=this.parentGroup,r=(c||b).element||b.box,l,A=this.element,e;l=this.added;var H;p(a)&&(A.zIndex=a,a=+a,this[m]===a&&(l=!1),this[m]=a);if(l){(a=this.zIndex)&&c&&(c.handleZ=!0);m=r.childNodes;for(H=0;Ha||!p(a)&&p(l)||0>a&&!p(l)&&r!==b.box)&&(r.insertBefore(A, c),e=!0);e||r.appendChild(A)}return e},_defaultSetter:function(a,m,b){b.setAttribute(m,a)}};z.prototype.yGetter=z.prototype.xGetter;z.prototype.translateXSetter=z.prototype.translateYSetter=z.prototype.rotationSetter=z.prototype.verticalAlignSetter=z.prototype.scaleXSetter=z.prototype.scaleYSetter=function(a,m){this[m]=a;this.doTransform=!0};z.prototype["stroke-widthSetter"]=z.prototype.strokeSetter=function(a,m,b){this[m]=a;this.stroke&&this["stroke-width"]?(z.prototype.fillSetter.call(this,this.stroke, "stroke",b),b.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===m&&0===a&&this.hasStroke&&(b.removeAttribute("stroke"),this.hasStroke=!1)};D=a.SVGRenderer=function(){this.init.apply(this,arguments)};D.prototype={Element:z,SVG_NS:P,init:function(a,m,b,c,r,l){var A;c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(c));A=c.element;a.appendChild(A);-1===a.innerHTML.indexOf("xmlns")&&d(A,"xmlns",this.SVG_NS);this.isSVG=!0; this.box=A;this.boxWrapper=c;this.alignedObjects=[];this.url=(u||I)&&w.getElementsByTagName("base").length?R.location.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(w.createTextNode("Created with Highmaps 5.0.6"));this.defs=this.createElement("defs").add();this.allowHTML=l;this.forExport=r;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(m,b,!1);var e;u&&a.getBoundingClientRect&&(m=function(){t(a, {left:0,top:0});e=a.getBoundingClientRect();t(a,{left:Math.ceil(e.left)-e.left+"px",top:Math.ceil(e.top)-e.top+"px"})},m(),this.unSubPixelFix=C(R,"resize",m))},getStyle:function(a){return this.style=k({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(); n(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var m=new this.Element;m.init(this,a);return m},draw:x,getRadialAttr:function(a,m){return{cx:a[0]-a[2]/2+m.cx*a[2],cy:a[1]-a[2]/2+m.cy*a[2],r:m.r*a[2]}},buildText:function(a){for(var m=a.element,b=this,r=b.forExport,l=J(a.textStr,"").toString(),e=-1!==l.indexOf("\x3c"),y=m.childNodes,k,E,f,g,x=d(m,"x"),n=a.styles,u=a.textWidth,G=n&& n.lineHeight,p=n&&n.textOutline,F=n&&"ellipsis"===n.textOverflow,I=y.length,h=u&&!a.added&&this.box,M=function(a){var c;c=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:n&&n.fontSize||b.style.fontSize||12;return G?L(G):b.fontMetrics(c,a.getAttribute("style")?a:m).h};I--;)m.removeChild(y[I]);e||p||F||u||-1!==l.indexOf(" ")?(k=/<.*class="([^"]+)".*>/,E=/<.*style="([^"]+)".*>/,f=/<.*href="(http[^"]+)".*>/,h&&h.appendChild(m),l=e?l.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g, '\x3cspan style\x3d"font-style:italic"\x3e').replace(//g,"\x3c/span\x3e").split(//g):[l],l=c(l,function(a){return""!==a}),v(l,function(c,l){var e,y=0;c=c.replace(/^\s+|\s+$/g,"").replace(//g,"\x3c/span\x3e|||");e=c.split("|||");v(e,function(c){if(""!==c||1===e.length){var H={},G=w.createElementNS(b.SVG_NS,"tspan"),p,v;k.test(c)&&(p=c.match(k)[1],d(G,"class",p));E.test(c)&&(v=c.match(E)[1].replace(/(;| |^)color([ :])/, "$1fill$2"),d(G,"style",v));f.test(c)&&!r&&(d(G,"onclick",'location.href\x3d"'+c.match(f)[1]+'"'),t(G,{cursor:"pointer"}));c=(c.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"\x3c").replace(/>/g,"\x3e");if(" "!==c){G.appendChild(w.createTextNode(c));y?H.dx=0:l&&null!==x&&(H.x=x);d(G,H);m.appendChild(G);!y&&l&&(!A&&r&&t(G,{display:"block"}),d(G,"dy",M(G)));if(u){H=c.replace(/([^\^])-/g,"$1- ").split(" ");p="nowrap"===n.whiteSpace;for(var I=1u,void 0===g&&(g=h),F&&g?(O/=2,""===q||!h&&.5>O?H=[]:(q=c.substring(0,q.length+(h?-1:1)*Math.ceil(O)),H=[q+(3u&&(u=J)),H.length&& G.appendChild(w.createTextNode(H.join(" ").replace(/- /g,"-")));a.rotation=T}y++}}})}),g&&a.attr("title",a.textStr),h&&h.removeChild(m),p&&a.applyTextOutline&&a.applyTextOutline(p)):m.appendChild(w.createTextNode(l.replace(/</g,"\x3c").replace(/>/g,"\x3e")))},getContrast:function(a){a=q(a).rgba;return 510b?l>m+A&&le?l>m+A&&lc&&e>a+A&&el&&e>a+A&&ea?a+3:Math.round(1.2* a);return{h:m,b:Math.round(.8*m),f:a}},rotCorr:function(a,m,b){var c=a;m&&b&&(c=Math.max(c*Math.cos(m*f),4));return{x:-a/3*Math.sin(m*f),y:c}},label:function(a,m,b,c,r,e,A,y,f){var n=this,x=n.g("button"!==f&&"label"),g=x.text=n.text("",0,0,A).attr({zIndex:1}),G,u,H=0,d=3,F=0,I,h,J,M,w,L={},P,t,E=/^url\((.*?)\)$/.test(c),q=E,R,T,O,Q;f&&x.addClass("highcharts-"+f);q=E;R=function(){return(P||0)%2/2};T=function(){var a=g.element.style,m={};u=(void 0===I||void 0===h||w)&&p(g.textStr)&&g.getBBox();x.width= (I||u.width||0)+2*d+F;x.height=(h||u.height||0)+2*d;t=d+n.fontMetrics(a&&a.fontSize,g).b;q&&(G||(x.box=G=n.symbols[c]||E?n.symbol(c):n.rect(),G.addClass(("button"===f?"":"highcharts-label-box")+(f?" highcharts-"+f+"-box":"")),G.add(x),a=R(),m.x=a,m.y=(y?-t:0)+a),m.width=Math.round(x.width),m.height=Math.round(x.height),G.attr(k(m,L)),L={})};O=function(){var a=F+d,m;m=y?0:t;p(I)&&u&&("center"===w||"right"===w)&&(a+={center:.5,right:1}[w]*(I-u.width));if(a!==g.x||m!==g.y)g.attr("x",a),void 0!==m&&g.attr("y", m);g.x=a;g.y=m};Q=function(a,m){G?G.attr(a,m):L[a]=m};x.onAdd=function(){g.add(x);x.attr({text:a||0===a?a:"",x:m,y:b});G&&p(r)&&x.attr({anchorX:r,anchorY:e})};x.widthSetter=function(a){I=a};x.heightSetter=function(a){h=a};x["text-alignSetter"]=function(a){w=a};x.paddingSetter=function(a){p(a)&&a!==d&&(d=x.padding=a,O())};x.paddingLeftSetter=function(a){p(a)&&a!==F&&(F=a,O())};x.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==H&&(H=a,u&&x.attr({x:J}))};x.textSetter=function(a){void 0!== a&&g.textSetter(a);T();O()};x["stroke-widthSetter"]=function(a,m){a&&(q=!0);P=this["stroke-width"]=a;Q(m,a)};x.strokeSetter=x.fillSetter=x.rSetter=function(a,m){"fill"===m&&a&&(q=!0);Q(m,a)};x.anchorXSetter=function(a,m){r=a;Q(m,Math.round(a)-R()-J)};x.anchorYSetter=function(a,m){e=a;Q(m,a-M)};x.xSetter=function(a){x.x=a;H&&(a-=H*((I||u.width)+2*d));J=Math.round(a);x.attr("translateX",J)};x.ySetter=function(a){M=x.y=Math.round(a);x.attr("translateY",M)};var B=x.css;return k(x,{css:function(a){if(a){var m= {};a=l(a);v(x.textProps,function(b){void 0!==a[b]&&(m[b]=a[b],delete a[b])});g.css(m)}return B.call(x,a)},getBBox:function(){return{width:u.width+2*d,height:u.height+2*d,x:u.x-d,y:u.y-d}},shadow:function(a){a&&(T(),G&&G.shadow(a));return x},destroy:function(){N(x.element,"mouseenter");N(x.element,"mouseleave");g&&(g=g.destroy());G&&(G=G.destroy());z.prototype.destroy.call(x);x=n=T=O=Q=null}})}};a.Renderer=D})(K);(function(a){var z=a.attr,D=a.createElement,C=a.css,B=a.defined,d=a.each,h=a.extend,q= a.isFirefox,t=a.isMS,g=a.isWebKit,p=a.pInt,f=a.SVGRenderer,n=a.win,w=a.wrap;h(a.SVGElement.prototype,{htmlCss:function(a){var k=this.element;if(k=a&&"SPAN"===k.tagName&&a.width)delete a.width,this.textWidth=k,this.updateTransform();a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=h(this.styles,a);C(this.element,a);return this},htmlGetBBox:function(){var a=this.element;"text"===a.nodeName&&(a.style.position="absolute");return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth, height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,k=this.element,e=this.translateX||0,c=this.translateY||0,b=this.x||0,f=this.y||0,n=this.textAlign||"left",r={left:0,center:.5,right:1}[n],y=this.styles;C(k,{marginLeft:e,marginTop:c});this.shadows&&d(this.shadows,function(a){C(a,{marginLeft:e+1,marginTop:c+1})});this.inverted&&d(k.childNodes,function(b){a.invertChild(b,k)});if("SPAN"===k.tagName){var G=this.rotation,I=p(this.textWidth),l=y&&y.whiteSpace,x=[G, n,k.innerHTML,this.textWidth,this.textAlign].join();x!==this.cTT&&(y=a.fontMetrics(k.style.fontSize).b,B(G)&&this.setSpanRotation(G,r,y),C(k,{width:"",whiteSpace:l||"nowrap"}),k.offsetWidth>I&&/[ \-]/.test(k.textContent||k.innerText)&&C(k,{width:I+"px",display:"block",whiteSpace:l||"normal"}),this.getSpanCorrection(k.offsetWidth,y,r,G,n));C(k,{left:b+(this.xCorr||0)+"px",top:f+(this.yCorr||0)+"px"});g&&(y=k.offsetHeight);this.cTT=x}}else this.alignOnAdd=!0},setSpanRotation:function(a,k,e){var c={}, b=t?"-ms-transform":g?"-webkit-transform":q?"MozTransform":n.opera?"-o-transform":"";c[b]=c.transform="rotate("+a+"deg)";c[b+(q?"Origin":"-origin")]=c.transformOrigin=100*k+"% "+e+"px";C(this.element,c)},getSpanCorrection:function(a,k,e){this.xCorr=-a*e;this.yCorr=-k}});h(f.prototype,{html:function(a,k,e){var c=this.createElement("span"),b=c.element,n=c.renderer,f=n.isSVG,r=function(a,b){d(["opacity","visibility"],function(c){w(a,c+"Setter",function(a,c,r,e){a.call(this,c,r,e);b[r]=c})})};c.textSetter= function(a){a!==b.innerHTML&&delete this.bBox;b.innerHTML=this.textStr=a;c.htmlUpdateTransform()};f&&r(c,c.element.style);c.xSetter=c.ySetter=c.alignSetter=c.rotationSetter=function(a,b){"align"===b&&(b="textAlign");c[b]=a;c.htmlUpdateTransform()};c.attr({text:a,x:Math.round(k),y:Math.round(e)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});b.style.whiteSpace="nowrap";c.css=c.htmlCss;f&&(c.add=function(a){var e,y=n.box.parentNode,l=[];if(this.parentGroup= a){if(e=a.div,!e){for(;a;)l.push(a),a=a.parentGroup;d(l.reverse(),function(a){var b,k=z(a.element,"class");k&&(k={className:k});e=a.div=a.div||D("div",k,{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||y);b=e.style;h(a,{on:function(){c.on.apply({element:l[0].div},arguments);return a},translateXSetter:function(c,m){b.left=c+"px";a[m]=c;a.doTransform=!0},translateYSetter:function(c,m){b.top= c+"px";a[m]=c;a.doTransform=!0}});r(a,b)})}}else e=y;e.appendChild(b);c.added=!0;c.alignOnAdd&&c.htmlUpdateTransform();return c});return c}})})(K);(function(a){var z,D,C=a.createElement,B=a.css,d=a.defined,h=a.deg2rad,q=a.discardElement,t=a.doc,g=a.each,p=a.erase,f=a.extend;z=a.extendClass;var n=a.isArray,w=a.isNumber,v=a.isObject,k=a.merge;D=a.noop;var e=a.pick,c=a.pInt,b=a.SVGElement,F=a.SVGRenderer,u=a.win;a.svg||(D={docMode8:t&&8===t.documentMode,init:function(a,b){var c=["\x3c",b,' filled\x3d"f" stroked\x3d"f"'], r=["position: ","absolute",";"],l="div"===b;("shape"===b||l)&&r.push("left:0;top:0;width:1px;height:1px;");r.push("visibility: ",l?"hidden":"visible");c.push(' style\x3d"',r.join(""),'"/\x3e');b&&(c=l||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=C(c));this.renderer=a},add:function(a){var b=this.renderer,c=this.element,r=b.box,l=a&&a.inverted,r=a?a.element||a:r;a&&(this.parentGroup=a);l&&b.invertChild(c,r);r.appendChild(c);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(); if(this.onAdd)this.onAdd();this.className&&this.attr("class",this.className);return this},updateTransform:b.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*h),c=Math.sin(a*h);B(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11\x3d",b,", M12\x3d",-c,", M21\x3d",c,", M22\x3d",b,", sizingMethod\x3d'auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,c,k,l){var r=k?Math.cos(k*h):1,y=k?Math.sin(k*h):0,n=e(this.elemHeight,this.element.offsetHeight), f;this.xCorr=0>r&&-a;this.yCorr=0>y&&-n;f=0>r*y;this.xCorr+=y*b*(f?1-c:c);this.yCorr-=r*b*(k?f?c:1-c:1);l&&"left"!==l&&(this.xCorr-=a*c*(0>r?-1:1),k&&(this.yCorr-=n*c*(0>y?-1:1)),B(this.element,{textAlign:l}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)w(a[b])?c[b]=Math.round(10*a[b])-5:"Z"===a[b]?c[b]="x":(c[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(c[b+5]===c[b+7]&&(c[b+7]+=a[b+7]>a[b+5]?1:-1),c[b+6]===c[b+8]&&(c[b+8]+=a[b+8]>a[b+6]?1:-1)));return c.join(" ")||"x"},clip:function(a){var b= this,c;a?(c=a.members,p(c,b),c.push(b),b.destroyClip=function(){p(c,b)},a=a.getCSS(b)):(b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?"inherit":"rect(auto)"});return b.css(a)},css:b.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&q(a)},destroy:function(){this.destroyClip&&this.destroyClip();return b.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=u.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){var e;a=a.split(/[ ,]/); e=a.length;if(9===e||11===e)a[e-4]=a[e-2]=c(a[e-2])-10*b;return a.join(" ")},shadow:function(a,b,k){var r=[],l,y=this.element,f=this.renderer,n,g=y.style,m,A=y.path,u,d,p,G;A&&"string"!==typeof A.value&&(A="x");d=A;if(a){p=e(a.width,3);G=(a.opacity||.15)/p;for(l=1;3>=l;l++)u=2*p+1-2*l,k&&(d=this.cutOffPath(A.value,u+.5)),m=['\x3cshape isShadow\x3d"true" strokeweight\x3d"',u,'" filled\x3d"false" path\x3d"',d,'" coordsize\x3d"10 10" style\x3d"',y.style.cssText,'" /\x3e'],n=C(f.prepVML(m),null,{left:c(g.left)+ e(a.offsetX,1),top:c(g.top)+e(a.offsetY,1)}),k&&(n.cutOff=u+1),m=['\x3cstroke color\x3d"',a.color||"#000000",'" opacity\x3d"',G*l,'"/\x3e'],C(f.prepVML(m),null,null,n),b?b.element.appendChild(n):y.parentNode.insertBefore(n,y),r.push(n);this.shadows=r}return this},updateShadows:D,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a,b,c){(c.getElementsByTagName("stroke")[0]|| C(this.renderer.prepVML(["\x3cstroke/\x3e"]),null,null,c))[b]=a||"solid";this[b]=a},dSetter:function(a,b,c){var e=this.shadows;a=a||[];this.d=a.join&&a.join(" ");c.path=a=this.pathToVML(a);if(e)for(c=e.length;c--;)e[c].path=e[c].cutOff?this.cutOffPath(a,e[c].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,c){var e=c.nodeName;"SPAN"===e?c.style.color=a:"IMG"!==e&&(c.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,c,b,this)))},"fill-opacitySetter":function(a,b,c){C(this.renderer.prepVML(["\x3c", b.split("-")[0],' opacity\x3d"',a,'"/\x3e']),null,null,c)},opacitySetter:D,rotationSetter:function(a,b,c){c=c.style;this[b]=c[b]=a;c.left=-Math.round(Math.sin(a*h)+1)+"px";c.top=Math.round(Math.cos(a*h))+"px"},strokeSetter:function(a,b,c){this.setAttr("strokecolor",this.renderer.color(a,c,b,this))},"stroke-widthSetter":function(a,b,c){c.stroked=!!a;this[b]=a;w(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a,b,c){"inherit"===a&& (a="visible");this.shadows&&g(this.shadows,function(c){c.style[b]=a});"DIV"===c.nodeName&&(a="hidden"===a?"-999em":0,this.docMode8||(c.style[b]=a?"visible":"hidden"),b="top");c.style[b]=a},xSetter:function(a,b,c){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):c.style[b]=a},zIndexSetter:function(a,b,c){c.style[b]=a}},D["stroke-opacitySetter"]=D["fill-opacitySetter"],a.VMLElement=D=z(b,D),D.prototype.ySetter=D.prototype.widthSetter=D.prototype.heightSetter= D.prototype.xSetter,D={Element:D,isIE8:-1G[0]&&b.push([1,G[1]]);g(b,function(m,b){n.test(m[1])?(r=a.color(m[1]),A=r.get("rgb"),u=r.get("a")):(A=m[1],u=1);I.push(100*m[0]+"% "+A);b?(H=u,h=A):(F=u,v=A)});if("fill"===e)if("gradient"===y)e=d.x1||d[0]||0,b=d.y1||d[1]||0,p=d.x2||d[2]||0,d=d.y2||d[3]||0,w='angle\x3d"'+(90-180*Math.atan((d-b)/(p-e))/Math.PI)+'"', t();else{var m=d.r,q=2*m,B=2*m,z=d.cx,D=d.cy,K=c.radialReference,S,m=function(){K&&(S=k.getBBox(),z+=(K[0]-S.x)/S.width-.5,D+=(K[1]-S.y)/S.height-.5,q*=K[2]/S.width,B*=K[2]/S.height);w='src\x3d"'+a.getOptions().global.VMLRadialGradientURL+'" size\x3d"'+q+","+B+'" origin\x3d"0.5,0.5" position\x3d"'+z+","+D+'" color2\x3d"'+v+'" ';t()};k.added?m():k.onAdd=m;m=h}else m=A}else n.test(b)&&"IMG"!==c.tagName?(r=a.color(b),k[e+"-opacitySetter"](r.get("a"),e,c),m=r.get("rgb")):(m=c.getElementsByTagName(e), m.length&&(m[0].opacity=1,m[0].type="solid"),m=b);return m},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/\x3e",' xmlns\x3d"urn:schemas-microsoft-com:vml" /\x3e'),a=-1===a.indexOf('style\x3d"')?a.replace("/\x3e",' style\x3d"display:inline-block;behavior:url(#default#VML);" /\x3e'):a.replace('style\x3d"','style\x3d"display:inline-block;behavior:url(#default#VML);')):a=a.replace("\x3c","\x3chcv:");return a},text:F.prototype.html,path:function(a){var b={coordsize:"10 10"};n(a)?b.d= a:v(a)&&f(b,a);return this.createElement("shape").attr(b)},circle:function(a,b,c){var e=this.symbol("circle");v(a)&&(c=a.r,b=a.y,a=a.x);e.isCircle=!0;e.r=c;return e.attr({x:a,y:b})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement("div").attr(b)},image:function(a,b,c,e,l){var k=this.createElement("img").attr({src:a});1k&&d-e*cn&&(r=Math.round((f-d)/Math.cos(k*q)));else if(f=d+(1-e)*c,d-e*cn&&(F=n-a.x+F*e,u=-1),F=Math.min(b,F),FF||g.autoRotation&&(v.styles||{}).width)r=F;r&&(y.width=r,(g.options.labels.style||{}).textOverflow||(y.textOverflow="ellipsis"),v.css(y))},getPosition:function(a,g,d,f){var n=this.axis,p=n.chart,h=f&&p.oldChartHeight||p.chartHeight;return{x:a?n.translate(g+d,null,null,f)+n.transB:n.left+n.offset+(n.opposite?(f&&p.oldChartWidth||p.chartWidth)-n.right-n.left:0),y:a?h-n.bottom+n.offset-(n.opposite?n.height:0):h-n.translate(g+d,null,null,f)-n.transB}},getLabelPosition:function(a,g,d,f,n,h,v, k){var e=this.axis,c=e.transA,b=e.reversed,p=e.staggerLines,u=e.tickRotCorr||{x:0,y:0},r=n.y;D(r)||(r=0===e.side?d.rotation?-8:-d.getBBox().height:2===e.side?u.y+8:Math.cos(d.rotation*q)*(u.y-d.getBBox(!1,0).height/2));a=a+n.x+u.x-(h&&f?h*c*(b?-1:1):0);g=g+r-(h&&!f?h*c*(b?1:-1):0);p&&(d=v/(k||1)%p,e.opposite&&(d=p-d-1),g+=e.labelOffset/p*d);return{x:a,y:Math.round(g)}},getMarkPath:function(a,g,d,f,n,h){return h.crispLine(["M",a,g,"L",a+(n?0:-d),g+(n?d:0)],f)},render:function(a,g,d){var f=this.axis, n=f.options,p=f.chart.renderer,v=f.horiz,k=this.type,e=this.label,c=this.pos,b=n.labels,F=this.gridLine,u=k?k+"Tick":"tick",r=f.tickSize(u),y=this.mark,G=!y,I=b.step,l={},x=!0,J=f.tickmarkOffset,L=this.getPosition(v,c,J,g),q=L.x,L=L.y,m=v&&q===f.pos+f.len||!v&&L===f.pos?-1:1,A=k?k+"Grid":"grid",P=n[A+"LineWidth"],M=n[A+"LineColor"],t=n[A+"LineDashStyle"],A=h(n[u+"Width"],!k&&f.isXAxis?1:0),u=n[u+"Color"];d=h(d,1);this.isActive=!0;F||(l.stroke=M,l["stroke-width"]=P,t&&(l.dashstyle=t),k||(l.zIndex= 1),g&&(l.opacity=0),this.gridLine=F=p.path().attr(l).addClass("highcharts-"+(k?k+"-":"")+"grid-line").add(f.gridGroup));if(!g&&F&&(c=f.getPlotLinePath(c+J,F.strokeWidth()*m,g,!0)))F[this.isNew?"attr":"animate"]({d:c,opacity:d});r&&(f.opposite&&(r[0]=-r[0]),G&&(this.mark=y=p.path().addClass("highcharts-"+(k?k+"-":"")+"tick").add(f.axisGroup),y.attr({stroke:u,"stroke-width":A})),y[G?"attr":"animate"]({d:this.getMarkPath(q,L,r[0],y.strokeWidth()*m,v,p),opacity:d}));e&&B(q)&&(e.xy=L=this.getLabelPosition(q, L,e,v,b,J,a,I),this.isFirst&&!this.isLast&&!h(n.showFirstLabel,1)||this.isLast&&!this.isFirst&&!h(n.showLastLabel,1)?x=!1:!v||f.isRadial||b.step||b.rotation||g||0===d||this.handleOverflow(L),I&&a%I&&(x=!1),x&&B(L.y)?(L.opacity=d,e[this.isNew?"attr":"animate"](L)):e.attr("y",-9999),this.isNew=!1)},destroy:function(){C(this,this.axis)}}})(K);(function(a){var z=a.arrayMax,D=a.arrayMin,C=a.defined,B=a.destroyObjectProperties,d=a.each,h=a.erase,q=a.merge,t=a.pick;a.PlotLineOrBand=function(a,d){this.axis= a;d&&(this.options=d,this.id=d.id)};a.PlotLineOrBand.prototype={render:function(){var a=this,d=a.axis,f=d.horiz,n=a.options,h=n.label,v=a.label,k=n.to,e=n.from,c=n.value,b=C(e)&&C(k),F=C(c),u=a.svgElem,r=!u,y=[],G,I=n.color,l=t(n.zIndex,0),x=n.events,y={"class":"highcharts-plot-"+(b?"band ":"line ")+(n.className||"")},J={},L=d.chart.renderer,N=b?"bands":"lines",m=d.log2lin;d.isLog&&(e=m(e),k=m(k),c=m(c));F?(y={stroke:I,"stroke-width":n.width},n.dashStyle&&(y.dashstyle=n.dashStyle)):b&&(I&&(y.fill= I),n.borderWidth&&(y.stroke=n.borderColor,y["stroke-width"]=n.borderWidth));J.zIndex=l;N+="-"+l;(I=d[N])||(d[N]=I=L.g("plot-"+N).attr(J).add());r&&(a.svgElem=u=L.path().attr(y).add(I));if(F)y=d.getPlotLinePath(c,u.strokeWidth());else if(b)y=d.getPlotBandPath(e,k,n);else return;if(r&&y&&y.length){if(u.attr({d:y}),x)for(G in n=function(b){u.on(b,function(m){x[b].apply(a,[m])})},x)n(G)}else u&&(y?(u.show(),u.animate({d:y})):(u.hide(),v&&(a.label=v=v.destroy())));h&&C(h.text)&&y&&y.length&&0=e&&0===10*c%e&&null!==n[r]&&0!==c&&(f=a.numberFormat(c/e,-1)+n[r]);void 0===f&&(f=1E4<=Math.abs(c)?a.numberFormat(c,-1):a.numberFormat(c,-1,void 0,""));return f},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks(); n(a.series,function(m){if(m.visible||!b.options.chart.ignoreHiddenSeries){var e=m.options,l=e.threshold,A;a.hasVisibleSeries=!0;a.isLog&&0>=l&&(l=null);if(a.isXAxis)e=m.xData,e.length&&(m=B(e),u(m)||m instanceof Date||(e=c(e,function(a){return u(a)}),m=B(e)),a.dataMin=Math.min(I(a.dataMin,e[0]),m),a.dataMax=Math.max(I(a.dataMax,e[0]),C(e)));else if(m.getExtremes(),A=m.dataMax,m=m.dataMin,g(m)&&g(A)&&(a.dataMin=Math.min(I(a.dataMin,m),m),a.dataMax=Math.max(I(a.dataMax,A),A)),g(l)&&(a.threshold=l), !e.softThreshold||a.isLog)a.softThreshold=!1}})},translate:function(a,b,c,e,l,k){var m=this.linkedParent||this,A=1,d=0,n=e?m.oldTransA:m.transA;e=e?m.oldMin:m.min;var r=m.minPixelPadding;l=(m.isOrdinal||m.isBroken||m.isLog&&l)&&m.lin2val;n||(n=m.transA);c&&(A*=-1,d=m.len);m.reversed&&(A*=-1,d-=A*(m.sector||m.len));b?(a=(a*A+d-r)/n+e,l&&(a=m.lin2val(a))):(l&&(a=m.val2lin(a)),a=A*(a-e)*n+d+A*r+(u(k)?n*k:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)}, toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,e,l){var m=this.chart,A=this.left,k=this.top,d,n,r=c&&m.oldChartHeight||m.chartHeight,f=c&&m.oldChartWidth||m.chartWidth,g;d=this.transB;var x=function(a,b,m){if(am)e?a=Math.min(Math.max(b,a),m):g=!0;return a};l=I(l,this.translate(a,null,null,c));a=c=Math.round(l+d);d=n=Math.round(r-l-d);u(l)?this.horiz?(d=k,n=r-this.bottom,a=c=x(a,A,A+this.width)):(a=A,c=f-this.right,d=n=x(d, k,k+this.height)):g=!0;return g&&!e?null:m.renderer.crispLine(["M",a,d,"L",c,n],b||1)},getLinearTickPositions:function(a,b,c){var m,e=q(Math.floor(b/a)*a),l=q(Math.ceil(c/a)*a),A=[];if(b===c&&u(b))return[b];for(b=e;b<=l;){A.push(b);b=q(b+a);if(b===m)break;m=b}return A},getMinorTickPositions:function(){var a=this.options,b=this.tickPositions,c=this.minorTickInterval,e=[],l,k=this.pointRangePadding||0;l=this.min-k;var k=this.max+k,d=k-l;if(d&&d/c=this.minRange,k,d,r,f,u,x;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(g(a.min)|| g(a.max)?this.minRange=null:(n(this.series,function(a){f=a.xData;for(d=u=a.xIncrement?1:f.length-1;0=J?(t=J,h=0):c.dataMax<= J&&(N=J,y=0)),c.min=I(B,t,c.dataMin),c.max=I(z,N,c.dataMax));k&&(!b&&0>=Math.min(c.min,I(c.dataMin,c.min))&&a.error(10,1),c.min=q(d(c.min),15),c.max=q(d(c.max),15));c.range&&g(c.max)&&(c.userMin=c.min=B=Math.max(c.min,c.minFromRange()),c.userMax=z=c.max,c.range=null);v(c,"foundExtremes");c.beforePadding&&c.beforePadding();c.adjustForMinRange();!(w||c.axisPointRange||c.usePercentage||x)&&g(c.min)&&g(c.max)&&(d=c.max-c.min)&&(!g(B)&&h&&(c.min-=d*h),!g(z)&&y&&(c.max+=d*y));u(l.floor)?c.min=Math.max(c.min, l.floor):u(l.softMin)&&(c.min=Math.min(c.min,l.softMin));u(l.ceiling)?c.max=Math.min(c.max,l.ceiling):u(l.softMax)&&(c.max=Math.max(c.max,l.softMax));L&&g(c.dataMin)&&(J=J||0,!g(B)&&c.min=J?c.min=J:!g(z)&&c.max>J&&c.dataMax<=J&&(c.max=J));c.tickInterval=c.min===c.max||void 0===c.min||void 0===c.max?1:x&&!F&&p===c.linkedParent.options.tickPixelInterval?F=c.linkedParent.tickInterval:I(F,this.tickAmount?(c.max-c.min)/Math.max(this.tickAmount-1,1):void 0,w?1:(c.max-c.min)*p/Math.max(c.len, p));f&&!b&&n(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)});c.setAxisTranslation(!0);c.beforeSetTickPositions&&c.beforeSetTickPositions();c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval));c.pointRange&&!F&&(c.tickInterval=Math.max(c.pointRange,c.tickInterval));b=I(l.minTickInterval,c.isDatetimeAxis&&c.closestPointRange);!F&&c.tickIntervalc.tickInterval&&1E3c.max)),!!this.tickAmount));this.tickAmount||(c.tickInterval=c.unsquish());this.setTickPositions()},setTickPositions:function(){var a=this.options,b,c=a.tickPositions,e=a.tickPositioner,l=a.startOnTick,k=a.endOnTick,d;this.tickmarkOffset=this.categories&&"between"===a.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===a.minorTickInterval&&this.tickInterval?this.tickInterval/5:a.minorTickInterval;this.tickPositions=b= c&&c.slice();!b&&(b=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,a.units),this.min,this.max,a.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()]),this.tickPositions=b,e&&(e=e.apply(this,[this.min,this.max])))&&(this.tickPositions=b=e);this.isLinked||(this.trimTicks(b,l,k),this.min=== this.max&&g(this.min)&&!this.tickAmount&&(d=!0,this.min-=.5,this.max+=.5),this.single=d,c||e||this.adjustTickAmount())},trimTicks:function(a,b,c){var m=a[0],e=a[a.length-1],l=this.minPointOffset||0;if(b)this.min=m;else for(;this.min-l>a[0];)a.shift();if(c)this.max=e;else for(;this.max+lb&&(this.finalTickAmt=b,b=5);this.tickAmount=b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,c=this.tickAmount,e=this.finalTickAmt, l=b&&b.length;if(lc&&(this.tickInterval*=2,this.setTickPositions());if(g(e)){for(a=c=b.length;a--;)(3===e&&1===a%2||2>=e&&0e&&(a=e)),g(m)&&(be&&(b=e))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var a=this.chart,b=this.options,c=b.offsetLeft|| 0,e=this.horiz,l=I(b.width,a.plotWidth-c+(b.offsetRight||0)),k=I(b.height,a.plotHeight),d=I(b.top,a.plotTop),b=I(b.left,a.plotLeft+c),c=/%$/;c.test(k)&&(k=Math.round(parseFloat(k)/100*a.plotHeight));c.test(d)&&(d=Math.round(parseFloat(d)/100*a.plotHeight+a.plotTop));this.left=b;this.top=d;this.width=l;this.height=k;this.bottom=a.chartHeight-k-d;this.right=a.chartWidth-l-b;this.len=Math.max(e?l:k,0);this.pos=e?b:d},getExtremes:function(){var a=this.isLog,b=this.lin2log;return{min:a?q(b(this.min)): this.min,max:a?q(b(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=this.lin2log,m=b?c(this.min):this.min,b=b?c(this.max):this.max;null===a?a=m:m>a?a=m:ba?"right":195a?"left":"center"},tickSize:function(a){var b=this.options,c=b[a+"Length"],m=I(b[a+"Width"],"tick"===a&&this.isXAxis? 1:0);if(m&&c)return"inside"===b[a+"Position"]&&(c=-c),[c,m]},labelMetrics:function(){return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[0]&&this.ticks[0].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,c=this.tickInterval,e=c,l=this.len/(((this.categories?1:0)+this.max-this.min)/c),k,d=a.rotation,r=this.labelMetrics(),f,x=Number.MAX_VALUE,u,y=function(a){a/=l||1;a=1=a)f=y(Math.abs(r.h/Math.sin(p*a))),b=f+Math.abs(a/360),b(c.step||0)&&!c.rotation&&(this.staggerLines||1)*a.plotWidth/e||!b&&(l&&l-a.spacing[3]|| .33*a.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,c=this.tickPositions,e=this.ticks,l=this.options.labels,k=this.horiz,d=this.getSlotWidth(),f=Math.max(1,Math.round(d-2*(l.padding||5))),x={},u=this.labelMetrics(),g=l.style&&l.style.textOverflow,h,F=0,p,v;r(l.rotation)||(x.rotation=l.rotation||0);n(c,function(a){(a=e[a])&&a.labelLength>F&&(F=a.labelLength)});this.maxLabelLength=F;if(this.autoRotation)F>f&&F>u.h?x.rotation=this.labelRotation:this.labelRotation=0;else if(d&& (h={width:f+"px"},!g))for(h.textOverflow="clip",p=c.length;!k&&p--;)if(v=c[p],f=e[v].label)f.styles&&"ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):e[v].labelLength>d&&f.css({width:d+"px"}),f.getBBox().height>this.len/c.length-(u.h-u.f)&&(f.specCss={textOverflow:"ellipsis"});x.rotation&&(h={width:(F>.5*a.chartHeight?.33*a.chartHeight:a.chartHeight)+"px"},g||(h.textOverflow="ellipsis"));if(this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation))x.align=this.labelAlign;n(c, function(a){var b=(a=e[a])&&a.label;b&&(b.attr(x),h&&b.css(y(h,b.specCss)),delete b.specCss,a.rotation=x.rotation)});this.tickRotCorr=b.rotCorr(u.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||g(this.min)&&g(this.max)&&!!this.tickPositions},addTitle:function(a){var b=this.chart.renderer,c=this.horiz,e=this.opposite,m=this.options.title,l;this.axisTitle||((l=m.textAlign)||(l=(c?{low:"left",middle:"center",high:"right"}:{low:e?"right":"left",middle:"center", high:e?"left":"right"})[m.align]),this.axisTitle=b.text(m.text,0,0,m.useHTML).attr({zIndex:7,rotation:m.rotation||0,align:l}).addClass("highcharts-axis-title").css(m.style).add(this.axisGroup),this.axisTitle.isNew=!0);this.axisTitle[a?"show":"hide"](!0)},getOffset:function(){var a=this,b=a.chart,c=b.renderer,e=a.options,l=a.tickPositions,k=a.ticks,d=a.horiz,f=a.side,r=b.inverted?[1,0,3,2][f]:f,x,u,y=0,h,F=0,p=e.title,v=e.labels,J=0,w=b.axisOffset,b=b.clipOffset,G=[-1,1,1,-1][f],L,q=e.className,t= a.axisParent,B=this.tickSize("tick");x=a.hasData();a.showAxis=u=x||I(e.showEmpty,!0);a.staggerLines=a.horiz&&v.staggerLines;a.axisGroup||(a.gridGroup=c.g("grid").attr({zIndex:e.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(q||"")).add(t),a.axisGroup=c.g("axis").attr({zIndex:e.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(q||"")).add(t),a.labelGroup=c.g("axis-labels").attr({zIndex:v.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(q|| "")).add(t));if(x||a.isLinked)n(l,function(b){k[b]?k[b].addLabel():k[b]=new N(a,b)}),a.renderUnsquish(),!1===v.reserveSpace||0!==f&&2!==f&&{1:"left",3:"right"}[f]!==a.labelAlign&&"center"!==a.labelAlign||n(l,function(a){J=Math.max(k[a].getLabelSize(),J)}),a.staggerLines&&(J*=a.staggerLines,a.labelOffset=J*(a.opposite?-1:1));else for(L in k)k[L].destroy(),delete k[L];p&&p.text&&!1!==p.enabled&&(a.addTitle(u),u&&(y=a.axisTitle.getBBox()[d?"height":"width"],h=p.offset,F=g(h)?0:I(p.margin,d?5:10)));a.renderLine(); a.offset=G*I(e.offset,w[f]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};c=0===f?-a.labelMetrics().h:2===f?a.tickRotCorr.y:0;F=Math.abs(J)+F;J&&(F=F-c+G*(d?I(v.y,a.tickRotCorr.y+8*G):v.x));a.axisTitleMargin=I(h,F);w[f]=Math.max(w[f],a.axisTitleMargin+y+G*a.offset,F,x&&l.length&&B?B[0]:0);e=e.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[r]=Math.max(b[r],e)},getLinePath:function(a){var b=this.chart,c=this.opposite,e=this.offset,l=this.horiz,m=this.left+(c?this.width:0)+e,e=b.chartHeight-this.bottom- (c?this.height:0)+e;c&&(a*=-1);return b.renderer.crispLine(["M",l?this.left:m,l?e:this.top,"L",l?b.chartWidth-this.right:m,l?e:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,c=this.top,e=this.len,l=this.options.title,k=a?b:c,d= this.opposite,f=this.offset,r=l.x||0,n=l.y||0,x=this.chart.renderer.fontMetrics(l.style&&l.style.fontSize,this.axisTitle).f,e={low:k+(a?0:e),middle:k+e/2,high:k+(a?e:0)}[l.align],b=(a?c+this.height:b)+(a?1:-1)*(d?-1:1)*this.axisTitleMargin+(2===this.side?x:0);return{x:a?e+r:b+(d?this.width:0)+f+r,y:a?b+n-(d?this.height:0)+f:e+n}},render:function(){var a=this,b=a.chart,c=b.renderer,e=a.options,k=a.isLog,d=a.lin2log,f=a.isLinked,r=a.tickPositions,x=a.axisTitle,g=a.ticks,y=a.minorTicks,h=a.alternateBands, F=e.stackLabels,p=e.alternateGridColor,v=a.tickmarkOffset,J=a.axisLine,w=b.hasRendered&&u(a.oldMin),G=a.showAxis,I=D(c.globalAnimation),q,t;a.labelEdge.length=0;a.overlap=!1;n([g,y,h],function(a){for(var b in a)a[b].isActive=!1});if(a.hasData()||f)a.minorTickInterval&&!a.categories&&n(a.getMinorTickPositions(),function(b){y[b]||(y[b]=new N(a,b,"minor"));w&&y[b].isNew&&y[b].render(null,!0);y[b].render(null,!1,1)}),r.length&&(n(r,function(b,c){if(!f||b>=a.min&&b<=a.max)g[b]||(g[b]=new N(a,b)),w&&g[b].isNew&& g[b].render(c,!0,.1),g[b].render(c)}),v&&(0===a.min||a.single)&&(g[-1]||(g[-1]=new N(a,-1,null,!0)),g[-1].render(-1))),p&&n(r,function(c,e){t=void 0!==r[e+1]?r[e+1]+v:a.max-v;0===e%2&&cq&&(!g||b<=t)&&void 0!==b&&v.push(b),b>t&&(F=!0),b=c;else q=n(q),t=n(t),a=h[g?"minorTickInterval":"tickInterval"],a=d("auto"=== a?null:a,this._minorAutoInterval,h.tickPixelInterval/(g?5:1)*(t-q)/((g?f/this.tickPositions.length:f)||1)),a=B(a,null,D(a)),v=C(this.getLinearTickPositions(a,q,t),w),g||(this._minorAutoInterval=a/5);g||(this.tickInterval=a);return v};z.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};z.prototype.lin2log=function(a){return Math.pow(10,a)}})(K);(function(a){var z=a.dateFormat,D=a.each,C=a.extend,B=a.format,d=a.isNumber,h=a.map,q=a.merge,t=a.pick,g=a.splat,p=a.syncTimeout,f=a.timeUnits;a.Tooltip= function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,d){this.chart=a;this.options=d;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=d.split&&!a.inverted;this.shared=d.shared||this.split},cleanSplit:function(a){D(this.chart.series,function(d){var f=d&&d.tt;f&&(!f.isActive||a?d.tt=f.destroy():f.isActive=!1)})},getLabel:function(){var a=this.chart.renderer,d=this.options;this.label||(this.split?this.label=a.g("tooltip"):(this.label=a.label("",0,0,d.shape|| "callout",null,null,d.useHTML,null,"tooltip").attr({padding:d.padding,r:d.borderRadius}),this.label.attr({fill:d.backgroundColor,"stroke-width":d.borderWidth}).css(d.style).shadow(d.shadow)),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();this.init(this.chart,q(!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());clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)}, move:function(a,d,f,k){var e=this,c=e.now,b=!1!==e.options.animation&&!e.isHidden&&(1x-b?x:x-b); else if(n)c[a]=Math.max(k,m+b+d>l?m:m+b);else return!1},p=function(a,b,l,m){var d;mb-e?d=!1:c[a]=mb-l/2?b-l-2:m-l/2;return d},l=function(a){var b=u;u=r;r=b;n=a},x=function(){!1!==h.apply(0,u)?!1!==p.apply(0,r)||n||(l(!0),x()):n?c.x=c.y=0:(l(!0),x())};(k.inverted||1x&&(b=!1);a=(d.series&&d.series.yAxis&&d.series.yAxis.pos)+(d.plotY||0);a-=e.plotTop;k.push({target:d.isHeader?e.plotHeight+u:a,rank:d.isHeader?1:0,size:y.tt.getBBox().height+1,point:d,x:x,tt:l})});this.cleanSplit();a.distribute(k,e.plotHeight+u);D(k,function(a){var c=a.point,d=c.series;a.tt.attr({visibility:void 0=== a.pos?"hidden":"inherit",x:b||c.isHeader?a.x:c.plotX+e.plotLeft+t(g.distance,16),y:a.pos+e.plotTop,anchorX:c.isHeader?c.plotX+e.plotLeft:c.plotX+d.xAxis.pos,anchorY:c.isHeader?a.pos+e.plotTop-15:c.plotY+d.yAxis.pos})})},updatePosition:function(a){var d=this.chart,f=this.getLabel(),f=(this.options.positioner||this.getPosition).call(this,f.width,f.height,a);this.move(Math.round(f.x),Math.round(f.y||0),a.plotX+d.plotLeft,a.plotY+d.plotTop)},getXDateFormat:function(a,d,g){var k;d=d.dateTimeLabelFormats; var e=g&&g.closestPointRange,c,b={millisecond:15,second:12,minute:9,hour:6,day:3},n,u="millisecond";if(e){n=z("%m-%d %H:%M:%S.%L",a.x);for(c in f){if(e===f.week&&+z("%w",a.x)===g.options.startOfWeek&&"00:00:00.000"===n.substr(6)){c="week";break}if(f[c]>e){c=u;break}if(b[c]&&n.substr(b[c])!=="01-01 00:00:00.000".substr(b[c]))break;"week"!==c&&(u=c)}c&&(k=d[c])}else k=d.day;return k||d.year},tooltipFooterHeaderFormatter:function(a,f){var n=f?"footer":"header";f=a.series;var k=f.tooltipOptions,e=k.xDateFormat, c=f.xAxis,b=c&&"datetime"===c.options.type&&d(a.key),n=k[n+"Format"];b&&!e&&(e=this.getXDateFormat(a,k,c));b&&e&&(n=n.replace("{point.key}","{point.key:"+e+"}"));return B(n,{point:a,series:f})},bodyFormatter:function(a){return h(a,function(a){var d=a.series.tooltipOptions;return(d.pointFormatter||a.point.tooltipFormatter).call(a.point,d.pointFormat)})}}})(K);(function(a){var z=a.addEvent,D=a.attr,C=a.charts,B=a.color,d=a.css,h=a.defined,q=a.doc,t=a.each,g=a.extend,p=a.fireEvent,f=a.offset,n=a.pick, w=a.removeEvent,v=a.splat,k=a.Tooltip,e=a.win;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={};k&&b.tooltip.enabled&&(a.tooltip=new k(a,b.tooltip),this.followTouchMove=n(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=n(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,d;a=a||e.event;a.target||(a.target=a.srcElement);d=a.touches?a.touches.length?a.touches.item(0):a.changedTouches[0]:a;b||(this.chartPosition=b=f(this.chart.container));void 0===d.pageX?(c=Math.max(a.x,a.clientX-b.left),b=a.y):(c=d.pageX-b.left,b=d.pageY-b.top);return g(a,{chartX:Math.round(c),chartY:Math.round(b)})},getCoordinates:function(a){var b= {xAxis:[],yAxis:[]};t(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},runPointActions:function(c){var b=this.chart,e=b.series,d=b.tooltip,k=d?d.shared:!1,f=!0,g=b.hoverPoint,h=b.hoverSeries,l,x,p,v=[],w;if(!k&&!h)for(l=0;lb.series.index?-1:1}));if(k)for(l=v.length;l--;)(v[l].x!==v[0].x||v[l].series.noSharedTooltip)&&v.splice(l,1);if(v[0]&&(v[0]!==this.prevKDPoint||d&&d.isHidden)){if(k&&!v[0].series.noSharedTooltip){for(l=0;l< v.length;l++)v[l].onMouseOver(c,v[l]!==(h&&h.directTouch&&g||v[0]));v.length&&d&&d.refresh(v.sort(function(a,b){return a.series.index-b.series.index}),c)}else if(d&&d.refresh(v[0],c),!h||!h.directTouch)v[0].onMouseOver(c);this.prevKDPoint=v[0];f=!1}f&&(e=h&&h.tooltipOptions.followPointer,d&&e&&!d.isHidden&&(e=d.getAnchor([{}],c),d.updatePosition({plotX:e[0],plotY:e[1]})));this.unDocMouseMove||(this.unDocMouseMove=z(q,"mousemove",function(b){if(C[a.hoverChartIndex])C[a.hoverChartIndex].pointer.onDocumentMouseMove(b)})); t(k?v:[n(g,v[0])],function(a){t(b.axes,function(b){(!a||a.series&&a.series[b.coll]===b)&&b.drawCrosshair(c,a)})})},reset:function(a,b){var c=this.chart,e=c.hoverSeries,d=c.hoverPoint,k=c.hoverPoints,f=c.tooltip,n=f&&f.shared?k:d;a&&n&&t(v(n),function(b){b.series.isCartesian&&void 0===b.plotX&&(a=!1)});if(a)f&&n&&(f.refresh(n),d&&(d.setState(d.state,!0),t(c.axes,function(a){a.crosshair&&a.drawCrosshair(null,d)})));else{if(d)d.onMouseOut();k&&t(k,function(a){a.setState()});if(e)e.onMouseOut();f&&f.hide(b); this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());t(c.axes,function(a){a.hideCrosshair()});this.hoverX=this.prevKDPoint=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,e;t(c.series,function(d){e=a||d.getPlotBox();d.xAxis&&d.xAxis.zoomEnabled&&d.group&&(d.group.attr(e),d.markerGroup&&(d.markerGroup.attr(e),d.markerGroup.clip(b?c.clipRect:null)),d.dataLabelsGroup&&d.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,d=a.chartY,k=this.zoomHor,f=this.zoomVert,n=b.plotLeft,l=b.plotTop,x=b.plotWidth,g=b.plotHeight,h,p=this.selectionMarker,m=this.mouseDownX,v=this.mouseDownY,q=c.panKey&&a[c.panKey+"Key"];p&&p.touch||(en+x&&(e=n+x),dl+g&&(d=l+g),this.hasDragged=Math.sqrt(Math.pow(m-e,2)+Math.pow(v-d,2)),10l.max&&(d=l.max-r,A=!0);A?(L-=.8*(L-w[e][0]),x||(m-=.8*(m-w[e][1])),g()):w[e]=[L,m];I||(n[e]=y-u,n[p]=r);n=I?1/q:q;f[p]=r;f[e]=d;h[I?a?"scaleY":"scaleX":"scale"+c]=q;h["translate"+c]=n* u+(L-n*J)},pinch:function(a){var q=this,g=q.chart,p=q.pinchDown,f=a.touches,n=f.length,w=q.lastValidTouch,v=q.hasZoom,k=q.selectionMarker,e={},c=1===n&&(q.inClass(a.target,"highcharts-tracker")&&g.runTrackerClick||q.runChartClick),b={};1b-6&&n(q||c.chartWidth-2*l-A-e.x)&&(this.itemX=A,this.itemY+=m+this.lastLineHeight+w,this.lastLineHeight=0);this.maxItemWidth=Math.max(this.maxItemWidth,k);this.lastItemY=m+this.itemY+w;this.lastLineHeight=Math.max(n,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];d?this.itemX+=k:(this.itemY+=m+n+w,this.lastLineHeight=n);this.offsetWidth=q||Math.max((d?this.itemX-A-x:k)+l,this.offsetWidth)},getAllItems:function(){var a= [];h(this.chart.series,function(c){var b=c&&c.options;c&&f(b.showInLegend,d(b.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===b.legendType?c.data:c)))});return a},adjustMargins:function(a,c){var b=this.chart,e=this.options,k=e.align.charAt(0)+e.verticalAlign.charAt(0)+e.layout.charAt(0);e.floating||h([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(n,h){n.test(k)&&!d(a[h])&&(b[g[h]]=Math.max(b[g[h]],b.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]* e[h%2?"x":"y"]+f(e.margin,12)+c[h]))})},render:function(){var a=this,c=a.chart,b=c.renderer,d=a.group,k,f,n,g,p=a.box,l=a.options,x=a.padding;a.itemX=a.initialItemX;a.itemY=a.initialItemY;a.offsetWidth=0;a.lastItemY=0;d||(a.group=d=b.g("legend").attr({zIndex:7}).add(),a.contentGroup=b.g().attr({zIndex:1}).add(d),a.scrollGroup=b.g().add(a.contentGroup));a.renderTitle();k=a.getAllItems();w(k,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});l.reversed&& k.reverse();a.allItems=k;a.display=f=!!k.length;a.lastLineHeight=0;h(k,function(b){a.renderItem(b)});n=(l.width||a.offsetWidth)+x;g=a.lastItemY+a.lastLineHeight+a.titleHeight;g=a.handleOverflow(g);g+=x;p||(a.box=p=b.rect().addClass("highcharts-legend-box").attr({r:l.borderRadius}).add(d),p.isNew=!0);p.attr({stroke:l.borderColor,"stroke-width":l.borderWidth||0,fill:l.backgroundColor||"none"}).shadow(l.shadow);0b&&!1!==p.enabled?(this.clipHeight=n=Math.max(b-20-this.titleHeight-w,0),this.currentPage=f(this.currentPage,1),this.fullHeight=a,h(t,function(a,b){var c=a._legendItemPos[1];a=Math.round(a.legendItem.getBBox().height);var e=q.length; if(!e||c-q[e-1]>n&&(m||c)!==q[e-1])q.push(m||c),e++;b===t.length-1&&c+a-q[e-1]>n&&q.push(c);c!==m&&(m=c)}),g||(g=c.clipRect=e.clipRect(0,w,9999,0),c.contentGroup.clip(g)),B(n),v||(this.nav=v=e.g().attr({zIndex:1}).add(this.group),this.up=e.symbol("triangle",0,0,x,x).on("click",function(){c.scroll(-1,l)}).add(v),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation").css(p.style).add(v),this.down=e.symbol("triangle-down",0,0,x,x).on("click",function(){c.scroll(1,l)}).add(v)),c.scroll(0), a=b):v&&(B(),v.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var b=this.pages,e=b.length;a=this.currentPage+a;var d=this.clipHeight,k=this.options.navigation,f=this.pager,g=this.padding;a>e&&(a=e);0e&&(f=typeof a[0],"string"===f?d.name=a[0]:"number"===f&&(d.x=a[0]),c++);b=h.value;)h=d[++g]; h&&h.color&&!this.options.color&&(this.color=h.color);return h},destroy:function(){var a=this.series.chart,d=a.hoverPoints,g;a.pointCount--;d&&(this.setState(),B(d,this),d.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)p(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(g in this)this[g]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],d,g=6;g--;)d=a[g],this[d]&& (this[d]=this[d].destroy())},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var d=this.series,f=d.tooltipOptions,p=g(f.valueDecimals,""),k=f.valuePrefix||"",e=f.valueSuffix||"";D(d.pointArrayMap||["y"],function(c){c="{point."+c;if(k||e)a=a.replace(c+"}",k+c+"}"+e);a=a.replace(c+"}",c+":,."+p+"f}")});return h(a,{point:this, series:this.series})},firePointEvent:function(a,g,h){var f=this,k=this.series.options;(k.point.events[a]||f.options&&f.options.events&&f.options.events[a])&&this.importEvents();"click"===a&&k.allowPointSelect&&(h=function(a){f.select&&f.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});d(this,a,g,h)},visible:!0}})(K);(function(a){var z=a.addEvent,D=a.animObject,C=a.arrayMax,B=a.arrayMin,d=a.correctFloat,h=a.Date,q=a.defaultOptions,t=a.defaultPlotOptions,g=a.defined,p=a.each,f=a.erase,n=a.extend,w=a.fireEvent, v=a.grep,k=a.isArray,e=a.isNumber,c=a.isString,b=a.merge,F=a.pick,u=a.removeEvent,r=a.splat,y=a.SVGElement,G=a.syncTimeout,I=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",radius:4,states:{hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null=== this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{hover:{lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1E3},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a, b){var c=this,d,e,l=a.series,k;c.chart=a;c.options=b=c.setOptions(b);c.linkedSeries=[];c.bindAxes();n(c,{name:b.name,state:"",visible:!1!==b.visible,selected:!0===b.selected});e=b.events;for(d in e)z(c,d,e[d]);if(e&&e.click||b.point&&b.point.events&&b.point.events.click||b.allowPointSelect)a.runTrackerClick=!0;c.getColor();c.getSymbol();p(c.parallelArrays,function(a){c[a+"Data"]=[]});c.setData(b.data,!1);c.isCartesian&&(a.hasCartesianSeries=!0);l.length&&(k=l[l.length-1]);c._i=F(k&&k._i,-1)+1;for(a= this.insert(l);a=F(a[c].options.index,a[c]._i)){a.splice(c+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return F(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,e;p(b.axisTypes||[],function(l){p(d[l],function(a){e=a.options;if(c[l]===e.index||void 0!==c[l]&&c[l]===e.id||void 0===c[l]&&0===e.index)b.insert(a.series), b[l]=a,a.isDirty=!0});b[l]||b.optionalAxis===l||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,l=e(b)?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};p(c.parallelArrays,l)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,b=F(b,a.pointStart,0);this.pointInterval=c=F(this.pointInterval,a.pointInterval,1);d&&(a=new h(b),"day"=== d?a=+a[h.hcSetDate](a[h.hcGetDate]()+c):"month"===d?a=+a[h.hcSetMonth](a[h.hcGetMonth]()+c):"year"===d&&(a=+a[h.hcSetFullYear](a[h.hcGetFullYear]()+c)),c=a-b);this.xIncrement=b+c;return b},setOptions:function(a){var c=this.chart,d=c.options.plotOptions,c=c.userOptions||{},e=c.plotOptions||{},l=d[this.type];this.userOptions=a;d=b(l,d.series,a);this.tooltipOptions=b(q.tooltip,q.plotOptions[this.type].tooltip,c.tooltip,e.series&&e.series.tooltip,e[this.type]&&e[this.type].tooltip,a.tooltip);null===l.marker&& delete d.marker;this.zoneAxis=d.zoneAxis;a=this.zones=(d.zones||[]).slice();!d.negativeColor&&!d.negativeFillColor||d.zones||a.push({value:d[this.zoneAxis+"Threshold"]||d.threshold||0,className:"highcharts-negative",color:d.negativeColor,fillColor:d.negativeFillColor});a.length&&g(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});return d},getCyclic:function(a,b,c){var d,e=this.userOptions,l=a+"Index",k=a+"Counter",f=c?c.length:F(this.chart.options.chart[a+"Count"],this.chart[a+ "Count"]);b||(d=F(e[l],e["_"+l]),g(d)||(e["_"+l]=d=this.chart[k]%f,this.chart[k]+=1),c&&(b=c[d]));void 0!==d&&(this[l]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||t[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,setData:function(b,d,f,g){var l=this,m=l.points,n=m&&m.length|| 0,h,r=l.options,x=l.chart,u=null,y=l.xAxis,v=r.turboThreshold,q=this.xData,t=this.yData,I=(h=l.pointArrayMap)&&h.length;b=b||[];h=b.length;d=F(d,!0);if(!1!==g&&h&&n===h&&!l.cropped&&!l.hasGroupedData&&l.visible)p(b,function(a,b){m[b].update&&a!==r.data[b]&&m[b].update(a,!1,null,!1)});else{l.xIncrement=null;l.colorCounter=0;p(this.parallelArrays,function(a){l[a+"Data"].length=0});if(v&&h>v){for(f=0;null===u&&fg||this.forceCrop))if(c[e-1]y)c=[],d=[];else if(c[0]y)l=this.cropData(this.xData,this.yData,u,y),c=l.xData, d=l.yData,l=l.start,m=!0;for(g=c.length||1;--g;)e=p?n(c[g])-n(c[g-1]):c[g]-c[g-1],0e&&this.requireSorting&&a.error(15);this.cropped=m;this.cropStart=l;this.processedXData=c;this.processedYData=d;this.closestPointRange=k},cropData:function(a,b,c,d){var e=a.length,l=0,k=e,f=F(this.cropShoulder,1),g;for(g=0;g=c){l=Math.max(0,g-f);break}for(c=g;cd){k=c+f;break}return{xData:a.slice(l,k),yData:b.slice(l,k),start:l,end:k}},generatePoints:function(){var a= this.options.data,b=this.data,c,d=this.processedXData,e=this.processedYData,m=this.pointClass,k=d.length,f=this.cropStart||0,g,n=this.hasGroupedData,h,p=[],u;b||n||(b=[],b.length=a.length,b=this.data=b);for(u=0;u=f&&(c[p-1]||h)<=g,n&&h)if(n=r.length)for(;n--;)null!==r[n]&&(l[m++]=r[n]);else l[m++]=r;this.dataMin=B(l);this.dataMax=C(l)},translate:function(){this.processedXData|| this.processData();this.generatePoints();var a=this.options,b=a.stacking,c=this.xAxis,k=c.categories,f=this.yAxis,m=this.points,n=m.length,h=!!this.modifyValue,r=a.pointPlacement,p="between"===r||e(r),u=a.threshold,y=a.startFromThreshold?u:0,v,q,t,I,w=Number.MAX_VALUE;"between"===r&&(r=.5);e(r)&&(r*=F(a.pointRange||c.pointRange));for(a=0;a=z&&(G.isNull=!0);G.plotX=v=d(Math.min(Math.max(-1E5, c.translate(B,0,0,0,1,r,"flags"===this.type)),1E5));b&&this.visible&&!G.isNull&&C&&C[B]&&(I=this.getStackIndicator(I,B,this.index),D=C[B],z=D.points[I.key],q=z[0],z=z[1],q===y&&I.key===C[B].base&&(q=F(u,f.min)),f.isLog&&0>=q&&(q=null),G.total=G.stackTotal=D.total,G.percentage=D.total&&G.y/D.total*100,G.stackY=z,D.setOffset(this.pointXOffset||0,this.barW||0));G.yBottom=g(q)?f.translate(q,0,1,0,1):null;h&&(z=this.modifyValue(z,G));G.plotY=q="number"===typeof z&&Infinity!==z?Math.min(Math.max(-1E5,f.translate(z, 0,1,0,1)),1E5):void 0;G.isInside=void 0!==q&&0<=q&&q<=f.len&&0<=v&&v<=c.len;G.clientX=p?d(c.translate(B,0,0,0,1,r)):v;G.negative=G.y<(u||0);G.category=k&&void 0!==k[G.x]?k[G.x]:G.x;G.isNull||(void 0!==t&&(w=Math.min(w,Math.abs(v-t))),t=v);G.zone=this.zones.length&&G.getZone()}this.closestPointRangePx=w},getValidPoints:function(a,b){var c=this.chart;return v(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options, d=b.renderer,e=b.inverted,l=this.clipBox,k=l||b.clipBox,f=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,k.height,c.xAxis,c.yAxis].join(),g=b[f],n=b[f+"m"];g||(a&&(k.width=0,b[f+"m"]=n=d.clipRect(-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[f]=g=d.clipRect(k),g.count={length:0});a&&!g.count[this.index]&&(g.count[this.index]=!0,g.count.length+=1);!1!==c.clip&&(this.group.clip(a||l?g:b.clipRect),this.markerGroup.clip(n),this.sharedClipKey=f);a||(g.count[this.index]&& (delete g.count[this.index],--g.count.length),0===g.count.length&&f&&b[f]&&(l||(b[f]=b[f].destroy()),b[f+"m"]&&(b[f+"m"]=b[f+"m"].destroy())))},animate:function(a){var b=this.chart,c=D(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99},c),this.animate=null)},afterAnimate:function(){this.setClip();w(this,"afterAnimate")},drawPoints:function(){var a=this.points,b=this.chart,c,d,k,m,f=this.options.marker, g,n,h,r,p=this.markerGroup,u=F(f.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>2*f.radius);if(!1!==f.enabled||this._hasPointMarkers)for(d=a.length;d--;)k=a[d],c=k.plotY,m=k.graphic,g=k.marker||{},n=!!k.marker,h=u&&void 0===g.enabled||g.enabled,r=k.isInside,h&&e(c)&&null!==k.y?(c=F(g.symbol,this.symbol),k.hasImage=0===c.indexOf("url"),h=this.markerAttribs(k,k.selected&&"select"),m?m[r?"show":"hide"](!0).animate(h):r&&(0e&&b.shadow));k&&(k.startX=c.xMap,k.isArea=c.isArea)})},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,k,f=this.clips||[],g,n=this.graph,h=this.area,r=Math.max(b.chartWidth,b.chartHeight),u=this[(this.zoneAxis|| "y")+"Axis"],y,v,q=b.inverted,t,I,w,G,B=!1;d.length&&(n||h)&&u&&void 0!==u.min&&(v=u.reversed,t=u.horiz,n&&n.hide(),h&&h.hide(),y=u.getExtremes(),p(d,function(d,l){e=v?t?b.plotWidth:0:t?0:u.toPixels(y.min);e=Math.min(Math.max(F(k,e),0),r);k=Math.min(Math.max(Math.round(u.toPixels(F(d.value,y.max),!0)),0),r);B&&(e=k=u.toPixels(y.max));I=Math.abs(e-k);w=Math.min(e,k);G=Math.max(e,k);u.isXAxis?(g={x:q?G:w,y:0,width:I,height:r},t||(g.x=b.plotHeight-g.x)):(g={x:0,y:q?G:w,width:r,height:I},t&&(g.y=b.plotWidth- g.y));q&&c.isVML&&(g=u.isXAxis?{x:0,y:v?w:G,height:g.width,width:b.chartWidth}:{x:g.y-b.plotLeft-b.spacingBox.x,y:0,width:g.height,height:b.chartHeight});f[l]?f[l].animate(g):(f[l]=c.clipRect(g),n&&a["zone-graph-"+l].clip(f[l]),h&&a["zone-area-"+l].clip(f[l]));B=d.value>y.max}),this.clips=f)},invertGroups:function(a){function b(){var b={width:c.yAxis.len,height:c.xAxis.len};p(["group","markerGroup"],function(d){c[d]&&c[d].attr(b).invert(a)})}var c=this,d;c.xAxis&&(d=z(c.chart,"resize",b),z(c,"destroy", d),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,e){var l=this[a],k=!l;k&&(this[a]=l=this.chart.renderer.g(b).attr({zIndex:d||.1}).add(e),l.addClass("highcharts-series-"+this.index+" highcharts-"+this.type+"-series highcharts-color-"+this.colorIndex+" "+(this.options.className||"")));l.attr({visibility:c})[k?"attr":"animate"](this.getPlotBox());return l},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);return{translateX:b?b.left:a.plotLeft,translateY:c? c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,c,d=a.options,e=!!a.animate&&b.renderer.isSVG&&D(d.animation).duration,k=a.visible?"inherit":"hidden",f=d.zIndex,g=a.hasRendered,n=b.seriesGroup,h=b.inverted;c=a.plotGroup("group","series",k,f,n);a.markerGroup=a.plotGroup("markerGroup","markers",k,f,n);e&&a.animate(!0);c.inverted=a.isCartesian?h:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();a.visible&&a.drawPoints();a.drawTracker&&!1!== a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(h);!1===d.clip||a.sharedClipKey||g||c.clip(b.clipRect);e&&a.animate();g||(a.animationTimeout=G(function(){a.afterAnimate()},e));a.isDirty=a.isDirtyData=!1;a.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:F(d&&d.left,a.plotLeft),translateY:F(e&&e.top,a.plotTop)}));this.translate(); this.render();b&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,d,e){var k,l;if(l=c&&c.length)return k=b.kdAxisArray[d%e],c.sort(function(a,b){return a[k]-b[k]}),l=Math.floor(l/2),{point:c[l],left:a(c.slice(0,l),d+1,e),right:a(c.slice(l+1),d+1,e)}} var b=this,c=b.kdDimensions;delete b.kdTree;G(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c)},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,f,m){var n=b.point,h=d.kdAxisArray[f%m],r,u,p=n;u=g(a[e])&&g(n[e])?Math.pow(a[e]-n[e],2):null;r=g(a[k])&&g(n[k])?Math.pow(a[k]-n[k],2):null;r=(u||0)+(r||0);n.dist=g(r)?Math.sqrt(r):Number.MAX_VALUE;n.distX=g(u)?Math.sqrt(u):Number.MAX_VALUE;h=a[h]-n[h];r=0>h?"left":"right";u=0>h?"right":"left";b[r]&&(r=c(a,b[r],f+1,m),p=r[l]< p[l]?r:n);b[u]&&Math.sqrt(h*h)v;)p--;this.updateParallelArrays(m,"splice",p,0,0);this.updateParallelArrays(m,p);n&&m.name&&(n[v]=m.name);h.splice(p,0,a);r&&(this.data.splice(p,0,null),this.processData());"point"===e.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove? f[0].remove(!1):(f.shift(),this.updateParallelArrays(m,"shift"),h.shift()));this.isDirtyData=this.isDirty=!0;b&&g.redraw(d)},removePoint:function(a,b,c){var d=this,e=d.data,f=e[a],g=d.points,n=d.chart,h=function(){g&&g.length===e.length&&g.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&&n.redraw()};F(c,n);b=k(b,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(a,b,c){function d(){e.destroy(); f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();k(a,!0)&&f.redraw(b)}var e=this,f=e.chart;!1!==c?p(e,"remove",null,d):d()},update:function(a,c){var d=this,e=this.chart,f=this.userOptions,n=this.type,h=a.type||f.type||e.options.chart.type,r=b[n].prototype,p=["group","markerGroup","dataLabelsGroup"],m;if(h&&h!==n||void 0!==a.zIndex)p.length=0;q(p,function(a){p[a]=d[a];delete d[a]});a=v(f,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},a);this.remove(!1,null,!1);for(m in r)this[m]= void 0;g(this,b[h||n].prototype);q(p,function(a){d[a]=p[a]});this.init(e,a);e.linkSeries();k(c,!0)&&e.redraw(!1)}});g(C.prototype,{update:function(a,b){var c=this.chart;a=c.options[this.coll][this.options.index]=v(this.userOptions,a);this.destroy(!0);this.init(c,g(a,{events:void 0}));c.isDirtyBox=!0;k(b,!0)&&c.redraw()},remove:function(a){for(var b=this.chart,c=this.coll,d=this.series,e=d.length;e--;)d[e]&&d[e].remove(!1);t(b.axes,this);t(b[c],this);b.options[c].splice(this.options.index,1);q(b[c], function(a,b){a.options.index=b});this.destroy();b.isDirtyBox=!0;k(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(K);(function(a){var z=a.animObject,D=a.color,C=a.each,B=a.extend,d=a.isNumber,h=a.merge,q=a.pick,t=a.Series,g=a.seriesType,p=a.svg;g("column","line",{borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1,shadow:!1}, select:{color:"#cccccc",borderColor:"#000000",shadow:!1}},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,d=a.chart;d.hasRendered&&C(d.series,function(d){d.type===a.type&&(d.isDirty=!0)})},getColumnMetrics:function(){var a=this,d=a.options, g=a.xAxis,h=a.yAxis,k=g.reversed,e,c={},b=0;!1===d.grouping?b=1:C(a.chart.series,function(d){var k=d.options,f=d.yAxis,l;d.type===a.type&&d.visible&&h.len===f.len&&h.pos===f.pos&&(k.stacking?(e=d.stackKey,void 0===c[e]&&(c[e]=b++),l=c[e]):!1!==k.grouping&&(l=b++),d.columnIndex=l)});var p=Math.min(Math.abs(g.transA)*(g.ordinalSlope||d.pointRange||g.closestPointRange||g.tickInterval||1),g.len),u=p*d.groupPadding,r=(p-2*u)/b,d=Math.min(d.maxPointWidth||g.len,q(d.pointWidth,r*(1-2*d.pointPadding)));a.columnMetrics= {width:d,offset:(r-d)/2+(u+((a.columnIndex||0)+(k?1:0))*r-p/2)*(k?-1:1)};return a.columnMetrics},crispCol:function(a,d,g,h){var k=this.chart,e=this.borderWidth,c=-(e%2?.5:0),e=e%2?.5:1;k.inverted&&k.renderer.isVML&&(e+=1);g=Math.round(a+g)+c;a=Math.round(a)+c;h=Math.round(d+h)+e;c=.5>=Math.abs(d)&&.5a.closestPointRange*a.xAxis.transA,h=a.borderWidth=q(g.borderWidth, h?0:1),k=a.yAxis,e=a.translatedThreshold=k.getThreshold(g.threshold),c=q(g.minPointLength,5),b=a.getColumnMetrics(),p=b.width,u=a.barW=Math.max(p,1+2*h),r=a.pointXOffset=b.offset;d.inverted&&(e-=.5);g.pointPadding&&(u=Math.ceil(u));t.prototype.translate.apply(a);C(a.points,function(b){var f=q(b.yBottom,e),g=999+Math.abs(f),g=Math.min(Math.max(-g,b.plotY),k.len+g),l=b.plotX+r,h=u,n=Math.min(g,f),v,y=Math.max(g,f)-n;Math.abs(y)c?f-c:e-(v?c:0));b.barX=l;b.pointWidth=p;b.tooltipPos=d.inverted?[k.len+k.pos-d.plotLeft-g,a.xAxis.len-l-h/2,y]:[l+h/2,g+k.pos-d.plotTop,y];b.shapeType="rect";b.shapeArgs=a.crispCol.apply(a,b.isNull?[b.plotX,k.len/2,0,0]:[l,n,h,y])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,d){var f=this.options,g,k=this.pointAttrToOptions||{};g=k.stroke||"borderColor"; var e=k["stroke-width"]||"borderWidth",c=a&&a.color||this.color,b=a[g]||f[g]||this.color||c,h=a[e]||f[e]||this[e]||0,k=f.dashStyle;a&&this.zones.length&&(c=(c=a.getZone())&&c.color||a.options.color||this.color);d&&(a=f.states[d],d=a.brightness,c=a.color||void 0!==d&&D(c).brighten(a.brightness).get()||c,b=a[g]||b,h=a[e]||h,k=a.dashStyle||k);g={fill:c,stroke:b,"stroke-width":h};f.borderRadius&&(g.r=f.borderRadius);k&&(g.dashstyle=k);return g},drawPoints:function(){var a=this,g=this.chart,p=a.options, v=g.renderer,k=p.animationLimit||250,e;C(a.points,function(c){var b=c.graphic;if(d(c.plotY)&&null!==c.y){e=c.shapeArgs;if(b)b[g.pointCountd){v(a,function(a,b){return(b.rank||0)-(a.rank||0)});for(g=b=0;g<=d;)g+=a[b].size,b++;f=a.splice(b-1,a.length)}v(a,c);for(a=q(a,function(a){return{size:a.size,targets:[a.target]}});e;){for(b= a.length;b--;)e=a[b],g=(Math.min.apply(0,e.targets)+Math.max.apply(0,e.targets))/2,e.pos=Math.min(Math.max(0,g-e.size/2),d-e.size);b=a.length;for(e=!1;b--;)0a[b].pos&&(a[b-1].size+=a[b].size,a[b-1].targets=a[b-1].targets.concat(a[b].targets),a[b-1].pos+a[b-1].size>d&&(a[b-1].pos=d-a[b-1].size),a.splice(b,1),e=!0)}b=0;B(a,function(a){var c=0;B(a.targets,function(){k[b].pos=a.pos+c;c+=k[b].size;b++})});k.push.apply(k,f);v(k,c)};n.prototype.drawDataLabels=function(){var a= this,e=a.options,c=e.dataLabels,b=a.points,f,g,n=a.hasRendered||0,q,v,w=p(c.defer,!0),l=a.chart.renderer;if(c.enabled||a._hasPointLabels)a.dlProcessOptions&&a.dlProcessOptions(c),v=a.plotGroup("dataLabelsGroup","data-labels",w&&!n?"hidden":"visible",c.zIndex||6),w&&(v.attr({opacity:+n}),n||z(a,"afterAnimate",function(){a.visible&&v.show(!0);v[e.animation?"animate":"attr"]({opacity:1},{duration:200})})),g=c,B(b,function(b){var k,n=b.dataLabel,r,m,u=b.connector,y=!0,x,w={};f=b.dlOptions||b.options&& b.options.dataLabels;k=p(f&&f.enabled,g.enabled)&&null!==b.y;if(n&&!k)b.dataLabel=n.destroy();else if(k){c=t(g,f);x=c.style;k=c.rotation;r=b.getLabelConfig();q=c.format?h(c.format,r):c.formatter.call(r,c);x.color=p(c.color,x.color,a.color,"#000000");if(n)C(q)?(n.attr({text:q}),y=!1):(b.dataLabel=n=n.destroy(),u&&(b.connector=u.destroy()));else if(C(q)){n={fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:k,padding:c.padding,zIndex:1};"contrast"=== x.color&&(w.color=c.inside||0>c.distance||e.stacking?l.getContrast(b.color||a.color):"#000000");e.cursor&&(w.cursor=e.cursor);for(m in n)void 0===n[m]&&delete n[m];n=b.dataLabel=l[k?"text":"label"](q,0,-9999,c.shape,null,null,c.useHTML,null,"data-label").attr(n);n.addClass("highcharts-data-label-color-"+b.colorIndex+" "+(c.className||"")+(c.useHTML?"highcharts-tracker":""));n.css(d(x,w));n.add(v);n.shadow(c.shadow)}n&&a.alignDataLabel(b,n,c,null,y)}})};n.prototype.alignDataLabel=function(a,e,c,b, f){var k=this.chart,g=k.inverted,h=p(a.plotX,-9999),n=p(a.plotY,-9999),q=e.getBBox(),l,v=c.rotation,t=c.align,w=this.visible&&(a.series.forceDL||k.isInsidePlot(h,Math.round(n),g)||b&&k.isInsidePlot(h,g?b.x+1:b.y+b.height-1,g)),F="justify"===p(c.overflow,"justify");w&&(l=c.style.fontSize,l=k.renderer.fontMetrics(l,e).b,b=d({x:g?k.plotWidth-n:h,y:Math.round(g?k.plotHeight-h:n),width:0,height:0},b),d(c,{width:q.width,height:q.height}),v?(F=!1,g=k.renderer.rotCorr(l,v),g={x:b.x+c.x+b.width/2+g.x,y:b.y+ c.y+{top:0,middle:.5,bottom:1}[c.verticalAlign]*b.height},e[f?"attr":"animate"](g).attr({align:t}),h=(v+720)%360,h=180h,"left"===t?g.y-=h?q.height:0:"center"===t?(g.x-=q.width/2,g.y-=q.height/2):"right"===t&&(g.x-=q.width,g.y-=h?0:q.height)):(e.align(c,null,b),g=e.alignAttr),F?this.justifyDataLabel(e,c,g,q,b,f):p(c.crop,!0)&&(w=k.isInsidePlot(g.x,g.y)&&k.isInsidePlot(g.x+q.width,g.y+q.height)),c.shape&&!v&&e.attr({anchorX:a.plotX,anchorY:a.plotY}));w||(e.attr({y:-9999}),e.placed=!1)};n.prototype.justifyDataLabel= function(a,d,c,b,f,g){var e=this.chart,k=d.align,h=d.verticalAlign,n,l,p=a.box?0:a.padding||0;n=c.x+p;0>n&&("right"===k?d.align="left":d.x=-n,l=!0);n=c.x+b.width-p;n>e.plotWidth&&("left"===k?d.align="right":d.x=e.plotWidth-n,l=!0);n=c.y+p;0>n&&("bottom"===h?d.verticalAlign="top":d.y=-n,l=!0);n=c.y+b.height-p;n>e.plotHeight&&("top"===h?d.verticalAlign="bottom":d.y=e.plotHeight-n,l=!0);l&&(a.placed=!g,a.align(d,null,f))};w.pie&&(w.pie.prototype.drawDataLabels=function(){var d=this,e=d.data,c,b=d.chart, f=d.options.dataLabels,g=p(f.connectorPadding,10),h=p(f.connectorWidth,1),v=b.plotWidth,t=b.plotHeight,w,l=f.distance,x=d.center,z=x[2]/2,C=x[1],N=0n-2?r:H,k),m._attr={visibility:K,align:P[6]},m._pos={x:E+f.x+({left:g,right:-g}[P[6]]||0),y:H+f.y-10},P.x=E,P.y=H,null===d.options.size&&(A=m.width,E-Av-g&& (O[1]=Math.max(Math.round(E+A-v+g),O[1])),0>H-M/2?O[0]=Math.max(Math.round(-H+M/2),O[0]):H+M/2>t&&(O[2]=Math.max(Math.round(H+M/2-t),O[2])))}),0===D(O)||this.verifyDataLabelOverflow(O))&&(this.placeDataLabels(),N&&h&&B(this.points,function(a){var c;w=a.connector;if((m=a.dataLabel)&&m._pos&&a.visible){K=m._attr.visibility;if(c=!w)a.connector=w=b.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+a.colorIndex).add(d.dataLabelsGroup),w.attr({"stroke-width":h,stroke:f.connectorColor|| a.color||"#666666"});w[c?"attr":"animate"]({d:d.connectorPath(a.labelPos)});w.attr("visibility",K)}else w&&(a.connector=w.destroy())}))},w.pie.prototype.connectorPath=function(a){var d=a.x,c=a.y;return p(this.options.dataLabels.softConnector,!0)?["M",d+("left"===a[6]?5:-5),c,"C",d,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",d+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},w.pie.prototype.placeDataLabels=function(){B(this.points,function(a){var d=a.dataLabel;d&&a.visible&&((a=d._pos)? (d.attr(d._attr),d[d.moved?"animate":"attr"](a),d.moved=!0):d&&d.attr({y:-9999}))})},w.pie.prototype.alignDataLabel=g,w.pie.prototype.verifyDataLabelOverflow=function(a){var d=this.center,c=this.options,b=c.center,g=c.minSize||80,k,h;null!==b[0]?k=Math.max(d[2]-Math.max(a[1],a[3]),g):(k=Math.max(d[2]-a[1]-a[3],g),d[0]+=(a[3]-a[1])/2);null!==b[1]?k=Math.max(Math.min(k,d[2]-Math.max(a[0],a[2])),g):(k=Math.max(Math.min(k,d[2]-a[0]-a[2]),g),d[1]+=(a[0]-a[2])/2);kp(this.translatedThreshold,g.yAxis.len)),q=p(c.inside,!!this.options.stacking);k&&(b=t(k),0>b.y&&(b.height+=b.y,b.y=0),k=b.y+b.height-g.yAxis.len,0a+d||f+kb+e||g+ha?this:d,h=(a.max-a.min)*a.transA,a.pixelPadding=a.len-h,a.minPixelPadding=a.pixelPadding/2,h=a.fixTo)){h=h[1]-a.toValue(h[0],!0);h*=a.transA;if(Math.abs(h)>a.minPixelPadding||a.min===a.dataMin&&a.max===a.dataMax)h=0;a.minPixelPadding-=h}});a(z.prototype,"render", function(a){a.call(this);this.fixTo=null})})(K);(function(a){var z=a.Axis,D=a.Chart,C=a.color,B,d=a.each,h=a.extend,q=a.isNumber,t=a.Legend,g=a.LegendSymbolMixin,p=a.noop,f=a.merge,n=a.pick,w=a.wrap;B=a.ColorAxis=function(){this.init.apply(this,arguments)};h(B.prototype,z.prototype);h(B.prototype,{defaultColorAxisOptions:{lineWidth:0,minPadding:0,maxPadding:0,gridLineWidth:1,tickPixelInterval:72,startOnTick:!0,endOnTick:!0,offset:0,marker:{animation:{duration:50},width:.01,color:"#999999"},labels:{overflow:"justify"}, minColor:"#e6ebf5",maxColor:"#003399",tickLength:5,showInLegend:!0},keepProps:["legendGroup","legendItem","legendSymbol"].concat(z.prototype.keepProps),init:function(a,d){var e="vertical"!==a.options.legend.layout,c;this.coll="colorAxis";c=f(this.defaultColorAxisOptions,{side:e?2:1,reversed:!e},d,{opposite:!e,showEmpty:!1,title:null});z.prototype.init.call(this,a,c);d.dataClasses&&this.initDataClasses(d);this.initStops(d);this.horiz=e;this.zoomEnabled=!1;this.defaultLegendLength=200},tweenColors:function(a, d,e){var c;d.rgba.length&&a.rgba.length?(a=a.rgba,d=d.rgba,c=1!==d[3]||1!==a[3],a=(c?"rgba(":"rgb(")+Math.round(d[0]+(a[0]-d[0])*(1-e))+","+Math.round(d[1]+(a[1]-d[1])*(1-e))+","+Math.round(d[2]+(a[2]-d[2])*(1-e))+(c?","+(d[3]+(a[3]-d[3])*(1-e)):"")+")"):a=d.input||"none";return a},initDataClasses:function(a){var g=this,e=this.chart,c,b=0,h=e.options.chart.colorCount,n=this.options,p=a.dataClasses.length;this.dataClasses=c=[];this.legendItems=[];d(a.dataClasses,function(a,d){a=f(a);c.push(a);a.color|| ("category"===n.dataClassColor?(d=e.options.colors,h=d.length,a.color=d[b],a.colorIndex=b,b++,b===h&&(b=0)):a.color=g.tweenColors(C(n.minColor),C(n.maxColor),2>p?.5:d/(p-1)))})},initStops:function(a){this.stops=a.stops||[[0,this.options.minColor],[1,this.options.maxColor]];d(this.stops,function(a){a.color=C(a[1])})},setOptions:function(a){z.prototype.setOptions.call(this,a);this.options.crosshair=this.options.marker},setAxisSize:function(){var a=this.legendSymbol,d=this.chart,e=d.options.legend|| {},c,b;a?(this.left=e=a.attr("x"),this.top=c=a.attr("y"),this.width=b=a.attr("width"),this.height=a=a.attr("height"),this.right=d.chartWidth-e-b,this.bottom=d.chartHeight-c-a,this.len=this.horiz?b:a,this.pos=this.horiz?e:c):this.len=(this.horiz?e.symbolWidth:e.symbolHeight)||this.defaultLegendLength},toColor:function(a,d){var e=this.stops,c,b,f=this.dataClasses,g,k;if(f)for(k=f.length;k--;){if(g=f[k],c=g.from,e=g.to,(void 0===c||a>=c)&&(void 0===e||a<=e)){b=g.color;d&&(d.dataClass=k,d.colorIndex= g.colorIndex);break}}else{this.isLog&&(a=this.val2lin(a));a=1-(this.max-a)/(this.max-this.min||1);for(k=e.length;k--&&!(a>e[k][0]););c=e[k]||e[k+1];e=e[k+1]||c;a=1-(e[0]-a)/(e[0]-c[0]||1);b=this.tweenColors(c.color,e.color,a)}return b},getOffset:function(){var a=this.legendGroup,d=this.chart.axisOffset[this.side];a&&(this.axisParent=a,z.prototype.getOffset.call(this),this.added||(this.added=!0,this.labelLeft=0,this.labelRight=this.width),this.chart.axisOffset[this.side]=d)},setLegendColor:function(){var a, d=this.options,e=this.reversed;a=e?1:0;e=e?0:1;a=this.horiz?[a,0,e,0]:[0,e,0,a];this.legendColor={linearGradient:{x1:a[0],y1:a[1],x2:a[2],y2:a[3]},stops:d.stops||[[0,d.minColor],[1,d.maxColor]]}},drawLegendSymbol:function(a,d){var e=a.padding,c=a.options,b=this.horiz,f=n(c.symbolWidth,b?this.defaultLegendLength:12),g=n(c.symbolHeight,b?12:this.defaultLegendLength),k=n(c.labelPadding,b?16:30),c=n(c.itemDistance,10);this.setLegendColor();d.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,f,g).attr({zIndex:1}).add(d.legendGroup); this.legendItemWidth=f+e+(b?c:k);this.legendItemHeight=g+e+(b?k:0)},setState:p,visible:!0,setVisible:p,getSeriesExtremes:function(){var a;this.series.length&&(a=this.series[0],this.dataMin=a.valueMin,this.dataMax=a.valueMax)},drawCrosshair:function(a,d){var e=d&&d.plotX,c=d&&d.plotY,b,f=this.pos,g=this.len;d&&(b=this.toPixels(d[d.series.colorKey]),bf+g&&(b=f+g+2),d.plotX=b,d.plotY=this.len-b,z.prototype.drawCrosshair.call(this,a,d),d.plotX=e,d.plotY=c,this.cross&&(this.cross.addClass("highcharts-coloraxis-marker").add(this.legendGroup), this.cross.attr({fill:this.crosshair.color})))},getPlotLinePath:function(a,d,e,c,b){return q(b)?this.horiz?["M",b-4,this.top-6,"L",b+4,this.top-6,b,this.top,"Z"]:["M",this.left,b,"L",this.left-6,b+6,this.left-6,b-6,"Z"]:z.prototype.getPlotLinePath.call(this,a,d,e,c)},update:function(a,g){var e=this.chart,c=e.legend;d(this.series,function(a){a.isDirtyData=!0});a.dataClasses&&c.allItems&&(d(c.allItems,function(a){a.isDataClass&&a.legendGroup.destroy()}),e.isDirtyLegend=!0);e.options[this.coll]=f(this.userOptions, a);z.prototype.update.call(this,a,g);this.legendItem&&(this.setLegendColor(),c.colorizeItem(this,!0))},getDataClassLegendSymbols:function(){var f=this,k=this.chart,e=this.legendItems,c=k.options.legend,b=c.valueDecimals,n=c.valueSuffix||"",u;e.length||d(this.dataClasses,function(c,q){var r=!0,v=c.from,l=c.to;u="";void 0===v?u="\x3c ":void 0===l&&(u="\x3e ");void 0!==v&&(u+=a.numberFormat(v,b)+n);void 0!==v&&void 0!==l&&(u+=" - ");void 0!==l&&(u+=a.numberFormat(l,b)+n);e.push(h({chart:k,name:u,options:{}, drawLegendSymbol:g.drawRectangle,visible:!0,setState:p,isDataClass:!0,setVisible:function(){r=this.visible=!r;d(f.series,function(a){d(a.points,function(a){a.dataClass===q&&a.setVisible(r)})});k.legend.colorizeItem(this,r)}},c))});return e},name:""});d(["fill","stroke"],function(d){a.Fx.prototype[d+"Setter"]=function(){this.elem.attr(d,B.prototype.tweenColors(C(this.start),C(this.end),this.pos),null,!0)}});w(D.prototype,"getAxes",function(a){var d=this.options.colorAxis;a.call(this);this.colorAxis= [];d&&new B(this,d)});w(t.prototype,"getAllItems",function(a){var f=[],e=this.chart.colorAxis[0];e&&e.options&&(e.options.showInLegend&&(e.options.dataClasses?f=f.concat(e.getDataClassLegendSymbols()):f.push(e)),d(e.series,function(a){a.options.showInLegend=!1}));return f.concat(a.call(this))});w(t.prototype,"colorizeItem",function(a,d,e){a.call(this,d,e);e&&d.legendColor&&d.legendSymbol.attr({fill:d.legendColor})})})(K);(function(a){var z=a.defined,D=a.each,C=a.noop,B=a.seriesTypes;a.colorPointMixin= {isValid:function(){return null!==this.value},setVisible:function(a){var d=this,q=a?"show":"hide";D(["graphic","dataLabel"],function(a){if(d[a])d[a][q]()})},setState:function(d){a.Point.prototype.setState.call(this,d);this.graphic&&this.graphic.attr({zIndex:"hover"===d?1:0})}};a.colorSeriesMixin={pointArrayMap:["value"],axisTypes:["xAxis","yAxis","colorAxis"],optionalAxis:"colorAxis",trackerGroups:["group","markerGroup","dataLabelsGroup"],getSymbol:C,parallelArrays:["x","y","value"],colorKey:"value", pointAttribs:B.column.prototype.pointAttribs,translateColors:function(){var a=this,h=this.options.nullColor,q=this.colorAxis,t=this.colorKey;D(this.data,function(d){var g=d[t];if(g=d.options.color||(d.isNull?h:q&&void 0!==g?q.toColor(g,d):d.color||a.color))d.color=g})},colorAttribs:function(a){var d={};z(a.color)&&(d[this.colorProp||"fill"]=a.color);return d}}})(K);(function(a){var z=a.color,D=a.ColorAxis,C=a.colorPointMixin,B=a.each,d=a.extend,h=a.isNumber,q=a.map,t=a.merge,g=a.noop,p=a.pick,f=a.isArray, n=a.Point,w=a.Series,v=a.seriesType,k=a.seriesTypes,e=a.splat,c=void 0!==a.doc.documentElement.style.vectorEffect;v("map","scatter",{allAreas:!0,animation:!1,nullColor:"#f7f7f7",borderColor:"#cccccc",borderWidth:1,marker:null,stickyTracking:!1,joinBy:"hc-key",dataLabels:{formatter:function(){return this.point.value},inside:!0,verticalAlign:"middle",crop:!1,overflow:!1,padding:0},turboThreshold:0,tooltip:{followPointer:!0,pointFormat:"{point.name}: {point.value}\x3cbr/\x3e"},states:{normal:{animation:!0}, hover:{brightness:.2,halo:null},select:{color:"#cccccc"}}},t(a.colorSeriesMixin,{type:"map",supportsDrilldown:!0,getExtremesFromAll:!0,useMapGeometry:!0,forceDL:!0,searchPoint:g,directTouch:!0,preserveAspectRatio:!0,pointArrayMap:["value"],getBox:function(b){var c=Number.MAX_VALUE,d=-c,e=c,f=-c,g=c,k=c,l=this.xAxis,n=this.yAxis,q;B(b||[],function(b){if(b.path){"string"===typeof b.path&&(b.path=a.splitPath(b.path));var l=b.path||[],m=l.length,n=!1,u=-c,r=c,t=-c,v=c,y=b.properties;if(!b._foundBox){for(;m--;)h(l[m])&& (n?(u=Math.max(u,l[m]),r=Math.min(r,l[m])):(t=Math.max(t,l[m]),v=Math.min(v,l[m])),n=!n);b._midX=r+(u-r)*(b.middleX||y&&y["hc-middle-x"]||.5);b._midY=v+(t-v)*(b.middleY||y&&y["hc-middle-y"]||.5);b._maxX=u;b._minX=r;b._maxY=t;b._minY=v;b.labelrank=p(b.labelrank,(u-r)*(t-v));b._foundBox=!0}d=Math.max(d,b._maxX);e=Math.min(e,b._minX);f=Math.max(f,b._maxY);g=Math.min(g,b._minY);k=Math.min(b._maxX-b._minX,b._maxY-b._minY,k);q=!0}});q&&(this.minY=Math.min(g,p(this.minY,c)),this.maxY=Math.max(f,p(this.maxY, -c)),this.minX=Math.min(e,p(this.minX,c)),this.maxX=Math.max(d,p(this.maxX,-c)),l&&void 0===l.options.minRange&&(l.minRange=Math.min(5*k,(this.maxX-this.minX)/5,l.minRange||c)),n&&void 0===n.options.minRange&&(n.minRange=Math.min(5*k,(this.maxY-this.minY)/5,n.minRange||c)))},getExtremes:function(){w.prototype.getExtremes.call(this,this.valueData);this.chart.hasRendered&&this.isDirtyData&&this.getBox(this.options.data);this.valueMin=this.dataMin;this.valueMax=this.dataMax;this.dataMin=this.minY;this.dataMax= this.maxY},translatePath:function(a){var b=!1,c=this.xAxis,d=this.yAxis,e=c.min,f=c.transA,c=c.minPixelPadding,g=d.min,l=d.transA,d=d.minPixelPadding,k,n=[];if(a)for(k=a.length;k--;)h(a[k])?(n[k]=b?(a[k]-e)*f+c:(a[k]-g)*l+d,b=!b):n[k]=a[k];return n},setData:function(b,c,d,g){var k=this.options,n=this.chart.options.chart,p=n&&n.map,l=k.mapData,u=k.joinBy,r=null===u,v=k.keys||this.pointArrayMap,z=[],m={},A,F=this.chart.mapTransforms;!l&&p&&(l="string"===typeof p?a.maps[p]:p);r&&(u="_i");u=this.joinBy= e(u);u[1]||(u[1]=u[0]);b&&B(b,function(a,c){var d=0;if(h(a))b[c]={value:a};else if(f(a)){b[c]={};!k.keys&&a.length>v.length&&"string"===typeof a[0]&&(b[c]["hc-key"]=a[0],++d);for(var e=0;eh&&.99l&&(l=h=1,p=Math.round(p),q=Math.round(q)),t=this.transformGroup,g.renderer.globalAnimation?(m=t.attr("translateX"),w=t.attr("translateY"),z=t.attr("scaleX"),C=t.attr("scaleY"),t.attr({animator:0}).animate({animator:1},{step:function(a,b){t.attr({translateX:m+(p-m)*b.pos,translateY:w+(q-w)*b.pos,scaleX:z+(h-z)*b.pos,scaleY:C+(l-C)*b.pos})}})):t.attr({translateX:p,translateY:q,scaleX:h,scaleY:l})); c||a.group.element.setAttribute("stroke-width",a.options[a.pointAttrToOptions&&a.pointAttrToOptions["stroke-width"]||"borderWidth"]/(h||1));this.drawMapDataLabels()},drawMapDataLabels:function(){w.prototype.drawDataLabels.call(this);this.dataLabelsGroup&&this.dataLabelsGroup.clip(this.chart.clipRect)},render:function(){var a=this,c=w.prototype.render;a.chart.renderer.isVML&&3E3h[f]+h[d]&&(a[d]>h[d]?(a[d]=h[d],a[f]=h[f]):a[f]=h[f]+h[d]- a[d]);a[d]>h[d]&&(a[d]=h[d]);a[f]=g.dataMax-g.dataMin&&e.y<=k.dataMin&&e.height>=k.dataMax-k.dataMin;h&&(g.fixTo=[h-g.pos,d]);q&&(k.fixTo= [q-k.pos,f]);void 0===a||c?(g.setExtremes(void 0,void 0,!1),k.setExtremes(void 0,void 0,!1)):(g.setExtremes(e.x,e.x+e.width,!1),k.setExtremes(e.y,e.y+e.height,!1));this.redraw()}});a(C.prototype,"render",function(a){var d=this,f=d.options.mapNavigation;d.renderMapNavigation();a.call(d);(t(f.enableDoubleClickZoom,f.enabled)||f.enableDoubleClickZoomTo)&&D(d.container,"dblclick",function(a){d.pointer.onContainerDblClick(a)});t(f.enableMouseWheelZoom,f.enabled)&&D(d.container,void 0===B.onmousewheel? "DOMMouseScroll":"mousewheel",function(a){d.pointer.onContainerMouseWheel(a);z(a);return!1})})})(K);(function(a){var z=a.extend,D=a.pick,C=a.Pointer;a=a.wrap;z(C.prototype,{onContainerDblClick:function(a){var d=this.chart;a=this.normalize(a);d.options.mapNavigation.enableDoubleClickZoomTo?d.pointer.inClass(a.target,"highcharts-tracker")&&d.hoverPoint&&d.hoverPoint.zoomTo():d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(.5,d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY), a.chartX,a.chartY)},onContainerMouseWheel:function(a){var d=this.chart,h;a=this.normalize(a);h=a.detail||-(a.wheelDelta/120);d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop)&&d.mapZoom(Math.pow(d.options.mapNavigation.mouseWheelSensitivity,h),d.xAxis[0].toValue(a.chartX),d.yAxis[0].toValue(a.chartY),a.chartX,a.chartY)}});a(C.prototype,"zoomOption",function(a){var d=this.chart.options.mapNavigation;D(d.enableTouchZoom,d.enabled)&&(this.chart.options.chart.pinchType="xy");a.apply(this,[].slice.call(arguments, 1))});a(C.prototype,"pinchTranslate",function(a,d,h,q,t,g,p){a.call(this,d,h,q,t,g,p);"map"===this.chart.options.chart.type&&this.hasZoom&&(a=q.scaleX>q.scaleY,this.pinchTranslateDirection(!a,d,h,q,t,g,p,a?q.scaleX:q.scaleY))})})(K);(function(a){var z=a.seriesType,D=a.seriesTypes;z("mapline","map",{lineWidth:1,fillColor:"none"},{type:"mapline",colorProp:"stroke",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointAttribs:function(a,z){a=D.map.prototype.pointAttribs.call(this,a,z); a.fill=this.options.fillColor;return a},drawLegendSymbol:D.line.prototype.drawLegendSymbol})})(K);(function(a){var z=a.merge,D=a.Point;a=a.seriesType;a("mappoint","scatter",{dataLabels:{enabled:!0,formatter:function(){return this.point.name},crop:!1,defer:!1,overflow:!1,style:{color:"#000000"}}},{type:"mappoint",forceDL:!0},{applyOptions:function(a,B){a=void 0!==a.lat&&void 0!==a.lon?z(a,this.series.chart.fromLatLonToPoint(a)):a;return D.prototype.applyOptions.call(this,a,B)}})})(K);(function(a){var z= a.arrayMax,D=a.arrayMin,C=a.Axis,B=a.color,d=a.each,h=a.isNumber,q=a.noop,t=a.pick,g=a.pInt,p=a.Point,f=a.Series,n=a.seriesType,w=a.seriesTypes;n("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},marker:{lineColor:null,lineWidth:1,radius:null,states:{hover:{radiusPlus:0}}},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}, {pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],bubblePadding:!0,zoneAxis:"z",markerAttribs:null,pointAttribs:function(a,d){var e=t(this.options.marker.fillOpacity,.5);a=f.prototype.pointAttribs.call(this,a,d);1!==e&&(a.fill=B(a.fill).setOpacity(e).get("rgba"));return a},getRadii:function(a,d,e,c){var b,f,g,k=this.zData,h=[],n=this.options,p="width"!==n.sizeBy,l=n.zThreshold,q=d-a;f=0;for(b=k.length;f=this.minPxSize/ 2?(e.shapeType="circle",e.shapeArgs={x:e.plotX,y:e.plotY,r:c},e.dlBox={x:e.plotX-c,y:e.plotY-c,width:2*c,height:2*c}):e.shapeArgs=e.plotY=e.dlBox=void 0},drawLegendSymbol:function(a,d){var e=this.chart.renderer,c=e.fontMetrics(a.itemStyle&&a.itemStyle.fontSize,d.legendItem).f/2;d.legendSymbol=e.circle(c,a.baseline-c,c).attr({zIndex:3}).add(d.legendGroup);d.legendSymbol.isMarker=!0},drawPoints:w.column.prototype.drawPoints,alignDataLabel:w.column.prototype.alignDataLabel,buildKDTree:q,applyZones:q}, {haloPath:function(a){return p.prototype.haloPath.call(this,0===a?0:this.shapeArgs.r+a)},ttBelow:!1});C.prototype.beforePadding=function(){var a=this,f=this.len,e=this.chart,c=0,b=f,n=this.isXAxis,p=n?"xData":"yData",q=this.min,w={},G=Math.min(e.plotWidth,e.plotHeight),I=Number.MAX_VALUE,l=-Number.MAX_VALUE,x=this.max-q,B=f/x,C=[];d(this.series,function(b){var c=b.options;!b.bubblePadding||!b.visible&&e.options.chart.ignoreHiddenSeries||(a.allowZoomOutside=!0,C.push(b),n&&(d(["minSize","maxSize"], function(a){var b=c[a],d=/%$/.test(b),b=g(b);w[a]=d?G*b/100:b}),b.minPxSize=w.minSize,b.maxPxSize=Math.max(w.maxSize,w.minSize),b=b.zData,b.length&&(I=t(c.zMin,Math.min(I,Math.max(D(b),!1===c.displayNegative?c.zThreshold:-Number.MAX_VALUE))),l=t(c.zMax,Math.max(l,z(b))))))});d(C,function(d){var e=d[p],f=e.length,g;n&&d.getRadii(I,l,d.minPxSize,d.maxPxSize);if(0e,h=d[f][1]>e,g!==h&&k<(d[f][0]-d[a][0])*(e-d[a][1])/(d[f][1]-d[a][1])+d[a][0]&&(p=!p);return p}var D=a.Chart,C=a.each,B=a.extend,d=a.format,h=a.merge,q=a.win,t=a.wrap;D.prototype.transformFromLatLon= function(d,h){if(void 0===q.proj4)return a.error(21),{x:0,y:null};d=q.proj4(h.crs,[d.lon,d.lat]);var f=h.cosAngle||h.rotation&&Math.cos(h.rotation),g=h.sinAngle||h.rotation&&Math.sin(h.rotation);d=h.rotation?[d[0]*f+d[1]*g,-d[0]*g+d[1]*f]:d;return{x:((d[0]-(h.xoffset||0))*(h.scale||1)+(h.xpan||0))*(h.jsonres||1)+(h.jsonmarginX||0),y:(((h.yoffset||0)-d[1])*(h.scale||1)+(h.ypan||0))*(h.jsonres||1)-(h.jsonmarginY||0)}};D.prototype.transformToLatLon=function(d,h){if(void 0===q.proj4)a.error(21);else{d= {x:((d.x-(h.jsonmarginX||0))/(h.jsonres||1)-(h.xpan||0))/(h.scale||1)+(h.xoffset||0),y:((-d.y-(h.jsonmarginY||0))/(h.jsonres||1)+(h.ypan||0))/(h.scale||1)+(h.yoffset||0)};var f=h.cosAngle||h.rotation&&Math.cos(h.rotation),g=h.sinAngle||h.rotation&&Math.sin(h.rotation);h=q.proj4(h.crs,"WGS84",h.rotation?{x:d.x*f+d.y*-g,y:d.x*g+d.y*f}:d);return{lat:h.y,lon:h.x}}};D.prototype.fromPointToLatLon=function(d){var g=this.mapTransforms,f;if(g){for(f in g)if(g.hasOwnProperty(f)&&g[f].hitZone&&z({x:d.x,y:-d.y}, g[f].hitZone.coordinates[0]))return this.transformToLatLon(d,g[f]);return this.transformToLatLon(d,g["default"])}a.error(22)};D.prototype.fromLatLonToPoint=function(d){var g=this.mapTransforms,f,h;if(!g)return a.error(22),{x:0,y:null};for(f in g)if(g.hasOwnProperty(f)&&g[f].hitZone&&(h=this.transformFromLatLon(d,g[f]),z({x:h.x,y:-h.y},g[f].hitZone.coordinates[0])))return h;return this.transformFromLatLon(d,g["default"])};a.geojson=function(a,h,f){var g=[],p=[],q=function(a){var d,c=a.length;p.push("M"); for(d=0;dthis.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&q(d,function(a){a.setState()});q("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0]; var d=b.horiz,g=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",f=c[d],h=(b.pointRange||0)/2,l=b.getExtremes(),k=b.toValue(f-g,!0)+h,h=b.toValue(f+b.len-g,!0)-h,n=hh&&0>l&&(b.setExtremes(f,k,!1,!1,{trigger:"pan"}),e=!0);c[d]=g});e&&c.redraw(!1);B(c.container,{cursor:"move"})}});t(e.prototype,{select:function(a,b){var c=this,d=c.series,e=d.chart;a=k(a,!c.selected);c.firePointEvent(a?"select":"unselect", {accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[f(c,d.data)]=c.options;c.setState(a&&"select");b||q(e.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[f(a,d.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a,b){var c=this.series,d=c.chart,e=d.tooltip,f=d.hoverPoint;if(this.series){if(!b){if(f&&f!==this)f.onMouseOut();if(d.hoverSeries!==c)c.onMouseOver();d.hoverPoint=this}!e||e.shared&& !c.noSharedTooltip?e||this.setState("hover"):(this.setState("hover"),e.refresh(this,a));this.firePointEvent("mouseOver")}},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;this.firePointEvent("mouseOut");b&&-1!==f(this,b)||(this.setState(),a.hoverPoint=null)},importEvents:function(){if(!this.hasImportedEvents){var a=v(this.series.options.point,this.options).events,b;this.events=a;for(b in a)z(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX), d=this.plotY,e=this.series,f=e.options.states[a]||{},g=h[e.type].marker&&e.options.marker,n=g&&!1===g.enabled,q=g&&g.states&&g.states[a]||{},p=!1===q.enabled,m=e.stateMarkerGraphic,r=this.marker||{},u=e.chart,w=e.halo,v,z=g&&e.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===f.enabled||a&&(p||n&&!1===q.enabled)||a&&r.states&&r.states[a]&&!1===r.states[a].enabled)){z&&(v=e.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+ this.state),a&&this.graphic.addClass("highcharts-point-"+a),this.graphic.attr(e.pointAttribs(this,a)),v&&this.graphic.animate(v,k(u.options.chart.animation,q.animation,g.animation)),m&&m.hide();else{if(a&&q){g=r.symbol||e.symbol;m&&m.currentSymbol!==g&&(m=m.destroy());if(m)m[b?"animate":"attr"]({x:v.x,y:v.y});else g&&(e.stateMarkerGraphic=m=u.renderer.symbol(g,v.x,v.y,v.width,v.height).add(e.markerGroup),m.currentSymbol=g);m&&m.attr(e.pointAttribs(this,a))}m&&(m[a&&u.isInsidePlot(c,d,u.inverted)? "show":"hide"](),m.element.point=this)}(c=f.halo)&&c.size?(w||(e.halo=w=u.renderer.path().add(z?e.markerGroup:e.group)),w[b?"animate":"attr"]({d:this.haloPath(c.size)}),w.attr({"class":"highcharts-halo highcharts-color-"+k(this.colorIndex,e.colorIndex)}),w.point=this,w.attr(t({fill:this.color||e.color,"fill-opacity":c.opacity,zIndex:-1},c.attributes))):w&&w.point&&w.point.haloPath&&w.animate({d:w.point.haloPath(0)});this.state=a}},haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)- a,this.plotY-a,2*a,2*a)}});t(c.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&g(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&&g(this,"mouseOut");!c||a.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this,c= b.options,d=b.graph,e=c.states,g=c.lineWidth,c=0;a=a||"";if(b.state!==a&&(q([b.group,b.markerGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!e[a]||!1!==e[a].enabled)&&(a&&(g=e[a].lineWidth||g+(e[a].lineWidthPlus||0)),d&&!d.dashstyle))for(e={"stroke-width":g},d.attr(e);b["zone-graph-"+c];)b["zone-graph-"+c].attr(e),c+=1},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,h=d.options.chart.ignoreHiddenSeries, k=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!k:a)?"show":"hide";q(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&q(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});q(c.linkedSeries,function(b){b.setVisible(a,!1)});h&&(d.isDirtyBox=!0);!1!==b&&d.redraw();g(c,f)},show:function(){this.setVisible(!0)}, hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);g(this,a?"select":"unselect")},drawTracker:a.drawTrackerGraph})})(K);(function(a){var z=a.Chart,D=a.each,C=a.inArray,B=a.isObject,d=a.pick,h=a.splat;z.prototype.setResponsive=function(a){var d=this.options.responsive;d&&d.rules&&D(d.rules,function(d){this.matchResponsiveRule(d,a)},this)};z.prototype.matchResponsiveRule=function(h,t){var g=this.respRules,p=h.condition, f;f=p.callback||function(){return this.chartWidth<=d(p.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=d(p.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=d(p.minWidth,0)&&this.chartHeight>=d(p.minHeight,0)};void 0===h._id&&(h._id=a.uniqueKey());f=f.call(this);!g[h._id]&&f?h.chartOptions&&(g[h._id]=this.currentOptions(h.chartOptions),this.update(h.chartOptions,t)):g[h._id]&&!f&&(this.update(g[h._id],t),delete g[h._id])};z.prototype.currentOptions=function(a){function d(a,g,n){var f,p;for(f in a)if(-1< C(f,["series","xAxis","yAxis"]))for(a[f]=h(a[f]),n[f]=[],p=0;p