1 |
- (function(){function au(o,n){var s;o||(o={});for(s in n){o[s]=n[s]}return o}function bR(){for(var o=0,n=arguments,t=n.length,s={};o<t;o++){s[n[o++]]=n[o]}return s}function at(o,n){return parseInt(o,n||10)}function bU(n){return typeof n==="string"}function bw(n){return typeof n==="object"}function aI(n){return Object.prototype.toString.call(n)==="[object Array]"}function ak(n){return typeof n==="number"}function bD(n){return a4.log(n)/a4.LN10}function a0(n){return a4.pow(10,n)}function bt(o,n){for(var s=o.length;s--;){if(o[s]===n){o.splice(s,1);break}}}function aw(n){return n!==bo&&n!==null}function ap(o,n,u){var t,s;if(bU(n)){aw(u)?o.setAttribute(n,u):o&&o.getAttribute&&(s=o.getAttribute(n))}else{if(aw(n)&&bw(n)){for(t in n){o.setAttribute(t,n[t])}}}return s}function bh(n){return aI(n)?n:[n]}function ax(){var o=arguments,n,t,s=o.length;for(n=0;n<s;n++){if(t=o[n],typeof t!=="undefined"&&t!==null){return t}}}function bd(o,n){if(q&&n&&n.opacity!==bo){n.filter="alpha(opacity="+n.opacity*100+")"}au(o.style,n)}function aV(o,n,u,t,s){o=bm.createElement(o);n&&au(o,n);s&&bd(o,{padding:0,border:aT,margin:0});u&&bd(o,u);t&&t.appendChild(o);return o}function aA(o,n){var s=function(){};s.prototype=new o;au(s.prototype,n);return s}function J(o,n,x,w){var u=aS.lang,t=o;n===-1?(n=(o||0).toString(),o=n.indexOf(".")>-1?n.split(".")[1].length:0):o=isNaN(n=a3(n))?2:n;var n=o,x=x===void 0?u.decimalPoint:x,w=w===void 0?u.thousandsSep:w,u=t<0?"-":"",o=String(at(t=a3(+t||0).toFixed(n))),s=o.length>3?o.length%3:0;return u+(s?o.substr(0,s)+w:"")+o.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+w)+(n?x+a3(t-o).toFixed(n).slice(2):"")}function bG(o,n){return Array((n||2)+1-String(o).length).join(0)+o}function bx(o,n,u,t){var s,u=ax(u,1);s=o/u;n||(n=[1,2,2.5,5,10],t&&t.allowDecimals===!1&&(u===1?n=[1,2,5,10]:u<=0.1&&(n=[1/u])));for(t=0;t<n.length;t++){if(o=n[t],s<=(n[t]+(n[t+1]||n[t]))/2){break}}o*=u;return o}function bq(o,n){var x=n||[[al,[1,2,5,10,20,25,50,100,200,500]],[a5,[1,2,5,10,15,30]],[e,[1,2,5,10,15,30]],[bV,[1,2,3,4,6,8,12]],[aH,[1,2]],[bL,[1,2]],[bH,[1,2,3,4,6]],[bp,null]],w=x[x.length-1],u=bj[w[0]],t=w[1],s;for(s=0;s<x.length;s++){if(w=x[s],u=bj[w[0]],t=w[1],x[s+1]&&o<=(u*t[t.length-1]+bj[x[s+1][0]])/2){break}}u===bj[bp]&&o<5*u&&(t=[1,2,5]);u===bj[bp]&&o<5*u&&(t=[1,2,5]);x=bx(o/u,t);return{unitRange:u,count:x,unitName:w[0]}}function aK(E,D,C,B){var A=[],z={},x=aS.global.useUTC,w,u=new Date(D),D=E.unitRange,t=E.count;D>=bj[a5]&&(u.setMilliseconds(0),u.setSeconds(D>=bj[e]?0:t*aR(u.getSeconds()/t)));if(D>=bj[e]){u[r](D>=bj[bV]?0:t*aR(u[aB]()/t))}if(D>=bj[bV]){u[a](D>=bj[aH]?0:t*aR(u[ad]()/t))}if(D>=bj[aH]){u[h](D>=bj[bH]?1:t*aR(u[br]()/t))}D>=bj[bH]&&(u[bI](D>=bj[bp]?0:t*aR(u[bl]()/t)),w=u[bv]());D>=bj[bp]&&(w-=w%t,u[bs](w));if(D===bj[bL]){u[h](u[br]()-u[bP]()+ax(B,1))}B=1;w=u[bv]();for(var s=u.getTime(),o=u[bl](),n=u[br](),u=x?0:(86400000+u.getTimezoneOffset()*60000)%86400000;s<C;){A.push(s),D===bj[bp]?s=aZ(w+B*t,0):D===bj[bH]?s=aZ(w,o+B*t):!x&&(D===bj[aH]||D===bj[bL])?s=aZ(w,o,n+B*t*(D===bj[aH]?1:7)):(s+=D*t,D<=bj[bV]&&s%bj[aH]===u&&(z[s]=aH)),B++}A.push(s);A.info=au(E,{higherRanks:z,totalRange:D*t});return A}function bN(){this.symbol=this.color=0}function am(o,n){var u=o.length,t,s;for(s=0;s<u;s++){o[s].ss_i=s}o.sort(function(w,x){t=n(w,x);return t===0?w.ss_i-x.ss_i:t});for(s=0;s<u;s++){delete o[s].ss_i}}function aM(o){for(var n=o.length,s=o[0];n--;){o[n]<s&&(s=o[n])}return s}function bO(o){for(var n=o.length,s=o[0];n--;){o[n]>s&&(s=o[n])}return s}function bA(o,n){for(var s in o){o[s]&&o[s]!==n&&o[s].destroy&&o[s].destroy(),delete o[s]}}function ao(n){ay||(ay=aV(aC));n&&ay.appendChild(n);ay.innerHTML=""}function bB(o,n){var s="Highcharts error #"+o+": www.highcharts.com/errors/"+o;if(n){throw s}else{a2.console&&console.log(s)}}function af(n){return parseFloat(n.toPrecision(14))}function aL(o,n){H=ax(o,n.animation)}function by(){var o=aS.global.useUTC,n=o?"getUTC":"get",s=o?"setUTC":"set";aZ=o?Date.UTC:function(u,t,A,z,x,w){return(new Date(u,t,ax(A,1),ax(z,0),ax(x,0),ax(w,0))).getTime()};aB=n+"Minutes";ad=n+"Hours";bP=n+"Day";br=n+"Date";bl=n+"Month";bv=n+"FullYear";r=s+"Minutes";a=s+"Hours";h=s+"Date";bI=s+"Month";bs=s+"FullYear"}function an(){}function d(o,n,s){this.axis=o;this.pos=n;this.type=s||"";this.isNew=!0;s||this.addLabel()}function be(o,n){this.axis=o;if(n){this.options=n,this.id=n.id}return this}function a7(o,n,w,u,t){var s=o.chart.inverted;this.axis=o;this.isNegative=w;this.options=n;this.x=u;this.stack=t;this.alignOptions={align:n.align||(s?w?"left":"right":"center"),verticalAlign:n.verticalAlign||(s?"middle":w?"bottom":"top"),y:ax(n.y,s?4:w?14:-6),x:ax(n.x,s?w?-6:6:0)};this.textAlign=n.textAlign||(s?w?"right":"left":"center")}function aF(){this.init.apply(this,arguments)}function ah(o,n){var w=n.borderWidth,u=n.style,t=n.shared,s=at(u.padding);this.chart=o;this.options=n;u.padding=0;this.crosshairs=[];this.currentY=this.currentX=0;this.tooltipIsHidden=!0;this.label=o.renderer.label("",0,0,null,null,null,n.useHTML,null,"tooltip").attr({padding:s,fill:n.backgroundColor,"stroke-width":w,r:n.borderRadius,zIndex:8}).css(u).hide().add();bz||this.label.shadow(n.shadow);this.shared=t}function aD(o,n){var s=bz?"":n.chart.zoomType;this.zoomX=/x/.test(s);this.zoomY=/y/.test(s);this.options=n;this.chart=o;this.init(o,n.tooltip)}function l(n){this.init(n)}function bS(o,n){var u,t=o.series;o.series=null;u=bk(aS,o);u.series=o.series=t;var t=u.chart,s=t.margin,s=bw(s)?s:[s,s,s,s];this.optionsMarginTop=ax(t.marginTop,s[0]);this.optionsMarginRight=ax(t.marginRight,s[1]);this.optionsMarginBottom=ax(t.marginBottom,s[2]);this.optionsMarginLeft=ax(t.marginLeft,s[3]);this.runChartClick=(s=t.events)&&!!s.click;this.callback=n;this.isResizing=0;this.options=u;this.axes=[];this.series=[];this.hasCartesianSeries=t.showAxes;this.init(s)}var bo,bm=document,a2=window,a4=Math,av=a4.round,aR=a4.floor,y=a4.ceil,ar=a4.max,a1=a4.min,a3=a4.abs,aQ=a4.cos,ac=a4.sin,c=a4.PI,ae=c*2/360,bJ=navigator.userAgent,q=/msie/i.test(bJ)&&!a2.opera,a9=bm.documentMode===8,j=/AppleWebKit/.test(bJ),bQ=/Firefox/.test(bJ),aE=!!bm.createElementNS&&!!bm.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,v=bQ&&parseInt(bJ.split("Firefox/")[1],10)<4,bz=!aE&&!q&&!!bm.createElement("canvas").getContext,bK,g=bm.documentElement.ontouchstart!==bo,bC={},bE=0,ay,aS,K,H,bu,bj,b=function(){},aC="div",aT="none",bn="rgba(192,192,192,"+(aE?0.000001:0.002)+")",al="millisecond",a5="second",e="minute",bV="hour",aH="day",bL="week",bH="month",bp="year",aZ,aB,ad,bP,br,bl,bv,r,a,h,bI,bs,aP={};a2.Highcharts={};K=function(D,C,B){if(!aw(C)||isNaN(C)){return"Invalid date"}var D=ax(D,"%Y-%m-%d %H:%M:%S"),A=new Date(C),z,x=A[ad](),w=A[bP](),u=A[br](),t=A[bl](),s=A[bv](),o=aS.lang,n=o.weekdays,C={a:n[w].substr(0,3),A:n[w],d:bG(u),e:u,b:o.shortMonths[t],B:o.months[t],m:bG(t+1),y:s.toString().substr(2,2),Y:s,H:bG(x),I:bG(x%12||12),l:x%12||12,M:bG(A[aB]()),p:x<12?"AM":"PM",P:x<12?"am":"pm",S:bG(A.getSeconds()),L:bG(av(C%1000),3)};for(z in C){D=D.replace("%"+z,C[z])}return B?D.substr(0,1).toUpperCase()+D.substr(1):D};bN.prototype={wrapColor:function(n){if(this.color>=n){this.color=0}},wrapSymbol:function(n){if(this.symbol>=n){this.symbol=0}}};bj=bR(al,1,a5,1000,e,60000,bV,3600000,aH,86400000,bL,604800000,bH,2592000000,bp,31556952000);bu={init:function(B,A,z){var A=A||"",x=B.shift,w=A.indexOf("C")>-1,u=w?7:3,t,A=A.split(" "),z=[].concat(z),s,o,n=function(C){for(t=C.length;t--;){C[t]==="M"&&C.splice(t+1,0,C[t+1],C[t+2],C[t+1],C[t+2])}};w&&(n(A),n(z));B.isArea&&(s=A.splice(A.length-6,6),o=z.splice(z.length-6,6));if(x<=z.length/u){for(;x--;){z=[].concat(z).splice(0,u).concat(z)}}B.shift=0;if(A.length){for(B=z.length;A.length<B;){x=[].concat(A).splice(A.length-u,u),w&&(x[u-6]=x[u-2],x[u-5]=x[u-1]),A=A.concat(x)}}s&&(A=A.concat(s),z=z.concat(o));return[A,z]},step:function(o,n,w,u){var t=[],s=o.length;if(w===1){t=u}else{if(s===n.length&&w<1){for(;s--;){u=parseFloat(o[s]),t[s]=isNaN(u)?o[s]:w*parseFloat(n[s]-u)+u}}else{t=n}}return t}};var aU=a2.HighchartsAdapter,bc=aU||{},aO=bc.adapterRun,bg=bc.getScript,az=bc.each,aJ=bc.grep,aG=bc.offset,ag=bc.map,bk=bc.merge,a8=bc.addEvent,aY=bc.removeEvent,bf=bc.fireEvent,aj=bc.washMouseEvent,f=bc.animate,k=bc.stop;aU&&aU.init&&aU.init(bu);if(!aU&&a2.jQuery){var aX=jQuery,bg=aX.getScript,aO=function(o,n){return aX(o)[n]()},az=function(o,n){for(var t=0,s=o.length;t<s;t++){if(n.call(o[t],o[t],t,o)===!1){return t}}},aJ=aX.grep,ag=function(o,n){for(var u=[],t=0,s=o.length;t<s;t++){u[t]=n.call(o[t],o[t],t,o)}return u},bk=function(){var n=arguments;return aX.extend(!0,null,n[0],n[1],n[2],n[3])},aG=function(n){return aX(n).offset()},a8=function(o,n,s){aX(o).bind(n,s)},aY=function(o,n,t){var s=bm.removeEventListener?"removeEventListener":"detachEvent";bm[s]&&!o[s]&&(o[s]=function(){});aX(o).unbind(n,t)},bf=function(o,n,x,w){var u=aX.Event(n),t="detached"+n,s;!q&&x&&(delete x.layerX,delete x.layerY);au(u,x);o[n]&&(o[t]=o[n],o[n]=null);az(["preventDefault","stopPropagation"],function(A){var z=u[A];u[A]=function(){try{z.call(u)}catch(B){A==="preventDefault"&&(s=!0)}}});aX(o).trigger(u);o[t]&&(o[n]=o[t],o[t]=null);w&&!u.isDefaultPrevented()&&!s&&w(u)},aj=function(n){return n},f=function(o,n,t){var s=aX(o);if(n.d){o.toD=n.d,n.d=1}s.stop();s.animate(n,t)},k=function(n){aX(n).stop()};aX.extend(aX.easing,{easeOutQuad:function(o,n,u,t,s){return -t*(n/=s)*(n-2)+u}});var p=aX.fx,bT=p.step;az(["cur","_default","width","height"],function(o,n){var u=bT,t,s;o==="cur"?u=p.prototype:o==="_default"&&aX.Tween&&(u=aX.Tween.propHooks[o],o="set");(t=u[o])&&(u[o]=function(w){w=n?w:this;s=w.elem;return s.attr?s.attr(w.prop,o==="cur"?bo:w.now):t.apply(this,arguments)})});bT.d=function(o){var n=o.elem;if(!o.started){var s=bu.init(n,n.d,n.toD);o.start=s[0];o.end=s[1];o.started=!0}n.attr("d",bu.step(o.start,o.end,o.pos,n.toD))}}bc={enabled:!0,align:"center",x:0,y:15,style:{color:"#666",fontSize:"11px",lineHeight:"14px"}};aS={colors:"#4572A7,#AA4643,#89A54E,#80699B,#3D96AE,#DB843D,#92A8CD,#A47D7C,#B5CA92".split(","),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),decimalPoint:".",resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/2.2.5/modules/canvas-tools.js"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",y:15,style:{color:"#3E576F",fontSize:"16px"}},subtitle:{text:"",align:"center",y:30,style:{color:"#6D869F"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1000},events:{},lineWidth:2,shadow:!0,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:bk(bc,{enabled:!1,y:-6,formatter:function(){return this.y}}),cropThreshold:300,pointRange:0,showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:"absolute",color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#3E576F",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#3E576F",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},style:{position:"absolute",backgroundColor:"white",opacity:0.5,textAlign:"center"}},tooltip:{enabled:!0,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:2,borderRadius:5,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}</span><br/>',pointFormat:'<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b><br/>',shadow:!0,shared:bz,snap:g?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}};var aN=aS.plotOptions,aU=aN.line;by();var ai=function(o){var n=[],s;(function(t){(s=/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(t))?n=[at(s[1]),at(s[2]),at(s[3]),parseFloat(s[4],10)]:(s=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(t))&&(n=[at(s[1],16),at(s[2],16),at(s[3],16),1])})(o);return{get:function(t){return n&&!isNaN(n[0])?t==="rgb"?"rgb("+n[0]+","+n[1]+","+n[2]+")":t==="a"?n[3]:"rgba("+n.join(",")+")":o},brighten:function(t){if(ak(t)&&t!==0){var u;for(u=0;u<3;u++){n[u]+=at(t*255),n[u]<0&&(n[u]=0),n[u]>255&&(n[u]=255)}}return this},setOpacity:function(t){n[3]=t;return this}}};an.prototype={init:function(o,n){this.element=n==="span"?aV(n):bm.createElementNS("http://www.w3.org/2000/svg",n);this.renderer=o;this.attrSetters={}},animate:function(o,n,s){n=ax(n,H,!0);k(this);if(n){n=bk(n);if(s){n.complete=s}f(this,o,n)}else{this.attr(o),s&&s()}},attr:function(G,F){var E,D,C,B,A=this.element,z=A.nodeName,x=this.renderer,w,u=this.attrSetters,t=this.shadows,s,o,n=this;bU(G)&&aw(F)&&(E=G,G={},G[E]=F);if(bU(G)){E=G,z==="circle"?E={x:"cx",y:"cy"}[E]||E:E==="strokeWidth"&&(E="stroke-width"),n=ap(A,E)||this[E]||0,E!=="d"&&E!=="visibility"&&(n=parseFloat(n))}else{for(E in G){if(w=!1,D=G[E],C=u[E]&&u[E](D,E),C!==!1){C!==bo&&(D=C);if(E==="d"){D&&D.join&&(D=D.join(" ")),/(NaN| {2}|^$)/.test(D)&&(D="M 0 0")}else{if(E==="x"&&z==="text"){for(C=0;C<A.childNodes.length;C++){B=A.childNodes[C],ap(B,"x")===ap(A,"x")&&ap(B,"x",D)}this.rotation&&ap(A,"transform","rotate("+this.rotation+" "+D+" "+at(G.y||ap(A,"y"))+")")}else{if(E==="fill"){D=x.color(D,A,E)}else{if(z==="circle"&&(E==="x"||E==="y")){E={x:"cx",y:"cy"}[E]||E}else{if(z==="rect"&&E==="r"){ap(A,{rx:D,ry:D}),w=!0}else{if(E==="translateX"||E==="translateY"||E==="rotation"||E==="verticalAlign"){w=o=!0}else{if(E==="stroke"){D=x.color(D,A,E)}else{if(E==="dashstyle"){if(E="stroke-dasharray",D=D&&D.toLowerCase(),D==="solid"){D=aT}else{if(D){D=D.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(C=D.length;C--;){D[C]=at(D[C])*G["stroke-width"]}D=D.join(",")}}}else{if(E==="isTracker"){this[E]=D}else{if(E==="width"){D=at(D)}else{if(E==="align"){E="text-anchor",D={left:"start",center:"middle",right:"end"}[D]}else{if(E==="title"){C=A.getElementsByTagName("title")[0],C||(C=bm.createElementNS("http://www.w3.org/2000/svg","title"),A.appendChild(C)),C.textContent=D}}}}}}}}}}}}E==="strokeWidth"&&(E="stroke-width");j&&E==="stroke-width"&&D===0&&(D=0.000001);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(E)&&(s||(this.symbolAttr(G),s=!0),w=!0);if(t&&/^(width|height|visibility|x|y|d|transform)$/.test(E)){for(C=t.length;C--;){ap(t[C],E,E==="height"?ar(D-(t[C].cutHeight||0),0):D)}}if((E==="width"||E==="height")&&z==="rect"&&D<0){D=0}this[E]=D;o&&this.updateTransform();E==="text"?(this.textStr=D,this.added&&x.buildText(this)):w||ap(A,E,D)}}}if(j&&/Chrome\/(18|19)/.test(bJ)&&z==="text"&&(G.x!==bo||G.y!==bo)){E=A.parentNode,D=A.nextSibling,E&&(E.removeChild(A),D?E.insertBefore(A,D):E.appendChild(A))}return n},symbolAttr:function(o){var n=this;az("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(s){n[s]=ax(o[s],n[s])});n.attr({d:n.renderer.symbols[n.symbolName](n.x,n.y,n.width,n.height,n)})},clip:function(n){return this.attr("clip-path","url("+this.renderer.url+"#"+n.id+")")},crisp:function(A,z,x,w,u){var t,s={},o={},n,A=A||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;n=av(A)%2/2;o.x=aR(z||this.x||0)+n;o.y=aR(x||this.y||0)+n;o.width=aR((w||this.width||0)-2*n);o.height=aR((u||this.height||0)-2*n);o.strokeWidth=A;for(t in o){this[t]!==o[t]&&(this[t]=s[t]=o[t])}return s},css:function(o){var n=this.element,n=o&&o.width&&n.nodeName==="text",u,t="",s=function(x,w){return"-"+w.toLowerCase()};if(o&&o.color){o.fill=o.color}this.styles=o=au(this.styles,o);if(q&&!aE){n&&delete o.width,bd(this.element,o)}else{for(u in o){t+=u.replace(/([A-Z])/g,s)+":"+o[u]+";"}this.attr({style:t})}n&&this.added&&this.renderer.buildText(this);return this},on:function(o,n){var s=n;g&&o==="click"&&(o="touchstart",s=function(t){t.preventDefault();n()});this.element["on"+o]=s;return this},setRadialReference:function(n){this.element.radialReference=n;return this},translate:function(o,n){return this.attr({translateX:o,translateY:n})},invert:function(){this.inverted=!0;this.updateTransform();return this},htmlCss:function(o){var n=this.element;if(n=o&&n.tagName==="SPAN"&&o.width){delete o.width,this.textWidth=n,this.updateTransform()}this.styles=au(this.styles,o);bd(this.element,o);return this},htmlGetBBox:function(o){var n=this.element,s=this.bBox;if(!s||o){if(n.nodeName==="text"){n.style.position="absolute"}s=this.bBox={x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}}return s},htmlUpdateTransform:function(){if(this.added){var N=this.renderer,M=this.element,L=this.translateX||0,I=this.translateY||0,G=this.x||0,F=this.y||0,E=this.textAlign||"left",D={left:0,center:0.5,right:1}[E],C=E&&E!=="left",B=this.shadows;if(L||I){bd(M,{marginLeft:L,marginTop:I}),B&&az(B,function(O){bd(O,{marginLeft:L+1,marginTop:I+1})})}this.inverted&&az(M.childNodes,function(O){N.invertChild(O,M)});if(M.tagName==="SPAN"){var A,z,B=this.rotation,x;A=0;var u=1,t=0,w;x=at(this.textWidth);var s=this.xCorr||0,o=this.yCorr||0,n=[B,E,M.innerHTML,this.textWidth].join(",");if(n!==this.cTT){aw(B)&&(A=B*ae,u=aQ(A),t=ac(A),bd(M,{filter:B?["progid:DXImageTransform.Microsoft.Matrix(M11=",u,", M12=",-t,", M21=",t,", M22=",u,", sizingMethod='auto expand')"].join(""):aT})),A=ax(this.elemWidth,M.offsetWidth),z=ax(this.elemHeight,M.offsetHeight),A>x&&/[ \-]/.test(M.innerText)&&(bd(M,{width:x+"px",display:"block",whiteSpace:"normal"}),A=x),x=N.fontMetrics(M.style.fontSize).b,s=u<0&&-A,o=t<0&&-z,w=u*t<0,s+=t*x*(w?1-D:D),o-=u*x*(B?w?D:1-D:1),C&&(s-=A*D*(u<0?-1:1),B&&(o-=z*D*(t<0?-1:1)),bd(M,{textAlign:E})),this.xCorr=s,this.yCorr=o}bd(M,{left:G+s+"px",top:F+o+"px"});this.cTT=n}}else{this.alignOnAdd=!0}},updateTransform:function(){var o=this.translateX||0,n=this.translateY||0,u=this.inverted,t=this.rotation,s=[];u&&(o+=this.attr("width"),n+=this.attr("height"));(o||n)&&s.push("translate("+o+","+n+")");u?s.push("rotate(90) scale(-1,1)"):t&&s.push("rotate("+t+" "+(this.x||0)+" "+(this.y||0)+")");s.length&&ap(this.element,"transform",s.join(" "))},toFront:function(){var n=this.element;n.parentNode.appendChild(n);return this},align:function(o,n,z){o?(this.alignOptions=o,this.alignByTranslate=n,z||this.renderer.alignedObjects.push(this)):(o=this.alignOptions,n=this.alignByTranslate);var z=ax(z,this.renderer),x=o.align,w=o.verticalAlign,u=(z.x||0)+(o.x||0),t=(z.y||0)+(o.y||0),s={};/^(right|center)$/.test(x)&&(u+=(z.width-(o.width||0))/{right:1,center:2}[x]);s[n?"translateX":"x"]=av(u);/^(bottom|middle)$/.test(w)&&(t+=(z.height-(o.height||0))/({bottom:1,middle:2}[w]||1));s[n?"translateY":"y"]=av(t);this[this.placed?"animate":"attr"](s);this.placed=!0;this.alignAttr=s;return this},getBBox:function(o){var n,w,u=this.rotation;w=this.element;var t=u*ae;if(w.namespaceURI==="http://www.w3.org/2000/svg"||this.renderer.forExport){try{n=w.getBBox?au({},w.getBBox()):{width:w.offsetWidth,height:w.offsetHeight}}catch(s){}if(!n||n.width<0){n={width:0,height:0}}o=n.width;w=n.height;if(u){n.width=a3(w*ac(t))+a3(o*aQ(t)),n.height=a3(w*aQ(t))+a3(o*ac(t))}}else{n=this.htmlGetBBox(o)}return n},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},add:function(o){var n=this.renderer,z=o||n,x=z.element||n.box,w=x.childNodes,u=this.element,t=ap(u,"zIndex"),s;this.parentInverted=o&&o.inverted;this.textStr!==void 0&&n.buildText(this);if(t){z.handleZ=!0,t=at(t)}if(z.handleZ){for(z=0;z<w.length;z++){if(o=w[z],n=ap(o,"zIndex"),o!==u&&(at(n)>t||!aw(t)&&aw(n))){x.insertBefore(u,o);s=!0;break}}}s||x.appendChild(u);this.added=!0;bf(this,"add");return this},safeRemoveChild:function(o){var n=o.parentNode;n&&n.removeChild(o)},destroy:function(){var o=this,n=o.element||{},w=o.shadows,u=o.box,t,s;n.onclick=n.onmouseout=n.onmouseover=n.onmousemove=null;k(o);if(o.clipPath){o.clipPath=o.clipPath.destroy()}if(o.stops){for(s=0;s<o.stops.length;s++){o.stops[s]=o.stops[s].destroy()}o.stops=null}o.safeRemoveChild(n);w&&az(w,function(x){o.safeRemoveChild(x)});u&&u.destroy();bt(o.renderer.alignedObjects,o);for(t in o){delete o[t]}return null},empty:function(){for(var o=this.element,n=o.childNodes,s=n.length;s--;){o.removeChild(n[s])}},shadow:function(o,n,z){var x=[],w,u=this.element,t,s=this.parentInverted?"(-1,-1)":"(1,1)";if(o){for(o=1;o<=3;o++){w=u.cloneNode(0);t=7-2*o;ap(w,{isShadow:"true",stroke:"rgb(0, 0, 0)","stroke-opacity":0.05*o,"stroke-width":t,transform:"translate"+s,fill:aT});if(z){ap(w,"height",ar(ap(w,"height")-t,0)),w.cutHeight=t}n?n.element.appendChild(w):u.parentNode.insertBefore(w,u);x.push(w)}this.shadows=x}return this}};var m=function(){this.init.apply(this,arguments)};m.prototype={Element:an,init:function(o,n,x,w){var u=location,t;t=this.createElement("svg").attr({xmlns:"http://www.w3.org/2000/svg",version:"1.1"});o.appendChild(t.element);this.isSVG=!0;this.box=t.element;this.boxWrapper=t;this.alignedObjects=[];this.url=q?"":u.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1");this.defs=this.createElement("defs").add();this.forExport=w;this.gradients={};this.setSize(n,x,!1);var s;if(bQ&&o.getBoundingClientRect){this.subPixelFix=n=function(){bd(o,{left:0,top:0});s=o.getBoundingClientRect();bd(o,{left:y(s.left)-s.left+"px",top:y(s.top)-s.top+"px"})},n(),a8(a2,"resize",n)}},isHidden:function(){return !this.boxWrapper.getBBox().width},destroy:function(){var n=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();bA(this.gradients||{});this.gradients=null;if(n){this.defs=n.destroy()}this.subPixelFix&&aY(a2,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(o){var n=new this.Element;n.init(this,o);return n},draw:function(){},buildText:function(D){for(var C=D.element,B=ax(D.textStr,"").toString().replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">').replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"</span>").split(/<br.*?>/g),A=C.childNodes,z=/style="([^"]+)"/,x=/href="([^"]+)"/,w=ap(C,"x"),u=D.styles,t=u&&at(u.width),s=u&&u.lineHeight,o,u=A.length,n=[];u--;){C.removeChild(A[u])}t&&!D.added&&this.box.appendChild(C);B[B.length-1]===""&&B.pop();az(B,function(L,I){var E,G=0,F,L=L.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");E=L.split("|||");az(E,function(Q){if(Q!==""||E.length===1){var M={},P=bm.createElementNS("http://www.w3.org/2000/svg","tspan");z.test(Q)&&ap(P,"style",Q.match(z)[1].replace(/(;| |^)color([ :])/,"$1fill$2"));x.test(Q)&&(ap(P,"onclick",'location.href="'+Q.match(x)[1]+'"'),bd(P,{cursor:"pointer"}));Q=(Q.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">");P.appendChild(bm.createTextNode(Q));G?M.dx=3:M.x=w;if(!G){if(I){!aE&&D.renderer.forExport&&bd(P,{display:"block"});F=a2.getComputedStyle&&at(a2.getComputedStyle(o,null).getPropertyValue("line-height"));if(!F||isNaN(F)){var O;if(!(O=s)){if(!(O=o.offsetHeight)){n[I]=C.getBBox().height,O=av(n[I]-(n[I-1]||0))||18}}F=O}ap(P,"dy",F)}o=P}ap(P,M);C.appendChild(P);G++;if(t){for(var Q=Q.replace(/-/g,"- ").split(" "),N=[];Q.length||N.length;){O=D.getBBox().width,M=O>t,!M||Q.length===1?(Q=N,N=[],Q.length&&(P=bm.createElementNS("http://www.w3.org/2000/svg","tspan"),ap(P,{dy:s||16,x:w}),C.appendChild(P),O>t&&(t=O))):(P.removeChild(P.firstChild),N.unshift(Q.pop())),Q.length&&P.appendChild(bm.createTextNode(Q.join(" ").replace(/- /g,"-")))}}}})})},button:function(F,E,D,C,B,A,z){var x=this.label(F,E,D),w=0,u,t,s,o,n,F={x1:0,y1:0,x2:0,y2:1},B=bk(bR("stroke-width",1,"stroke","#999","fill",bR("linearGradient",F,"stops",[[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,"style",bR("color","black")),B);s=B.style;delete B.style;A=bk(B,bR("stroke","#68A","fill",bR("linearGradient",F,"stops",[[0,"#FFF"],[1,"#ACF"]])),A);o=A.style;delete A.style;z=bk(B,bR("stroke","#68A","fill",bR("linearGradient",F,"stops",[[0,"#9BD"],[1,"#CDF"]])),z);n=z.style;delete z.style;a8(x.element,"mouseenter",function(){x.attr(A).css(o)});a8(x.element,"mouseleave",function(){u=[B,A,z][w];t=[s,o,n][w];x.attr(u).css(t)});x.setState=function(G){(w=G)?G===2&&x.attr(z).css(n):x.attr(B).css(s)};return x.on("click",function(){C.call(x)}).attr(B).css(au({cursor:"default"},s))},crispLine:function(o,n){o[1]===o[4]&&(o[1]=o[4]=av(o[1])+n%2/2);o[2]===o[5]&&(o[2]=o[5]=av(o[2])+n%2/2);return o},path:function(o){var n={fill:aT};aI(o)?n.d=o:bw(o)&&au(n,o);return this.createElement("path").attr(n)},circle:function(o,n,s){o=bw(o)?o:{x:o,y:n,r:s};return this.createElement("circle").attr(o)},arc:function(o,n,w,u,t,s){if(bw(o)){n=o.y,w=o.r,u=o.innerR,t=o.start,s=o.end,o=o.x}return this.symbol("arc",o||0,n||0,w||0,w||0,{innerR:u||0,start:t||0,end:s||0})},rect:function(o,n,w,u,t,s){t=bw(o)?o.r:t;t=this.createElement("rect").attr({rx:t,ry:t,fill:aT});return t.attr(bw(o)?o:t.crisp(s,o,n,ar(w,0),ar(u,0)))},setSize:function(o,n,u){var t=this.alignedObjects,s=t.length;this.width=o;this.height=n;for(this.boxWrapper[ax(u,!0)?"animate":"attr"]({width:o,height:n});s--;){t[s].align()}},g:function(o){var n=this.createElement("g");return aw(o)?n.attr({"class":"highcharts-"+o}):n},image:function(o,n,w,u,t){var s={preserveAspectRatio:aT};arguments.length>1&&au(s,{x:n,y:w,width:u,height:t});s=this.createElement("image").attr(s);s.element.setAttributeNS?s.element.setAttributeNS("http://www.w3.org/1999/xlink","href",o):s.element.setAttribute("hc-svg-href",o);return s},symbol:function(C,B,A,z,x,w){var u,t=this.symbols[C],t=t&&t(av(B),av(A),z,x,w),s=/^url\((.*?)\)$/,o,n;t?(u=this.path(t),au(u,{symbolName:C,x:B,y:A,width:z,height:x}),w&&au(u,w)):s.test(C)&&(n=function(E,D){E.attr({width:D[0],height:D[1]});E.alignByTranslate||E.translate(-av(D[0]/2),-av(D[1]/2))},o=C.match(s)[1],C=bC[o],u=this.image(o).attr({x:B,y:A}),C?n(u,C):(u.attr({width:0,height:0}),aV("img",{onload:function(){n(u,bC[o]=[this.width,this.height])},src:o})));return u},symbols:{circle:function(o,n,u,t){var s=0.166*u;return["M",o+u/2,n,"C",o+u+s,n,o+u+s,n+t,o+u/2,n+t,"C",o-s,n+t,o-s,n,o+u/2,n,"Z"]},square:function(o,n,t,s){return["M",o,n,"L",o+t,n,o+t,n+s,o,n+s,"Z"]},triangle:function(o,n,t,s){return["M",o+t/2,n,"L",o+t,n+s,o,n+s,"Z"]},"triangle-down":function(o,n,t,s){return["M",o,n,"L",o+t,n,o+t/2,n+s,"Z"]},diamond:function(o,n,t,s){return["M",o+t/2,n,"L",o+t,n+s/2,o+t/2,n+s,o,n+s/2,"Z"]},arc:function(C,B,A,z,x){var w=x.start,A=x.r||A||z,u=x.end-0.000001,z=x.innerR,t=x.open,s=aQ(w),o=ac(w),n=aQ(u),u=ac(u),x=x.end-w<c?0:1;return["M",C+A*s,B+A*o,"A",A,A,0,x,1,C+A*n,B+A*u,t?"M":"L",C+z*n,B+z*u,"A",z,z,0,x,0,C+z*s,B+z*o,t?"":"Z"]}},clipRect:function(o,n,w,u){var t="highcharts-"+bE++,s=this.createElement("clipPath").attr({id:t}).add(this.defs),o=this.rect(o,n,w,u,0).add(s);o.id=t;o.clipPath=s;return o},color:function(C,B,A){var z=this,x,w=/^rgba/,u;C&&C.linearGradient?u="linearGradient":C&&C.radialGradient&&(u="radialGradient");if(u){var A=C[u],t=z.gradients,s,o,n,B=B.radialReference;if(!A.id||!t[A.id]){aI(A)&&(C[u]=A={x1:A[0],y1:A[1],x2:A[2],y2:A[3],gradientUnits:"userSpaceOnUse"}),u==="radialGradient"&&B&&!aw(A.gradientUnits)&&au(A,{cx:B[0]-B[2]/2+A.cx*B[2],cy:B[1]-B[2]/2+A.cy*B[2],r:A.r*B[2],gradientUnits:"userSpaceOnUse"}),A.id="highcharts-"+bE++,t[A.id]=s=z.createElement(u).attr(A).add(z.defs),s.stops=[],az(C.stops,function(D){w.test(D[1])?(x=ai(D[1]),o=x.get("rgb"),n=x.get("a")):(o=D[1],n=1);D=z.createElement("stop").attr({offset:D[0],"stop-color":o,"stop-opacity":n}).add(s);s.stops.push(D)})}return"url("+z.url+"#"+A.id+")"}else{return w.test(C)?(x=ai(C),ap(B,A+"-opacity",x.get("a")),x.get("rgb")):(B.removeAttribute(A+"-opacity"),C)}},text:function(o,n,u,t){var s=aS.chart.style;if(t&&!this.forExport){return this.html(o,n,u)}n=av(ax(n,0));u=av(ax(u,0));o=this.createElement("text").attr({x:n,y:u,text:o}).css({fontFamily:s.fontFamily,fontSize:s.fontSize});o.x=n;o.y=u;return o},html:function(o,n,z){var x=aS.chart.style,w=this.createElement("span"),u=w.attrSetters,t=w.element,s=w.renderer;u.text=function(A){t.innerHTML=A;return !1};u.x=u.y=u.align=function(B,A){A==="align"&&(A="textAlign");w[A]=B;w.htmlUpdateTransform();return !1};w.attr({text:o,x:av(n),y:av(z)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:x.fontFamily,fontSize:x.fontSize});w.css=w.htmlCss;if(s.isSVG){w.add=function(B){var A,D,C=s.box.parentNode;if(B){if(A=B.div,!A){A=B.div=aV(aC,{className:ap(B.element,"class")},{position:"absolute",left:B.attr("translateX")+"px",top:B.attr("translateY")+"px"},C),D=A.style,au(B.attrSetters,{translateX:function(E){D.left=E+"px"},translateY:function(E){D.top=E+"px"},visibility:function(F,E){D[E]=F}})}}else{A=C}A.appendChild(t);w.added=!0;w.alignOnAdd&&w.htmlUpdateTransform();return w}}return w},fontMetrics:function(o){var o=at(o||11),o=o<24?o+4:av(o*1.2),n=av(o*0.8);return{h:o,b:n}},label:function(Y,X,W,V,U,T,S,R,Q){function P(){var w=I.styles,w=w&&w.textAlign,o=s*(1-z),x;x=R?0:A;if(aw(n)&&(w==="center"||w==="right")){o+={center:0.5,right:1}[w]*(n-F.width)}(o!==G.x||x!==G.y)&&G.attr({x:o,y:x});G.x=o;G.y=x}function O(w,o){L?L.attr(w,o):B[w]=o}function N(){I.attr({text:Y,x:X,y:W});aw(U)&&I.attr({anchorX:U,anchorY:T})}var M=this,I=M.g(Q),G=M.text("",0,0,S).attr({zIndex:1}).add(I),L,F,z=0,s=3,n,E,D,u,t=0,B={},A,S=I.attrSetters;a8(I,"add",N);S.width=function(o){n=o;return !1};S.height=function(o){E=o;return !1};S.padding=function(o){aw(o)&&o!==s&&(s=o,P());return !1};S.align=function(o){z={left:0,center:0.5,right:1}[o];return !1};S.text=function(w,o){G.attr(o,w);var x;x=G.element.style;F=(n===void 0||E===void 0||I.styles.textAlign)&&G.getBBox(!0);I.width=(n||F.width||0)+2*s;I.height=(E||F.height||0)+2*s;A=s+M.fontMetrics(x&&x.fontSize).b;if(!L){x=R?-A:0,I.box=L=V?M.symbol(V,-z*s,x,I.width,I.height):M.rect(-z*s,x,I.width,I.height,0,B["stroke-width"]),L.add(I)}L.attr(bk({width:I.width,height:I.height},B));B=null;P();return !1};S["stroke-width"]=function(w,o){t=w%2/2;O(o,w);return !1};S.stroke=S.fill=S.r=function(w,o){O(o,w);return !1};S.anchorX=function(w,o){U=w;O(o,w+t-D);return !1};S.anchorY=function(w,o){T=w;O(o,w-u);return !1};S.x=function(o){I.x=o;o-=z*((n||F.width)+s);D=av(o);I.attr("translateX",D);return !1};S.y=function(o){u=I.y=av(o);I.attr("translateY",o);return !1};var C=I.css;return au(I,{css:function(w){if(w){var o={},w=bk({},w);az("fontSize,fontWeight,fontFamily,color,lineHeight,width".split(","),function(x){w[x]!==bo&&(o[x]=w[x],delete w[x])});G.css(o)}return C.call(I,w)},getBBox:function(){return L.getBBox()},shadow:function(o){L.shadow(o);return I},destroy:function(){aY(I,"add",N);aY(I.element,"mouseenter");aY(I.element,"mouseleave");G&&(G=G.destroy());an.prototype.destroy.call(I)}})}};bK=m;var i;if(!aE&&!bz){i={init:function(o,n){var t=["<",n,' filled="f" stroked="f"'],s=["position: ","absolute",";"];(n==="shape"||n===aC)&&s.push("left:0;top:0;width:1px;height:1px;");a9&&s.push("visibility: ",n===aC?"hidden":"visible");t.push(' style="',s.join(""),'"/>');if(n){t=n===aC||n==="span"||n==="img"?t.join(""):o.prepVML(t),this.element=aV(t)}this.renderer=o;this.attrSetters={}},add:function(o){var n=this.renderer,t=this.element,s=n.box,s=o?o.element||o:s;o&&o.inverted&&n.invertChild(t,s);a9&&s.gVis==="hidden"&&bd(t,{visibility:"hidden"});s.appendChild(t);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();bf(this,"add");return this},toggleChildren:function(o,n){for(var t=o.childNodes,s=t.length;s--;){bd(t[s],{visibility:n}),t[s].nodeName==="DIV"&&this.toggleChildren(t[s],n)}},updateTransform:an.prototype.htmlUpdateTransform,attr:function(G,F){var E,D,C,B=this.element||{},A=B.style,z=B.nodeName,x=this.renderer,w=this.symbolName,u,t=this.shadows,s,o=this.attrSetters,n=this;bU(G)&&aw(F)&&(E=G,G={},G[E]=F);if(bU(G)){E=G,n=E==="strokeWidth"||E==="stroke-width"?this.strokeweight:this[E]}else{for(E in G){if(D=G[E],s=!1,C=o[E]&&o[E](D,E),C!==!1&&D!==null){C!==bo&&(D=C);if(w&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(E)){u||(this.symbolAttr(G),u=!0),s=!0}else{if(E==="d"){D=D||[];this.d=D.join(" ");C=D.length;for(s=[];C--;){s[C]=ak(D[C])?av(D[C]*10)-5:D[C]==="Z"?"x":D[C]}D=s.join(" ")||"x";B.path=D;if(t){for(C=t.length;C--;){t[C].path=t[C].cutOff?this.cutOffPath(D,t[C].cutOff):D}}s=!0}else{if(E==="zIndex"||E==="visibility"){if(a9&&E==="visibility"&&z==="DIV"){B.gVis=D,this.toggleChildren(B,D),D==="visible"&&(D=null)}D&&(A[E]=D);s=!0}else{if(E==="width"||E==="height"){D=ar(0,D),this[E]=D,this.updateClipping?(this[E]=D,this.updateClipping()):A[E]=D,s=!0}else{if(E==="x"||E==="y"){this[E]=D,A[{x:"left",y:"top"}[E]]=D}else{if(E==="class"){B.className=D}else{if(E==="stroke"){D=x.color(D,B,E),E="strokecolor"}else{if(E==="stroke-width"||E==="strokeWidth"){B.stroked=D?!0:!1,E="strokeweight",this[E]=D,ak(D)&&(D+="px")}else{if(E==="dashstyle"){(B.getElementsByTagName("stroke")[0]||aV(x.prepVML(["<stroke/>"]),null,null,B))[E]=D||"solid",this.dashstyle=D,s=!0}else{if(E==="fill"){z==="SPAN"?A.color=D:(B.filled=D!==aT?!0:!1,D=x.color(D,B,E),E="fillcolor")}else{if(z==="shape"&&E==="rotation"){this[E]=D}else{if(E==="translateX"||E==="translateY"||E==="rotation"){this[E]=D,this.updateTransform(),s=!0}else{if(E==="text"){this.bBox=null,B.innerHTML=D,s=!0}}}}}}}}}}}}}if(t&&E==="visibility"){for(C=t.length;C--;){t[C].style[E]=D}}s||(a9?B[E]=D:ap(B,E,D))}}}return n},clip:function(o){var n=this,u=o.members,t=n.element,s=t.parentNode;u.push(n);n.destroyClip=function(){bt(u,n)};s&&s.className==="highcharts-tracker"&&!a9&&bd(t,{visibility:"hidden"});return n.css(o.getCSS(n))},css:an.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&ao(n)},destroy:function(){this.destroyClip&&this.destroyClip();return an.prototype.destroy.apply(this)},empty:function(){for(var o=this.element.childNodes,n=o.length,s;n--;){s=o[n],s.parentNode.removeChild(s)}},on:function(o,n){this.element["on"+o]=function(){var s=a2.event;s.target=s.srcElement;n(s)};return this},cutOffPath:function(o,n){var s,o=o.split(/[ ,]/);s=o.length;if(s===9||s===11){o[s-4]=o[s-2]=at(o[s-2])-10*n}return o.join(" ")},shadow:function(D,C,B){var A=[],z=this.element,x=this.renderer,w,u=z.style,t,s=z.path,o,n;s&&typeof s.value!=="string"&&(s="x");n=s;if(D){for(D=1;D<=3;D++){o=7-2*D;B&&(n=this.cutOffPath(s.value,o+0.5));t=['<shape isShadow="true" strokeweight="',7-2*D,'" filled="false" path="',n,'" coordsize="10 10" style="',z.style.cssText,'" />'];w=aV(x.prepVML(t),null,{left:at(u.left)+1,top:at(u.top)+1});if(B){w.cutOff=o+1}t=['<stroke color="black" opacity="',0.05*D,'"/>'];aV(x.prepVML(t),null,null,w);C?C.element.appendChild(w):z.parentNode.insertBefore(w,z);A.push(w)}this.shadows=A}return this}};i=aA(an,i);var a6={Element:i,isIE8:bJ.indexOf("MSIE 8.0")>-1,init:function(o,n,u){var t,s;this.alignedObjects=[];t=this.createElement(aC);s=t.element;s.style.position="relative";o.appendChild(t.element);this.box=s;this.boxWrapper=t;this.setSize(n,u,!1);if(!bm.namespaces.hcv){bm.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),bm.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(o,n,u,t){var s=this.createElement();return au(s,{members:[],left:o,top:n,width:u,height:t,getCSS:function(x){var w=x.inverted,C=this.top,B=this.left,A=B+this.width,z=C+this.height,C={clip:"rect("+av(w?B:C)+"px,"+av(w?z:A)+"px,"+av(w?A:z)+"px,"+av(w?C:B)+"px)"};!w&&a9&&x.element.nodeName!=="IMG"&&au(C,{width:A+"px",height:z+"px"});return C},updateClipping:function(){az(s.members,function(w){w.css(s.getCSS(w))})}})},color:function(P,O,N){var M,L=/^rgba/,I,G=aT;P&&P.linearGradient?I="gradient":P&&P.radialGradient&&(I="pattern");if(I){var F,E,D=P.linearGradient||P.radialGradient,C,B,A,x,w,z,u="",P=P.stops,n,t=[];B=P[0];n=P[P.length-1];B[0]>0&&P.unshift([0,B[1]]);n[0]<1&&P.push([1,n[1]]);az(P,function(s,o){L.test(s[1])?(M=ai(s[1]),F=M.get("rgb"),E=M.get("a")):(F=s[1],E=1);t.push(s[0]*100+"% "+F);o?(x=E,w=F):(A=E,z=F)});I==="gradient"?(C=D.x1||D[0]||0,P=D.y1||D[1]||0,B=D.x2||D[2]||0,D=D.y2||D[3]||0,C=90-a4.atan((D-P)/(B-C))*180/c):(G=D.r*2,u='src="http://code.highcharts.com/gfx/radial-gradient.png" size="'+G+","+G+'" origin="0.5,0.5" position="'+D.cx+","+D.cy+'" color2="'+z+'" ',G=w);N==="fill"?(N=['<fill colors="'+t.join(",")+'" angle="',C,'" opacity="',x,'" o:opacity2="',A,'" type="',I,'" ',u,'focus="100%" method="any" />'],aV(this.prepVML(N),null,null,O)):G=F}else{if(L.test(P)&&O.tagName!=="IMG"){M=ai(P),N=["<",N,' opacity="',M.get("a"),'"/>'],aV(this.prepVML(N),null,null,O),G=M.get("rgb")}else{O=O.getElementsByTagName(N);if(O.length){O[0].opacity=1}G=P}}return G},prepVML:function(o){var n=this.isIE8,o=o.join("");n?(o=o.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),o=o.indexOf('style="')===-1?o.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):o.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):o=o.replace("<","<hcv:");return o},text:m.prototype.html,path:function(o){var n={coordsize:"10 10"};aI(o)?n.d=o:bw(o)&&au(n,o);return this.createElement("shape").attr(n)},circle:function(o,n,s){return this.symbol("circle").attr({x:o-s,y:n-s,width:2*s,height:2*s})},g:function(o){var n;o&&(n={className:"highcharts-"+o,"class":"highcharts-"+o});return this.createElement(aC).attr(n)},image:function(o,n,w,u,t){var s=this.createElement("img").attr({src:o});arguments.length>1&&s.css({left:n,top:w,width:u,height:t});return s},rect:function(o,n,x,w,u,t){if(bw(o)){n=o.y,x=o.width,w=o.height,t=o.strokeWidth,o=o.x}var s=this.symbol("rect");s.r=u;return s.attr(s.crisp(t,o,n,ar(x,0),ar(w,0)))},invertChild:function(o,n){var s=n.style;bd(o,{flip:"x",left:at(s.width)-1,top:at(s.height)-1,rotation:-90})},symbols:{arc:function(E,D,C,B,A){var z=A.start,x=A.end,w=A.r||C||B,C=aQ(z),B=ac(z),u=aQ(x),t=ac(x),s=A.innerR,o=0.08/w,n=s&&0.1/s||0;if(x-z===0){return["x"]}else{2*c-x+z<o?u=-o:x-z<n&&(u=aQ(z+n))}z=["wa",E-w,D-w,E+w,D+w,E+w*C,D+w*B,E+w*u,D+w*t];A.open&&z.push("M",E-s,D-s);z.push("at",E-s,D-s,E+s,D+s,E+s*u,D+s*t,E+s*C,D+s*B,"x","e");return z},circle:function(o,n,t,s){return["wa",o,n,o+t,n+s,o+t,n+s/2,o+t,n+s/2,"e"]},rect:function(o,n,z,x,w){var u=o+z,t=n+x,s;!aw(w)||!w.r?u=m.prototype.symbols.square.apply(0,arguments):(s=a1(w.r,z,x),u=["M",o+s,n,"L",u-s,n,"wa",u-2*s,n,u,n+2*s,u-s,n,u,n+s,"L",u,t-s,"wa",u-2*s,t-2*s,u,t,u,t-s,u-s,t,"L",o+s,t,"wa",o,t-2*s,o+2*s,t,o+s,t,o,t-s,"L",o,n+s,"wa",o,n,o+2*s,n+2*s,o,n+s,o+s,n,"x","e"]);return u}}};i=function(){this.init.apply(this,arguments)};i.prototype=bk(m.prototype,a6);bK=i}var bM,bF;if(bz){bM=function(){},bM.prototype.symbols={},bF=function(){function o(){var s=n.length,t;for(t=0;t<s;t++){n[t]()}n=[]}var n=[];return{push:function(t,s){n.length===0&&bg(s,o);n.push(t)}}}()}bK=i||bM||m;d.prototype={addLabel:function(){var D=this.axis,C=D.options,B=D.chart,A=D.horiz,z=D.categories,x=this.pos,w=C.labels,u=D.tickPositions,A=z&&A&&z.length&&!w.step&&!w.staggerLines&&!w.rotation&&B.plotWidth/u.length||!A&&B.plotWidth/2,t=x===u[0],s=x===u[u.length-1],o=z&&aw(z[x])?z[x]:x,z=this.label,u=u.info,n;D.isDatetimeAxis&&u&&(n=C.dateTimeLabelFormats[u.higherRanks[x]||u.unitName]);this.isFirst=t;this.isLast=s;C=D.labelFormatter.call({axis:D,chart:B,isFirst:t,isLast:s,dateTimeLabelFormat:n,value:D.isLog?af(a0(o)):o});x=A&&{width:ar(1,av(A-2*(w.padding||10)))+"px"};x=au(x,w.style);if(aw(z)){z&&z.attr({text:C}).css(x)}else{A={align:w.align};if(ak(w.rotation)){A.rotation=w.rotation}this.label=aw(C)&&w.enabled?B.renderer.text(C,0,0,w.useHTML).attr(A).css(x).add(D.axisGroup):null}},getLabelSize:function(){var o=this.label,n=this.axis;return o?(this.labelBBox=o.getBBox(!0))[n.horiz?"height":"width"]:0},getLabelSides:function(){var o=this.axis.options.labels,n=this.labelBBox.width,o=n*{left:0,center:0.5,right:1}[o.align]-o.x;return[-o,n-o]},handleOverflow:function(E,D){var C=!0,B=this.axis,A=B.chart,z=this.isFirst,x=this.isLast,w=D.x,u=B.reversed,t=B.tickPositions;if(z||x){var s=this.getLabelSides(),o=s[0],s=s[1],A=A.plotLeft,n=A+B.len,t=(B=B.ticks[t[E+(z?1:-1)]])&&B.label.xy.x+B.getLabelSides()[z?0:1];z&&!u||x&&u?w+o<A&&(w=A-o,B&&w+s>t&&(C=!1)):w+s>n&&(w=n-s,B&&w+o<t&&(C=!1));D.x=w}return C},getPosition:function(o,n,x,w){var u=this.axis,t=u.chart,s=w&&t.oldChartHeight||t.chartHeight;return{x:o?u.translate(n+x,null,null,w)+u.transB:u.left+u.offset+(u.opposite?(w&&t.oldChartWidth||t.chartWidth)-u.right-u.left:0),y:o?s-u.bottom+u.offset-(u.opposite?u.height:0):s-u.translate(n+x,null,null,w)-u.transB}},getLabelPosition:function(C,B,A,z,x,w,u,t){var s=this.axis,o=s.transA,n=s.reversed,s=s.staggerLines,C=C+x.x-(w&&z?w*o*(n?-1:1):0),B=B+x.y-(w&&!z?w*o*(n?1:-1):0);aw(x.y)||(B+=at(A.styles.lineHeight)*0.9-A.getBBox().height/2);s&&(B+=u/(t||1)%s*16);return{x:C,y:B}},getMarkPath:function(o,n,w,u,t,s){return s.crispLine(["M",o,n,"L",o+(t?0:-w),n+(t?w:0)],u)},render:function(X,W){var V=this.axis,U=V.options,T=V.chart.renderer,S=V.horiz,R=this.type,Q=this.label,P=this.pos,O=U.labels,N=this.gridLine,M=R?R+"Grid":"grid",L=R?R+"Tick":"tick",G=U[M+"LineWidth"],F=U[M+"LineColor"],I=U[M+"LineDashStyle"],E=U[L+"Length"],M=U[L+"Width"]||0,w=U[L+"Color"],D=U[L+"Position"],L=this.mark,C=O.step,B=!0,A=U.categories&&U.tickmarkPlacement==="between"?0.5:0,u=this.getPosition(S,P,A,W),o=u.x,u=u.y,z=V.staggerLines;if(G){P=V.getPlotLinePath(P+A,G,W);if(N===bo){N={stroke:F,"stroke-width":G};if(I){N.dashstyle=I}if(!R){N.zIndex=1}this.gridLine=N=G?T.path(P).attr(N).add(V.gridGroup):null}if(!W&&N&&P){N[this.isNew?"attr":"animate"]({d:P})}}if(M){D==="inside"&&(E=-E),V.opposite&&(E=-E),R=this.getMarkPath(o,u,E,M,S,T),L?L.animate({d:R}):this.mark=T.path(R).attr({stroke:w,"stroke-width":M}).add(V.axisGroup)}if(Q&&!isNaN(o)){Q.xy=u=this.getLabelPosition(o,u,Q,S,O,A,X,C),this.isFirst&&!ax(U.showFirstLabel,1)||this.isLast&&!ax(U.showLastLabel,1)?B=!1:!z&&S&&O.overflow==="justify"&&!this.handleOverflow(X,u)&&(B=!1),C&&X%C&&(B=!1),B?(Q[this.isNew?"attr":"animate"](u),Q.show(),this.isNew=!1):Q.hide()}},destroy:function(){bA(this,this.axis)}};be.prototype={render:function(){var R=this,Q=R.axis,P=Q.horiz,O=(Q.pointRange||0)/2,N=R.options,M=N.label,L=R.label,I=N.width,G=N.to,F=N.from,E=aw(F)&&aw(G),D=N.value,C=N.dashStyle,A=R.svgElem,z=[],B,x=N.color,o=N.zIndex,w=N.events,s=Q.chart.renderer;Q.isLog&&(F=bD(F),G=bD(G),D=bD(D));if(I){if(z=Q.getPlotLinePath(D,I),O={stroke:x,"stroke-width":I},C){O.dashstyle=C}}else{if(E){if(F=ar(F,Q.min-O),G=a1(G,Q.max+O),z=Q.getPlotBandPath(F,G,N),O={fill:x},N.borderWidth){O.stroke=N.borderColor,O["stroke-width"]=N.borderWidth}}else{return}}if(aw(o)){O.zIndex=o}if(A){z?A.animate({d:z},null,A.onGetPath):(A.hide(),A.onGetPath=function(){A.show()})}else{if(z&&z.length&&(R.svgElem=A=s.path(z).attr(O).add(),w)){for(B in N=function(n){A.on(n,function(t){w[n].apply(R,[t])})},w){N(B)}}}if(M&&aw(M.text)&&z&&z.length&&Q.width>0&&Q.height>0){M=bk({align:P&&E&&"center",x:P?!E&&4:10,verticalAlign:!P&&E&&"middle",y:P?E?16:10:E?6:-4,rotation:P&&!E&&90},M);if(!L){R.label=L=s.text(M.text,0,0).attr({align:M.textAlign||M.align,rotation:M.rotation,zIndex:o}).css(M.style).add()}Q=[z[1],z[4],ax(z[6],z[1])];z=[z[2],z[5],ax(z[7],z[2])];P=aM(Q);E=aM(z);L.align(M,!1,{x:P,y:E,width:bO(Q)-P,height:bO(z)-E});L.show()}else{L&&L.hide()}return R},destroy:function(){bt(this.axis.plotLinesAndBands,this);bA(this,this.axis)}};a7.prototype={destroy:function(){bA(this,this.axis)},setTotal:function(n){this.cum=this.total=n},render:function(o){var n=this.options.formatter.call(this);this.label?this.label.attr({text:n,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(n,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:"hidden"}).add(o)},setOffset:function(o,n){var z=this.axis,x=z.chart,w=x.inverted,u=this.isNegative,t=z.translate(this.total,0,0,0,1),z=z.translate(0),z=a3(t-z),s=x.xAxis[0].translate(this.x)+o,x=x.plotHeight,w={x:w?u?t:t-z:s,y:w?x-s-n:u?x-t-z:x-t,width:w?z:n,height:w?n:z};this.label&&this.label.align(this.alignOptions,null,w).attr({visibility:"visible"})}};aF.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:bc,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: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:0.05,minPadding:0.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:bc.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(o,n){var x=n.isX;this.horiz=o.inverted?!x:x;this.xOrY=(this.isXAxis=x)?"x":"y";this.opposite=n.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(n);var w=this.options,u=w.type,t=u==="datetime";this.labelFormatter=w.labels.formatter||this.defaultLabelFormatter;this.staggerLines=this.horiz&&w.labels.staggerLines;this.userOptions=n;this.minPixelPadding=0;this.chart=o;this.reversed=w.reversed;this.categories=w.categories;this.isLog=u==="logarithmic";this.isLinked=aw(w.linkedTo);this.isDatetimeAxis=t;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=w.minRange||w.maxZoom;this.range=w.range;this.offset=w.offset||0;this.stacks={};this.min=this.max=null;var s,w=this.options.events;o.axes.push(this);o[x?"xAxis":"yAxis"].push(this);this.series=[];if(o.inverted&&x&&this.reversed===bo){this.reversed=!0}this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;this.addPlotLine=this.addPlotBand=this.addPlotBandOrLine;for(s in w){a8(this,s,w[s])}if(this.isLog){this.val2lin=bD,this.lin2val=a0}},setOptions:function(n){this.options=bk(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],n)},defaultLabelFormatter:function(){var o=this.axis,n=this.value,t=o.tickInterval,s=this.dateTimeLabelFormat;return o.categories?n:s?K(s,n):t%1000000===0?n/1000000+"M":t%1000===0?n/1000+"k":n>=1000?J(n,0):J(n,-1)},getSeriesExtremes:function(){var o=this,n=o.chart,w=o.stacks,u=[],t=[],s;o.dataMin=o.dataMax=null;az(o.series,function(W){if(W.visible||!n.options.chart.ignoreHiddenSeries){var V=W.options,U,T,S,R,Q,O,N,P,M,A=V.threshold,I,G=[],F=0;if(o.isLog&&A<=0){A=V.threshold=null}if(o.isXAxis){if(V=W.xData,V.length){o.dataMin=a1(ax(o.dataMin,V[0]),aM(V)),o.dataMax=ar(ax(o.dataMax,V[0]),bO(V))}}else{var E,z,x,L=W.cropped,B=W.xAxis.getExtremes(),D=!!W.modifyValue;U=V.stacking;o.usePercentage=U==="percent";if(U){Q=V.stack,R=W.type+ax(Q,""),O="-"+R,W.stackKey=R,T=u[R]||[],u[R]=T,S=t[O]||[],t[O]=S}if(o.usePercentage){o.dataMin=0,o.dataMax=99}V=W.processedXData;N=W.processedYData;I=N.length;for(s=0;s<I;s++){if(P=V[s],M=N[s],M!==null&&M!==bo&&(U?(z=(E=M<A)?S:T,x=E?O:R,M=z[P]=aw(z[P])?z[P]+M:M,w[x]||(w[x]={}),w[x][P]||(w[x][P]=new a7(o,o.options.stackLabels,E,P,Q)),w[x][P].setTotal(M)):D&&(M=W.modifyValue(M)),L||(V[s+1]||P)>=B.min&&(V[s-1]||P)<=B.max)){if(P=M.length){for(;P--;){M[P]!==null&&(G[F++]=M[P])}}else{G[F++]=M}}}if(!o.usePercentage&&G.length){o.dataMin=a1(ax(o.dataMin,G[0]),aM(G)),o.dataMax=ar(ax(o.dataMax,G[0]),bO(G))}if(aw(A)){if(o.dataMin>=A){o.dataMin=A,o.ignoreMinPadding=!0}else{if(o.dataMax<A){o.dataMax=A,o.ignoreMaxPadding=!0}}}}}})},translate:function(A,z,x,w,u){var t=this.len,s=1,o=0,n=w?this.oldTransA:this.transA,w=w?this.oldMin:this.min,u=this.options.ordinal||this.isLog&&u;if(!n){n=this.transA}x&&(s*=-1,o=t);this.reversed&&(s*=-1,o-=s*t);z?(this.reversed&&(A=t-A),A=A/n+w,u&&(A=this.lin2val(A))):(u&&(A=this.val2lin(A)),A=s*(A-w)*n+o+s*this.minPixelPadding);return A},getPlotLinePath:function(D,C,B){var A=this.chart,z=this.left,x=this.top,w,u,t,D=this.translate(D,null,null,B),s=B&&A.oldChartHeight||A.chartHeight,o=B&&A.oldChartWidth||A.chartWidth,n;w=this.transB;B=u=av(D+w);w=t=av(s-D-w);if(isNaN(D)){n=!0}else{if(this.horiz){if(w=x,t=s-this.bottom,B<z||B>z+this.width){n=!0}}else{if(B=z,u=o-this.right,w<x||w>x+this.height){n=!0}}}return n?null:A.renderer.crispLine(["M",B,w,"L",u,t],C||0)},getPlotBandPath:function(o,n){var t=this.getPlotLinePath(n),s=this.getPlotLinePath(o);s&&t?s.push(t[4],t[5],t[1],t[2]):s=null;return s},getLinearTickPositions:function(o,n,u){for(var t,n=af(aR(n/o)*o),u=af(y(u/o)*o),s=[];n<=u;){s.push(n);n=af(n+o);if(n===t){break}t=n}return s},getLogTickPositions:function(D,C,B,A){var z=this.options,x=this.len,w=[];if(!A){this._minorAutoInterval=null}if(D>=0.5){D=av(D),w=this.getLinearTickPositions(D,C,B)}else{if(D>=0.08){for(var x=aR(C),u,t,s,o,n,z=D>0.3?[1,2,4]:D>0.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];x<B+1&&!n;x++){t=z.length;for(u=0;u<t&&!n;u++){s=bD(a0(x)*z[u]),s>C&&w.push(o),o>B&&(n=!0),o=s}}}else{if(C=a0(C),B=a0(B),D=z[A?"minorTickInterval":"tickInterval"],D=ax(D==="auto"?null:D,this._minorAutoInterval,(B-C)*(z.tickPixelInterval/(A?5:1))/((A?x/this.tickPositions.length:x)||1)),D=bx(D,null,a4.pow(10,aR(a4.log(D)/a4.LN10))),w=ag(this.getLinearTickPositions(D,C,B),bD),!A){this._minorAutoInterval=D/5}}}if(!A){this.tickInterval=D}return w},getMinorTickPositions:function(){var o=this.tickPositions,n=this.minorTickInterval,u=[],t,s;if(this.isLog){s=o.length;for(t=1;t<s;t++){u=u.concat(this.getLogTickPositions(n,o[t-1],o[t],!0))}}else{for(o=this.min+(o[0]-this.min)%n;o<=this.max;o+=n){u.push(o)}}return u},adjustForMinRange:function(){var C=this.options,B=this.min,A=this.max,z,x=this.dataMax-this.dataMin>=this.minRange,w,u,t,s,o;if(this.isXAxis&&this.minRange===bo&&!this.isLog){aw(C.min)||aw(C.max)?this.minRange=null:(az(this.series,function(D){s=D.xData;for(u=o=D.xIncrement?1:s.length-1;u>0;u--){if(t=s[u]-s[u-1],w===bo||t<w){w=t}}}),this.minRange=a1(w*5,this.dataMax-this.dataMin))}if(A-B<this.minRange){var n=this.minRange;z=(n-A+B)/2;z=[B-z,ax(C.min,B-z)];if(x){z[2]=this.dataMin}B=bO(z);A=[B+n,ax(C.max,B+n)];if(x){A[2]=this.dataMax}A=aM(A);A-B<n&&(z[0]=A-n,z[1]=ax(C.min,A-n),B=bO(z))}this.min=B;this.max=A},setAxisTranslation:function(){var o=this.max-this.min,n=0,u,t,s=this.transA;if(this.isXAxis){this.isLinked?n=this.linkedParent.pointRange:az(this.series,function(w){n=ar(n,w.pointRange);t=w.closestPointRange;!w.noSharedTooltip&&aw(t)&&(u=aw(u)?a1(u,t):t)}),this.pointRange=n,this.closestPointRange=u}this.oldTransA=s;this.translationSlope=this.transA=s=this.len/(o+n||1);this.transB=this.horiz?this.left:this.bottom;this.minPixelPadding=s*(n/2)},setTickPositions:function(F){var E=this,D=E.chart,C=E.options,B=E.isLog,A=E.isDatetimeAxis,z=E.isXAxis,x=E.isLinked,w=E.options.tickPositioner,u=C.maxPadding,t=C.minPadding,s=C.tickInterval,o=C.tickPixelInterval,n=E.categories;x?(E.linkedParent=D[z?"xAxis":"yAxis"][C.linkedTo],D=E.linkedParent.getExtremes(),E.min=ax(D.min,D.dataMin),E.max=ax(D.max,D.dataMax),C.type!==E.linkedParent.options.type&&bB(11,1)):(E.min=ax(E.userMin,C.min,E.dataMin),E.max=ax(E.userMax,C.max,E.dataMax));if(B){!F&&a1(E.min,ax(E.dataMin,E.min))<=0&&bB(10,1),E.min=af(bD(E.min)),E.max=af(bD(E.max))}if(E.range&&(E.userMin=E.min=ar(E.min,E.max-E.range),E.userMax=E.max,F)){E.range=null}E.adjustForMinRange();if(!n&&!E.usePercentage&&!x&&aw(E.min)&&aw(E.max)){D=E.max-E.min||1;if(!aw(C.min)&&!aw(E.userMin)&&t&&(E.dataMin<0||!E.ignoreMinPadding)){E.min-=D*t}if(!aw(C.max)&&!aw(E.userMax)&&u&&(E.dataMax>0||!E.ignoreMaxPadding)){E.max+=D*u}}E.tickInterval=E.min===E.max||E.min===void 0||E.max===void 0?1:x&&!s&&o===E.linkedParent.options.tickPixelInterval?E.linkedParent.tickInterval:ax(s,n?1:(E.max-E.min)*o/(E.len||1));z&&!F&&az(E.series,function(G){G.processData(E.min!==E.oldMin||E.max!==E.oldMax)});E.setAxisTranslation();E.beforeSetTickPositions&&E.beforeSetTickPositions();if(E.postProcessTickInterval){E.tickInterval=E.postProcessTickInterval(E.tickInterval)}if(!A&&!B&&(F=a4.pow(10,aR(a4.log(E.tickInterval)/a4.LN10)),!aw(C.tickInterval))){E.tickInterval=bx(E.tickInterval,null,F,C)}E.minorTickInterval=C.minorTickInterval==="auto"&&E.tickInterval?E.tickInterval/5:C.minorTickInterval;E.tickPositions=w=C.tickPositions||w&&w.apply(E,[E.min,E.max]);if(!w){w=A?(E.getNonLinearTimeTicks||aK)(bq(E.tickInterval,C.units),E.min,E.max,C.startOfWeek,E.ordinalPositions,E.closestPointRange,!0):B?E.getLogTickPositions(E.tickInterval,E.min,E.max):E.getLinearTickPositions(E.tickInterval,E.min,E.max),E.tickPositions=w}if(!x){B=w[0],A=w[w.length-1],C.startOnTick?E.min=B:E.min>B&&w.shift(),C.endOnTick?E.max=A:E.max<A&&w.pop()}},setMaxTicks:function(){var o=this.chart,n=o.maxTicks,t=this.tickPositions,s=this.xOrY;n||(n={x:0,y:0});if(!this.isLinked&&!this.isDatetimeAxis&&t.length>n[s]&&this.options.alignTicks!==!1){n[s]=t.length}o.maxTicks=n},adjustTickAmount:function(){var o=this.xOrY,n=this.tickPositions,u=this.chart.maxTicks;if(u&&u[o]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var t=this.tickAmount,s=n.length;this.tickAmount=o=u[o];if(s<o){for(;n.length<o;){n.push(af(n[n.length-1]+this.tickInterval))}this.transA*=(s-1)/(o-1);this.max=n[n.length-1]}if(aw(t)&&o!==t){this.isDirty=!0}}},setScale:function(){var o=this.stacks,n,u,t,s;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();s=this.len!==this.oldAxisLength;az(this.series,function(w){if(w.isDirtyData||w.isDirty||w.xAxis.isDirty){t=!0}});if(s||t||this.isLinked||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(this.getSeriesExtremes(),this.setTickPositions(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,!this.isDirty){this.isDirty=s||this.min!==this.oldMin||this.max!==this.oldMax}}if(!this.isXAxis){for(n in o){for(u in o[n]){o[n][u].cum=o[n][u].total}}}this.setMaxTicks()},setExtremes:function(o,n,x,w,u){var t=this,s=t.chart,x=ax(x,!0),u=au(u,{min:o,max:n});bf(t,"setExtremes",u,function(){t.userMin=o;t.userMax=n;t.isDirtyExtremes=!0;x&&s.redraw(w)})},setAxisSize:function(){var o=this.chart,n=this.options,t=n.offsetLeft||0,s=n.offsetRight||0;this.left=ax(n.left,o.plotLeft+t);this.top=ax(n.top,o.plotTop);this.width=ax(n.width,o.plotWidth-t+s);this.height=ax(n.height,o.plotHeight);this.bottom=o.chartHeight-this.height-this.top;this.right=o.chartWidth-this.width-this.left;this.len=ar(this.horiz?this.width:this.height,0)},getExtremes:function(){var n=this.isLog;return{min:n?af(a0(this.min)):this.min,max:n?af(a0(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(o){var n=this.isLog,s=n?a0(this.min):this.min,n=n?a0(this.max):this.max;s>o||o===null?o=s:n<o&&(o=n);return this.translate(o,0,1,0,1)},addPlotBandOrLine:function(n){n=(new be(this,n)).render();this.plotLinesAndBands.push(n);return n},getOffset:function(){var M=this,L=M.chart,I=L.renderer,G=M.options,F=M.tickPositions,E=M.ticks,D=M.horiz,C=M.side,B,A=0,z,x=0,w=G.title,t=G.labels,s=0,u=L.axisOffset,o=[-1,1,1,-1][C],n;M.hasData=L=M.series.length&&aw(M.min)&&aw(M.max);M.showAxis=B=L||ax(G.showEmpty,!0);if(!M.axisGroup){M.axisGroup=I.g("axis").attr({zIndex:G.zIndex||7}).add(),M.gridGroup=I.g("grid").attr({zIndex:G.gridZIndex||1}).add()}if(L||M.isLinked){az(F,function(N){E[N]?E[N].addLabel():E[N]=new d(M,N)}),az(F,function(N){if(C===0||C===2||{1:"left",3:"right"}[C]===t.align){s=ar(E[N].getLabelSize(),s)}}),M.staggerLines&&(s+=(M.staggerLines-1)*16)}else{for(n in E){E[n].destroy(),delete E[n]}}if(w&&w.text){if(!M.axisTitle){M.axisTitle=I.text(w.text,0,0,w.useHTML).attr({zIndex:7,rotation:w.rotation||0,align:w.textAlign||{low:"left",middle:"center",high:"right"}[w.align]}).css(w.style).add(M.axisGroup),M.axisTitle.isNew=!0}if(B){A=M.axisTitle.getBBox()[D?"height":"width"],x=ax(w.margin,D?5:10),z=w.offset}M.axisTitle[B?"show":"hide"]()}M.offset=o*ax(G.offset,u[C]);M.axisTitleMargin=ax(z,s+x+(C!==2&&s&&o*G.labels[D?"y":"x"]));u[C]=ar(u[C],M.axisTitleMargin+A+o*M.offset)},getLinePath:function(o){var n=this.chart,w=this.opposite,u=this.offset,t=this.horiz,s=this.left+(w?this.width:0)+u,w=n.chartHeight-this.bottom-(w?this.height:0)+u;return n.renderer.crispLine(["M",t?this.left:s,t?w:this.top,"L",t?n.chartWidth-this.right:s,t?w:n.chartHeight-this.bottom],o)},getTitlePosition:function(){var A=this.horiz,z=this.left,x=this.top,w=this.len,u=this.options.title,t=A?z:x,s=this.opposite,o=this.offset,n=at(u.style.fontSize||12),w={low:t+(A?0:w),middle:t+w/2,high:t+(A?w:0)}[u.align],z=(A?x+this.height:z)+(A?1:-1)*(s?-1:1)*this.axisTitleMargin+(this.side===2?n:0);return{x:A?w:z+(s?this.width:0)+o+(u.x||0),y:A?z-(s?this.height:0)+o:w+(u.y||0)}},render:function(){var T=this,S=T.chart,R=S.renderer,Q=T.options,P=T.isLog,O=T.isLinked,N=T.tickPositions,M=T.axisTitle,L=T.stacks,I=T.ticks,G=T.minorTicks,F=T.alternateBands,E=Q.stackLabels,C=Q.alternateGridColor,B=Q.lineWidth,D,A=S.hasRendered&&aw(T.oldMin)&&!isNaN(T.oldMin),n=T.showAxis,z,x;if(T.hasData||O){if(T.minorTickInterval&&!T.categories&&az(T.getMinorTickPositions(),function(o){G[o]||(G[o]=new d(T,o,"minor"));A&&G[o].isNew&&G[o].render(null,!0);G[o].isActive=!0;G[o].render()}),az(N.slice(1).concat([N[0]]),function(o,t){t=t===N.length-1?0:t+1;if(!O||o>=T.min&&o<=T.max){I[o]||(I[o]=new d(T,o)),A&&I[o].isNew&&I[o].render(t,!0),I[o].isActive=!0,I[o].render(t)}}),C&&az(N,function(o,t){if(t%2===0&&o<T.max){F[o]||(F[o]=new be(T)),z=o,x=N[t+1]!==bo?N[t+1]:T.max,F[o].options={from:P?a0(z):z,to:P?a0(x):x,color:C},F[o].render(),F[o].isActive=!0}}),!T._addedPlotLB){az((Q.plotLines||[]).concat(Q.plotBands||[]),function(o){T.addPlotBandOrLine(o)}),T._addedPlotLB=!0}}az([I,G,F],function(t){for(var o in t){t[o].isActive?t[o].isActive=!1:(t[o].destroy(),delete t[o])}});if(B){D=T.getLinePath(B),T.axisLine?T.axisLine.animate({d:D}):T.axisLine=R.path(D).attr({stroke:Q.lineColor,"stroke-width":B,zIndex:7}).add(),T.axisLine[n?"show":"hide"]()}if(M&&n){M[M.isNew?"attr":"animate"](T.getTitlePosition()),M.isNew=!1}if(E&&E.enabled){var w,s,Q=T.stackTotalGroup;if(!Q){T.stackTotalGroup=Q=R.g("stack-labels").attr({visibility:"visible",zIndex:6}).add()}Q.translate(S.plotLeft,S.plotTop);for(w in L){for(s in S=L[w],S){S[s].render(Q)}}}T.isDirty=!1},removePlotBandOrLine:function(o){for(var n=this.plotLinesAndBands,s=n.length;s--;){n[s].id===o&&n[s].destroy()}},setTitle:function(o,n){var t=this.chart,s=this.options;s.title=bk(s.title,o);this.axisTitle=void 0;this.isDirty=!0;ax(n,!0)&&t.redraw()},redraw:function(){var n=this.chart;n.tracker.resetTracker&&n.tracker.resetTracker(!0);this.render();az(this.plotLinesAndBands,function(o){o.render()});az(this.series,function(o){o.isDirty=!0})},setCategories:function(o,n){var s=this.chart;this.categories=this.userOptions.categories=o;az(this.series,function(t){t.translate();t.setTooltipPoints(!0)});this.isDirty=!0;ax(n,!0)&&s.redraw()},destroy:function(){var o=this,n=o.stacks,s;aY(o);for(s in n){bA(n[s]),n[s]=null}az([o.ticks,o.minorTicks,o.alternateBands,o.plotLinesAndBands],function(t){bA(t)});az(["stackTotalGroup","axisLine","axisGroup","gridGroup","axisTitle"],function(t){o[t]&&(o[t]=o[t].destroy())})}};ah.prototype={destroy:function(){az(this.crosshairs,function(n){n&&n.destroy()});if(this.label){this.label=this.label.destroy()}},move:function(o,n){var s=this;s.currentX=s.tooltipIsHidden?o:(2*s.currentX+o)/3;s.currentY=s.tooltipIsHidden?n:(s.currentY+n)/2;s.label.attr({x:s.currentX,y:s.currentY});s.tooltipTick=a3(o-s.currentX)>1||a3(n-s.currentY)>1?function(){s.move(o,n)}:null},hide:function(){if(!this.tooltipIsHidden){var n=this.chart.hoverPoints;this.label.hide();n&&az(n,function(o){o.setState()});this.chart.hoverPoints=null;this.tooltipIsHidden=!0}},hideCrosshairs:function(){az(this.crosshairs,function(n){n&&n.hide()})},getAnchor:function(o,n){var x,w=this.chart,u=w.inverted,t=0,s=0,o=bh(o);x=o[0].tooltipPos;x||(az(o,function(z){t+=z.plotX;s+=z.plotLow?(z.plotLow+z.plotHigh)/2:z.plotY}),t/=o.length,s/=o.length,x=[u?w.plotWidth-s:t,this.shared&&!u&&o.length>1&&n?n.chartY-w.plotTop:u?w.plotHeight-t:s]);return ag(x,av)},getPosition:function(D,C,B){var A=this.chart,z=A.plotLeft,x=A.plotTop,w=A.plotWidth,u=A.plotHeight,t=ax(this.options.distance,12),s=B.plotX,B=B.plotY,A=s+z+(A.inverted?t:-D-t),o=B-C+x+15,n;A<7&&(A=z+s+t);A+D>z+w&&(A-=A+D-(z+w),o=B-C+x-t,n=!0);o<x+5&&(o=x+5,n&&B>=o&&B<=o+C&&(o=B+x+t));o+C>x+u&&(o=ar(x,x+u-C-t));return{x:A,y:o}},refresh:function(F,E){function D(){var I=this.points||bh(this),G=I[0].series,L;L=[G.tooltipHeaderFormatter(I[0].key)];az(I,function(M){G=M.series;L.push(G.tooltipFormatter&&G.tooltipFormatter(M)||M.point.tooltipFormatter(G.tooltipOptions.pointFormat))});L.push(A.footerFormat||"");return L.join("")}var C=this.chart,B=this.label,A=this.options,z,x,w,u={},t,s=[];t=A.formatter||D;var u=C.hoverPoints,o,n=A.crosshairs;w=this.shared;x=this.getAnchor(F,E);z=x[0];x=x[1];w&&(!F.series||!F.series.noSharedTooltip)?(u&&az(u,function(G){G.setState()}),C.hoverPoints=F,az(F,function(G){G.setState("hover");s.push(G.getLabelConfig())}),u={x:F[0].category,y:F[0].y},u.points=s,F=F[0]):u=F.getLabelConfig();t=t.call(u);u=F.series;w=w||!u.isCartesian||u.tooltipOutsidePlot||C.isInsidePlot(z,x);t===!1||!w?this.hide():(this.tooltipIsHidden&&B.show(),B.attr({text:t}),o=A.borderColor||F.color||u.color||"#606060",B.attr({stroke:o}),B=(A.positioner||this.getPosition).call(this,B.width,B.height,{plotX:z,plotY:x}),this.move(av(B.x),av(B.y)),this.tooltipIsHidden=!1);if(n){n=bh(n);for(B=n.length;B--;){if(w=F.series[B?"yAxis":"xAxis"],n[B]&&w){if(w=w.getPlotLinePath(B?ax(F.stackY,F.y):F.x,1),this.crosshairs[B]){this.crosshairs[B].attr({d:w,visibility:"visible"})}else{u={"stroke-width":n[B].width||1,stroke:n[B].color||"#C0C0C0",zIndex:n[B].zIndex||2};if(n[B].dashStyle){u.dashstyle=n[B].dashStyle}this.crosshairs[B]=C.renderer.path(w).attr(u).add()}}}}bf(C,"tooltipRefresh",{text:t,x:z+C.plotLeft,y:x+C.plotTop,borderColor:o})},tick:function(){this.tooltipTick&&this.tooltipTick()}};aD.prototype={normalizeMouseEvent:function(o){var n,t,s,o=o||a2.event;if(!o.target){o.target=o.srcElement}if(o.originalEvent){o=o.originalEvent}if(o.event){o=o.event}s=o.touches?o.touches.item(0):o;this.chartPosition=n=aG(this.chart.container);s.pageX===bo?(t=o.x,n=o.y):(t=s.pageX-n.left,n=s.pageY-n.top);return au(o,{chartX:av(t),chartY:av(n)})},getMouseCoordinates:function(o){var n={xAxis:[],yAxis:[]},s=this.chart;az(s.axes,function(u){var t=u.isXAxis;n[t?"xAxis":"yAxis"].push({axis:u,value:u.translate((s.inverted?!t:t)?o.chartX-s.plotLeft:s.plotHeight-o.chartY+s.plotTop,!0)})});return n},onmousemove:function(C){var B=this.chart,A=B.series,z,x,w=B.hoverPoint,u=B.hoverSeries,t,s,o=B.chartWidth,n=B.inverted?B.plotHeight+B.plotTop-C.chartY:C.chartX-B.plotLeft;if(B.tooltip&&this.options.tooltip.shared&&(!u||!u.noSharedTooltip)){x=[];t=A.length;for(s=0;s<t;s++){if(A[s].visible&&A[s].options.enableMouseTracking!==!1&&!A[s].noSharedTooltip&&A[s].tooltipPoints.length){z=A[s].tooltipPoints[n],z._dist=a3(n-z.plotX),o=a1(o,z._dist),x.push(z)}}for(t=x.length;t--;){x[t]._dist>o&&x.splice(t,1)}if(x.length&&x[0].plotX!==this.hoverX){B.tooltip.refresh(x,C),this.hoverX=x[0].plotX}}if(u&&u.tracker&&(z=u.tooltipPoints[n])&&z!==w){z.onMouseOver()}},resetTracker:function(o){var n=this.chart,u=n.hoverSeries,t=n.hoverPoint,s=n.hoverPoints||t,n=n.tooltip;(o=o&&n&&s)&&bh(s)[0].plotX===bo&&(o=!1);if(o){n.refresh(s)}else{if(t){t.onMouseOut()}if(u){u.onMouseOut()}n&&(n.hide(),n.hideCrosshairs());this.hoverX=null}},setDOMEvents:function(){function o(){if(n.selectionMarker){var E={xAxis:[],yAxis:[]},D=n.selectionMarker.getBBox(),C=D.x-z.plotLeft,B=D.y-z.plotTop,A;w&&(az(z.axes,function(G){if(G.options.zoomEnabled!==!1){var F=G.isXAxis,L=z.inverted?!F:F,I=G.translate(L?C:z.plotHeight-B-D.height,!0,0,0,1),L=G.translate(L?C+D.width:z.plotHeight-B,!0,0,0,1);!isNaN(I)&&!isNaN(L)&&(E[F?"xAxis":"yAxis"].push({axis:G,min:a1(I,L),max:ar(I,L)}),A=!0)}}),A&&bf(z,"selection",E,function(F){z.zoom(F)}));n.selectionMarker=n.selectionMarker.destroy()}if(z){bd(x,{cursor:"auto"}),z.cancelClick=w,z.mouseIsDown=w=!1}aY(bm,g?"touchend":"mouseup",o)}var n=this,z=n.chart,x=z.container,w,u=n.zoomX&&!z.inverted||n.zoomY&&z.inverted,t=n.zoomY&&!z.inverted||n.zoomX&&z.inverted;n.hideTooltipOnMouseMove=function(A){aj(A);n.chartPosition&&z.hoverSeries&&z.hoverSeries.isCartesian&&!z.isInsidePlot(A.pageX-n.chartPosition.left-z.plotLeft,A.pageY-n.chartPosition.top-z.plotTop)&&n.resetTracker()};n.hideTooltipOnMouseLeave=function(){n.resetTracker();n.chartPosition=null};x.onmousedown=function(A){A=n.normalizeMouseEvent(A);!g&&A.preventDefault&&A.preventDefault();z.mouseIsDown=!0;z.cancelClick=!1;z.mouseDownX=n.mouseDownX=A.chartX;n.mouseDownY=A.chartY;a8(bm,g?"touchend":"mouseup",o)};var s=function(C){if(!C||!(C.touches&&C.touches.length>1)){C=n.normalizeMouseEvent(C);if(!g){C.returnValue=!1}var E=C.chartX,D=C.chartY,B=!z.isInsidePlot(E-z.plotLeft,D-z.plotTop);g&&C.type==="touchstart"&&(ap(C.target,"isTracker")?z.runTrackerClick||C.preventDefault():!z.runChartClick&&!B&&C.preventDefault());if(B){E<z.plotLeft?E=z.plotLeft:E>z.plotLeft+z.plotWidth&&(E=z.plotLeft+z.plotWidth),D<z.plotTop?D=z.plotTop:D>z.plotTop+z.plotHeight&&(D=z.plotTop+z.plotHeight)}if(z.mouseIsDown&&C.type!=="touchstart"){if(w=Math.sqrt(Math.pow(n.mouseDownX-E,2)+Math.pow(n.mouseDownY-D,2)),w>10){C=z.isInsidePlot(n.mouseDownX-z.plotLeft,n.mouseDownY-z.plotTop);if(z.hasCartesianSeries&&(n.zoomX||n.zoomY)&&C&&!n.selectionMarker){n.selectionMarker=z.renderer.rect(z.plotLeft,z.plotTop,u?1:z.plotWidth,t?1:z.plotHeight,0).attr({fill:n.options.chart.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()}if(n.selectionMarker&&u){var A=E-n.mouseDownX;n.selectionMarker.attr({width:a3(A),x:(A>0?0:A)+n.mouseDownX})}n.selectionMarker&&t&&(D-=n.mouseDownY,n.selectionMarker.attr({height:a3(D),y:(D>0?0:D)+n.mouseDownY}));C&&!n.selectionMarker&&n.options.chart.panning&&z.pan(E)}}else{if(!B){n.onmousemove(C)}}return B||!z.hasCartesianSeries}};x.onmousemove=s;a8(x,"mouseleave",n.hideTooltipOnMouseLeave);a8(bm,"mousemove",n.hideTooltipOnMouseMove);x.ontouchstart=function(A){if(n.zoomX||n.zoomY){x.onmousedown(A)}s(A)};x.ontouchmove=s;x.ontouchend=function(){w&&n.resetTracker()};x.onclick=function(A){var D=z.hoverPoint,C,B,A=n.normalizeMouseEvent(A);A.cancelBubble=!0;if(!z.cancelClick){D&&(ap(A.target,"isTracker")||ap(A.target.parentNode,"isTracker"))?(C=D.plotX,B=D.plotY,au(D,{pageX:n.chartPosition.left+z.plotLeft+(z.inverted?z.plotWidth-B:C),pageY:n.chartPosition.top+z.plotTop+(z.inverted?z.plotHeight-C:B)}),bf(D.series,"click",au(A,{point:D})),D.firePointEvent("click",A)):(au(A,n.getMouseCoordinates(A)),z.isInsidePlot(A.chartX-z.plotLeft,A.chartY-z.plotTop)&&bf(z,"click",A))}}},destroy:function(){var o=this.chart,n=o.container;if(o.trackerGroup){o.trackerGroup=o.trackerGroup.destroy()}aY(n,"mouseleave",this.hideTooltipOnMouseLeave);aY(bm,"mousemove",this.hideTooltipOnMouseMove);n.onclick=n.onmousedown=n.onmousemove=n.ontouchstart=n.ontouchend=n.ontouchmove=null;clearInterval(this.tooltipInterval)},init:function(o,n){if(!o.trackerGroup){o.trackerGroup=o.renderer.g("tracker").attr({zIndex:9}).add()}if(n.enabled){o.tooltip=new ah(o,n),this.tooltipInterval=setInterval(function(){o.tooltip.tick()},32)}this.setDOMEvents()}};l.prototype={init:function(o){var n=this,w=n.options=o.options.legend;if(w.enabled){var u=w.itemStyle,t=ax(w.padding,8),s=w.itemMarginTop||0;n.baseline=at(u.fontSize)+3+s;n.itemStyle=u;n.itemHiddenStyle=bk(u,w.itemHiddenStyle);n.itemMarginTop=s;n.padding=t;n.initialItemX=t;n.initialItemY=t-5;n.maxItemWidth=0;n.chart=o;n.itemHeight=0;n.lastLineHeight=0;n.render();a8(n.chart,"endResize",function(){n.positionCheckboxes()})}},colorizeItem:function(o,n){var x=this.options,w=o.legendItem,u=o.legendLine,t=o.legendSymbol,s=this.itemHiddenStyle.color,x=n?x.itemStyle.color:s,s=n?o.color:s;w&&w.css({fill:x});u&&u.attr({stroke:s});t&&t.attr({stroke:s,fill:s})},positionItem:function(o){var n=this.options,w=n.symbolPadding,n=!n.rtl,u=o._legendItemPos,t=u[0],u=u[1],s=o.checkbox;o.legendGroup&&o.legendGroup.translate(n?t:this.legendWidth-t-2*w-4,u);if(s){s.x=t,s.y=u}},destroyItem:function(o){var n=o.checkbox;az(["legendItem","legendLine","legendSymbol","legendGroup"],function(s){o[s]&&o[s].destroy()});n&&ao(o.checkbox)},destroy:function(){var o=this.group,n=this.box;if(n){this.box=n.destroy()}if(o){this.group=o.destroy()}},positionCheckboxes:function(){var n=this;az(n.allItems,function(o){var t=o.checkbox,s=n.group.alignAttr;t&&bd(t,{left:s.translateX+o.legendItemWidth+t.x-20+"px",top:s.translateY+t.y+3+"px"})})},renderItem:function(U){var B;var T=this,S=T.chart,R=S.renderer,Q=T.options,P=Q.layout==="horizontal",O=Q.symbolWidth,N=Q.symbolPadding,M=T.itemStyle,L=T.itemHiddenStyle,I=T.padding,G=!Q.rtl,F=Q.width,C=Q.itemMarginBottom||0,E=T.itemMarginTop,D=T.initialItemX,A=U.legendItem,z=U.series||U,x=z.options,w=x.showCheckbox;if(!A&&(U.legendGroup=R.g("legend-item").attr({zIndex:1}).add(T.scrollGroup),z.drawLegendSymbol(T,U),U.legendItem=A=R.text(Q.labelFormatter.call(U),G?O+N:-N,T.baseline,Q.useHTML).css(bk(U.visible?M:L)).attr({align:G?"left":"right",zIndex:2}).add(U.legendGroup),U.legendGroup.on("mouseover",function(){U.setState("hover");A.css(T.options.itemHoverStyle)}).on("mouseout",function(){A.css(U.visible?M:L);U.setState()}).on("click",function(n){var o=function(){U.setVisible()},n={browserEvent:n};U.firePointEvent?U.firePointEvent("legendItemClick",n,o):bf(U,"legendItemClick",n,o)}),T.colorizeItem(U,U.visible),x&&w)){U.checkbox=aV("input",{type:"checkbox",checked:U.selected,defaultChecked:U.selected},Q.itemCheckboxStyle,S.container),a8(U.checkbox,"click",function(n){bf(U,"checkboxClick",{checked:n.target.checked},function(){U.select()})})}R=A.getBBox();B=U.legendItemWidth=Q.itemWidth||O+N+R.width+I+(w?20:0),Q=B;T.itemHeight=O=R.height;if(P&&T.itemX-D+Q>(F||S.chartWidth-2*I-D)){T.itemX=D,T.itemY+=E+T.lastLineHeight+C,T.lastLineHeight=0}T.maxItemWidth=ar(T.maxItemWidth,Q);T.lastItemY=E+T.itemY+C;T.lastLineHeight=ar(O,T.lastLineHeight);U._legendItemPos=[T.itemX,T.itemY];P?T.itemX+=Q:(T.itemY+=E+O+C,T.lastLineHeight=O);T.offsetWidth=F||ar(P?T.itemX-D:Q,T.offsetWidth)},render:function(){var E=this,D=E.chart,C=D.renderer,B=E.group,A,z,x,w,u=E.box,t=E.options,s=E.padding,o=t.borderWidth,n=t.backgroundColor;E.itemX=E.initialItemX;E.itemY=E.initialItemY;E.offsetWidth=0;E.lastItemY=0;if(!B){E.group=B=C.g("legend").attr({zIndex:7}).add(),E.contentGroup=C.g().attr({zIndex:1}).add(B),E.scrollGroup=C.g().add(E.contentGroup),E.clipRect=C.clipRect(0,0,9999,D.chartHeight),E.contentGroup.clip(E.clipRect)}A=[];az(D.series,function(G){var F=G.options;F.showInLegend&&(A=A.concat(G.legendItems||(F.legendType==="point"?G.data:G)))});am(A,function(G,F){return(G.options.legendIndex||0)-(F.options.legendIndex||0)});t.reversed&&A.reverse();E.allItems=A;E.display=z=!!A.length;az(A,function(F){E.renderItem(F)});x=t.width||E.offsetWidth;w=E.lastItemY+E.lastLineHeight;w=E.handleOverflow(w);if(o||n){x+=s;w+=s;if(u){if(x>0&&w>0){u[u.isNew?"attr":"animate"](u.crisp(null,null,null,x,w)),u.isNew=!1}}else{E.box=u=C.rect(0,0,x,w,t.borderRadius,o||0).attr({stroke:t.borderColor,"stroke-width":o||0,fill:n||aT}).add(B).shadow(t.shadow),u.isNew=!0}u[z?"show":"hide"]()}E.legendWidth=x;E.legendHeight=w;az(A,function(F){E.positionItem(F)});z&&B.align(au({width:x,height:w},t),!0,D.spacingBox);D.isResizing||this.positionCheckboxes()},handleOverflow:function(D){var C=this,B=this.chart,A=B.renderer,z=this.options,x=z.y,x=B.spacingBox.height+(z.verticalAlign==="top"?-x:x)-this.padding,w=z.maxHeight,u=this.clipRect,t=z.navigation,s=ax(t.animation,!0),o=t.arrowSize||12,n=this.nav;z.layout==="horizontal"&&(x/=2);w&&(x=a1(x,w));if(D>x){this.clipHeight=B=x-20;this.pageCount=y(D/B);this.currentPage=ax(this.currentPage,1);this.fullHeight=D;u.attr({height:B});if(!n){this.nav=n=A.g().attr({zIndex:1}).add(this.group),this.up=A.symbol("triangle",0,0,o,o).on("click",function(){C.scroll(-1,s)}).add(n),this.pager=A.text("",15,10).css(t.style).add(n),this.down=A.symbol("triangle-down",0,0,o,o).on("click",function(){C.scroll(1,s)}).add(n)}C.scroll(0);D=x}else{n&&(u.attr({height:B.chartHeight}),n.hide(),this.scrollGroup.attr({translateY:1}))}return D},scroll:function(A,z){var x=this.pageCount,w=this.currentPage+A,u=this.clipHeight,t=this.options.navigation,s=t.activeColor,t=t.inactiveColor,o=this.pager,n=this.padding;w>x&&(w=x);if(w>0){z!==bo&&aL(z,this.chart),this.nav.attr({translateX:n,translateY:u+7,visibility:"visible"}),this.up.attr({fill:w===1?t:s}).css({cursor:w===1?"default":"pointer"}),o.attr({text:w+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:w===x?t:s}).css({cursor:w===x?"default":"pointer"}),this.scrollGroup.animate({translateY:-a1(u*(w-1),this.fullHeight-u+n)+1}),o.attr({text:w+"/"+x}),this.currentPage=w}}};bS.prototype={initSeries:function(o){var n=this.options.chart,n=new aP[o.type||n.type||n.defaultSeriesType];n.init(this,o);return n},addSeries:function(o,n,t){var s=this;o&&(aL(t,s),n=ax(n,!0),bf(s,"addSeries",{options:o},function(){s.initSeries(o);s.isDirtyLegend=!0;n&&s.redraw()}))},isInsidePlot:function(o,n){return o>=0&&o<=this.plotWidth&&n>=0&&n<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&az(this.axes,function(n){n.adjustTickAmount()});this.maxTicks=null},redraw:function(E){var D=this.axes,C=this.series,B=this.tracker,A=this.legend,z=this.isDirtyLegend,x,w=this.isDirtyBox,u=C.length,t=u,s=this.clipRect,o=this.renderer,n=o.isHidden();aL(E,this);for(n&&this.cloneRenderTo();t--;){if(E=C[t],E.isDirty&&E.options.stacking){x=!0;break}}if(x){for(t=u;t--;){if(E=C[t],E.options.stacking){E.isDirty=!0}}}az(C,function(F){F.isDirty&&F.options.legendType==="point"&&(z=!0)});if(z&&A.options.enabled){A.render(),this.isDirtyLegend=!1}if(this.hasCartesianSeries){if(!this.isResizing){this.maxTicks=null,az(D,function(F){F.setScale()})}this.adjustTickAmounts();this.getMargins();az(D,function(F){if(F.isDirtyExtremes){F.isDirtyExtremes=!1,bf(F,"afterSetExtremes",F.getExtremes())}if(F.isDirty||w||x){F.redraw(),w=!0}})}w&&(this.drawChartBox(),s&&(k(s),s.animate({width:this.plotSizeX,height:this.plotSizeY+1})));az(C,function(F){F.isDirty&&F.visible&&(!F.isCartesian||F.xAxis)&&F.redraw()});B&&B.resetTracker&&B.resetTracker(!0);o.draw();bf(this,"redraw");n&&this.cloneRenderTo(!0)},showLoading:function(o){var n=this.options,t=this.loadingDiv,s=n.loading;if(!t){this.loadingDiv=t=aV(aC,{className:"highcharts-loading"},au(s.style,{left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px",zIndex:10,display:aT}),this.container),this.loadingSpan=aV("span",null,s.labelStyle,t)}this.loadingSpan.innerHTML=o||n.lang.loading;if(!this.loadingShown){bd(t,{opacity:0,display:""}),f(t,{opacity:s.style.opacity},{duration:s.showDuration||0}),this.loadingShown=!0}},hideLoading:function(){var o=this.options,n=this.loadingDiv;n&&f(n,{opacity:0},{duration:o.loading.hideDuration||100,complete:function(){bd(n,{display:aT})}});this.loadingShown=!1},get:function(o){var n=this.axes,u=this.series,t,s;for(t=0;t<n.length;t++){if(n[t].options.id===o){return n[t]}}for(t=0;t<u.length;t++){if(u[t].options.id===o){return u[t]}}for(t=0;t<u.length;t++){s=u[t].points||[];for(n=0;n<s.length;n++){if(s[n].id===o){return s[n]}}}return null},getAxes:function(){var o=this,n=this.options,s=n.xAxis||{},n=n.yAxis||{},s=bh(s);az(s,function(u,t){u.index=t;u.isX=!0});n=bh(n);az(n,function(u,t){u.index=t});s=s.concat(n);az(s,function(t){new aF(o,t)});o.adjustTickAmounts()},getSelectedPoints:function(){var n=[];az(this.series,function(o){n=n.concat(aJ(o.points,function(s){return s.selected}))});return n},getSelectedSeries:function(){return aJ(this.series,function(n){return n.selected})},showResetZoom:function(){var o=this,n=aS.lang,w=o.options.chart.resetZoomButton,u=w.theme,t=u.states,s=w.relativeTo==="chart"?null:{x:o.plotLeft,y:o.plotTop,width:o.plotWidth,height:o.plotHeight};this.resetZoomButton=o.renderer.button(n.resetZoom,null,null,function(){o.zoomOut()},u,t&&t.hover).attr({align:w.position.align,title:n.resetZoomTitle}).add().align(w.position,!1,s)},zoomOut:function(){var o=this,n=o.resetZoomButton;bf(o,"selection",{resetSelection:!0},function(){o.zoom()});if(n){o.resetZoomButton=n.destroy()}},zoom:function(o){var n=this,t=n.options.chart,s;n.resetZoomEnabled!==!1&&!n.resetZoomButton&&n.showResetZoom();!o||o.resetSelection?az(n.axes,function(u){u.options.zoomEnabled!==!1&&(u.setExtremes(null,null,!1),s=!0)}):az(o.xAxis.concat(o.yAxis),function(u){var w=u.axis;if(n.tracker[w.isXAxis?"zoomX":"zoomY"]){w.setExtremes(u.min,u.max,!1),s=!0}});s&&n.redraw(ax(t.animation,n.pointCount<100))},pan:function(o){var n=this.xAxis[0],w=this.mouseDownX,u=n.pointRange/2,t=n.getExtremes(),s=n.translate(w-o,!0)+u,w=n.translate(w+this.plotWidth-o,!0)-u;(u=this.hoverPoints)&&az(u,function(x){x.setState()});n.series.length&&s>a1(t.dataMin,t.min)&&w<ar(t.dataMax,t.max)&&n.setExtremes(s,w,!0,!1);this.mouseDownX=o;bd(this.container,{cursor:"move"})},setTitle:function(o,n){var u=this,t=u.options,s;u.chartTitleOptions=s=bk(t.title,o);u.chartSubtitleOptions=t=bk(t.subtitle,n);az([["title",o,s],["subtitle",n,t]],function(x){var w=x[0],A=u[w],z=x[1],x=x[2];A&&z&&(A=A.destroy());x&&x.text&&!A&&(u[w]=u.renderer.text(x.text,0,0,x.useHTML).attr({align:x.align,"class":"highcharts-"+w,zIndex:x.zIndex||4}).css(x.style).add().align(x,!1,u.spacingBox))})},getChartSize:function(){var o=this.options.chart,n=this.renderToClone||this.renderTo;this.containerWidth=aO(n,"width");this.containerHeight=aO(n,"height");this.chartWidth=o.width||this.containerWidth||600;this.chartHeight=o.height||(this.containerHeight>19?this.containerHeight:400)},cloneRenderTo:function(o){var n=this.renderToClone,s=this.container;o?n&&(this.renderTo.appendChild(s),ao(n),delete this.renderToClone):(s&&this.renderTo.removeChild(s),this.renderToClone=n=this.renderTo.cloneNode(0),bd(n,{position:"absolute",top:"-9999px",display:"block"}),bm.body.appendChild(n),s&&n.appendChild(s))},getContainer:function(){var o,n=this.options.chart,u,t,s;this.renderTo=o=n.renderTo;s="highcharts-"+bE++;if(bU(o)){this.renderTo=o=bm.getElementById(o)}o||bB(13,!0);o.innerHTML="";o.offsetWidth||this.cloneRenderTo();this.getChartSize();u=this.chartWidth;t=this.chartHeight;this.container=o=aV(aC,{className:"highcharts-container"+(n.className?" "+n.className:""),id:s},au({position:"relative",overflow:"hidden",width:u+"px",height:t+"px",textAlign:"left",lineHeight:"normal"},n.style),this.renderToClone||o);this.renderer=n.forExport?new m(o,u,t,!0):new bK(o,u,t);bz&&this.renderer.create(this,o,u,t)},getMargins:function(){var N=this.options.chart,M=N.spacingTop,L=N.spacingRight,I=N.spacingBottom,N=N.spacingLeft,G,F=this.legend,E=this.optionsMarginTop,D=this.optionsMarginLeft,C=this.optionsMarginRight,B=this.optionsMarginBottom,A=this.chartTitleOptions,z=this.chartSubtitleOptions,x=this.options.legend,w=ax(x.margin,10),u=x.x,o=x.y,s=x.align,n=x.verticalAlign;this.resetMargins();G=this.axisOffset;if((this.title||this.subtitle)&&!aw(this.optionsMarginTop)){if(z=ar(this.title&&!A.floating&&!A.verticalAlign&&A.y||0,this.subtitle&&!z.floating&&!z.verticalAlign&&z.y||0)){this.plotTop=ar(this.plotTop,z+ax(A.margin,15)+M)}}if(F.display&&!x.floating){if(s==="right"){if(!aw(C)){this.marginRight=ar(this.marginRight,F.legendWidth-u+w+L)}}else{if(s==="left"){if(!aw(D)){this.plotLeft=ar(this.plotLeft,F.legendWidth+u+w+N)}}else{if(n==="top"){if(!aw(E)){this.plotTop=ar(this.plotTop,F.legendHeight+o+w+M)}}else{if(n==="bottom"&&!aw(B)){this.marginBottom=ar(this.marginBottom,F.legendHeight-o+w+I)}}}}}this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&az(this.axes,function(t){t.getOffset()});aw(D)||(this.plotLeft+=G[3]);aw(E)||(this.plotTop+=G[0]);aw(B)||(this.marginBottom+=G[2]);aw(C)||(this.marginRight+=G[1]);this.setChartSize()},initReflow:function(){function o(w){var z=u.width||aO(t,"width"),x=u.height||aO(t,"height"),w=w?w.target:a2;if(z&&x&&(w===a2||w===bm)){if(z!==n.containerWidth||x!==n.containerHeight){clearTimeout(s),s=setTimeout(function(){n.resize(z,x,!1)},100)}n.containerWidth=z;n.containerHeight=x}}var n=this,u=n.options.chart,t=n.renderTo,s;a8(a2,"resize",o);a8(n,"destroy",function(){aY(a2,"resize",o)})},fireEndResize:function(){var n=this;n&&bf(n,"endResize",null,function(){n.isResizing-=1})},resize:function(o,n,x){var w,u,t=this.title,s=this.subtitle;this.isResizing+=1;aL(x,this);this.oldChartHeight=this.chartHeight;this.oldChartWidth=this.chartWidth;if(aw(o)){this.chartWidth=w=av(o)}if(aw(n)){this.chartHeight=u=av(n)}bd(this.container,{width:w+"px",height:u+"px"});this.renderer.setSize(w,u,x);this.plotWidth=w-this.plotLeft-this.marginRight;this.plotHeight=u-this.plotTop-this.marginBottom;this.maxTicks=null;az(this.axes,function(z){z.isDirty=!0;z.setScale()});az(this.series,function(z){z.isDirty=!0});this.isDirtyBox=this.isDirtyLegend=!0;this.getMargins();o=this.spacingBox;t&&t.align(null,null,o);s&&s.align(null,null,o);this.redraw(x);this.oldChartHeight=null;bf(this,"resize");H===!1?this.fireEndResize():setTimeout(this.fireEndResize,H&&H.duration||500)},setChartSize:function(){var o=this.inverted,n=this.chartWidth,x=this.chartHeight,w=this.options.chart,u=w.spacingTop,t=w.spacingRight,s=w.spacingBottom,w=w.spacingLeft;this.plotLeft=av(this.plotLeft);this.plotTop=av(this.plotTop);this.plotWidth=av(n-this.plotLeft-this.marginRight);this.plotHeight=av(x-this.plotTop-this.marginBottom);this.plotSizeX=o?this.plotHeight:this.plotWidth;this.plotSizeY=o?this.plotWidth:this.plotHeight;this.spacingBox={x:w,y:u,width:n-w-t,height:x-u-s};az(this.axes,function(z){z.setAxisSize();z.setAxisTranslation()})},resetMargins:function(){var o=this.options.chart,n=o.spacingRight,t=o.spacingBottom,s=o.spacingLeft;this.plotTop=ax(this.optionsMarginTop,o.spacingTop);this.marginRight=ax(this.optionsMarginRight,n);this.marginBottom=ax(this.optionsMarginBottom,t);this.plotLeft=ax(this.optionsMarginLeft,s);this.axisOffset=[0,0,0,0]},drawChartBox:function(){var F=this.options.chart,E=this.renderer,D=this.chartWidth,C=this.chartHeight,B=this.chartBackground,A=this.plotBackground,z=this.plotBorder,x=this.plotBGImage,w=F.borderWidth||0,u=F.backgroundColor,t=F.plotBackgroundColor,s=F.plotBackgroundImage,o,n={x:this.plotLeft,y:this.plotTop,width:this.plotWidth,height:this.plotHeight};o=w+(F.shadow?8:0);if(w||u){if(B){B.animate(B.crisp(null,null,null,D-o,C-o))}else{B={fill:u||aT};if(w){B.stroke=F.borderColor,B["stroke-width"]=w}this.chartBackground=E.rect(o/2,o/2,D-o,C-o,F.borderRadius,w).attr(B).add().shadow(F.shadow)}}if(t){A?A.animate(n):this.plotBackground=E.rect(this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight,0).attr({fill:t}).add().shadow(F.plotShadow)}if(s){x?x.animate(n):this.plotBGImage=E.image(s,this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight).add()}if(F.plotBorderWidth){z?z.animate(z.crisp(null,this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight)):this.plotBorder=E.rect(this.plotLeft,this.plotTop,this.plotWidth,this.plotHeight,0,F.plotBorderWidth).attr({stroke:F.plotBorderColor,"stroke-width":F.plotBorderWidth,zIndex:4}).add()}this.isDirtyBox=!1},propFromSeries:function(){var o=this,n=o.options.chart,w,u=o.options.series,t,s;az(["inverted","angular","polar"],function(x){w=aP[n.type||n.defaultSeriesType];s=o[x]||n[x]||w&&w.prototype[x];for(t=u&&u.length;!s&&t--;){(w=aP[u[t].type])&&w.prototype[x]&&(s=!0)}o[x]=s})},render:function(){var o=this,n=o.axes,w=o.renderer,u=o.options,t=u.labels,u=u.credits,s;o.setTitle();o.legend=new l(o);az(n,function(x){x.setScale()});o.getMargins();o.maxTicks=null;az(n,function(x){x.setTickPositions(!0);x.setMaxTicks()});o.adjustTickAmounts();o.getMargins();o.drawChartBox();o.hasCartesianSeries&&az(n,function(x){x.render()});if(!o.seriesGroup){o.seriesGroup=w.g("series-group").attr({zIndex:3}).add()}az(o.series,function(x){x.translate();x.setTooltipPoints();x.render()});t.items&&az(t.items,function(){var x=au(t.style,this.style),A=at(x.left)+o.plotLeft,z=at(x.top)+o.plotTop+12;delete x.left;delete x.top;w.text(this.html,A,z).attr({zIndex:2}).css(x).add()});if(u.enabled&&!o.credits){s=u.href,o.credits=w.text(u.text,0,0).on("click",function(){if(s){location.href=s}}).attr({align:u.position.align,zIndex:8}).css(u.style).add().align(u.position)}o.hasRendered=!0},destroy:function(){var o=this,n=o.axes,w=o.series,u=o.container,t,s=u&&u.parentNode;if(o!==null){bf(o,"destroy");aY(o);for(t=n.length;t--;){n[t]=n[t].destroy()}for(t=w.length;t--;){w[t]=w[t].destroy()}az("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,tracker,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(x){var z=o[x];z&&(o[x]=z.destroy())});if(u){u.innerHTML="",aY(u),s&&ao(u),u=null}for(t in o){delete o[t]}o=o.options=null}},firstRender:function(){var o=this,n=o.options,s=o.callback;if(!aE&&a2==a2.top&&bm.readyState!=="complete"||bz&&!a2.canvg){bz?bF.push(function(){o.firstRender()},n.global.canvasToolsURL):bm.attachEvent("onreadystatechange",function(){bm.detachEvent("onreadystatechange",o.firstRender);bm.readyState==="complete"&&o.firstRender()})}else{o.getContainer();bf(o,"init");if(Highcharts.RangeSelector&&n.rangeSelector.enabled){o.rangeSelector=new Highcharts.RangeSelector(o)}o.resetMargins();o.setChartSize();o.propFromSeries();o.getAxes();az(n.series||[],function(t){o.initSeries(t)});if(Highcharts.Scroller&&(n.navigator.enabled||n.scrollbar.enabled)){o.scroller=new Highcharts.Scroller(o)}o.tracker=new aD(o,n);o.render();o.renderer.draw();s&&s.apply(o,[o]);az(o.callbacks,function(t){t.apply(o,[o])});o.cloneRenderTo(!0);bf(o,"load")}},init:function(o){var n=this.options.chart,s;n.reflow!==!1&&a8(this,"load",this.initReflow);if(o){for(s in o){a8(this,s,o[s])}}this.xAxis=[];this.yAxis=[];this.animation=bz?!1:ax(n.animation,!0);this.setSize=this.resize;this.pointCount=0;this.counters=new bN;this.firstRender()}};bS.prototype.callbacks=[];var aq=function(){};aq.prototype={init:function(o,n,t){var s=o.chart.counters;this.series=o;this.applyOptions(n,t);this.pointAttr={};if(o.options.colorByPoint){n=o.chart.options.colors;if(!this.options){this.options={}}this.color=this.options.color=this.color||n[s.color++];s.wrapColor(n.length)}o.chart.pointCount++;return this},applyOptions:function(o,n){var t=this.series,s=typeof o;this.config=o;if(s==="number"||o===null){this.y=o}else{if(typeof o[0]==="number"){this.x=o[0],this.y=o[1]}else{if(s==="object"&&typeof o.length!=="number"){if(au(this,o),this.options=o,o.dataLabels){t._hasPointLabels=!0}}else{if(typeof o[0]==="string"){this.name=o[0],this.y=o[1]}}}}if(this.x===bo){this.x=n===bo?t.autoIncrement():n}},destroy:function(){var o=this.series.chart,n=o.hoverPoints,s;o.pointCount--;if(n&&(this.setState(),bt(n,this),!n.length)){o.hoverPoints=null}if(this===o.hoverPoint){this.onMouseOut()}if(this.graphic||this.dataLabel){aY(this),this.destroyElements()}this.legendItem&&o.legend.destroyItem(this);for(s in this){this[s]=null}},destroyElements:function(){for(var o="graphic,tracker,dataLabel,group,connector,shadowGroup".split(","),n,s=6;s--;){n=o[s],this[n]&&(this[n]=this[n].destroy())}},getLabelConfig:function(){return{x:this.category,y:this.y,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},select:function(o,n){var t=this,s=t.series.chart,o=ax(o,!t.selected);t.firePointEvent(o?"select":"unselect",{accumulate:n},function(){t.selected=o;t.setState(o&&"select");n||az(s.getSelectedPoints(),function(u){if(u.selected&&u!==t){u.selected=!1,u.setState(""),u.firePointEvent("unselect")}})})},onMouseOver:function(){var o=this.series,n=o.chart,t=n.tooltip,s=n.hoverPoint;if(s&&s!==this){s.onMouseOut()}this.firePointEvent("mouseOver");t&&(!t.shared||o.noSharedTooltip)&&t.refresh(this);this.setState("hover");n.hoverPoint=this},onMouseOut:function(){this.firePointEvent("mouseOut");this.setState();this.series.chart.hoverPoint=null},tooltipFormatter:function(B){var A=this.series,z=A.tooltipOptions,x=B.match(/\{(series|point)\.[a-zA-Z]+\}/g),w=/[{\.}]/,u,t,s,o,n={y:0,open:0,high:0,low:0,close:0,percentage:1,total:1};z.valuePrefix=z.valuePrefix||z.yPrefix;z.valueDecimals=z.valueDecimals||z.yDecimals;z.valueSuffix=z.valueSuffix||z.ySuffix;for(o in x){t=x[o],bU(t)&&t!==B&&(s=(" "+t).split(w),u={point:this,series:A}[s[1]],s=s[2],u===this&&n.hasOwnProperty(s)?(u=n[s]?s:"value",u=(z[u+"Prefix"]||"")+J(this[s],ax(z[u+"Decimals"],-1))+(z[u+"Suffix"]||"")):u=u[s],B=B.replace(t,u))}return B},update:function(B,A,z){var x=this,w=x.series,u=x.graphic,t,s=w.data,o=s.length,n=w.chart,A=ax(A,!0);x.firePointEvent("update",{options:B},function(){x.applyOptions(B);bw(B)&&(w.getAttribs(),u&&u.attr(x.pointAttr[w.state]));for(t=0;t<o;t++){if(s[t]===x){w.xData[t]=x.x;w.yData[t]=x.y;w.options.data[t]=B;break}}w.isDirty=!0;w.isDirtyData=!0;A&&n.redraw(z)})},remove:function(o,n){var z=this,x=z.series,w=x.chart,u,t=x.data,s=t.length;aL(n,w);o=ax(o,!0);z.firePointEvent("remove",null,function(){for(u=0;u<s;u++){if(t[u]===z){t.splice(u,1);x.options.data.splice(u,1);x.xData.splice(u,1);x.yData.splice(u,1);break}}z.destroy();x.isDirty=!0;x.isDirtyData=!0;o&&w.redraw()})},firePointEvent:function(o,n,u){var t=this,s=this.series.options;(s.point.events[o]||t.options&&t.options.events&&t.options.events[o])&&this.importEvents();o==="click"&&s.allowPointSelect&&(u=function(w){t.select(null,w.ctrlKey||w.metaKey||w.shiftKey)});bf(this,o,n,u)},importEvents:function(){if(!this.hasImportedEvents){var o=bk(this.series.options.point,this.options).events,n;this.events=o;for(n in o){a8(this,n,o[n])}this.hasImportedEvents=!0}},setState:function(D){var C=this.plotX,B=this.plotY,A=this.series,z=A.options.states,x=aN[A.type].marker&&A.options.marker,w=x&&!x.enabled,u=x&&x.states[D],t=u&&u.enabled===!1,s=A.stateMarkerGraphic,o=A.chart,n=this.pointAttr,D=D||"";if(!(D===this.state||this.selected&&D!=="select"||z[D]&&z[D].enabled===!1||D&&(t||w&&!u.enabled))){if(this.graphic){z=x&&this.graphic.symbolName&&n[D].r,this.graphic.attr(bk(n[D],z?{x:C-z,y:B-z,width:2*z,height:2*z}:{}))}else{if(D&&u){if(!s){z=u.radius,A.stateMarkerGraphic=s=o.renderer.symbol(A.symbol,-z,-z,2*z,2*z).attr(n[D]).add(A.group)}s.translate(C,B)}if(s){s[D?"show":"hide"]()}}this.state=D}}};var aW=function(){};aW.prototype={isCartesian:!0,type:"line",pointClass:aq,sorted:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},init:function(o,n){var t,s;s=o.series.length;this.chart=o;this.options=n=this.setOptions(n);this.bindAxes();au(this,{index:s,name:n.name||"Series "+(s+1),state:"",pointAttr:{},visible:n.visible!==!1,selected:n.selected===!0});if(bz){n.animation=!1}s=n.events;for(t in s){a8(this,t,s[t])}if(s&&s.click||n.point&&n.point.events&&n.point.events.click||n.allowPointSelect){o.runTrackerClick=!0}this.getColor();this.getSymbol();this.setData(n.data,!1);if(this.isCartesian){o.hasCartesianSeries=!0}o.series.push(this)},bindAxes:function(){var o=this,n=o.options,t=o.chart,s;o.isCartesian&&az(["xAxis","yAxis"],function(u){az(t[u],function(w){s=w.options;if(n[u]===s.index||n[u]===bo&&s.index===0){w.series.push(o),o[u]=w,w.isDirty=!0}})})},autoIncrement:function(){var o=this.options,n=this.xIncrement,n=ax(n,o.pointStart,0);this.pointInterval=ax(this.pointInterval,o.pointInterval,1);this.xIncrement=n+this.pointInterval;return n},getSegments:function(){var o=-1,n=[],u,t=this.points,s=t.length;if(s){if(this.options.connectNulls){for(u=s;u--;){t[u].y===null&&t.splice(u,1)}t.length&&(n=[t])}else{az(t,function(x,w){x.y===null?(w>o+1&&n.push(t.slice(o+1,w)),o=w):w===s-1&&n.push(t.slice(o+1,w+1))})}}this.segments=n},setOptions:function(o){var n=this.chart.options,t=n.plotOptions,s=o.data;o.data=null;t=bk(t[this.type],t.series,o);t.data=o.data=s;this.tooltipOptions=bk(n.tooltip,t.tooltip);return t},getColor:function(){var o=this.options,n=this.chart.options.colors,s=this.chart.counters;this.color=o.color||!o.colorByPoint&&n[s.color++]||"gray";s.wrapColor(n.length)},getSymbol:function(){var o=this.options.marker,n=this.chart,s=n.options.symbols,n=n.counters;this.symbol=o.symbol||s[n.symbol++];if(/^url/.test(this.symbol)){o.radius=0}n.wrapSymbol(s.length)},drawLegendSymbol:function(o){var n=this.options,x=n.marker,w=o.options.symbolWidth,u=this.chart.renderer,t=this.legendGroup,o=o.baseline,s;if(n.lineWidth){s={"stroke-width":n.lineWidth};if(n.dashStyle){s.dashstyle=n.dashStyle}this.legendLine=u.path(["M",0,o-4,"L",w,o-4]).attr(s).add(t)}if(x&&x.enabled){n=x.radius,this.legendSymbol=u.symbol(this.symbol,w/2-n,o-4-n,2*n,2*n).attr(this.pointAttr[""]).add(t)}},addPoint:function(D,C,B,A){var z=this.data,x=this.graph,w=this.area,u=this.chart,t=this.xData,s=this.yData,o=x&&x.shift||0,n=this.options.data;aL(A,u);if(x&&B){x.shift=o+1}if(w){if(B){w.shift=o+1}w.isArea=!0}C=ax(C,!0);A={series:this};this.pointClass.prototype.applyOptions.apply(A,[D]);t.push(A.x);s.push(this.valueCount===4?[A.open,A.high,A.low,A.close]:A.y);n.push(D);B&&(z[0]&&z[0].remove?z[0].remove(!1):(z.shift(),t.shift(),s.shift(),n.shift()));this.getAttribs();this.isDirtyData=this.isDirty=!0;C&&u.redraw()},setData:function(E,D){var C=this.points,B=this.options,A=this.initialColor,z=this.chart,x=null,w=this.xAxis,u=this.pointClass.prototype;this.xIncrement=null;this.pointRange=w&&w.categories&&1||B.pointRange;if(aw(A)){z.counters.color=A}var t=[],s=[],o=E?E.length:[],n=this.valueCount;if(o>(B.turboThreshold||1000)){for(A=0;x===null&&A<o;){x=E[A],A++}if(ak(x)){u=ax(B.pointStart,0);B=ax(B.pointInterval,1);for(A=0;A<o;A++){t[A]=u,s[A]=E[A],u+=B}this.xIncrement=u}else{if(aI(x)){if(n){for(A=0;A<o;A++){B=E[A],t[A]=B[0],s[A]=B.slice(1,n+1)}}else{for(A=0;A<o;A++){B=E[A],t[A]=B[0],s[A]=B[1]}}}}}else{for(A=0;A<o;A++){B={series:this},u.applyOptions.apply(B,[E[A]]),t[A]=B.x,s[A]=u.toYData?u.toYData.apply(B):B.y}}this.data=[];this.options.data=E;this.xData=t;this.yData=s;for(A=C&&C.length||0;A--;){C[A]&&C[A].destroy&&C[A].destroy()}if(w){w.minRange=w.userMinRange}this.isDirty=this.isDirtyData=z.isDirtyBox=!0;ax(D,!0)&&z.redraw(!1)},remove:function(o,n){var t=this,s=t.chart,o=ax(o,!0);if(!t.isRemoving){t.isRemoving=!0,bf(t,"remove",null,function(){t.destroy();s.isDirtyLegend=s.isDirtyBox=!0;o&&s.redraw(n)})}t.isRemoving=!1},processData:function(D){var C=this.xData,B=this.yData,A=C.length,z=0,x=A,w,u,t=this.xAxis,s=this.options,o=s.cropThreshold,n=this.isCartesian;if(n&&!this.isDirty&&!t.isDirty&&!this.yAxis.isDirty&&!D){return !1}if(n&&this.sorted&&(!o||A>o||this.forceCrop)){if(D=t.getExtremes(),t=D.min,o=D.max,C[A-1]<t||C[0]>o){C=[],B=[]}else{if(C[0]<t||C[A-1]>o){for(D=0;D<A;D++){if(C[D]>=t){z=ar(0,D-1);break}}for(;D<A;D++){if(C[D]>o){x=D+1;break}}C=C.slice(z,x);B=B.slice(z,x);w=!0}}}for(D=C.length-1;D>0;D--){if(A=C[D]-C[D-1],A>0&&(u===bo||A<u)){u=A}}this.cropped=w;this.cropStart=z;this.processedXData=C;this.processedYData=B;if(s.pointRange===null){this.pointRange=u||1}this.closestPointRange=u},generatePoints:function(){var E=this.options.data,D=this.data,C,B=this.processedXData,A=this.processedYData,z=this.pointClass,x=B.length,w=this.cropStart||0,u,t=this.hasGroupedData,s,o=[],n;if(!D&&!t){D=[],D.length=E.length,D=this.data=D}for(n=0;n<x;n++){u=w+n,t?o[n]=(new z).init(this,[B[n]].concat(bh(A[n]))):(D[u]?s=D[u]:E[u]!==bo&&(D[u]=s=(new z).init(this,E[u],B[n])),o[n]=s)}if(D&&(x!==(C=D.length)||t)){for(n=0;n<C;n++){if(n===w&&!t&&(n+=x),D[n]){D[n].destroyElements(),D[n].plotX=bo}}}this.data=D;this.points=o},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var M=this.chart,L=this.options,I=L.stacking,G=this.xAxis,F=G.categories,E=this.yAxis,D=this.points,C=D.length,B=!!this.modifyValue,A,z=E.series,x=z.length;x--;){if(z[x].visible){x===this.index&&(A=!0);break}}for(x=0;x<C;x++){var z=D[x],w=z.x,s=z.y,u=z.low,t=E.stacks[(s<L.threshold?"-":"")+this.stackKey];z.plotX=G.translate(w,0,0,0,1);if(I&&this.visible&&t&&t[w]){u=t[w];w=u.total;u.cum=u=u.cum-s;s=u+s;if(A){u=L.threshold}I==="percent"&&(u=w?u*100/w:0,s=w?s*100/w:0);z.percentage=w?z.y*100/w:0;z.stackTotal=w;z.stackY=s}z.yBottom=aw(u)?E.translate(u,0,1,0,1):null;B&&(s=this.modifyValue(s,z));z.plotY=typeof s==="number"?av(E.translate(s,0,1,0,1)*10)/10:bo;z.clientX=M.inverted?M.plotHeight-z.plotX:z.plotX;z.category=F&&F[z.x]!==bo?F[z.x]:z.x}this.getSegments()},setTooltipPoints:function(o){var n=[],z=this.chart.plotSizeX,x,w;x=this.xAxis;var u,t,s=[];if(this.options.enableMouseTracking!==!1){if(o){this.tooltipPoints=null}az(this.segments||this.points,function(A){n=n.concat(A)});x&&x.reversed&&(n=n.reverse());o=n.length;for(t=0;t<o;t++){u=n[t];x=n[t-1]?n[t-1]._high+1:0;for(u._high=w=n[t+1]?ar(0,aR((u.plotX+(n[t+1]?n[t+1].plotX:z))/2)):z;x>=0&&x<=w;){s[x++]=u}}this.tooltipPoints=s}},tooltipHeaderFormatter:function(o){var n=this.tooltipOptions,w=n.xDateFormat,u=this.xAxis,t=u&&u.options.type==="datetime",s;if(t&&!w){for(s in bj){if(bj[s]>=u.closestPointRange){w=n.dateTimeLabelFormats[s];break}}}return n.headerFormat.replace("{point.key}",t?K(w,o):o).replace("{series.name}",this.name).replace("{series.color}",this.color)},onMouseOver:function(){var o=this.chart,n=o.hoverSeries;if(g||!o.mouseIsDown){if(n&&n!==this){n.onMouseOut()}this.options.events.mouseOver&&bf(this,"mouseOver");this.setState("hover");o.hoverSeries=this}},onMouseOut:function(){var o=this.options,n=this.chart,t=n.tooltip,s=n.hoverPoint;if(s){s.onMouseOut()}this&&o.events.mouseOut&&bf(this,"mouseOut");t&&!o.stickyTracking&&!t.shared&&t.hide();this.setState();n.hoverSeries=null},animate:function(o){var n=this.chart,t=this.clipRect,s=this.options.animation;s&&!bw(s)&&(s={});if(o){if(!t.isAnimating){t.attr("width",0),t.isAnimating=!0}}else{t.animate({width:n.plotSizeX},s),this.animate=null}},drawPoints:function(){var C,B=this.points,A=this.chart,z,x,w,u,t,s,o,n;if(this.options.marker.enabled){for(w=B.length;w--;){if(u=B[w],z=u.plotX,x=u.plotY,n=u.graphic,x!==bo&&!isNaN(x)){if(C=u.pointAttr[u.selected?"select":""],t=C.r,s=ax(u.marker&&u.marker.symbol,this.symbol),o=s.indexOf("url")===0,n){n.animate(au({x:z-t,y:x-t},n.symbolName?{width:2*t,height:2*t}:{}))}else{if(t>0||o){u.graphic=A.renderer.symbol(s,z-t,x-t,2*t,2*t).attr(C).add(this.group)}}}}}},convertAttribs:function(o,n,z,x){var w=this.pointAttrToOptions,u,t,s={},o=o||{},n=n||{},z=z||{},x=x||{};for(u in w){t=w[u],s[u]=ax(o[t],n[u],z[u],x[u])}return s},getAttribs:function(){var D=this,C=aN[D.type].marker?D.options.marker:D.options,B=C.states,A=B.hover,z,x=D.color,w={stroke:x,fill:x},u=D.points||[],t=[],s,o=D.pointAttrToOptions,n;D.options.marker?(A.radius=A.radius||C.radius+2,A.lineWidth=A.lineWidth||C.lineWidth+1):A.color=A.color||ai(A.color||x).brighten(A.brightness).get();t[""]=D.convertAttribs(C,w);az(["hover","select"],function(E){t[E]=D.convertAttribs(B[E],t[""])});D.pointAttr=t;for(x=u.length;x--;){w=u[x];if((C=w.options&&w.options.marker||w.options)&&C.enabled===!1){C.radius=0}z=!1;if(w.options){for(n in o){aw(C[o[n]])&&(z=!0)}}if(z){s=[];B=C.states||{};z=B.hover=B.hover||{};if(!D.options.marker){z.color=ai(z.color||w.options.color).brighten(z.brightness||A.brightness).get()}s[""]=D.convertAttribs(C,t[""]);s.hover=D.convertAttribs(B.hover,t.hover,s[""]);s.select=D.convertAttribs(B.select,t.select,s[""])}else{s=t}w.pointAttr=s}},destroy:function(){var B=this,A=B.chart,z=B.clipRect,x=/AppleWebKit\/533/.test(bJ),w,u,t=B.data||[],s,o,n;bf(B,"destroy");aY(B);az(["xAxis","yAxis"],function(C){if(n=B[C]){bt(n.series,B),n.isDirty=!0}});B.legendItem&&B.chart.legend.destroyItem(B);for(u=t.length;u--;){(s=t[u])&&s.destroy&&s.destroy()}B.points=null;if(z&&z!==A.clipRect){B.clipRect=z.destroy()}az("area,graph,dataLabelsGroup,group,tracker,trackerGroup".split(","),function(C){B[C]&&(w=x&&C==="group"?"hide":"destroy",B[C][w]())});if(A.hoverSeries===B){A.hoverSeries=null}bt(A.series,B);for(o in B){delete B[o]}},drawDataLabels:function(){var X=this,W=X.options,V=W.dataLabels;if(V.enabled||X._hasPointLabels){var U,T,S=X.points,R,Q,P,O=X.dataLabelsGroup,N=X.chart,M=X.xAxis,M=M?M.left:N.plotLeft,L=X.yAxis,L=L?L.top:N.plotTop,I=N.renderer,G=N.inverted,E=X.type,F=W.stacking,t=E==="column"||E==="bar",A=V.verticalAlign===null,C=V.y===null,D=I.fontMetrics(V.style.fontSize),B=D.h,s=D.b,o,n;t&&(D={top:s,middle:s-B/2,bottom:-B+s},F?(A&&(V=bk(V,{verticalAlign:"middle"})),C&&(V=bk(V,{y:D[V.verticalAlign]}))):A?V=bk(V,{verticalAlign:"top"}):C&&(V=bk(V,{y:D[V.verticalAlign]})));O?O.translate(M,L):O=X.dataLabelsGroup=I.g("data-labels").attr({visibility:X.visible?"visible":"hidden",zIndex:6}).translate(M,L).add();Q=V;az(S,function(z){o=z.dataLabel;V=Q;(R=z.options)&&R.dataLabels&&(V=bk(V,R.dataLabels));if(n=V.enabled){var w=z.barX&&z.barX+z.barW/2||ax(z.plotX,-999),u=ax(z.plotY,-999),Y=V.y===null?z.y>=W.threshold?-B+s:s:V.y;U=(G?N.plotWidth-u:w)+V.x;T=av((G?N.plotHeight-w:u)+Y)}if(o&&X.isCartesian&&(!N.isInsidePlot(U,T)||!n)){z.dataLabel=o.destroy()}else{if(n){var w=V.align,x;P=V.formatter.call(z.getLabelConfig(),V);E==="column"&&(U+={left:-1,right:1}[w]*z.barW/2||0);!F&&G&&z.y<0&&(w="right",U-=10);V.style.color=ax(V.color,V.style.color,X.color,"black");if(o){o.attr({text:P}).animate({x:U,y:T})}else{if(aw(P)){w={align:w,fill:V.backgroundColor,stroke:V.borderColor,"stroke-width":V.borderWidth,r:V.borderRadius||0,rotation:V.rotation,padding:V.padding,zIndex:1};for(x in w){w[x]===bo&&delete w[x]}o=z.dataLabel=I[V.rotation?"text":"label"](P,U,T,null,null,null,V.useHTML,!0).attr(w).css(V.style).add(O).shadow(V.shadow)}}if(t&&W.stacking&&o){x=z.barX,w=z.barY,u=z.barW,z=z.barH,o.align(V,null,{x:G?N.plotWidth-w-z:x,y:G?N.plotHeight-x-u:w,width:G?z:u,height:G?u:z})}}}})}},getSegmentPath:function(o){var n=this,s=[];az(o,function(u,t){n.getPointSpline?s.push.apply(s,n.getPointSpline(o,u,t)):(s.push(t?"L":"M"),t&&n.options.step&&s.push(u.plotX,o[t-1].plotY),s.push(u.plotX,u.plotY))});return s},drawGraph:function(){var C=this,B=C.options,A=C.graph,z=[],x=C.group,w=B.lineColor||C.color,u=B.lineWidth,t=B.dashStyle,s,o=C.chart.renderer,n=[];az(C.segments,function(D){s=C.getSegmentPath(D);D.length>1?z=z.concat(s):n.push(D[0])});C.graphPath=z;C.singlePoints=n;if(A){k(A),A.animate({d:z})}else{if(u){A={stroke:w,"stroke-width":u};if(t){A.dashstyle=t}C.graph=o.path(z).attr(A).add(x).shadow(B.shadow)}}},invertGroups:function(){function o(){var w={width:n.yAxis.len,height:n.xAxis.len};u.attr(w).invert();t&&t.attr(w).invert()}var n=this,u=n.group,t=n.trackerGroup,s=n.chart;a8(s,"resize",o);a8(n,"destroy",function(){aY(s,"resize",o)});o();n.invertGroups=o},createGroup:function(){var n=this.chart;(this.group=n.renderer.g("series")).attr({visibility:this.visible?"visible":"hidden",zIndex:this.options.zIndex}).translate(this.xAxis.left,this.yAxis.top).add(n.seriesGroup);this.createGroup=b},render:function(){var o=this,n=o.chart,z,x=o.options,w=x.clip!==!1,u=x.animation,u=(x=u&&o.animate)?u&&u.duration||500:0,t=o.clipRect,s=n.renderer;if(!t&&(t=o.clipRect=!n.hasRendered&&n.clipRect?n.clipRect:s.clipRect(0,0,n.plotSizeX,n.plotSizeY+1),!n.clipRect)){n.clipRect=t}o.createGroup();z=o.group;o.drawDataLabels();x&&o.animate(!0);o.getAttribs();o.drawGraph&&o.drawGraph();o.drawPoints();o.options.enableMouseTracking!==!1&&o.drawTracker();n.inverted&&o.invertGroups();w&&!o.hasRendered&&(z.clip(t),o.trackerGroup&&o.trackerGroup.clip(n.clipRect));x&&o.animate();setTimeout(function(){t.isAnimating=!1;if((z=o.group)&&t!==n.clipRect&&t.renderer){if(w){z.clip(o.clipRect=n.clipRect)}t.destroy()}},u);o.isDirty=o.isDirtyData=!1;o.hasRendered=!0},redraw:function(){var o=this.chart,n=this.isDirtyData,s=this.group;s&&(o.inverted&&s.attr({width:o.plotWidth,height:o.plotHeight}),s.animate({translateX:this.xAxis.left,translateY:this.yAxis.top}));this.translate();this.setTooltipPoints(!0);this.render();n&&bf(this,"updatedData")},setState:function(o){var n=this.options,t=this.graph,s=n.states,n=n.lineWidth,o=o||"";if(this.state!==o){this.state=o,s[o]&&s[o].enabled===!1||(o&&(n=s[o].lineWidth||n+1),t&&!t.dashstyle&&t.attr({"stroke-width":n},o?0:500))}},setVisible:function(B,A){var z=this.chart,x=this.legendItem,w=this.group,u=this.tracker,t=this.dataLabelsGroup,s,o=this.points,n=z.options.chart.ignoreHiddenSeries;s=this.visible;s=(this.visible=B=B===bo?!s:B)?"show":"hide";if(w){w[s]()}if(u){u[s]()}else{if(o){for(w=o.length;w--;){if(u=o[w],u.tracker){u.tracker[s]()}}}}if(t){t[s]()}x&&z.legend.colorizeItem(this,B);this.isDirty=!0;this.options.stacking&&az(z.series,function(C){if(C.options.stacking&&C.visible){C.isDirty=!0}});if(n){z.isDirtyBox=!0}A!==!1&&z.redraw();bf(this,s)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=n===bo?!this.selected:n;if(this.checkbox){this.checkbox.checked=n}bf(this,n?"select":"unselect")},drawTrackerGroup:function(){var o=this.trackerGroup,n=this.chart;if(this.isCartesian){if(!o){this.trackerGroup=o=n.renderer.g().attr({zIndex:this.options.zIndex||1}).add(n.trackerGroup)}o.translate(this.xAxis.left,this.yAxis.top)}return o},drawTracker:function(){var E=this,D=E.options,C=D.trackByArea,B=[].concat(C?E.areaPath:E.graphPath),A=B.length,z=E.chart,x=z.renderer,w=z.options.tooltip.snap,u=E.tracker,t=D.cursor,t=t&&{cursor:t},s=E.singlePoints,o=E.drawTrackerGroup(),n;if(A&&!C){for(n=A+1;n--;){B[n]==="M"&&B.splice(n+1,0,B[n+1]-w,B[n+2],"L"),(n&&B[n]==="M"||n===A)&&B.splice(n,0,"L",B[n-2]+w,B[n-1])}}for(n=0;n<s.length;n++){A=s[n],B.push("M",A.plotX-w,A.plotY,"L",A.plotX+w,A.plotY)}u?u.attr({d:B}):E.tracker=x.path(B).attr({isTracker:!0,"stroke-linejoin":"bevel",visibility:E.visible?"visible":"hidden",stroke:bn,fill:C?bn:aT,"stroke-width":D.lineWidth+(C?0:2*w)}).on(g?"touchstart":"mouseover",function(){if(z.hoverSeries!==E){E.onMouseOver()}}).on("mouseout",function(){if(!D.stickyTracking){E.onMouseOut()}}).css(t).add(o)}};bc=aA(aW);aP.line=bc;aN.area=bk(aU,{threshold:0});bc=aA(aW,{type:"area",getSegmentPath:function(o){var n=aW.prototype.getSegmentPath.call(this,o),w=[].concat(n),u,t=this.options;u=n.length;var s=this.yAxis.getThreshold(t.threshold);u===3&&w.push("L",n[1],n[2]);if(t.stacking&&this.type!=="areaspline"){for(u=o.length-1;u>=0;u--){u<o.length-1&&t.step&&w.push(o[u+1].plotX,o[u].yBottom),w.push(o[u].plotX,o[u].yBottom)}}else{w.push("L",o[o.length-1].plotX,s,"L",o[0].plotX,s)}this.areaPath=this.areaPath.concat(w);return n},drawGraph:function(){this.areaPath=[];aW.prototype.drawGraph.apply(this);var o=this.areaPath,n=this.options,s=this.area;s?s.animate({d:o}):this.area=this.chart.renderer.path(o).attr({fill:ax(n.fillColor,ai(this.color).setOpacity(n.fillOpacity||0.75).get())}).add(this.group)},drawLegendSymbol:function(o,n){n.legendSymbol=this.chart.renderer.rect(0,o.baseline-11,o.options.symbolWidth,12,2).attr({zIndex:3}).add(n.legendGroup)}});aP.area=bc;aN.spline=bk(aU);a6=aA(aW,{type:"spline",getPointSpline:function(D,C,B){var A=C.plotX,z=C.plotY,x=D[B-1],w=D[B+1],u,t,s,o;if(B&&B<D.length-1){D=x.plotY;s=w.plotX;var w=w.plotY,n;u=(1.5*A+x.plotX)/2.5;t=(1.5*z+D)/2.5;s=(1.5*A+s)/2.5;o=(1.5*z+w)/2.5;n=(o-t)*(s-A)/(s-u)+z-o;t+=n;o+=n;t>D&&t>z?(t=ar(D,z),o=2*z-t):t<D&&t<z&&(t=a1(D,z),o=2*z-t);o>w&&o>z?(o=ar(w,z),t=2*z-o):o<w&&o<z&&(o=a1(w,z),t=2*z-o);C.rightContX=s;C.rightContY=o}B?(C=["C",x.rightContX||x.plotX,x.rightContY||x.plotY,u||A,t||z,A,z],x.rightContX=x.rightContY=null):C=["M",A,z];return C}});aP.spline=a6;aN.areaspline=bk(aN.area);var bi=bc.prototype,a6=aA(a6,{type:"areaspline",getSegmentPath:bi.getSegmentPath,drawGraph:bi.drawGraph});aP.areaspline=a6;aN.column=bk(aU,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:0.2,marker:null,pointPadding:0.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:0.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{y:null,verticalAlign:null},threshold:0});a6=aA(aW,{type:"column",tooltipOutsidePlot:!0,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},init:function(){aW.prototype.init.apply(this,arguments);var o=this,n=o.chart;n.hasRendered&&az(n.series,function(s){if(s.type===o.type){s.isDirty=!0}})},translate:function(){var S=this,R=S.chart,Q=S.options,P=Q.stacking,O=Q.borderWidth,N=0,M=S.xAxis,L=M.reversed,I={},G,F;aW.prototype.translate.apply(S);az(R.series,function(t){if(t.type===S.type&&t.visible&&S.options.group===t.options.group){t.options.stacking?(G=t.stackKey,I[G]===bo&&(I[G]=N++),F=I[G]):F=N++,t.columnIndex=F}});var E=S.points,M=a3(M.transA)*(M.ordinalSlope||Q.pointRange||M.closestPointRange||1),D=M*Q.groupPadding,C=(M-2*D)/N,B=Q.pointWidth,x=aw(B)?(C-B)/2:C*Q.pointPadding,A=ax(B,C-2*x),o=y(ar(A,1+2*O)),s=x+(D+((L?N-S.columnIndex:S.columnIndex)||0)*C-M/2)*(L?-1:1),n=S.yAxis.getThreshold(Q.threshold),u=ax(Q.minPointLength,5);az(E,function(W){var V=W.plotY,U=ax(W.yBottom,n),T=W.plotX+s,z=y(a1(V,U)),w=y(ar(V,U)-z),t=S.yAxis.stacks[(W.y<0?"-":"")+S.stackKey];P&&S.visible&&t&&t[W.x]&&t[W.x].setOffset(s,o);a3(w)<u&&u&&(w=u,z=a3(z-n)>u?U-u:n-(V<=n?u:0));au(W,{barX:T,barY:z,barW:o,barH:w,pointWidth:A});W.shapeType="rect";W.shapeArgs=V=R.renderer.Element.prototype.crisp.call(0,O,T,z,o,w);O%2&&(V.y-=1,V.height+=1);W.trackerArgs=a3(w)<3&&bk(W.shapeArgs,{height:6,y:z-3})})},getSymbol:function(){},drawLegendSymbol:bc.prototype.drawLegendSymbol,drawGraph:function(){},drawPoints:function(){var o=this,n=o.options,u=o.chart.renderer,t,s;az(o.points,function(x){var w=x.plotY;if(w!==bo&&!isNaN(w)&&x.y!==null){t=x.graphic,s=x.shapeArgs,t?(k(t),t.animate(bk(s))):x.graphic=t=u[x.shapeType](s).attr(x.pointAttr[x.selected?"select":""]).add(o.group).shadow(n.shadow,null,n.stacking&&!n.borderRadius)}})},drawTracker:function(){var E=this,D=E.chart,C=D.renderer,B,A,z=+new Date,x=E.options,w=x.cursor,u=w&&{cursor:w},t=E.drawTrackerGroup(),s,o,n;az(E.points,function(F){A=F.tracker;B=F.trackerArgs||F.shapeArgs;o=F.plotY;n=!E.isCartesian||o!==bo&&!isNaN(o);delete B.strokeWidth;if(F.y!==null&&n){A?A.attr(B):F.tracker=C[F.shapeType](B).attr({isTracker:z,fill:bn,visibility:E.visible?"visible":"hidden"}).on(g?"touchstart":"mouseover",function(G){s=G.relatedTarget||G.fromElement;if(D.hoverSeries!==E&&ap(s,"isTracker")!==z){E.onMouseOver()}F.onMouseOver()}).on("mouseout",function(G){if(!x.stickyTracking&&(s=G.relatedTarget||G.toElement,ap(s,"isTracker")!==z)){E.onMouseOut()}}).css(u).add(F.group||t)}})},animate:function(o){var n=this,t=n.points,s=n.options;if(!o){az(t,function(u){var z=u.graphic,u=u.shapeArgs,x=n.yAxis,w=s.threshold;z&&(z.attr({height:0,y:aw(w)?x.getThreshold(w):x.translate(x.getExtremes().min,0,1,0,1)}),z.animate({height:u.height,y:u.y},s.animation))}),n.animate=null}},remove:function(){var o=this,n=o.chart;n.hasRendered&&az(n.series,function(s){if(s.type===o.type){s.isDirty=!0}});aW.prototype.remove.apply(o,arguments)}});aP.column=a6;aN.bar=bk(aN.column,{dataLabels:{align:"left",x:5,y:null,verticalAlign:"middle"}});bi=aA(a6,{type:"bar",inverted:!0});aP.bar=bi;aN.scatter=bk(aU,{lineWidth:0,states:{hover:{lineWidth:0}},tooltip:{headerFormat:'<span style="font-size: 10px; color:{series.color}">{series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}});bi=aA(aW,{type:"scatter",sorted:!1,translate:function(){var n=this;aW.prototype.translate.apply(n);az(n.points,function(o){o.shapeType="circle";o.shapeArgs={x:o.plotX,y:o.plotY,r:n.chart.options.tooltip.snap}})},drawTracker:function(){for(var o=this,n=o.options.cursor,n=n&&{cursor:n},u=o.points,t=u.length,s;t--;){if(s=u[t].graphic){s.element._i=t}}o._hasTracking?o._hasTracking=!0:o.group.attr({isTracker:!0}).on(g?"touchstart":"mouseover",function(w){o.onMouseOver();if(w.target._i!==bo){u[w.target._i].onMouseOver()}}).on("mouseout",function(){if(!o.options.stickyTracking){o.onMouseOut()}}).css(n)}});aP.scatter=bi;aN.pie=bk(aU,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name},y:5},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:0.1,shadow:!1}}});aU={type:"pie",isCartesian:!1,pointClass:aA(aq,{init:function(){aq.prototype.init.apply(this,arguments);var o=this,n;au(o,{visible:o.visible!==!1,name:ax(o.name,"Slice")});n=function(){o.slice()};a8(o,"select",n);a8(o,"unselect",n);return o},setVisible:function(o){var n=this.series.chart,x=this.tracker,w=this.dataLabel,u=this.connector,t=this.shadowGroup,s;s=(this.visible=o=o===bo?!this.visible:o)?"show":"hide";this.group[s]();if(x){x[s]()}if(w){w[s]()}if(u){u[s]()}if(t){t[s]()}this.legendItem&&n.legend.colorizeItem(this,o)},slice:function(o,n,u){var t=this.series.chart,s=this.slicedTranslation;aL(u,t);ax(n,!0);o=this.sliced=aw(o)?o:!this.sliced;o={translateX:o?s[0]:t.plotLeft,translateY:o?s[1]:t.plotTop};this.group.animate(o);this.shadowGroup&&this.shadowGroup.animate(o)}}),pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var n=this;az(n.points,function(o){var t=o.graphic,o=o.shapeArgs,s=-c/2;t&&(t.attr({r:0,start:s,end:s}),t.animate({r:o.r,start:o.start,end:o.end},n.options.animation))});n.animate=null},setData:function(o,n){aW.prototype.setData.call(this,o,!1);this.processData();this.generatePoints();ax(n,!0)&&this.chart.redraw()},getCenter:function(){var o=this.options,n=this.chart,w=n.plotWidth,u=n.plotHeight,o=o.center.concat([o.size,o.innerSize||0]),t=a1(w,u),s;return ag(o,function(z,x){return(s=/%$/.test(z))?[w,u,t,t][x]*at(z)/100:z})},translate:function(){this.generatePoints();var L=0,I=-0.25,G=this.options,F=G.slicedOffset,E=F+G.borderWidth,D,C=this.chart,B,A,z,x=this.points,w=2*c,u,n,t,M=G.dataLabels.distance;this.center=D=this.getCenter();this.getX=function(s,o){z=a4.asin((s-D[1])/(D[2]/2+M));return D[0]+(o?-1:1)*aQ(z)*(D[2]/2+M)};az(x,function(o){L+=o.y});az(x,function(o){u=L?o.y/L:0;B=av(I*w*1000)/1000;I+=u;A=av(I*w*1000)/1000;o.shapeType="arc";o.shapeArgs={x:D[0],y:D[1],r:D[2]/2,innerR:D[3]/2,start:B,end:A};z=(A+B)/2;o.slicedTranslation=ag([aQ(z)*F+C.plotLeft,ac(z)*F+C.plotTop],av);n=aQ(z)*D[2]/2;t=ac(z)*D[2]/2;o.tooltipPos=[D[0]+n*0.7,D[1]+t*0.7];o.labelPos=[D[0]+n+aQ(z)*M,D[1]+t+ac(z)*M,D[0]+n+aQ(z)*E,D[1]+t+ac(z)*E,D[0]+n,D[1]+t,M<0?"center":z<w/4?"left":"right",z];o.percentage=u*100;o.total=L});this.setTooltipPoints()},render:function(){this.getAttribs();this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();this.drawDataLabels();this.options.animation&&this.animate&&this.animate();this.isDirty=!1},drawPoints:function(){var A=this,z=A.chart,x=z.renderer,w,u,t,s=A.options.shadow,o,n;az(A.points,function(B){u=B.graphic;n=B.shapeArgs;t=B.group;o=B.shadowGroup;if(s&&!o){o=B.shadowGroup=x.g("shadow").attr({zIndex:4}).add()}if(!t){t=B.group=x.g("point").attr({zIndex:5}).add()}w=B.sliced?B.slicedTranslation:[z.plotLeft,z.plotTop];t.translate(w[0],w[1]);o&&o.translate(w[0],w[1]);u?u.animate(n):B.graphic=u=x.arc(n).setRadialReference(A.center).attr(au(B.pointAttr[""],{"stroke-linejoin":"round"})).add(B.group).shadow(s,o);B.visible===!1&&B.setVisible(!1)})},drawDataLabels:function(){var bb=this.data,ba,ab=this.chart,aa=this.options.dataLabels,Z=ax(aa.connectorPadding,10),Y=ax(aa.connectorWidth,1),X,W,V=ax(aa.softConnector,!0),U=aa.distance,T=this.center,S=T[2]/2,R=T[1],Q=U>0,O=[[],[]],I,M,G,F,o=2,E;if(aa.enabled){aW.prototype.drawDataLabels.apply(this);az(bb,function(s){s.dataLabel&&O[s.labelPos[7]<c/2?0:1].push(s)});O[1].reverse();F=function(t,s){return s.y-t.y};for(bb=O[0][0]&&O[0][0].dataLabel&&(O[0][0].dataLabel.getBBox().height||21);o--;){var D=[],L=[],n=O[o],P=n.length,N;if(U>0){for(E=R-S-U;E<=R+S+U;E+=bb){D.push(E)}G=D.length;if(P>G){W=[].concat(n);W.sort(F);for(E=P;E--;){W[E].rank=E}for(E=P;E--;){n[E].rank>=G&&n.splice(E,1)}P=n.length}for(E=0;E<P;E++){ba=n[E];W=ba.labelPos;ba=9999;for(M=0;M<G;M++){X=a3(D[M]-W[1]),X<ba&&(ba=X,N=M)}if(N<E&&D[E]!==null){N=E}else{for(G<P-E+N&&D[E]!==null&&(N=G-P+E);D[N]===null;){N++}}L.push({i:N,y:D[N]});D[N]=null}L.sort(F)}for(E=0;E<P;E++){ba=n[E];W=ba.labelPos;X=ba.dataLabel;G=ba.visible===!1?"hidden":"visible";I=W[1];if(U>0){if(M=L.pop(),N=M.i,M=M.y,I>M&&D[N+1]!==null||I<M&&D[N-1]!==null){M=I}}else{M=I}I=aa.justify?T[0]+(o?-1:1)*(S+U):this.getX(N===0||N===D.length-1?I:M,o);X.attr({visibility:G,align:W[6]})[X.moved?"animate":"attr"]({x:I+aa.x+({left:Z,right:-Z}[W[6]]||0),y:M+aa.y});X.moved=!0;if(Q&&Y){X=ba.connector,W=V?["M",I+(W[6]==="left"?5:-5),M,"C",I,M,2*W[2]-W[4],2*W[3]-W[5],W[2],W[3],"L",W[4],W[5]]:["M",I+(W[6]==="left"?5:-5),M,"L",W[2],W[3],"L",W[4],W[5]],X?(X.animate({d:W}),X.attr("visibility",G)):ba.connector=X=this.chart.renderer.path(W).attr({"stroke-width":Y,stroke:aa.connectorColor||ba.color||"#606060",visibility:G,zIndex:3}).translate(ab.plotLeft,ab.plotTop).add()}}}}},drawTracker:a6.prototype.drawTracker,drawLegendSymbol:bc.prototype.drawLegendSymbol,getSymbol:function(){}};aU=aA(aW,aU);aP.pie=aU;au(Highcharts,{Axis:aF,CanVGRenderer:bM,Chart:bS,Color:ai,Legend:l,Point:aq,Tick:d,Tooltip:ah,Renderer:bK,Series:aW,SVGRenderer:m,VMLRenderer:i,dateFormat:K,pathAnim:bu,getOptions:function(){return aS},hasBidiBug:v,numberFormat:J,seriesTypes:aP,setOptions:function(n){aS=bk(aS,n);by();return aS},addEvent:a8,removeEvent:aY,createElement:aV,discardElement:ao,css:bd,each:az,extend:au,map:ag,merge:bk,pick:ax,splat:bh,extendClass:aA,pInt:at,product:"Highcharts",version:"2.2.5"})})();
|