(function(){function X(){var C,A=arguments,B,$={},_=function(C,A){var B,$;typeof C!=="object"&&(C={});for($ in A)A.hasOwnProperty($)&&(B=A[$],C[$]=B&&typeof B==="object"&&Object.prototype.toString.call(B)!=="[object Array]"&&$!=="renderTo"&&typeof B.nodeType!=="number"?_(C[$]||{},B):A[$]);return C};A[0]===!0&&($=A[1],A=Array.prototype.slice.call(A,2));B=A.length;for(C=0;C-1?G.thousandsSep:""))):B=C0($,B)}F.push(B);E=E.slice(D+1);D=(A=!A)?"}":"{"}F.push(E);return F.join("")}function F($){return t.pow(10,r(t.log($)/t.LN10))}function S(E,C,D,A,B){var $,_=E,D=Q0(D,1);$=E/D;C||(C=[1,2,2.5,5,10],A===!1&&(D===1?C=[1,2,5,10]:D<=0.1&&(C=[1/D])));for(A=0;A=E||!B&&$<=(C[A]+(C[A+1]||C[A]))/2)break;_*=D;return _}function M1(C,A){var B=C.length,$,_;for(_=0;__&&(_=A[$]);return _}function l0(A,$){for(var _ in A)A[_]&&A[_]!==$&&A[_].destroy&&A[_].destroy(),delete A[_]}function a0($){k||(k=K(y0));$&&k.appendChild($);k.innerHTML=""}function r0(A,$){var _="Highcharts error #"+A+": www.highcharts.com/errors/"+A;if($)throw _;f.console&&console.log(_)}function j(_,$){return parseFloat(_.toPrecision($||14))}function V1(_,$){$.renderer.globalAnimation=Q0(_,$.animation)}function K1(){var C=w.global,A=C.useUTC,B=A?"getUTC":"get",$=A?"setUTC":"set";I1=C.Date||window.Date;M0=A&&C.timezoneOffset;j0=A&&C.getTimezoneOffset;H0=function(B,_,$,E,F,C){var D;A?(D=I1.UTC.apply(0,arguments),D+=q(D)):D=(new I1(B,_,Q0($,1),Q0(E,0),Q0(F,0),Q0(C,0))).getTime();return D};x0=B+"Minutes";q0=B+"Hours";c0=B+"Day";o0=B+"Date";b0=B+"Month";H1=B+"FullYear";_=$+"Milliseconds";M=$+"Seconds";Y=$+"Minutes";E0=$+"Hours";R0=$+"Date";_0=$+"Month";T=$+"FullYear"}function u(){}function C1(B,_,A,$){this.axis=B;this.pos=_;this.type=A||"";this.isNew=!0;!A&&!$&&this.addLabel()}function f0(D,B,C,_,A){var $=D.chart.inverted;this.axis=D;this.isNegative=C;this.options=B;this.x=_;this.total=null;this.points={};this.stack=A;this.alignOptions={align:B.align||($?C?"left":"right":"center"),verticalAlign:B.verticalAlign||($?"middle":C?"bottom":"top"),y:Q0(B.y,$?4:C?14:-6),x:Q0(B.x,$?C?-6:6:0)};this.textAlign=B.textAlign||($?C?"right":"left":"center")}var W0,e=document,f=window,t=Math,I0=t.round,r=t.floor,d0=t.ceil,N0=t.max,T0=t.min,i=t.abs,s=t.cos,S1=t.sin,x=t.PI,A=x*2/360,w0=navigator.userAgent,s0=f.opera,p0=/(msie|trident|edge)/i.test(w0)&&!s0,B=e.documentMode===8,N=!p0&&/AppleWebKit/.test(w0),Q1=/Firefox/.test(w0),E1=/(Mobile|Android|Windows Phone)/.test(w0),L="http://www.w3.org/2000/svg",Y0=!!e.createElementNS&&!!e.createElementNS(L,"svg").createSVGRect,$0=Q1&&parseInt(w0.split("Firefox/")[1],10)<4,F0=!Y0&&!p0&&!!e.createElement("canvas").getContext,W1,T1,P1={},G=0,k,w,C0,J1,a,S0=function(){return W0},B0=[],i0=0,y0="div",v="none",V0=/^[0-9]+$/,$1=["plotTop","marginRight","marginBottom","plotLeft"],m0="stroke-width",I1,H0,M0,j0,x0,q0,c0,o0,b0,H1,_,M,Y,E0,R0,_0,T,h={},c;c=f.Highcharts=f.Highcharts?r0(16,!0):{};c.seriesTypes=h;var K0=c.extend=function(A,$){var _;A||(A={});for(_ in $)A[_]=$[_];return A},Q0=c.pick=function(){var B=arguments,_,A,$=B.length;for(_=0;_<$;_++)if(A=B[_],A!==W0&&A!==null)return A},P=c.wrap=function(B,_,A){var $=B[_];B[_]=function(){var _=Array.prototype.slice.call(arguments);_.unshift($);return A.apply(this,_)}};C0=function(E,C,D){if(!P0(C)||isNaN(C))return w.lang.invalidDate||"";var E=Q0(E,"%Y-%m-%d %H:%M:%S"),A=new I1(C-q(C)),B,$=A[q0](),_=A[c0](),I=A[o0](),J=A[b0](),G=A[H1](),H=w.lang,F=H.weekdays,A=K0({a:F[_].substr(0,3),A:F[_],d:h0(I),e:I,w:_,b:H.shortMonths[J],B:H.months[J],m:h0(J+1),y:G.toString().substr(2,2),Y:G,H:h0($),k:$,I:h0($%12||12),l:$%12||12,M:h0(A[x0]()),p:$<12?"AM":"PM",P:$<12?"am":"pm",S:h0(A.getSeconds()),L:h0(I0(C%1000),3)},c.dateFormats);for(B in A)for(;E.indexOf("%"+B)!==-1;)E=E.replace("%"+B,typeof A[B]==="function"?A[B](C):A[B]);return D?E.substr(0,1).toUpperCase()+E.substr(1):E};a={millisecond:1,second:1000,minute:60000,hour:3600000,day:86400000,week:604800000,month:2419200000,year:31449600000};c.numberFormat=function(E,C,D,A){var B=w.lang,E=+E||0,$=C===-1?T0((E.toString().split(".")[1]||"").length,20):isNaN(C=i(C))?2:C,C=D===void 0?B.decimalPoint:D,A=A===void 0?B.thousandsSep:A,B=E<0?"-":"",D=String(b(E=i(E).toFixed($))),_=D.length>3?D.length%3:0;return B+(_?D.substr(0,_)+A:"")+D.substr(_).replace(/(\d{3})(?=\d)/g,"$1"+A)+($?C+i(E-D).toFixed($).slice(2):"")};J1={init:function(E,C,D){var C=C||"",A=E.shift,B=C.indexOf("C")>-1,$=B?7:3,_,C=C.split(" "),D=[].concat(D),G,H,F=function($){for(_=$.length;_--;)$[_]==="M"&&$.splice(_+1,0,$[_+1],$[_+2],$[_+1],$[_+2])};B&&(F(C),F(D));E.isArea&&(G=C.splice(C.length-6,6),H=D.splice(D.length-6,6));if(A<=D.length/$&&C.length===D.length)for(;A--;)D=[].concat(D).splice(0,$).concat(D);E.shift=0;if(C.length)for(E=D.length;C.length{point.key}
",pointFormat:"\u25cf {series.name}: {point.y}
",shadow:!0,snap:E1?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};var G1=w.plotOptions,o=G1.line;K1();var Q=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,C=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,O0=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,L0=function(B){var _=[],A,$;(function(B){B&&B.stops?$=D(B.stops,function($){return L0($[1])}):(A=Q.exec(B))?_=[b(A[1]),b(A[2]),b(A[3]),parseFloat(A[4],10)]:(A=C.exec(B))?_=[b(A[1],16),b(A[2],16),b(A[3],16),1]:(A=O0.exec(B))&&(_=[b(A[1]),b(A[2]),b(A[3]),1])})(B);return{get:function(C){var A;$?(A=X(B),A.stops=[].concat(A.stops),G0($,function(_,$){A.stops[$]=[A.stops[$][0],_.get(C)]})):A=_&&!isNaN(_[0])?C==="rgb"?"rgb("+_[0]+","+_[1]+","+_[2]+")":C==="a"?_[3]:"rgba("+_.join(",")+")":B;return A},brighten:function(B){if($)G0($,function($){$.brighten(B)});else if(N1(B)&&B!==0){var A;for(A=0;A<3;A++)_[A]+=b(B*255),_[A]<0&&(_[A]=0),_[A]>255&&(_[A]=255)}return this},rgba:_,setOpacity:function($){_[3]=$;return this},raw:B}};u.prototype={opacity:1,textProps:"fontSize,fontWeight,fontFamily,fontStyle,color,lineHeight,width,textDecoration,textOverflow,textShadow".split(","),init:function(_,$){this.element=$==="span"?K($):e.createElementNS(L,$);this.renderer=_},animate:function(A,$,_){$=Q0($,this.renderer.globalAnimation,!0);X0(this);if($){$=X($,{});if(_)$.complete=_;u0(this,A,$)}else this.attr(A,null,_);return this},colorGradient:function(E,C,D){var A=this.renderer,B,$,_,L,M,J,K,I,F,H,N,O=[];E.linearGradient?$="linearGradient":E.radialGradient&&($="radialGradient");if($){_=E[$];M=A.gradients;K=E.stops;H=D.radialReference;D0(_)&&(E[$]=_={x1:_[0],y1:_[1],x2:_[2],y2:_[3],gradientUnits:"userSpaceOnUse"});$==="radialGradient"&&H&&!P0(_.gradientUnits)&&(L=_,_=X(_,A.getRadialAttr(H,L),{gradientUnits:"userSpaceOnUse"}));for(N in _)N!=="id"&&O.push(N,_[N]);for(N in K)O.push(K[N]);O=O.join(",");M[O]?E=M[O].attr("id"):(_.id=E="highcharts-"+G++,M[O]=J=A.createElement($).attr(_).add(A.defs),J.radAttr=L,J.stops=[],G0(K,function($){$[1].indexOf("rgba")===0?(B=L0($[1]),I=B.get("rgb"),F=B.get("a")):(I=$[1],F=1);$=A.createElement("stop").attr({offset:$[0],"stop-color":I,"stop-opacity":F}).add(J);J.stops.push($)}));D.setAttribute(C,"url("+A.url+"#"+E+")");D.gradient=O}},applyTextShadow:function(E){var C=this.element,D,A=E.indexOf("contrast")!==-1,B={},$=this.renderer.forExport,_=$||C.style.textShadow!==W0&&!p0;if(A)B.textShadow=E=E.replace(/contrast/g,this.renderer.getContrast(C.style.fill));if(N||$)B.textRendering="geometricPrecision";_?this.css(B):(this.fakeTS=!0,this.ySetter=this.xSetter,D=[].slice.call(C.getElementsByTagName("tspan")),G0(E.split(/\s?,\s?/g),function(B){var _=C.firstChild,A,$,B=B.split(" ");A=B[B.length-1];($=B[B.length-2])&&G0(D,function(E,D){var B;D===0&&(E.setAttribute("x",C.getAttribute("x")),D=C.getAttribute("y"),E.setAttribute("y",D||0),D===null&&C.setAttribute("y",0));B=E.cloneNode(1);n(B,{"class":"highcharts-text-shadow",fill:A,stroke:A,"stroke-opacity":1/N0(b($),3),"stroke-width":$,"stroke-linejoin":"round"});C.insertBefore(B,_)})}))},attr:function(E,C,D){var A,B=this.element,$,_=this,F;typeof E==="string"&&C!==W0&&(A=E,E={},E[A]=C);if(typeof E==="string")_=(this[E+"Getter"]||this._defaultGetter).call(this,E,B);else{for(A in E){C=E[A];F=!1;this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(A)&&($||(this.symbolAttr(E),$=!0),F=!0);if(this.rotation&&(A==="x"||A==="y"))this.doTransform=!0;F||(this[A+"Setter"]||this._defaultSetter).call(this,C,A,B);this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(A)&&this.updateShadows(A,C)}if(this.doTransform)this.updateTransform(),this.doTransform=!1}D&&D();return _},updateShadows:function(B,_){for(var A=this.shadows,$=A.length;$--;)A[$].setAttribute(B,B==="height"?N0(_-(A[$].cutHeight||0),0):B==="d"?this.d:_)},addClass:function(A){var $=this.element,_=n($,"class")||"";_.indexOf(A)===-1&&n($,"class",_+" "+A);return this},symbolAttr:function(_){var $=this;G0("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(A){$[A]=Q0(_[A],$[A])});$.attr({d:$.renderer.symbols[$.symbolName]($.x,$.y,$.width,$.height,$)})},clip:function($){return this.attr("clip-path",$?"url("+this.renderer.url+"#"+$.id+")":v)},crisp:function(C){var A,B={},$,_=C.strokeWidth||this.strokeWidth||0;$=I0(_)%2/2;C.x=r(C.x||this.x||0)+$;C.y=r(C.y||this.y||0)+$;C.width=r((C.width||this.width||0)-2*$);C.height=r((C.height||this.height||0)-2*$);C.strokeWidth=_;for(A in C)this[A]!==C[A]&&(this[A]=B[A]=C[A]);return B},css:function(E){var C=this.styles,D={},A=this.element,B,$,_="";B=!C;if(E&&E.color)E.fill=E.color;if(C)for($ in E)E[$]!==C[$]&&(D[$]=E[$],B=!0);if(B){B=this.textWidth=E&&E.width&&A.nodeName.toLowerCase()==="text"&&b(E.width)||this.textWidth;C&&(E=K0(C,D));this.styles=E;B&&(F0||!Y0&&this.renderer.forExport)&&delete E.width;if(p0&&!Y0)g(this.element,E);else{C=function(_,$){return"-"+$.toLowerCase()};for($ in E)_+=$.replace(/([A-Z])/g,C)+":"+E[$]+";";n(A,"style",_)}B&&this.added&&this.renderer.buildText(this)}return this},on:function(B,_){var A=this,$=A.element;T1&&B==="click"?($.ontouchstart=function(B){A.touchEventFired=I1.now();B.preventDefault();_.call($,B)},$.onclick=function(B){(w0.indexOf("Android")===-1||I1.now()-(A.touchEventFired||0)>1100)&&_.call($,B)}):$["on"+B]=_;return this},setRadialReference:function(_){var $=this.renderer.gradients[this.element.gradient];this.element.radialReference=_;$&&$.radAttr&&$.animate(this.renderer.getRadialAttr(_,$.radAttr));return this},translate:function(_,$){return this.attr({translateX:_,translateY:$})},invert:function(){this.inverted=!0;this.updateTransform();return this},updateTransform:function(){var E=this.translateX||0,C=this.translateY||0,D=this.scaleX,A=this.scaleY,B=this.inverted,$=this.rotation,_=this.element;B&&(E+=this.attr("width"),C+=this.attr("height"));E=["translate("+E+","+C+")"];B?E.push("rotate(90) scale(-1,1)"):$&&E.push("rotate("+$+" "+(_.getAttribute("x")||0)+" "+(_.getAttribute("y")||0)+")");(P0(D)||P0(A))&&E.push("scale("+Q0(D,1)+" "+Q0(A,1)+")");E.length&&_.setAttribute("transform",E.join(" "))},toFront:function(){var $=this.element;$.parentNode.appendChild($);return this},align:function(E,C,D){var A,B,$,_,F={};B=this.renderer;$=B.alignedObjects;if(E){if(this.alignOptions=E,this.alignByTranslate=C,!D||v0(D))this.alignTo=A=D||"renderer",U1($,this),$.push(this),D=null}else E=this.alignOptions,C=this.alignByTranslate,A=this.alignTo;D=Q0(D,B[A],B);A=E.align;B=E.verticalAlign;$=(D.x||0)+(E.x||0);_=(D.y||0)+(E.y||0);if(A==="right"||A==="center")$+=(D.width-(E.width||0))/{right:1,center:2}[A];F[C?"translateX":"x"]=I0($);if(B==="bottom"||B==="middle")_+=(D.height-(E.height||0))/({bottom:1,middle:2}[B]||1);F[C?"translateY":"y"]=I0(_);this[this.placed?"animate":"attr"](F);this.placed=!0;this.alignAttr=F;return this},getBBox:function(F){var D,E=this.renderer,B,C=this.rotation,$=this.element,_=this.styles,K=C*A;B=this.textStr;var M,I=$.style,J,H;B!==W0&&(H=["",C||0,_&&_.fontSize,$.style.width].join(","),H=B===""||V0.test(B)?"num:"+B.toString().length+H:B+H);H&&!F&&(D=E.cache[H]);if(!D){if($.namespaceURI===L||E.forExport){try{J=this.fakeTS&&function(_){G0($.querySelectorAll(".highcharts-text-shadow"),function($){$.style.display=_})},Q1&&I.textShadow?(M=I.textShadow,I.textShadow=""):J&&J(v),D=$.getBBox?K0({},$.getBBox()):{width:$.offsetWidth,height:$.offsetHeight},M?I.textShadow=M:J&&J("")}catch(G){}if(!D||D.width<0)D={width:0,height:0}}else D=this.htmlGetBBox();if(E.isSVG){F=D.width;B=D.height;if(p0&&_&&_.fontSize==="11px"&&B.toPrecision(3)==="16.9")D.height=B=14;if(C)D.width=i(B*S1(K))+i(F*s(K)),D.height=i(B*s(K))+i(F*S1(K))}H&&(E.cache[H]=D)}return D},show:function($){return this.attr({visibility:$?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(_){var $=this;$.animate({opacity:0},{duration:_||150,complete:function(){$.attr({y:-9999})}})},add:function(B){var _=this.renderer,A=this.element,$;if(B)this.parentGroup=B;this.parentInverted=B&&B.inverted;this.textStr!==void 0&&_.buildText(this);this.added=!0;if(!B||B.handleZ||this.zIndex)$=this.zIndexSetter();$||(B?B.element:_.box).appendChild(A);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(_){var $=_.parentNode;$&&$.removeChild(_)},destroy:function(){var D=this,B=D.element||{},C=D.shadows,_=D.renderer.isSVG&&B.nodeName==="SPAN"&&D.parentGroup,A,$;B.onclick=B.onmouseout=B.onmouseover=B.onmousemove=B.point=null;X0(D);if(D.clipPath)D.clipPath=D.clipPath.destroy();if(D.stops){for($=0;$]*>/g,"")))},textSetter:function($){if($!==this.textStr)delete this.bBox,this.textStr=$,this.added&&this.renderer.buildText(this)},fillSetter:function(A,$,_){typeof A==="string"?_.setAttribute($,A):A&&this.colorGradient(A,$,_)},visibilitySetter:function(A,$,_){A==="inherit"?_.removeAttribute($):_.setAttribute($,A)},zIndexSetter:function(E,C){var D=this.renderer,A=this.parentGroup,D=(A||D).element||D.box,B,$,_=this.element,F;B=this.added;var G;P0(E)&&(_.setAttribute(C,E),E=+E,this[C]===E&&(B=!1),this[C]=E);if(B){if((E=this.zIndex)&&A)A.handleZ=!0;A=D.childNodes;for(G=0;GE||!P0(E)&&P0($)))D.insertBefore(_,B),F=!0;F||D.appendChild(_)}return F},_defaultSetter:function(A,$,_){_.setAttribute($,A)}};u.prototype.yGetter=u.prototype.xGetter;u.prototype.translateXSetter=u.prototype.translateYSetter=u.prototype.rotationSetter=u.prototype.verticalAlignSetter=u.prototype.scaleXSetter=u.prototype.scaleYSetter=function(_,$){this[$]=_;this.doTransform=!0};u.prototype["stroke-widthSetter"]=u.prototype.strokeSetter=function(A,$,_){this[$]=A;if(this.stroke&&this["stroke-width"])this.strokeWidth=this["stroke-width"],u.prototype.fillSetter.call(this,this.stroke,"stroke",_),_.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0;else if($==="stroke-width"&&A===0&&this.hasStroke)_.removeAttribute("stroke"),this.hasStroke=!1};var A1=function(){this.init.apply(this,arguments)};A1.prototype={Element:u,init:function(E,C,D,A,B,$){var _=location,F,A=this.createElement("svg").attr({version:"1.1"}).css(this.getStyle(A));F=A.element;E.appendChild(F);E.innerHTML.indexOf("xmlns")===-1&&n(F,"xmlns",L);this.isSVG=!0;this.box=F;this.boxWrapper=A;this.alignedObjects=[];this.url=(Q1||N)&&e.getElementsByTagName("base").length?_.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(e.createTextNode("Created with Highcharts 4.1.9"));this.defs=this.createElement("defs").add();this.allowHTML=$;this.forExport=B;this.gradients={};this.cache={};this.setSize(C,D,!1);var G;if(Q1&&E.getBoundingClientRect)this.subPixelFix=C=function(){g(E,{left:0,top:0});G=E.getBoundingClientRect();g(E,{left:d0(G.left)-G.left+"px",top:d0(G.top)-G.top+"px"})},C(),l(f,"resize",C)},getStyle:function($){return this.style=K0({fontFamily:"\"Lucida Grande\", \"Lucida Sans Unicode\", Arial, Helvetica, sans-serif",fontSize:"12px"},$)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var $=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();l0(this.gradients||{});this.gradients=null;if($)this.defs=$.destroy();this.subPixelFix&&A0(f,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(_){var $=new this.Element;$.init(this,_);return $},draw:function(){},getRadialAttr:function(_,$){return{cx:_[0]-_[2]/2+$.cx*_[2],cy:_[1]-_[2]/2+$.cy*_[2],r:$.r*_[2]}},buildText:function(F){for(var C=F.element,E=this,A=E.forExport,B=Q0(F.textStr,"").toString(),$=B.indexOf("<")!==-1,_=C.childNodes,M,N,J=n(C,"x"),K=F.styles,I=F.textWidth,G=K&&K.lineHeight,H=K&&K.textShadow,P=K&&K.textOverflow==="ellipsis",Q=_.length,R=I&&!F.added&&this.box,D=function($){return G?b(G):E.fontMetrics(/(px|em)$/.test($&&$.style.fontSize)?$.style.fontSize:K&&K.fontSize||E.style.fontSize||12,$).h},O=function($){return $.replace(/</g,"<").replace(/>/g,">")};Q--;)C.removeChild(_[Q]);!$&&!H&&!P&&B.indexOf(" ")===-1?C.appendChild(e.createTextNode(O(B))):(M=/<.*style="([^"]+)".*>/,N=/<.*href="(http[^"]+)".*>/,R&&R.appendChild(C),B=$?B.replace(/<(b|strong)>/g,"").replace(/<(i|em)>/g,"").replace(//g,"").split(//g):[B],B[B.length-1]===""&&B.pop(),G0(B,function(B,$){var _,G=0,B=B.replace(//g,"|||");_=B.split("|||");G0(_,function(H){if(H!==""||_.length===1){var R={},V=e.createElementNS(L,"tspan"),X;M.test(H)&&(X=H.match(M)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),n(V,"style",X));N.test(H)&&!A&&(n(V,"onclick","location.href=\""+H.match(N)[1]+"\""),g(V,{cursor:"pointer"}));H=O(H.replace(/<(.|\n)*?>/g,"")||" ");if(H!==" "){V.appendChild(e.createTextNode(H));if(G)R.dx=0;else if($&&J!==null)R.x=J;n(V,R);C.appendChild(V);!G&&$&&(!Y0&&A&&g(V,{display:"block"}),n(V,"dy",D(V)));if(I){for(var R=H.replace(/([^\^])-/g,"$1- ").split(" "),a=_.length>1||$||R.length>1&&K.whiteSpace!=="nowrap",Q,Z,W,U=[],b=D(V),T=1,S=F.rotation,Y=H,B=Y.length;(a||P)&&(R.length||U.length);)F.rotation=0,Q=F.getBBox(!0),W=Q.width,!Y0&&E.forExport&&(W=E.measureSpanWidth(V.firstChild.data,F.styles)),Q=W>I,Z===void 0&&(Z=Q),P&&Z?(B/=2,Y===""||!Q&&B<0.5?R=[]:(Q&&(Z=!0),Y=H.substring(0,Y.length+(Q?-1:1)*d0(B)),R=[Y+(I>3?"\u2026":"")],V.removeChild(V.firstChild))):!Q||R.length===1?(R=U,U=[],R.length&&(T++,V=e.createElementNS(L,"tspan"),n(V,{dy:b,x:J}),X&&n(V,"style",X),C.appendChild(V)),W>I&&(I=W)):(V.removeChild(V.firstChild),U.unshift(R.pop())),R.length&&V.appendChild(e.createTextNode(R.join(" ").replace(/- /g,"-")));Z&&F.attr("title",F.textStr);F.rotation=S}G++}}})}),R&&R.removeChild(C),H&&F.applyTextShadow&&F.applyTextShadow(H))},getContrast:function($){$=L0($).rgba;return $[0]+$[1]+$[2]>384?"#000000":"#FFFFFF"},button:function(E,C,D,A,B,$,_,K,L){var I=this.label(E,C,D,L,null,null,null,null,"button"),J=0,H,F,G,M,N,O,E={x1:0,y1:0,x2:0,y2:1},B=X({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:E,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},B);G=B.style;delete B.style;$=X(B,{stroke:"#68A",fill:{linearGradient:E,stops:[[0,"#FFF"],[1,"#ACF"]]}},$);M=$.style;delete $.style;_=X(B,{stroke:"#68A",fill:{linearGradient:E,stops:[[0,"#9BD"],[1,"#CDF"]]}},_);N=_.style;delete _.style;K=X(B,{style:{color:"#CCC"}},K);O=K.style;delete K.style;l(I.element,p0?"mouseover":"mouseenter",function(){J!==3&&I.attr($).css(M)});l(I.element,p0?"mouseout":"mouseleave",function(){J!==3&&(H=[B,$,_][J],F=[G,M,N][J],I.attr(H).css(F))});I.setState=function($){(I.state=J=$)?$===2?I.attr(_).css(N):$===3&&I.attr(K).css(O):I.attr(B).css(G)};return I.on("click",function($){J!==3&&A.call(I,$)}).attr(B).css(K0({cursor:"default"},G))},crispLine:function(_,$){_[1]===_[4]&&(_[1]=_[4]=I0(_[1])-$%2/2);_[2]===_[5]&&(_[2]=_[5]=I0(_[2])+$%2/2);return _},path:function(_){var $={fill:v};D0(_)?$.d=_:k0(_)&&K0($,_);return this.createElement("path").attr($)},circle:function(A,$,_){A=k0(A)?A:{x:A,y:$,r:_};$=this.createElement("circle");$.xSetter=function($){this.element.setAttribute("cx",$)};$.ySetter=function($){this.element.setAttribute("cy",$)};return $.attr(A)},arc:function(D,B,C,_,A,$){if(k0(D))B=D.y,C=D.r,_=D.innerR,A=D.start,$=D.end,D=D.x;D=this.symbol("arc",D||0,B||0,C||0,C||0,{innerR:_||0,start:A||0,end:$||0});D.r=C;return D},rect:function(E,C,D,A,B,$){var B=k0(E)?E.r:B,_=this.createElement("rect"),E=k0(E)?E:E===W0?{}:{x:E,y:C,width:N0(D,0),height:N0(A,0)};if($!==W0)E.strokeWidth=$,E=_.crisp(E);if(B)E.r=B;_.rSetter=function($){n(this.element,{rx:$,ry:$})};return _.attr(E)},setSize:function(C,A,B){var $=this.alignedObjects,_=$.length;this.width=C;this.height=A;for(this.boxWrapper[Q0(B,!0)?"animate":"attr"]({width:C,height:A});_--;)$[_].align()},g:function(_){var $=this.createElement("g");return P0(_)?$.attr({"class":"highcharts-"+_}):$},image:function(D,B,C,_,A){var $={preserveAspectRatio:v};arguments.length>1&&K0($,{x:B,y:C,width:_,height:A});$=this.createElement("image").attr($);$.element.setAttributeNS?$.element.setAttributeNS("http://www.w3.org/1999/xlink","href",D):$.element.setAttribute("hc-svg-href",D);return $},symbol:function(E,C,D,A,B,$){var _,H=this.symbols[E],H=H&&H(I0(C),I0(D),A,B,$),I=/^url\((.*?)\)$/,F,G;if(H)_=this.path(H),K0(_,{symbolName:E,x:C,y:D,width:A,height:B}),$&&K0(_,$);else if(I.test(E))G=function(_,$){_.element&&(_.attr({width:$[0],height:$[1]}),_.alignByTranslate||_.translate(I0((A-$[0])/2),I0((B-$[1])/2)))},F=E.match(I)[1],E=P1[F]||$&&$.width&&$.height&&[$.width,$.height],_=this.image(F).attr({x:C,y:D}),_.isImg=!0,E?G(_,E):(_.attr({width:0,height:0}),K("img",{onload:function(){this.width===0&&(g(this,{position:"absolute",top:"-999em"}),document.body.appendChild(this));G(_,P1[F]=[this.width,this.height]);this.parentNode&&this.parentNode.removeChild(this)},src:F}));return _},symbols:{circle:function(C,A,B,$){var _=0.166*B;return["M",C+B/2,A,"C",C+B+_,A,C+B+_,A+$,C+B/2,A+$,"C",C-_,A+$,C-_,A,C+B/2,A,"Z"]},square:function(B,_,A,$){return["M",B,_,"L",B+A,_,B+A,_+$,B,_+$,"Z"]},triangle:function(B,_,A,$){return["M",B+A/2,_,"L",B+A,_+$,B,_+$,"Z"]},"triangle-down":function(B,_,A,$){return["M",B,_,"L",B+A,_,B+A/2,_+$,"Z"]},diamond:function(B,_,A,$){return["M",B+A/2,_,"L",B+A,_+$/2,B+A/2,_+$,B,_+$/2,"Z"]},arc:function(E,C,D,A,B){var $=B.start,D=B.r||D||A,_=B.end-0.001,A=B.innerR,H=B.open,I=s($),F=S1($),G=s(_),_=S1(_),B=B.end-$D&&B>C+_&&BC+_&&BA&&F>E+_&&FE+_&&FF&&/[ \-]/.test(C.textContent||C.innerText))g(C,{width:F+"px",display:"block",whiteSpace:I&&I.whiteSpace||"normal"}),L=F;this.getSpanCorrection(L,H,K,J,_)}g(C,{left:B+(this.xCorr||0)+"px",top:$+(this.yCorr||0)+"px"});if(N)H=C.offsetHeight;this.cTT=G}}else this.alignOnAdd=!0},setSpanRotation:function(C,A,B){var $={},_=p0?"-ms-transform":N?"-webkit-transform":Q1?"MozTransform":s0?"-o-transform":"";$[_]=$.transform="rotate("+C+"deg)";$[_+(Q1?"Origin":"-origin")]=$.transformOrigin=A*100+"% "+B+"px";g(this.element,$)},getSpanCorrection:function(A,$,_){this.xCorr=-A*_;this.yCorr=-$}});K0(A1.prototype,{html:function(D,B,C){var _=this.createElement("span"),A=_.element,$=_.renderer;_.textSetter=function($){$!==A.innerHTML&&delete this.bBox;A.innerHTML=this.textStr=$;_.htmlUpdateTransform()};_.xSetter=_.ySetter=_.alignSetter=_.rotationSetter=function(A,$){$==="align"&&($="textAlign");_[$]=A;_.htmlUpdateTransform()};_.attr({text:D,x:I0(B),y:I0(C)}).css({position:"absolute",fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});A.style.whiteSpace="nowrap";_.css=_.htmlCss;if($.isSVG)_.add=function(D){var B,C=$.box.parentNode,E=[];if(this.parentGroup=D){if(B=D.div,!B){for(;D;)E.push(D),D=D.parentGroup;G0(E.reverse(),function(A){var $,_=n(A.element,"class");_&&(_={className:_});B=A.div=A.div||K(y0,_,{position:"absolute",left:(A.translateX||0)+"px",top:(A.translateY||0)+"px"},B||C);$=B.style;K0(A,{translateXSetter:function(_,B){$.left=_+"px";A[B]=_;A.doTransform=!0},translateYSetter:function(_,B){$.top=_+"px";A[B]=_;A.doTransform=!0}});G0(["opacity","visibility"],function(_){P(A,_+"Setter",function(C,A,B,_){C.call(this,A,B,_);$[B]=A})})})}}else B=C;B.appendChild(A);_.added=!0;_.alignOnAdd&&_.htmlUpdateTransform();return _};return _}});if(!Y0&&!F0){Z={init:function(C,A){var B=["<",A," filled=\"f\" stroked=\"f\""],$=["position: ","absolute",";"],_=A===y0;(A==="shape"||_)&&$.push("left:0;top:0;width:1px;height:1px;");$.push("visibility: ",_?"hidden":"visible");B.push(" style=\"",$.join(""),"\"/>");if(A)B=_||A==="span"||A==="img"?B.join(""):C.prepVML(B),this.element=K(B);this.renderer=C},add:function(B){var _=this.renderer,A=this.element,$=_.box,$=B?B.element||B:$;B&&B.inverted&&_.invertChild(A,$);$.appendChild(A);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd();return this},updateTransform:u.prototype.htmlUpdateTransform,setSpanRotation:function(){var B=this.rotation,$=s(B*A),_=S1(B*A);g(this.element,{filter:B?["progid:DXImageTransform.Microsoft.Matrix(M11=",$,", M12=",-_,", M21=",_,", M22=",$,", sizingMethod='auto expand')"].join(""):v})},getSpanCorrection:function(F,D,E,B,C){var $=B?s(B*A):1,_=B?S1(B*A):0,G=Q0(this.elemHeight,this.element.offsetHeight),H;this.xCorr=$<0&&-F;this.yCorr=_<0&&-G;H=$*_<0;this.xCorr+=_*D*(H?1-E:E);this.yCorr-=$*D*(B?H?E:1-E:1);C&&C!=="left"&&(this.xCorr-=F*E*($<0?-1:1),B&&(this.yCorr-=G*E*(_<0?-1:1)),g(this.element,{textAlign:C}))},pathToVML:function(A){for(var $=A.length,_=[];$--;)if(N1(A[$]))_[$]=I0(A[$]*10)-5;else if(A[$]==="Z")_[$]="x";else if(_[$]=A[$],A.isArc&&(A[$]==="wa"||A[$]==="at"))_[$+5]===_[$+7]&&(_[$+7]+=A[$+7]>A[$+5]?1:-1),_[$+6]===_[$+8]&&(_[$+8]+=A[$+8]>A[$+6]?1:-1);return _.join(" ")||"x"},clip:function(A){var $=this,_;A?(_=A.members,U1(_,$),_.push($),$.destroyClip=function(){U1(_,$)},A=A.getCSS($)):($.destroyClip&&$.destroyClip(),A={clip:B?"inherit":"rect(auto)"});return $.css(A)},css:u.prototype.htmlCss,safeRemoveChild:function($){$.parentNode&&a0($)},destroy:function(){this.destroyClip&&this.destroyClip();return u.prototype.destroy.apply(this)},on:function(_,$){this.element["on"+_]=function(){var _=f.event;_.target=_.srcElement;$(_)};return this},cutOffPath:function(A,$){var _,A=A.split(/[ ,]/);_=A.length;if(_===9||_===11)A[_-4]=A[_-2]=b(A[_-2])-10*$;return A.join(" ")},shadow:function(E,C,D){var A=[],B,$=this.element,_=this.renderer,L,M=$.style,I,J=$.path,H,F,G,N;J&&typeof J.value!=="string"&&(J="x");F=J;if(E){G=Q0(E.width,3);N=(E.opacity||0.15)/G;for(B=1;B<=3;B++){H=G*2+1-2*B;D&&(F=this.cutOffPath(J.value,H+0.5));I=[""];L=K(_.prepVML(I),null,{left:b(M.left)+Q0(E.offsetX,1),top:b(M.top)+Q0(E.offsetY,1)});if(D)L.cutOff=H+1;I=[""];K(_.prepVML(I),null,null,L);C?C.element.appendChild(L):$.parentNode.insertBefore(L,$);A.push(L)}this.shadows=A}return this},updateShadows:S0,setAttr:function(_,$){B?this.element[_]=$:this.element.setAttribute(_,$)},classSetter:function($){this.element.className=$},dashstyleSetter:function(A,$,_){(_.getElementsByTagName("stroke")[0]||K(this.renderer.prepVML([""]),null,null,_))[$]=A||"solid";this[$]=A},dSetter:function(B,_,A){var $=this.shadows,B=B||[];this.d=B.join&&B.join(" ");A.path=B=this.pathToVML(B);if($)for(A=$.length;A--;)$[A].path=$[A].cutOff?this.cutOffPath(B,$[A].cutOff):B;this.setAttr(_,B)},fillSetter:function(B,_,A){var $=A.nodeName;if($==="SPAN")A.style.color=B;else if($!=="IMG")A.filled=B!==v,this.setAttr("fillcolor",this.renderer.color(B,A,_,this))},opacitySetter:S0,rotationSetter:function(B,$,_){_=_.style;this[$]=_[$]=B;_.left=-I0(S1(B*A)+1)+"px";_.top=I0(s(B*A))+"px"},strokeSetter:function(A,$,_){this.setAttr("strokecolor",this.renderer.color(A,_,$))},"stroke-widthSetter":function(A,$,_){_.stroked=!!A;this[$]=A;N1(A)&&(A+="px");this.setAttr("strokeweight",A)},titleSetter:function(_,$){this.setAttr($,_)},visibilitySetter:function(A,$,_){A==="inherit"&&(A="visible");this.shadows&&G0(this.shadows,function(_){_.style[$]=A});_.nodeName==="DIV"&&(A=A==="hidden"?"-999em":0,B||(_.style[$]=A?"visible":"hidden"),$="top");_.style[$]=A},xSetter:function(A,$,_){this[$]=A;$==="x"?$="left":$==="y"&&($="top");this.updateClipping?(this[$]=A,this.updateClipping()):_.style[$]=A},zIndexSetter:function(A,$,_){_.style[$]=A}};c.VMLElement=Z=g0(u,Z);Z.prototype.ySetter=Z.prototype.widthSetter=Z.prototype.heightSetter=Z.prototype.xSetter;var V={Element:Z,isIE8:w0.indexOf("MSIE 8.0")>-1,init:function(D,B,C,_){var A;this.alignedObjects=[];_=this.createElement(y0).css(K0(this.getStyle(_),{position:"relative"}));A=_.element;D.appendChild(_.element);this.isVML=!0;this.box=A;this.boxWrapper=_;this.cache={};this.setSize(B,C,!1);if(!e.namespaces.hcv){e.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{e.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch($){e.styleSheets[0].cssText+="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(E,C,D,_){var A=this.createElement(),$=k0(E);return K0(A,{members:[],count:0,left:($?E.x:E)+1,top:($?E.y:C)+1,width:($?E.width:D)-1,height:($?E.height:_)-1,getCSS:function(E){var C=E.element,D=C.nodeName,E=E.inverted,_=this.top-(D==="shape"?C.offsetTop:0),A=this.left,C=A+this.width,$=_+this.height,_={clip:"rect("+I0(E?A:_)+"px,"+I0(E?$:C)+"px,"+I0(E?C:$)+"px,"+I0(E?_:A)+"px)"};!E&&B&&D==="DIV"&&K0(_,{width:C+"px",height:$+"px"});return _},updateClipping:function(){G0(A.members,function($){$.element&&$.css(A.getCSS($))})}})},color:function(H,F,G,D){var E=this,B,C=/^rgba/,O,P,M=v;H&&H.linearGradient?P="gradient":H&&H.radialGradient&&(P="pattern");if(P){var N,L,I=H.linearGradient||H.radialGradient,J,S,V,X,_,R="",H=H.stops,Z,W=[],A=function(){O=[""];K(E.prepVML(O),null,null,F)};J=H[0];Z=H[H.length-1];J[0]>0&&H.unshift([0,J[1]]);Z[0]<1&&H.push([1,Z[1]]);G0(H,function(A,$){C.test(A[1])?(B=L0(A[1]),N=B.get("rgb"),L=B.get("a")):(N=A[1],L=1);W.push(A[0]*100+"% "+N);$?(V=L,X=N):(S=L,_=N)});if(G==="fill"){if(P==="gradient")G=I.x1||I[0]||0,H=I.y1||I[1]||0,J=I.x2||I[2]||0,I=I.y2||I[3]||0,R="angle=\""+(90-t.atan((I-H)/(J-G))*180/x)+"\"",A();else{var M=I.r,U=M*2,a=M*2,T=I.cx,Q=I.cy,Y=F.radialReference,$,M=function(){Y&&($=D.getBBox(),T+=(Y[0]-$.x)/$.width-0.5,Q+=(Y[1]-$.y)/$.height-0.5,U*=Y[2]/$.width,a*=Y[2]/$.height);R="src=\""+w.global.VMLRadialGradientURL+"\" size=\""+U+","+a+"\" origin=\"0.5,0.5\" position=\""+T+","+Q+"\" color2=\""+_+"\" ";A()};D.added?M():D.onAdd=M;M=X}}else M=N}else if(C.test(H)&&F.tagName!=="IMG")B=L0(H),O=["<",G," opacity=\"",B.get("a"),"\"/>"],K(this.prepVML(O),null,null,F),M=B.get("rgb");else{M=F.getElementsByTagName(G);if(M.length)M[0].opacity=1,M[0].type="solid";M=H}return M},prepVML:function(_){var $=this.isIE8,_=_.join("");$?(_=_.replace("/>"," xmlns=\"urn:schemas-microsoft-com:vml\" />"),_=_.indexOf("style=\"")===-1?_.replace("/>"," style=\"display:inline-block;behavior:url(#default#VML);\" />"):_.replace("style=\"","style=\"display:inline-block;behavior:url(#default#VML);")):_=_.replace("<","1&&$.attr({x:B,y:C,width:_,height:A});return $},createElement:function($){return $==="rect"?this.symbol($):A1.prototype.createElement.call(this,$)},invertChild:function(C,A){var B=this,$=A.style,_=C.tagName==="IMG"&&C.style;g(C,{flip:"x",left:b($.width)-(_?b(_.top):1),top:b($.height)-(_?b(_.left):1),rotation:-90});G0(C.childNodes,function($){B.invertChild($,C)})},symbols:{arc:function(E,C,D,A,B){var $=B.start,_=B.end,H=B.r||D||A,D=B.innerR,A=s($),I=S1($),F=s(_),G=S1(_);if(_-$===0)return["x"];$=["wa",E-H,C-H,E+H,C+H,E+H*A,C+H*I,E+H*F,C+H*G];B.open&&!D&&$.push("e","M",E,C);$.push("at",E-D,C-D,E+D,C+D,E+D*F,C+D*G,E+D*A,C+D*I,"x","e");$.isArc=!0;return $},circle:function(C,A,B,$,_){_&&(B=$=2*_.r);_&&_.isCircle&&(C-=B/2,A-=$/2);return["wa",C,A,C+B,A+$,C+B,A+$/2,C+B,A+$/2,"e"]},rect:function(C,A,B,$,_){return A1.prototype.symbols[!P0(_)||!_.r?"square":"callout"].call(0,C,A,B,$,_)}}};c.VMLRenderer=Z=function(){this.init.apply(this,arguments)};Z.prototype=X(A1.prototype,V);W1=Z}A1.prototype.measureSpanWidth=function(B,_){var A=e.createElement("span"),$;$=e.createTextNode(B);A.appendChild($);g(A,_);this.box.appendChild(A);$=A.offsetWidth;a0(A);return $};var I;if(F0)c.CanVGRenderer=Z=function(){L="http://www.w3.org/1999/xhtml"},Z.prototype.symbols={},I=function(){function _(){var A=$.length,_;for(_=0;_0&&E+M*J>C&&(G=I0((B-E)/s(L*A)));else if(B=E+(1-M)*J,E-M*J<$?K=F.x+K*(1-M)-$:B>C&&(K=C-F.x+K*M,I=-1),K=T0(D.slotWidth,K),KK||D.autoRotation&&_.styles.width)G=K;if(G){H.width=G;if(!D.options.labels.style.textOverflow)H.textOverflow="ellipsis";_.css(H)}},getPosition:function(E,C,D,A){var B=this.axis,$=B.chart,_=A&&$.oldChartHeight||$.chartHeight;return{x:E?B.translate(C+D,null,null,A)+B.transB:B.left+B.offset+(B.opposite?(A&&$.oldChartWidth||$.chartWidth)-B.right-B.left:0),y:E?_-B.bottom+B.offset-(B.opposite?B.height:0):_-B.translate(C+D,null,null,A)-B.transB}},getLabelPosition:function(E,C,D,A,B,$,_,J){var K=this.axis,H=K.transA,I=K.reversed,G=K.staggerLines,F=K.tickRotCorr||{x:0,y:0},D=Q0(B.y,F.y+(K.side===2?8:-(D.getBBox().height/2))),E=E+B.x+F.x-($&&A?$*H*(I?-1:1):0),C=C+D-($&&!A?$*H*(I?1:-1):0);G&&(C+=_/(J||1)%G*(K.labelOffset/G));return{x:E,y:I0(C)}},getMarkPath:function(D,B,C,_,A,$){return $.crispLine(["M",D,B,"L",D+(A?0:-C),B+(A?C:0)],_)},render:function(G,E,F){var C=this.axis,D=C.options,A=C.chart.renderer,B=C.horiz,N=this.type,O=this.label,L=this.pos,M=D.labels,K=this.gridLine,H=N?N+"Grid":"grid",J=N?N+"Tick":"tick",R=D[H+"LineWidth"],U=D[H+"LineColor"],I=D[H+"LineDashStyle"],$=D[J+"Length"],H=Q0(D[J+"Width"],!N&&C.isXAxis?1:0),Q=D[J+"Color"],X=D[J+"Position"],J=this.mark,V=M.step,_=!0,T=C.tickmarkOffset,S=this.getPosition(B,L,T,E),P=S.x,S=S.y,W=B&&P===C.pos+C.len||!B&&S===C.pos?-1:1,F=Q0(F,1);this.isActive=!0;if(R){L=C.getPlotLinePath(L+T,R*W,E,!0);if(K===W0){K={stroke:U,"stroke-width":R};if(I)K.dashstyle=I;if(!N)K.zIndex=1;if(E)K.opacity=0;this.gridLine=K=R?A.path(L).attr(K).add(C.gridGroup):null}if(!E&&K&&L)K[this.isNew?"attr":"animate"]({d:L,opacity:F})}if(H&&$)X==="inside"&&($=-$),C.opposite&&($=-$),N=this.getMarkPath(P,S,$,H*W,B,A),J?J.animate({d:N,opacity:F}):this.mark=A.path(N).attr({stroke:Q,"stroke-width":H,opacity:F}).add(C.axisGroup);if(O&&!isNaN(P))O.xy=S=this.getLabelPosition(P,S,O,B,M,T,G,V),this.isFirst&&!this.isLast&&!Q0(D.showFirstLabel,1)||this.isLast&&!this.isFirst&&!Q0(D.showLastLabel,1)?_=!1:B&&!C.isRadial&&!M.step&&!M.rotation&&!E&&F!==0&&this.handleOverflow(S),V&&G%V&&(_=!1),_&&!isNaN(S.y)?(S.opacity=F,O[this.isNew?"attr":"animate"](S),this.isNew=!1):O.attr("y",-9999)},destroy:function(){l0(this,this.axis)}};c.PlotLineOrBand=function(_,$){this.axis=_;if($)this.options=$,this.id=$.id};c.PlotLineOrBand.prototype={render:function(){var F=this,D=F.axis,E=D.horiz,B=F.options,C=B.label,_=F.label,A=B.width,M=B.to,N=B.from,K=P0(N)&&P0(M),L=B.value,J=B.dashStyle,G=F.svgElem,I=[],P,Q=B.color,R=B.zIndex,H=B.events,O={},S=D.chart.renderer;D.isLog&&(N=L1(N),M=L1(M),L=L1(L));if(A){if(I=D.getPlotLinePath(L,A),O={stroke:Q,"stroke-width":A},J)O.dashstyle=J}else if(K){I=D.getPlotBandPath(N,M,B);if(Q)O.fill=Q;if(B.borderWidth)O.stroke=B.borderColor,O["stroke-width"]=B.borderWidth}else return;if(P0(R))O.zIndex=R;if(G){if(I)G.animate({d:I},null,G.onGetPath);else if(G.hide(),G.onGetPath=function(){G.show()},_)F.label=_=_.destroy()}else if(I&&I.length&&(F.svgElem=G=S.path(I).attr(O).add(),H))for(P in B=function($){G.on($,function(_){H[$].apply(F,[_])})},H)B(P);if(C&&P0(C.text)&&I&&I.length&&D.width>0&&D.height>0){C=X({align:E&&K&&"center",x:E?!K&&4:10,verticalAlign:!E&&K&&"middle",y:E?K?16:10:K?6:-4,rotation:E&&!K&&90},C);if(!_){O={align:C.textAlign||C.align,rotation:C.rotation};if(P0(R))O.zIndex=R;F.label=_=S.text(C.text,0,0,C.useHTML).attr(O).css(C.style).add()}D=[I[1],I[4],K?I[6]:I[1]];K=[I[2],I[5],K?I[7]:I[2]];I=U0(D);E=U0(K);_.align(C,!1,{x:I,y:E,width:$(D)-I,height:$(K)-E});_.show()}else _&&_.hide();return F},destroy:function(){U1(this.axis.plotLinesAndBands,this);delete this.axis;l0(this)}};var O=c.Axis=function(){this.init.apply(this,arguments)};O.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#D8D8D8",labels:{enabled:!0,style:{color:"#606060",cursor:"default",fontSize:"11px"},x:0,y:15},lineColor:"#C0D0E0",lineWidth:1,minPadding:0.01,maxPadding:0.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",style:{color:"#707070"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:0.05,minPadding:0.05,startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return c.numberFormat(this.total,-1)},style:X(G1.line.dataLabels.style,{color:"#000000"})}},defaultLeftAxisOptions:{labels:{x:-15,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0,y:null},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0,y:-15},title:{rotation:0}},init:function(D,B){var C=B.isX;this.chart=D;this.horiz=D.inverted?!C:C;this.coll=(this.isXAxis=C)?"xAxis":"yAxis";this.opposite=B.opposite;this.side=B.side||(this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(B);var _=this.options,A=_.type;this.labelFormatter=_.labels.formatter||this.defaultLabelFormatter;this.userOptions=B;this.minPixelPadding=0;this.reversed=_.reversed;this.visible=_.visible!==!1;this.zoomEnabled=_.zoomEnabled!==!1;this.categories=_.categories||A==="category";this.names=this.names||[];this.isLog=A==="logarithmic";this.isDatetimeAxis=A==="datetime";this.isLinked=P0(_.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=_.minRange||_.maxZoom;this.range=_.range;this.offset=_.offset||0;this.stacks={};this.oldStacks={};this.stacksTouched=0;this.min=this.max=null;this.crosshair=Q0(_.crosshair,z0(D.options.tooltip.crosshairs)[C?0:1],!1);var $,_=this.options.events;J(this,D.axes)===-1&&(C&&!this.isColorAxis?D.axes.splice(D.xAxis.length,0,this):D.axes.push(this),D[this.coll].push(this));this.series=this.series||[];if(D.inverted&&C&&this.reversed===W0)this.reversed=!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for($ in _)l(this,$,_[$]);if(this.isLog)this.val2lin=L1,this.lin2val=_1},setOptions:function($){this.options=X(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],X(w[this.coll],$))},defaultLabelFormatter:function(){var E=this.axis,C=this.value,D=E.categories,A=this.dateTimeLabelFormat,B=w.lang.numericSymbols,$=B&&B.length,_,F=E.options.labels.format,E=E.isLog?C:E.tickInterval;if(F)_=t0(F,this);else if(D)_=C;else if(A)_=C0(A,C);else if($&&E>=1000)for(;$--&&_===W0;)D=Math.pow(1000,$+1),E>=D&&C*10%D===0&&B[$]!==null&&(_=c.numberFormat(C/D,-1)+B[$]);_===W0&&(_=i(C)>=10000?c.numberFormat(C,-1):c.numberFormat(C,-1,W0,""));return _},getSeriesExtremes:function(){var A=this,_=A.chart;A.hasVisibleSeries=!1;A.dataMin=A.dataMax=A.threshold=null;A.softThreshold=!A.isXAxis;A.buildStacks&&A.buildStacks();G0(A.series,function(E){if(E.visible||!_.options.chart.ignoreHiddenSeries){var C=E.options,D=C.threshold,B;A.hasVisibleSeries=!0;A.isLog&&D<=0&&(D=null);if(A.isXAxis){if(C=E.xData,C.length)A.dataMin=T0(Q0(A.dataMin,C[0]),U0(C)),A.dataMax=N0(Q0(A.dataMax,C[0]),$(C))}else{E.getExtremes();B=E.dataMax;E=E.dataMin;if(P0(E)&&P0(B))A.dataMin=T0(Q0(A.dataMin,E),E),A.dataMax=N0(Q0(A.dataMax,B),B);if(P0(D))A.threshold=D;if(!C.softThreshold||A.isLog)A.softThreshold=!1}}})},translate:function(E,C,D,A,B,$){var _=this.linkedParent||this,H=1,I=0,F=A?_.oldTransA:_.transA,A=A?_.oldMin:_.min,G=_.minPixelPadding,B=(_.doPostTranslate||_.isLog&&B)&&_.lin2val;if(!F)F=_.transA;if(D)H*=-1,I=_.len;_.reversed&&(H*=-1,I-=H*(_.sector||_.len));C?(E=E*H+I,E-=G,E=E/F+A,B&&(E=_.lin2val(E))):(B&&(E=_.val2lin(E)),$==="between"&&($=0.5),E=H*(E-A)*F+I+H*G+(N1($)?F*$*_.pointRange:0));return E},toPixels:function(_,$){return this.translate(_,!1,!this.horiz,null,!0)+($?0:this.pos)},toValue:function(_,$){return this.translate(_-($?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(E,C,D,A,B){var $=this.chart,_=this.left,K=this.top,L,I,J=D&&$.oldChartHeight||$.chartHeight,H=D&&$.oldChartWidth||$.chartWidth,F;L=this.transB;var G=function(B,$,_){if(B<$||B>_)A?B=T0(N0($,B),_):F=!0;return B},B=Q0(B,this.translate(E,null,null,D)),E=D=I0(B+L);L=I=I0(J-B-L);isNaN(B)?F=!0:this.horiz?(L=K,I=J-this.bottom,E=D=G(E,_,_+this.width)):(E=_,D=H-this.right,L=I=G(L,K,K+this.height));return F&&!A?null:$.renderer.crispLine(["M",E,L,"L",D,I],C||1)},getLinearTickPositions:function(E,C,D){var A,B=j(r(C/E)*E),$=j(d0(D/E)*E),_=[];if(C===D&&N1(C))return[C];for(C=B;C<=$;){_.push(C);C=j(C+E);if(C===A)break;A=C}return _},getMinorTickPositions:function(){var E=this.options,C=this.tickPositions,D=this.minorTickInterval,A=[],B,$=this.pointRangePadding||0;B=this.min-$;var $=this.max+$,_=$-B;if(_&&_/D=this.minRange,_,A,I,J,G,H;if(this.isXAxis&&this.minRange===W0&&!this.isLog)P0(F.min)||P0(F.max)?this.minRange=null:(G0(this.series,function($){J=$.xData;for(A=G=$.xIncrement?1:J.length-1;A>0;A--)if(I=J[A]-J[A-1],_===W0||I<_)_=I}),this.minRange=T0(_*5,this.dataMax-this.dataMin));if(E-D=I?(Q=I,K=0):C.dataMax<=I&&(R=I,N=0)),C.min=Q0(D,Q,C.dataMin),C.max=Q0(O,R,C.dataMax));if(B)!G&&T0(C.min,Q0(C.dataMin,C.min))<=0&&r0(10,1),C.min=j(L1(C.min),15),C.max=j(L1(C.max),15);if(C.range&&P0(C.max))C.userMin=C.min=D=N0(C.min,C.minFromRange()),C.userMax=O=C.max,C.range=null;C.beforePadding&&C.beforePadding();C.adjustForMinRange();if(!H&&!C.axisPointRange&&!C.usePercentage&&!M&&P0(C.min)&&P0(C.max)&&(E=C.max-C.min))!P0(D)&&K&&(C.min-=E*K),!P0(O)&&N&&(C.max+=E*N);if(N1(A.floor))C.min=N0(C.min,A.floor);if(N1(A.ceiling))C.max=T0(C.max,A.ceiling);if(P&&P0(C.dataMin))if(I=I||0,!P0(D)&&C.min=I)C.min=I;else if(!P0(O)&&C.max>I&&C.dataMax<=I)C.max=I;C.tickInterval=C.min===C.max||C.min===void 0||C.max===void 0?1:M&&!L&&J===C.linkedParent.options.tickPixelInterval?L=C.linkedParent.tickInterval:Q0(L,this.tickAmount?(C.max-C.min)/N0(this.tickAmount-1,1):void 0,H?1:(C.max-C.min)*J/N0(C.len,J));_&&!G&&G0(C.series,function($){$.processData(C.min!==C.oldMin||C.max!==C.oldMax)});C.setAxisTranslation(!0);C.beforeSetTickPositions&&C.beforeSetTickPositions();if(C.postProcessTickInterval)C.tickInterval=C.postProcessTickInterval(C.tickInterval);if(C.pointRange)C.tickInterval=N0(C.pointRange,C.tickInterval);G=Q0(A.minTickInterval,C.isDatetimeAxis&&C.closestPointRange);if(!L&&C.tickInterval0.5&&C.tickInterval<5&&C.max>1000&&C.max<9999)),!!this.tickAmount);if(!this.tickAmount&&this.len)C.tickInterval=C.unsquish();this.setTickPositions()},setTickPositions:function(){var E=this.options,C,D=E.tickPositions,A=E.tickPositioner,B=E.startOnTick,$=E.endOnTick,_;this.tickmarkOffset=this.categories&&E.tickmarkPlacement==="between"&&this.tickInterval===1?0.5:0;this.minorTickInterval=E.minorTickInterval==="auto"&&this.tickInterval?this.tickInterval/5:E.minorTickInterval;this.tickPositions=C=D&&D.slice();if(!C&&(C=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,E.units),this.min,this.max,E.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),C.length>this.len&&(C=[C[0],C.pop()]),this.tickPositions=C,A&&(A=A.apply(this,[this.min,this.max]))))this.tickPositions=C=A;if(!this.isLinked)this.trimTicks(C,B,$),this.min===this.max&&P0(this.min)&&!this.tickAmount&&(_=!0,this.min-=0.5,this.max+=0.5),this.single=_,!D&&!A&&this.adjustTickAmount()},trimTicks:function(D,B,C){var _=D[0],A=D[D.length-1],$=this.minPointOffset||0;B?this.min=_:this.min-$>_&&D.shift();C?this.max=A:this.max+$B&&(this.tickInterval*=2,this.setTickPositions());if(P0($)){for(C=B=A.length;C--;)($===3&&C%2===1||$<=2&&C>0&&C=A&&(B=A));this.displayBtn=D!==W0||B!==W0;this.setExtremes(D,B,!1,W0,{trigger:"zoom"});return!0},setAxisSize:function(){var E=this.chart,C=this.options,D=C.offsetLeft||0,A=this.horiz,B=Q0(C.width,E.plotWidth-D+(C.offsetRight||0)),$=Q0(C.height,E.plotHeight),_=Q0(C.top,E.plotTop),C=Q0(C.left,E.plotLeft+D),D=/%$/;D.test($)&&($=parseFloat($)/100*E.plotHeight);D.test(_)&&(_=parseFloat(_)/100*E.plotHeight+E.plotTop);this.left=C;this.top=_;this.width=B;this.height=$;this.bottom=E.chartHeight-$-_;this.right=E.chartWidth-B-C;this.len=N0(A?B:$,0);this.pos=A?C:_},getExtremes:function(){var $=this.isLog;return{min:$?j(_1(this.min)):this.min,max:$?j(_1(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(A){var $=this.isLog,_=$?_1(this.min):this.min,$=$?_1(this.max):this.max;A===null?A=$<0?$:_:_>A?A=_:$15&&$<165?"right":$>195&&$<345?"left":"center"},unsquish:function(){var F=this.ticks,D=this.options.labels,E=this.horiz,B=this.tickInterval,C=B,$=this.len/(((this.categories?1:0)+this.max-this.min)/B),_,K=D.rotation,L=this.chart.renderer.fontMetrics(D.style.fontSize,F[0]&&F[0].label),I,J=Number.MAX_VALUE,H,G=function($){$/=$||1;$=$>1?d0($):1;return $*B};E?(H=!D.staggerLines&&!D.step&&(P0(K)?[K]:$=-90&&B<=90)I=G(i(L.h/S1(A*B))),$=I+i(B/360),$F)F=$.labelLength}),F>H&&F>_.h?I.rotation=this.labelRotation:this.labelRotation=0;else if(K&&(G={width:H+"px"},!J)){G.textOverflow="clip";for(K=D.length;!$&&K--;)if(H=D[K],H=A[H].label)if(H.styles.textOverflow==="ellipsis"&&H.css({textOverflow:"clip"}),H.getBBox().height>this.len/D.length-(_.h-_.f))H.specCss={textOverflow:"ellipsis"}}if(I.rotation&&(G={width:(F>E.chartHeight*0.5?E.chartHeight*0.33:E.chartHeight)+"px"},!J))G.textOverflow="ellipsis";this.labelAlign=I.align=B.align||this.autoLabelAlign(this.labelRotation);G0(D,function(_){var $=(_=A[_])&&_.label;if($)$.attr(I),G&&$.css(X(G,$.specCss)),delete $.specCss,_.rotation=I.rotation});this.tickRotCorr=C.rotCorr(_.b,this.labelRotation||0,this.side===2)},hasData:function(){return this.hasVisibleSeries||P0(this.min)&&P0(this.max)&&!!this.tickPositions},getOffset:function(){var F=this,C=F.chart,E=C.renderer,A=F.options,B=F.tickPositions,$=F.ticks,_=F.horiz,L=F.side,M=C.inverted?[1,0,3,2][L]:L,J,K,I=0,G,H=0,O=A.title,Q=A.labels,S=0,D=C.axisOffset,C=C.clipOffset,N=[-1,1,1,-1][L],R,P=F.axisParent;J=F.hasData();F.showAxis=K=J||Q0(A.showEmpty,!0);F.staggerLines=F.horiz&&Q.staggerLines;if(!F.axisGroup)F.gridGroup=E.g("grid").attr({zIndex:A.gridZIndex||1}).add(P),F.axisGroup=E.g("axis").attr({zIndex:A.zIndex||2}).add(P),F.labelGroup=E.g("axis-labels").attr({zIndex:Q.zIndex||7}).addClass("highcharts-"+F.coll.toLowerCase()+"-labels").add(P);if(J||F.isLinked){if(G0(B,function(_){$[_]?$[_].addLabel():$[_]=new C1(F,_)}),F.renderUnsquish(),G0(B,function(_){if(L===0||L===2||{1:"left",3:"right"}[L]===F.labelAlign)S=N0($[_].getLabelSize(),S)}),F.staggerLines)S*=F.staggerLines,F.labelOffset=S}else for(R in $)$[R].destroy(),delete $[R];if(O&&O.text&&O.enabled!==!1){if(!F.axisTitle)F.axisTitle=E.text(O.text,0,0,O.useHTML).attr({zIndex:7,rotation:O.rotation||0,align:O.textAlign||{low:"left",middle:"center",high:"right"}[O.align]}).addClass("highcharts-"+this.coll.toLowerCase()+"-title").css(O.style).add(F.axisGroup),F.axisTitle.isNew=!0;if(K)I=F.axisTitle.getBBox()[_?"height":"width"],G=O.offset,H=P0(G)?0:Q0(O.margin,_?5:10);F.axisTitle[K?"show":"hide"]()}F.offset=N*Q0(A.offset,D[L]);F.tickRotCorr=F.tickRotCorr||{x:0,y:0};E=L===2?F.tickRotCorr.y:0;_=S+H+(S&&N*(_?Q0(Q.y,F.tickRotCorr.y+8):Q.x)-E);F.axisTitleMargin=Q0(G,_);D[L]=N0(D[L],F.axisTitleMargin+I+N*F.offset,_);A=A.offset?0:r(A.lineWidth/2)*2;C[M]=N0(C[M],A)},getLinePath:function(D){var B=this.chart,C=this.opposite,_=this.offset,A=this.horiz,$=this.left+(C?this.width:0)+_,_=B.chartHeight-this.bottom-(C?this.height:0)+_;C&&(D*=-1);return B.renderer.crispLine(["M",A?this.left:$,A?_:this.top,"L",A?B.chartWidth-this.right:$,A?_:B.chartHeight-this.bottom],D)},getTitlePosition:function(){var E=this.horiz,C=this.left,D=this.top,A=this.len,B=this.options.title,$=E?C:D,_=this.opposite,H=this.offset,I=B.x||0,F=B.y||0,G=b(B.style.fontSize||12),A={low:$+(E?0:A),middle:$+A/2,high:$+(E?A:0)}[B.align],C=(E?D+this.height:C)+(E?1:-1)*(_?-1:1)*this.axisTitleMargin+(this.side===2?G:0);return{x:E?A+I:C+(_?this.width:0)+H+I,y:E?C+F-(_?this.height:0)+H:A+F}},render:function(){var F=this,C=F.chart,E=C.renderer,A=F.options,B=F.isLog,$=F.isLinked,_=F.tickPositions,L=F.axisTitle,M=F.ticks,J=F.minorTicks,K=F.alternateBands,I=A.stackLabels,G=A.alternateGridColor,H=F.tickmarkOffset,O=A.lineWidth,Q,R=C.hasRendered&&P0(F.oldMin)&&!isNaN(F.oldMin),D=F.showAxis,N=E.globalAnimation,S,P;F.labelEdge.length=0;F.overlap=!1;G0([M,J,K],function(_){for(var $ in _)_[$].isActive=!1});if(F.hasData()||$){F.minorTickInterval&&!F.categories&&G0(F.getMinorTickPositions(),function($){J[$]||(J[$]=new C1(F,$,"minor"));R&&J[$].isNew&&J[$].render(null,!0);J[$].render(null,!1,1)});if(_.length&&(G0(_,function(_,A){if(!$||_>=F.min&&_<=F.max)M[_]||(M[_]=new C1(F,_)),R&&M[_].isNew&&M[_].render(A,!0,0.1),M[_].render(A)}),H&&(F.min===0||F.single)))M[-1]||(M[-1]=new C1(F,-1,null,!0)),M[-1].render(-1);G&&G0(_,function($,A){P=_[A+1]!==W0?_[A+1]+H:F.max-H;if(A%2===0&&$=a.second?0:K*r(N.getMilliseconds()/K));if(J>=a.second)N[M](J>=a.minute?0:K*r(N.getSeconds()/K));if(J>=a.minute)N[Y](J>=a.hour?0:K*r(N[x0]()/K));if(J>=a.hour)N[E0](J>=a.day?0:K*r(N[q0]()/K));if(J>=a.day)N[R0](J>=a.month?1:K*r(N[o0]()/K));J>=a.month&&(N[_0](J>=a.year?0:K*r(N[b0]()/K)),L=N[H1]());J>=a.year&&(L-=L%K,N[T](L));if(J===a.week)N[R0](N[o0]()-N[c0]()+Q0(B,1));D=1;if(M0||j0)N=N.getTime(),N=new I1(N+q(N));L=N[H1]();for(var B=N.getTime(),I=N[b0](),G=N[o0](),H=(a.day+(A?q(N):N.getTimezoneOffset()*60000))%a.day;B=0.5)G=I0(G),_=this.getLinearTickPositions(G,C,E);else if(G>=0.08){for(var $=r(C),K,L,I,J,H,B=G>0.3?[1,2,4]:G>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];$C&&(!A||J<=E)&&J!==W0&&_.push(J),J>E&&(H=!0),J=I}}else if(C=_1(C),E=_1(E),G=B[A?"minorTickInterval":"tickInterval"],G=Q0(G==="auto"?null:G,this._minorAutoInterval,(E-C)*(B.tickPixelInterval/(A?5:1))/((A?$/this.tickPositions.length:$)||1)),G=S(G,null,F(G)),_=D(this.getLinearTickPositions(G,C,E),L1),!A)this._minorAutoInterval=G/5;if(!A)this.tickInterval=G;return _};var W=c.Tooltip=function(){this.init.apply(this,arguments)};W.prototype={init:function(C,A){var B=A.borderWidth,$=A.style,_=b($.padding);this.chart=C;this.options=A;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=C.renderer.label("",0,0,A.shape||"callout",null,null,A.useHTML,null,"tooltip").attr({padding:_,fill:A.backgroundColor,"stroke-width":B,r:A.borderRadius,zIndex:8}).css($).css({padding:0}).add().attr({y:-9999});F0||this.label.shadow(A.shadow);this.shared=A.shared},destroy:function(){if(this.label)this.label=this.label.destroy();clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(E,C,D,A){var B=this,$=B.now,_=B.options.animation!==!1&&!B.isHidden&&(i(E-$.x)>1||i(C-$.y)>1),F=B.followPointer||B.len>1;K0($,{x:_?(2*$.x+E)/3:E,y:_?($.y+C)/2:C,anchorX:F?W0:_?(2*$.anchorX+D)/3:D,anchorY:F?W0:_?($.anchorY+A)/2:A});B.label.attr($);if(_)clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){B&&B.move(E,C,D,A)},32)},hide:function(_){var $=this;clearTimeout(this.hideTimer);if(!this.isHidden)this.hideTimer=setTimeout(function(){$.label.fadeOut();$.isHidden=!0},Q0(_,this.options.hideDelay,500))},getAnchor:function(F,C){var E,A=this.chart,B=A.inverted,$=A.plotTop,_=A.plotLeft,I=0,J=0,G,H,F=z0(F);E=F[0].tooltipPos;this.followPointer&&C&&(C.chartX===W0&&(C=A.pointer.normalize(C)),E=[C.chartX-A.plotLeft,C.chartY-$]);E||(G0(F,function(A){G=A.series.yAxis;H=A.series.xAxis;I+=A.plotX+(!B&&H?H.left-_:0);J+=(A.plotLow?(A.plotLow+A.plotHigh)/2:A.plotY)+(!B&&G?G.top-$:0)}),I/=F.length,J/=F.length,E=[B?A.plotWidth-J:I,this.shared&&!B&&F.length>1&&C?C.chartY-$:B?A.plotHeight-I:J]);return D(E,I0)},getPosition:function(E,C,D){var A=this.chart,B=this.distance,$={},_=D.h||0,K,L=["y",A.chartHeight,C,D.plotY+A.plotTop,A.plotTop,A.plotTop+A.plotHeight],I=["x",A.chartWidth,E,D.plotX+A.plotLeft,A.plotLeft,A.plotLeft+A.plotWidth],J=Q0(D.ttBelow,A.inverted&&!D.negative||!A.inverted&&D.negative),H=function(E,C,D,A,I,K){var H=DC?A:A+_);else return!1},F=function(D,A,C,_){if(_A-B)return!1;else $[D]=_A-C/2?A-C-2:_-C/2},G=function(_){var $=L;L=I;I=$;K=_},M=function(){H.apply(0,L)!==!1?F.apply(0,I)===!1&&!K&&(G(!0),M()):K?$.x=$.y=0:(G(!0),M())};(A.inverted||this.len>1)&&G();M();return $},defaultFormatter:function(A){var $=this.points||z0(this),_;_=[A.tooltipFooterHeaderFormatter($[0])];_=_.concat(A.bodyFormatter($));_.push(A.tooltipFooterHeaderFormatter($[0],!0));return _.join("")},refresh:function(E,C){var D=this.chart,A=this.label,B=this.options,$,_,J,K={},H,I=[];H=B.formatter||this.defaultFormatter;var K=D.hoverPoints,G,F=this.shared;clearTimeout(this.hideTimer);this.followPointer=z0(E)[0].series.tooltipOptions.followPointer;J=this.getAnchor(E,C);$=J[0];_=J[1];F&&(!E.series||!E.series.noSharedTooltip)?(D.hoverPoints=E,K&&G0(K,function($){$.setState()}),G0(E,function($){$.setState("hover");I.push($.getLabelConfig())}),K={x:E[0].category,y:E[0].y},K.points=I,this.len=I.length,E=E[0]):K=E.getLabelConfig();H=H.call(K,this);K=E.series;this.distance=Q0(K.tooltipOptions.distance,16);H===!1?this.hide():(this.isHidden&&(X0(A),A.attr("opacity",1).show()),A.attr({text:H}),G=B.borderColor||E.color||K.color||"#606060",A.attr({stroke:G}),this.updatePosition({plotX:$,plotY:_,negative:E.negative,ttBelow:E.ttBelow,h:J[2]||0}),this.isHidden=!1);m(D,"tooltipRefresh",{text:H,x:$+D.plotLeft,y:_+D.plotTop,borderColor:G})},updatePosition:function(A){var $=this.chart,_=this.label,_=(this.options.positioner||this.getPosition).call(this,_.width,_.height,A);this.move(I0(_.x),I0(_.y||0),A.plotX+$.plotLeft,A.plotY+$.plotTop)},getXDateFormat:function(E,C,D){var A,C=C.dateTimeLabelFormats,B=D&&D.closestPointRange,$,_={millisecond:15,second:12,minute:9,hour:6,day:3},F,G="millisecond";if(B){F=C0("%m-%d %H:%M:%S.%L",E.x);for($ in a){if(B===a.week&&+C0("%w",E.x)===D.options.startOfWeek&&F.substr(6)==="00:00:00.000"){$="week";break}else if(a[$]>B){$=G;break}else if(_[$]&&F.substr(_[$])!=="01-01 00:00:00.000".substr(_[$]))break;$!=="week"&&(G=$)}$&&(A=C[$])}else A=C.day;return A||C.year},tooltipFooterHeaderFormatter:function(E,C){var D=C?"footer":"header",A=E.series,B=A.tooltipOptions,$=B.xDateFormat,_=A.xAxis,F=_&&_.options.type==="datetime"&&N1(E.key),D=B[D+"Format"];F&&!$&&($=this.getXDateFormat(E,B,_));F&&$&&(D=D.replace("{point.key}","{point.key:"+$+"}"));return t0(D,{point:E,series:A})},bodyFormatter:function($){return D($,function(_){var $=_.series.tooltipOptions;return($.pointFormatter||_.point.tooltipFormatter).call(_.point,$.pointFormat)})}};var E;T1=e.documentElement.ontouchstart!==W0;var J0=c.Pointer=function(_,$){this.init(_,$)};J0.prototype={init:function(D,B){var C=B.chart,_=C.events,A=F0?"":C.zoomType,C=D.inverted,$;this.options=B;this.chart=D;this.zoomX=$=/x/.test(A);this.zoomY=A=/y/.test(A);this.zoomHor=$&&!C||A&&C;this.zoomVert=A&&!C||$&&C;this.hasZoom=$||A;this.runChartClick=_&&!!_.click;this.pinchDown=[];this.lastValidTouch={};if(c.Tooltip&&B.tooltip.enabled)D.tooltip=new W(D,B.tooltip),this.followTouchMove=Q0(B.tooltip.followTouchMove,!0);this.setDOMEvents()},normalize:function(B,_){var A,$,B=B||window.event,B=D1(B);if(!B.target)B.target=B.srcElement;$=B.touches?B.touches.length?B.touches.item(0):B.changedTouches[0]:B;if(!_)this.chartPosition=_=F1(this.chart.container);$.pageX===W0?(A=N0(B.x,B.clientX-_.left),$=B.y):(A=$.pageX-_.left,$=$.pageY-_.top);return K0(B,{chartX:I0(A),chartY:I0($)})},getCoordinates:function(_){var $={xAxis:[],yAxis:[]};G0(this.chart.axes,function(A){$[A.isXAxis?"xAxis":"yAxis"].push({axis:A,value:A.toValue(_[A.horiz?"chartX":"chartY"])})});return $},runPointActions:function(F){var C=this.chart,D=C.series,A=C.tooltip,B=A?A.shared:!1,$=C.hoverPoint,_=C.hoverSeries,L,M=Number.MAX_VALUE,J,K,I=[],G,H;if(!B&&!_)for(L=0;LK+I&&(A=K+I),BL+J&&(B=L+J),this.hasDragged=Math.sqrt(Math.pow(G-A,2)+Math.pow(M-B,2)),this.hasDragged>10){H=C.isInsidePlot(G-K,M-L);if(C.hasCartesianSeries&&(this.zoomX||this.zoomY)&&H&&!N&&!F)this.selectionMarker=F=C.renderer.rect(K,L,$?1:I,_?1:J,0).attr({fill:D.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();F&&$&&(A-=G,F.attr({width:i(A),x:(A>0?0:A)+G}));F&&_&&(A=B-M,F.attr({height:i(A),y:(A>0?0:A)+M}));H&&!F&&D.panning&&C.pan(E,D.panning)}},drop:function(E){var C=this,D=this.chart,A=this.hasPinched;if(this.selectionMarker){var B={xAxis:[],yAxis:[],originalEvent:E.originalEvent||E},$=this.selectionMarker,_=$.attr?$.attr("x"):$.x,H=$.attr?$.attr("y"):$.y,I=$.attr?$.attr("width"):$.width,F=$.attr?$.attr("height"):$.height,G;if(this.hasDragged||A)G0(D.axes,function(J){if(J.zoomEnabled&&P0(J.min)&&(A||C[{xAxis:"zoomX",yAxis:"zoomY"}[J.coll]])){var $=J.horiz,K=E.type==="touchend"?J.minPixelPadding:0,D=J.toValue(($?_:H)+K),$=J.toValue(($?_+I:H+F)-K);B[J.coll].push({axis:J,min:T0(D,$),max:N0(D,$)});G=!0}}),G&&m(D,"selection",B,function($){D.zoom(K0($,A?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();A&&this.scaleGroups()}if(D)g(D.container,{cursor:D._cursor}),D.cancelClick=this.hasDragged>10,D.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function($){$=this.normalize($);$.preventDefault&&$.preventDefault();this.dragStart($)},onDocumentMouseUp:function($){B0[E]&&B0[E].pointer.drop($)},onDocumentMouseMove:function(A){var $=this.chart,_=this.chartPosition,A=this.normalize(A,_);_&&!this.inClass(A.target,"highcharts-tracker")&&!$.isInsidePlot(A.chartX-$.plotLeft,A.chartY-$.plotTop)&&this.reset()},onContainerMouseLeave:function(){var $=B0[E];if($)$.pointer.reset(),$.pointer.chartPosition=null},onContainerMouseMove:function(_){var $=this.chart;E=$.index;_=this.normalize(_);_.returnValue=!1;$.mouseIsDown==="mousedown"&&this.drag(_);(this.inClass(_.target,"highcharts-tracker")||$.isInsidePlot(_.chartX-$.plotLeft,_.chartY-$.plotTop))&&!$.openMenu&&this.runPointActions(_)},inClass:function(A,$){for(var _;A;){if(_=n(A,"class"))if(_.indexOf($)!==-1)return!0;else if(_.indexOf("highcharts-container")!==-1)return!1;A=A.parentNode}},onTrackerMouseOut:function(_){var $=this.chart.hoverSeries,_=_.relatedTarget||_.toElement;if($&&!$.options.stickyTracking&&!this.inClass(_,"highcharts-tooltip")&&!this.inClass(_,"highcharts-series-"+$.index))$.onMouseOut()},onContainerClick:function(C){var A=this.chart,B=A.hoverPoint,$=A.plotLeft,_=A.plotTop,C=this.normalize(C);C.originalEvent=C;A.cancelClick||(B&&this.inClass(C.target,"highcharts-tracker")?(m(B.series,"click",K0(C,{point:B})),A.hoverPoint&&B.firePointEvent("click",C)):(K0(C,this.getCoordinates(C)),A.isInsidePlot(C.chartX-$,C.chartY-_)&&m(A,"click",C)))},setDOMEvents:function(){var _=this,$=_.chart.container;$.onmousedown=function($){_.onContainerMouseDown($)};$.onmousemove=function($){_.onContainerMouseMove($)};$.onclick=function($){_.onContainerClick($)};l($,"mouseleave",_.onContainerMouseLeave);i0===1&&l(e,"mouseup",_.onDocumentMouseUp);if(T1)$.ontouchstart=function($){_.onContainerTouchStart($)},$.ontouchmove=function($){_.onContainerTouchMove($)},i0===1&&l(e,"touchend",_.onDocumentTouchEnd)},destroy:function(){var $;A0(this.chart.container,"mouseleave",this.onContainerMouseLeave);i0||(A0(e,"mouseup",this.onDocumentMouseUp),A0(e,"touchend",this.onDocumentTouchEnd));clearInterval(this.tooltipTimeout);for($ in this)this[$]=null}};K0(c.Pointer.prototype,{pinchTranslate:function(D,B,C,_,A,$){(this.zoomHor||this.pinchHor)&&this.pinchTranslateDirection(!0,D,B,C,_,A,$);(this.zoomVert||this.pinchVert)&&this.pinchTranslateDirection(!1,D,B,C,_,A,$)},pinchTranslateDirection:function(E,C,D,A,B,$,_,L){var M=this.chart,J=E?"x":"y",K=E?"X":"Y",I="chart"+K,F=E?"width":"height",H=M["plot"+(E?"Left":"Top")],P,S,U=L||1,G=M.inverted,O=M.bounds[E?"h":"v"],R=C.length===1,T=C[0][I],Q=D[0][I],W=!R&&C[1][I],N=!R&&D[1][I],V,D=function(){!R&&i(T-W)>20&&(U=L||i(Q-N)/i(T-W));S=(H-Q)/U+T;P=M["plot"+(E?"Width":"Height")]/U};D();C=S;CO.max&&(C=O.max-P,V=!0);V?(Q-=0.8*(Q-_[J][0]),R||(N-=0.8*(N-_[J][1])),D()):_[J]=[Q,N];G||($[J]=S-H,$[F]=P);$=G?1/U:U;B[F]=P;B[J]=C;A[G?E?"scaleY":"scaleX":"scale"+K]=U;A["translate"+K]=$*H+(Q-$*T)},pinch:function(F){var C=this,E=C.chart,A=C.pinchDown,B=F.touches,$=B.length,_=C.lastValidTouch,J=C.hasZoom,K=C.selectionMarker,H={},I=$===1&&(C.inClass(F.target,"highcharts-tracker")&&E.runTrackerClick||C.runChartClick),G={};if($>1)C.initiated=!0;J&&C.initiated&&!I&&F.preventDefault();D(B,function($){return C.normalize($)});if(F.type==="touchstart")G0(B,function(_,$){A[$]={chartX:_.chartX,chartY:_.chartY}}),_.x=[A[0].chartX,A[1]&&A[1].chartX],_.y=[A[0].chartY,A[1]&&A[1].chartY],G0(E.axes,function(D){if(D.zoomEnabled){var C=E.bounds[D.horiz?"h":"v"],A=D.minPixelPadding,B=D.toPixels(Q0(D.options.min,D.dataMin)),$=D.toPixels(Q0(D.options.max,D.dataMax)),_=T0(B,$),B=N0(B,$);C.min=T0(D.pos,_-A);C.max=N0(D.pos+D.len,B+A)}}),C.res=!0;else if(A.length){if(!K)C.selectionMarker=K=K0({destroy:S0,touch:!0},E.plotBox);C.pinchTranslate(A,B,H,K,G,_);C.hasPinched=J;C.scaleGroups(H,G);if(!J&&C.followTouchMove&&$===1)this.runPointActions(C.normalize(F));else if(C.res)C.res=!1,this.reset(!1,0)}},touch:function(A,$){var _=this.chart;E=_.index;A.touches.length===1?(A=this.normalize(A),_.isInsidePlot(A.chartX-_.plotLeft,A.chartY-_.plotTop)&&!_.openMenu?($&&this.runPointActions(A),this.pinch(A)):$&&this.reset()):A.touches.length===2&&this.pinch(A)},onContainerTouchStart:function($){this.touch($,!0)},onContainerTouchMove:function($){this.touch($)},onDocumentTouchEnd:function($){B0[E]&&B0[E].pointer.drop($)}});if(f.PointerEvent||f.MSPointerEvent){var U={},B1=!!f.PointerEvent,p=function(){var _,$=[];$.item=function($){return this[$]};for(_ in U)U.hasOwnProperty(_)&&$.push({pageX:U[_].pageX,pageY:U[_].pageY,target:U[_].target});return $},R1=function(B,_,A,$){B=B.originalEvent||B;if((B.pointerType==="touch"||B.pointerType===B.MSPOINTER_TYPE_TOUCH)&&B0[E])$(B),$=B0[E].pointer,$[_]({type:A,target:B.currentTarget,preventDefault:S0,touches:p()})};K0(J0.prototype,{onContainerPointerDown:function($){R1($,"onContainerTouchStart","touchstart",function($){U[$.pointerId]={pageX:$.pageX,pageY:$.pageY,target:$.currentTarget}})},onContainerPointerMove:function($){R1($,"onContainerTouchMove","touchmove",function($){U[$.pointerId]={pageX:$.pageX,pageY:$.pageY};if(!U[$.pointerId].target)U[$.pointerId].target=$.currentTarget})},onDocumentPointerUp:function($){R1($,"onDocumentTouchEnd","touchend",function($){delete U[$.pointerId]})},batchMSEvents:function($){$(this.chart.container,B1?"pointerdown":"MSPointerDown",this.onContainerPointerDown);$(this.chart.container,B1?"pointermove":"MSPointerMove",this.onContainerPointerMove);$(e,B1?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});P(J0.prototype,"init",function(A,$,_){A.call(this,$,_);this.hasZoom&&g($.container,{"-ms-touch-action":v,"touch-action":v})});P(J0.prototype,"setDOMEvents",function($){$.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(l)});P(J0.prototype,"destroy",function($){this.batchMSEvents(A0);$.call(this)})}var z=c.Legend=function(_,$){this.init(_,$)};z.prototype={init:function(C,A){var B=this,$=A.itemStyle,_=A.itemMarginTop||0;this.options=A;if(A.enabled)B.itemStyle=$,B.itemHiddenStyle=X($,A.itemHiddenStyle),B.itemMarginTop=_,B.padding=$=Q0(A.padding,8),B.initialItemX=$,B.initialItemY=$-5,B.maxItemWidth=0,B.chart=C,B.itemHeight=0,B.symbolWidth=Q0(A.symbolWidth,16),B.pages=[],B.render(),l(B.chart,"endResize",function(){B.positionCheckboxes()})},colorizeItem:function(E,C){var D=this.options,A=E.legendItem,B=E.legendLine,$=E.legendSymbol,_=this.itemHiddenStyle.color,D=C?D.itemStyle.color:_,G=C?E.legendColor||E.color||"#CCC":_,_=E.options&&E.options.marker,H={fill:G},F;A&&A.css({fill:D,color:D});B&&B.attr({stroke:G});if($){if(_&&$.isMarker)for(F in H.stroke=G,_=E.convertAttribs(_),_)A=_[F],A!==W0&&(H[F]=A);$.attr(H)}},positionItem:function(D){var B=this.options,C=B.symbolPadding,B=!B.rtl,_=D._legendItemPos,A=_[0],_=_[1],$=D.checkbox;(D=D.legendGroup)&&D.element&&D.translate(B?A:this.legendWidth-A-2*C-4,_);if($)$.x=A,$.y=_},destroyItem:function(_){var $=_.checkbox;G0(["legendItem","legendLine","legendSymbol","legendGroup"],function($){_[$]&&(_[$]=_[$].destroy())});$&&a0(_.checkbox)},destroy:function(){var _=this.group,$=this.box;if($)this.box=$.destroy();if(_)this.group=_.destroy()},positionCheckboxes:function(B){var _=this.group.alignAttr,A,$=this.clipHeight||this.legendHeight;if(_)A=_.translateY,G0(this.allItems,function(E){var C=E.checkbox,D;C&&(D=A+C.y+(B||0)+3,g(C,{left:_.translateX+E.checkboxOffset+C.x-20+"px",top:D+"px",display:D>A-6&&D(G||C.chartWidth-2*K-Q-A.x))this.itemX=Q,this.itemY+=P+this.lastLineHeight+I,this.lastLineHeight=0;this.maxItemWidth=N0(this.maxItemWidth,$);this.lastItemY=P+this.itemY+I;this.lastLineHeight=N0(_,this.lastLineHeight);F._legendItemPos=[this.itemX,this.itemY];B?this.itemX+=$:(this.itemY+=P+_+I,this.lastLineHeight=_);this.offsetWidth=G||N0((B?this.itemX-Q-L:$)+K,this.offsetWidth)},getAllItems:function(){var $=[];G0(this.chart.series,function(_){var A=_.options;if(Q0(A.showInLegend,!P0(A.linkedTo)?W0:!1,!0))$=$.concat(_.legendItems||(A.legendType==="point"?_.data:_))});return $},adjustMargins:function(C,A){var B=this.chart,$=this.options,_=$.align.charAt(0)+$.verticalAlign.charAt(0)+$.layout.charAt(0);this.display&&!$.floating&&G0([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(D,E){D.test(_)&&!P0(C[E])&&(B[$1[E]]=N0(B[$1[E]],B.legend[(E+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][E]*$[E%2?"x":"y"]+Q0($.margin,12)+A[E]))})},render:function(){var E=this,C=E.chart,D=C.renderer,A=E.group,B,$,_,J,K=E.box,H=E.options,I=E.padding,G=H.borderWidth,F=H.backgroundColor;E.itemX=E.initialItemX;E.itemY=E.initialItemY;E.offsetWidth=0;E.lastItemY=0;if(!A)E.group=A=D.g("legend").attr({zIndex:7}).add(),E.contentGroup=D.g().attr({zIndex:1}).add(A),E.scrollGroup=D.g().add(E.contentGroup);E.renderTitle();B=E.getAllItems();M1(B,function(_,$){return(_.options&&_.options.legendIndex||0)-($.options&&$.options.legendIndex||0)});H.reversed&&B.reverse();E.allItems=B;E.display=$=!!B.length;E.lastLineHeight=0;G0(B,function($){E.renderItem($)});_=(H.width||E.offsetWidth)+I;J=E.lastItemY+E.lastLineHeight+E.titleHeight;J=E.handleOverflow(J);J+=I;if(G||F){if(K){if(_>0&&J>0)K[K.isNew?"attr":"animate"](K.crisp({width:_,height:J})),K.isNew=!1}else E.box=K=D.rect(0,0,_,J,H.borderRadius,G||0).attr({stroke:H.borderColor,"stroke-width":G||0,fill:F||v}).add(A).shadow(H.shadow),K.isNew=!0;K[$?"show":"hide"]()}E.legendWidth=_;E.legendHeight=J;G0(B,function($){E.positionItem($)});$&&A.align(K0({width:_,height:J},H),!0,"spacingBox");C.isResizing||this.positionCheckboxes()},handleOverflow:function(F){var C=this,E=this.chart,A=E.renderer,B=this.options,$=B.y,$=E.spacingBox.height+(B.verticalAlign==="top"?-$:$)-this.padding,_=B.maxHeight,L,M=this.clipRect,J=B.navigation,K=Q0(J.animation,!0),I=J.arrowSize||12,G=this.nav,H=this.pages,N=this.padding,O,P=this.allItems,D=function($){M.attr({height:$});if(C.contentGroup.div)C.contentGroup.div.style.clip="rect("+N+"px,9999px,"+(N+$)+"px,0)"};B.layout==="horizontal"&&($/=2);_&&($=T0($,_));H.length=0;if(F>$){this.clipHeight=L=N0($-20-this.titleHeight-N,0);this.currentPage=Q0(this.currentPage,1);this.fullHeight=F;G0(P,function(C,A){var B=C._legendItemPos[1],$=I0(C.legendItem.getBBox().height),_=H.length;if(!_||B-H[_-1]>L&&(O||B)!==H[_-1])H.push(O||B),_++;A===P.length-1&&B+$-H[_-1]>L&&H.push(B);B!==O&&(O=B)});if(!M)M=C.clipRect=A.clipRect(0,N,9999,0),C.contentGroup.clip(M);D(L);if(!G)this.nav=G=A.g().attr({zIndex:1}).add(this.group),this.up=A.symbol("triangle",0,0,I,I).on("click",function(){C.scroll(-1,K)}).add(G),this.pager=A.text("",15,10).css(J.style).add(G),this.down=A.symbol("triangle-down",0,0,I,I).on("click",function(){C.scroll(1,K)}).add(G);C.scroll(0);F=$}else if(G)D(E.chartHeight),G.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return F},scroll:function(E,C){var D=this.pages,A=D.length,B=this.currentPage+E,$=this.clipHeight,_=this.options.navigation,G=_.activeColor,_=_.inactiveColor,H=this.pager,F=this.padding;B>A&&(B=A);if(B>0)C!==W0&&V1(C,this.chart),this.nav.attr({translateX:F,translateY:$+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:B===1?_:G}).css({cursor:B===1?"default":"pointer"}),H.attr({text:B+"/"+A}),this.down.attr({x:18+this.pager.getBBox().width,fill:B===A?_:G}).css({cursor:B===A?"default":"pointer"}),D=-D[B-1]+this.initialItemY,this.scrollGroup.animate({translateY:D}),this.currentPage=B,this.positionCheckboxes(D)}};V=c.LegendSymbolMixin={drawRectangle:function(A,$){var _=A.options.symbolHeight||A.fontMetrics.f;$.legendSymbol=this.chart.renderer.rect(0,A.baseline-_+1,A.symbolWidth,_,A.options.symbolRadius||0).attr({zIndex:3}).add($.legendGroup)},drawLineMarker:function(E){var C=this.options,D=C.marker,A;A=E.symbolWidth;var B=this.chart.renderer,$=this.legendGroup,E=E.baseline-I0(E.fontMetrics.b*0.3),_;if(C.lineWidth){_={"stroke-width":C.lineWidth};if(C.dashStyle)_.dashstyle=C.dashStyle;this.legendLine=B.path(["M",0,E,"L",A,E]).attr(_).add($)}if(D&&D.enabled!==!1)C=D.radius,this.legendSymbol=A=B.symbol(this.symbol,A/2-C,E-C,2*C,2*C).add($),A.isMarker=!0}};(/Trident\/7\.0/.test(w0)||Q1)&&P(z.prototype,"positionItem",function(B,_){var A=this,$=function(){_._legendItemPos&&B.call(A,_)};$();setTimeout($)});Z=c.Chart=function(){this.init.apply(this,arguments)};Z.prototype={callbacks:[],init:function(E,C){var D,A=E.series;E.series=null;D=X(w,E);D.series=E.series=A;this.userOptions=E;A=D.chart;this.margin=this.splashArray("margin",A);this.spacing=this.splashArray("spacing",A);var B=A.events;this.bounds={h:{},v:{}};this.callback=C;this.isResizing=0;this.options=D;this.axes=[];this.series=[];this.hasCartesianSeries=A.showAxes;var $=this,_;$.index=B0.length;B0.push($);i0++;A.reflow!==!1&&l($,"load",function(){$.initReflow()});if(B)for(_ in B)l($,_,B[_]);$.xAxis=[];$.yAxis=[];$.animation=F0?!1:Q0(A.animation,!0);$.pointCount=$.colorCounter=$.symbolCounter=0;$.firstRender()},initSeries:function(_){var $=this.options.chart;($=h[_.type||$.type||$.defaultSeriesType])||r0(17,!0);$=new $;$.init(this,_);return $},isInsidePlot:function(B,_,A){var $=A?_:B,B=A?B:_;return $>=0&&$<=this.plotWidth&&B>=0&&B<=this.plotHeight},redraw:function(E){var C=this.axes,D=this.series,A=this.pointer,B=this.legend,$=this.isDirtyLegend,_,K,L=this.hasCartesianSeries,I=this.isDirtyBox,J=D.length,H=J,F=this.renderer,G=F.isHidden(),M=[];V1(E,this);G&&this.cloneRenderTo();for(this.layOutTitles();H--;)if(E=D[H],E.options.stacking&&(_=!0,E.isDirty)){K=!0;break}if(K)for(H=J;H--;)if(E=D[H],E.options.stacking)E.isDirty=!0;G0(D,function(_){_.isDirty&&_.options.legendType==="point"&&(_.updateTotals&&_.updateTotals(),$=!0)});if($&&B.options.enabled)B.render(),this.isDirtyLegend=!1;_&&this.getStacks();if(L&&!this.isResizing)this.maxTicks=null,G0(C,function($){$.setScale()});this.getMargins();L&&(G0(C,function($){$.isDirty&&(I=!0)}),G0(C,function(A){var $=A.min+","+A.max;if(A.extKey!==$)A.extKey=$,M.push(function(){m(A,"afterSetExtremes",K0(A.eventArgs,A.getExtremes()));delete A.eventArgs});(I||_)&&A.redraw()}));I&&this.drawChartBox();G0(D,function($){$.isDirty&&$.visible&&(!$.isCartesian||$.xAxis)&&$.redraw()});A&&A.reset(!0);F.draw();m(this,"redraw");G&&this.cloneRenderTo(!0);G0(M,function($){$.call()})},get:function(C){var A=this.axes,B=this.series,$,_;for($=0;$19?this.containerHeight:400))},cloneRenderTo:function(A){var $=this.renderToClone,_=this.container;A?$&&(this.renderTo.appendChild(_),a0($),delete this.renderToClone):(_&&_.parentNode===this.renderTo&&this.renderTo.removeChild(_),this.renderToClone=$=this.renderTo.cloneNode(0),g($,{position:"absolute",top:"-9999px",display:"block"}),$.style.setProperty&&$.style.setProperty("display","block","important"),e.body.appendChild($),_&&$.appendChild(_))},getContainer:function(){var D,B=this.options,C=B.chart,_,A,$;this.renderTo=D=C.renderTo;$="highcharts-"+G++;if(v0(D))this.renderTo=D=e.getElementById(D);D||r0(13,!0);_=b(n(D,"data-highcharts-chart"));!isNaN(_)&&B0[_]&&B0[_].hasRendered&&B0[_].destroy();n(D,"data-highcharts-chart",this.index);D.innerHTML="";!C.skipClone&&!D.offsetWidth&&this.cloneRenderTo();this.getChartSize();_=this.chartWidth;A=this.chartHeight;this.container=D=K(y0,{className:"highcharts-container"+(C.className?" "+C.className:""),id:$},K0({position:"relative",overflow:"hidden",width:_+"px",height:A+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},C.style),this.renderToClone||D);this._cursor=D.style.cursor;this.renderer=new(c[C.renderer]||W1)(D,_,A,C.style,C.forExport,B.exporting&&B.exporting.allowHTML);F0&&this.renderer.create(this,D,_,A);this.renderer.chartIndex=this.index},getMargins:function(B){var _=this.spacing,A=this.margin,$=this.titleOffset;this.resetMargins();if($&&!P0(A[0]))this.plotTop=N0(this.plotTop,$+this.options.title.margin+_[0]);this.legend.adjustMargins(A,_);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);B||this.getAxisMargins()},getAxisMargins:function(){var A=this,$=A.axisOffset=[0,0,0,0],_=A.margin;A.hasCartesianSeries&&G0(A.axes,function($){$.visible&&$.getOffset()});G0($1,function(B,C){P0(_[C])||(A[B]+=$[C])});A.setChartSize()},reflow:function(D){var B=this,C=B.options.chart,_=B.renderTo,A=C.width||O1(_,"width"),$=C.height||O1(_,"height"),C=D?D.target:f,_=function(){if(B.container)B.setSize(A,$,!1),B.hasUserSize=null};if(!B.hasUserSize&&!B.isPrinting&&A&&$&&(C===f||C===e)){if(A!==B.containerWidth||$!==B.containerHeight)clearTimeout(B.reflowTimeout),D?B.reflowTimeout=setTimeout(_,100):_();B.containerWidth=A;B.containerHeight=$}},initReflow:function(){var _=this,$=function($){_.reflow($)};l(f,"resize",$);l(_,"destroy",function(){A0(f,"resize",$)})},setSize:function(E,C,D){var A=this,B,$,_,F=A.renderer;A.isResizing+=1;_=function(){A&&m(A,"endResize",null,function(){A.isResizing-=1})};V1(D,A);A.oldChartHeight=A.chartHeight;A.oldChartWidth=A.chartWidth;if(P0(E))A.chartWidth=B=N0(0,I0(E)),A.hasUserSize=!!B;if(P0(C))A.chartHeight=$=N0(0,I0(C));E=F.globalAnimation;(E?u0:g)(A.container,{width:B+"px",height:$+"px"},E);A.setChartSize(!0);F.setSize(B,$,D);A.maxTicks=null;G0(A.axes,function($){$.isDirty=!0;$.setScale()});G0(A.series,function($){$.isDirty=!0});A.isDirtyLegend=!0;A.isDirtyBox=!0;A.layOutTitles();A.getMargins();A.redraw(D);A.oldChartHeight=null;m(A,"resize");E=F.globalAnimation;E===!1?_():setTimeout(_,E&&E.duration||500)},setChartSize:function(E){var C=this.inverted,D=this.renderer,A=this.chartWidth,B=this.chartHeight,$=this.options.chart,_=this.spacing,I=this.clipOffset,J,G,H,F;this.plotLeft=J=I0(this.plotLeft);this.plotTop=G=I0(this.plotTop);this.plotWidth=H=N0(0,I0(A-J-this.marginRight));this.plotHeight=F=N0(0,I0(B-G-this.marginBottom));this.plotSizeX=C?F:H;this.plotSizeY=C?H:F;this.plotBorderWidth=$.plotBorderWidth||0;this.spacingBox=D.spacingBox={x:_[3],y:_[0],width:A-_[3]-_[1],height:B-_[0]-_[2]};this.plotBox=D.plotBox={x:J,y:G,width:H,height:F};A=2*r(this.plotBorderWidth/2);C=d0(N0(A,I[3])/2);D=d0(N0(A,I[0])/2);this.clipBox={x:C,y:D,width:r(this.plotSizeX-N0(A,I[1])/2-C),height:N0(0,r(this.plotSizeY-N0(A,I[2])/2-D))};E||G0(this.axes,function($){$.setAxisSize();$.setAxisTranslation()})},resetMargins:function(){var $=this;G0($1,function(_,A){$[_]=Q0($.margin[A],$.spacing[A])});$.axisOffset=[0,0,0,0];$.clipOffset=[0,0,0,0]},drawChartBox:function(){var E=this.options.chart,C=this.renderer,D=this.chartWidth,A=this.chartHeight,B=this.chartBackground,$=this.plotBackground,_=this.plotBorder,L=this.plotBGImage,M=E.borderWidth||0,J=E.backgroundColor,K=E.plotBackgroundColor,I=E.plotBackgroundImage,F=E.plotBorderWidth||0,H,R=this.plotLeft,G=this.plotTop,Q=this.plotWidth,P=this.plotHeight,N=this.plotBox,O=this.clipRect,S=this.clipBox;H=M+(E.shadow?8:0);if(M||J)if(B)B.animate(B.crisp({width:D-H,height:A-H}));else{B={fill:J||v};if(M)B.stroke=E.borderColor,B["stroke-width"]=M;this.chartBackground=C.rect(H/2,H/2,D-H,A-H,E.borderRadius,M).attr(B).addClass("highcharts-background").add().shadow(E.shadow)}if(K)$?$.animate(N):this.plotBackground=C.rect(R,G,Q,P,0).attr({fill:K}).add().shadow(E.plotShadow);if(I)L?L.animate(N):this.plotBGImage=C.image(I,R,G,Q,P).add();O?O.animate({width:S.width,height:S.height}):this.clipRect=C.clipRect(S);if(F)_?_.animate(_.crisp({x:R,y:G,width:Q,height:P,strokeWidth:-F})):this.plotBorder=C.rect(R,G,Q,P,0,-F).attr({stroke:E.plotBorderColor,"stroke-width":F,fill:v,zIndex:1}).add();this.isDirtyBox=!1},propFromSeries:function(){var D=this,B=D.options.chart,C,_=D.options.series,A,$;G0(["inverted","angular","polar"],function(E){C=h[B.type||B.defaultSeriesType];$=D[E]||B[E]||C&&C.prototype[E];for(A=_&&_.length;!$&&A--;)(C=h[_[A].type])&&C.prototype[E]&&($=!0);D[E]=$})},linkSeries:function(){var _=this,$=_.series;G0($,function($){$.linkedSeries.length=0});G0($,function(A){var $=A.options.linkedTo;if(v0($)&&($=$===":previous"?_.series[A.index-1]:_.get($)))$.linkedSeries.push(A),A.linkedParent=$,A.visible=Q0(A.options.visible,$.options.visible,A.visible)})},renderSeries:function(){G0(this.series,function($){$.translate();$.render()})},renderLabels:function(){var _=this,$=_.options.labels;$.items&&G0($.items,function(D){var B=K0($.style,D.style),C=b(B.left)+_.plotLeft,A=b(B.top)+_.plotTop+12;delete B.left;delete B.top;_.renderer.text(D.html,C,A).attr({zIndex:2}).css(B).add()})},render:function(){var E=this.axes,C=this.renderer,D=this.options,A,B,$,_;this.setTitle();this.legend=new z(this,D.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();A=this.plotWidth;B=this.plotHeight-=13;G0(E,function($){$.setScale()});this.getAxisMargins();$=A/this.plotWidth>1.1;_=B/this.plotHeight>1.1;if($||_)this.maxTicks=null,G0(E,function(A){(A.horiz&&$||!A.horiz&&_)&&A.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&G0(E,function($){$.visible&&$.render()});if(!this.seriesGroup)this.seriesGroup=C.g("series-group").attr({zIndex:3}).add();this.renderSeries();this.renderLabels();this.showCredits(D.credits);this.hasRendered=!0},showCredits:function($){if($.enabled&&!this.credits)this.credits=this.renderer.text($.text,0,0).on("click",function(){if($.href)location.href=$.href}).attr({align:$.position.align,zIndex:8}).css($.style).add().align($.position)},destroy:function(){var D=this,B=D.axes,C=D.series,_=D.container,A,$=_&&_.parentNode;m(D,"destroy");B0[D.index]=W0;i0--;D.renderTo.removeAttribute("data-highcharts-chart");A0(D);for(A=B.length;A--;)B[A]=B[A].destroy();for(A=C.length;A--;)C[A]=C[A].destroy();G0("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function($){var _=D[$];_&&_.destroy&&(D[$]=_.destroy())});if(_)_.innerHTML="",A0(_),$&&a0(_);for(A in D)delete D[A]},isReadyToRender:function(){var $=this;return!Y0&&f==f.top&&e.readyState!=="complete"||F0&&!f.canvg?(F0?I.push(function(){$.firstRender()},$.options.global.canvasToolsURL):e.attachEvent("onreadystatechange",function(){e.detachEvent("onreadystatechange",$.firstRender);e.readyState==="complete"&&$.firstRender()}),!1):!0},firstRender:function(){var A=this,$=A.options,_=A.callback;if(A.isReadyToRender()){A.getContainer();m(A,"init");A.resetMargins();A.setChartSize();A.propFromSeries();A.getAxes();G0($.series||[],function($){A.initSeries($)});A.linkSeries();m(A,"beforeRender");if(c.Pointer)A.pointer=new J0(A,$);A.render();A.renderer.draw();_&&_.apply(A,[A]);G0(A.callbacks,function($){A.index!==W0&&$.apply(A,[A])});m(A,"load");A.cloneRenderTo(!0)}},splashArray:function(A,$){var _=$[A],_=k0(_)?_:[_,_,_,_];return[Q0($[A+"Top"],_[0]),Q0($[A+"Right"],_[1]),Q0($[A+"Bottom"],_[2]),Q0($[A+"Left"],_[3])]}};var n0=c.CenteredSeriesMixin={getCenter:function(){var E=this.options,C=this.chart,D=2*(E.slicedOffset||0),A=C.plotWidth-2*D,C=C.plotHeight-2*D,B=E.center,B=[Q0(B[0],"50%"),Q0(B[1],"50%"),E.size||"100%",E.innerSize||0],$=T0(A,C),_,F;for(_=0;_<4;++_)F=B[_],E=_<2||_===2&&/%$/.test(F),B[_]=(/%$/.test(F)?[A,C,$,B[2]][_]*parseFloat(F)/100:parseFloat(F))+(E?D:0);B[3]>B[2]&&(B[3]=B[2]);return B}},d=function(){};d.prototype={init:function(A,$,_){this.series=A;this.color=A.color;this.applyOptions($,_);this.pointAttr={};if(A.options.colorByPoint&&($=A.options.colors||A.chart.options.colors,this.color=this.color||$[A.colorCounter++],A.colorCounter===$.length))A.colorCounter=0;A.chart.pointCount++;return this},applyOptions:function(B,_){var A=this.series,$=A.options.pointValKey||A.pointValKey,B=d.prototype.optionsToObject.call(this,B);K0(this,B);this.options=this.options?K0(this.options,B):B;if($)this.y=this[$];if(this.x===W0&&A)this.x=_===W0?A.autoIncrement():_;return this},optionsToObject:function(E){var C={},D=this.series,A=D.options.keys,B=A||D.pointArrayMap||["y"],$=B.length,_=0,F=0;if(typeof E==="number"||E===null)C[B[0]]=E;else if(D0(E)){if(!A&&E.length>$){D=typeof E[0];if(D==="string")C.name=E[0];else if(D==="number")C.x=E[0];_++}for(;F<$;){if(!A||E[_]!==void 0)C[B[F]]=E[_];_++;F++}}else if(typeof E==="object"){C=E;if(E.dataLabels)D._hasPointLabels=!0;if(E.marker)D._hasPointMarkers=!0}return C},destroy:function(){var A=this.series.chart,$=A.hoverPoints,_;A.pointCount--;if($&&(this.setState(),U1($,this),!$.length))A.hoverPoints=null;if(this===A.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel)A0(this),this.destroyElements();this.legendItem&&A.legend.destroyItem(this);for(_ in this)this[_]=null},destroyElements:function(){for(var A=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],$,_=6;_--;)$=A[_],this[$]&&(this[$]=this[$].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(D){var B=this.series,C=B.tooltipOptions,_=Q0(C.valueDecimals,""),A=C.valuePrefix||"",$=C.valueSuffix||"";G0(B.pointArrayMap||["y"],function(B){B="{point."+B;if(A||$)D=D.replace(B+"}",A+B+"}"+$);D=D.replace(B+"}",B+":,."+_+"f}")});return t0(D,{point:this,series:this.series})},firePointEvent:function(C,A,B){var $=this,_=this.series.options;(_.point.events[C]||$.options&&$.options.events&&$.options.events[C])&&this.importEvents();C==="click"&&_.allowPointSelect&&(B=function(_){$.select&&$.select(null,_.ctrlKey||_.metaKey||_.shiftKey)});m(this,C,A,B)},visible:!0};var y=c.Series=function(){};y.prototype={isCartesian:!0,type:"line",pointClass:d,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],init:function(E,C){var D=this,A,B,$=E.series,_=function(_,$){return Q0(_.options.index,_._i)-Q0($.options.index,$._i)};D.chart=E;D.options=C=D.setOptions(C);D.linkedSeries=[];D.bindAxes();K0(D,{name:C.name,state:"",pointAttr:{},visible:C.visible!==!1,selected:C.selected===!0});if(F0)C.animation=!1;B=C.events;for(A in B)l(D,A,B[A]);if(B&&B.click||C.point&&C.point.events&&C.point.events.click||C.allowPointSelect)E.runTrackerClick=!0;D.getColor();D.getSymbol();G0(D.parallelArrays,function($){D[$+"Data"]=[]});D.setData(C.data,!1);if(D.isCartesian)E.hasCartesianSeries=!0;$.push(D);D._i=$.length-1;M1($,_);this.yAxis&&M1(this.yAxis.series,_);G0($,function(_,$){_.index=$;_.name=_.name||"Series "+($+1)})},bindAxes:function(){var B=this,_=B.options,A=B.chart,$;G0(B.axisTypes||[],function(C){G0(A[C],function(A){$=A.options;if(_[C]===$.index||_[C]!==W0&&_[C]===$.id||_[C]===W0&&$.index===0)A.series.push(B),B[C]=A,A.isDirty=!0});!B[C]&&B.optionalAxis!==C&&r0(18,!0)})},updateParallelArrays:function(B,_){var A=B.series,$=arguments;G0(A.parallelArrays,typeof _==="number"?function(C){var $=C==="y"&&A.toYData?A.toYData(B):B[C];A[C+"Data"][_]=$}:function(B){Array.prototype[_].apply(A[B+"Data"],Array.prototype.slice.call($,2))})},autoIncrement:function(){var B=this.options,_=this.xIncrement,A,$=B.pointIntervalUnit,_=Q0(_,B.pointStart,0);this.pointInterval=A=Q0(this.pointInterval,B.pointInterval,1);if($==="month"||$==="year")B=new I1(_),B=$==="month"?+B[_0](B[b0]()+A):+B[T](B[H1]()+A),A=B-_;this.xIncrement=_+A;return _},getSegments:function(){var C=-1,A=[],B,$=this.points,_=$.length;if(_)if(this.options.connectNulls){for(B=_;B--;)$[B].y===null&&$.splice(B,1);$.length&&(A=[$])}else G0($,function(D,B){D.y===null?(B>C+1&&A.push($.slice(C+1,B)),C=B):B===_-1&&A.push($.slice(C+1,B+1))});this.segments=A},setOptions:function(C){var A=this.chart,B=A.options.plotOptions,A=A.userOptions||{},$=A.plotOptions||{},_=B[this.type];this.userOptions=C;B=X(_,B.series,C);this.tooltipOptions=X(w.tooltip,w.plotOptions[this.type].tooltip,A.tooltip,$.series&&$.series.tooltip,$[this.type]&&$[this.type].tooltip,C.tooltip);_.marker===null&&delete B.marker;this.zoneAxis=B.zoneAxis;C=this.zones=(B.zones||[]).slice();if((B.negativeColor||B.negativeFillColor)&&!B.zones)C.push({value:B[this.zoneAxis+"Threshold"]||B.threshold||0,color:B.negativeColor,fillColor:B.negativeFillColor});C.length&&P0(C[C.length-1].value)&&C.push({color:this.color,fillColor:this.fillColor});return B},getCyclic:function(D,B,C){var _=this.userOptions,A="_"+D+"Index",$=D+"Counter";B||(P0(_[A])?B=_[A]:(_[A]=B=this.chart[$]%C.length,this.chart[$]+=1),B=C[B]);this[D]=B},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||G1[this.type].color,this.chart.options.colors)},getSymbol:function(){var $=this.options.marker;this.getCyclic("symbol",$.symbol,this.chart.options.symbols);if(/^url/.test(this.symbol))$.radius=0},drawLegendSymbol:V.drawLineMarker,setData:function(E,C,D,A){var B=this,$=B.points,_=$&&$.length||0,K,L=B.options,I=B.chart,J=null,H=B.xAxis,F=H&&!!H.categories,G=L.turboThreshold,M=this.xData,O=this.yData,N=(K=B.pointArrayMap)&&K.length,E=E||[];K=E.length;C=Q0(C,!0);if(A!==!1&&K&&_===K&&!B.cropped&&!B.hasGroupedData&&B.visible)G0(E,function(A,_){$[_].update&&$[_].update(A,!1,null,!1)});else{B.xIncrement=null;B.pointRange=F?1:L.pointRange;B.colorCounter=0;G0(this.parallelArrays,function($){B[$+"Data"].length=0});if(G&&K>G){for(D=0;J===null&&DL||this.forceCrop))if(C[A-1]G)C=[],D=[];else if(C[0]G)B=this.cropData(this.xData,this.yData,F,G),C=B.xData,D=B.yData,B=B.start,$=!0;for(L=C.length-1;L>=0;L--)A=C[L]-C[L-1],A>0&&(_===W0||A<_)?_=A:A<0&&this.requireSorting&&r0(15);this.cropped=$;this.cropStart=B;this.processedXData=C;this.processedYData=D;if(I.pointRange===null)this.pointRange=_||1;this.closestPointRange=_},cropData:function(E,C,D,A){var B=E.length,$=0,_=B,F=Q0(this.cropShoulder,1),G;for(G=0;G=D){$=N0(0,G-F);break}for(;GA){_=G+F;break}return{xData:E.slice($,_),yData:C.slice($,_),start:$,end:_}},generatePoints:function(){var E=this.options.data,C=this.data,D,A=this.processedXData,B=this.processedYData,$=this.pointClass,_=A.length,J=this.cropStart||0,K,H=this.hasGroupedData,I,G=[],F;if(!C&&!H)C=[],C.length=E.length,C=this.data=C;for(F=0;F<_;F++)K=J+F,H?G[F]=(new $).init(this,[A[F]].concat(z0(B[F]))):(C[K]?I=C[K]:E[K]!==W0&&(C[K]=I=(new $).init(this,E[K],A[F])),G[F]=I),G[F].index=K;if(C&&(_!==(D=C.length)||H))for(F=0;F0),H=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(E[G+1]||H)>=A&&(E[G-1]||H)<=J,K&&H)if(K=I.length){for(;K--;)I[K]!==null&&(C[_++]=I[K])}else C[_++]=I;this.dataMin=U0(C);this.dataMax=$(C)},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var F=this.options,C=F.stacking,E=this.xAxis,A=E.categories,B=this.yAxis,$=this.points,_=$.length,M=!!this.modifyValue,N=F.pointPlacement,K=N==="between"||N1(N),L=F.threshold,J=F.startFromThreshold?L:0,G,I,Q,H,R=Number.MAX_VALUE,F=0;F<_;F++){var D=$[F],P=D.x,S=D.y;I=D.low;var O=C&&B.stacks[(this.negStacks&&S<(J?0:L)?"-":"")+this.stackKey];if(B.isLog&&S!==null&&S<=0)D.y=S=null,r0(10);D.plotX=G=T0(N0(-100000,E.translate(P,0,0,0,1,N,this.type==="flags")),100000);if(C&&this.visible&&O&&O[P])H=this.getStackIndicator(H,P,this.index),O=O[P],S=O.points[H.key],I=S[0],S=S[1],I===J&&(I=Q0(L,B.min)),B.isLog&&I<=0&&(I=null),D.total=D.stackTotal=O.total,D.percentage=O.total&&D.y/O.total*100,D.stackY=S,O.setOffset(this.pointXOffset||0,this.barW||0);D.yBottom=P0(I)?B.translate(I,0,1,0,1):null;M&&(S=this.modifyValue(S,D));D.plotY=I=typeof S==="number"&&S!==Infinity?T0(N0(-100000,B.translate(S,0,1,0,1)),100000):W0;D.isInside=I!==W0&&I>=0&&I<=B.len&&G>=0&&G<=E.len;D.clientX=K?E.translate(P,0,0,0,1):G;D.negative=D.y<(L||0);D.category=A&&A[D.x]!==W0?A[D.x]:D.x;F&&(R=T0(R,i(G-Q)));Q=G}this.closestPointRangePx=R;this.getSegments()},setClip:function(E){var C=this.chart,D=this.options,A=C.renderer,B=C.inverted,$=this.clipBox,_=$||C.clipBox,G=this.sharedClipKey||["_sharedClip",E&&E.duration,E&&E.easing,_.height,D.xAxis,D.yAxis].join(","),H=C[G],F=C[G+"m"];if(!H){if(E)_.width=0,C[G+"m"]=F=A.clipRect(-99,B?-C.plotLeft:-C.plotTop,99,B?C.chartWidth:C.chartHeight);C[G]=H=A.clipRect(_)}E&&(H.count+=1);if(D.clip!==!1)this.group.clip(E||$?H:C.clipRect),this.markerGroup.clip(F),this.sharedClipKey=G;E||(H.count-=1,H.count<=0&&G&&C[G]&&($||(C[G]=C[G].destroy()),C[G+"m"]&&(C[G+"m"]=C[G+"m"].destroy())))},animate:function(B){var _=this.chart,A=this.options.animation,$;if(A&&!k0(A))A=G1[this.type].animation;B?this.setClip(A):($=this.sharedClipKey,(B=_[$])&&B.animate({width:_.plotSizeX},A),_[$+"m"]&&_[$+"m"].animate({width:_.plotSizeX+99},A),this.animate=null)},afterAnimate:function(){this.setClip();m(this,"afterAnimate")},drawPoints:function(){var E,C=this.points,D=this.chart,A,B,$,_,L,M,J,K,I=this.options.marker,F=this.pointAttr[""],H,G,O,N=this.markerGroup,P=Q0(I.enabled,this.xAxis.isRadial,this.closestPointRangePx>2*I.radius);if(I.enabled!==!1||this._hasPointMarkers)for($=C.length;$--;)if(_=C[$],A=r(_.plotX),B=_.plotY,K=_.graphic,H=_.marker||{},G=!!_.marker,E=P&&H.enabled===W0||H.enabled,O=_.isInside,E&&B!==W0&&!isNaN(B)&&_.y!==null){if(E=_.pointAttr[_.selected?"select":""]||F,L=E.r,M=Q0(H.symbol,this.symbol),J=M.indexOf("url")===0,K)K[O?"show":"hide"](!0).animate(K0({x:A-L,y:B-L},K.symbolName?{width:2*L,height:2*L}:{}));else if(O&&(L>0||J))_.graphic=D.renderer.symbol(M,A-L,B-L,2*L,2*L,G?H:I).attr(E).add(N)}else if(K)_.graphic=K.destroy()},convertAttribs:function(E,C,D,A){var B=this.pointAttrToOptions,$,_,F={},E=E||{},C=C||{},D=D||{},A=A||{};for($ in B)_=B[$],F[$]=Q0(E[_],C[$],D[$],A[$]);return F},getAttribs:function(){var F=this,C=F.options,E=G1[F.type].marker?C.marker:C,A=E.states,B=A.hover,$,_=F.color,L=F.options.negativeColor;$={stroke:_,fill:_};var M=F.points||[],J,K,I=[],G=F.pointAttrToOptions;J=F.hasPointSpecificOptions;var H=E.lineColor,N=E.fillColor;K=C.turboThreshold;var P=F.zones,O=F.zoneAxis||"y",D;C.marker?(B.radius=B.radius||E.radius+B.radiusPlus,B.lineWidth=B.lineWidth||E.lineWidth+B.lineWidthPlus):(B.color=B.color||L0(B.color||_).brighten(B.brightness).get(),B.negativeColor=B.negativeColor||L0(B.negativeColor||L).brighten(B.brightness).get());I[""]=F.convertAttribs(E,$);G0(["hover","select"],function($){I[$]=F.convertAttribs(A[$],I[""])});F.pointAttr=I;_=M.length;if(!K||_=$.value;)$=P[++J];K.color=K.fillColor=Q0($.color,F.color)}J=C.colorByPoint||K.color;if(K.options)for(D in G)P0(E[G[D]])&&(J=!0);if(J){E=E||{};J=[];A=E.states||{};$=A.hover=A.hover||{};if(!C.marker||K.negative&&!$.fillColor&&!B.fillColor)$[F.pointAttrToOptions.fill]=$.color||!K.options.color&&B[K.negative&&L?"negativeColor":"color"]||L0(K.color).brighten($.brightness||B.brightness).get();$={color:K.color};if(!N)$.fillColor=K.color;if(!H)$.lineColor=K.color;E.hasOwnProperty("color")&&!E.color&&delete E.color;J[""]=F.convertAttribs(K0($,E),I[""]);J.hover=F.convertAttribs(A.hover,I.hover,J[""]);J.select=F.convertAttribs(A.select,I.select,J[""])}else J=I;K.pointAttr=J}},destroy:function(){var E=this,C=E.chart,D=/AppleWebKit\/533/.test(w0),A,B=E.data||[],$,_,F;m(E,"destroy");A0(E);G0(E.axisTypes||[],function($){if(F=E[$])U1(F.series,E),F.isDirty=F.forceRedraw=!0});E.legendItem&&E.chart.legend.destroyItem(E);for(A=B.length;A--;)($=B[A])&&$.destroy&&$.destroy();E.points=null;clearTimeout(E.animationTimeout);for(_ in E)E[_]instanceof u&&!E[_].survive&&(A=D&&_==="group"?"hide":"destroy",E[_][A]());if(C.hoverSeries===E)C.hoverSeries=null;U1(C.series,E);for(_ in E)delete E[_]},getSegmentPath:function(B){var _=this,A=[],$=_.options.step;G0(B,function(E,C){var D=E.plotX,F=E.plotY,G;_.getPointSpline?A.push.apply(A,_.getPointSpline(B,E,C)):(A.push(C?"L":"M"),$&&C&&(G=B[C-1],$==="right"?A.push(G.plotX,F,"L"):$==="center"?A.push((G.plotX+D)/2,G.plotY,"L",(G.plotX+D)/2,F,"L"):A.push(D,G.plotY,"L")),A.push(E.plotX,E.plotY))});return A},getGraphPath:function(){var B=this,_=[],A,$=[];G0(B.segments,function(C){A=B.getSegmentPath(C);C.length>1?_=_.concat(A):$.push(C[0])});B.singlePoints=$;return B.graphPath=_},drawGraph:function(){var E=this,C=this.options,D=[["graph",C.lineColor||this.color,C.dashStyle]],A=C.lineWidth,B=C.linecap!=="square",$=this.getGraphPath(),_=this.fillGraph&&this.color||v;G0(this.zones,function($,_){D.push(["zoneGraph"+_,$.color||E.color,$.dashStyle||C.dashStyle])});G0(D,function(D,H){var F=D[0],G=E[F];if(G)G.animate({d:$});else if((A||_)&&$.length)G={stroke:D[1],"stroke-width":A,fill:_,zIndex:1},D[2]?G.dashstyle=D[2]:B&&(G["stroke-linecap"]=G["stroke-linejoin"]="round"),E[F]=E.chart.renderer.path($).attr(G).add(E.group).shadow(H<2&&C.shadow)})},applyZones:function(){var E=this,C=this.chart,D=C.renderer,A=this.zones,B,$,_=this.clips||[],K,L=this.graph,I=this.area,J=N0(C.chartWidth,C.chartHeight),H=this[(this.zoneAxis||"y")+"Axis"],F,G=H.reversed,N=C.inverted,P=H.horiz,Q,O,M,R=!1;if(A.length&&(L||I)&&H.min!==W0)L&&L.hide(),I&&I.hide(),F=H.getExtremes(),G0(A,function(A,S){B=G?P?C.plotWidth:0:P?0:H.toPixels(F.min);B=T0(N0(Q0($,B),0),J);$=T0(N0(I0(H.toPixels(Q0(A.value,F.max),!0)),0),J);R&&(B=$=H.toPixels(F.max));Q=Math.abs(B-$);O=T0(B,$);M=N0(B,$);if(H.isXAxis){if(K={x:N?M:O,y:0,width:Q,height:J},!P)K.x=C.plotHeight-K.x}else if(K={x:0,y:N?M:O,width:J,height:Q},P)K.y=C.plotWidth-K.y;C.inverted&&D.isVML&&(K=H.isXAxis?{x:0,y:G?O:M,height:K.width,width:C.chartWidth}:{x:K.y-C.plotLeft-C.spacingBox.x,y:0,width:K.height,height:C.chartHeight});_[S]?_[S].animate(K):(_[S]=D.clipRect(K),L&&E["zoneGraph"+S].clip(_[S]),I&&E["zoneArea"+S].clip(_[S]));R=A.value>F.max}),this.clips=_},invertGroups:function(){function A(){var _={width:$.yAxis.len,height:$.xAxis.len};G0(["group","markerGroup"],function(A){$[A]&&$[A].attr(_).invert()})}var $=this,_=$.chart;if($.xAxis)l(_,"resize",A),l($,"destroy",function(){A0(_,"resize",A)}),A(),$.invertGroups=A},plotGroup:function(E,C,D,A,B){var $=this[E],_=!$;_&&(this[E]=$=this.chart.renderer.g(C).attr({visibility:D,zIndex:A||0.1}).add(B),$.addClass("highcharts-series-"+this.index));$[_?"attr":"animate"](this.getPlotBox());return $},getPlotBox:function(){var A=this.chart,$=this.xAxis,_=this.yAxis;if(A.inverted)$=_,_=this.xAxis;return{translateX:$?$.left:A.plotLeft,translateY:_?_.top:A.plotTop,scaleX:1,scaleY:1}},render:function(){var E=this,C=E.chart,D,A=E.options,B=(D=A.animation)&&!!E.animate&&C.renderer.isSVG&&Q0(D.duration,500)||0,$=E.visible?"visible":"hidden",_=A.zIndex,F=E.hasRendered,G=C.seriesGroup;D=E.plotGroup("group","series",$,_,G);E.markerGroup=E.plotGroup("markerGroup","markers",$,_,G);B&&E.animate(!0);E.getAttribs();D.inverted=E.isCartesian?C.inverted:!1;E.drawGraph&&(E.drawGraph(),E.applyZones());G0(E.points,function($){$.redraw&&$.redraw()});E.drawDataLabels&&E.drawDataLabels();E.visible&&E.drawPoints();E.drawTracker&&E.options.enableMouseTracking!==!1&&E.drawTracker();C.inverted&&E.invertGroups();A.clip!==!1&&!E.sharedClipKey&&!F&&D.clip(C.clipRect);B&&E.animate();if(!F)B?E.animationTimeout=setTimeout(function(){E.afterAnimate()},B):E.afterAnimate();E.isDirty=E.isDirtyData=!1;E.hasRendered=!0},redraw:function(){var D=this.chart,B=this.isDirtyData,C=this.isDirty,_=this.group,A=this.xAxis,$=this.yAxis;_&&(D.inverted&&_.attr({width:D.plotWidth,height:D.plotHeight}),_.animate({translateX:Q0(A&&A.left,D.plotLeft),translateY:Q0($&&$.top,D.plotTop)}));this.translate();this.render();B&&m(this,"updatedData");(C||B)&&delete this.kdTree},kdDimensions:1,kdAxisArray:["clientX","plotY"],searchPoint:function(C,A){var B=this.xAxis,$=this.yAxis,_=this.chart.inverted;return this.searchKDTree({clientX:_?B.len-C.chartY+B.pos:C.chartX-B.pos,plotY:_?$.len-C.chartX+$.pos:C.chartY-$.pos},A)},buildKDTree:function(){function B(C,_,$){var D,E;if(E=C&&C.length)return D=A.kdAxisArray[_%$],C.sort(function(_,$){return _[D]-$[D]}),E=Math.floor(E/2),{point:C[E],left:B(C.slice(0,E),_+1,$),right:B(C.slice(E+1),_+1,$)}}function _(){var _=e0(A.points||[],function($){return $.y!==null});A.kdTree=B(_,$,$)}var A=this,$=A.kdDimensions;delete A.kdTree;A.options.kdSync?_():setTimeout(_)},searchKDTree:function(E,C){function D(F,C,K,L){var J=C.point,G=A.kdAxisArray[K%L],I,E,H=J;E=P0(F[B])&&P0(J[B])?Math.pow(F[B]-J[B],2):null;I=P0(F[$])&&P0(J[$])?Math.pow(F[$]-J[$],2):null;I=(E||0)+(I||0);J.dist=P0(I)?Math.sqrt(I):Number.MAX_VALUE;J.distX=P0(E)?Math.sqrt(E):Number.MAX_VALUE;G=F[G]-J[G];I=G<0?"left":"right";E=G<0?"right":"left";C[I]&&(I=D(F,C[I],K+1,L),H=I[_]F;)A--;B.updateParallelArrays(L,"splice",A,0,0);B.updateParallelArrays(L,A);if(J&&L.name)J[F]=L.name;K.splice(A,0,E);G&&(B.data.splice(A,0,null),B.processData());$.legendType==="point"&&B.generatePoints();D&&(_[0]&&_[0].remove?_[0].remove(!1):(_.shift(),B.updateParallelArrays(L,"shift"),K.shift()));B.isDirty=!0;B.isDirtyData=!0;C&&(B.getAttribs(),I.redraw())},removePoint:function(E,C,D){var A=this,B=A.data,$=B[E],_=A.points,F=A.chart,G=function(){B.length===_.length&&_.splice(E,1);B.splice(E,1);A.options.data.splice(E,1);A.updateParallelArrays($||{series:A},"splice",E,1);$&&$.destroy();A.isDirty=!0;A.isDirtyData=!0;C&&F.redraw()};V1(D,F);C=Q0(C,!0);$?$.firePointEvent("remove",null,G):G()},remove:function(B,_){var A=this,$=A.chart,B=Q0(B,!0);if(!A.isRemoving)A.isRemoving=!0,m(A,"remove",null,function(){A.destroy();$.isDirtyLegend=$.isDirtyBox=!0;$.linkSeries();B&&$.redraw(_)});A.isRemoving=!1},update:function(E,C){var D=this,A=this.chart,B=this.userOptions,$=this.type,_=h[$].prototype,F=["group","markerGroup","dataLabelsGroup"],G;if(E.type&&E.type!==$||E.zIndex!==void 0)F.length=0;G0(F,function($){F[$]=D[$];delete D[$]});E=X(B,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},E);this.remove(!1);for(G in _)this[G]=W0;K0(this,h[E.type||$].prototype);G0(F,function($){D[$]=F[$]});this.init(A,E);A.linkSeries();Q0(C,!0)&&A.redraw(!1)}});K0(O.prototype,{update:function(A,$){var _=this.chart,A=_.options[this.coll][this.options.index]=X(this.userOptions,A);this.destroy(!0);this._addedPlotLB=this.chart._labelPanes=W0;this.init(_,K0(A,{events:W0}));_.isDirtyBox=!0;Q0($,!0)&&_.redraw()},remove:function(C){for(var A=this.chart,B=this.coll,$=this.series,_=$.length;_--;)$[_]&&$[_].remove(!1);U1(A.axes,this);U1(A[B],this);A.options[B].splice(this.options.index,1);G0(A[B],function(_,$){_.options.index=$});this.destroy();A.isDirtyBox=!0;Q0(C,!0)&&A.redraw()},setTitle:function(_,$){this.update({title:_},$)},setCategories:function(_,$){this.update({categories:_},$)}});var H=g0(y);h.line=H;G1.area=X(o,{softThreshold:!1,threshold:0});var R=g0(y,{type:"area",getSegments:function(){var E=this,C=[],D=[],A=[],B=this.xAxis,$=this.yAxis,_=$.stacks[this.stackKey],K={},L,I,J=this.points,H=this.options.connectNulls,F,G,M;if(this.options.stacking&&!this.cropped){for(G=0;G=0;A--)_=Q0(E[A].yBottom,$),AE&&J>B?(J=N0(E,B),H=2*B-J):J_&&H>B?(H=N0(_,B),J=2*B-H):H<_&&H_?H-_:$-(A?_:0));K.barX=M;K.pointWidth=I;K.tooltipPos=C.inverted?[B.len+B.pos-C.plotLeft-N,E.xAxis.len-M-L/2,D]:[M+L/2,N+B.pos-C.plotTop,D];K.shapeType="rect";K.shapeArgs=E.crispCol(M,J,L,D)})},getSymbol:S0,drawLegendSymbol:V.drawRectangle,drawGraph:S0,drawPoints:function(){var E=this,C=this.chart,D=E.options,A=C.renderer,B=D.animationLimit||250,$,_;G0(E.points,function(G){var H=G.plotY,F=G.graphic;if(H!==W0&&!isNaN(H)&&G.y!==null)$=G.shapeArgs,H=P0(E.borderWidth)?{"stroke-width":E.borderWidth}:{},_=G.pointAttr[G.selected?"select":""]||E.pointAttr[""],F?(X0(F),F.attr(H)[C.pointCount\u25cf {series.name}
",pointFormat:"x: {point.x}
y: {point.y}
"}});R=g0(y,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,kdDimensions:2,drawGraph:function(){this.options.lineWidth&&y.prototype.drawGraph.call(this)}});h.scatter=R;G1.pie=X(o,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.y===null?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});o={type:"pie",isCartesian:!1,pointClass:g0(d,{init:function(){d.prototype.init.apply(this,arguments);var _=this,$;_.name=Q0(_.name,"Slice");$=function($){_.slice($.type==="select")};l(_,"select",$);l(_,"unselect",$);return _},setVisible:function(D,B){var C=this,_=C.series,A=_.chart,$=_.options.ignoreHiddenPoint,B=Q0(B,$);if(D!==C.visible){C.visible=C.options.visible=D=D===W0?!C.visible:D;_.options.data[J(C,_.data)]=C.options;G0(["graphic","dataLabel","connector","shadowGroup"],function($){if(C[$])C[$][D?"show":"hide"](!0)});C.legendItem&&A.legend.colorizeItem(C,D);!D&&C.state==="hover"&&C.setState("");if($)_.isDirty=!0;B&&A.redraw()}},slice:function(B,_,A){var $=this.series;V1(A,$.chart);Q0(_,!0);this.sliced=this.options.sliced=B=P0(B)?B:!this.sliced;$.options.data[J(this,$.data)]=this.options;B=B?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(B);this.shadowGroup&&this.shadowGroup.animate(B)},haloPath:function(A){var $=this.shapeArgs,_=this.series.chart;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(_.plotLeft+$.x,_.plotTop+$.y,$.r+A,$.r+A,{innerR:this.shapeArgs.r,start:$.start,end:$.end})}}),requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},animate:function(B){var _=this,A=_.points,$=_.startAngleRad;if(!B)G0(A,function(C){var B=C.graphic,A=C.shapeArgs;B&&(B.attr({r:C.startR||_.center[3]/2,start:$,end:$}),B.animate({r:A.r,start:A.start,end:A.end},_.options.animation))}),_.animate=null},updateTotals:function(){var D,B=0,C=this.points,_=C.length,A,$=this.options.ignoreHiddenPoint;for(D=0;D<_;D++)A=C[D],B+=$&&!A.visible?0:A.y;this.total=B;for(D=0;D<_;D++)A=C[D],A.percentage=B>0&&(A.visible||!$)?A.y/B*100:0,A.total=B},generatePoints:function(){y.prototype.generatePoints.call(this);this.updateTotals()},translate:function(E){this.generatePoints();var C=0,D=this.options,A=D.slicedOffset,B=A+D.borderWidth,$,_,L,M=D.startAngle||0,J=this.startAngleRad=x/180*(M-90),M=(this.endAngleRad=x/180*(Q0(D.endAngle,M+360)-90))-J,K=this.points,I=D.dataLabels.distance,D=D.ignoreHiddenPoint,F,H=K.length,G;if(!E)this.center=E=this.getCenter();this.getX=function($,_){L=t.asin(T0(($-E[1])/(E[2]/2+I),1));return E[0]+(_?-1:1)*s(L)*(E[2]/2+I)};for(F=0;F1.5*x?L-=2*x:L<-x/2&&(L+=2*x);G.slicedTranslation={translateX:I0(s(L)*A),translateY:I0(S1(L)*A)};$=s(L)*E[2]/2;_=S1(L)*E[2]/2;G.tooltipPos=[E[0]+$*0.7,E[1]+_*0.7];G.half=L<-x/2||L>x/2?1:0;G.angle=L;B=T0(B,I/2);G.labelPos=[E[0]+$+s(L)*I,E[1]+_+S1(L)*I,E[0]+$+s(L)*B,E[1]+_+S1(L)*B,E[0]+$,E[1]+_,I<0?"center":G.half?"right":"left",L]}},drawGraph:null,drawPoints:function(){var E=this,C=E.chart.renderer,D,A,B=E.options.shadow,$,_,F;if(B&&!E.shadowGroup)E.shadowGroup=C.g("shadow").add(E.group);G0(E.points,function(G){if(G.y!==null){A=G.graphic;_=G.shapeArgs;$=G.shadowGroup;if(B&&!$)$=G.shadowGroup=C.g("shadow").add(E.shadowGroup);D=G.sliced?G.slicedTranslation:{translateX:0,translateY:0};$&&$.attr(D);if(A)A.setRadialReference(E.center).animate(K0(_,D));else{F={"stroke-linejoin":"round"};if(!G.visible)F.visibility="hidden";G.graphic=A=C[G.shapeType](_).setRadialReference(E.center).attr(G.pointAttr[G.selected?"select":""]).attr(F).attr(D).add(E.group).shadow(B,$)}}})},searchPoint:S0,sortByAngle:function(_,$){_.sort(function(A,_){return A.angle!==void 0&&(_.angle-A.angle)*$})},drawLegendSymbol:V.drawRectangle,getCenter:n0.getCenter,getSymbol:S0};o=g0(y,o);h.pie=o;y.prototype.drawDataLabels=function(){var E=this,C=E.options,D=C.cursor,A=C.dataLabels,B=E.points,$,_,H=E.hasRendered||0,I,F,G=E.chart.renderer;if(A.enabled||E._hasPointLabels)E.dlProcessOptions&&E.dlProcessOptions(A),F=E.plotGroup("dataLabelsGroup","data-labels",A.defer?"hidden":"visible",A.zIndex||6),Q0(A.defer,!0)&&(F.attr({opacity:+H}),H||l(E,"afterAnimate",function(){E.visible&&F.show();F[C.animation?"animate":"attr"]({opacity:1},{duration:200})})),_=A,G0(B,function(J){var P,N=J.dataLabel,M,L,K=J.connector,B=!0,H,O={};$=J.dlOptions||J.options&&J.options.dataLabels;P=Q0($&&$.enabled,_.enabled);if(N&&!P)J.dataLabel=N.destroy();else if(P){A=X(_,$);H=A.style;P=A.rotation;M=J.getLabelConfig();I=A.format?t0(A.format,M):A.formatter.call(M,A);H.color=Q0(A.color,H.color,E.color,"black");if(N){if(P0(I))N.attr({text:I}),B=!1;else if(J.dataLabel=N=N.destroy(),K)J.connector=K.destroy()}else if(P0(I)){N={fill:A.backgroundColor,stroke:A.borderColor,"stroke-width":A.borderWidth,r:A.borderRadius||0,rotation:P,padding:A.padding,zIndex:1};if(H.color==="contrast")O.color=A.inside||A.distance<0||C.stacking?G.getContrast(J.color||E.color):"#000000";if(D)O.cursor=D;for(L in N)N[L]===W0&&delete N[L];N=J.dataLabel=G[P?"text":"label"](I,0,-999,A.shape,null,null,A.useHTML).attr(N).css(K0(H,O)).add(F).shadow(A.shadow)}N&&E.alignDataLabel(J,N,A,null,B)}})};y.prototype.alignDataLabel=function(E,C,D,A,B){var $=this.chart,_=$.inverted,I=Q0(E.plotX,-999),J=Q0(E.plotY,-999),G=C.getBBox(),H=$.renderer.fontMetrics(D.style.fontSize).b,F=this.visible&&(E.series.forceDL||$.isInsidePlot(I,I0(J),_)||A&&$.isInsidePlot(I,_?A.x+1:A.y+A.height-1,_));if(F)A=K0({x:_?$.plotWidth-J:I,y:I0(_?$.plotHeight-I:J),width:0,height:0},A),K0(D,{width:G.width,height:G.height}),D.rotation?(E=$.renderer.rotCorr(H,D.rotation),C[B?"attr":"animate"]({x:A.x+D.x+A.width/2+E.x,y:A.y+D.y+A.height/2}).attr({align:D.align})):(C.align(D,null,A),_=C.alignAttr,Q0(D.overflow,"justify")==="justify"?this.justifyDataLabel(C,D,_,G,A,B):Q0(D.crop,!0)&&(F=$.isInsidePlot(_.x,_.y)&&$.isInsidePlot(_.x+G.width,_.y+G.height)),D.shape&&C.attr({anchorX:E.plotX,anchorY:E.plotY}));if(!F)X0(C),C.attr({y:-999}),C.placed=!1};y.prototype.justifyDataLabel=function(E,C,D,A,B,$){var _=this.chart,I=C.align,J=C.verticalAlign,G,H,F=E.box?0:E.padding||0;G=D.x+F;if(G<0)I==="right"?C.align="left":C.x=-G,H=!0;G=D.x+A.width-F;if(G>_.plotWidth)I==="left"?C.align="right":C.x=_.plotWidth-G,H=!0;G=D.y+F;if(G<0)J==="bottom"?C.verticalAlign="top":C.y=-G,H=!0;G=D.y+A.height-F;if(G>_.plotHeight)J==="top"?C.verticalAlign="bottom":C.y=_.plotHeight-G,H=!0;if(H)E.placed=!$,E.align(C,null,B)};if(h.pie)h.pie.prototype.drawDataLabels=function(){var U=this,S=U.data,T,Q=U.chart,R=U.options.dataLabels,O=Q0(R.connectorPadding,10),P=Q0(R.connectorWidth,1),a=Q.plotWidth,b=Q.plotHeight,Y,Z,X=Q0(R.softConnector,!0),V=R.distance,W=U.center,f=W[2]/2,e=W[1],d=V>0,h,c,g,_=[[],[]],E,D,A,C,I,B=[0,0,0,0],G=function(_,$){return $.y-_.y};if(U.visible&&(R.enabled||U._hasPointLabels)){y.prototype.drawDataLabels.apply(U);G0(S,function($){$.dataLabel&&$.visible&&_[$.half].push($)});for(C=2;C--;){var K=[],H=[],J=_[C],F=J.length,L;if(F){U.sortByAngle(J,C-0.5);for(I=S=0;!S&&J[I];)S=J[I]&&J[I].dataLabel&&(J[I].dataLabel.getBBox().height||21),I++;if(V>0){c=T0(e+f+V,Q.plotHeight);for(I=N0(0,e-f-V);I<=c;I+=S)K.push(I);c=K.length;if(F>c){T=[].concat(J);T.sort(G);for(I=F;I--;)T[I].rank=I;for(I=F;I--;)J[I].rank>=c&&J.splice(I,1);F=J.length}for(I=0;I0){if(c=H.pop(),L=c.i,D=c.y,T>D&&K[L+1]!==null||Ta-O&&(B[1]=N0(I0(E+c-a+O),B[1])),D-S/2<0?B[0]=N0(I0(-D+S/2),B[0]):D+S/2>b&&(B[2]=N0(I0(D+S/2-b),B[2]))}}}if($(B)===0||this.verifyDataLabelOverflow(B))this.placeDataLabels(),d&&P&&G0(this.points,function($){Y=$.connector;g=$.labelPos;if((h=$.dataLabel)&&h._pos&&$.visible)A=h._attr.visibility,E=h.connX,D=h.connY,Z=X?["M",E+(g[6]==="left"?5:-5),D,"C",E,D,2*g[2]-g[4],2*g[3]-g[5],g[2],g[3],"L",g[4],g[5]]:["M",E+(g[6]==="left"?5:-5),D,"L",g[2],g[3],"L",g[4],g[5]],Y?(Y.animate({d:Z}),Y.attr("visibility",A)):$.connector=Y=U.chart.renderer.path(Z).attr({"stroke-width":P,stroke:R.connectorColor||$.color||"#606060",visibility:A}).add(U.dataLabelsGroup);else if(Y)$.connector=Y.destroy()})}},h.pie.prototype.placeDataLabels=function(){G0(this.points,function(_){var $=_.dataLabel;if($&&_.visible)(_=$._pos)?($.attr($._attr),$[$.moved?"animate":"attr"](_),$.moved=!0):$&&$.attr({y:-999})})},h.pie.prototype.alignDataLabel=S0,h.pie.prototype.verifyDataLabelOverflow=function(E){var C=this.center,D=this.options,A=D.center,B=D.minSize||80,$=B,_;A[0]!==null?$=N0(C[2]-N0(E[1],E[3]),B):($=N0(C[2]-E[1]-E[3],B),C[0]+=(E[3]-E[1])/2);A[1]!==null?$=N0(T0($,C[2]-N0(E[0],E[2])),B):($=N0(T0($,C[2]-E[0]-E[2]),B),C[1]+=(E[0]-E[2])/2);$Q0(this.translatedThreshold,_.yAxis.len)),F=Q0(D.inside,!!this.options.stacking);if(G&&(A=X(G),$&&(A={x:_.yAxis.len-A.y-A.height,y:_.xAxis.len-A.x-A.width,width:A.height,height:A.width}),!F))$?(A.x+=H?0:A.width,A.width=0):(A.y+=H?A.height:0,A.height=0);D.align=Q0(D.align,!$||F?"center":H?"right":"left");D.verticalAlign=Q0(D.verticalAlign,$||F?"middle":H?"top":"bottom");y.prototype.alignDataLabel.call(this,E,C,D,A,B)};(function(C){var A=C.Chart,B=C.each,$=C.pick,_=HighchartsAdapter.addEvent;A.prototype.callbacks.push(function(C){function A(){var _=[];B(C.series,function(D){var C=D.options.dataLabels,A=D.dataLabelCollections||["dataLabel"];(C.enabled||D._hasPointLabels)&&!C.allowOverlap&&D.visible&&B(A,function(A){B(D.points,function(B){if(B[A])B[A].labelrank=$(B.labelrank,B.shapeArgs&&B.shapeArgs.height),_.push(B[A])})})});C.hideOverlappingLabels(_)}A();_(C,"redraw",A)});A.prototype.hideOverlappingLabels=function(C){var A=C.length,$,_,G,H,F,D,E;for(_=0;_F.x+(G.width-E)||D.x+(H.width-E)F.y+(G.height-E)||D.y+(H.height-E)$;if(G.series.length&&(H||D>T0(F.dataMin,F.min))&&(!H||E