2025-06-11 17:16:05 +08:00

1 line
138 KiB
JavaScript

(function(){function g(a,c){var b;a||(a={});for(b in c)a[b]=c[b];return a}function h(){for(var d=arguments.length,b={},c=function(d,e){var a,b;typeof d!=="object"&&(d={});for(b in e)e.hasOwnProperty(b)&&(a=e[b],d[b]=a&&typeof a==="object"&&Object.prototype.toString.call(a)!=="[object Array]"&&typeof a.nodeType!=="number"?c(d[b]||{},a):e[b]);return d},a=0;a<d;a++)b=c(b,arguments[a]);return b}function j(a,b){return parseInt(a,b||10)}function J(a){return typeof a==="string"}function z(a){return typeof a==="object"}function mb(a){return Object.prototype.toString.call(a)==="[object Array]"}function W(a){return typeof a==="number"}function R(a){return x.log(a)/x.LN10}function K(a){return x.pow(10,a)}function L(a,c){for(var b=a.length;b--;)if(a[b]===c){a.splice(b,1);break}}function d(a){return a!==f&&a!==null}function i(b,a,e){var c,f;if(J(a))d(e)?b.setAttribute(a,e):b&&b.getAttribute&&(f=b.getAttribute(a));else if(d(a)&&z(a))for(c in a)b.setAttribute(c,a[c]);return f}function O(a){return mb(a)?a:[a]}function a(){for(var c=arguments,a,d=c.length,b=0;b<d;b++)if(a=c[b],typeof a!=="undefined"&&a!==null)return a}function o(b,a){if(X&&a&&a.opacity!==f)a.filter="alpha(opacity="+a.opacity*100+")";g(b.style,a)}function A(a,b,c,d,e){a=k.createElement(a);b&&g(a,b);e&&o(a,{padding:0,border:y,margin:0});c&&o(a,c);d&&d.appendChild(a);return a}function M(b,c){var a=function(){};a.prototype=new b;g(a.prototype,c);return a}function fb(b,c,a,d){var e=u.lang,b=+b||0,f=c===-1?(b.toString().split(".")[1]||"").length:isNaN(c=p(c))?2:c,c=a===void 0?e.decimalPoint:a,d=d===void 0?e.thousandsSep:d,e=b<0?"-":"",a=String(j(b=p(b).toFixed(f))),g=a.length>3?a.length%3:0;return e+(g?a.substr(0,g)+d:"")+a.substr(g).replace(/(\d{3})(?=\d)/g,"$1"+d)+(f?c+p(b-a).toFixed(f).slice(2):"")}function gb(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function Qb(a,b,c){var d=a[b];a[b]=function(){var a=Array.prototype.slice.call(arguments);a.unshift(d);return c.apply(this,a)}}function hb(e,j){for(var f="{",h=!1,a,b,g,c,d,i=[];(f=e.indexOf(f))!==-1;){a=e.slice(0,f);if(h){b=a.split(":");g=b.shift().split(".");d=g.length;a=j;for(c=0;c<d;c++)a=a[g[c]];if(b.length)b=b.join(":"),g=/\.([0-9])/,c=u.lang,d=void 0,/f$/.test(b)?(d=(d=b.match(g))?d[1]:-1,a=fb(a,d,c.decimalPoint,b.indexOf(",")>-1?c.thousandsSep:"")):(a=Mb(b,a))}i.push(a);e=e.slice(f+1);f=(h=!h)?"}":"{"}i.push(e);return i.join("")}function Rb(a){return x.pow(10,v(x.log(a)/x.LN10))}function Sb(e,b,d,c){var f,d=a(d,1);f=e/d;b||(b=[1,2,2.5,5,10],c&&c.allowDecimals===!1&&(d===1?(b=[1,2,5,10]):d<=.1&&(b=[1/d])));for(c=0;c<b.length;c++)if(e=b[c],f<=(b[c]+(b[c+1]||b[c]))/2)break;e*=d;return e}function ec(g,h){for(var a=h||[[fc,[1,2,5,10,20,25,50,100,200,500]],[Tb,[1,2,5,10,15,30]],[Nb,[1,2,5,10,15,30]],[tb,[1,2,3,4,6,8,12]],[Y,[1,2]],[Ab,[1,2]],[ub,[1,2,3,4,6]],[ib,null]],b=a[a.length-1],d=m[b[0]],e=b[1],f=0;f<a.length;f++)if(b=a[f],d=m[b[0]],e=b[1],a[f+1]&&g<=(d*e[e.length-1]+m[a[f+1][0]])/2)break;d===m[ib]&&g<5*d&&(e=[1,2,5]);a=Sb(g/d,e,b[0]===ib?c(Rb(g/d),1):1);return{unitRange:d,count:a,unitName:b[0]}}function gc(l,j,q,h){var k=[],n={},o=u.global.useUTC,i,c=new Date(j),e=l.unitRange,f=l.count;if(d(j)){e>=m[Tb]&&(c.setMilliseconds(0),c.setSeconds(e>=m[Nb]?0:f*v(c.getSeconds()/f)));e>=m[Nb]&&c[hc](e>=m[tb]?0:f*v(c[Ub]()/f));e>=m[tb]&&c[ic](e>=m[Y]?0:f*v(c[Vb]()/f));e>=m[Y]&&c[Wb](e>=m[ub]?1:f*v(c[vb]()/f));e>=m[ub]&&(c[jc](e>=m[ib]?0:f*v(c[Bb]()/f)),i=c[Cb]());e>=m[ib]&&(i-=i%f,c[kc](i));e===m[Ab]&&c[Wb](c[vb]()-c[Xb]()+a(h,1));j=1;i=c[Cb]();for(var h=c.getTime(),p=c[Bb](),r=c[vb](),s=o?0:(8.64e7+c.getTimezoneOffset()*6e4)%8.64e7;h<q;)k.push(h),e===m[ib]?(h=Db(i+j*f,0)):e===m[ub]?(h=Db(i,p+j*f)):!o&&(e===m[Y]||e===m[Ab])?(h=Db(i,p,r+j*f*(e===m[Y]?1:7))):(h+=e*f),j++;k.push(h);b(Yb(k,function(a){return e<=m[tb]&&a%m[Y]===s}),function(a){n[a]=Y})}k.info=g(l,{higherRanks:n,totalRange:e*f});return k}function lc(){this.symbol=this.color=0}function mc(b,e){for(var d=b.length,c,a=0;a<d;a++)b[a].ss_i=a;b.sort(function(a,b){c=e(a,b);return c===0?a.ss_i-b.ss_i:c});for(a=0;a<d;a++)delete b[a].ss_i}function nb(a){for(var b=a.length,c=a[0];b--;)a[b]<c&&(c=a[b]);return c}function Z(a){for(var b=a.length,c=a[0];b--;)a[b]>c&&(c=a[b]);return c}function ob(a,c){for(var b in a)a[b]&&a[b]!==c&&a[b].destroy&&a[b].destroy(),delete a[b]}function wb(a){Eb||(Eb=A(jb));a&&Eb.appendChild(a);Eb.innerHTML=""}function P(a,c){var b="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(c)throw b;else t.console&&console.log(b)}function N(a){return parseFloat(a.toPrecision(14))}function pb(b,c){kb=a(b,c.animation)}function nc(){var d=u.global.useUTC,b=d?"getUTC":"get",c=d?"setUTC":"set";Db=d?Date.UTC:function(b,c,d,e,f,g){return(new Date(b,c,a(d,1),a(e,0),a(f,0),a(g,0))).getTime()};Ub=b+"Minutes";Vb=b+"Hours";Xb=b+"Day";vb=b+"Date";Bb=b+"Month";Cb=b+"FullYear";hc=c+"Minutes";ic=c+"Hours";Wb=c+"Date";jc=c+"Month";kc=c+"FullYear"}function ab(){}function qb(b,c,a,d){this.axis=b;this.pos=c;this.type=a||"";this.isNew=!0;!a&&!d&&this.addLabel()}function Zb(b,a){this.axis=b;if(a)this.options=a,this.id=a.id}function oc(e,b,c,f,g,h){var d=e.chart.inverted;this.axis=e;this.isNegative=c;this.options=b;this.x=f;this.total=null;this.points={};this.stack=g;this.percent=h==="percent";this.alignOptions={align:b.align||(d?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(d?"middle":c?"bottom":"top"),y:a(b.y,d?4:c?14:-6),x:a(b.x,d?c?-6:6:0)};this.textAlign=b.textAlign||(d?c?"right":"left":"center")}function Fb(){this.init.apply(this,arguments)}function ac(){this.init.apply(this,arguments)}function bc(a,b){this.init(a,b)}function Gb(a,b){this.init(a,b)}function cc(){this.init.apply(this,arguments)}var f,k=document,t=window,x=Math,e=x.round,v=x.floor,bb=x.ceil,c=x.max,n=x.min,p=x.abs,B=x.cos,H=x.sin,cb=x.PI,xb=cb*2/360,S=navigator.userAgent,pc=t.opera,X=/msie/i.test(S)&&!pc,Hb=k.documentMode===8,Ib=/AppleWebKit/.test(S),Jb=/Firefox/.test(S),qc=/(Mobile|Android|Windows Phone)/.test(S),db="http://www.w3.org/2000/svg",C=!!k.createElementNS&&!!k.createElementNS(db,"svg").createSVGRect,wc=Jb&&parseInt(S.split("Firefox/")[1],10)<4,I=!C&&!X&&!!k.createElement("canvas").getContext,yb,Kb=k.documentElement.ontouchstart!==f,rc={},dc=0,Eb,u,Mb,kb,Ob,m,T=function(){},lb=[],jb="div",y="none",sc="rgba(192,192,192,"+(C?1e-4:.002)+")",fc="millisecond",Tb="second",Nb="minute",tb="hour",Y="day",Ab="week",ub="month",ib="year",tc="stroke-width",Db,Ub,Vb,Xb,vb,Bb,Cb,hc,ic,Wb,jc,kc,D={};t.Highcharts=t.Highcharts?P(16,!0):{};Mb=function(c,h,p){if(!d(h)||isNaN(h))return"Invalid date";var c=a(c,"%Y-%m-%d %H:%M:%S"),b=new Date(h),f,i=b[Vb](),l=b[Xb](),m=b[vb](),j=b[Bb](),n=b[Cb](),k=u.lang,o=k.weekdays,b=g({a:o[l].substr(0,3),A:o[l],d:gb(m),e:m,b:k.shortMonths[j],B:k.months[j],m:gb(j+1),y:n.toString().substr(2,2),Y:n,H:gb(i),I:gb(i%12||12),l:i%12||12,M:gb(b[Ub]()),p:i<12?"AM":"PM",P:i<12?"am":"pm",S:gb(b.getSeconds()),L:gb(e(h%1e3),3)},Highcharts.dateFormats);for(f in b)for(;c.indexOf("%"+f)!==-1;)c=c.replace("%"+f,typeof b[f]==="function"?b[f](h):b[f]);return p?c.substr(0,1).toUpperCase()+c.substr(1):c};lc.prototype={wrapColor:function(a){if(this.color>=a)this.color=0},wrapSymbol:function(a){if(this.symbol>=a)this.symbol=0}};m=function(){for(var a=0,b=arguments,d=b.length,c={};a<d;a++)c[b[a++]]=b[a];return c}(fc,1,Tb,1e3,Nb,6e4,tb,3.6e6,Y,8.64e7,Ab,6.048e8,ub,2.6784e9,ib,31556952000);Ob={init:function(f,a,b){var a=a||"",c=f.shift,g=a.indexOf("C")>-1,d=g?7:3,e,a=a.split(" "),b=[].concat(b),h,i,j=function(a){for(e=a.length;e--;)a[e]==="M"&&a.splice(e+1,0,a[e+1],a[e+2],a[e+1],a[e+2])};g&&(j(a),j(b));f.isArea&&(h=a.splice(a.length-6,6),i=b.splice(b.length-6,6));if(c<=b.length/d&&a.length===b.length)for(;c--;)b=[].concat(b).splice(0,d).concat(b);f.shift=0;if(a.length)for(f=b.length;a.length<f;)c=[].concat(a).splice(a.length-d,d),g&&(c[d-6]=c[d-2],c[d-5]=c[d-1]),a=a.concat(c);h&&(a=a.concat(h),b=b.concat(i));return[a,b]},step:function(d,e,f,b){var c=[],a=d.length;if(f===1)c=b;else if(a===e.length&&f<1)for(;a--;)b=parseFloat(d[a]),c[a]=isNaN(b)?d[a]:f*parseFloat(e[a]-b)+b;else c=e;return c}};(function(a){t.HighchartsAdapter=t.HighchartsAdapter||a&&{init:function(d){var e=a.fx,g=e.step,b,c=a.Tween,h=c&&c.propHooks;b=a.cssHooks.opacity;a.extend(a.easing,{easeOutQuad:function(e,a,b,c,d){return-c*(a/=d)*(a-2)+b}});a.each(["cur","_default","width","height","opacity"],function(j,a){var b=g,i,d;a==="cur"?(b=e.prototype):a==="_default"&&c&&(b=h[a],a="set");(i=b[a])&&(b[a]=function(b){b=j?b:this;if(b.prop!=="align")return d=b.elem,d.attr?d.attr(b.prop,a==="cur"?f:b.now):i.apply(this,arguments)})});Qb(b,"get",function(b,a,c){return a.attr?a.opacity||0:b.call(this,a,c)});b=function(a){var b=a.elem,c;if(!a.started)c=d.init(b,b.d,b.toD),a.start=c[0],a.end=c[1],a.started=!0;b.attr("d",d.step(a.start,a.end,a.pos,b.toD))};c?(h.d={"set":b}):(g.d=b);this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a,b)}:function(b,c){for(var a=0,d=b.length;a<d;a++)if(c.call(b[a],b[a],a,b)===!1)return a};a.fn.highcharts=function(){var d="Chart",b=arguments,a,c;J(b[0])&&(d=b[0],b=Array.prototype.slice.call(b,1));a=b[0];if(a!==f)a.chart=a.chart||{},a.chart.renderTo=this[0],new Highcharts[d](a,b[1]),c=this;a===f&&(c=lb[i(this[0],"data-highcharts-chart")]);return c}},getScript:a.getScript,inArray:a.inArray,adapterRun:function(b,c){return a(b)[c]()},grep:a.grep,map:function(b,d){for(var c=[],a=0,e=b.length;a<e;a++)c[a]=d.call(b[a],b[a],a,b);return c},offset:function(b){return a(b).offset()},addEvent:function(b,c,d){a(b).bind(c,d)},removeEvent:function(b,d,e){var c=k.removeEventListener?"removeEventListener":"detachEvent";k[c]&&b&&!b[c]&&(b[c]=function(){});a(b).unbind(d,e)},fireEvent:function(b,d,e,h){var c=a.Event(d),f="detached"+d,i;!X&&e&&(delete e.layerX,delete e.layerY);g(c,e);b[d]&&(b[f]=b[d],b[d]=null);a.each(["preventDefault","stopPropagation"],function(d,a){var b=c[a];c[a]=function(){try{b.call(c)}catch(d){a==="preventDefault"&&(i=!0)}}});a(b).trigger(c);b[f]&&(b[d]=b[f],b[f]=null);h&&!c.isDefaultPrevented()&&!i&&h(c)},washMouseEvent:function(a){var b=a.originalEvent||a;if(b.pageX===f)b.pageX=a.pageX,b.pageY=a.pageY;return b},animate:function(c,b,e){var d=a(c);if(!c.style)c.style={};if(b.d)c.toD=b.d,b.d=1;d.stop();b.opacity!==f&&c.attr&&(b.opacity+="px");d.animate(b,e)},stop:function(b){a(b).stop()}}})(t.jQuery);var G=t.HighchartsAdapter,q=G||{};G&&G.init.call(G,Ob);var Lb=q.adapterRun,xc=q.getScript,U=q.inArray,b=q.each,Yb=q.grep,yc=q.offset,rb=q.map,s=q.addEvent,F=q.removeEvent,l=q.fireEvent,zc=q.washMouseEvent,Pb=q.animate,zb=q.stop,q={enabled:!0,x:0,y:15,style:{color:"#666",cursor:"default",fontSize:"11px",lineHeight:"14px"}};u={colors:"#2f7ed8,#0d233a,#8bbc21,#910000,#1aadce,#492970,#f28f43,#77a1e5,#c42525,#a6c96a".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:".",numericSymbols:"k,M,G,T,P,E".split(","),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/3.0.7/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/3.0.7/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,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",margin:15,style:{color:"#274b6d",fontSize:"16px"}},subtitle:{text:"",align:"center",style:{color:"#4d759e"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:h(q,{align:"center",enabled:!1,formatter:function(){return this.y===null?"":fb(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange: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:"#274b6d",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#274b6d",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,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"1em"},style:{position:"absolute",backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:C,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:1,borderRadius:3,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,snap:qc?25:10,style:{color:"#333333",cursor:"default",fontSize:"12px",padding:"8px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"9px"}}};var E=u.plotOptions,G=E.line;nc();var Ac=/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*\)/,Bc=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,vc=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,V=function(e){var a=[],c,d;(function(b){b&&b.stops?(d=rb(b.stops,function(a){return V(a[1])})):(c=Ac.exec(b))?(a=[j(c[1]),j(c[2]),j(c[3]),parseFloat(c[4],10)]):(c=Bc.exec(b))?(a=[j(c[1],16),j(c[2],16),j(c[3],16),1]):(c=vc.exec(b))&&(a=[j(c[1]),j(c[2]),j(c[3]),1])})(e);return{"get":function(f){var c;d?(c=h(e),c.stops=[].concat(c.stops),b(d,function(b,a){c.stops[a]=[c.stops[a][0],b.get(f)]})):(c=a&&!isNaN(a[0])?f==="rgb"?"rgb("+a[0]+","+a[1]+","+a[2]+")":f==="a"?a[3]:"rgba("+a.join(",")+")":e);return c},brighten:function(e){if(d)b(d,function(a){a.brighten(e)});else if(W(e)&&e!==0)for(var c=0;c<3;c++)a[c]+=j(e*255),a[c]<0&&(a[c]=0),a[c]>255&&(a[c]=255);return this},rgba:a,setOpacity:function(b){a[3]=b;return this}}};ab.prototype={init:function(b,a){this.element=a==="span"?A(a):k.createElementNS(db,a);this.renderer=b;this.attrSetters={}},opacity:1,animate:function(d,b,c){b=a(b,kb,!0);zb(this);if(b){b=h(b);if(c)b.complete=c;Pb(this,d,b)}else this.attr(d),c&&c()},attr:function(l,t){var b,e,g,q,h=this.element,n=h.nodeName.toLowerCase(),r=this.renderer,m,u=this.attrSetters,o=this.shadows,v,s,p=this;J(l)&&d(t)&&(b=l,l={},l[b]=t);if(J(l))b=l,n==="circle"?(b=({x:"cx",y:"cy"})[b]||b):b==="strokeWidth"&&(b="stroke-width"),p=i(h,b)||this[b]||0,b!=="d"&&b!=="visibility"&&b!=="fill"&&(p=parseFloat(p));else{for(b in l)if(m=!1,e=l[b],g=u[b]&&u[b].call(this,e,b),g!==!1){g!==f&&(e=g);if(b==="d")e&&e.join&&(e=e.join(" ")),/(NaN| {2}|^$)/.test(e)&&(e="M 0 0");else if(b==="x"&&n==="text")for(g=0;g<h.childNodes.length;g++)q=h.childNodes[g],i(q,"x")===i(h,"x")&&i(q,"x",e);else if(this.rotation&&(b==="x"||b==="y"))s=!0;else if(b==="fill")e=r.color(e,h,b);else if(n==="circle"&&(b==="x"||b==="y"))b=({x:"cx",y:"cy"})[b]||b;else if(n==="rect"&&b==="r")i(h,{rx:e,ry:e}),m=!0;else if(b==="translateX"||b==="translateY"||b==="rotation"||b==="verticalAlign"||b==="scaleX"||b==="scaleY")m=s=!0;else if(b==="stroke")e=r.color(e,h,b);else if(b==="dashstyle"){if(b="stroke-dasharray",e=e&&e.toLowerCase(),e==="solid")e=y;else if(e){e=e.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(g=e.length;g--;)e[g]=j(e[g])*a(l["stroke-width"],this["stroke-width"]);e=e.join(",")}}else if(b==="width")e=j(e);else if(b==="align")b="text-anchor",e=({left:"start",center:"middle",right:"end"})[e];else if(b==="title")g=h.getElementsByTagName("title")[0],g||(g=k.createElementNS(db,"title"),h.appendChild(g)),g.textContent=e;b==="strokeWidth"&&(b="stroke-width");if(b==="stroke-width"||b==="stroke"){this[b]=e;if(this.stroke&&this["stroke-width"])i(h,"stroke",this.stroke),i(h,"stroke-width",this["stroke-width"]),this.hasStroke=!0;else if(b==="stroke-width"&&e===0&&this.hasStroke)h.removeAttribute("stroke"),this.hasStroke=!1;m=!0}this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(b)&&(v||(this.symbolAttr(l),v=!0),m=!0);if(o&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(b))for(g=o.length;g--;)i(o[g],b,b==="height"?c(e-(o[g].cutHeight||0),0):e);if((b==="width"||b==="height")&&n==="rect"&&e<0)e=0;this[b]=e;b==="text"?(e!==this.textStr&&delete this.bBox,this.textStr=e,this.added&&r.buildText(this)):m||i(h,b,e)}s&&this.updateTransform()}return p},addClass:function(a){var b=this.element,c=i(b,"class")||"";c.indexOf(a)===-1&&i(b,"class",c+" "+a);return this},symbolAttr:function(d){var c=this;b("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(b){c[b]=a(d[b],c[b])});c.attr({d:c.renderer.symbols[c.symbolName](c.x,c.y,c.width,c.height,c)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":y)},crisp:function(d,g,h,i,j){var b,f={},a={},c,d=d||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;c=e(d)%2/2;a.x=v(g||this.x||0)+c;a.y=v(h||this.y||0)+c;a.width=v((i||this.width||0)-2*c);a.height=v((j||this.height||0)-2*c);a.strokeWidth=d;for(b in a)this[b]!==a[b]&&(this[b]=f[b]=a[b]);return f},css:function(a){var c=this.element,d=this.textWidth=a&&a.width&&c.nodeName.toLowerCase()==="text"&&j(a.width),b,e="",f=function(b,a){return"-"+a.toLowerCase()};if(a&&a.color)a.fill=a.color;this.styles=a=g(this.styles,a);d&&delete a.width;if(X&&!C)o(this.element,a);else{for(b in a)e+=b.replace(/([A-Z])/g,f)+":"+a[b]+";";i(c,"style",e)}d&&this.added&&this.renderer.buildText(this);return this},on:function(d,b){var c=this,a=c.element;Kb&&d==="click"?(a.ontouchstart=function(d){c.touchEventFired=Date.now();d.preventDefault();b.call(a,d)},a.onclick=function(d){(S.indexOf("Android")===-1||Date.now()-(c.touchEventFired||0)>1100)&&b.call(a,d)}):(a["on"+d]=b);return this},setRadialReference:function(a){this.element.radialReference=a;return this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){this.inverted=!0;this.updateTransform();return this},htmlCss:function(a){var b=this.element;if(b=a&&b.tagName==="SPAN"&&a.width)delete a.width,this.textWidth=b,this.updateTransform();this.styles=g(this.styles,a);o(this.element,a);return this},htmlGetBBox:function(){var a=this.element,b=this.bBox;if(!b){if(a.nodeName==="text")a.style.position="absolute";b=this.bBox={x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}return b},htmlUpdateTransform:function(){if(this.added){var s=this.renderer,c=this.element,t=this.translateX||0,u=this.translateY||0,v=this.x||0,w=this.y||0,m=this.textAlign||"left",h=({left:0,center:.5,right:1})[m],x=m&&m!=="left",f=this.shadows;o(c,{marginLeft:t,marginTop:u});f&&b(f,function(a){o(a,{marginLeft:t+1,marginTop:u+1})});this.inverted&&b(c.childNodes,function(a){s.invertChild(a,c)});if(c.tagName==="SPAN"){var e,p,f=this.rotation,g;e=0;var i=1,k=0,q;g=j(this.textWidth);var l=this.xCorr||0,n=this.yCorr||0,r=[f,m,c.innerHTML,this.textWidth].join(",");if(r!==this.cTT){d(f)&&(e=f*xb,i=B(e),k=H(e),this.setSpanRotation(f,k,i));e=a(this.elemWidth,c.offsetWidth);p=a(this.elemHeight,c.offsetHeight);if(e>g&&/[ \-]/.test(c.textContent||c.innerText))o(c,{width:g+"px",display:"block",whiteSpace:"normal"}),e=g;g=s.fontMetrics(c.style.fontSize).b;l=i<0&&-e;n=k<0&&-p;q=i*k<0;l+=k*g*(q?1-h:h);n-=i*g*(f?q?h:1-h:1);x&&(l-=e*h*(i<0?-1:1),f&&(n-=p*h*(k<0?-1:1)),o(c,{textAlign:m}));this.xCorr=l;this.yCorr=n}o(c,{left:v+l+"px",top:w+n+"px"});if(Ib)p=c.offsetHeight;this.cTT=r}}else this.alignOnAdd=!0},setSpanRotation:function(b){var a={};a[X?"-ms-transform":Ib?"-webkit-transform":Jb?"MozTransform":pc?"-o-transform":""]=a.transform="rotate("+b+"deg)";o(this.element,a)},updateTransform:function(){var b=this.translateX||0,c=this.translateY||0,e=this.scaleX,f=this.scaleY,g=this.inverted,h=this.rotation;g&&(b+=this.attr("width"),c+=this.attr("height"));b=["translate("+b+","+c+")"];g?b.push("rotate(90) scale(-1,1)"):h&&b.push("rotate("+h+" "+(this.x||0)+" "+(this.y||0)+")");(d(e)||d(f))&&b.push("scale("+a(e,1)+" "+a(f,1)+")");b.length&&i(this.element,"transform",b.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(c,h,b){var f,d,g,j,i={};d=this.renderer;g=d.alignedObjects;if(c){if(this.alignOptions=c,this.alignByTranslate=h,!b||J(b))this.alignTo=f=b||"renderer",L(g,this),g.push(this),b=null}else c=this.alignOptions,h=this.alignByTranslate,f=this.alignTo;b=a(b,d[f],d);f=c.align;d=c.verticalAlign;g=(b.x||0)+(c.x||0);j=(b.y||0)+(c.y||0);if(f==="right"||f==="center")g+=(b.width-(c.width||0))/({right:1,center:2})[f];i[h?"translateX":"x"]=e(g);if(d==="bottom"||d==="middle")j+=(b.height-(c.height||0))/(({bottom:1,middle:2})[d]||1);i[h?"translateY":"y"]=e(j);this[this.placed?"animate":"attr"](i);this.placed=!0;this.alignAttr=i;return this},getBBox:function(){var a=this.bBox,c=this.renderer,b,e=this.rotation;b=this.element;var f=this.styles,d=e*xb;if(!a){if(b.namespaceURI===db||c.forExport){try{a=b.getBBox?g({},b.getBBox()):{width:b.offsetWidth,height:b.offsetHeight}}catch(h){}if(!a||a.width<0)a={width:0,height:0}}else a=this.htmlGetBBox();if(c.isSVG){c=a.width;b=a.height;if(X&&f&&f.fontSize==="11px"&&b.toPrecision(3)==="22.7")a.height=b=14;if(e)a.width=p(b*H(d))+p(c*B(d)),a.height=p(b*B(d))+p(c*H(d))}this.bBox=a}return a},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(b){var a=this;a.animate({opacity:0},{duration:b||150,complete:function(){a.hide()}})},add:function(a){var c=this.renderer,b=a||c,g=b.element||c.box,h=g.childNodes,f=this.element,e=i(f,"zIndex"),k;if(a)this.parentGroup=a;this.parentInverted=a&&a.inverted;this.textStr!==void 0&&c.buildText(this);if(e)b.handleZ=!0,e=j(e);if(b.handleZ)for(b=0;b<h.length;b++)if(a=h[b],c=i(a,"zIndex"),a!==f&&(j(c)>e||!d(e)&&d(c))){g.insertBefore(f,a);k=!0;break}k||g.appendChild(f);this.added=!0;l(this,"add");return this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a=this,c=a.element||{},f=a.shadows,d=a.renderer.isSVG&&c.nodeName==="SPAN"&&a.parentGroup,g,e;c.onclick=c.onmouseout=c.onmouseover=c.onmousemove=c.point=null;zb(a);if(a.clipPath)a.clipPath=a.clipPath.destroy();if(a.stops){for(e=0;e<a.stops.length;e++)a.stops[e]=a.stops[e].destroy();a.stops=null}a.safeRemoveChild(c);for(f&&b(f,function(b){a.safeRemoveChild(b)});d&&d.div.childNodes.length===0;)c=d.parentGroup,a.safeRemoveChild(d.div),delete d.div,d=c;a.alignTo&&L(a.renderer.alignedObjects,a);for(g in a)delete a[g];return null},shadow:function(d,j,n){var k=[],e,b,h=this.element,f,g,l,m;if(d){g=a(d.width,3);l=(d.opacity||.15)/g;m=this.parentInverted?"(-1,-1)":"("+a(d.offsetX,1)+", "+a(d.offsetY,1)+")";for(e=1;e<=g;e++){b=h.cloneNode(0);f=g*2+1-2*e;i(b,{isShadow:"true",stroke:d.color||"black","stroke-opacity":l*e,"stroke-width":f,transform:"translate"+m,fill:y});if(n)i(b,"height",c(i(b,"height")-f,0)),b.cutHeight=f;j?j.element.appendChild(b):h.parentNode.insertBefore(b,h);k.push(b)}this.shadows=k}return this}};var eb=function(){this.init.apply(this,arguments)};eb.prototype={Element:ab,init:function(a,c,f,g){var h=location,e,d;e=this.createElement("svg").attr({version:"1.1"});d=e.element;a.appendChild(d);a.innerHTML.indexOf("xmlns")===-1&&i(d,"xmlns",db);this.isSVG=!0;this.box=d;this.boxWrapper=e;this.alignedObjects=[];this.url=(Jb||Ib)&&k.getElementsByTagName("base").length?h.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(k.createTextNode("Created with Highcharts 3.0.7"));this.defs=this.createElement("defs").add();this.forExport=g;this.gradients={};this.setSize(c,f,!1);var b;if(Jb&&a.getBoundingClientRect)this.subPixelFix=c=function(){o(a,{left:0,top:0});b=a.getBoundingClientRect();o(a,{left:bb(b.left)-b.left+"px",top:bb(b.top)-b.top+"px"})},c(),s(t,"resize",c)},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();ob(this.gradients||{});this.gradients=null;if(a)this.defs=a.destroy();this.subPixelFix&&F(t,"resize",this.subPixelFix);return this.alignedObjects=null},createElement:function(b){var a=new this.Element;a.init(this,b);return a},draw:function(){},buildText:function(c){for(var d=c.element,f=this,l=f.forExport,g=a(c.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),m=d.childNodes,n=/style="([^"]+)"/,p=/href="(http[^"]+)"/,q=i(d,"x"),h=c.styles,e=c.textWidth,r=h&&h.lineHeight,s=m.length;s--;)d.removeChild(m[s]);e&&!c.added&&this.box.appendChild(d);g[g.length-1]===""&&g.pop();b(g,function(m,s){var a,g=0,m=m.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");a=m.split("|||");b(a,function(m){if(m!==""||a.length===1){var t={},b=k.createElementNS(db,"tspan"),w;n.test(m)&&(w=m.match(n)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),i(b,"style",w));p.test(m)&&!l&&(i(b,"onclick",'location.href="'+m.match(p)[1]+'"'),o(b,{cursor:"pointer"}));m=(m.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">");if(m!==" "&&(b.appendChild(k.createTextNode(m)),g?(t.dx=0):(t.x=q),i(b,t),!g&&s&&(!C&&l&&o(b,{display:"block"}),i(b,"dy",r||f.fontMetrics(/px$/.test(b.style.fontSize)?b.style.fontSize:h.fontSize).h,Ib&&b.offsetHeight)),d.appendChild(b),g++,e))for(var m=m.replace(/([^\^])-/g,"$1- ").split(" "),x,u,t=c._clipHeight,v=[],z=j(r||16),y=1;m.length||v.length;)delete c.bBox,x=c.getBBox(),u=x.width,!C&&f.forExport&&(u=f.measureSpanWidth(b.firstChild.data,c.styles)),x=u>e,!x||m.length===1?(m=v,v=[],m.length&&(y++,t&&y*z>t?(m=["..."],c.attr("title",c.textStr)):(b=k.createElementNS(db,"tspan"),i(b,{dy:z,x:q}),w&&i(b,"style",w),d.appendChild(b),u>e&&(e=u)))):(b.removeChild(b.firstChild),v.unshift(m.pop())),m.length&&b.appendChild(k.createTextNode(m.join(" ").replace(/- /g,"-")))}})})},button:function(i,p,q,r,b,c,d,f,t){var a=this.label(i,p,q,t,null,null,null,null,"button"),e=0,m,n,j,l,k,o,i={x1:0,y1:0,x2:0,y2:1},b=h({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:i,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},b);j=b.style;delete b.style;c=h(b,{stroke:"#68A",fill:{linearGradient:i,stops:[[0,"#FFF"],[1,"#ACF"]]}},c);l=c.style;delete c.style;d=h(b,{stroke:"#68A",fill:{linearGradient:i,stops:[[0,"#9BD"],[1,"#CDF"]]}},d);k=d.style;delete d.style;f=h(b,{style:{color:"#CCC"}},f);o=f.style;delete f.style;s(a.element,X?"mouseover":"mouseenter",function(){e!==3&&a.attr(c).css(l)});s(a.element,X?"mouseout":"mouseleave",function(){e!==3&&(m=([b,c,d])[e],n=([j,l,k])[e],a.attr(m).css(n))});a.setState=function(c){(a.state=e=c)?c===2?a.attr(d).css(k):c===3&&a.attr(f).css(o):a.attr(b).css(j)};return a.on("click",function(){e!==3&&r.call(a)}).attr(b).css(g({cursor:"default"},j))},crispLine:function(a,b){a[1]===a[4]&&(a[1]=a[4]=e(a[1])-b%2/2);a[2]===a[5]&&(a[2]=a[5]=e(a[2])+b%2/2);return a},path:function(a){var b={fill:y};mb(a)?(b.d=a):z(a)&&g(b,a);return this.createElement("path").attr(b)},circle:function(a,b,c){a=z(a)?a:{x:a,y:b,r:c};return this.createElement("circle").attr(a)},arc:function(a,c,b,d,e,f){if(z(a))c=a.y,b=a.r,d=a.innerR,e=a.start,f=a.end,a=a.x;a=this.symbol("arc",a||0,c||0,b||0,b||0,{innerR:d||0,start:e||0,end:f||0});a.r=b;return a},rect:function(b,d,e,f,a,g){a=z(b)?b.r:a;a=this.createElement("rect").attr({rx:a,ry:a,fill:y});return a.attr(z(b)?b:a.crisp(g,b,d,c(e,0),c(f,0)))},setSize:function(b,c,f){var d=this.alignedObjects,e=d.length;this.width=b;this.height=c;for(this.boxWrapper[a(f,!0)?"animate":"attr"]({width:b,height:c});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return d(a)?b.attr({"class":"highcharts-"+a}):b},image:function(b,c,d,e,f){var a={preserveAspectRatio:y};arguments.length>1&&g(a,{x:c,y:d,width:e,height:f});a=this.createElement("image").attr(a);a.element.setAttributeNS?a.element.setAttributeNS("http://www.w3.org/1999/xlink","href",b):a.element.setAttribute("hc-svg-href",b);return a},symbol:function(b,f,h,i,j,k){var a,d=this.symbols[b],d=d&&d(e(f),e(h),i,j,k),m=/^url\((.*?)\)$/,c,l;if(d)a=this.path(d),g(a,{symbolName:b,x:f,y:h,width:i,height:j}),k&&g(a,k);else if(m.test(b))l=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(e((i-b[0])/2),e((j-b[1])/2)))},c=b.match(m)[1],b=rc[c],a=this.image(c).attr({x:f,y:h}),a.isImg=!0,b?l(a,b):(a.attr({width:0,height:0}),A("img",{onload:function(){l(a,rc[c]=[this.width,this.height])},src:c}));return a},symbols:{circle:function(a,b,c,e){var d=.166*c;return["M",a+c/2,b,"C",a+c+d,b,a+c+d,b+e,a+c/2,b+e,"C",a-d,b+e,a-d,b,a+c/2,b,"Z"]},square:function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c,b+d,a,b+d,"Z"]},triangle:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d,a,b+d,"Z"]},"triangle-down":function(a,b,c,d){return["M",a,b,"L",a+c,b,a+c/2,b+d,"Z"]},diamond:function(a,b,c,d){return["M",a+c/2,b,"L",a+c,b+d/2,a+c/2,b+d,a,b+d/2,"Z"]},arc:function(d,e,b,c,a){var g=a.start,b=a.r||b||c,f=a.end-.001,c=a.innerR,h=a.open,i=B(g),j=H(g),k=B(f),f=H(f),a=a.end-g<cb?0:1;return["M",d+b*i,e+b*j,"A",b,b,0,a,1,d+b*k,e+b*f,h?"M":"L",d+c*k,e+c*f,"A",c,c,0,a,0,d+c*i,e+c*j,h?"":"Z"]}},clipRect:function(a,d,e,f){var b="highcharts-"+dc++,c=this.createElement("clipPath").attr({id:b}).add(this.defs),a=this.rect(a,d,e,f,0).add(c);a.id=b;a.clipPath=c;return a},color:function(c,e,a){var l=this,j,r=/^rgba/,f,m,n,o,p,q,k,g=[];c&&c.linearGradient?(f="linearGradient"):c&&c.radialGradient&&(f="radialGradient");if(f){a=c[f];m=l.gradients;o=c.stops;e=e.radialReference;mb(a)&&(c[f]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"});f==="radialGradient"&&e&&!d(a.gradientUnits)&&(a=h(a,{cx:e[0]-e[2]/2+a.cx*e[2],cy:e[1]-e[2]/2+a.cy*e[2],r:a.r*e[2],gradientUnits:"userSpaceOnUse"}));for(k in a)k!=="id"&&g.push(k,a[k]);for(k in o)g.push(o[k]);g=g.join(",");m[g]?(c=m[g].id):(a.id=c="highcharts-"+dc++,m[g]=n=l.createElement(f).attr(a).add(l.defs),n.stops=[],b(o,function(a){r.test(a[1])?(j=V(a[1]),p=j.get("rgb"),q=j.get("a")):(p=a[1],q=1);a=l.createElement("stop").attr({offset:a[0],"stop-color":p,"stop-opacity":q}).add(n);n.stops.push(a)}));return"url("+l.url+"#"+c+")"}else return r.test(c)?(j=V(c),i(e,a+"-opacity",j.get("a")),j.get("rgb")):(e.removeAttribute(a+"-opacity"),c)},text:function(b,c,d,g){var f=u.chart.style,h=I||!C&&this.forExport;if(g&&!this.forExport)return this.html(b,c,d);c=e(a(c,0));d=e(a(d,0));b=this.createElement("text").attr({x:c,y:d,text:b}).css({fontFamily:f.fontFamily,fontSize:f.fontSize});h&&b.css({position:"absolute"});b.x=c;b.y=d;return b},html:function(j,k,l){var f=u.chart.style,a=this.createElement("span"),c=a.attrSetters,d=a.element,h=a.renderer;c.text=function(a){a!==d.innerHTML&&delete this.bBox;d.innerHTML=a;return!1};c.x=c.y=c.align=function(c,b){b==="align"&&(b="textAlign");a[b]=c;a.htmlUpdateTransform();return!1};a.attr({text:j,x:e(k),y:e(l)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:f.fontFamily,fontSize:f.fontSize});a.css=a.htmlCss;if(h.isSVG)a.add=function(e){var c,f=h.box.parentNode,j=[];if(this.parentGroup=e){if(c=e.div,!c){for(;e;)j.push(e),e=e.parentGroup;b(j.reverse(),function(a){var b;c=a.div=a.div||A(jb,{className:i(a.element,"class")},{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px"},c||f);b=c.style;g(a.attrSetters,{translateX:function(a){b.left=a+"px"},translateY:function(a){b.top=a+"px"},visibility:function(a,c){b[c]=a}})})}}else c=f;c.appendChild(d);a.added=!0;a.alignOnAdd&&a.htmlUpdateTransform();return a};return a},fontMetrics:function(a){var a=j(a||11),a=a<24?a+4:e(a*1.2),b=e(a*.8);return{h:a,b:b}},label:function(H,I,J,C,w,D,c,E,K){function G(){var b,c;b=j.element.style;l=(m===void 0||u===void 0||a.styles.textAlign)&&j.getBBox();a.width=(m||l.width||0)+2*k+q;a.height=(u||l.height||0)+2*k;z=k+n.fontMetrics(b&&b.fontSize).b;if(A){if(!i)b=e(-t*k),c=E?-z:0,a.box=i=C?n.symbol(C,b,c,a.width,a.height,o):n.rect(b,c,a.width,a.height,0,o[tc]),i.add(a);i.isImg||i.attr(h({width:a.width,height:a.height},o));o=null}}function r(){var b=a.styles,b=b&&b.textAlign,c=q+k*(1-t),e;e=E?0:z;if(d(m)&&(b==="center"||b==="right"))c+=({center:.5,right:1})[b]*(m-l.width);(c!==j.x||e!==j.y)&&j.attr({x:c,y:e});j.x=c;j.y=e}function p(a,b){i?i.attr(a,b):(o[a]=b)}function y(){j.add(a);a.attr({text:H,x:I,y:J});i&&d(w)&&a.attr({anchorX:w,anchorY:D})}var n=this,a=n.g(K),j=n.text("",0,0,c).attr({zIndex:1}),i,l,t=0,k=3,q=0,m,u,v,x,B=0,o={},z,c=a.attrSetters,A;s(a,"add",y);c.width=function(a){m=a;return!1};c.height=function(a){u=a;return!1};c.padding=function(a){d(a)&&a!==k&&(k=a,r());return!1};c.paddingLeft=function(a){d(a)&&a!==q&&(q=a,r());return!1};c.align=function(a){t=({left:0,center:.5,right:1})[a];return!1};c.text=function(a,b){j.attr(b,a);G();r();return!1};c[tc]=function(a,b){A=!0;B=a%2/2;p(b,a);return!1};c.stroke=c.fill=c.r=function(b,a){a==="fill"&&(A=!0);p(a,b);return!1};c.anchorX=function(a,b){w=a;p(b,a+B-v);return!1};c.anchorY=function(a,b){D=a;p(b,a-x);return!1};c.x=function(b){a.x=b;b-=t*((m||l.width)+k);v=e(b);a.attr("translateX",v);return!1};c.y=function(b){x=a.y=e(b);a.attr("translateY",x);return!1};var L=a.css;return g(a,{css:function(c){if(c){var d={},c=h(c);b("fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow".split(","),function(a){c[a]!==f&&(d[a]=c[a],delete c[a])});j.css(d)}return L.call(a,c)},getBBox:function(){return{width:l.width+2*k,height:l.height+2*k,x:l.x-k,y:l.y-k}},shadow:function(b){i&&i.shadow(b);return a},destroy:function(){F(a,"add",y);F(a.element,"mouseenter");F(a.element,"mouseleave");j&&(j=j.destroy());i&&(i=i.destroy());ab.prototype.destroy.call(a);a=n=G=r=p=y=null}})}};yb=eb;var r;if(!C&&!I){Highcharts.VMLElement=r={init:function(e,a){var b=["<",a,' filled="f" stroked="f"'],c=["position: ","absolute",";"],d=a===jb;(a==="shape"||d)&&c.push("left:0;top:0;width:1px;height:1px;");c.push("visibility: ",d?"hidden":"visible");b.push(' style="',c.join(""),'"/>');if(a)b=d||a==="span"||a==="img"?b.join(""):e.prepVML(b),this.element=A(b);this.renderer=e;this.attrSetters={}},add:function(a){var c=this.renderer,d=this.element,b=c.box,b=a?a.element||a:b;a&&a.inverted&&c.invertChild(d,b);b.appendChild(d);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();l(this,"add");return this},updateTransform:ab.prototype.htmlUpdateTransform,setSpanRotation:function(c,a,b){o(this.element,{filter:c?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-a,", M21=",a,", M22=",b,", sizingMethod='auto expand')"].join(""):y})},pathToVML:function(c){for(var a=c.length,b=[],d;a--;)if(W(c[a]))b[a]=e(c[a]*10)-5;else if(c[a]==="Z")b[a]="x";else if(b[a]=c[a],c.isArc&&(c[a]==="wa"||c[a]==="at"))d=c[a]==="wa"?1:-1,b[a+5]===b[a+7]&&(b[a+7]-=d),b[a+6]===b[a+8]&&(b[a+8]-=d);return b.join(" ")||"x"},attr:function(k,p){var a,b,h,g=this.element||{},m=g.style,n=g.nodeName,o=this.renderer,t=this.symbolName,q,l=this.shadows,j,r=this.attrSetters,s=this;J(k)&&d(p)&&(a=k,k={},k[a]=p);if(J(k))a=k,s=a==="strokeWidth"||a==="stroke-width"?this.strokeweight:this[a];else for(a in k)if(b=k[a],j=!1,h=r[a]&&r[a].call(this,b,a),h!==!1&&b!==null){h!==f&&(b=h);if(t&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(a))q||(this.symbolAttr(k),q=!0),j=!0;else if(a==="d"){b=b||[];this.d=b.join(" ");g.path=b=this.pathToVML(b);if(l)for(h=l.length;h--;)l[h].path=l[h].cutOff?this.cutOffPath(b,l[h].cutOff):b;j=!0}else if(a==="visibility"){if(l)for(h=l.length;h--;)l[h].style[a]=b;n==="DIV"&&(b=b==="hidden"?"-999em":0,Hb||(m[a]=b?"visible":"hidden"),a="top");m[a]=b;j=!0}else if(a==="zIndex")b&&(m[a]=b),j=!0;else if(U(a,["x","y","width","height"])!==-1)this[a]=b,a==="x"||a==="y"?(a=({x:"left",y:"top"})[a]):(b=c(0,b)),this.updateClipping?(this[a]=b,this.updateClipping()):(m[a]=b),j=!0;else if(a==="class"&&n==="DIV")g.className=b;else if(a==="stroke")b=o.color(b,g,a),a="strokecolor";else if(a==="stroke-width"||a==="strokeWidth")g.stroked=b?!0:!1,a="strokeweight",this[a]=b,W(b)&&(b+="px");else if(a==="dashstyle")(g.getElementsByTagName("stroke")[0]||A(o.prepVML(["<stroke/>"]),null,null,g))[a]=b||"solid",this.dashstyle=b,j=!0;else if(a==="fill"){if(n==="SPAN")m.color=b;else if(n!=="IMG")g.filled=b!==y?!0:!1,b=o.color(b,g,a,this),a="fillcolor"}else if(a==="opacity")j=!0;else if(n==="shape"&&a==="rotation")this[a]=g.style[a]=b,g.style.left=-e(H(b*xb)+1)+"px",g.style.top=e(B(b*xb))+"px";else if(a==="translateX"||a==="translateY"||a==="rotation")this[a]=b,this.updateTransform(),j=!0;else if(a==="text")this.bBox=null,g.innerHTML=b,j=!0;j||(Hb?(g[a]=b):i(g,a,b))}return s},clip:function(b){var a=this,c;b?(c=b.members,L(c,a),c.push(a),a.destroyClip=function(){L(c,a)},b=b.getCSS(a)):(a.destroyClip&&a.destroyClip(),b={clip:Hb?"inherit":"rect(auto)"});return a.css(b)},css:ab.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&wb(a)},destroy:function(){this.destroyClip&&this.destroyClip();return ab.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=t.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,c){var b,a=a.split(/[ ,]/);b=a.length;if(b===9||b===11)a[b-4]=a[b-2]=j(a[b-2])-10*c;return a.join(" ")},shadow:function(b,l,m){var n=[],d,e=this.element,o=this.renderer,c,p=e.style,g,f=e.path,h,i,k,q;f&&typeof f.value!=="string"&&(f="x");i=f;if(b){k=a(b.width,3);q=(b.opacity||.15)/k;for(d=1;d<=3;d++){h=k*2+1-2*d;m&&(i=this.cutOffPath(f.value,h+.5));g=['<shape isShadow="true" strokeweight="',h,'" filled="false" path="',i,'" coordsize="10 10" style="',e.style.cssText,'" />'];c=A(o.prepVML(g),null,{left:j(p.left)+a(b.offsetX,1),top:j(p.top)+a(b.offsetY,1)});if(m)c.cutOff=h+1;g=['<stroke color="',b.color||"black",'" opacity="',q*d,'"/>'];A(o.prepVML(g),null,null,c);l?l.element.appendChild(c):e.parentNode.insertBefore(c,e);n.push(c)}this.shadows=n}return this}};r=M(ab,r);var Q={Element:r,isIE8:S.indexOf("MSIE 8.0")>-1,init:function(c,d,e){var a,b;this.alignedObjects=[];a=this.createElement(jb);b=a.element;b.style.position="relative";c.appendChild(a.element);this.isVML=!0;this.box=b;this.boxWrapper=a;this.setSize(d,e,!1);if(!k.namespaces.hcv){k.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{k.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){k.styleSheets[0].cssText+="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}}},isHidden:function(){return!this.box.offsetWidth},clipRect:function(a,f,h,i){var d=this.createElement(),c=z(a);return g(d,{members:[],left:(c?a.x:a)+1,top:(c?a.y:f)+1,width:(c?a.width:h)-1,height:(c?a.height:i)-1,getCSS:function(a){var b=a.element,h=b.nodeName,a=a.inverted,c=this.top-(h==="shape"?b.offsetTop:0),d=this.left,b=d+this.width,f=c+this.height,c={clip:"rect("+e(a?d:c)+"px,"+e(a?f:b)+"px,"+e(a?b:f)+"px,"+e(a?c:d)+"px)"};!a&&Hb&&h==="DIV"&&g(c,{width:b+"px",height:f+"px"});return c},updateClipping:function(){b(d.members,function(a){a.css(d.getCSS(a))})}})},color:function(a,h,i,o){var H=this,f,w=/^rgba/,m,j,c=y;a&&a.linearGradient?(j="gradient"):a&&a.radialGradient&&(j="pattern");if(j){var g,n,d=a.linearGradient||a.radialGradient,k,D,B,r,C,p="",a=a.stops,q,F=[],G=function(){m=['<fill colors="'+F.join(",")+'" opacity="',B,'" o:opacity2="',D,'" type="',j,'" ',p,'focus="100%" method="any" />'];A(H.prepVML(m),null,null,h)};k=a[0];q=a[a.length-1];k[0]>0&&a.unshift([0,k[1]]);q[0]<1&&a.push([1,q[1]]);b(a,function(a,b){w.test(a[1])?(f=V(a[1]),g=f.get("rgb"),n=f.get("a")):(g=a[1],n=1);F.push(a[0]*100+"% "+g);b?(B=n,r=g):(D=n,C=g)});if(i==="fill")if(j==="gradient")i=d.x1||d[0]||0,a=d.y1||d[1]||0,k=d.x2||d[2]||0,d=d.y2||d[3]||0,p='angle="'+(90-x.atan((d-a)/(k-i))*180/cb)+'"',G();else{var c=d.r,E=c*2,v=c*2,z=d.cx,t=d.cy,l=h.radialReference,e,c=function(){l&&(e=o.getBBox(),z+=(l[0]-e.x)/e.width-.5,t+=(l[1]-e.y)/e.height-.5,E*=l[2]/e.width,v*=l[2]/e.height);p='src="'+u.global.VMLRadialGradientURL+'" size="'+E+","+v+'" origin="0.5,0.5" position="'+z+","+t+'" color2="'+C+'" ';G()};o.added?c():s(o,"add",c);c=r}else c=g}else if(w.test(a)&&h.tagName!=="IMG")f=V(a),m=["<",i,' opacity="',f.get("a"),'"/>'],A(this.prepVML(m),null,null,h),c=f.get("rgb");else{c=h.getElementsByTagName(i);if(c.length)c[0].opacity=1,c[0].type="solid";c=a}return c},prepVML:function(a){var b=this.isIE8,a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=a.indexOf('style="')===-1?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):(a=a.replace("<","<hcv:"));return a},text:eb.prototype.html,path:function(a){var b={coordsize:"10 10"};mb(a)?(b.d=a):z(a)&&g(b,a);return this.createElement("shape").attr(b)},circle:function(a,c,d){var b=this.symbol("circle");if(z(a))d=a.r,c=a.y,a=a.x;b.isCircle=!0;b.r=d;return b.attr({x:a,y:c})},g:function(a){var b;a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a});return this.createElement(jb).attr(b)},image:function(b,c,d,e,f){var a=this.createElement("img").attr({src:b});arguments.length>1&&a.attr({x:c,y:d,width:e,height:f});return a},rect:function(a,d,e,f,g,h){var b=this.symbol("rect");b.r=z(a)?a.r:g;return b.attr(z(a)?a:b.crisp(h,a,d,c(e,0),c(f,0)))},invertChild:function(b,c){var a=c.style;o(b,{flip:"x",left:j(a.width)-1,top:j(a.height)-1,rotation:-90})},symbols:{arc:function(b,c,a,g,f){var d=f.start,h=f.end,e=f.r||a||g,a=f.innerR,g=B(d),i=H(d),j=B(h),k=H(h);if(h-d===0)return["x"];d=["wa",b-e,c-e,b+e,c+e,b+e*g,c+e*i,b+e*j,c+e*k];f.open&&!a&&d.push("e","M",b,c);d.push("at",b-a,c-a,b+a,c+a,b+a*j,c+a*k,b+a*g,c+a*i,"x","e");d.isArc=!0;return d},circle:function(a,b,c,d,e){e&&(c=d=2*e.r);e&&e.isCircle&&(a-=c/2,b-=d/2);return["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(c,e,h,i,g){var b=c+h,f=e+i,a;!d(g)||!g.r?(b=eb.prototype.symbols.square.apply(0,arguments)):(a=n(g.r,h,i),b=["M",c+a,e,"L",b-a,e,"wa",b-2*a,e,b,e+2*a,b-a,e,b,e+a,"L",b,f-a,"wa",b-2*a,f-2*a,b,f,b,f-a,b-a,f,"L",c+a,f,"wa",c,f-2*a,c+2*a,f,c+a,f,c,f-a,"L",c,e+a,"wa",c,e,c+2*a,e+2*a,c,e+a,c+a,e,"x","e"]);return b}}};Highcharts.VMLRenderer=r=function(){this.init.apply(this,arguments)};r.prototype=h(eb.prototype,Q);yb=r}eb.prototype.measureSpanWidth=function(b,c){var a=k.createElement("span"),d=k.createTextNode(b);a.appendChild(d);o(a,c);this.box.appendChild(a);return a.offsetWidth};var uc;if(I)Highcharts.CanVGRenderer=r=function(){db="http://www.w3.org/1999/xhtml"},r.prototype.symbols={},uc=function(){function b(){for(var c=a.length,b=0;b<c;b++)a[b]();a=[]}var a=[];return{push:function(c,d){a.length===0&&xc(d,b);a.push(c)}}}(),yb=r;qb.prototype={addLabel:function(){var b=this.axis,i=b.options,m=b.chart,n=b.horiz,j=b.categories,o=b.names,f=this.pos,h=i.labels,k=b.tickPositions,n=n&&j&&!h.step&&!h.staggerLines&&!h.rotation&&m.plotWidth/k.length||!n&&(m.margin[3]||m.chartWidth*.33),q=f===k[0],r=f===k[k.length-1],l,o=j?a(j[f],o[f],f):f,j=this.label,p=k.info;b.isDatetimeAxis&&p&&(l=i.dateTimeLabelFormats[p.higherRanks[f]||p.unitName]);this.isFirst=q;this.isLast=r;i=b.labelFormatter.call({axis:b,chart:m,isFirst:q,isLast:r,dateTimeLabelFormat:l,value:b.isLog?N(K(o)):o});f=n&&{width:c(1,e(n-2*(h.padding||10)))+"px"};f=g(f,h.style);if(d(j))j&&j.attr({text:i}).css(f);else{l={align:b.labelAlign};if(W(h.rotation))l.rotation=h.rotation;if(n&&h.ellipsis)l._clipHeight=b.len/k.length;this.label=d(i)&&h.enabled?m.renderer.text(i,0,0,h.useHTML).attr(l).css(f).add(b.labelGroup):null}},getLabelSize:function(){var a=this.label,b=this.axis;return a?(this.labelBBox=a.getBBox())[b.horiz?"height":"width"]:0},getLabelSides:function(){var a=this.axis,b=this.labelBBox.width,a=b*({left:0,center:.5,right:1})[a.labelAlign]-a.options.labels.x;return[-a,b-a]},handleOverflow:function(m,i){var f=!0,a=this.axis,d=a.chart,e=this.isFirst,j=this.isLast,b=i.x,k=a.reversed,g=a.tickPositions;if(e||j){var c=this.getLabelSides(),h=c[0],c=c[1],d=d.plotLeft,l=d+a.len,g=(a=a.ticks[g[m+(e?1:-1)]])&&a.label.xy&&a.label.xy.x+a.getLabelSides()[e?0:1];e&&!k||j&&k?b+h<d&&(b=d-h,a&&b+c>g&&(f=!1)):b+c>l&&(b=l-c,a&&b+h<g&&(f=!1));i.x=b}return f},getPosition:function(d,e,f,b){var a=this.axis,c=a.chart,g=b&&c.oldChartHeight||c.chartHeight;return{x:d?a.translate(e+f,null,null,b)+a.transB:a.left+a.offset+(a.opposite?(b&&c.oldChartWidth||c.chartWidth)-a.right-a.left:0),y:d?g-a.bottom+a.offset-(a.opposite?a.height:0):g-a.translate(e+f,null,null,b)-a.transB}},getLabelPosition:function(i,b,m,j,c,e,n,o){var a=this.axis,k=a.transA,l=a.reversed,f=a.staggerLines,g=a.chart.renderer.fontMetrics(c.style.fontSize).b,h=c.rotation,i=i+c.x-(e&&j?e*k*(l?-1:1):0),b=b+c.y-(e&&!j?e*k*(l?1:-1):0);h&&a.side===2&&(b-=g-g*B(h*xb));!d(c.y)&&!h&&(b+=g-m.getBBox().height/2);f&&(b+=n/(o||1)%f*(a.labelOffset/f));return{x:i,y:b}},getMarkPath:function(a,b,c,e,d,f){return f.crispLine(["M",a,b,"L",a+(d?0:-c),b+(d?c:0)],e)},render:function(s,g,o){var b=this.axis,c=b.options,t=b.chart.renderer,h=b.horiz,m=this.type,n=this.label,i=this.pos,u=c.labels,e=this.gridLine,j=m?m+"Grid":"grid",k=m?m+"Tick":"tick",q=c[j+"LineWidth"],z=c[j+"LineColor"],x=c[j+"LineDashStyle"],l=c[k+"Length"],j=c[k+"Width"]||0,B=c[k+"Color"],A=c[k+"Position"],k=this.mark,v=u.step,r=!0,w=b.tickmarkOffset,d=this.getPosition(h,i,w,g),p=d.x,d=d.y,y=h&&p===b.pos+b.len||!h&&d===b.pos?-1:1,C=b.staggerLines;this.isActive=!0;if(q){i=b.getPlotLinePath(i+w,q*y,g,!0);if(e===f){e={stroke:z,"stroke-width":q};if(x)e.dashstyle=x;if(!m)e.zIndex=1;if(g)e.opacity=0;this.gridLine=e=q?t.path(i).attr(e).add(b.gridGroup):null}!g&&e&&i&&e[this.isNew?"attr":"animate"]({d:i,opacity:o})}if(j&&l)A==="inside"&&(l=-l),b.opposite&&(l=-l),g=this.getMarkPath(p,d,l,j*y,h,t),k?k.animate({d:g,opacity:o}):(this.mark=t.path(g).attr({stroke:B,"stroke-width":j,opacity:o}).add(b.axisGroup));if(n&&!isNaN(p))n.xy=d=this.getLabelPosition(p,d,n,h,u,w,s,v),this.isFirst&&!this.isLast&&!a(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!a(c.showLastLabel,1)?(r=!1):!C&&h&&u.overflow==="justify"&&!this.handleOverflow(s,d)&&(r=!1),v&&s%v&&(r=!1),r&&!isNaN(d.y)?(d.opacity=o,n[this.isNew?"attr":"animate"](d),this.isNew=!1):n.attr("y",-9999)},destroy:function(){ob(this,this.axis)}};Zb.prototype={render:function(){var j=this,f=j.axis,m=f.horiz,k=(f.pointRange||0)/2,e=j.options,g=e.label,l=j.label,r=e.width,p=e.to,q=e.from,i=d(q)&&d(p),s=e.value,w=e.dashStyle,o=j.svgElem,b=[],x,v=e.color,t=e.zIndex,u=e.events,y=f.chart.renderer;f.isLog&&(q=R(q),p=R(p),s=R(s));if(r){if(b=f.getPlotLinePath(s,r),k={stroke:v,"stroke-width":r},w)k.dashstyle=w}else if(i){if(q=c(q,f.min-k),p=n(p,f.max+k),b=f.getPlotBandPath(q,p,e),k={fill:v},e.borderWidth)k.stroke=e.borderColor,k["stroke-width"]=e.borderWidth}else return;if(d(t))k.zIndex=t;if(o){if(b)o.animate({d:b},null,o.onGetPath);else if(o.hide(),o.onGetPath=function(){o.show()},l)j.label=l=l.destroy()}else if(b&&b.length&&(j.svgElem=o=y.path(b).attr(k).add(),u))for(x in e=function(a){o.on(a,function(b){u[a].apply(j,[b])})},u)e(x);if(g&&d(g.text)&&b&&b.length&&f.width>0&&f.height>0){g=h({align:m&&i&&"center",x:m?!i&&4:10,verticalAlign:!m&&i&&"middle",y:m?i?16:10:i?6:-4,rotation:m&&!i&&90},g);if(!l)j.label=l=y.text(g.text,0,0,g.useHTML).attr({align:g.textAlign||g.align,rotation:g.rotation,zIndex:t}).css(g.style).add();f=[b[1],b[4],a(b[6],b[1])];b=[b[2],b[5],a(b[7],b[2])];m=nb(f);i=nb(b);l.align(g,!1,{x:m,y:i,width:Z(f)-m,height:Z(b)-i});l.show()}else l&&l.hide();return j},destroy:function(){L(this.axis.plotLinesAndBands,this);delete this.axis;ob(this)}};oc.prototype={destroy:function(){ob(this,this.axis)},render:function(c){var a=this.options,b=a.format,b=b?hb(b,this):a.formatter.call(this);this.label?this.label.attr({text:b,visibility:"hidden"}):(this.label=this.axis.chart.renderer.text(b,0,0,a.useHTML).css(a.style).attr({align:this.textAlign,rotation:a.rotation,visibility:"hidden"}).add(c))},setOffset:function(i,f){var a=this.axis,e=a.chart,b=e.inverted,c=this.isNegative,d=a.translate(this.percent?100:this.total,0,0,0,1),a=a.translate(0),a=p(d-a),h=e.xAxis[0].translate(this.x)+i,g=e.plotHeight,c={x:b?c?d:d-a:h,y:b?g-h-f:c?g-d-a:g-d,width:b?a:f,height:b?f:a};if(b=this.label)b.align(this.alignOptions,null,c),c=b.alignAttr,b.attr({visibility:this.options.crop===!1||e.isInsidePlot(c.x,c.y)?C?"inherit":"visible":"hidden"})}};Fb.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:q,lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#4d759e",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Values"},stackLabels:{enabled:!1,formatter:function(){return fb(this.total,-1)},style:q.style}},defaultLeftAxisOptions:{labels:{x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{x:0,y:-5},title:{rotation:0}},init:function(b,e){var c=e.isX;this.horiz=b.inverted?!c:c;this.xOrY=(this.isXAxis=c)?"x":"y";this.opposite=e.opposite;this.side=this.horiz?this.opposite?0:2:this.opposite?1:3;this.setOptions(e);var a=this.options,g=a.type;this.labelFormatter=a.labels.formatter||this.defaultLabelFormatter;this.userOptions=e;this.minPixelPadding=0;this.chart=b;this.reversed=a.reversed;this.zoomEnabled=a.zoomEnabled!==!1;this.categories=a.categories||g==="category";this.names=[];this.isLog=g==="logarithmic";this.isDatetimeAxis=g==="datetime";this.isLinked=d(a.linkedTo);this.tickmarkOffset=this.categories&&a.tickmarkPlacement==="between"?.5:0;this.ticks={};this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=a.minRange||a.maxZoom;this.range=a.range;this.offset=a.offset||0;this.stacks={};this.oldStacks={};this.stackExtremes={};this.min=this.max=null;var h,a=this.options.events;U(this,b.axes)===-1&&(b.axes.push(this),b[c?"xAxis":"yAxis"].push(this));this.series=this.series||[];if(b.inverted&&c&&this.reversed===f)this.reversed=!0;this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(h in a)s(this,h,a[h]);if(this.isLog)this.val2lin=R,this.lin2val=K},setOptions:function(a){this.options=h(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,([this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions])[this.side],h(u[this.isXAxis?"xAxis":"yAxis"],a))},update:function(c,d){var b=this.chart,c=b.options[this.xOrY+"Axis"][this.options.index]=h(this.userOptions,c);this.destroy(!0);this._addedPlotLB=this.userMin=this.userMax=f;this.init(b,g(c,{events:f}));b.isDirtyBox=!0;a(d,!0)&&b.redraw()},remove:function(e){var c=this.chart,d=this.xOrY+"Axis";b(this.series,function(a){a.remove(!1)});L(c.axes,this);L(c[d],this);c.options[d].splice(this.options.index,1);b(c[d],function(a,b){a.options.index=b});this.destroy();c.isDirtyBox=!0;a(e,!0)&&c.redraw()},defaultLabelFormatter:function(){var c=this.axis,b=this.value,e=c.categories,h=this.dateTimeLabelFormat,g=u.lang.numericSymbols,d=g&&g.length,a,i=c.options.labels.format,c=c.isLog?b:c.tickInterval;if(i)a=hb(i,this);else if(e)a=b;else if(h)a=Mb(h,b);else if(d&&c>=1e3)for(;d--&&a===f;)e=Math.pow(1e3,d+1),c>=e&&g[d]!==null&&(a=fb(b/e,-1)+g[d]);a===f&&(a=b>=1e3?fb(b,0):fb(b,-1));return a},getSeriesExtremes:function(){var e=this,f=e.chart;e.hasVisibleSeries=!1;e.dataMin=e.dataMax=null;e.stackExtremes={};e.buildStacks();b(e.series,function(g){if(g.visible||!f.options.chart.ignoreHiddenSeries){var b;b=g.options.threshold;var h;e.hasVisibleSeries=!0;e.isLog&&b<=0&&(b=null);if(e.isXAxis){if(b=g.xData,b.length)e.dataMin=n(a(e.dataMin,b[0]),nb(b)),e.dataMax=c(a(e.dataMax,b[0]),Z(b))}else{g.getExtremes();h=g.dataMax;g=g.dataMin;if(d(g)&&d(h))e.dataMin=n(a(e.dataMin,g),g),e.dataMax=c(a(e.dataMax,h),h);if(d(b))if(e.dataMin>=b)e.dataMin=b,e.ignoreMinPadding=!0;else if(e.dataMax<b)e.dataMax=b,e.ignoreMaxPadding=!0}}})},translate:function(a,j,k,d,g,e){var h=this.len,b=1,f=0,c=d?this.oldTransA:this.transA,d=d?this.oldMin:this.min,i=this.minPixelPadding,g=(this.options.ordinal||this.isLog&&g)&&this.lin2val;if(!c)c=this.transA;k&&(b*=-1,f=h);this.reversed&&(b*=-1,f-=b*h);j?(a=a*b+f,a-=i,a=a/c+d,g&&(a=this.lin2val(a))):(g&&(a=this.val2lin(a)),e==="between"&&(e=.5),a=b*(a-d)*c+f+b*i+(W(e)?c*e*this.pointRange:0));return a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(d,l,a,m){var c=this.chart,g=this.left,h=this.top,b,i,j,d=this.translate(d,null,null,a),k=a&&c.oldChartHeight||c.chartHeight,n=a&&c.oldChartWidth||c.chartWidth,f;b=this.transB;a=i=e(d+b);b=j=e(k-d-b);if(isNaN(d))f=!0;else if(this.horiz){if(b=h,j=k-this.bottom,a<g||a>g+this.width)f=!0}else if(a=g,i=n-this.right,b<h||b>h+this.height)f=!0;return f&&!m?null:c.renderer.crispLine(["M",a,b,"L",i,j],l||0)},getPlotBandPath:function(c,d){var a=this.getPlotLinePath(d),b=this.getPlotLinePath(c);b&&a?b.push(a[4],a[5],a[1],a[2]):(b=null);return b},getLinearTickPositions:function(b,a,c){for(var d,a=N(v(a/b)*b),c=N(bb(c/b)*b),e=[];a<=c;){e.push(a);a=N(a+b);if(a===d)break;d=a}return e},getLogTickPositions:function(b,d,c,f){var h=this.options,g=this.len,i=[];if(!f)this._minorAutoInterval=null;if(b>=.5)b=e(b),i=this.getLinearTickPositions(b,d,c);else if(b>=.08)for(var g=v(d),j,n,l,k,m,h=b>.3?[1,2,4]:b>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];g<c+1&&!m;g++){n=h.length;for(j=0;j<n&&!m;j++)l=R(K(g)*h[j]),l>d&&(!f||k<=c)&&i.push(k),k>c&&(m=!0),k=l}else if(d=K(d),c=K(c),b=h[f?"minorTickInterval":"tickInterval"],b=a(b==="auto"?null:b,this._minorAutoInterval,(c-d)*(h.tickPixelInterval/(f?5:1))/((f?g/this.tickPositions.length:g)||1)),b=Sb(b,null,Rb(b)),i=rb(this.getLinearTickPositions(b,d,c),R),!f)this._minorAutoInterval=b/5;if(!f)this.tickInterval=b;return i},getMinorTickPositions:function(){var c=this.options,a=this.tickPositions,d=this.minorTickInterval,b=[],e;if(this.isLog){e=a.length;for(c=1;c<e;c++)b=b.concat(this.getLogTickPositions(d,a[c-1],a[c],!0))}else if(this.isDatetimeAxis&&c.minorTickInterval==="auto")b=b.concat(gc(ec(d),this.min,this.max,c.startOfWeek)),b[0]<this.min&&b.shift();else for(a=this.min+(a[0]-this.min)%d;a<=this.max;a+=d)b.push(a);return b},adjustForMinRange:function(){var i=this.options,c=this.min,e=this.max,g,o=this.dataMax-this.dataMin>=this.minRange,k,j,m,l,p;if(this.isXAxis&&this.minRange===f&&!this.isLog)d(i.min)||d(i.max)?(this.minRange=null):(b(this.series,function(a){l=a.xData;for(j=p=a.xIncrement?1:l.length-1;j>0;j--)if(m=l[j]-l[j-1],k===f||m<k)k=m}),this.minRange=n(k*5,this.dataMax-this.dataMin));if(e-c<this.minRange){var h=this.minRange;g=(h-e+c)/2;g=[c-g,a(i.min,c-g)];if(o)g[2]=this.dataMin;c=Z(g);e=[c+h,a(i.max,c+h)];if(o)e[2]=this.dataMax;e=nb(e);e-c<h&&(g[0]=e-h,g[1]=a(i.min,e-h),c=Z(g))}this.min=c;this.max=e},setAxisTranslation:function(k){var h=this.max-this.min,i=0,a,f=0,g=0,e=this.linkedParent,j=this.transA;if(this.isXAxis)e?(f=e.minPointOffset,g=e.pointRangePadding):b(this.series,function(e){var b=e.pointRange,k=e.options.pointPlacement,j=e.closestPointRange;b>h&&(b=0);i=c(i,b);f=c(f,J(k)?0:b/2);g=c(g,k==="on"?0:b);!e.noSharedTooltip&&d(j)&&(a=d(a)?n(a,j):j)}),e=this.ordinalSlope&&a?this.ordinalSlope/a:1,this.minPointOffset=f*=e,this.pointRangePadding=g*=e,this.pointRange=n(i,h),this.closestPointRange=a;if(k)this.oldTransA=j;this.translationSlope=this.transA=j=this.len/(h+g||1);this.transB=this.horiz?this.left:this.bottom;this.minPixelPadding=j*f},setTickPositions:function(g){var e=this,h=e.chart,f=e.options,j=e.isLog,k=e.isDatetimeAxis,p=e.isXAxis,i=e.isLinked,q=e.options.tickPositioner,r=f.maxPadding,s=f.minPadding,l=f.tickInterval,t=f.minTickInterval,m=f.tickPixelInterval,u,o=e.categories;i?(e.linkedParent=h[p?"xAxis":"yAxis"][f.linkedTo],h=e.linkedParent.getExtremes(),e.min=a(h.min,h.dataMin),e.max=a(h.max,h.dataMax),f.type!==e.linkedParent.options.type&&P(11,1)):(e.min=a(e.userMin,f.min,e.dataMin),e.max=a(e.userMax,f.max,e.dataMax));if(j)!g&&n(e.min,a(e.dataMin,e.min))<=0&&P(10,1),e.min=N(R(e.min)),e.max=N(R(e.max));if(e.range&&(e.userMin=e.min=c(e.min,e.max-e.range),e.userMax=e.max,g))e.range=null;e.beforePadding&&e.beforePadding();e.adjustForMinRange();if(!o&&!e.usePercentage&&!i&&d(e.min)&&d(e.max)&&(h=e.max-e.min)){if(!d(f.min)&&!d(e.userMin)&&s&&(e.dataMin<0||!e.ignoreMinPadding))e.min-=h*s;if(!d(f.max)&&!d(e.userMax)&&r&&(e.dataMax>0||!e.ignoreMaxPadding))e.max+=h*r}e.min===e.max||e.min===void 0||e.max===void 0?(e.tickInterval=1):i&&!l&&m===e.linkedParent.options.tickPixelInterval?(e.tickInterval=e.linkedParent.tickInterval):(e.tickInterval=a(l,o?1:(e.max-e.min)*m/c(e.len,m)),!d(l)&&e.len<m&&!this.isRadial&&(u=!0,e.tickInterval/=4));p&&!g&&b(e.series,function(a){a.processData(e.min!==e.oldMin||e.max!==e.oldMax)});e.setAxisTranslation(!0);e.beforeSetTickPositions&&e.beforeSetTickPositions();if(e.postProcessTickInterval)e.tickInterval=e.postProcessTickInterval(e.tickInterval);if(e.pointRange)e.tickInterval=c(e.pointRange,e.tickInterval);if(!l&&e.tickInterval<t)e.tickInterval=t;if(!k&&!j&&!l)e.tickInterval=Sb(e.tickInterval,null,Rb(e.tickInterval),f);e.minorTickInterval=f.minorTickInterval==="auto"&&e.tickInterval?e.tickInterval/5:f.minorTickInterval;e.tickPositions=g=f.tickPositions?[].concat(f.tickPositions):q&&q.apply(e,[e.min,e.max]);if(!g)!e.ordinalPositions&&(e.max-e.min)/e.tickInterval>c(2*e.len,200)&&P(19,!0),g=k?(e.getNonLinearTimeTicks||gc)(ec(e.tickInterval,f.units),e.min,e.max,f.startOfWeek,e.ordinalPositions,e.closestPointRange,!0):j?e.getLogTickPositions(e.tickInterval,e.min,e.max):e.getLinearTickPositions(e.tickInterval,e.min,e.max),u&&g.splice(1,g.length-2),e.tickPositions=g;if(!i)j=g[0],k=g[g.length-1],i=e.minPointOffset||0,f.startOnTick?(e.min=j):e.min-i>j&&g.shift(),f.endOnTick?(e.max=k):e.max+i<k&&g.pop(),g.length===1&&(e.min-=.001,e.max+=.001)},setMaxTicks:function(){var c=this.chart,a=c.maxTicks||{},b=this.tickPositions,d=this._maxTicksKey=[this.xOrY,this.pos,this.len].join("-");if(!this.isLinked&&!this.isDatetimeAxis&&b&&b.length>(a[d]||0)&&this.options.alignTicks!==!1)a[d]=b.length;c.maxTicks=a},adjustTickAmount:function(){var a=this._maxTicksKey,b=this.tickPositions,c=this.chart.maxTicks;if(c&&c[a]&&!this.isDatetimeAxis&&!this.categories&&!this.isLinked&&this.options.alignTicks!==!1){var e=this.tickAmount,f=b.length;this.tickAmount=a=c[a];if(f<a){for(;b.length<a;)b.push(N(b[b.length-1]+this.tickInterval));this.transA*=(f-1)/(a-1);this.max=b[b.length-1]}if(d(e)&&a!==e)this.isDirty=!0}},setScale:function(){var a=this.stacks,c,d,f,e;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();e=this.len!==this.oldAxisLength;b(this.series,function(a){if(a.isDirtyData||a.isDirty||a.xAxis.isDirty)f=!0});if(e||f||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis)for(c in a)for(d in a[c])a[c][d].total=null,a[c][d].cum=0;this.forceRedraw=!1;this.getSeriesExtremes();this.setTickPositions();this.oldUserMin=this.userMin;this.oldUserMax=this.userMax;if(!this.isDirty)this.isDirty=e||this.min!==this.oldMin||this.max!==this.oldMax}else if(!this.isXAxis){if(this.oldStacks)a=this.stacks=this.oldStacks;for(c in a)for(d in a[c])a[c][d].cum=a[c][d].total}this.setMaxTicks()},setExtremes:function(d,e,f,h,c){var b=this,i=b.chart,f=a(f,!0),c=g(c,{min:d,max:e});l(b,"setExtremes",c,function(){b.userMin=d;b.userMax=e;b.eventArgs=c;b.isDirtyExtremes=!0;f&&i.redraw(h)})},zoom:function(a,b){this.allowZoomOutside||(d(this.dataMin)&&a<=this.dataMin&&(a=f),d(this.dataMax)&&b>=this.dataMax&&(b=f));this.displayBtn=a!==f||b!==f;this.setExtremes(a,b,!1,f,{trigger:"zoom"});return!0},setAxisSize:function(){var d=this.chart,b=this.options,e=b.offsetLeft||0,i=b.offsetRight||0,h=this.horiz,f,g;this.left=g=a(b.left,d.plotLeft+e);this.top=f=a(b.top,d.plotTop);this.width=e=a(b.width,d.plotWidth-e+i);this.height=b=a(b.height,d.plotHeight);this.bottom=d.chartHeight-b-f;this.right=d.chartWidth-e-g;this.len=c(h?e:b,0);this.pos=h?g:f},getExtremes:function(){var a=this.isLog;return{min:a?N(K(this.min)):this.min,max:a?N(K(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,c=b?K(this.min):this.min,b=b?K(this.max):this.max;c>a||a===null?(a=c):b<a&&(a=b);return this.translate(a,0,1,0,1)},addPlotBand:function(a){this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(d,a){var b=(new Zb(this,d)).render(),c=this.userOptions;b&&(a&&(c[a]=c[a]||[],c[a].push(d)),this.plotLinesAndBands.push(b));return b},autoLabelAlign:function(b){b=(a(b,0)-this.side*90+720)%360;return b>15&&b<165?"right":b>195&&b<345?"left":"center"},getOffset:function(){var e=this,l=e.chart,t=l.renderer,k=e.options,q=e.tickPositions,j=e.ticks,y=e.horiz,i=e.side,A=l.inverted?([1,0,3,2])[i]:i,n,B=0,C,D=0,g=k.title,h=k.labels,o=0,x=l.axisOffset,E=l.clipOffset,z=([-1,1,1,-1])[i],p,s=1,F=a(h.maxStaggerLines,5),w,m,r,u;e.hasData=n=e.hasVisibleSeries||d(e.min)&&d(e.max)&&!!q;e.showAxis=l=n||a(k.showEmpty,!0);e.staggerLines=e.horiz&&h.staggerLines;if(!e.axisGroup)e.gridGroup=t.g("grid").attr({zIndex:k.gridZIndex||1}).add(),e.axisGroup=t.g("axis").attr({zIndex:k.zIndex||2}).add(),e.labelGroup=t.g("axis-labels").attr({zIndex:h.zIndex||7}).add();if(n||e.isLinked){e.labelAlign=a(h.align||e.autoLabelAlign(h.rotation));b(q,function(a){j[a]?j[a].addLabel():(j[a]=new qb(e,a))});if(e.horiz&&!e.staggerLines&&F&&!h.rotation){for(p=e.reversed?[].concat(q).reverse():q;s<F;){n=[];w=!1;for(h=0;h<p.length;h++)m=p[h],r=(r=j[m].label&&j[m].label.getBBox())?r.width:0,u=h%s,r&&(m=e.translate(m),n[u]!==f&&m<n[u]&&(w=!0),n[u]=m+r);if(w)s++;else break}if(s>1)e.staggerLines=s}b(q,function(a){if(i===0||i===2||({1:"left",3:"right"})[i]===e.labelAlign)o=c(j[a].getLabelSize(),o)});if(e.staggerLines)o*=e.staggerLines,e.labelOffset=o}else for(p in j)j[p].destroy(),delete j[p];if(g&&g.text&&g.enabled!==!1){if(!e.axisTitle)e.axisTitle=t.text(g.text,0,0,g.useHTML).attr({zIndex:7,rotation:g.rotation||0,align:g.textAlign||({low:"left",middle:"center",high:"right"})[g.align]}).css(g.style).add(e.axisGroup),e.axisTitle.isNew=!0;if(l)B=e.axisTitle.getBBox()[y?"height":"width"],D=a(g.margin,y?5:10),C=g.offset;e.axisTitle[l?"show":"hide"]()}e.offset=z*a(k.offset,x[i]);e.axisTitleMargin=a(C,o+D+(i!==2&&o&&z*k.labels[y?"y":"x"]));x[i]=c(x[i],e.axisTitleMargin+B+z*e.offset);E[A]=c(E[A],v(k.lineWidth/2)*2)},getLinePath:function(e){var a=this.chart,d=this.opposite,b=this.offset,c=this.horiz,f=this.left+(d?this.width:0)+b,b=a.chartHeight-this.bottom-(d?this.height:0)+b;d&&(e*=-1);return a.renderer.crispLine(["M",c?this.left:f,c?b:this.top,"L",c?a.chartWidth-this.right:f,c?b:a.chartHeight-this.bottom],e)},getTitlePosition:function(){var a=this.horiz,c=this.left,g=this.top,b=this.len,d=this.options.title,e=a?c:g,f=this.opposite,h=this.offset,i=j(d.style.fontSize||12),b=({low:e+(a?0:b),middle:e+b/2,high:e+(a?b:0)})[d.align],c=(a?g+this.height:c)+(a?1:-1)*(f?-1:1)*this.axisTitleMargin+(this.side===2?i:0);return{x:a?b:c+(f?this.width:0)+h+(d.x||0),y:a?c-(f?this.height:0)+h:b+(d.y||0)}},render:function(){var a=this,j=a.chart,l=j.renderer,c=a.options,r=a.isLog,s=a.isLinked,h=a.tickPositions,m=a.axisTitle,t=a.stacks,e=a.ticks,i=a.minorTicks,g=a.alternateBands,u=c.stackLabels,v=c.alternateGridColor,o=a.tickmarkOffset,n=c.lineWidth,k,w=j.hasRendered&&d(a.oldMin)&&!isNaN(a.oldMin);k=a.hasData;var x=a.showAxis,p,q;b([e,i,g],function(a){for(var b in a)a[b].isActive=!1});if(k||s)if(a.minorTickInterval&&!a.categories&&b(a.getMinorTickPositions(),function(b){i[b]||(i[b]=new qb(a,b,"minor"));w&&i[b].isNew&&i[b].render(null,!0);i[b].render(null,!1,1)}),h.length&&(b(h.slice(1).concat([h[0]]),function(b,c){c=c===h.length-1?0:c+1;if(!s||b>=a.min&&b<=a.max)e[b]||(e[b]=new qb(a,b)),w&&e[b].isNew&&e[b].render(c,!0),e[b].render(c,!1,1)}),o&&a.min===0&&(e[-1]||(e[-1]=new qb(a,-1,null,!0)),e[-1].render(-1))),v&&b(h,function(b,c){if(c%2===0&&b<a.max)g[b]||(g[b]=new Zb(a)),p=b+o,q=h[c+1]!==f?h[c+1]+o:a.max,g[b].options={from:r?K(p):p,to:r?K(q):q,color:v},g[b].render(),g[b].isActive=!0}),!a._addedPlotLB)b((c.plotLines||[]).concat(c.plotBands||[]),function(b){a.addPlotBandOrLine(b)}),a._addedPlotLB=!0;b([e,i,g],function(a){var b,c,d=[],e=kb?kb.duration||500:0,f=function(){for(c=d.length;c--;)a[d[c]]&&!a[d[c]].isActive&&(a[d[c]].destroy(),delete a[d[c]])};for(b in a)if(!a[b].isActive)a[b].render(b,!1,0),a[b].isActive=!1,d.push(b);a===g||!j.hasRendered||!e?f():e&&setTimeout(f,e)});if(n)k=a.getLinePath(n),a.axisLine?a.axisLine.animate({d:k}):(a.axisLine=l.path(k).attr({stroke:c.lineColor,"stroke-width":n,zIndex:7}).add(a.axisGroup)),a.axisLine[x?"show":"hide"]();if(m&&x)m[m.isNew?"attr":"animate"](a.getTitlePosition()),m.isNew=!1;if(u&&u.enabled){var y,z,c=a.stackTotalGroup;if(!c)a.stackTotalGroup=c=l.g("stack-labels").attr({visibility:"visible",zIndex:6}).add();c.translate(j.plotLeft,j.plotTop);for(y in t)for(z in l=t[y],l)l[z].render(c)}a.isDirty=!1},removePlotBandOrLine:function(d){for(var c=this.plotLinesAndBands,e=this.options,f=this.userOptions,a=c.length;a--;)c[a].id===d&&c[a].destroy();b([e.plotLines||[],f.plotLines||[],e.plotBands||[],f.plotBands||[]],function(b){for(a=b.length;a--;)b[a].id===d&&L(b,b[a])})},setTitle:function(a,b){this.update({title:a},b)},redraw:function(){var a=this.chart.pointer;a.reset&&a.reset(!0);this.render();b(this.plotLinesAndBands,function(a){a.render()});b(this.series,function(a){a.isDirty=!0})},buildStacks:function(){var b=this.series,a=b.length;if(!this.isXAxis){for(;a--;)b[a].setStackedPoints();if(this.usePercentage)for(a=0;a<b.length;a++)b[a].setPercentStacks()}},setCategories:function(a,b){this.update({categories:a},b)},destroy:function(c){var a=this,d=a.stacks,e,f=a.plotLinesAndBands;c||F(a);for(e in d)ob(d[e]),d[e]=null;b([a.ticks,a.minorTicks,a.alternateBands],function(a){ob(a)});for(c=f.length;c--;)f[c].destroy();b("stackTotalGroup,axisLine,axisGroup,gridGroup,labelGroup,axisTitle".split(","),function(b){a[b]&&(a[b]=a[b].destroy())})}};ac.prototype={init:function(b,a){var d=a.borderWidth,c=a.style,e=j(c.padding);this.chart=b;this.options=a;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.label=b.renderer.label("",0,0,a.shape,null,null,a.useHTML,null,"tooltip").attr({padding:e,fill:a.backgroundColor,"stroke-width":d,r:a.borderRadius,zIndex:8}).css(c).css({padding:0}).add().attr({y:-999});I||this.label.shadow(a.shadow);this.shared=a.shared},destroy:function(){b(this.crosshairs,function(a){a&&a.destroy()});if(this.label)this.label=this.label.destroy();clearTimeout(this.hideTimer);clearTimeout(this.tooltipTimeout)},move:function(d,e,f,h){var b=this,a=b.now,c=b.options.animation!==!1&&!b.isHidden;g(a,{x:c?(2*a.x+d)/3:d,y:c?(a.y+e)/2:e,anchorX:c?(2*a.anchorX+f)/3:f,anchorY:c?(a.anchorY+h)/2:h});b.label.attr(a);if(c&&(p(d-a.x)>1||p(e-a.y)>1))clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){b&&b.move(d,e,f,h)},32)},hide:function(){var d=this,c;clearTimeout(this.hideTimer);if(!this.isHidden)c=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){d.label.fadeOut();d.isHidden=!0},a(this.options.hideDelay,500)),c&&b(c,function(a){a.setState()}),this.chart.hoverPoints=null},hideCrosshairs:function(){b(this.crosshairs,function(a){a&&a.hide()})},getAnchor:function(c,a){var g,d=this.chart,h=d.inverted,k=d.plotTop,i=0,j=0,l,c=O(c);g=c[0].tooltipPos;this.followPointer&&a&&(a.chartX===f&&(a=d.pointer.normalize(a)),g=[a.chartX-d.plotLeft,a.chartY-k]);g||(b(c,function(a){l=a.series.yAxis;i+=a.plotX;j+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!h&&l?l.top-k:0)}),i/=c.length,j/=c.length,g=[h?d.plotWidth-j:i,this.shared&&!h&&c.length>1&&a?a.chartY-k:h?d.plotHeight-i:j]);return rb(g,e)},getPosition:function(j,h,f){var b=this.chart,i=b.plotLeft,e=b.plotTop,k=b.plotWidth,l=b.plotHeight,g=a(this.options.distance,12),m=f.plotX,f=f.plotY,b=m+i+(b.inverted?g:-j-g),d=f-h+e+15,n;b<7&&(b=i+c(m,0)+g);b+j>i+k&&(b-=b+j-(i+k),d=f-h+e-g,n=!0);d<e+5&&(d=e+5,n&&f>=d&&f<=d+h&&(d=f+e+g));d+h>e+l&&(d=c(e,e+l-h-g));return{x:b,y:d}},defaultFormatter:function(e){var d=this.points||O(this),a=d[0].series,c;c=[a.tooltipHeaderFormatter(d[0])];b(d,function(b){a=b.series;c.push(a.tooltipFormatter&&a.tooltipFormatter(b)||b.point.tooltipFormatter(a.tooltipOptions.pointFormat))});c.push(e.options.footerFormat||"");return c.join("")},refresh:function(d,p){var h=this.chart,c=this.label,f=this.options,m,i,e={},j,o=[];j=f.formatter||this.defaultFormatter;var e=h.hoverPoints,n,g=f.crosshairs,k=this.shared;clearTimeout(this.hideTimer);this.followPointer=O(d)[0].series.tooltipOptions.followPointer;i=this.getAnchor(d,p);m=i[0];i=i[1];k&&(!d.series||!d.series.noSharedTooltip)?(h.hoverPoints=d,e&&b(e,function(a){a.setState()}),b(d,function(a){a.setState("hover");o.push(a.getLabelConfig())}),e={x:d[0].category,y:d[0].y},e.points=o,d=d[0]):(e=d.getLabelConfig());j=j.call(e,this);e=d.series;j===!1?this.hide():(this.isHidden&&(zb(c),c.attr("opacity",1).show()),c.attr({text:j}),n=f.borderColor||d.color||e.color||"#606060",c.attr({stroke:n}),this.updatePosition({plotX:m,plotY:i}),this.isHidden=!1);if(g){g=O(g);for(c=g.length;c--;)if(k=d.series,f=k[c?"yAxis":"xAxis"],g[c]&&f)if(e=c?a(d.stackY,d.y):d.x,f.isLog&&(e=R(e)),c===1&&k.modifyValue&&(e=k.modifyValue(e)),f=f.getPlotLinePath(e,1),this.crosshairs[c])this.crosshairs[c].attr({d:f,visibility:"visible"});else{e={"stroke-width":g[c].width||1,stroke:g[c].color||"#C0C0C0",zIndex:g[c].zIndex||2};if(g[c].dashStyle)e.dashstyle=g[c].dashStyle;this.crosshairs[c]=h.renderer.path(f).attr(e).add()}}l(h,"tooltipRefresh",{text:j,x:m+h.plotLeft,y:i+h.plotTop,borderColor:n})},updatePosition:function(b){var c=this.chart,a=this.label,a=(this.options.positioner||this.getPosition).call(this,a.width,a.height,b);this.move(e(a.x),e(a.y),b.plotX+c.plotLeft,b.plotY+c.plotTop)}};bc.prototype={init:function(c,d){var a=d.chart,f=a.events,b=I?"":a.zoomType,a=c.inverted,e;this.options=d;this.chart=c;this.zoomX=e=/x/.test(b);this.zoomY=b=/y/.test(b);this.zoomHor=e&&!a||b&&a;this.zoomVert=b&&!a||e&&a;this.runChartClick=f&&!!f.click;this.pinchDown=[];this.lastValidTouch={};if(d.tooltip.enabled)c.tooltip=new ac(c,d.tooltip);this.setDOMEvents()},normalize:function(a,d){var h,b,a=a||t.event;if(!a.target)a.target=a.srcElement;a=zc(a);b=a.touches?a.touches.item(0):a;if(!d)this.chartPosition=d=yc(this.chart.container);b.pageX===f?(h=c(a.x,a.clientX-d.left),b=a.y):(h=b.pageX-d.left,b=b.pageY-d.top);return g(a,{chartX:e(h),chartY:e(b)})},getCoordinates:function(c){var a={xAxis:[],yAxis:[]};b(this.chart.axes,function(b){a[b.isXAxis?"xAxis":"yAxis"].push({axis:b,value:b.toValue(c[b.horiz?"chartX":"chartY"])})});return a},getIndex:function(b){var a=this.chart;return a.inverted?a.plotHeight+a.plotTop-b.chartY:b.chartX-a.plotLeft},runPointActions:function(d){var a=this.chart,f=a.series,e=a.tooltip,b,k=a.hoverPoint,h=a.hoverSeries,g,c,i=a.chartWidth,j=this.getIndex(d);if(e&&this.options.tooltip.shared&&(!h||!h.noSharedTooltip)){b=[];g=f.length;for(c=0;c<g;c++)if(f[c].visible&&f[c].options.enableMouseTracking!==!1&&!f[c].noSharedTooltip&&f[c].tooltipPoints.length&&(a=f[c].tooltipPoints[j])&&a.series)a._dist=p(j-a.clientX),i=n(i,a._dist),b.push(a);for(g=b.length;g--;)b[g]._dist>i&&b.splice(g,1);if(b.length&&b[0].clientX!==this.hoverX)e.refresh(b,d),this.hoverX=b[0].clientX}if(h&&h.tracker){if((a=h.tooltipPoints[j])&&a!==k)a.onMouseOver(d)}else e&&e.followPointer&&!e.isHidden&&(d=e.getAnchor([{}],d),e.updatePosition({plotX:d[0],plotY:d[1]}))},reset:function(c){var a=this.chart,e=a.hoverSeries,d=a.hoverPoint,b=a.tooltip,a=b&&b.shared?a.hoverPoints:d;(c=c&&b&&a)&&O(a)[0].plotX===f&&(c=!1);if(c)b.refresh(a);else{d&&d.onMouseOut();e&&e.onMouseOut();b&&(b.hide(),b.hideCrosshairs());this.hoverX=null}},scaleGroups:function(e,d){var a=this.chart,c;b(a.series,function(b){c=e||b.getPlotBox();b.xAxis&&b.xAxis.zoomEnabled&&(b.group.attr(c),b.markerGroup&&(b.markerGroup.attr(c),b.markerGroup.clip(d?a.clipRect:null)),b.dataLabelsGroup&&b.dataLabelsGroup.attr(c))});a.clipRect.attr(d||a.clipBox)},pinchTranslate:function(g,h,a,b,c,d,e,f){g&&this.pinchTranslateDirection(!0,a,b,c,d,e,f);h&&this.pinchTranslateDirection(!1,a,b,c,d,e,f)},pinchTranslateDirection:function(b,a,h,v,w,e,o,x){var i=this.chart,f=b?"x":"y",q=b?"X":"Y",j="chart"+q,y=b?"width":"height",s=i["plot"+(b?"Left":"Top")],g,r,c=x||1,t=i.inverted,l=i.bounds[b?"h":"v"],m=a.length===1,k=a[0][j],d=h[0][j],z=!m&&a[1][j],n=!m&&h[1][j],u,h=function(){!m&&p(k-z)>20&&(c=x||p(d-n)/p(k-z));r=(s-d)/c+k;g=i["plot"+(b?"Width":"Height")]/c};h();a=r;a<l.min?(a=l.min,u=!0):a+g>l.max&&(a=l.max-g,u=!0);u?(d-=.8*(d-o[f][0]),m||(n-=.8*(n-o[f][1])),h()):(o[f]=[d,n]);t||(e[f]=r-s,e[y]=g);e=t?1/c:c;w[y]=g;w[f]=a;v[t?b?"scaleY":"scaleX":"scale"+q]=c;v["translate"+q]=e*s+(d-e*k)},pinch:function(f){var a=this,e=a.chart,d=a.pinchDown,l=e.tooltip&&e.tooltip.options.followTouchMove,h=f.touches,m=h.length,i=a.lastValidTouch,o=a.zoomHor||a.pinchHor,p=a.zoomVert||a.pinchVert,j=o||p,k=a.selectionMarker,q={},s=m===1&&(a.inClass(f.target,"highcharts-tracker")&&e.runTrackerClick||e.runChartClick),r={};(j||l)&&!s&&f.preventDefault();rb(h,function(b){return a.normalize(b)});if(f.type==="touchstart")b(h,function(a,b){d[b]={chartX:a.chartX,chartY:a.chartY}}),i.x=[d[0].chartX,d[1]&&d[1].chartX],i.y=[d[0].chartY,d[1]&&d[1].chartY],b(e.axes,function(a){if(a.zoomEnabled){var d=e.bounds[a.horiz?"h":"v"],f=a.minPixelPadding,b=a.toPixels(a.dataMin),g=a.toPixels(a.dataMax),h=n(b,g),b=c(b,g);d.min=n(a.pos,h-f);d.max=c(a.pos+a.len,b+f)}});else if(d.length){if(!k)a.selectionMarker=k=g({destroy:T},e.plotBox);a.pinchTranslate(o,p,d,h,q,k,r,i);a.hasPinched=j;a.scaleGroups(q,r);!j&&l&&m===1&&this.runPointActions(a.normalize(f))}},dragStart:function(b){var a=this.chart;a.mouseIsDown=b.type;a.cancelClick=!1;a.mouseDownX=this.mouseDownX=b.chartX;a.mouseDownY=this.mouseDownY=b.chartY},drag:function(h){var b=this.chart,i=b.options.chart,a=h.chartX,c=h.chartY,m=this.zoomHor,n=this.zoomVert,d=b.plotLeft,e=b.plotTop,j=b.plotWidth,k=b.plotHeight,l,f=this.mouseDownX,g=this.mouseDownY;a<d?(a=d):a>d+j&&(a=d+j);c<e?(c=e):c>e+k&&(c=e+k);this.hasDragged=Math.sqrt(Math.pow(f-a,2)+Math.pow(g-c,2));if(this.hasDragged>10){l=b.isInsidePlot(f-d,g-e);if(b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&l&&!this.selectionMarker)this.selectionMarker=b.renderer.rect(d,e,m?1:j,n?1:k,0).attr({fill:i.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add();this.selectionMarker&&m&&(a-=f,this.selectionMarker.attr({width:p(a),x:(a>0?0:a)+f}));this.selectionMarker&&n&&(a=c-g,this.selectionMarker.attr({height:p(a),y:(a>0?0:a)+g}));l&&!this.selectionMarker&&i.panning&&b.pan(h,i.panning)}},drop:function(f){var a=this.chart,e=this.hasPinched;if(this.selectionMarker){var h={xAxis:[],yAxis:[],originalEvent:f.originalEvent||f},d=this.selectionMarker,i=d.x,j=d.y,k;if(this.hasDragged||e)b(a.axes,function(a){if(a.zoomEnabled){var b=a.horiz,e=a.toValue(b?i:j),b=a.toValue(b?i+d.width:j+d.height);!isNaN(e)&&!isNaN(b)&&(h[a.xOrY+"Axis"].push({axis:a,min:n(e,b),max:c(e,b)}),k=!0)}}),k&&l(a,"selection",h,function(b){a.zoom(g(b,e?{animation:!1}:null))});this.selectionMarker=this.selectionMarker.destroy();e&&this.scaleGroups()}if(a)o(a.container,{cursor:a._cursor}),a.cancelClick=this.hasDragged>10,a.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[]},onContainerMouseDown:function(a){a=this.normalize(a);a.preventDefault&&a.preventDefault();this.dragStart(a)},onDocumentMouseUp:function(a){this.drop(a)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition,d=b.hoverSeries,a=this.normalize(a,c);c&&d&&!this.inClass(a.target,"highcharts-tracker")&&!b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)&&this.reset()},onContainerMouseLeave:function(){this.reset();this.chartPosition=null},onContainerMouseMove:function(a){var b=this.chart,a=this.normalize(a);a.returnValue=!1;b.mouseIsDown==="mousedown"&&this.drag(a);(this.inClass(a.target,"highcharts-tracker")||b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop))&&!b.openMenu&&this.runPointActions(a)},inClass:function(a,c){for(var b;a;){if(b=i(a,"class"))if(b.indexOf(c)!==-1)return!0;else if(b.indexOf("highcharts-container")!==-1)return!1;a=a.parentNode}},onTrackerMouseOut:function(b){var a=this.chart.hoverSeries;a&&!a.options.stickyTracking&&!this.inClass(b.toElement||b.relatedTarget,"highcharts-tooltip")&&a.onMouseOut()},onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,h=b.plotLeft,i=b.plotTop,j=b.inverted,d,e,f,a=this.normalize(a);a.cancelBubble=!0;if(!b.cancelClick)c&&this.inClass(a.target,"highcharts-tracker")?(d=this.chartPosition,e=c.plotX,f=c.plotY,g(c,{pageX:d.left+h+(j?b.plotWidth-f:e),pageY:d.top+i+(j?b.plotHeight-e:f)}),l(c.series,"click",g(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(g(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-h,a.chartY-i)&&l(b,"click",a))},onContainerTouchStart:function(a){var b=this.chart;a.touches.length===1?(a=this.normalize(a),b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)?(this.runPointActions(a),this.pinch(a)):this.reset()):a.touches.length===2&&this.pinch(a)},onContainerTouchMove:function(a){(a.touches.length===1||a.touches.length===2)&&this.pinch(a)},onDocumentTouchEnd:function(a){this.drop(a)},setDOMEvents:function(){var c=this,a=c.chart.container,d;this._events=d=[[a,"onmousedown","onContainerMouseDown"],[a,"onmousemove","onContainerMouseMove"],[a,"onclick","onContainerClick"],[a,"mouseleave","onContainerMouseLeave"],[k,"mousemove","onDocumentMouseMove"],[k,"mouseup","onDocumentMouseUp"]];Kb&&d.push([a,"ontouchstart","onContainerTouchStart"],[a,"ontouchmove","onContainerTouchMove"],[k,"touchend","onDocumentTouchEnd"]);b(d,function(a){c["_"+a[2]]=function(b){c[a[2]](b)};a[1].indexOf("on")===0?(a[0][a[1]]=c["_"+a[2]]):s(a[0],a[1],c["_"+a[2]])})},destroy:function(){var a=this;b(a._events,function(b){b[1].indexOf("on")===0?(b[0][b[1]]=null):F(b[0],b[1],a["_"+b[2]])});delete a._events;clearInterval(a.tooltipTimeout)}};Gb.prototype={init:function(g,c){var b=this,d=c.itemStyle,e=a(c.padding,8),f=c.itemMarginTop||0;this.options=c;if(c.enabled)b.baseline=j(d.fontSize)+3+f,b.itemStyle=d,b.itemHiddenStyle=h(d,c.itemHiddenStyle),b.itemMarginTop=f,b.padding=e,b.initialItemX=e,b.initialItemY=e-5,b.maxItemWidth=0,b.chart=g,b.itemHeight=0,b.lastLineHeight=0,b.render(),s(b.chart,"endResize",function(){b.positionCheckboxes()})},colorizeItem:function(a,i){var d=this.options,c=a.legendItem,j=a.legendLine,e=a.legendSymbol,b=this.itemHiddenStyle.color,d=i?d.itemStyle.color:b,g=i?a.color:b,b=a.options&&a.options.marker,k={stroke:g,fill:g},h;c&&c.css({fill:d,color:d});j&&j.attr({stroke:g});if(e){if(b&&e.isMarker)for(h in b=a.convertAttribs(b),b)c=b[h],c!==f&&(k[h]=c);e.attr(k)}},positionItem:function(a){var c=this.options,f=c.symbolPadding,c=!c.rtl,b=a._legendItemPos,d=b[0],b=b[1],e=a.checkbox;a.legendGroup&&a.legendGroup.translate(c?d:this.legendWidth-d-2*f-4,b);if(e)e.x=d,e.y=b},destroyItem:function(a){var c=a.checkbox;b(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())});c&&wb(a.checkbox)},destroy:function(){var a=this.group,b=this.box;if(b)this.box=b.destroy();if(a)this.group=a.destroy()},positionCheckboxes:function(d){var c=this.group.alignAttr,a,e=this.clipHeight||this.legendHeight;if(c)a=c.translateY,b(this.allItems,function(g){var b=g.checkbox,f;b&&(f=a+b.y+(d||0)+3,o(b,{left:c.translateX+g.legendItemWidth+b.x-20+"px",top:f+"px",display:f>a-6&&f<a+e-6?"":y}))})},renderTitle:function(){var a=this.padding,b=this.options.title,c=0;if(b.text){if(!this.title)this.title=this.chart.renderer.label(b.text,a-3,a-4,null,null,null,null,null,"legend-title").attr({zIndex:1}).css(b.style).add(this.group);a=this.title.getBBox();c=a.height;this.offsetWidth=a.width;this.contentGroup.attr({translateY:c})}this.titleHeight=c},renderItem:function(d){var q,b=this,m=b.chart,i=m.renderer,e=b.options,k=e.layout==="horizontal",f=e.symbolWidth,n=e.symbolPadding,r=b.itemStyle,t=b.itemHiddenStyle,u=b.padding,v=k?a(e.itemDistance,8):0,w=!e.rtl,x=e.width,p=e.itemMarginBottom||0,o=b.itemMarginTop,j=b.initialItemX,g=d.legendItem,z=d.series||d,y=z.options,B=y.showCheckbox,C=e.useHTML;if(!g&&(d.legendGroup=i.g("legend-item").attr({zIndex:1}).add(b.scrollGroup),z.drawLegendSymbol(b,d),d.legendItem=g=i.text(e.labelFormat?hb(e.labelFormat,d):e.labelFormatter.call(d),w?f+n:-n,b.baseline,C).css(h(d.visible?r:t)).attr({align:w?"left":"right",zIndex:2}).add(d.legendGroup),(C?g:d.legendGroup).on("mouseover",function(){d.setState("hover");g.css(b.options.itemHoverStyle)}).on("mouseout",function(){g.css(d.visible?r:t);d.setState()}).on("click",function(a){var b=function(){d.setVisible()},a={browserEvent:a};d.firePointEvent?d.firePointEvent("legendItemClick",a,b):l(d,"legendItemClick",a,b)}),b.colorizeItem(d,d.visible),y&&B))d.checkbox=A("input",{type:"checkbox",checked:d.selected,defaultChecked:d.selected},e.itemCheckboxStyle,m.container),s(d.checkbox,"click",function(a){l(d,"checkboxClick",{checked:a.target.checked},function(){d.select()})});i=g.getBBox();q=d.legendItemWidth=e.itemWidth||f+n+i.width+v+(B?20:0),e=q;b.itemHeight=f=i.height;if(k&&b.itemX-j+e>(x||m.chartWidth-2*u-j))b.itemX=j,b.itemY+=o+b.lastLineHeight+p,b.lastLineHeight=0;b.maxItemWidth=c(b.maxItemWidth,e);b.lastItemY=o+b.itemY+p;b.lastLineHeight=c(f,b.lastLineHeight);d._legendItemPos=[b.itemX,b.itemY];k?(b.itemX+=e):(b.itemY+=o+f+p,b.lastLineHeight=f);b.offsetWidth=x||c((k?b.itemX-j-v:e)+u,b.offsetWidth)},render:function(){var c=this,m=c.chart,l=m.renderer,k=c.group,d,n,j,e,h=c.box,i=c.options,p=c.padding,o=i.borderWidth,q=i.backgroundColor;c.itemX=c.initialItemX;c.itemY=c.initialItemY;c.offsetWidth=0;c.lastItemY=0;if(!k)c.group=k=l.g("legend").attr({zIndex:7}).add(),c.contentGroup=l.g().attr({zIndex:1}).add(k),c.scrollGroup=l.g().add(c.contentGroup);c.renderTitle();d=[];b(m.series,function(b){var c=b.options;if(a(c.showInLegend,c.linkedTo===f?f:!1,!0))d=d.concat(b.legendItems||(c.legendType==="point"?b.data:b))});mc(d,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});i.reversed&&d.reverse();c.allItems=d;c.display=n=!!d.length;b(d,function(a){c.renderItem(a)});j=i.width||c.offsetWidth;e=c.lastItemY+c.lastLineHeight+c.titleHeight;e=c.handleOverflow(e);if(o||q){j+=p;e+=p;if(h){if(j>0&&e>0)h[h.isNew?"attr":"animate"](h.crisp(null,null,null,j,e)),h.isNew=!1}else c.box=h=l.rect(0,0,j,e,i.borderRadius,o||0).attr({stroke:i.borderColor,"stroke-width":o||0,fill:q||y}).add(k).shadow(i.shadow),h.isNew=!0;h[n?"show":"hide"]()}c.legendWidth=j;c.legendHeight=e;b(d,function(a){c.positionItem(a)});n&&k.align(g({width:j,height:e},i),!0,"spacingBox");m.isResizing||this.positionCheckboxes()},handleOverflow:function(f){var g=this,d=this.chart,h=d.renderer,e=this.options,b=e.y,b=d.spacingBox.height+(e.verticalAlign==="top"?-b:b)-this.padding,l=e.maxHeight,i=this.clipRect,k=e.navigation,m=a(k.animation,!0),j=k.arrowSize||12,c=this.nav;e.layout==="horizontal"&&(b/=2);l&&(b=n(b,l));if(f>b&&!e.useHTML){this.clipHeight=d=b-20-this.titleHeight;this.pageCount=bb(f/d);this.currentPage=a(this.currentPage,1);this.fullHeight=f;if(!i)i=g.clipRect=h.clipRect(0,0,9999,0),g.contentGroup.clip(i);i.attr({height:d});if(!c)this.nav=c=h.g().attr({zIndex:1}).add(this.group),this.up=h.symbol("triangle",0,0,j,j).on("click",function(){g.scroll(-1,m)}).add(c),this.pager=h.text("",15,10).css(k.style).add(c),this.down=h.symbol("triangle-down",0,0,j,j).on("click",function(){g.scroll(1,m)}).add(c);g.scroll(0);f=b}else if(c)i.attr({height:d.chartHeight}),c.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0;return f},scroll:function(j,e){var c=this.pageCount,a=this.currentPage+j,b=this.clipHeight,d=this.options.navigation,g=d.activeColor,h=d.inactiveColor,d=this.pager,i=this.padding;a>c&&(a=c);if(a>0)e!==f&&pb(e,this.chart),this.nav.attr({translateX:i,translateY:b+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:a===1?h:g}).css({cursor:a===1?"default":"pointer"}),d.attr({text:a+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:a===c?h:g}).css({cursor:a===c?"default":"pointer"}),b=-n(b*(a-1),this.fullHeight-b+i)+1,this.scrollGroup.animate({translateY:b}),d.attr({text:a+"/"+c}),this.currentPage=a,this.positionCheckboxes(b)}};/Trident\/7\.0/.test(S)&&Qb(Gb.prototype,"positionItem",function(c,d){var a=this,b=function(){c.call(a,d)};a.chart.renderer.forExport?b():setTimeout(b)});cc.prototype={init:function(d,i){var e,c=d.series;d.series=null;e=h(u,d);e.series=d.series=c;c=e.chart;this.margin=this.splashArray("margin",c);this.spacing=this.splashArray("spacing",c);var f=c.events;this.bounds={h:{},v:{}};this.callback=i;this.isResizing=0;this.options=e;this.axes=[];this.series=[];this.hasCartesianSeries=c.showAxes;var b=this,g;b.index=lb.length;lb.push(b);c.reflow!==!1&&s(b,"load",function(){b.initReflow()});if(f)for(g in f)s(b,g,f[g]);b.xAxis=[];b.yAxis=[];b.animation=I?!1:a(c.animation,!0);b.pointCount=0;b.counters=new lc;b.firstRender()},initSeries:function(b){var a=this.options.chart;(a=D[b.type||a.type||a.defaultSeriesType])||P(17,!0);a=new a;a.init(this,b);return a},addSeries:function(c,d,f){var e,b=this;c&&(d=a(d,!0),l(b,"addSeries",{options:c},function(){e=b.initSeries(c);b.isDirtyLegend=!0;b.linkSeries();d&&b.redraw(f)}));return e},addAxis:function(d,e,f,g){var b=e?"xAxis":"yAxis",c=this.options;new Fb(this,h(d,{index:this[b].length,isX:e}));c[b]=O(c[b]||{});c[b].push(d);a(f,!0)&&this.redraw(g)},isInsidePlot:function(a,b,c){var d=c?b:a,a=c?a:b;return d>=0&&d<=this.plotWidth&&a>=0&&a<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&b(this.axes,function(a){a.adjustTickAmount()});this.maxTicks=null},redraw:function(a){var e=this.axes,c=this.series,f=this.pointer,j=this.legend,k=this.isDirtyLegend,h,m,i=this.isDirtyBox,n=c.length,d=n,o=this.renderer,p=o.isHidden(),q=[];pb(a,this);p&&this.cloneRenderTo();for(this.layOutTitles();d--;)if(a=c[d],a.options.stacking&&(h=!0,a.isDirty)){m=!0;break}if(m)for(d=n;d--;)if(a=c[d],a.options.stacking)a.isDirty=!0;b(c,function(a){a.isDirty&&a.options.legendType==="point"&&(k=!0)});if(k&&j.options.enabled)j.render(),this.isDirtyLegend=!1;h&&this.getStacks();if(this.hasCartesianSeries){if(!this.isResizing)this.maxTicks=null,b(e,function(a){a.setScale()});this.adjustTickAmounts();this.getMargins();b(e,function(a){a.isDirty&&(i=!0)});b(e,function(a){if(a.isDirtyExtremes)a.isDirtyExtremes=!1,q.push(function(){l(a,"afterSetExtremes",g(a.eventArgs,a.getExtremes()));delete a.eventArgs});(i||h)&&a.redraw()})}i&&this.drawChartBox();b(c,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()});f&&f.reset&&f.reset(!0);o.draw();l(this,"redraw");p&&this.cloneRenderTo(!0);b(q,function(a){a.call()})},showLoading:function(d){var c=this.options,a=this.loadingDiv,b=c.loading;if(!a)this.loadingDiv=a=A(jb,{className:"highcharts-loading"},g(b.style,{zIndex:10,display:y}),this.container),this.loadingSpan=A("span",null,b.labelStyle,a);this.loadingSpan.innerHTML=d||c.lang.loading;if(!this.loadingShown)o(a,{opacity:0,display:"",left:this.plotLeft+"px",top:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),Pb(a,{opacity:b.style.opacity},{duration:b.showDuration||0}),this.loadingShown=!0},hideLoading:function(){var b=this.options,a=this.loadingDiv;a&&Pb(a,{opacity:0},{duration:b.loading.hideDuration||100,complete:function(){o(a,{display:y})}});this.loadingShown=!1},"get":function(e){for(var b=this.axes,c=this.series,d,a=0;a<b.length;a++)if(b[a].options.id===e)return b[a];for(a=0;a<c.length;a++)if(c[a].options.id===e)return c[a];for(a=0;a<c.length;a++){d=c[a].points||[];for(b=0;b<d.length;b++)if(d[b].id===e)return d[b]}return null},getAxes:function(){var d=this,a=this.options,c=a.xAxis=O(a.xAxis||{}),a=a.yAxis=O(a.yAxis||{});b(c,function(a,b){a.index=b;a.isX=!0});b(a,function(a,b){a.index=b});c=c.concat(a);b(c,function(a){new Fb(d,a)});d.adjustTickAmounts()},getSelectedPoints:function(){var a=[];b(this.series,function(b){a=a.concat(Yb(b.points||[],function(a){return a.selected}))});return a},getSelectedSeries:function(){return Yb(this.series,function(a){return a.selected})},getStacks:function(){var c=this;b(c.yAxis,function(a){if(a.stacks&&a.hasVisibleSeries)a.oldStacks=a.stacks});b(c.series,function(b){if(b.options.stacking&&(b.visible===!0||c.options.chart.ignoreHiddenSeries===!1))b.stackKey=b.type+a(b.options.stack,"")})},showResetZoom:function(){var b=this,c=u.lang,a=b.options.chart.resetZoomButton,d=a.theme,e=d.states,f=a.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=b.renderer.button(c.resetZoom,null,null,function(){b.zoomOut()},d,e&&e.hover).attr({align:a.position.align,title:c.resetZoomTitle}).add().align(a.position,!1,f)},zoomOut:function(){var a=this;l(a,"selection",{resetSelection:!0},function(){a.zoom()})},zoom:function(c){var e,g=this.pointer,f=!1,d;!c||c.resetSelection?b(this.axes,function(a){e=a.zoom()}):b(c.xAxis.concat(c.yAxis),function(a){var b=a.axis,c=b.isXAxis;if(g[c?"zoomX":"zoomY"]||g[c?"pinchX":"pinchY"])e=b.zoom(a.min,a.max),b.displayBtn&&(f=!0)});d=this.resetZoomButton;if(f&&!d)this.showResetZoom();else if(!f&&z(d))this.resetZoomButton=d.destroy();e&&this.redraw(a(this.options.chart.animation,c&&c.animation,this.pointCount<100))},pan:function(f,g){var a=this,d=a.hoverPoints,e;d&&b(d,function(a){a.setState()});b(g==="xy"?[1,0]:[1],function(d){var i=f[d?"chartX":"chartY"],b=a[d?"xAxis":"yAxis"][0],g=a[d?"mouseDownX":"mouseDownY"],j=(b.pointRange||0)/2,h=b.getExtremes(),k=b.toValue(g-i,!0)+j,g=b.toValue(g+a[d?"plotWidth":"plotHeight"]-i,!0)-j;b.series.length&&k>n(h.dataMin,h.min)&&g<c(h.dataMax,h.max)&&(b.setExtremes(k,g,!1,!1,{trigger:"pan"}),e=!0);a[d?"mouseDownX":"mouseDownY"]=i});e&&a.redraw(!1);o(a.container,{cursor:"move"})},setTitle:function(d,e){var g,a=this,c=a.options,f;f=c.title=h(c.title,d);g=c.subtitle=h(c.subtitle,e),c=g;b([["title",d,f],["subtitle",e,c]],function(b){var c=b[0],d=a[c],e=b[1],b=b[2];d&&e&&(a[c]=d=d.destroy());b&&b.text&&!d&&(a[c]=a.renderer.text(b.text,0,0,b.useHTML).attr({align:b.align,"class":"highcharts-"+c,zIndex:b.zIndex||4}).css(b.style).add())});a.layOutTitles()},layOutTitles:function(){var a=0,d=this.title,e=this.subtitle,b=this.options,c=b.title,b=b.subtitle,f=this.spacingBox.width-44;if(d&&(d.css({width:(c.width||f)+"px"}).align(g({y:15},c),!1,"spacingBox"),!c.floating&&!c.verticalAlign))a=d.getBBox().height,a>=18&&a<=25&&(a=15);e&&(e.css({width:(b.width||f)+"px"}).align(g({y:a+c.margin},b),!1,"spacingBox"),!b.floating&&!b.verticalAlign&&(a=bb(a+e.getBBox().height)));this.titleOffset=a},getChartSize:function(){var b=this.options.chart,d=this.renderToClone||this.renderTo;this.containerWidth=Lb(d,"width");this.containerHeight=Lb(d,"height");this.chartWidth=c(0,b.width||this.containerWidth||600);this.chartHeight=c(0,a(b.height,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(c){var a=this.renderToClone,b=this.container;c?a&&(this.renderTo.appendChild(b),wb(a),delete this.renderToClone):(b&&b.parentNode===this.renderTo&&this.renderTo.removeChild(b),this.renderToClone=a=this.renderTo.cloneNode(0),o(a,{position:"absolute",top:"-9999px",display:"block"}),k.body.appendChild(a),b&&a.appendChild(b))},getContainer:function(){var a,c=this.options.chart,b,d,e;this.renderTo=a=c.renderTo;e="highcharts-"+dc++;if(J(a))this.renderTo=a=k.getElementById(a);a||P(13,!0);b=j(i(a,"data-highcharts-chart"));!isNaN(b)&&lb[b]&&lb[b].destroy();i(a,"data-highcharts-chart",this.index);a.innerHTML="";a.offsetWidth||this.cloneRenderTo();this.getChartSize();b=this.chartWidth;d=this.chartHeight;this.container=a=A(jb,{className:"highcharts-container"+(c.className?" "+c.className:""),id:e},g({position:"relative",overflow:"hidden",width:b+"px",height:d+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},c.style),this.renderToClone||a);this._cursor=a.style.cursor;this.renderer=c.forExport?new eb(a,b,d,!0):new yb(a,b,d);I&&this.renderer.create(this,a,b,d)},getMargins:function(){var g=this.spacing,h,i=this.legend,e=this.margin,f=this.options.legend,j=a(f.margin,10),k=f.x,l=f.y,m=f.align,n=f.verticalAlign,o=this.titleOffset;this.resetMargins();h=this.axisOffset;if(o&&!d(e[0]))this.plotTop=c(this.plotTop,o+this.options.title.margin+g[0]);if(i.display&&!f.floating)if(m==="right"){if(!d(e[1]))this.marginRight=c(this.marginRight,i.legendWidth-k+j+g[1])}else if(m==="left"){if(!d(e[3]))this.plotLeft=c(this.plotLeft,i.legendWidth+k+j+g[3])}else if(n==="top"){if(!d(e[0]))this.plotTop=c(this.plotTop,i.legendHeight+l+j+g[0])}else if(n==="bottom"&&!d(e[2]))this.marginBottom=c(this.marginBottom,i.legendHeight-l+j+g[2]);this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin);this.extraTopMargin&&(this.plotTop+=this.extraTopMargin);this.hasCartesianSeries&&b(this.axes,function(a){a.getOffset()});d(e[3])||(this.plotLeft+=h[3]);d(e[0])||(this.plotTop+=h[0]);d(e[2])||(this.marginBottom+=h[2]);d(e[1])||(this.marginRight+=h[1]);this.setChartSize()},initReflow:function(){function b(b){var f=c.width||Lb(d,"width"),g=c.height||Lb(d,"height"),b=b?b.target:t;if(!a.hasUserSize&&f&&g&&(b===t||b===k)){if(f!==a.containerWidth||g!==a.containerHeight)clearTimeout(e),a.reflowTimeout=e=setTimeout(function(){if(a.container)a.setSize(f,g,!1),a.hasUserSize=null},100);a.containerWidth=f;a.containerHeight=g}}var a=this,c=a.options.chart,d=a.renderTo,e;a.reflow=b;s(t,"resize",b);s(a,"destroy",function(){F(t,"resize",b)})},setSize:function(j,k,g){var a=this,f,h,i;a.isResizing+=1;i=function(){a&&l(a,"endResize",null,function(){a.isResizing-=1})};pb(g,a);a.oldChartHeight=a.chartHeight;a.oldChartWidth=a.chartWidth;if(d(j))a.chartWidth=f=c(0,e(j)),a.hasUserSize=!!f;if(d(k))a.chartHeight=h=c(0,e(k));o(a.container,{width:f+"px",height:h+"px"});a.setChartSize(!0);a.renderer.setSize(f,h,g);a.maxTicks=null;b(a.axes,function(a){a.isDirty=!0;a.setScale()});b(a.series,function(a){a.isDirty=!0});a.isDirtyLegend=!0;a.isDirtyBox=!0;a.getMargins();a.redraw(g);a.oldChartHeight=null;l(a,"resize");kb===!1?i():setTimeout(i,kb&&kb.duration||500)},setChartSize:function(n){var f=this.inverted,g=this.renderer,a=this.chartWidth,m=this.chartHeight,o=this.options.chart,d=this.spacing,h=this.clipOffset,k,l,i,j;this.plotLeft=k=e(this.plotLeft);this.plotTop=l=e(this.plotTop);this.plotWidth=i=c(0,e(a-k-this.marginRight));this.plotHeight=j=c(0,e(m-l-this.marginBottom));this.plotSizeX=f?j:i;this.plotSizeY=f?i:j;this.plotBorderWidth=o.plotBorderWidth||0;this.spacingBox=g.spacingBox={x:d[3],y:d[0],width:a-d[3]-d[1],height:m-d[0]-d[2]};this.plotBox=g.plotBox={x:k,y:l,width:i,height:j};a=2*v(this.plotBorderWidth/2);f=bb(c(a,h[3])/2);g=bb(c(a,h[0])/2);this.clipBox={x:f,y:g,width:v(this.plotSizeX-c(a,h[1])/2-f),height:v(this.plotSizeY-c(a,h[2])/2-g)};n||b(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()})},resetMargins:function(){var b=this.spacing,c=this.margin;this.plotTop=a(c[0],b[0]);this.marginRight=a(c[1],b[1]);this.marginBottom=a(c[2],b[2]);this.plotLeft=a(c[3],b[3]);this.axisOffset=[0,0,0,0];this.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,d=this.renderer,m=this.chartWidth,n=this.chartHeight,b=this.chartBackground,o=this.plotBackground,j=this.plotBorder,p=this.plotBGImage,e=a.borderWidth||0,q=a.backgroundColor,r=a.plotBackgroundColor,s=a.plotBackgroundImage,k=a.plotBorderWidth||0,c,h=this.plotLeft,g=this.plotTop,f=this.plotWidth,i=this.plotHeight,t=this.plotBox,u=this.clipRect,l=this.clipBox;c=e+(a.shadow?8:0);if(e||q)if(b)b.animate(b.crisp(null,null,null,m-c,n-c));else{b={fill:q||y};if(e)b.stroke=a.borderColor,b["stroke-width"]=e;this.chartBackground=d.rect(c/2,c/2,m-c,n-c,a.borderRadius,e).attr(b).add().shadow(a.shadow)}if(r)o?o.animate(t):(this.plotBackground=d.rect(h,g,f,i,0).attr({fill:r}).add().shadow(a.plotShadow));if(s)p?p.animate(t):(this.plotBGImage=d.image(s,h,g,f,i).add());u?u.animate({width:l.width,height:l.height}):(this.clipRect=d.clipRect(l));if(k)j?j.animate(j.crisp(null,h,g,f,i)):(this.plotBorder=d.rect(h,g,f,i,0,-k).attr({stroke:a.plotBorderColor,"stroke-width":k,zIndex:1}).add());this.isDirtyBox=!1},propFromSeries:function(){var c=this,e=c.options.chart,a,f=c.options.series,g,d;b(["inverted","angular","polar"],function(b){a=D[e.type||e.defaultSeriesType];d=c[b]||e[b]||a&&a.prototype[b];for(g=f&&f.length;!d&&g--;)(a=D[f[g].type])&&a.prototype[b]&&(d=!0);c[b]=d})},linkSeries:function(){var a=this,c=a.series;b(c,function(a){a.linkedSeries.length=0});b(c,function(c){var b=c.options.linkedTo;if(J(b)&&(b=b===":previous"?a.series[c.index-1]:a.get(b)))b.linkedSeries.push(c),c.linkedParent=b})},render:function(){var a=this,d=a.axes,e=a.renderer,f=a.options,h=f.labels,c=f.credits,i;a.setTitle();a.legend=new Gb(a,f.legend);a.getStacks();b(d,function(a){a.setScale()});a.getMargins();a.maxTicks=null;b(d,function(a){a.setTickPositions(!0);a.setMaxTicks()});a.adjustTickAmounts();a.getMargins();a.drawChartBox();a.hasCartesianSeries&&b(d,function(a){a.render()});if(!a.seriesGroup)a.seriesGroup=e.g("series-group").attr({zIndex:3}).add();b(a.series,function(a){a.translate();a.setTooltipPoints();a.render()});h.items&&b(h.items,function(c){var b=g(h.style,c.style),d=j(b.left)+a.plotLeft,f=j(b.top)+a.plotTop+12;delete b.left;delete b.top;e.text(c.html,d,f).attr({zIndex:2}).css(b).add()});if(c.enabled&&!a.credits)i=c.href,a.credits=e.text(c.text,0,0).on("click",function(){if(i)location.href=i}).attr({align:c.position.align,zIndex:8}).css(c.style).add().align(c.position);a.hasRendered=!0},destroy:function(){var a=this,e=a.axes,g=a.series,d=a.container,c,h=d&&d.parentNode;l(a,"destroy");lb[a.index]=f;a.renderTo.removeAttribute("data-highcharts-chart");F(a);for(c=e.length;c--;)e[c]=e[c].destroy();for(c=g.length;c--;)g[c]=g[c].destroy();b("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(c){var b=a[c];b&&b.destroy&&(a[c]=b.destroy())});if(d)d.innerHTML="",F(d),h&&wb(d);for(c in a)delete a[c]},isReadyToRender:function(){var a=this;return!C&&t==t.top&&k.readyState!=="complete"||I&&!t.canvg?(I?uc.push(function(){a.firstRender()},a.options.global.canvasToolsURL):k.attachEvent("onreadystatechange",function(){k.detachEvent("onreadystatechange",a.firstRender);k.readyState==="complete"&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,c=a.options,d=a.callback;if(a.isReadyToRender())a.getContainer(),l(a,"init"),a.resetMargins(),a.setChartSize(),a.propFromSeries(),a.getAxes(),b(c.series||[],function(b){a.initSeries(b)}),a.linkSeries(),l(a,"beforeRender"),a.pointer=new bc(a,c),a.render(),a.renderer.draw(),d&&d.apply(a,[a]),b(a.callbacks,function(b){b.apply(a,[a])}),a.cloneRenderTo(!0),l(a,"load")},splashArray:function(c,d){var b=d[c],b=z(b)?b:[b,b,b,b];return[a(d[c+"Top"],b[0]),a(d[c+"Right"],b[1]),a(d[c+"Bottom"],b[2]),a(d[c+"Left"],b[3])]}};cc.prototype.callbacks=[];var sb=function(){};sb.prototype={init:function(a,b,c){this.series=a;this.applyOptions(b,c);this.pointAttr={};if(a.options.colorByPoint&&(b=a.options.colors||a.chart.options.colors,this.color=this.color||b[a.colorCounter++],a.colorCounter===b.length))a.colorCounter=0;a.chart.pointCount++;return this},applyOptions:function(a,c){var b=this.series,d=b.pointValKey,a=sb.prototype.optionsToObject.call(this,a);g(this,a);this.options=this.options?g(this.options,a):a;if(d)this.y=this[d];if(this.x===f&&b)this.x=c===f?b.autoIncrement():c;return this},optionsToObject:function(a){var b={},c=this.series,d=c.pointArrayMap||["y"],e=d.length,f=0,g=0;if(typeof a==="number"||a===null)b[d[0]]=a;else if(mb(a)){if(a.length>e){c=typeof a[0];if(c==="string")b.name=a[0];else if(c==="number")b.x=a[0];f++}for(;g<e;)b[d[g++]]=a[f++]}else if(typeof a==="object"){b=a;if(a.dataLabels)c._hasPointLabels=!0;if(a.marker)c._hasPointMarkers=!0}return b},destroy:function(){var a=this.series.chart,b=a.hoverPoints,c;a.pointCount--;if(b&&(this.setState(),L(b,this),!b.length))a.hoverPoints=null;this===a.hoverPoint&&this.onMouseOut();if(this.graphic||this.dataLabel)F(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(c in this)this[c]=null},destroyElements:function(){for(var c="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),a,b=6;b--;)a=c[b],this[a]&&(this[a]=this[a].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(e,f){var c=this,d=c.series,g=d.chart,e=a(e,!c.selected);c.firePointEvent(e?"select":"unselect",{accumulate:f},function(){c.selected=c.options.selected=e;d.options.data[U(c,d.data)]=c.options;c.setState(e&&"select");f||b(g.getSelectedPoints(),function(a){if(a.selected&&a!==c)a.selected=a.options.selected=!1,d.options.data[U(a,d.data)]=a.options,a.setState(""),a.firePointEvent("unselect")})})},onMouseOver:function(e){var d=this.series,a=d.chart,b=a.tooltip,c=a.hoverPoint;c&&c!==this&&c.onMouseOut();this.firePointEvent("mouseOver");b&&(!b.shared||d.noSharedTooltip)&&b.refresh(this,e);this.setState("hover");a.hoverPoint=this},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;if(!b||U(this,b)===-1)this.firePointEvent("mouseOut"),this.setState(),a.hoverPoint=null},tooltipFormatter:function(c){var e=this.series,d=e.tooltipOptions,h=a(d.valueDecimals,""),f=d.valuePrefix||"",g=d.valueSuffix||"";b(e.pointArrayMap||["y"],function(a){a="{point."+a;if(f||g)c=c.replace(a+"}",f+a+"}"+g);c=c.replace(a+"}",a+":,."+h+"f}")});return hb(c,{point:this,series:this.series})},update:function(d,h,j){var b=this,c=b.series,f=b.graphic,e,k=c.data,g=c.chart,i=c.options,h=a(h,!0);b.firePointEvent("update",{options:d},function(){b.applyOptions(d);if(z(d)&&(c.getAttribs(),f))d&&d.marker&&d.marker.symbol?(b.graphic=f.destroy()):f.attr(b.pointAttr[b.state||""]);e=U(b,k);c.xData[e]=b.x;c.yData[e]=c.toYData?c.toYData(b):b.y;c.zData[e]=b.z;i.data[e]=b.options;c.isDirty=c.isDirtyData=!0;if(!c.fixedBox&&c.hasCartesianSeries)g.isDirtyBox=!0;i.legendType==="point"&&g.legend.destroyItem(b);h&&g.redraw(j)})},remove:function(e,i){var d=this,b=d.series,g=b.points,h=b.chart,c,f=b.data;pb(i,h);e=a(e,!0);d.firePointEvent("remove",null,function(){c=U(d,f);f.length===g.length&&g.splice(c,1);f.splice(c,1);b.options.data.splice(c,1);b.xData.splice(c,1);b.yData.splice(c,1);b.zData.splice(c,1);d.destroy();b.isDirty=!0;b.isDirtyData=!0;e&&h.redraw()})},firePointEvent:function(a,e,c){var b=this,d=this.series.options;(d.point.events[a]||b.options&&b.options.events&&b.options.events[a])&&this.importEvents();a==="click"&&d.allowPointSelect&&(c=function(a){b.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});l(this,a,e,c)},importEvents:function(){if(!this.hasImportedEvents){var a=h(this.series.options.point,this.options).events,b;this.events=a;for(b in a)s(this,b,a[b]);this.hasImportedEvents=!0}},setState:function(a){var i=this.plotX,j=this.plotY,d=this.series,b=d.options.states,f=E[d.type].marker&&d.options.marker,m=f&&!f.enabled,g=f&&f.states[a],n=g&&g.enabled===!1,c=d.stateMarkerGraphic,e=this.marker||{},l=d.chart,k=this.pointAttr,a=a||"";if(!(a===this.state||this.selected&&a!=="select"||b[a]&&b[a].enabled===!1||a&&(n||m&&!g.enabled)||a&&e.states&&e.states[a]&&e.states[a].enabled===!1)){if(this.graphic)b=f&&this.graphic.symbolName&&k[a].r,this.graphic.attr(h(k[a],b?{x:i-b,y:j-b,width:2*b,height:2*b}:{}));else{if(a&&g)b=g.radius,e=e.symbol||d.symbol,c&&c.currentSymbol!==e&&(c=c.destroy()),c?c.attr({x:i-b,y:j-b}):(d.stateMarkerGraphic=c=l.renderer.symbol(e,i-b,j-b,2*b,2*b).attr(k[a]).add(d.markerGroup),c.currentSymbol=e);c&&c[a&&l.isInsidePlot(i,j)?"show":"hide"]()}this.state=a}}};var w=function(){};w.prototype={isCartesian:!0,type:"line",pointClass:sb,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},colorCounter:0,init:function(e,c){var h,d,f=e.series;this.chart=e;this.options=c=this.setOptions(c);this.linkedSeries=[];this.bindAxes();g(this,{name:c.name,state:"",pointAttr:{},visible:c.visible!==!1,selected:c.selected===!0});if(I)c.animation=!1;d=c.events;for(h in d)s(this,h,d[h]);if(d&&d.click||c.point&&c.point.events&&c.point.events.click||c.allowPointSelect)e.runTrackerClick=!0;this.getColor();this.getSymbol();this.setData(c.data,!1);if(this.isCartesian)e.hasCartesianSeries=!0;f.push(this);this._i=f.length-1;mc(f,function(b,c){return a(b.options.index,b._i)-a(c.options.index,b._i)});b(f,function(a,b){a.index=b;a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a=this,c=a.options,e=a.chart,d;a.isCartesian&&b(["xAxis","yAxis"],function(g){b(e[g],function(b){d=b.options;if(c[g]===d.index||c[g]!==f&&c[g]===d.id||c[g]===f&&d.index===0)b.series.push(a),a[g]=b,b.isDirty=!0});a[g]||P(18,!0)})},autoIncrement:function(){var c=this.options,b=this.xIncrement,b=a(b,c.pointStart,0);this.pointInterval=a(this.pointInterval,c.pointInterval,1);this.xIncrement=b+this.pointInterval;return b},getSegments:function(){var c=-1,d=[],e,a=this.points,f=a.length;if(f)if(this.options.connectNulls){for(e=f;e--;)a[e].y===null&&a.splice(e,1);a.length&&(d=[a])}else b(a,function(e,b){e.y===null?(b>c+1&&d.push(a.slice(c+1,b)),c=b):b===f-1&&d.push(a.slice(c+1,b+1))});this.segments=d},setOptions:function(a){var b=this.chart.options,c=b.plotOptions,d=c[this.type];this.userOptions=a;a=h(d,c.series,a);this.tooltipOptions=h(b.tooltip,a.tooltip);d.marker===null&&delete a.marker;return a},getColor:function(){var a=this.options,c=this.userOptions,f=this.chart.options.colors,e=this.chart.counters,b;b=a.color||E[this.type].color;if(!b&&!a.colorByPoint)d(c._colorIndex)?(a=c._colorIndex):(c._colorIndex=e.color,a=e.color++),b=f[a];this.color=b;e.wrapColor(f.length)},getSymbol:function(){var a=this.userOptions,c=this.options.marker,b=this.chart,e=b.options.symbols,b=b.counters;this.symbol=c.symbol;if(!this.symbol)d(a._symbolIndex)?(a=a._symbolIndex):(a._symbolIndex=b.symbol,a=b.symbol++),this.symbol=e[a];if(/^url/.test(this.symbol))c.radius=0;b.wrapSymbol(e.length)},drawLegendSymbol:function(b){var a=this.options,f=a.marker,c=b.options,d;d=c.symbolWidth;var g=this.chart.renderer,h=this.legendGroup,b=b.baseline-e(g.fontMetrics(c.itemStyle.fontSize).b*.3);if(a.lineWidth){c={"stroke-width":a.lineWidth};if(a.dashStyle)c.dashstyle=a.dashStyle;this.legendLine=g.path(["M",0,b,"L",d,b]).attr(c).add(h)}if(f&&f.enabled)a=f.radius,this.legendSymbol=d=g.symbol(this.symbol,d/2-a,b-a,2*a,2*a).add(h),d.isMarker=!0},addPoint:function(i,h,j,d){var k=this.options,g=this.data,e=this.graph,c=this.area,l=this.chart,f=this.xData,m=this.yData,n=this.zData,o=this.xAxis&&this.xAxis.names,r=e&&e.shift||0,p=k.data,q;pb(d,l);j&&b([e,c,this.graphNeg,this.areaNeg],function(a){if(a)a.shift=r+1});if(c)c.isArea=!0;h=a(h,!0);d={series:this};this.pointClass.prototype.applyOptions.apply(d,[i]);e=d.x;c=f.length;if(this.requireSorting&&e<f[c-1])for(q=!0;c&&f[c-1]>e;)c--;f.splice(c,0,e);m.splice(c,0,this.toYData?this.toYData(d):d.y);n.splice(c,0,d.z);if(o)o[e]=d.name;p.splice(c,0,i);q&&(this.data.splice(c,0,null),this.processData());k.legendType==="point"&&this.generatePoints();j&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),f.shift(),m.shift(),n.shift(),p.shift()));this.isDirtyData=this.isDirty=!0;h&&(this.getAttribs(),l.redraw())},setData:function(d,p){var j=this.points,c=this.options,n=this.chart,l=null,e=this.xAxis,g=e&&e.names,b;this.xIncrement=null;this.pointRange=e&&e.categories?1:c.pointRange;this.colorCounter=0;var k=[],h=[],o=[],i=d?d.length:[];b=a(c.turboThreshold,1e3);var m=this.pointArrayMap,m=m&&m.length,q=!!this.toYData;if(b&&i>b){for(b=0;l===null&&b<i;)l=d[b],b++;if(W(l)){g=a(c.pointStart,0);c=a(c.pointInterval,1);for(b=0;b<i;b++)k[b]=g,h[b]=d[b],g+=c;this.xIncrement=g}else if(mb(l))if(m)for(b=0;b<i;b++)c=d[b],k[b]=c[0],h[b]=c.slice(1,m+1);else for(b=0;b<i;b++)c=d[b],k[b]=c[0],h[b]=c[1];else P(12)}else for(b=0;b<i;b++)if(d[b]!==f&&(c={series:this},this.pointClass.prototype.applyOptions.apply(c,[d[b]]),k[b]=c.x,h[b]=q?this.toYData(c):c.y,o[b]=c.z,g&&c.name))g[c.x]=c.name;J(h[0])&&P(14,!0);this.data=[];this.options.data=d;this.xData=k;this.yData=h;this.zData=o;for(b=j&&j.length||0;b--;)j[b]&&j[b].destroy&&j[b].destroy();if(e)e.minRange=e.userMinRange;this.isDirty=this.isDirtyData=n.isDirtyBox=!0;a(p,!0)&&n.redraw(!1)},remove:function(d,e){var b=this,c=b.chart,d=a(d,!0);if(!b.isRemoving)b.isRemoving=!0,l(b,"remove",null,function(){b.destroy();c.isDirtyLegend=c.isDirtyBox=!0;c.linkSeries();d&&c.redraw(e)});b.isRemoving=!1},processData:function(e){var b=this.xData,h=this.yData,c=b.length,d;d=0;var i,g,a=this.xAxis,j=this.options,k=j.cropThreshold,l=this.isCartesian;if(l&&!this.isDirty&&!a.isDirty&&!this.yAxis.isDirty&&!e)return!1;if(l&&this.sorted&&(!k||c>k||this.forceCrop))if(e=a.min,a=a.max,b[c-1]<e||b[0]>a)b=[],h=[];else if(b[0]<e||b[c-1]>a)d=this.cropData(this.xData,this.yData,e,a),b=d.xData,h=d.yData,d=d.start,i=!0;for(a=b.length-1;a>=0;a--)c=b[a]-b[a-1],c>0&&(g===f||c<g)?(g=c):c<0&&this.requireSorting&&P(15);this.cropped=i;this.cropStart=d;this.processedXData=b;this.processedYData=h;if(j.pointRange===null)this.pointRange=g||1;this.closestPointRange=g},cropData:function(d,i,j,k){for(var g=d.length,e=0,f=g,h=a(this.cropShoulder,1),b=0;b<g;b++)if(d[b]>=j){e=c(0,b-h);break}for(;b<g;b++)if(d[b]>k){f=b+h;break}return{xData:d.slice(e,f),yData:i.slice(e,f),start:e,end:f}},generatePoints:function(){var e=this.options.data,b=this.data,k,g=this.processedXData,n=this.processedYData,l=this.pointClass,h=g.length,m=this.cropStart||0,c,d=this.hasGroupedData,i,j=[],a;if(!b&&!d)b=[],b.length=e.length,b=this.data=b;for(a=0;a<h;a++)c=m+a,d?(j[a]=(new l).init(this,[g[a]].concat(O(n[a])))):(b[c]?(i=b[c]):e[c]!==f&&(b[c]=i=(new l).init(this,e[c],g[a])),j[a]=i);if(b&&(h!==(k=b.length)||d))for(a=0;a<k;a++)if(a===m&&!d&&(a+=h),b[a])b[a].destroyElements(),b[a].plotX=f;this.data=b;this.points=j},setStackedPoints:function(){if(this.options.stacking&&!(this.visible!==!0&&this.chart.options.chart.ignoreHiddenSeries!==!1)){for(var q=this.processedXData,l=this.processedYData,m=[],r=l.length,f=this.options,s=f.threshold,t=f.stack,f=f.stacking,j=this.stackKey,n="-"+j,o=this.negStacks,g=this.yAxis,d=g.stacks,k=g.oldStacks,e,a,b,h,i=0;i<r;i++){b=q[i];h=l[i];a=(e=o&&h<s)?n:j;d[a]||(d[a]={});if(!d[a][b])k[a]&&k[a][b]?(d[a][b]=k[a][b],d[a][b].total=null):(d[a][b]=new oc(g,g.options.stackLabels,e,b,t,f));a=d[a][b];a.points[this.index]=[a.cum||0];f==="percent"?(e=e?j:n,o&&d[e]&&d[e][b]?(e=d[e][b],a.total=e.total=c(e.total,a.total)+p(h)||0):(a.total+=p(h)||0)):(a.total+=h||0);a.cum=(a.cum||0)+(h||0);a.points[this.index].push(a.cum);m[i]=a.cum}if(f==="percent")g.usePercentage=!0;this.stackedYData=m;g.oldStacks={}}},setPercentStacks:function(){var a=this,c=a.stackKey,d=a.yAxis.stacks;b([c,"-"+c],function(f){for(var g,e=a.xData.length,b,c;e--;)if(b=a.xData[e],g=(c=d[f]&&d[f][b])&&c.points[a.index],b=g)c=c.total?100/c.total:0,b[0]=N(b[0]*c),b[1]=N(b[1]*c),a.stackedYData[e]=b[1]})},getExtremes:function(){for(var l=this.yAxis,h=this.processedXData,j=this.stackedYData||this.processedYData,m=j.length,g=[],k=0,i=this.xAxis.getExtremes(),n=i.min,i=i.max,c,e,b,d=0;d<m;d++)if(e=h[d],b=j[d],c=b!==null&&b!==f&&(!l.isLog||b.length||b>0),e=this.getExtremesFromAll||this.cropped||(h[d+1]||e)>=n&&(h[d-1]||e)<=i,c&&e)if(c=b.length)for(;c--;)b[c]!==null&&(g[k++]=b[c]);else g[k++]=b;this.dataMin=a(void 0,nb(g));this.dataMax=a(void 0,Z(g))},translate:function(){this.processedXData||this.processData();this.generatePoints();for(var h=this.options,o=h.stacking,k=this.xAxis,l=k.categories,i=this.yAxis,p=this.points,q=p.length,r=!!this.modifyValue,m=h.pointPlacement,s=m==="between"||W(m),n=h.threshold,h=0;h<q;h++){var b=p[h],j=b.x,c=b.y,g=b.low,e=i.stacks[(this.negStacks&&c<n?"-":"")+this.stackKey];if(i.isLog&&c<=0)b.y=c=null;b.plotX=k.translate(j,0,0,0,1,m,this.type==="flags");if(o&&this.visible&&e&&e[j])e=e[j],c=e.points[this.index],g=c[0],c=c[1],g===0&&(g=a(n,i.min)),i.isLog&&g<=0&&(g=null),b.total=b.stackTotal=e.total,b.percentage=o==="percent"&&b.y/e.total*100,b.stackY=c,e.setOffset(this.pointXOffset||0,this.barW||0);b.yBottom=d(g)?i.translate(g,0,1,0,1):null;r&&(c=this.modifyValue(c,b));b.plotY=typeof c==="number"&&c!==Infinity?i.translate(c,0,1,0,1):f;b.clientX=s?k.translate(j,0,0,0,1):b.plotX;b.negative=b.y<(n||0);b.category=l&&l[b.x]!==f?l[b.x]:b.x}this.getSegments()},setTooltipPoints:function(j){var d=[],e,h,a=this.xAxis,l=a&&a.getExtremes(),k=a?a.tooltipLen||a.len:this.chart.plotSizeX,i,g,m=[];if(this.options.enableMouseTracking!==!1){if(j)this.tooltipPoints=null;b(this.segments||this.points,function(a){d=d.concat(a)});a&&a.reversed&&(d=d.reverse());this.orderTooltipPoints&&this.orderTooltipPoints(d);j=d.length;for(g=0;g<j;g++)if(a=d[g],e=a.x,e>=l.min&&e<=l.max){i=d[g+1];e=h===f?0:h+1;for(h=d[g+1]?n(c(0,v((a.clientX+(i?i.wrappedClientX||i.clientX:k))/2)),k):k;e>=0&&e<=h;)m[e++]=a}this.tooltipPoints=m}},tooltipHeaderFormatter:function(e){var a=this.tooltipOptions,c=a.xDateFormat,f=a.dateTimeLabelFormats,b=this.xAxis,g=b&&b.options.type==="datetime",a=a.headerFormat,b=b&&b.closestPointRange,d;if(g&&!c)if(b){for(d in m)if(m[d]>=b){c=f[d];break}}else c=f.day;g&&c&&W(e.key)&&(a=a.replace("{point.key}","{point.key:"+c+"}"));return hb(a,{point:e,series:this})},onMouseOver:function(){var b=this.chart,a=b.hoverSeries;a&&a!==this&&a.onMouseOut();this.options.events.mouseOver&&l(this,"mouseOver");this.setState("hover");b.hoverSeries=this},onMouseOut:function(){var c=this.options,a=this.chart,b=a.tooltip,d=a.hoverPoint;d&&d.onMouseOut();this&&c.events.mouseOut&&l(this,"mouseOut");b&&!c.stickyTracking&&(!b.shared||this.noSharedTooltip)&&b.hide();this.setState();a.hoverSeries=null},animate:function(e){var c=this,a=c.chart,f=a.renderer,b;b=c.options.animation;var i=a.clipBox,h=a.inverted,d;if(b&&!z(b))b=E[c.type].animation;d="_sharedClip"+b.duration+b.easing;if(e)e=a[d],b=a[d+"m"],e||(a[d]=e=f.clipRect(g(i,{width:0})),a[d+"m"]=b=f.clipRect(-99,h?-a.plotLeft:-a.plotTop,99,h?a.chartWidth:a.chartHeight)),c.group.clip(e),c.markerGroup.clip(b),c.sharedClipKey=d;else{if(e=a[d])e.animate({width:a.plotSizeX},b),a[d+"m"].animate({width:a.plotSizeX+99},b);c.animate=null;c.animationTimeout=setTimeout(function(){c.afterAnimate()},b.duration)}},afterAnimate:function(){var a=this.chart,b=this.sharedClipKey,c=this.group;c&&this.options.clip!==!1&&(c.clip(a.clipRect),this.markerGroup.clip());setTimeout(function(){b&&a[b]&&(a[b]=a[b].destroy(),a[b+"m"]=a[b+"m"].destroy())},100)},drawPoints:function(){var j,o=this.points,l=this.chart,k,h,m,b,c,d,p,i,q=this.options.marker,n,r=this.markerGroup;if(q.enabled||this._hasPointMarkers)for(m=o.length;m--;)if(b=o[m],k=v(b.plotX),h=b.plotY,i=b.graphic,d=b.marker||{},j=q.enabled&&d.enabled===f||d.enabled,n=l.isInsidePlot(e(k),h,l.inverted),j&&h!==f&&!isNaN(h)&&b.y!==null){if(j=b.pointAttr[b.selected?"select":""],c=j.r,d=a(d.symbol,this.symbol),p=d.indexOf("url")===0,i)i.attr({visibility:n?C?"inherit":"visible":"hidden"}).animate(g({x:k-c,y:h-c},i.symbolName?{width:2*c,height:2*c}:{}));else if(n&&(c>0||p))b.graphic=l.renderer.symbol(d,k-c,h-c,2*c,2*c).attr(j).add(r)}else if(i)b.graphic=i.destroy()},convertAttribs:function(c,d,e,f){var g=this.pointAttrToOptions,b,h,i={},c=c||{},d=d||{},e=e||{},f=f||{};for(b in g)h=g[b],i[b]=a(c[h],d[b],e[b],f[b]);return i},getAttribs:function(){var e=this,m=e.options,c=E[e.type].marker?m.marker:m,k=c.states,h=k.hover,l,n=e.color,a={stroke:n,fill:n},o=e.points||[],i=[],j,p=e.pointAttrToOptions,q=m.negativeColor,s=c.lineColor,r;m.marker?(h.radius=h.radius||c.radius+2,h.lineWidth=h.lineWidth||c.lineWidth+1):(h.color=h.color||V(h.color||n).brighten(h.brightness).get());i[""]=e.convertAttribs(c,a);b(["hover","select"],function(a){i[a]=e.convertAttribs(k[a],i[""])});e.pointAttr=i;for(n=o.length;n--;){a=o[n];if((c=a.options&&a.options.marker||a.options)&&c.enabled===!1)c.radius=0;if(a.negative&&q)a.color=a.fillColor=q;l=m.colorByPoint||a.color;if(a.options)for(r in p)d(c[p[r]])&&(l=!0);if(l){c=c||{};j=[];k=c.states||{};l=k.hover=k.hover||{};if(!m.marker)l.color=V(l.color||a.color).brighten(l.brightness||h.brightness).get();j[""]=e.convertAttribs(g({color:a.color,fillColor:a.color,lineColor:s===null?a.color:f},c),i[""]);j.hover=e.convertAttribs(k.hover,i.hover,j[""]);j.select=e.convertAttribs(k.select,i.select,j[""])}else j=i;a.pointAttr=j}},update:function(b,j){var d=this.chart,e=this.type,i=D[e].prototype,c,b=h(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},b);this.remove(!1);for(c in i)i.hasOwnProperty(c)&&(this[c]=f);g(this,D[b.type||e].prototype);this.init(d,b);a(j,!0)&&d.redraw(!1)},destroy:function(){var a=this,d=a.chart,j=/AppleWebKit\/533/.test(S),g,e,h=a.data||[],f,i,c;l(a,"destroy");F(a);b(["xAxis","yAxis"],function(b){if(c=a[b])L(c.series,a),c.isDirty=c.forceRedraw=!0,c.stacks={}});a.legendItem&&a.chart.legend.destroyItem(a);for(e=h.length;e--;)(f=h[e])&&f.destroy&&f.destroy();a.points=null;clearTimeout(a.animationTimeout);b("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(b){a[b]&&(g=j&&b==="group"?"hide":"destroy",a[b][g]())});if(d.hoverSeries===a)d.hoverSeries=null;L(d.series,a);for(i in a)delete a[i]},drawDataLabels:function(){var e=this,k=e.options,m=k.cursor,c=k.dataLabels,k=e.points,j,l,i,n;if(c.enabled||e._hasPointLabels)e.dlProcessOptions&&e.dlProcessOptions(c),n=e.plotGroup("dataLabelsGroup","data-labels",e.visible?"visible":"hidden",c.zIndex||6),l=c,b(k,function(k){var o,b=k.dataLabel,p,q,r=k.connector,s=!0;j=k.options&&k.options.dataLabels;o=a(j&&j.enabled,l.enabled);if(b&&!o)k.dataLabel=b.destroy();else if(o){c=h(l,j);o=c.rotation;p=k.getLabelConfig();i=c.format?hb(c.format,p):c.formatter.call(p,c);c.style.color=a(c.color,c.style.color,e.color,"black");if(b){if(d(i))b.attr({text:i}),s=!1;else if(k.dataLabel=b=b.destroy(),r)k.connector=r.destroy()}else if(d(i)){b={fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:o,padding:c.padding,zIndex:1};for(q in b)b[q]===f&&delete b[q];b=k.dataLabel=e.chart.renderer[o?"text":"label"](i,0,-999,null,null,null,c.useHTML).attr(b).css(g(c.style,m&&{cursor:m})).add(n).shadow(c.shadow)}b&&e.alignDataLabel(k,b,c,null,s)}})},alignDataLabel:function(f,h,c,d,k){var i=this.chart,b=i.inverted,l=a(f.plotX,-999),m=a(f.plotY,-999),j=h.getBBox();if(f=this.visible&&i.isInsidePlot(f.plotX,f.plotY,b))d=g({x:b?i.plotWidth-m:l,y:e(b?i.plotHeight-l:m),width:0,height:0},d),g(c,{width:j.width,height:j.height}),c.rotation?(b={align:c.align,x:d.x+c.x+d.width/2,y:d.y+c.y+d.height/2},h[k?"attr":"animate"](b)):(h.align(c,null,d),b=h.alignAttr,a(c.overflow,"justify")==="justify"?this.justifyDataLabel(h,c,b,j,d,k):a(c.crop,!0)&&(f=i.isInsidePlot(b.x,b.y)&&i.isInsidePlot(b.x+j.width,b.y+j.height)));f||h.attr({y:-999})},justifyDataLabel:function(f,b,d,g,j,k){var e=this.chart,h=b.align,i=b.verticalAlign,a,c;a=d.x;if(a<0)h==="right"?(b.align="left"):(b.x=-a),c=!0;a=d.x+g.width;if(a>e.plotWidth)h==="left"?(b.align="right"):(b.x=e.plotWidth-a),c=!0;a=d.y;if(a<0)i==="bottom"?(b.verticalAlign="top"):(b.y=-a),c=!0;a=d.y+g.height;if(a>e.plotHeight)i==="top"?(b.verticalAlign="bottom"):(b.y=e.plotHeight-a),c=!0;if(c)f.placed=!k,f.align(b,null,j)},getSegmentPath:function(c){var d=this,a=[],e=d.options.step;b(c,function(f,g){var h=f.plotX,i=f.plotY,b;d.getPointSpline?a.push.apply(a,d.getPointSpline(c,f,g)):(a.push(g?"L":"M"),e&&g&&(b=c[g-1],e==="right"?a.push(b.plotX,i):e==="center"?a.push((b.plotX+h)/2,b.plotY,(b.plotX+h)/2,i):a.push(h,b.plotY)),a.push(f.plotX,f.plotY))});return a},getGraphPath:function(){var a=this,c=[],d,e=[];b(a.segments,function(b){d=a.getSegmentPath(b);b.length>1?(c=c.concat(d)):e.push(b[0])});a.singlePoints=e;return a.graphPath=c},drawGraph:function(){var c=this,a=this.options,e=[["graph",a.lineColor||this.color]],f=a.lineWidth,g=a.dashStyle,i=a.linecap!=="square",d=this.getGraphPath(),h=a.negativeColor;h&&e.push(["graphNeg",h]);b(e,function(e,j){var h=e[0],b=c[h];if(b)zb(b),b.animate({d:d});else if(f&&d.length)b={stroke:e[1],"stroke-width":f,zIndex:1},g?(b.dashstyle=g):i&&(b["stroke-linecap"]=b["stroke-linejoin"]="round"),c[h]=c.chart.renderer.path(d).attr(b).add(c.group).shadow(!j&&a.shadow)})},clipNeg:function(){var d=this.options,a=this.chart,j=a.renderer,f=d.negativeColor||d.negativeFillColor,b,k=this.graph,l=this.area,h=this.posClip,i=this.negClip;b=a.chartWidth;var m=a.chartHeight,g=c(b,m),n=this.yAxis;if(f&&(k||l)){f=e(n.toPixels(d.threshold||0,!0));d={x:0,y:0,width:g,height:f};g={x:0,y:f,width:g,height:g};if(a.inverted)d.height=g.y=a.plotWidth-f,j.isVML&&(d={x:a.plotWidth-f-a.plotLeft,y:0,width:b,height:m},g={x:f+a.plotLeft-b,y:0,width:a.plotLeft+f,height:b});n.reversed?(a=g,b=d):(a=d,b=g);h?(h.animate(a),i.animate(b)):(this.posClip=h=j.clipRect(a),this.negClip=i=j.clipRect(b),k&&this.graphNeg&&(k.clip(h),this.graphNeg.clip(i)),l&&(l.clip(h),this.areaNeg.clip(i)))}},invertGroups:function(){function c(){var c={width:a.yAxis.len,height:a.xAxis.len};b(["group","markerGroup"],function(b){a[b]&&a[b].attr(c).invert()})}var a=this,d=a.chart;if(a.xAxis)s(d,"resize",c),s(a,"destroy",function(){F(d,"resize",c)}),c(),a.invertGroups=c},plotGroup:function(b,d,e,f,g){var a=this[b],c=!a;c&&(this[b]=a=this.chart.renderer.g(d).attr({visibility:e,zIndex:f||.1}).add(g));a[c?"attr":"animate"](this.getPlotBox());return a},getPlotBox:function(){return{translateX:this.xAxis?this.xAxis.left:this.chart.plotLeft,translateY:this.yAxis?this.yAxis.top:this.chart.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this.chart,b,c=this.options,d=c.animation&&!!this.animate&&a.renderer.isSVG,e=this.visible?"visible":"hidden",f=c.zIndex,g=this.hasRendered,h=a.seriesGroup;b=this.plotGroup("group","series",e,f,h);this.markerGroup=this.plotGroup("markerGroup","markers",e,f,h);d&&this.animate(!0);this.getAttribs();b.inverted=this.isCartesian?a.inverted:!1;this.drawGraph&&(this.drawGraph(),this.clipNeg());this.drawDataLabels();this.drawPoints();this.options.enableMouseTracking!==!1&&this.drawTracker();a.inverted&&this.invertGroups();c.clip!==!1&&!this.sharedClipKey&&!g&&b.clip(a.clipRect);d?this.animate():g||this.afterAnimate();this.isDirty=this.isDirtyData=!1;this.hasRendered=!0},redraw:function(){var b=this.chart,f=this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(b.inverted&&c.attr({width:b.plotWidth,height:b.plotHeight}),c.animate({translateX:a(d&&d.left,b.plotLeft),translateY:a(e&&e.top,b.plotTop)}));this.translate();this.setTooltipPoints(!0);this.render();f&&l(this,"updatedData")},setState:function(a){var b=this.options,c=this.graph,e=this.graphNeg,d=b.states,b=b.lineWidth,a=a||"";if(this.state!==a)this.state=a,d[a]&&d[a].enabled===!1||(a&&(b=d[a].lineWidth||b+1),c&&!c.dashstyle&&(a={"stroke-width":b},c.attr(a),e&&e.attr(a)))},setVisible:function(d,g){var a=this,c=a.chart,h=a.legendItem,e,i=c.options.chart.ignoreHiddenSeries,j=a.visible;e=(a.visible=d=a.userOptions.visible=d===f?!j:d)?"show":"hide";b(["group","dataLabelsGroup","markerGroup","tracker"],function(b){a[b]&&a[b][e]()});c.hoverSeries===a&&a.onMouseOut();h&&c.legend.colorizeItem(a,d);a.isDirty=!0;a.options.stacking&&b(c.series,function(a){if(a.options.stacking&&a.visible)a.isDirty=!0});b(a.linkedSeries,function(a){a.setVisible(d,!1)});if(i)c.isDirtyBox=!0;g!==!1&&c.redraw();l(a,e)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===f?!this.selected:a;if(this.checkbox)this.checkbox.checked=a;l(this,a?"select":"unselect")},drawTracker:function(){var c=this,j=c.options,g=j.trackByArea,d=[].concat(g?c.areaPath:c.graphPath),e=d.length,h=c.chart,m=h.pointer,n=h.renderer,f=h.options.tooltip.snap,k=c.tracker,i=j.cursor,o=i&&{cursor:i},i=c.singlePoints,a,l=function(){h.hoverSeries!==c&&c.onMouseOver()};if(e&&!g)for(a=e+1;a--;)d[a]==="M"&&d.splice(a+1,0,d[a+1]-f,d[a+2],"L"),(a&&d[a]==="M"||a===e)&&d.splice(a,0,"L",d[a-2]+f,d[a-1]);for(a=0;a<i.length;a++)e=i[a],d.push("M",e.plotX-f,e.plotY,"L",e.plotX+f,e.plotY);k?k.attr({d:d}):(c.tracker=n.path(d).attr({"stroke-linejoin":"round",visibility:c.visible?"visible":"hidden",stroke:sc,fill:g?sc:y,"stroke-width":j.lineWidth+(g?0:2*f),zIndex:2}).add(c.group),b([c.tracker,c.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(a){m.onTrackerMouseOut(a)}).css(o);if(Kb)a.on("touchstart",l)}))}};q=M(w);D.line=q;E.area=h(G,{threshold:0});q=M(w,{type:"area",getSegments:function(){var f=[],e=[],g=[],n=this.xAxis,l=this.yAxis,a=l.stacks[this.stackKey],c={},h,i,j=this.points,o=this.options.connectNulls,m,d,k;if(this.options.stacking&&!this.cropped){for(d=0;d<j.length;d++)c[j[d].x]=j[d];for(k in a)a[k].total!==null&&g.push(+k);g.sort(function(a,b){return a-b});b(g,function(b){if(!o||c[b]&&c[b].y!==null)c[b]?e.push(c[b]):(h=n.translate(b),m=a[b].percent?a[b].total?a[b].cum*100/a[b].total:0:a[b].cum,i=l.toPixels(m,!0),e.push({y:null,plotX:h,clientX:h,plotY:i,yBottom:i,onMouseOver:T}))});e.length&&f.push(e)}else w.prototype.getSegments.call(this),f=this.segments;this.segments=f},getSegmentPath:function(c){var d=w.prototype.getSegmentPath.call(this,c),e=[].concat(d),b,f=this.options;b=d.length;var h=this.yAxis.getThreshold(f.threshold),g;b===3&&e.push("L",d[1],d[2]);if(f.stacking&&!this.closedStacks)for(b=c.length-1;b>=0;b--)g=a(c[b].yBottom,h),b<c.length-1&&f.step&&e.push(c[b+1].plotX,g),e.push(c[b].plotX,g);else this.closeSegment(e,c,h);this.areaPath=this.areaPath.concat(e);return d},closeSegment:function(c,a,b){c.push("L",a[a.length-1].plotX,b,"L",a[0].plotX,b)},drawGraph:function(){this.areaPath=[];w.prototype.drawGraph.apply(this);var c=this,e=this.areaPath,d=this.options,f=d.negativeColor,g=d.negativeFillColor,h=[["area",this.color,d.fillColor]];(f||g)&&h.push(["areaNeg",f,g]);b(h,function(b){var f=b[0],g=c[f];g?g.animate({d:e}):(c[f]=c.chart.renderer.path(e).attr({fill:a(b[2],V(b[1]).setOpacity(a(d.fillOpacity,.75)).get()),zIndex:0}).add(c.group))})},drawLegendSymbol:function(a,b){b.legendSymbol=this.chart.renderer.rect(0,a.baseline-11,a.options.symbolWidth,12,2).attr({zIndex:3}).add(b.legendGroup)}});D.area=q;E.spline=h(G);r=M(w,{type:"spline",getPointSpline:function(f,h,k){var i=h.plotX,a=h.plotY,e=f[k-1],g=f[k+1],l,d,j,b;if(e&&g){f=e.plotY;j=g.plotX;var g=g.plotY,m;l=(1.5*i+e.plotX)/2.5;d=(1.5*a+f)/2.5;j=(1.5*i+j)/2.5;b=(1.5*a+g)/2.5;m=(b-d)*(j-i)/(j-l)+a-b;d+=m;b+=m;d>f&&d>a?(d=c(f,a),b=2*a-d):d<f&&d<a&&(d=n(f,a),b=2*a-d);b>g&&b>a?(b=c(g,a),d=2*a-b):b<g&&b<a&&(b=n(g,a),d=2*a-b);h.rightContX=j;h.rightContY=b}k?(h=["C",e.rightContX||e.plotX,e.rightContY||e.plotY,l||i,d||a,i,a],e.rightContX=e.rightContY=null):(h=["M",i,a]);return h}});D.spline=r;E.areaspline=h(E.area);Q=q.prototype;r=M(r,{type:"areaspline",closedStacks:!0,getSegmentPath:Q.getSegmentPath,closeSegment:Q.closeSegment,drawGraph:Q.drawGraph,drawLegendSymbol:Q.drawLegendSymbol});D.areaspline=r;E.column=h(G,{borderColor:"#FFFFFF",borderWidth:1,borderRadius:0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{brightness:.1,shadow:!1},select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}},dataLabels:{align:null,verticalAlign:null,y:null},stickyTracking:!1,threshold:0});r=M(w,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){w.prototype.init.apply(this,arguments);var a=this,c=a.chart;c.hasRendered&&b(c.series,function(b){if(b.type===a.type)b.isDirty=!0})},getColumnMetrics:function(){var c=this,g=c.options,e=c.xAxis,o=c.yAxis,q=e.reversed,i,l={},m,h=0;g.grouping===!1?(h=1):b(c.chart.series,function(a){var b=a.options,d=a.yAxis;if(a.type===c.type&&a.visible&&o.len===d.len&&o.pos===d.pos)b.stacking?(i=a.stackKey,l[i]===f&&(l[i]=h++),m=l[i]):b.grouping!==!1&&(m=h++),a.columnIndex=m});var e=n(p(e.transA)*(e.ordinalSlope||g.pointRange||e.closestPointRange||1),e.len),r=e*g.groupPadding,j=(e-2*r)/h,k=g.pointWidth,g=d(k)?(j-k)/2:j*g.pointPadding,k=a(k,j-2*g);return c.columnMetrics={width:k,offset:g+(r+((q?h-(c.columnIndex||0):c.columnIndex)||0)*j-e/2)*(q?-1:1)}},translate:function(){var k=this.chart,f=this.options,h=f.borderWidth,i=this.yAxis,g=this.translatedThreshold=i.getThreshold(f.threshold),d=a(f.minPointLength,5),f=this.getColumnMetrics(),l=f.width,o=this.barW=bb(c(l,1+2*h)),q=this.pointXOffset=f.offset,m=-(h%2?.5:0),j=h%2?.5:1;k.renderer.isVML&&k.inverted&&(j+=1);w.prototype.translate.apply(this);b(this.points,function(h){var r=a(h.yBottom,g),f=n(c(-999-r,h.plotY),i.len+999+r),k=h.plotX+q,s=o,b=n(f,r),t,f=c(f,r)-b;p(f)<d&&d&&(f=d,b=e(p(b-g)>d?r-d:g-(i.translate(h.y,0,1,0,1)<=g?d:0)));h.barX=k;h.pointWidth=l;r=p(k)<.5;s=e(k+s)+m;k=e(k)+m;s-=k;t=p(b)<.5;f=e(b+f)+j;b=e(b)+j;f-=b;r&&(k+=1,s-=1);t&&(b-=1,f+=1);h.shapeType="rect";h.shapeArgs={x:k,y:b,width:s,height:f}})},getSymbol:T,drawLegendSymbol:q.prototype.drawLegendSymbol,drawGraph:T,drawPoints:function(){var a=this,c=a.options,e=a.chart.renderer,d;b(a.points,function(b){var i=b.plotY,g=b.graphic;if(i!==f&&!isNaN(i)&&b.y!==null)d=b.shapeArgs,g?(zb(g),g.animate(h(d))):(b.graphic=e[b.shapeType](d).attr(b.pointAttr[b.selected?"select":""]).add(a.group).shadow(c.shadow,null,c.stacking&&!c.borderRadius));else if(g)b.graphic=g.destroy()})},drawTracker:function(){var a=this,c=a.chart,g=c.pointer,d=a.options.cursor,h=d&&{cursor:d},e=function(e){var d=e.target,b;c.hoverSeries!==a&&a.onMouseOver();for(;d&&!b;)b=d.point,d=d.parentNode;if(b!==f&&b!==c.hoverPoint)b.onMouseOver(e)};b(a.points,function(a){if(a.graphic)a.graphic.element.point=a;if(a.dataLabel)a.dataLabel.element.point=a});if(!a._hasTracking)b(a.trackerGroups,function(b){if(a[b]&&(a[b].addClass("highcharts-tracker").on("mouseover",e).on("mouseout",function(a){g.onTrackerMouseOut(a)}).css(h),Kb))a[b].on("touchstart",e)}),a._hasTracking=!0},alignDataLabel:function(d,k,c,b,l){var e=this.chart,f=e.inverted,j=d.dlBox||d.shapeArgs,g=d.below||d.plotY>a(this.translatedThreshold,e.plotSizeY),i=a(c.inside,!!this.options.stacking);if(j&&(b=h(j),f&&(b={x:e.plotWidth-b.y-b.height,y:e.plotHeight-b.x-b.width,width:b.height,height:b.width}),!i))f?(b.x+=g?0:b.width,b.width=0):(b.y+=g?b.height:0,b.height=0);c.align=a(c.align,!f||i?"center":g?"right":"left");c.verticalAlign=a(c.verticalAlign,f||i?"middle":g?"top":"bottom");w.prototype.alignDataLabel.call(this,d,k,c,b,l)},animate:function(d){var b=this.yAxis,f=this.options,e=this.chart.inverted,a={};if(C)d?(a.scaleY=.001,d=n(b.pos+b.len,c(b.pos,b.toPixels(f.threshold))),e?(a.translateX=d-b.len):(a.translateY=d),this.group.attr(a)):(a.scaleY=1,a[e?"translateX":"translateY"]=b.pos,this.group.animate(a,this.options.animation),this.animate=null)},remove:function(){var a=this,c=a.chart;c.hasRendered&&b(c.series,function(b){if(b.type===a.type)b.isDirty=!0});w.prototype.remove.apply(a,arguments)}});D.column=r;E.bar=h(E.column);Q=M(r,{type:"bar",inverted:!0});D.bar=Q;E.scatter=h(G,{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/>",followPointer:!0},stickyTracking:!1});Q=M(w,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],takeOrdinalPosition:!1,drawTracker:r.prototype.drawTracker,setTooltipPoints:T});D.scatter=Q;E.pie=h(G,{borderColor:"#FFFFFF",borderWidth:1,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}},stickyTracking:!1,tooltip:{followPointer:!0}});G={type:"pie",isCartesian:!1,pointClass:M(sb,{init:function(){sb.prototype.init.apply(this,arguments);var b=this,c;if(b.y<0)b.y=null;g(b,{visible:b.visible!==!1,name:a(b.name,"Slice")});c=function(a){b.slice(a.type==="select")};s(b,"select",c);s(b,"unselect",c);return b},setVisible:function(d){var a=this,c=a.series,e=c.chart,g;a.visible=a.options.visible=d=d===f?!a.visible:d;c.options.data[U(a,c.data)]=a.options;g=d?"show":"hide";b(["graphic","dataLabel","connector","shadowGroup"],function(b){a[b]&&a[b][g]()});a.legendItem&&e.legend.colorizeItem(a,d);if(!c.isDirty&&c.options.ignoreHiddenPoint)c.isDirty=!0,e.redraw()},slice:function(b,e,f){var c=this.series;pb(f,c.chart);a(e,!0);this.sliced=this.options.sliced=b=d(b)?b:!this.sliced;c.options.data[U(this,c.data)]=this.options;b=b?this.slicedTranslation:{translateX:0,translateY:0};this.graphic.animate(b);this.shadowGroup&&this.shadowGroup.animate(b)}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:T,animate:function(d){var a=this,e=a.points,c=a.startAngleRad;if(!d)b(e,function(b){var d=b.graphic,b=b.shapeArgs;d&&(d.attr({r:a.center[3]/2,start:c,end:c}),d.animate({r:b.r,start:b.start,end:b.end},a.options.animation))}),a.animate=null},setData:function(b,c){w.prototype.setData.call(this,b,!1);this.processData();this.generatePoints();a(c,!0)&&this.chart.redraw()},generatePoints:function(){var a,c=0,d,e,b,f=this.options.ignoreHiddenPoint;w.prototype.generatePoints.call(this);d=this.points;e=d.length;for(a=0;a<e;a++)b=d[a],c+=f&&!b.visible?0:b.y;this.total=c;for(a=0;a<e;a++)b=d[a],b.percentage=c>0?b.y/c*100:0,b.total=c},getCenter:function(){var b=this.options,c=this.chart,d=2*(b.slicedOffset||0),f,g=c.plotWidth-2*d,h=c.plotHeight-2*d,c=b.center,b=[a(c[0],"50%"),a(c[1],"50%"),b.size||"100%",b.innerSize||0],i=n(g,h),e;return rb(b,function(a,b){e=/%$/.test(a);f=b<2||b===2&&e;return(e?([g,h,i,i])[b]*j(a)/100:a)+(f?d:0)})},translate:function(a){this.generatePoints();var l=0,g=this.options,m=g.slicedOffset,j=m+g.borderWidth,d,f,b,i=g.startAngle||0,o=this.startAngleRad=cb/180*(i-90),i=(this.endAngleRad=cb/180*((g.endAngle||i+360)-90))-o,p=this.points,h=g.dataLabels.distance,g=g.ignoreHiddenPoint,k,q=p.length,c;if(!a)this.center=a=this.getCenter();this.getX=function(c,d){b=x.asin((c-a[1])/(a[2]/2+h));return a[0]+(d?-1:1)*B(b)*(a[2]/2+h)};for(k=0;k<q;k++){c=p[k];d=o+l*i;if(!g||c.visible)l+=c.percentage/100;f=o+l*i;c.shapeType="arc";c.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:e(d*1e3)/1e3,end:e(f*1e3)/1e3};b=(f+d)/2;b>.75*i&&(b-=2*cb);c.slicedTranslation={translateX:e(B(b)*m),translateY:e(H(b)*m)};d=B(b)*a[2]/2;f=H(b)*a[2]/2;c.tooltipPos=[a[0]+d*.7,a[1]+f*.7];c.half=b<-cb/2||b>cb/2?1:0;c.angle=b;j=n(j,h/2);c.labelPos=[a[0]+d+B(b)*h,a[1]+f+H(b)*h,a[0]+d+B(b)*j,a[1]+f+H(b)*j,a[0]+d,a[1]+f,h<0?"center":c.half?"right":"left",b]}},setTooltipPoints:T,drawGraph:null,drawPoints:function(){var a=this,f=a.chart.renderer,d,e,h=a.options.shadow,c,i;if(h&&!a.shadowGroup)a.shadowGroup=f.g("shadow").add(a.group);b(a.points,function(b){e=b.graphic;i=b.shapeArgs;c=b.shadowGroup;if(h&&!c)c=b.shadowGroup=f.g("shadow").add(a.shadowGroup);d=b.sliced?b.slicedTranslation:{translateX:0,translateY:0};c&&c.attr(d);e?e.animate(g(i,d)):(b.graphic=e=f.arc(i).setRadialReference(a.center).attr(b.pointAttr[b.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(d).add(a.group).shadow(h,c));b.visible===!1&&b.setVisible(!1)})},sortByAngle:function(a,b){a.sort(function(a,c){return a.angle!==void 0&&(c.angle-a.angle)*b})},drawDataLabels:function(){var m=this,i=m.data,g,A=m.chart,r=m.options.dataLabels,x=a(r.connectorPadding,10),H=a(r.connectorWidth,1),I=A.plotWidth,A=A.plotHeight,u,D,M=a(r.softConnector,!0),y=r.distance,E=m.center,G=E[2]/2,K=E[1],N=y>0,n,k,f,v,L=[[],[]],o,h,z,l,d,q=[0,0,0,0],J=function(a,b){return b.y-a.y};if(m.visible&&(r.enabled||m._hasPointLabels)){w.prototype.drawDataLabels.apply(m);b(i,function(a){a.dataLabel&&L[a.half].push(a)});for(l=0;!v&&i[l];)v=i[l]&&i[l].dataLabel&&(i[l].dataLabel.getBBox().height||21),l++;for(l=2;l--;){var i=[],C=[],s=L[l],t=s.length,j;m.sortByAngle(s,l-.5);if(y>0){for(d=K-G-y;d<=K+G+y;d+=v)i.push(d);k=i.length;if(t>k){g=[].concat(s);g.sort(J);for(d=t;d--;)g[d].rank=d;for(d=t;d--;)s[d].rank>=k&&s.splice(d,1);t=s.length}for(d=0;d<t;d++){g=s[d];f=g.labelPos;g=9999;for(var F,B=0;B<k;B++)F=p(i[B]-f[1]),F<g&&(g=F,j=B);if(j<d&&i[d]!==null)j=d;else for(k<t-d+j&&i[d]!==null&&(j=k-t+d);i[j]===null;)j++;C.push({i:j,y:i[j]});i[j]=null}C.sort(J)}for(d=0;d<t;d++){g=s[d];f=g.labelPos;n=g.dataLabel;z=g.visible===!1?"hidden":"visible";g=f[1];if(y>0){if(k=C.pop(),j=k.i,h=k.y,g>h&&i[j+1]!==null||g<h&&i[j-1]!==null)h=g}else h=g;o=r.justify?E[0]+(l?-1:1)*(G+y):m.getX(j===0||j===i.length-1?g:h,l);n._attr={visibility:z,align:f[6]};n._pos={x:o+r.x+(({left:x,right:-x})[f[6]]||0),y:h+r.y-10};n.connX=o;n.connY=h;if(this.options.size===null)k=n.width,o-k<x?(q[3]=c(e(k-o+x),q[3])):o+k>I-x&&(q[1]=c(e(o+k-I+x),q[1])),h-v/2<0?(q[0]=c(e(-h+v/2),q[0])):h+v/2>A&&(q[2]=c(e(h+v/2-A),q[2]))}}if(Z(q)===0||this.verifyDataLabelOverflow(q))this.placeDataLabels(),N&&H&&b(this.points,function(a){u=a.connector;f=a.labelPos;if((n=a.dataLabel)&&n._pos)z=n._attr.visibility,o=n.connX,h=n.connY,D=M?["M",o+(f[6]==="left"?5:-5),h,"C",o,h,2*f[2]-f[4],2*f[3]-f[5],f[2],f[3],"L",f[4],f[5]]:["M",o+(f[6]==="left"?5:-5),h,"L",f[2],f[3],"L",f[4],f[5]],u?(u.animate({d:D}),u.attr("visibility",z)):(a.connector=u=m.chart.renderer.path(D).attr({"stroke-width":H,stroke:r.connectorColor||a.color||"#606060",visibility:z}).add(m.group));else if(u)a.connector=u.destroy()})}},verifyDataLabelOverflow:function(a){var d=this.center,f=this.options,g=f.center,e=f=f.minSize||80,h;g[0]!==null?(e=c(d[2]-c(a[1],a[3]),f)):(e=c(d[2]-a[1]-a[3],f),d[0]+=(a[3]-a[1])/2);g[1]!==null?(e=c(n(e,d[2]-c(a[0],a[2])),f)):(e=c(n(e,d[2]-a[0]-a[2]),f),d[1]+=(a[0]-a[2])/2);e<d[2]?(d[2]=e,this.translate(d),b(this.points,function(a){if(a.dataLabel)a.dataLabel._pos=null}),this.drawDataLabels()):(h=!0);return h},placeDataLabels:function(){b(this.points,function(a){var a=a.dataLabel,b;if(a)(b=a._pos)?(a.attr(a._attr),a[a.moved?"animate":"attr"](b),a.moved=!0):a&&a.attr({y:-999})})},alignDataLabel:T,drawTracker:r.prototype.drawTracker,drawLegendSymbol:q.prototype.drawLegendSymbol,getSymbol:T};G=M(w,G);D.pie=G;g(Highcharts,{Axis:Fb,Chart:cc,Color:V,Legend:Gb,Pointer:bc,Point:sb,Tick:qb,Tooltip:ac,Renderer:yb,Series:w,SVGElement:ab,SVGRenderer:eb,arrayMin:nb,arrayMax:Z,charts:lb,dateFormat:Mb,format:hb,pathAnim:Ob,getOptions:function(){return u},hasBidiBug:wc,isTouchDevice:qc,numberFormat:fb,seriesTypes:D,setOptions:function(a){u=h(u,a);nc();return u},addEvent:s,removeEvent:F,createElement:A,discardElement:wb,css:o,each:b,extend:g,map:rb,merge:h,pick:a,splat:O,extendClass:M,pInt:j,wrap:Qb,svg:C,canvas:I,vml:!C&&!I,product:"Highcharts",version:"3.0.7"})})()