(function(){function f(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function ci(){for(var n=0,t=arguments,r=t.length,i={};n-1?n.split(".")[1].length:0}function wr(n,t,i,r){var s=it.lang,f=n,e=t===-1?oo(n):isNaN(t=g(t))?2:t,l=i===undefined?s.decimalPoint:i,h=r===undefined?s.thousandsSep:r,a=f<0?"-":"",u=String(c(f=g(+f||0).toFixed(e))),o=u.length>3?u.length%3:0;return a+(o?u.substr(0,o)+h:"")+u.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+h)+(e?l+g(f-u).toFixed(e).slice(2):"")}function di(n,t){return new Array((t||2)+1-String(n).length).join(0)+n}function so(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments);return n.unshift(r),i.apply(this,n)}}function pf(t,i,r,u){var e,f;for(r=n(r,1),e=t/r,i||(i=[1,2,2.5,5,10],u&&u.allowDecimals===!1&&(r===1?i=[1,2,5,10]:r<=.1&&(i=[1/r]))),f=0;f=l[ff]&&(o.setMilliseconds(0),o.setSeconds(s>=l[hu]?0:h*ht(o.getSeconds()/h))),s>=l[hu]&&o[se](s>=l[ar]?0:h*ht(o[lf]()/h)),s>=l[ar]&&o[he](s>=l[hi]?0:h*ht(o[af]()/h)),s>=l[hi]&&o[yf](s>=l[vr]?1:h*ht(o[yr]()/h)),s>=l[vr]&&(o[ce](s>=l[bi]?0:h*ht(o[au]()/h)),a=o[vu]()),s>=l[bi]&&(a-=a%h,o[le](a)),s===l[cu]&&o[yf](o[yr]()-o[vf]()+n(e,1)),v=1,a=o[vu]();for(var c=o.getTime(),b=o[au](),k=o[yr](),d=w?0:(864e5+o.getTimezoneOffset()*6e4)%864e5;ci&&(i=n[t]);return i}function er(n,t){var i;for(i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function br(n){eu||(eu=ot(ti)),n&&eu.appendChild(n),eu.innerHTML=""}function kr(n,t){var i="Highcharts error #"+n+": www.highcharts.com/errors/"+n;if(t)throw i;else k.console&&console.log(i)}function ni(n){return parseFloat(n.toPrecision(14))}function nr(t,i){lr=n(t,i.animation)}function ke(){var r=it.global.useUTC,t=r?"getUTC":"get",i=r?"setUTC":"set";lu=r?Date.UTC:function(t,i,r,u,f,e){return new Date(t,i,n(r,1),n(u,0),n(f,0),n(e,0)).getTime()},lf=t+"Minutes",af=t+"Hours",vf=t+"Day",yr=t+"Date",au=t+"Month",vu=t+"FullYear",se=i+"Minutes",he=i+"Hours",yf=i+"Date",ce=i+"Month",le=i+"FullYear"}function ao(n){return it=o(it,n),ke(),it}function vo(){return it}function tr(){}function tu(n,t,i){this.axis=n,this.pos=t,this.type=i||"",this.isNew=!0,i||this.addLabel()}function kf(n,t){return this.axis=n,t&&(this.options=t,this.id=t.id),this}function no(t,i,r,u,f,e){var o=t.chart.inverted;this.axis=t,this.isNegative=r,this.options=i,this.x=u,this.stack=f,this.percent=e==="percent",this.alignOptions={align:i.align||(o?r?"left":"right":"center"),verticalAlign:i.verticalAlign||(o?"middle":r?"bottom":"top"),y:n(i.y,o?4:r?14:-6),x:n(i.x,o?r?-6:6:0)},this.textAlign=i.textAlign||(o?r?"right":"left":"center")}function df(){this.init.apply(this,arguments)}function gf(n,t){var r=t.borderWidth,i=t.style,u=c(i.padding);this.chart=n,this.options=t,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.label=n.renderer.label("",0,0,t.shape,null,null,t.useHTML,null,"tooltip").attr({padding:u,fill:t.backgroundColor,"stroke-width":r,r:t.borderRadius,zIndex:8}).css(i).css({padding:0}).hide().add(),lt||this.label.shadow(t.shadow),this.shared=t.shared}function ne(n,t){var i=lt?"":t.chart.zoomType;this.zoomX=/x/.test(i),this.zoomY=/y/.test(i),this.options=t,this.chart=n,this.init(n,t.tooltip)}function te(n){this.init(n)}function ie(){this.init.apply(this,arguments)}var e,h=document,k=window,d=Math,r=d.round,ht=d.floor,yi=d.ceil,u=d.max,tt=d.min,g=d.abs,ct=d.cos,yt=d.sin,pi=d.PI,ru=pi/180,ei=navigator.userAgent,ue=k.opera,ir=/msie/i.test(ei)&&!ue,hr=h.documentMode===8,uu=/AppleWebKit/.test(ei),fu=/Firefox/.test(ei),fe=/(Mobile|Android|Windows Phone)/.test(ei),oi="http://www.w3.org/2000/svg",bt=!!h.createElementNS&&!!h.createElementNS(oi,"svg").createSVGRect,eo=fu&&parseInt(ei.split("Firefox/")[1],10)<4,lt=!bt&&!ir&&!!h.createElement("canvas").getContext,cr,wi=h.documentElement.ontouchstart!==e,ee={},nf=0,eu,it,ou,lr,tf,l,su=function(){},rr=[],ti="div",ii="absolute",rf="relative",ft="hidden",ri="highcharts-",et="visible",v="px",rt="none",b="M",p="L",uf="rgba(192,192,192,"+(bt?.0001:.002)+")",vt="",kt="hover",si="select",oe="millisecond",ff="second",hu="minute",ar="hour",hi="day",cu="week",vr="month",bi="year",ef="fill",of="linearGradient",sf="stops",hf="stroke",cf="stroke-width",lu,lf,af,vf,yr,au,vu,se,he,yf,ce,le,pt={},dr,st,at,or,ui,fi,nu,wu,de,bu,ge,sr,nt,to,iu,re,ku,io,du,ro,uo,fo,gu;k.Highcharts={},ou=function(t,u,f){if(!i(u)||isNaN(u))return"Invalid date";t=n(t,"%Y-%m-%d %H:%M:%S");var e=new Date(u),s,o=e[af](),l=e[vf](),a=e[yr](),h=e[au](),v=e[vu](),c=it.lang,y=c.weekdays,p={a:y[l].substr(0,3),A:y[l],d:di(a),e:a,b:c.shortMonths[h],B:c.months[h],m:di(h+1),y:v.toString().substr(2,2),Y:v,H:di(o),I:di(o%12||12),l:o%12||12,M:di(e[lf]()),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:di(e.getSeconds()),L:di(r(u%1e3),3)};for(s in p)while(t.indexOf("%"+s)!==-1)t=t.replace("%"+s,p[s]);return f?t.substr(0,1).toUpperCase()+t.substr(1):t},ye.prototype={wrapColor:function(n){this.color>=n&&(this.color=0)},wrapSymbol:function(n){this.symbol>=n&&(this.symbol=0)}},l=ci(oe,1,ff,1e3,hu,6e4,ar,36e5,hi,864e5,cu,6048e5,vr,26784e5,bi,31556952e3),tf={init:function(n,t,i){t=t||"";var c=n.shift,s=t.indexOf("C")>-1,f=s?7:3,l,o,e,r=t.split(" "),u=[].concat(i),h,a,v=function(n){for(e=n.length;e--;)n[e]===b&&n.splice(e+1,0,n[e+1],n[e+2],n[e+1],n[e+2])};if(s&&(v(r),v(u)),n.isArea&&(h=r.splice(r.length-6,6),a=u.splice(u.length-6,6)),c<=u.length/f)while(c--)u=[].concat(u).splice(0,f).concat(u);if(n.shift=0,r.length)for(l=u.length;r.length{point.key}<\/span>
',pointFormat:'{series.name}<\/span>: {point.y}<\/b>
',shadow:!0,shared:lt,snap:fe?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",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:"10px"}}},at=it.plotOptions,or=at.line,ke(),ui=function(n){function r(n){i=/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*\)/.exec(n),i?t=[c(i[1]),c(i[2]),c(i[3]),parseFloat(i[4],10)]:(i=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n),i&&(t=[c(i[1],16),c(i[2],16),c(i[3],16),1]))}function u(i){return t&&!isNaN(t[0])?i==="rgb"?"rgb("+t[0]+","+t[1]+","+t[2]+")":i==="a"?t[3]:"rgba("+t.join(",")+")":n}function f(n){if(ur(n)&&n!==0)for(var i=0;i<3;i++)t[i]+=c(n*255),t[i]<0&&(t[i]=0),t[i]>255&&(t[i]=255);return this}function e(n){return t[3]=n,this}var t=[],i;return r(n),{get:u,brighten:f,setOpacity:e}},tr.prototype={init:function(n,t){var i=this;i.element=t==="span"?ot(t):h.createElementNS(oi,t),i.renderer=n,i.attrSetters={}},animate:function(t,i,r){var u=n(i,lr,!0);pu(this),u?(u=o(u),r&&(u.complete=r),wf(this,t,u)):(this.attr(t),r&&r())},attr:function(n,t){var o=this,r,f,w,a,g,l=o.element,v=l.nodeName.toLowerCase(),b=o.renderer,y,p,nt=o.attrSetters,k=o.shadows,tt,it,d=o;if(li(n)&&i(t)&&(r=n,n={},n[r]=t),li(n))r=n,v==="circle"?r={x:"cx",y:"cy"}[r]||r:r==="strokeWidth"&&(r="stroke-width"),d=s(l,r)||o[r]||0,r!=="d"&&r!=="visibility"&&(d=parseFloat(d));else for(r in n)if(y=!1,f=n[r],w=nt[r]&&nt[r].call(o,f,r),w!==!1){if(w!==e&&(f=w),r==="d")f&&f.join&&(f=f.join(" ")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0");else if(r==="x"&&v==="text"){for(a=0;aut&&/[ \-]/.test(u.textContent||u.innerText)&&(y(u,{width:ut+v,display:"block",whiteSpace:"normal"}),l=ut),nt=k.fontMetrics(u.style.fontSize).b,a=e<0&&-l,p=o<0&&-w,it=e*o<0,a+=o*nt*(it?1-s:s),p-=e*nt*(f?it?s:1-s:1),lt&&(a-=l*s*(e<0?-1:1),f&&(p-=w*s*(o<0?-1:1)),y(u,{textAlign:h})),r.xCorr=a,r.yCorr=p),y(u,{left:st+a+v,top:ht+p+v}),uu&&(w=u.offsetHeight),r.cTT=et}},updateTransform:function(){var n=this,i=n.translateX||0,r=n.translateY||0,u=n.inverted,f=n.rotation,t=[];u&&(i+=n.attr("width"),r+=n.attr("height")),(i||r)&&t.push("translate("+i+","+r+")"),u?t.push("rotate(90) scale(-1,1)"):f&&t.push("rotate("+f+" "+(n.x||0)+" "+(n.y||0)+")"),t.length&&s(n.element,"transform",t.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(t,i,u){var f=this;t?(f.alignOptions=t,f.alignByTranslate=i,u||f.renderer.alignedObjects.push(f)):(t=f.alignOptions,i=f.alignByTranslate),u=n(u,f.renderer);var o=t.align,s=t.verticalAlign,h=(u.x||0)+(t.x||0),c=(u.y||0)+(t.y||0),e={};return(o==="right"||o==="center")&&(h+=(u.width-(t.width||0))/{right:1,center:2}[o]),e[i?"translateX":"x"]=r(h),(s==="bottom"||s==="middle")&&(c+=(u.height-(t.height||0))/({bottom:1,middle:2}[s]||1)),e[i?"translateY":"y"]=r(c),f[f.placed?"animate":"attr"](e),f.placed=!0,f.alignAttr=e,f},getBBox:function(){var t=this,n=t.bBox,o=t.renderer,e,i,s=t.rotation,r=t.element,h=t.styles,u=s*ru;if(!n){if(r.namespaceURI===oi||o.forExport){try{n=r.getBBox?f({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight}}catch(c){}(!n||n.width<0)&&(n={width:0,height:0})}else n=t.htmlGetBBox();o.isSVG&&(e=n.width,i=n.height,ir&&h&&h.fontSize==="11px"&&i===22.700000762939453&&(n.height=i=14),s&&(n.width=g(i*yt(u))+g(e*ct(u)),n.height=g(i*ct(u))+g(e*yt(u)))),t.bBox=n}return n},show:function(){return this.attr({visibility:et})},hide:function(){return this.attr({visibility:ft})},add:function(n){var e=this.renderer,o=n||e,h=o.element||e.box,v=h.childNodes,r=this.element,t=s(r,"zIndex"),u,l,f,y;if(n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==undefined&&e.buildText(this),t&&(o.handleZ=!0,t=c(t)),o.handleZ)for(f=0;ft||!i(t)&&i(l))){h.insertBefore(r,u),y=!0;break}return y||h.appendChild(r),this.added=!0,a(this,"add"),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,i=n.element||{},u=n.shadows,f,r;if(i.onclick=i.onmouseout=i.onmouseover=i.onmousemove=null,pu(n),n.clipPath&&(n.clipPath=n.clipPath.destroy()),n.stops){for(r=0;r/g,'').replace(/<(i|em)>/g,'').replace(//g,"<\/span>").split(//g),v=u.childNodes,p=/style="([^"]+)"/,w=/href="([^"]+)"/,b=s(u,"x"),f=i.styles,e=f&&f.width&&c(f.width),d=f&&f.lineHeight,l,g="getComputedStyle",nt=v.length,a=[];nt--;)u.removeChild(v[nt]);e&&!i.added&&this.box.appendChild(u),o[o.length-1]===""&&o.pop(),t(o,function(n,r){var o,a=0,f;n=n.replace(//g,"<\/span>|||"),o=n.split("|||"),t(o,function(n){var it,t,rt,v,ft,ut,nt;if((n!==""||o.length===1)&&(it={},t=h.createElementNS(oi,"tspan"),p.test(n)&&(rt=n.match(p)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),s(t,"style",rt)),w.test(n)&&(s(t,"onclick",'location.href="'+n.match(w)[1]+'"'),y(t,{cursor:"pointer"})),n=(n.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">"),t.appendChild(h.createTextNode(n)),a?it.dx=3:it.x=b,a||(r&&(!bt&&i.renderer.forExport&&y(t,{display:"block"}),f=k[g]&&c(k[g](l,null).getPropertyValue("line-height")),(!f||isNaN(f))&&(f=d||l.offsetHeight||tt(r)||18),s(t,"dy",f)),l=t),s(t,it),u.appendChild(t),a++,e))for(v=n.replace(/([^\^])-/g,"$1- ").split(" "),nt=[];v.length||nt.length;)delete i.bBox,ut=i.getBBox().width,ft=ut>e,ft&&v.length!==1?(t.removeChild(t.firstChild),nt.unshift(v.pop())):(v=nt,nt=[],v.length&&(t=h.createElementNS(oi,"tspan"),s(t,{dy:d||16,x:b}),rt&&s(t,"style",rt),u.appendChild(t),ut>e&&(e=ut))),v.length&&t.appendChild(h.createTextNode(v.join(" ").replace(/- /g,"-")))})})},button:function(n,t,i,r,u,e,s){var h=this.label(n,t,i),a=0,b,k,l,v,y,c="style",p={x1:0,y1:0,x2:0,y2:1};return u=o(ci(cf,1,hf,"#999",ef,ci(of,p,sf,[[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,c,ci("color","black")),u),l=u[c],delete u[c],e=o(u,ci(hf,"#68A",ef,ci(of,p,sf,[[0,"#FFF"],[1,"#ACF"]])),e),v=e[c],delete e[c],s=o(u,ci(hf,"#68A",ef,ci(of,p,sf,[[0,"#9BD"],[1,"#CDF"]])),s),y=s[c],delete s[c],w(h.element,"mouseenter",function(){h.attr(e).css(v)}),w(h.element,"mouseleave",function(){b=[u,e,s][a],k=[l,v,y][a],h.attr(b).css(k)}),h.setState=function(n){a=n,n?n===2&&h.attr(s).css(y):h.attr(u).css(l)},h.on("click",function(){r.call(h)}).attr(u).css(f({cursor:"default"},l))},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=r(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=r(n[2])+t%2/2),n},path:function(n){var t={fill:rt};return pr(n)?t.d=n:wt(n)&&f(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){var r=wt(n)?n:{x:n,y:t,r:i};return this.createElement("circle").attr(r)},arc:function(n,t,i,r,u,f){return wt(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0})},rect:function(n,t,i,r,f,e){f=wt(n)?n.r:f;var o=this.createElement("rect").attr({rx:f,ry:f,fill:rt});return o.attr(wt(n)?n:o.crisp(e,n,t,u(i,0),u(r,0)))},setSize:function(t,i,r){var u=this,f=u.alignedObjects,e=f.length;for(u.width=t,u.height=i,u.boxWrapper[n(r,!0)?"animate":"attr"]({width:t,height:i});e--;)f[e].align()},g:function(n){var t=this.createElement("g");return i(n)?t.attr({"class":ri+n}):t},image:function(n,t,i,r,u){var o={preserveAspectRatio:rt},e;return arguments.length>1&&f(o,{x:t,y:i,width:r,height:u}),e=this.createElement("image").attr(o),e.element.setAttributeNS?e.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):e.element.setAttribute("hc-svg-href",n),e},symbol:function(n,t,i,u,e,o){var s,a=this.symbols[n],v=a&&a(r(t),r(i),u,e,o),p,y=/^url\((.*?)\)$/,h,c,l;return v?(s=this.path(v),f(s,{symbolName:n,x:t,y:i,width:u,height:e}),o&&f(s,o)):y.test(n)&&(l=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(r((u-t[0])/2),r((e-t[1])/2)))},h=n.match(y)[1],c=ee[h],s=this.image(h).attr({x:t,y:i}),c?l(s,c):(s.attr({width:0,height:0}),p=ot("img",{onload:function(){l(s,ee[h]=[this.width,this.height])},src:h}))),s},symbols:{circle:function(n,t,i,r){var u=.166*i;return[b,n+i/2,t,"C",n+i+u,t,n+i+u,t+r,n+i/2,t+r,"C",n-u,t+r,n-u,t,n+i/2,t,"Z"]},square:function(n,t,i,r){return[b,n,t,p,n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return[b,n+i/2,t,p,n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return[b,n,t,p,n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return[b,n+i/2,t,p,n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var o=u.start,f=u.r||i||r,s=u.end-1e-6,e=u.innerR,h=u.open,c=ct(o),l=yt(o),a=ct(s),v=yt(s),y=u.end-o'),t&&(i=t===ti||t==="span"||t==="img"?i.join(""):n.prepVML(i),r.element=ot(i)),r.renderer=n,r.attrSetters={}},add:function(n){var t=this,i=t.renderer,r=t.element,f=i.box,e=n&&n.inverted,u=n?n.element||n:f;return e&&i.invertChild(r,u),u.appendChild(r),t.added=!0,t.alignOnAdd&&!t.deferUpdateTransform&&t.updateTransform(),a(t,"add"),t},updateTransform:tr.prototype.htmlUpdateTransform,attr:function(n,t){var h=this,f,o,c,w,l=h.element||{},p=l.style,b=l.nodeName,k=h.renderer,ut=h.symbolName,g,y=h.shadows,a,nt=h.attrSetters,tt=h,d,it;if(li(n)&&i(t)&&(f=n,n={},n[f]=t),li(n))f=n,tt=f==="strokeWidth"||f==="stroke-width"?h.strokeweight:h[f];else for(f in n)if(o=n[f],a=!1,w=nt[f]&&nt[f].call(h,o,f),w!==!1&&o!==null){if(w!==e&&(o=w),ut&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(f))g||(h.symbolAttr(n),g=!0),a=!0;else if(f==="d"){for(o=o||[],h.d=o.join(" "),c=o.length,d=[];c--;)d[c]=ur(o[c])?r(o[c]*10)-5:o[c]==="Z"?"x":o[c];if(o=d.join(" ")||"x",l.path=o,y)for(c=y.length;c--;)y[c].path=y[c].cutOff?this.cutOffPath(o,y[c].cutOff):o;a=!0}else if(f==="visibility"){if(y)for(c=y.length;c--;)y[c].style[f]=o;b==="DIV"&&(o=o===ft?"-999em":0,f="top"),p[f]=o,a=!0}else f==="zIndex"?(o&&(p[f]=o),a=!0):f==="width"||f==="height"?(o=u(0,o),this[f]=o,h.updateClipping?(h[f]=o,h.updateClipping()):p[f]=o,a=!0):f==="x"||f==="y"?(h[f]=o,p[{x:"left",y:"top"}[f]]=o):f==="class"?l.className=o:f==="stroke"?(o=k.color(o,l,f),f="strokecolor"):f==="stroke-width"||f==="strokeWidth"?(l.stroked=o?!0:!1,f="strokeweight",h[f]=o,ur(o)&&(o+=v)):f==="dashstyle"?(it=l.getElementsByTagName("stroke")[0]||ot(k.prepVML([""]),null,null,l),it[f]=o||"solid",h.dashstyle=o,a=!0):f==="fill"?b==="SPAN"?p.color=o:b!=="IMG"&&(l.filled=o!==rt?!0:!1,o=k.color(o,l,f,h),f="fillcolor"):b==="shape"&&f==="rotation"?(h[f]=o,l.style.left=-r(yt(o*ru)+1)+v,l.style.top=r(ct(o*ru))+v):f==="translateX"||f==="translateY"||f==="rotation"?(h[f]=o,h.updateTransform(),a=!0):f==="text"&&(this.bBox=null,l.innerHTML=o,a=!0);a||(hr?l[f]=o:s(l,f,o))}return tt},clip:function(n){var t=this,i,u=t.element,f=u.parentNode,r;return n?(i=n.members,ki(i,t),i.push(t),t.destroyClip=function(){ki(i,t)},f&&f.className==="highcharts-tracker"&&!hr&&y(u,{visibility:ft}),r=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),r={clip:hr?"inherit":"rect(auto)"}),t.css(r)},css:tr.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&br(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),tr.prototype.destroy.apply(this)},empty:function(){for(var r=this.element,t=r.childNodes,i=t.length,n;i--;)n=t[i],n.parentNode.removeChild(n)},on:function(n,t){return this.element["on"+n]=function(){var n=k.event;n.target=n.srcElement,t(n)},this},cutOffPath:function(n,t){var i;return n=n.split(/[ ,]/),i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=c(n[i-2])-10*t),n.join(" ")},shadow:function(t,i,r){var v=[],f,e=this.element,y=this.renderer,u,p=e.style,s,o=e.path,h,l,a,w;if(o&&typeof o.value!="string"&&(o="x"),l=o,t){for(a=n(t.width,3),w=(t.opacity||.15)/a,f=1;f<=3;f++)h=a*2+1-2*f,r&&(l=this.cutOffPath(o.value,h+.5)),s=[''],u=ot(y.prepVML(s),null,{left:c(p.left)+n(t.offsetX,1),top:c(p.top)+n(t.offsetY,1)}),r&&(u.cutOff=h+1),s=[''],ot(y.prepVML(s),null,null,u),i?i.element.appendChild(u):e.parentNode.insertBefore(u,e),v.push(u);this.shadows=v}return this}},wu=gt(tr,wu),de={Element:wu,isIE8:ei.indexOf("MSIE 8.0")>-1,init:function(n,t,i){var r=this,u,f;r.alignedObjects=[],u=r.createElement(ti),f=u.element,f.style.position=rf,n.appendChild(u.element),r.box=f,r.boxWrapper=u,r.setSize(t,i,!1),h.namespaces.hcv||(h.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),h.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } ")},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,i,u,e){var s=this.createElement(),o=wt(n);return f(s,{members:[],left:o?n.x:n,top:o?n.y:i,width:o?n.width:u,height:o?n.height:e,getCSS:function(n){var t=n.inverted,i=this,u=i.top,e=i.left,o=e+i.width,s=u+i.height,h={clip:"rect("+r(t?e:u)+"px,"+r(t?s:o)+"px,"+r(t?o:s)+"px,"+r(t?u:e)+"px)"};return!t&&hr&&n.element.nodeName!=="IMG"&&f(h,{width:o+v,height:s+v}),h},updateClipping:function(){t(s.members,function(n){n.css(s.getCSS(n))})}})},color:function(n,i,r,u){var gt=this,o,nt=/^rgba/,v,c,l=rt,g;if(n&&n.linearGradient?c="gradient":n&&n.radialGradient&&(c="pattern"),c){var s,y,f=n.linearGradient||n.radialGradient,tt,ut,ft,et,st,ht,ct,lt,p="",h=n.stops,b,k,at=[],vt=function(){v=[''],ot(gt.prepVML(v),null,null,i)};if(b=h[0],k=h[h.length-1],b[0]>0&&h.unshift([0,b[1]]),k[0]<1&&h.push([1,k[1]]),t(h,function(n,t){nt.test(n[1])?(o=ui(n[1]),s=o.get("rgb"),y=o.get("a")):(s=n[1],y=1),at.push(n[0]*100+"% "+s),t?(ht=y,ct=s):(st=y,lt=s)}),r==="fill")if(c==="gradient")tt=f.x1||f[0]||0,ut=f.y1||f[1]||0,ft=f.x2||f[2]||0,et=f.y2||f[3]||0,p='angle="'+(90-d.atan((et-ut)/(ft-tt))*180/pi)+'"',vt();else{var yt=f.r,pt=yt*2,wt=yt*2,bt=f.cx,kt=f.cy,a=i.radialReference,e,dt=function(){a&&(e=u.getBBox(),bt+=(a[0]-e.x)/e.width-.5,kt+=(a[1]-e.y)/e.height-.5,pt*=a[2]/e.width,wt*=a[2]/e.height),p='src="'+it.global.VMLRadialGradientURL+'" size="'+pt+","+wt+'" origin="0.5,0.5" position="'+bt+","+kt+'" color2="'+lt+'" ',vt()};u.added?dt():w(u,"add",dt),l=ct}else l=s}else nt.test(n)&&i.tagName!=="IMG"?(o=ui(n),v=["<",r,' opacity="',o.get("a"),'"/>'],ot(this.prepVML(v),null,null,i),l=o.get("rgb")):(g=i.getElementsByTagName(r),g.length&&(g[0].opacity=1),l=n);return l},prepVML:function(n){var t="display:inline-block;behavior:url(#default#VML);",i=this.isIE8;return n=n.join(""),i?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="'+t+'" />'):n.replace('style="','style="'+t)):n=n.replace("<","1&&f.attr({x:t,y:i,width:r,height:u}),f},rect:function(n,t,i,r,f,e){wt(n)&&(t=n.y,i=n.width,r=n.height,e=n.strokeWidth,n=n.x);var o=this.symbol("rect");return o.r=f,o.attr(o.crisp(e,n,t,u(i,0),u(r,0)))},invertChild:function(n,t){var i=t.style;y(n,{flip:"x",left:c(i.width)-1,top:c(i.height)-1,rotation:-90})},symbols:{arc:function(n,t,i,r,u){var o=u.start,s=u.end,e=u.r||i||r,l=ct(o),a=yt(o),h=ct(s),v=yt(s),f=u.innerR,y=.08/e,p=f&&.1/f||0,c;return s-o==0?["x"]:(2*pi-s+oy&&(e=!1)):i+s>v&&(i=v-s,r&&i+o0&&f.height>0?(e=o({align:p&&c&&"center",x:p?!c&&4:10,verticalAlign:!p&&c&&"middle",y:p?c?16:10:c?6:-4,rotation:p&&!c&&90},e),a||(s.label=a=ht.text(e.text,0,0).attr({align:e.textAlign||e.align,rotation:e.rotation,zIndex:it}).css(e.style).add()),k=[t[1],t[4],n(t[6],t[1])],d=[t[2],t[5],n(t[7],t[2])],g=fr(k),nt=fr(d),a.align(e,!1,{x:g,y:nt,width:gi(k)-g,height:gi(d)-nt}),a.show()):a&&a.hide(),s},destroy:function(){var n=this,t=n.axis;ki(t.plotLinesAndBands,n),er(n,this.axis)}},no.prototype={destroy:function(){er(this,this.axis)},setTotal:function(n){this.total=n,this.cum=n},render:function(n){var t=this.options.formatter.call(this);this.label?this.label.attr({text:t,visibility:ft}):this.label=this.axis.chart.renderer.text(t,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:ft}).add(n)},setOffset:function(n,t){var a=this,o=a.axis,r=o.chart,u=r.inverted,c=this.isNegative,i=o.translate(this.percent?100:this.total,0,0,0,1),v=o.translate(0),f=g(i-v),l=r.xAxis[0].translate(this.x)+n,s=r.plotHeight,y={x:u?c?i:i-f:l,y:u?s-l-t:c?s-i-f:s-i,width:u?f:t,height:u?t:f},e=this.label,h;e&&(e.align(this.alignOptions,null,y),h=e.alignAttr,e.attr({visibility:this.options.crop===!1||r.isInsidePlot(h.x,h.y)?bt?"inherit":et:ft}))}},df.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:"#C0C0C0",labels:bf,lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:bf.style}},defaultLeftAxisOptions:{labels:{align:"right",x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{align:"left",x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{align:"center",x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{align:"center",x:0,y:-5},title:{rotation:0}},init:function(n,t){var f=t.isX,r=this,o,s;r.horiz=n.inverted?!f:f,r.isXAxis=f,r.xOrY=f?"x":"y",r.opposite=t.opposite,r.side=r.horiz?r.opposite?0:2:r.opposite?1:3,r.setOptions(t);var u=this.options,h=u.type,c=h==="datetime";r.labelFormatter=u.labels.formatter||r.defaultLabelFormatter,r.staggerLines=r.horiz&&u.labels.staggerLines,r.userOptions=t,r.minPixelPadding=0,r.chart=n,r.reversed=u.reversed,r.categories=u.categories,r.isLog=h==="logarithmic",r.isLinked=i(u.linkedTo),r.isDatetimeAxis=c,r.tickmarkOffset=u.categories&&u.tickmarkPlacement==="between"?.5:0,r.ticks={},r.minorTicks={},r.plotLinesAndBands=[],r.alternateBands={},r.len=0,r.minRange=r.userMinRange=u.minRange||u.maxZoom,r.range=u.range,r.offset=u.offset||0,r.stacks={},r.max=null,r.min=null,s=r.options.events,n.axes.push(r),n[f?"xAxis":"yAxis"].push(r),r.series=[],n.inverted&&f&&r.reversed===e&&(r.reversed=!0),r.removePlotBand=r.removePlotBandOrLine,r.removePlotLine=r.removePlotBandOrLine,r.addPlotBand=r.addPlotBandOrLine,r.addPlotLine=r.addPlotBandOrLine;for(o in s)w(r,o,s[o]);r.isLog&&(r.val2lin=ai,r.lin2val=dt)},setOptions:function(n){this.options=o(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],o(it[this.isXAxis?"xAxis":"yAxis"],n))},defaultLabelFormatter:function(){var u=this.axis,n=this.value,h=u.categories,o=this.dateTimeLabelFormat,r=it.lang.numericSymbols,i=r&&r.length,f,t,s=u.isLog?n:u.tickInterval;if(h)t=n;else if(o)t=ou(o,n);else if(i&&s>=1e3)while(i--&&t===e)f=Math.pow(1e3,i+1),s>=f&&r[i]!==null&&(t=wr(n/f,-1)+r[i]);return t===e&&(t=n>=1e3?wr(n,0):wr(n,-1)),t},getSeriesExtremes:function(){var r=this,c=r.chart,o=r.stacks,s=[],h=[],f;r.hasVisibleSeries=!1,r.dataMin=r.dataMax=null,t(r.series,function(t){if(t.visible||!c.options.chart.ignoreHiddenSeries){var nt=t.options,d,ut,ft,b,et,it,v,ot,a,l,y=nt.threshold,st,p=[],ht=0;if(r.hasVisibleSeries=!0,r.isLog&&y<=0&&(y=nt.threshold=null),r.isXAxis)v=t.xData,v.length&&(r.dataMin=tt(n(r.dataMin,v[0]),fr(v)),r.dataMax=u(n(r.dataMax,v[0]),gi(v)));else{var rt,w,k,lt=t.cropped,ct=t.xAxis.getExtremes(),g,at=!!t.modifyValue;for(d=nt.stacking,r.usePercentage=d==="percent",d&&(et=nt.stack,b=t.type+n(et,""),it="-"+b,t.stackKey=b,ut=s[b]||[],s[b]=ut,ft=h[it]||[],h[it]=ft),r.usePercentage&&(r.dataMin=0,r.dataMax=99),v=t.processedXData,ot=t.processedYData,st=ot.length,f=0;f=ct.min&&(v[f-1]||a)<=ct.max))if(g=l.length,g)while(g--)l[g]!==null&&(p[ht++]=l[g]);else p[ht++]=l;!r.usePercentage&&p.length&&(r.dataMin=tt(n(r.dataMin,p[0]),fr(p)),r.dataMax=u(n(r.dataMax,p[0]),gi(p))),i(y)&&(r.dataMin>=y?(r.dataMin=y,r.ignoreMinPadding=!0):r.dataMaxh+u.width)&&(s=!0)):(e=h,l=k-u.right,(oc+u.height)&&(s=!0)),s?null:f.renderer.crispLine([b,e,o,p,l,a],t||0)},getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t),r=this.getPlotLinePath(n);return r&&i?r.push(i[4],i[5],i[1],i[2]):r=null,r},getLinearTickPositions:function(n,t,i){for(var u,e=ni(ht(t/n)*n),o=ni(yi(i/n)*n),f=[],r=e;r<=o;){if(f.push(r),r=ni(r+n),r===u)break;u=r}return f},getLogTickPositions:function(t,i,u,f){var e=this,y=e.options,p=e.len,o=[],w,c,s,h,b,l,a,v;if(f||(e._minorAutoInterval=null),t>=.5)t=r(t),o=e.getLinearTickPositions(t,i,u);else if(t>=.08)for(w=ht(i),c=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],s=w;si&&o.push(a),a>u&&(v=!0),a=l;else{var k=dt(i),g=dt(u),nt=y[f?"minorTickInterval":"tickInterval"],tt=nt==="auto"?null:nt,it=y.tickPixelInterval/(f?5:1),rt=f?p/e.tickPositions.length:p;t=n(tt,e._minorAutoInterval,(g-k)*it/(rt||1)),t=pf(t,null,d.pow(10,ht(d.log(t)/d.LN10))),o=gr(e.getLinearTickPositions(t,k,g),ai),f||(e._minorAutoInterval=t/5)}return f||(e.tickInterval=t),o},getMinorTickPositions:function(){var n=this,e=n.options,r=n.tickPositions,u=n.minorTickInterval,t=[],f,i,o;if(n.isLog)for(o=r.length,i=1;i=r.minRange,l,c,y,a,b,s,p,o;r.isXAxis&&r.minRange===e&&!r.isLog&&(i(h.min)||i(h.max)?r.minRange=null:(t(r.series,function(n){for(a=n.xData,b=n.xIncrement?1:a.length-1,c=b;c>0;c--)y=a[c]-a[c-1],(l===e||y0||!f.ignoreMaxPadding)&&(f.max+=c*k))),f.tickInterval=f.min===f.max||f.min===undefined||f.max===undefined?1:h&&!l&&it===f.linkedParent.options.tickPixelInterval?f.linkedParent.tickInterval:n(l,rt?1:(f.max-f.min)*it/(f.len||1)),p&&!r&&t(f.series,function(n){n.processData(f.min!==f.oldMin||f.max!==f.oldMax)}),f.setAxisTranslation(r),f.beforeSetTickPositions&&f.beforeSetTickPositions(),f.postProcessTickInterval&&(f.tickInterval=f.postProcessTickInterval(f.tickInterval)),!l&&f.tickIntervalut&&o.shift(),e.endOnTick?f.max=ft:f.max+etn[r]&&this.options.alignTicks!==!1&&(n[r]=i.length),t.maxTicks=n},adjustTickAmount:function(){var n=this,s=n.chart,o=n.xOrY,t=n.tickPositions,u=s.maxTicks,f,e,r;if(u&&u[o]&&!n.isDatetimeAxis&&!n.categories&&!n.isLinked&&n.options.alignTicks!==!1){if(f=n.tickAmount,e=t.length,n.tickAmount=r=u[o],en||n===null?n=r:u=n.min&&t<=n.max)&&(u[t]||(u[t]=new tu(n,t)),rt&&u[t].isNew&&u[t].render(i,!0),u[t].isActive=!0,u[t].render(i))}),tt&&t(r,function(t,i){i%2==0&&t1||g(t-u.y)>1)&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(n,t,i,r)},32))},hide:function(){if(!this.isHidden){var n=this.chart.hoverPoints;this.label.hide(),n&&t(n,function(n){n.setState()}),this.chart.hoverPoints=null,this.isHidden=!0}},hideCrosshairs:function(){t(this.crosshairs,function(n){n&&n.hide()})},getAnchor:function(n,i){var f,u=this.chart,e=u.inverted,o=0,s=0,h;return n=vi(n),f=n[0].tooltipPos,f||(t(n,function(n){h=n.series.yAxis,o+=n.plotX,s+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!e&&h?h.top-u.plotTop:0)}),o/=n.length,s/=n.length,f=[e?u.plotWidth-s:o,this.shared&&!e&&n.length>1&&i?i.chartY-u.plotTop:e?u.plotHeight-o:s]),gr(f,r)},getPosition:function(t,i,r){var h=this.chart,l=h.plotLeft,e=h.plotTop,a=h.plotWidth,v=h.plotHeight,o=n(this.options.distance,12),y=r.plotX,c=r.plotY,s=y+l+(h.inverted?o:-t-o),f=c-i+e+15,p;return s<7&&(s=l+u(y,0)+o),s+t>l+a&&(s-=s+t-(l+a),f=c-i+e-o,p=!0),f=f&&c<=f+i&&(f=c+e+o)),f+i>e+v&&(f=u(e,e+v-i-o)),{x:s,y:f}},refresh:function(i,u){function ot(){var u=this,r=u.points||vi(u),n=r[0].series,i;return i=[n.tooltipHeaderFormatter(r[0].key)],t(r,function(t){n=t.series,i.push(n.tooltipFormatter&&n.tooltipFormatter(t)||t.point.tooltipFormatter(n.tooltipOptions.pointFormat))}),i.push(c.footerFormat||""),i.join("")}var f=this,s=f.chart,h=f.label,c=f.options,l,v,it,b,y={},p,rt=[],st=c.formatter||ot,ut=s.hoverPoints,k,d,o=c.crosshairs,ft=f.shared,w,g,e,nt,tt;if(b=f.getAnchor(i,u),l=b[0],v=b[1],!ft||i.series&&i.series.noSharedTooltip?y=i.getLabelConfig():(s.hoverPoints=i,ut&&t(ut,function(n){n.setState()}),t(i,function(n){n.setState(kt),rt.push(n.getLabelConfig())}),y={x:i[0].category,y:i[0].y},y.points=rt,i=i[0]),p=st.call(y),w=i.series,it=ft||!w.isCartesian||w.tooltipOutsidePlot||s.isInsidePlot(l,v),p!==!1&&it?(f.isHidden&&h.show(),h.attr({text:p}),d=c.borderColor||i.color||w.color||"#606060",h.attr({stroke:d}),k=(c.positioner||f.getPosition).call(f,h.width,h.height,{plotX:l,plotY:v}),f.move(r(k.x),r(k.y),l+s.plotLeft,v+s.plotTop),f.isHidden=!1):this.hide(),o)for(o=vi(o),e=o.length;e--;)tt=i.series[e?"yAxis":"xAxis"],o[e]&&tt&&(g=tt.getPlotLinePath(e?n(i.stackY,i.y):i.x,1),f.crosshairs[e]?f.crosshairs[e].attr({d:g,visibility:et}):(nt={"stroke-width":o[e].width||1,stroke:o[e].color||"#C0C0C0",zIndex:o[e].zIndex||2},o[e].dashStyle&&(nt.dashstyle=o[e].dashStyle),f.crosshairs[e]=s.renderer.path(g).attr(nt).add()));a(s,"tooltipRefresh",{text:p,x:l+s.plotLeft,y:v+s.plotTop,borderColor:d})}},ne.prototype={normalizeMouseEvent:function(n){var i,u,o,t;return n=n||k.event,n.target||(n.target=n.srcElement),n=be(n),t=n.touches?n.touches.item(0):n,this.chartPosition=i=lo(this.chart.container),t.pageX===e?(u=n.x,o=n.y):(u=t.pageX-i.left,o=t.pageY-i.top),f(n,{chartX:r(u),chartY:r(o)})},getMouseCoordinates:function(n){var r={xAxis:[],yAxis:[]},i=this.chart;return t(i.axes,function(t){var u=t.isXAxis,f=i.inverted?!u:u;r[u?"xAxis":"yAxis"].push({axis:t,value:t.translate((f?n.chartX-i.plotLeft:t.top+t.len-n.chartY)-t.minPixelPadding,!0)})}),r},getIndex:function(n){var t=this.chart;return t.inverted?t.plotHeight+t.plotTop-n.chartY:n.chartX-t.plotLeft},onmousemove:function(n){var e=this,o=e.chart,u=o.series,l=o.tooltip,i,r,a=o.hoverPoint,s=o.hoverSeries,f,t,h=o.chartWidth,c=e.getIndex(n);if(l&&e.options.tooltip.shared&&!(s&&s.noSharedTooltip)){for(r=[],f=u.length,t=0;th&&r.splice(f,1);r.length&&r[0].plotX!==e.hoverX&&(l.refresh(r,n),e.hoverX=r[0].plotX)}s&&s.tracker&&(i=s.tooltipPoints[c],i&&i!==a&&i.onMouseOver())},resetTracker:function(n){var f=this,i=f.chart,o=i.hoverSeries,r=i.hoverPoint,t=i.tooltip,u=t&&t.shared?i.hoverPoints:r;n=n&&t&&u,n&&vi(u)[0].plotX===e&&(n=!1),n?t.refresh(u):(r&&r.onMouseOut(),o&&o.onMouseOut(),t&&(t.hide(),t.hideCrosshairs()),f.hoverX=null)},setDOMEvents:function(){function o(){if(i.selectionMarker){var s={xAxis:[],yAxis:[]},f=i.selectionMarker.getBBox(),c=f.x-n.plotLeft,l=f.y-n.plotTop,v;e&&(t(n.axes,function(t){if(t.options.zoomEnabled!==!1){var i=t.isXAxis,o=n.inverted?!i:i,r=t.translate(o?c:n.plotHeight-l-f.height,!0,0,0,1),e=t.translate((o?c+f.width:n.plotHeight-l)-2*t.minPixelPadding,!0,0,0,1);isNaN(r)||isNaN(e)||(s[i?"xAxis":"yAxis"].push({axis:t,min:tt(r,e),max:u(r,e)}),v=!0)}}),v&&a(n,"selection",s,function(t){n.zoom(t)})),i.selectionMarker=i.selectionMarker.destroy()}n&&(y(r,{cursor:"auto"}),n.cancelClick=e,n.mouseIsDown=e=!1),ut(h,"mouseup",o),wi&&ut(h,"touchend",o)}var p=!0,i=this,n=i.chart,r=n.container,e,l=i.zoomX&&!n.inverted||i.zoomY&&n.inverted,v=i.zoomY&&!n.inverted||i.zoomX&&n.inverted,c;i.hideTooltipOnMouseMove=function(t){t=be(t),i.chartPosition&&n.hoverSeries&&n.hoverSeries.isCartesian&&!n.isInsidePlot(t.pageX-i.chartPosition.left-n.plotLeft,t.pageY-i.chartPosition.top-n.plotTop)&&i.resetTracker()},i.hideTooltipOnMouseLeave=function(){i.resetTracker(),i.chartPosition=null},r.onmousedown=function(t){t=i.normalizeMouseEvent(t),t.type.indexOf("touch")===-1&&t.preventDefault&&t.preventDefault(),n.mouseIsDown=!0,n.cancelClick=!1,n.mouseDownX=i.mouseDownX=t.chartX,i.mouseDownY=t.chartY,w(h,"mouseup",o),wi&&w(h,"touchend",o)},c=function(t){var a,o,h;if(!t||!t.touches||!(t.touches.length>1)){t=i.normalizeMouseEvent(t);var c=t.type,r=t.chartX,u=t.chartY,f=!n.isInsidePlot(r-n.plotLeft,u-n.plotTop);if(c.indexOf("touch")===-1&&(t.returnValue=!1),c==="touchstart"&&(s(t.target,"isTracker")?n.runTrackerClick||t.preventDefault():n.runChartClick||f||t.preventDefault()),f&&(rn.plotLeft+n.plotWidth&&(r=n.plotLeft+n.plotWidth),un.plotTop+n.plotHeight&&(u=n.plotTop+n.plotHeight)),n.mouseIsDown&&c!=="touchstart"&&(e=Math.sqrt(Math.pow(i.mouseDownX-r,2)+Math.pow(i.mouseDownY-u,2)),e>10&&(a=n.isInsidePlot(i.mouseDownX-n.plotLeft,i.mouseDownY-n.plotTop),n.hasCartesianSeries&&(i.zoomX||i.zoomY)&&a&&(i.selectionMarker||(i.selectionMarker=n.renderer.rect(n.plotLeft,n.plotTop,l?1:n.plotWidth,v?1:n.plotHeight,0).attr({fill:i.options.chart.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add())),i.selectionMarker&&l&&(o=r-i.mouseDownX,i.selectionMarker.attr({width:g(o),x:(o>0?0:o)+i.mouseDownX})),i.selectionMarker&&v&&(h=u-i.mouseDownY,i.selectionMarker.attr({height:g(h),y:(h>0?0:h)+i.mouseDownY})),a&&!i.selectionMarker&&i.options.chart.panning&&n.pan(r))),!f)i.onmousemove(t);return p=f,f||!n.hasCartesianSeries}},/Android 4\.0/.test(ei)||(r.onmousemove=c),w(r,"mouseleave",i.hideTooltipOnMouseLeave),wi||w(h,"mousemove",i.hideTooltipOnMouseMove),r.ontouchstart=function(n){if(i.zoomX||i.zoomY)r.onmousedown(n);c(n)},r.ontouchmove=c,r.ontouchend=function(){e&&i.resetTracker()},r.onclick=function(t){var r=n.hoverPoint,u,e;t=i.normalizeMouseEvent(t),t.cancelBubble=!0,n.cancelClick||(r&&(s(t.target,"isTracker")||s(t.target.parentNode,"isTracker"))?(u=r.plotX,e=r.plotY,f(r,{pageX:i.chartPosition.left+n.plotLeft+(n.inverted?n.plotWidth-e:u),pageY:i.chartPosition.top+n.plotTop+(n.inverted?n.plotHeight-u:e)}),a(r.series,"click",f(t,{point:r})),r.firePointEvent("click",t)):(f(t,i.getMouseCoordinates(t)),n.isInsidePlot(t.chartX-n.plotLeft,t.chartY-n.plotTop)&&a(n,"click",t)))}},destroy:function(){var i=this,t=i.chart,n=t.container;t.trackerGroup&&(t.trackerGroup=t.trackerGroup.destroy()),ut(n,"mouseleave",i.hideTooltipOnMouseLeave),ut(h,"mousemove",i.hideTooltipOnMouseMove),n.onclick=n.onmousedown=n.onmousemove=n.ontouchstart=n.ontouchend=n.ontouchmove=null,clearInterval(this.tooltipTimeout)},init:function(n,t){n.trackerGroup||(n.trackerGroup=n.renderer.g("tracker").attr({zIndex:9}).add()),t.enabled&&(n.tooltip=new gf(n,t)),this.setDOMEvents()}},te.prototype={init:function(t){var i=this,r=i.options=t.options.legend;if(r.enabled){var u=r.itemStyle,f=n(r.padding,8),e=r.itemMarginTop||0;i.baseline=c(u.fontSize)+3+e,i.itemStyle=u,i.itemHiddenStyle=o(u,r.itemHiddenStyle),i.itemMarginTop=e,i.padding=f,i.initialItemX=f,i.initialItemY=f-5,i.maxItemWidth=0,i.chart=t,i.itemHeight=0,i.lastLineHeight=0,i.render(),w(i.chart,"endResize",function(){i.positionCheckboxes()})}},colorizeItem:function(n,t){var o=this,v=o.options,s=n.legendItem,h=n.legendLine,c=n.legendSymbol,l=o.itemHiddenStyle.color,y=t?v.itemStyle.color:l,r=t?n.color:l,i=n.options&&n.options.marker,a={stroke:r,fill:r},u,f;if(s&&s.css({fill:y}),h&&h.attr({stroke:r}),c){if(i){i=n.convertAttribs(i);for(u in i)f=i[u],f!==e&&(a[u]=f)}c.attr(a)}},positionItem:function(n){var r=this,u=r.options,o=u.symbolPadding,s=!u.rtl,f=n._legendItemPos,t=f[0],e=f[1],i=n.checkbox;n.legendGroup&&n.legendGroup.translate(s?t:r.legendWidth-t-2*o-4,e),i&&(i.x=t,i.y=e)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&n[t].destroy()}),i&&br(n.checkbox)},destroy:function(){var n=this,t=n.group,i=n.box;i&&(n.box=i.destroy()),t&&(n.group=t.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,i,u=this.clipHeight||this.legendHeight;r&&(i=r.translateY,t(this.allItems,function(t){var f=t.checkbox,e;f&&(e=i+f.y+(n||0)+3,y(f,{left:r.translateX+t.legendItemWidth+f.x-20+v,top:e+v,display:e>i-6&&e(it||h.chartWidth-2*nt-s)&&(t.itemX=s,t.itemY+=y+t.lastLineHeight+v,t.lastLineHeight=0),t.maxItemWidth=u(t.maxItemWidth,f),t.lastItemY=y+t.itemY+v,t.lastLineHeight=u(e,t.lastLineHeight),n._legendItemPos=[t.itemX,t.itemY],c?t.itemX+=f:(t.itemY+=y+e+v,t.lastLineHeight=e),t.offsetWidth=it||u(c?t.itemX-s:f,t.offsetWidth)},render:function(){var n=this,s=n.chart,h=s.renderer,c=n.group,i,l,o,r,u=n.box,e=n.options,v=n.padding,a=e.borderWidth,y=e.backgroundColor;n.itemX=n.initialItemX,n.itemY=n.initialItemY,n.offsetWidth=0,n.lastItemY=0,c||(n.group=c=h.g("legend").attr({zIndex:7}).add(),n.contentGroup=h.g().attr({zIndex:1}).add(c),n.scrollGroup=h.g().add(n.contentGroup),n.clipRect=h.clipRect(0,0,9999,s.chartHeight),n.contentGroup.clip(n.clipRect)),i=[],t(s.series,function(n){var t=n.options;t.showInLegend&&(i=i.concat(n.legendItems||(t.legendType==="point"?n.data:n)))}),pe(i,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)}),e.reversed&&i.reverse(),n.allItems=i,n.display=l=!!i.length,t(i,function(t){n.renderItem(t)}),o=e.width||n.offsetWidth,r=n.lastItemY+n.lastLineHeight,r=n.handleOverflow(r),(a||y)&&(o+=v,r+=v,u?o>0&&r>0&&(u[u.isNew?"attr":"animate"](u.crisp(null,null,null,o,r)),u.isNew=!1):(n.box=u=h.rect(0,0,o,r,e.borderRadius,a||0).attr({stroke:e.borderColor,"stroke-width":a||0,fill:y||rt}).add(c).shadow(e.shadow),u.isNew=!0),u[l?"show":"hide"]()),n.legendWidth=o,n.legendHeight=r,t(i,function(t){n.positionItem(t)}),l&&c.align(f({width:o,height:r},e),!0,s.spacingBox),s.isResizing||this.positionCheckboxes()},handleOverflow:function(t){var o=this,s=this.chart,f=s.renderer,p,u=this.options,l=u.y,w=u.verticalAlign==="top",r=s.spacingBox.height+(w?-l:l)-this.padding,a=u.maxHeight,h,v=this.clipRect,c=u.navigation,y=n(c.animation,!0),e=c.arrowSize||12,i=this.nav;return u.layout==="horizontal"&&(r/=2),a&&(r=tt(r,a)),t>r?(this.clipHeight=h=r-20,this.pageCount=p=yi(t/h),this.currentPage=n(this.currentPage,1),this.fullHeight=t,v.attr({height:h}),i||(this.nav=i=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,e,e).on("click",function(){o.scroll(-1,y)}).add(i),this.pager=f.text("",15,10).css(c.style).add(i),this.down=f.symbol("triangle-down",0,0,e,e).on("click",function(){o.scroll(1,y)}).add(i)),o.scroll(0),t=r):i&&(v.attr({height:s.chartHeight}),i.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},scroll:function(n,t){var r=this.pageCount,i=this.currentPage+n,u=this.clipHeight,o=this.options.navigation,s=o.activeColor,h=o.inactiveColor,c=this.pager,l=this.padding,f;i>r&&(i=r),i>0&&(t!==e&&nr(t,this.chart),this.nav.attr({translateX:l,translateY:u+7,visibility:et}),this.up.attr({fill:i===1?h:s}).css({cursor:i===1?"default":"pointer"}),c.attr({text:i+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===r?h:s}).css({cursor:i===r?"default":"pointer"}),f=-tt(u*(i-1),this.fullHeight-u+l)+1,this.scrollGroup.animate({translateY:f}),c.attr({text:i+"/"+r}),this.currentPage=i,this.positionCheckboxes(f))}},ie.prototype={init:function(t,i){var s,l=t.series,e,r,c;t.series=null,s=o(it,t),s.series=t.series=l;var u=s.chart,f=u.margin,h=wt(f)?f:[f,f,f,f];if(this.optionsMarginTop=n(u.marginTop,h[0]),this.optionsMarginRight=n(u.marginRight,h[1]),this.optionsMarginBottom=n(u.marginBottom,h[2]),this.optionsMarginLeft=n(u.marginLeft,h[3]),e=u.events,this.runChartClick=e&&!!e.click,this.callback=i,this.isResizing=0,this.options=s,this.axes=[],this.series=[],this.hasCartesianSeries=u.showAxes,r=this,r.index=rr.length,rr.push(r),u.reflow!==!1&&w(r,"load",r.initReflow),e)for(c in e)w(r,c,e[c]);r.xAxis=[],r.yAxis=[],r.animation=lt?!1:n(u.animation,!0),r.pointCount=0,r.counters=new ye,r.firstRender()},initSeries:function(n){var r=this,t=r.options.chart,u=n.type||t.type||t.defaultSeriesType,i=new pt[u];return i.init(this,n),i},addSeries:function(t,i,r){var f,u=this;return t&&(nr(r,u),i=n(i,!0),a(u,"addSeries",{options:t},function(){f=u.initSeries(t),u.isDirtyLegend=!0,i&&u.redraw()})),f},isInsidePlot:function(n,t,i){var r=i?t:n,u=i?n:t;return r>=0&&r<=this.plotWidth&&u>=0&&u<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&t(this.axes,function(n){n.adjustTickAmount()}),this.maxTicks=null},redraw:function(n){var i=this,h=i.axes,u=i.series,e=i.tracker,c=i.legend,l=i.isDirtyLegend,o,s=i.isDirtyBox,v=u.length,f=v,r,y=i.renderer,p=y.isHidden(),w=[];for(nr(n,i),p&&i.cloneRenderTo();f--;)if(r=u[f],r.isDirty&&r.options.stacking){o=!0;break}if(o)for(f=v;f--;)r=u[f],r.options.stacking&&(r.isDirty=!0);t(u,function(n){n.isDirty&&n.options.legendType==="point"&&(l=!0)}),l&&c.options.enabled&&(c.render(),i.isDirtyLegend=!1),i.hasCartesianSeries&&(i.isResizing||(i.maxTicks=null,t(h,function(n){n.setScale()})),i.adjustTickAmounts(),i.getMargins(),t(h,function(n){n.isDirtyExtremes&&(n.isDirtyExtremes=!1,w.push(function(){a(n,"afterSetExtremes",n.getExtremes())})),(n.isDirty||s||o)&&(n.redraw(),s=!0)})),s&&i.drawChartBox(),t(u,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()}),e&&e.resetTracker&&e.resetTracker(!0),y.draw(),a(i,"redraw"),p&&i.cloneRenderTo(!0),t(w,function(n){n.call()})},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading;i||(t.loadingDiv=i=ot(ti,{className:ri+"loading"},f(r.style,{left:t.plotLeft+v,top:t.plotTop+v,width:t.plotWidth+v,height:t.plotHeight+v,zIndex:10,display:rt}),t.container),t.loadingSpan=ot("span",null,r.labelStyle,i)),t.loadingSpan.innerHTML=n||u.lang.loading,t.loadingShown||(y(i,{opacity:0,display:""}),wf(i,{opacity:r.style.opacity},{duration:r.showDuration||0}),t.loadingShown=!0)},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&wf(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){y(n,{display:rt})}}),this.loadingShown=!1},get:function(n){for(var e=this,f=e.axes,i=e.series,r,u,t=0;ttt(f.dataMin,f.min)&&h19?t.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;n?t&&(this.renderTo.appendChild(i),br(t),delete this.renderToClone):(i&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),y(t,{position:ii,top:"-9999px",display:"block"}),h.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n=this,e,i=n.options.chart,r,u,t,l="data-highcharts-chart",o,a;n.renderTo=t=i.renderTo,a=ri+nf++,li(t)&&(n.renderTo=t=h.getElementById(t)),t||kr(13,!0),o=c(s(t,l)),!isNaN(o)&&rr[o]&&rr[o].destroy(),s(t,l,n.index),t.innerHTML="",t.offsetWidth||n.cloneRenderTo(),n.getChartSize(),r=n.chartWidth,u=n.chartHeight,n.container=e=ot(ti,{className:ri+"container"+(i.className?" "+i.className:""),id:a},f({position:rf,overflow:ft,width:r+v,height:u+v,textAlign:"left",lineHeight:"normal",zIndex:0},i.style),n.renderToClone||t),n.renderer=i.forExport?new fi(e,r,u,!0):new cr(e,r,u),lt&&n.renderer.create(n,e,r,u)},getMargins:function(){var r=this,s=r.options.chart,v=s.spacingTop,tt=s.spacingRight,it=s.spacingBottom,rt=s.spacingLeft,e,o=r.legend,y=r.optionsMarginTop,p=r.optionsMarginLeft,w=r.optionsMarginRight,b=r.optionsMarginBottom,h=r.chartTitleOptions,l=r.chartSubtitleOptions,f=r.options.legend,c=n(f.margin,10),k=f.x,d=f.y,g=f.align,nt=f.verticalAlign,a;r.resetMargins(),e=r.axisOffset,(r.title||r.subtitle)&&!i(r.optionsMarginTop)&&(a=u(r.title&&!h.floating&&!h.verticalAlign&&h.y||0,r.subtitle&&!l.floating&&!l.verticalAlign&&l.y||0),a&&(r.plotTop=u(r.plotTop,a+n(h.margin,15)+v))),o.display&&!f.floating&&(g==="right"?i(w)||(r.marginRight=u(r.marginRight,o.legendWidth-k+c+tt)):g==="left"?i(p)||(r.plotLeft=u(r.plotLeft,o.legendWidth+k+c+rt)):nt==="top"?i(y)||(r.plotTop=u(r.plotTop,o.legendHeight+d+c+v)):nt==="bottom"&&(i(b)||(r.marginBottom=u(r.marginBottom,o.legendHeight-d+c+it)))),r.extraBottomMargin&&(r.marginBottom+=r.extraBottomMargin),r.extraTopMargin&&(r.plotTop+=r.extraTopMargin),r.hasCartesianSeries&&t(r.axes,function(n){n.getOffset()}),i(p)||(r.plotLeft+=e[3]),i(y)||(r.plotTop+=e[0]),i(b)||(r.marginBottom+=e[2]),i(w)||(r.marginRight+=e[1]),r.setChartSize()},initReflow:function(){function u(u){var f=t.width||yu(i,"width"),e=t.height||yu(i,"height"),o=u?u.target:k;!n.hasUserSize&&f&&e&&(o===k||o===h)&&((f!==n.containerWidth||e!==n.containerHeight)&&(clearTimeout(r),n.reflowTimeout=r=setTimeout(function(){n.container&&(n.setSize(f,e,!1),n.hasUserSize=null)},100)),n.containerWidth=f,n.containerHeight=e)}var n=this,t=n.options.chart,i=n.renderTo,r;w(k,"resize",u),w(n,"destroy",function(){ut(k,"resize",u)})},setSize:function(n,f,e){var o=this,s,h,l,c=o.resetZoomButton,w=o.title,b=o.subtitle,p;o.isResizing+=1,p=function(){o&&a(o,"endResize",null,function(){o.isResizing-=1})},nr(e,o),o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,i(n)&&(o.chartWidth=s=u(0,r(n)),o.hasUserSize=!!s),i(f)&&(o.chartHeight=h=u(0,r(f))),y(o.container,{width:s+v,height:h+v}),o.renderer.setSize(s,h,e),o.plotWidth=s-o.plotLeft-o.marginRight,o.plotHeight=h-o.plotTop-o.marginBottom,o.maxTicks=null,t(o.axes,function(n){n.isDirty=!0,n.setScale()}),t(o.series,function(n){n.isDirty=!0}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.getMargins(),l=o.spacingBox,w&&w.align(null,null,l),b&&b.align(null,null,l),c&&c.align&&c.align(null,null,o[c.alignTo]),o.redraw(e),o.oldChartHeight=null,a(o,"resize"),lr===!1?p():setTimeout(p,lr&&lr.duration||500)},setChartSize:function(){var n=this,c=n.inverted,l=n.chartWidth,a=n.chartHeight,i=n.options.chart,v=i.spacingTop,p=i.spacingRight,w=i.spacingBottom,y=i.spacingLeft,s,h,e,o,f;n.plotLeft=s=r(n.plotLeft),n.plotTop=h=r(n.plotTop),n.plotWidth=e=u(0,r(l-s-n.marginRight)),n.plotHeight=o=u(0,r(a-h-n.marginBottom)),n.plotSizeX=c?o:e,n.plotSizeY=c?e:o,n.plotBorderWidth=f=i.plotBorderWidth||0,n.spacingBox={x:y,y:v,width:l-y-p,height:a-v-w},n.plotBox={x:s,y:h,width:e,height:o},n.clipBox={x:f/2,y:f/2,width:n.plotSizeX-f,height:n.plotSizeY-f},t(n.axes,function(n){n.setAxisSize(),n.setAxisTranslation()})},resetMargins:function(){var t=this,i=t.options.chart,r=i.spacingTop,u=i.spacingRight,f=i.spacingBottom,e=i.spacingLeft;t.plotTop=n(t.optionsMarginTop,r),t.marginRight=n(t.optionsMarginRight,u),t.marginBottom=n(t.optionsMarginBottom,f),t.plotLeft=n(t.optionsMarginLeft,e),t.axisOffset=[0,0,0,0]},drawChartBox:function(){var n=this,t=n.options.chart,r=n.renderer,y=n.chartWidth,p=n.chartHeight,c=n.chartBackground,w=n.plotBackground,l=n.plotBorder,b=n.plotBGImage,u=t.borderWidth||0,k=t.backgroundColor,d=t.plotBackgroundColor,g=t.plotBackgroundImage,a=t.plotBorderWidth||0,i,f,e=n.plotLeft,o=n.plotTop,s=n.plotWidth,h=n.plotHeight,nt=n.plotBox,tt=n.clipRect,v=n.clipBox;i=u+(t.shadow?8:0),(u||k)&&(c?c.animate(c.crisp(null,null,null,y-i,p-i)):(f={fill:k||rt},u&&(f.stroke=t.borderColor,f["stroke-width"]=u),n.chartBackground=r.rect(i/2,i/2,y-i,p-i,t.borderRadius,u).attr(f).add().shadow(t.shadow))),d&&(w?w.animate(nt):n.plotBackground=r.rect(e,o,s,h,0).attr({fill:d}).add().shadow(t.plotShadow)),g&&(b?b.animate(nt):n.plotBGImage=r.image(g,e,o,s,h).add()),tt?tt.animate({width:v.width,height:v.height}):n.clipRect=r.clipRect(v),a&&(l?l.animate(l.crisp(null,e,o,s,h)):n.plotBorder=r.rect(e,o,s,h,0,a).attr({stroke:t.plotBorderColor,"stroke-width":a,zIndex:1}).add()),n.isDirtyBox=!1},propFromSeries:function(){var i=this,u=i.options.chart,n,f=i.options.series,e,r;t(["inverted","angular","polar"],function(t){for(n=pt[u.type||u.defaultSeriesType],r=i[t]||u[t]||n&&n.prototype[t],e=f&&f.length;!r&&e--;)n=pt[f[e].type],n&&n.prototype[t]&&(r=!0);i[t]=r})},render:function(){var n=this,r=n.axes,u=n.renderer,s=n.options,e=s.labels,i=s.credits,o;n.setTitle(),n.legend=new te(n),t(r,function(n){n.setScale()}),n.getMargins(),n.maxTicks=null,t(r,function(n){n.setTickPositions(!0),n.setMaxTicks()}),n.adjustTickAmounts(),n.getMargins(),n.drawChartBox(),n.hasCartesianSeries&&t(r,function(n){n.render()}),n.seriesGroup||(n.seriesGroup=u.g("series-group").attr({zIndex:3}).add()),t(n.series,function(n){n.translate(),n.setTooltipPoints(),n.render()}),e.items&&t(e.items,function(t){var i=f(e.style,t.style),r=c(i.left)+n.plotLeft,o=c(i.top)+n.plotTop+12;delete i.left,delete i.top,u.text(t.html,r,o).attr({zIndex:2}).css(i).add()}),i.enabled&&!n.credits&&(o=i.href,n.credits=u.text(i.text,0,0).on("click",function(){o&&(location.href=o)}).attr({align:i.position.align,zIndex:8}).css(i.style).add().align(i.position)),n.hasRendered=!0},destroy:function(){var n=this,u=n.axes,f=n.series,r=n.container,i,o=r&&r.parentNode;for(a(n,"destroy"),rr[n.index]=e,n.renderTo.removeAttribute("data-highcharts-chart"),ut(n),i=u.length;i--;)u[i]=u[i].destroy();for(i=f.length;i--;)f[i]=f[i].destroy();t(["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","tracker","scroller","rangeSelector","legend","resetZoomButton","tooltip","renderer"],function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())}),r&&(r.innerHTML="",ut(r),o&&br(r));for(i in n)delete n[i]},isReadyToRender:function(){var n=this;return!bt&&k==k.top&&h.readyState!=="complete"||lt&&!k.canvg?(lt?ge.push(function(){n.firstRender()},n.options.global.canvasToolsURL):h.attachEvent("onreadystatechange",function(){h.detachEvent("onreadystatechange",n.firstRender),h.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,i=n.options,r=n.callback;n.isReadyToRender()&&(n.getContainer(),a(n,"init"),Highcharts.RangeSelector&&i.rangeSelector.enabled&&(n.rangeSelector=new Highcharts.RangeSelector(n)),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(i.series||[],function(t){n.initSeries(t)}),Highcharts.Scroller&&(i.navigator.enabled||i.scrollbar.enabled)&&(n.scroller=new Highcharts.Scroller(n)),n.tracker=new ne(n,i),n.render(),n.renderer.draw(),r&&r.apply(n,[n]),t(n.callbacks,function(t){t.apply(n,[n])}),n.cloneRenderTo(!0),a(n,"load"))}},ie.prototype.callbacks=[],sr=function(){},sr.prototype={init:function(n,t,i){var r=this,f=n.chart.counters,u;return r.series=n,r.applyOptions(t,i),r.pointAttr={},n.options.colorByPoint&&(u=n.chart.options.colors,r.color=r.color||u[f.color++],f.wrapColor(u.length)),n.chart.pointCount++,r},applyOptions:function(n,t){var i=this,r=i.series,u=typeof n;i.config=n,u==="number"||n===null?i.y=n:typeof n[0]=="number"?(i.x=n[0],i.y=n[1]):u==="object"&&typeof n.length!="number"?(f(i,n),i.options=n,n.dataLabels&&(r._hasPointLabels=!0),n.marker&&(r._hasPointMarkers=!0)):typeof n[0]=="string"&&(i.name=n[0],i.y=n[1]),i.x===e&&(i.x=t===e?r.autoIncrement():t)},destroy:function(){var n=this,u=n.series,t=u.chart,i=t.hoverPoints,r;t.pointCount--,i&&(n.setState(),ki(i,n),i.length||(t.hoverPoints=null)),n===t.hoverPoint&&n.onMouseOut(),(n.graphic||n.dataLabel)&&(ut(n),n.destroyElements()),n.legendItem&&t.legend.destroyItem(n);for(r in n)n[r]=null},destroyElements:function(){for(var t=this,n,i=6;i--;)n=["graphic","tracker","dataLabel","dataLabelUpper","group","connector","shadowGroup"][i],t[n]&&(t[n]=t[n].destroy())},getLabelConfig:function(){var n=this;return{x:n.category,y:n.y,key:n.name||n.category,series:n.series,point:n,percentage:n.percentage,total:n.total||n.stackTotal}},select:function(i,r){var u=this,f=u.series,e=f.chart;i=n(i,!u.selected),u.firePointEvent(i?"select":"unselect",{accumulate:r},function(){u.selected=i,u.setState(i&&si),r||t(e.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=!1,n.setState(vt),n.firePointEvent("unselect"))})})},onMouseOver:function(){var n=this,u=n.series,t=u.chart,i=t.tooltip,r=t.hoverPoint;r&&r!==n&&r.onMouseOut(),n.firePointEvent("mouseOver"),i&&(!i.shared||u.noSharedTooltip)&&i.refresh(n),n.setState(kt),t.hoverPoint=n},onMouseOut:function(){var n=this.series.chart,t=n.hoverPoints;t&&co(this,t)!==-1||(this.firePointEvent("mouseOut"),this.setState(),n.hoverPoint=null)},tooltipFormatter:function(t){var f=this,c=f.series,i=c.tooltipOptions,l=t.match(/\{(series|point)\.[a-zA-Z]+\}/g),o,u,s,e,h,r,a,v={y:0,open:0,high:0,low:0,close:0,percentage:1,total:1};i.valuePrefix=i.valuePrefix||i.yPrefix,i.valueDecimals=n(i.valueDecimals,i.yDecimals),i.valueSuffix=i.valueSuffix||i.ySuffix;for(a in l)u=l[a],li(u)&&u!==t&&(h=(" "+u).split(/[{\.}]/),o={point:f,series:c}[h[1]],r=h[2],o===f&&v.hasOwnProperty(r)?(e=v[r]?r:"value",s=(i[e+"Prefix"]||"")+wr(f[r],n(i[e+"Decimals"],-1))+(i[e+"Suffix"]||"")):s=o[r],t=t.replace(u,s));return t},update:function(t,i,r){var u=this,f=u.series,o=u.graphic,e,s=f.data,h=s.length,c=f.chart;i=n(i,!0),u.firePointEvent("update",{options:t},function(){for(u.applyOptions(t),wt(t)&&(f.getAttribs(),o&&o.attr(u.pointAttr[f.state])),e=0;ei+1&&r.push(n.slice(i+1,u)),i=u):u===e-1&&r.push(n.slice(i+1,u+1))});f.segments=r},setOptions:function(n){var f=this.chart,i=f.options,r=i.plotOptions,u=r[this.type],e=n.data,t;return n.data=null,t=o(u,r.series,n),t.data=n.data=e,this.tooltipOptions=o(i.tooltip,t.tooltip),u.marker===null&&delete t.marker,t},getColor:function(){var n=this.options,t=this.chart.options.colors,i=this.chart.counters;this.color=n.color||!n.colorByPoint&&t[i.color++]||"gray",i.wrapColor(t.length)},getSymbol:function(){var n=this,t=n.options.marker,i=n.chart,r=i.options.symbols,u=i.counters;n.symbol=t.symbol||r[u.symbol++],/^url/.test(n.symbol)&&(t.radius=0),u.wrapSymbol(r.length)},drawLegendSymbol:function(n){var t=this.options,r=t.marker,i,h=n.options,c,e=h.symbolWidth,o=this.chart.renderer,s=this.legendGroup,u=n.baseline,f;t.lineWidth&&(f={"stroke-width":t.lineWidth},t.dashStyle&&(f.dashstyle=t.dashStyle),this.legendLine=o.path([b,0,u-4,p,e,u-4]).attr(f).add(s)),r&&r.enabled&&(i=r.radius,this.legendSymbol=c=o.symbol(this.symbol,e/2-i,u-4-i,2*i,2*i).add(s))},addPoint:function(t,i,r,u){var f=this,l=f.options,o=f.data,s=f.graph,h=f.area,a=f.chart,v=f.xData,y=f.yData,p=s&&s.shift||0,w=l.data,e,c=f.pointClass.prototype;nr(u,a),s&&r&&(s.shift=p+1),h&&(r&&(h.shift=p+1),h.isArea=!0),i=n(i,!0),e={series:f},c.applyOptions.apply(e,[t]),v.push(e.x),y.push(c.toYData?c.toYData.call(e):e.y),w.push(t),l.legendType==="point"&&f.generatePoints(),r&&(o[0]&&o[0].remove?o[0].remove(!1):(o.shift(),v.shift(),y.shift(),w.shift())),f.getAttribs(),f.isDirty=!0,f.isDirtyData=!0,i&&a.redraw()},setData:function(t,r){var f=this,c=f.points,a=f.options,b=f.initialColor,p=f.chart,v=null,l=f.xAxis,u,w=f.pointClass.prototype,y,g;f.xIncrement=null,f.pointRange=l&&l.categories?1:a.pointRange,i(b)&&(p.counters.color=b);var o=[],s=[],h=t?t.length:[],nt=a.turboThreshold||1e3,e,k=f.pointArrayMap,d=k&&k.length;if(h>nt){for(u=0;v===null&&u1&&o[1]b||t.forceCrop)){var d=p.getExtremes(),a=d.min,v=d.max;if(i[f-1]v)i=[],s=[];else if(i[0]v){for(r=0;r=a){h=u(0,r-1);break}for(;rv){l=r+1;break}i=i.slice(h,l),s=s.slice(h,l),y=!0}}for(r=i.length-1;r>0;r--)c=i[r]-i[r-1],c>0&&(o===e||c=0&&o<=s;)v[o++]=h;f.tooltipPoints=v}},tooltipHeaderFormatter:function(n){var t=this,i=t.tooltipOptions,r=i.xDateFormat,u=t.xAxis,e=u&&u.options.type==="datetime",f;if(e&&!r)for(f in l)if(l[f]>=u.closestPointRange){r=i.dateTimeLabelFormats[f];break}return i.headerFormat.replace("{point.key}",e&&ur(n)?ou(r,n):n).replace("{series.name}",t.name).replace("{series.color}",t.color)},onMouseOver:function(){var n=this,i=n.chart,t=i.hoverSeries;t&&t!==n&&t.onMouseOut(),n.options.events.mouseOver&&a(n,"mouseOver"),n.setState(kt),i.hoverSeries=n},onMouseOut:function(){var n=this,r=n.options,t=n.chart,i=t.tooltip,u=t.hoverPoint;u&&u.onMouseOut(),n&&r.events.mouseOut&&a(n,"mouseOut"),!i||r.stickyTracking||i.shared||i.hide(),n.setState(),t.hoverSeries=null},animate:function(n){var i=this,t=i.chart,s=t.renderer,e,o,r=i.options.animation,c=t.clipBox,h=t.inverted,u;r&&!wt(r)&&(r=at[i.type].animation),u="_sharedClip"+r.duration+r.easing,n?(e=t[u],o=t[u+"m"],e||(t[u]=e=s.clipRect(f(c,{width:0})),t[u+"m"]=o=s.clipRect(-99,h?-t.plotLeft:-t.plotTop,99,h?t.chartWidth:t.chartHeight)),i.group.clip(e),i.markerGroup.clip(o),i.sharedClipKey=u):(e=t[u],e&&(e.animate({width:t.plotSizeX},r),t[u+"m"].animate({width:t.plotSizeX+99},r)),i.animate=null,i.animationTimeout=setTimeout(function(){i.afterAnimate()},r.duration))},afterAnimate:function(){var n=this.chart,t=this.sharedClipKey,i=this.group,r=this.trackerGroup;i&&this.options.clip!==!1&&(i.clip(n.clipRect),r&&r.clip(n.clipRect),this.markerGroup.clip()),setTimeout(function(){t&&n[t]&&(n[t]=n[t].destroy(),n[t+"m"]=n[t+"m"].destroy())},100)},drawPoints:function(){var u=this,c,p=u.points,l=u.chart,s,o,a,i,t,v,w,r,d=u.options,b=d.marker,h,k,y,g=u.markerGroup;if(b.enabled||u._hasPointMarkers)for(a=p.length;a--;)i=p[a],s=i.plotX,o=i.plotY,r=i.graphic,h=i.marker||{},k=b.enabled&&h.enabled===e||h.enabled,y=l.isInsidePlot(s,o,l.inverted),k&&o!==e&&!isNaN(o)?(c=i.pointAttr[i.selected?si:vt],t=c.r,v=n(h.symbol,u.symbol),w=v.indexOf("url")===0,r?r.attr({visibility:y?bt?"inherit":et:ft}).animate(f({x:s-t,y:o-t},r.symbolName?{width:2*t,height:2*t}:{})):y&&(t>0||w)&&(i.graphic=r=l.renderer.symbol(v,s-t,o-t,2*t,2*t).attr(c).add(g))):r&&(i.graphic=r.destroy())},convertAttribs:function(t,i,r,u){var e=this.pointAttrToOptions,f,o,s={};t=t||{},i=i||{},r=r||{},u=u||{};for(f in e)o=e[f],s[f]=n(t[o],i[f],r[f],u[f]);return s},getAttribs:function(){var n=this,r=at[n.type].marker?n.options.marker:n.options,h=r.states,u=h[kt],c,l=n.color,b={stroke:l,fill:l},y=n.points||[],a,e,o=[],s,p=n.pointAttrToOptions,v,w;for(n.options.marker?(u.radius=u.radius||r.radius+2,u.lineWidth=u.lineWidth||r.lineWidth+1):u.color=u.color||ui(u.color||l).brighten(u.brightness).get(),o[vt]=n.convertAttribs(r,b),t([kt,si],function(t){o[t]=n.convertAttribs(h[t],o[vt])}),n.pointAttr=o,a=y.length;a--;){if(e=y[a],r=e.options&&e.options.marker||e.options,r&&r.enabled===!1&&(r.radius=0),v=n.options.colorByPoint,e.options)for(w in p)i(r[p[w]])&&(v=!0);v?(r=r||{},s=[],h=r.states||{},c=h[kt]=h[kt]||{},n.options.marker||(c.color=ui(c.color||e.color).brighten(c.brightness||u.brightness).get()),s[vt]=n.convertAttribs(f({color:e.color},r),o[vt]),s[kt]=n.convertAttribs(h[kt],o[kt],s[vt]),s[si]=n.convertAttribs(h[si],o[si],s[vt])):s=o,e.pointAttr=s}},destroy:function(){var n=this,u=n.chart,h=/AppleWebKit\/533/.test(ei),e,f,o=n.data||[],i,s,r;for(a(n,"destroy"),ut(n),t(["xAxis","yAxis"],function(t){r=n[t],r&&(ki(r.series,n),r.isDirty=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),f=o.length;f--;)i=o[f],i&&i.destroy&&i.destroy();n.points=null,clearTimeout(n.animationTimeout),t(["area","graph","dataLabelsGroup","group","markerGroup","tracker","trackerGroup"],function(t){n[t]&&(e=h&&t==="group"?"hide":"destroy",n[t][e]())}),u.hoverSeries===n&&(u.hoverSeries=null),ki(u.series,n);for(s in n)delete n[s]},drawDataLabels:function(){var u=this,l=u.options,r=l.dataLabels,a=u.points,f,h,s,c;(r.enabled||u._hasPointLabels)&&(u.dlProcessOptions&&u.dlProcessOptions(r),c=u.plotGroup("dataLabelsGroup","data-labels",u.visible?et:ft,r.zIndex||6),h=r,t(a,function(t){var v,l=t.dataLabel,a,y,p,w=!0;if(f=t.options&&t.options.dataLabels,v=h.enabled||f&&f.enabled,l&&!v)t.dataLabel=l.destroy();else if(v){if(p=r.rotation,r=o(h,f),s=r.formatter.call(t.getLabelConfig(),r),r.style.color=n(r.color,r.style.color,u.color,"black"),l)l.attr({text:s}),w=!1;else if(i(s)){a={fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth,r:r.borderRadius||0,rotation:p,padding:r.padding,zIndex:1};for(y in a)a[y]===e&&delete a[y];l=t.dataLabel=u.chart.renderer[p?"text":"label"](s,0,-999,null,null,null,r.useHTML).attr(a).css(r.style).add(c).shadow(r.shadow)}l&&u.alignDataLabel(t,l,r,null,w)}}))},alignDataLabel:function(t,i,u,e,o){var s=this.chart,c=s.inverted,l=n(t.plotX,-999),a=n(t.plotY,-999),v=i.getBBox(),h;e=f({x:c?s.plotWidth-a:l,y:r(c?s.plotHeight-l:a),width:0,height:0},e),f(u,{width:v.width,height:v.height}),u.rotation?(h={align:u.align,x:e.x+u.x+e.width/2,y:e.y+u.y+e.height/2},i[o?"attr":"animate"](h)):(i.align(u,null,e),h=i.alignAttr),i.attr({visibility:u.crop===!1||s.isInsidePlot(h.x,h.y)||s.isInsidePlot(l,a,c)?s.renderer.isSVG?"inherit":et:ft})},getSegmentPath:function(n){var r=this,i=[],u=r.options.step;return t(n,function(t,f){var o=t.plotX,s=t.plotY,e;r.getPointSpline?i.push.apply(i,r.getPointSpline(n,t,f)):(i.push(f?p:b),u&&f&&(e=n[f-1],u==="right"?i.push(e.plotX,s):u==="center"?i.push((e.plotX+o)/2,e.plotY,(e.plotX+o)/2,s):i.push(o,e.plotY)),i.push(t.plotX,t.plotY))}),i},getGraphPath:function(){var n=this,i=[],r,u=[];return t(n.segments,function(t){r=n.getSegmentPath(t),t.length>1?i=i.concat(r):u.push(t[0])}),n.singlePoints=u,n.graphPath=i,i},drawGraph:function(){var n=this.options,t=this.graph,e=this.group,o=n.lineColor||this.color,r=n.lineWidth,u=n.dashStyle,i,f=this.getGraphPath();t?(pu(t),t.animate({d:f})):r&&(i={stroke:o,"stroke-width":r,zIndex:1},u&&(i.dashstyle=u),this.graph=this.chart.renderer.path(f).attr(i).add(e).shadow(n.shadow))},invertGroups:function(){function i(){var i={width:n.yAxis.len,height:n.xAxis.len};t(["group","trackerGroup","markerGroup"],function(t){n[t]&&n[t].attr(i).invert()})}var n=this,r=n.chart;w(r,"resize",i),w(n,"destroy",function(){ut(r,"resize",i)}),i(),n.invertGroups=i},plotGroup:function(n,t,i,r,u){var f=this[n],e=this.chart,o=this.xAxis,s=this.yAxis;return f||(this[n]=f=e.renderer.g(t).attr({visibility:i,zIndex:r||.1}).add(u)),f.translate(o?o.left:e.plotLeft,s?s.top:e.plotTop),f},render:function(){var n=this,t=n.chart,i,r=n.options,h=r.animation,u=h&&!!n.animate,f=n.visible?et:ft,e=r.zIndex,o=n.hasRendered,s=t.seriesGroup;i=n.plotGroup("group","series",f,e,s),n.markerGroup=n.plotGroup("markerGroup","markers",f,e,s),u&&n.animate(!0),n.getAttribs(),i.inverted=t.inverted,n.drawGraph&&n.drawGraph(),n.drawPoints(),n.drawDataLabels(),n.options.enableMouseTracking!==!1&&n.drawTracker(),t.inverted&&n.invertGroups(),r.clip===!1||n.sharedClipKey||o||(i.clip(t.clipRect),this.trackerGroup&&this.trackerGroup.clip(t.clipRect)),u?n.animate():o||n.afterAnimate(),n.isDirty=n.isDirtyData=!1,n.hasRendered=!0},redraw:function(){var n=this,t=n.chart,r=n.isDirtyData,i=n.group;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:n.xAxis.left,translateY:n.yAxis.top})),n.translate(),n.setTooltipPoints(!0),n.render(),r&&a(n,"updatedData")},setState:function(n){var t=this,f=t.options,i=t.graph,r=f.states,u=f.lineWidth;if(n=n||vt,t.state!==n){if(t.state=n,r[n]&&r[n].enabled===!1)return;n&&(u=r[n].lineWidth||u+1),i&&!i.dashstyle&&i.attr({"stroke-width":u},n?0:500)}},setVisible:function(n,i){var r=this,f=r.chart,p=r.legendItem,c=r.group,l=r.tracker,v=r.dataLabelsGroup,y=r.markerGroup,u,o,s=r.points,h,w=f.options.chart.ignoreHiddenSeries,b=r.visible;if(r.visible=n=n===e?!b:n,u=n?"show":"hide",c&&c[u](),y&&y[u](),l)l[u]();else if(s)for(o=s.length;o--;)h=s[o],h.tracker&&h.tracker[u]();f.hoverSeries===r&&r.onMouseOut(),v&&v[u](),p&&f.legend.colorizeItem(r,n),r.isDirty=!0,r.options.stacking&&t(f.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)}),w&&(f.isDirtyBox=!0),i!==!1&&f.redraw(),a(r,u)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){var t=this;t.selected=n=n===e?!t.selected:n,t.checkbox&&(t.checkbox.checked=n),a(t,n?"select":"unselect")},drawTracker:function(){var i=this,r=i.options,e=r.trackByArea,t=[].concat(e?i.areaPath:i.graphPath),h=t.length,o=i.chart,v=o.renderer,u=o.options.tooltip.snap,s=i.tracker,c=r.cursor,y=c&&{cursor:c},l=i.singlePoints,w=this.isCartesian&&this.plotGroup("trackerGroup",null,et,r.zIndex||1,o.trackerGroup),f,n,a=function(){o.hoverSeries!==i&&i.onMouseOver()},k=function(){r.stickyTracking||i.onMouseOut()};if(h&&!e)for(n=h+1;n--;)t[n]===b&&t.splice(n+1,0,t[n+1]-u,t[n+2],p),(n&&t[n]===b||n===h)&&t.splice(n,0,p,t[n-2]+u,t[n-1]);for(n=0;n=0;t--)tc&&e>r?(e=u(c,r),f=2*r-e):el&&f>r?(f=u(l,r),e=2*r-f):fs?h-s:v-(e<=v?s:0)),t.barX=a,t.pointWidth=et,t.shapeType="rect",t.shapeArgs=l=it.renderer.Element.prototype.crisp.call(0,y,a,i,ot,f),y%2&&(l.y-=1,l.height+=1),t.trackerArgs=g(f)<3&&o(t.shapeArgs,{height:6,y:i-3})})},getSymbol:su,drawLegendSymbol:iu.prototype.drawLegendSymbol,drawGraph:su,drawPoints:function(){var n=this,i=n.options,u=n.chart.renderer,r;t(n.points,function(t){var s=t.plotY,f=t.graphic;s===e||isNaN(s)||t.y===null?f&&(t.graphic=f.destroy()):(r=t.shapeArgs,f?(pu(f),f.animate(o(r))):t.graphic=f=u[t.shapeType](r).attr(t.pointAttr[t.selected?si:vt]).add(n.group).shadow(i.shadow,null,i.stacking&&!i.borderRadius))})},drawTracker:function(){for(var n=this,f=n.chart,w=f.renderer,r,i,o=+new Date,h=n.options,v=h.cursor,b=v&&{cursor:v},k=n.isCartesian&&n.plotGroup("trackerGroup",null,et,h.zIndex||1,f.trackerGroup),u,c,y,l=n.points,t,a=l.length,p=function(t){u=t.relatedTarget||t.fromElement,f.hoverSeries!==n&&s(u,"isTracker")!==o&&n.onMouseOver(),l[t.target._i].onMouseOver()},d=function(t){h.stickyTracking||(u=t.relatedTarget||t.toElement,s(u,"isTracker")!==o&&n.onMouseOut())};a--;)if(t=l[a],i=t.tracker,r=t.trackerArgs||t.shapeArgs,c=t.plotY,y=!n.isCartesian||c!==e&&!isNaN(c),delete r.strokeWidth,t.y!==null&&y){if(i)i.attr(r);else if(t.tracker=i=w[t.shapeType](r).attr({isTracker:o,fill:uf,visibility:n.visible?et:ft}).on("mouseover",p).on("mouseout",d).css(b).add(t.group||k),wi)i.on("touchstart",p);i.element._i=a}},alignDataLabel:function(t,i,r,u,f){var e=this.chart,s=e.inverted,h=t.below||t.plotY>n(this.translatedThreshold,e.plotSizeY),c=this.options.stacking||r.inside;t.shapeArgs&&(u=o(t.shapeArgs),s&&(u={x:e.plotWidth-u.y-u.height,y:e.plotHeight-u.x-u.width,width:u.height,height:u.width}),c||(s?(u.x+=h?0:u.width,u.width=0):(u.y+=h?u.height:0,u.height=0))),r.align=n(r.align,!s||c?"center":h?"right":"left"),r.verticalAlign=n(r.verticalAlign,s||c?"middle":h?"top":"bottom"),nt.prototype.alignDataLabel.call(this,t,i,r,u,f)},animate:function(n){var r=this,f=r.points,u=r.options;n||(t(f,function(n){var t=n.graphic,e=n.shapeArgs,f=r.yAxis,o=u.threshold;t&&(t.attr({height:0,y:i(o)?f.getThreshold(o):f.translate(f.getExtremes().min,0,1,0,1)}),t.animate({height:e.height,y:e.y},u.animation))}),r.animate=null)},remove:function(){var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)}),nt.prototype.remove.apply(n,arguments)}}),pt.column=du,at.bar=o(at.column),ro=gt(du,{type:"bar",inverted:!0}),pt.bar=ro,at.scatter=o(or,{lineWidth:0,states:{hover:{lineWidth:0}},tooltip:{headerFormat:'{series.name}<\/span>
',pointFormat:"x: {point.x}<\/b>
y: {point.y}<\/b>
"}}),uo=gt(nt,{type:"scatter",sorted:!1,requireSorting:!1,translate:function(){var n=this;nt.prototype.translate.apply(n),t(n.points,function(t){t.shapeType="circle",t.shapeArgs={x:t.plotX,y:t.plotY,r:n.chart.options.tooltip.snap}})},drawTracker:function(){for(var n=this,u=n.options.cursor,s=u&&{cursor:u},t=n.points,i=t.length,r,f=n.markerGroup,o=function(i){n.onMouseOver(),i.target._i!==e&&t[i.target._i].onMouseOver()},h=function(){n.options.stickyTracking||n.onMouseOut()};i--;)r=t[i].graphic,r&&(r.element._i=i);if(n._hasTracking)n._hasTracking=!0;else if(f.attr({isTracker:!0}).on("mouseover",o).on("mouseout",h).css(s),wi)f.on("touchstart",o)},setTooltipPoints:su}),pt.scatter=uo,at.pie=o(or,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}}}),fo=gt(sr,{init:function(){sr.prototype.init.apply(this,arguments);var t=this,i;return f(t,{visible:t.visible!==!1,name:n(t.name,"Slice")}),i=function(){t.slice()},w(t,"select",i),w(t,"unselect",i),t},setVisible:function(n){var t=this,r=t.series,u=r.chart,f=t.tracker,o=t.dataLabel,s=t.connector,h=t.shadowGroup,i;t.visible=n=n===e?!t.visible:n,i=n?"show":"hide",t.group[i](),f&&f[i](),o&&o[i](),s&&s[i](),h&&h[i](),t.legendItem&&u.legend.colorizeItem(t,n),!r.isDirty&&r.options.ignoreHiddenPoint&&(r.isDirty=!0,u.redraw())},slice:function(t,r,u){var f=this,h=f.series,e=h.chart,s=f.slicedTranslation,o;nr(u,e),r=n(r,!0),t=f.sliced=i(t)?t:!f.sliced,o={translateX:t?s[0]:e.plotLeft,translateY:t?s[1]:e.plotTop},f.group.animate(o),f.shadowGroup&&f.shadowGroup.animate(o)}}),gu={type:"pie",isCartesian:!1,pointClass:fo,requireSorting:!1,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var n=this,r=n.points,i=n.startAngleRad;t(r,function(t){var r=t.graphic,u=t.shapeArgs;r&&(r.attr({r:n.center[3]/2,start:i,end:i}),r.animate({r:u.r,start:u.start,end:u.end},n.options.animation))}),n.animate=null},setData:function(t,i){nt.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),n(i,!0)&&this.chart.redraw()},getCenter:function(){var n=this.options,t=this.chart,i=t.plotWidth,r=t.plotHeight,e=n.center.concat([n.size,n.innerSize||0]),u=tt(i,r),f;return gr(e,function(n,t){return f=/%$/.test(n),f?[i,r,u,u][t]*c(n)/100:n})},translate:function(){this.generatePoints();var c=0,f=this,v=0,l=1e3,e=f.options,y=e.slicedOffset,g=y+e.borderWidth,n,nt=f.chart,p,w,t,tt=f.startAngleRad=pi/180*((e.startAngle||0)%360-90),b=f.points,a=2*pi,k,o,s,h=e.dataLabels.distance,it=e.ignoreHiddenPoint,u,rt=b.length,i;for(f.center=n=f.getCenter(),f.getX=function(i,r){return t=d.asin((i-n[1])/(n[2]/2+h)),n[0]+(r?-1:1)*ct(t)*(n[2]/2+h)},u=0;u.75*a&&(t-=2*pi),i.slicedTranslation=gr([ct(t)*y+nt.plotLeft,yt(t)*y+nt.plotTop],r),o=ct(t)*n[2]/2,s=yt(t)*n[2]/2,i.tooltipPos=[n[0]+o*.7,n[1]+s*.7],i.half=t
0,rt,r,gt,k=[[],[]],d,e,ut,lt,tt=2,i,ni=function(n,t){return t.y-n.y},ui=function(n,t){n.sort(function(n,i){return(i.angle-n.angle)*t})},vt,yt,it,pt,y;if(s.enabled||h._hasPointLabels)for(nt.prototype.drawDataLabels.apply(h),t(ti,function(n){n.dataLabel&&k[n.half].push(n)}),gt=k[0][0]&&k[0][0].dataLabel&&(k[0][0].dataLabel.getBBox().height||21);tt--;){var f=[],v,at=[],c=k[tt],ot,l=c.length,u;if(ui(c,tt-.5),a>0){for(ot=dt-ct-a;ot<=dt+ct+a;ot+=gt)f.push(ot);if(v=f.length,l>v){for(lt=[].concat(c),lt.sort(ni),i=l;i--;)lt[i].rank=i;for(i=l;i--;)c[i].rank>=v&&c.splice(i,1);l=c.length}for(i=0;i0?(pt=at.pop(),u=pt.i,e=pt.y,(y>e&&f[u+1]!==null||y