1!function(){function a(a,b){var c;a||(a={});for(c in b)a[c]=b[c];return a}function b(){var a,b,c=arguments,d={},e=function(a,b){var c,d;"object"!=typeof a&&(a={});for(d in b)b.hasOwnProperty(d)&&(c=b[d],a[d]=c&&"object"==typeof c&&"[object Array]"!==Object.prototype.toString.call(c)&&"number"!=typeof c.nodeType?e(a[d]||{},c):b[d]);return a};for(c[0]===!0&&(d=c[1],c=Array.prototype.slice.call(c,2)),b=c.length,a=0;b>a;a++)d=e(d,c[a]);return d}function c(a,b){return parseInt(a,b||10)}function d(a){return"string"==typeof a}function e(a){return"object"==typeof a}function f(a){return"[object Array]"===Object.prototype.toString.call(a)}function g(a){return"number"==typeof a}function h(a){return ia.log(a)/ia.LN10}function i(a){return ia.pow(10,a)}function j(a,b){for(var c=a.length;c--;)if(a[c]===b){a.splice(c,1);break}}function k(a){return a!==N&&null!==a}function l(a,b,c){var f,g;if(d(b))k(c)?a.setAttribute(b,c):a&&a.getAttribute&&(g=a.getAttribute(b));else if(k(b)&&e(b))for(f in b)a.setAttribute(f,b[f]);return g}function m(a){return f(a)?a:[a]}function n(){var a,b,c=arguments,d=c.length;for(a=0;d>a;a++)if(b=c[a],"undefined"!=typeof b&&null!==b)return b}function o(b,c){va&&c&&c.opacity!==N&&(c.filter="alpha(opacity="+100*c.opacity+")"),a(b.style,c)}function p(b,c,d,e,f){return b=ga.createElement(b),c&&a(b,c),f&&o(b,{padding:0,border:Ka,margin:0}),d&&o(b,d),e&&e.appendChild(b),b}function q(b,c){var d=function(){};return d.prototype=new b,a(d.prototype,c),d}function r(a,b,d,e){var f=Q.lang,a=+a||0,g=-1===b?(a.toString().split(".")[1]||"").length:isNaN(b=oa(b))?2:b,b=void 0===d?f.decimalPoint:d,e=void 0===e?f.thousandsSep:e,f=0>a?"-":"",d=String(c(a=oa(a).toFixed(g))),h=d.length>3?d.length%3:0;return f+(h?d.substr(0,h)+e:"")+d.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+e)+(g?b+oa(a-d).toFixed(g).slice(2):"")}function s(a,b){return Array((b||2)+1-String(a).length).join(0)+a}function t(a,b,c){var d=a[b];a[b]=function(){var a=Array.prototype.slice.call(arguments);return a.unshift(d),c.apply(this,a)}}function u(a,b){for(var c,d,e,f,g,h="{",i=!1,j=[];-1!==(h=a.indexOf(h));){if(c=a.slice(0,h),i){for(d=c.split(":"),e=d.shift().split("."),g=e.length,c=b,f=0;g>f;f++)c=c[e[f]];d.length&&(d=d.join(":"),e=/\.([0-9])/,f=Q.lang,g=void 0,/f$/.test(d)?(g=(g=d.match(e))?g[1]:-1,c=r(c,g,f.decimalPoint,d.indexOf(",")>-1?f.thousandsSep:"")):c=R(d,c))}j.push(c),a=a.slice(h+1),h=(i=!i)?"}":"{"}return j.push(a),j.join("")}function v(a){return ia.pow(10,ka(ia.log(a)/ia.LN10))}function w(a,b,c,d){var e,c=n(c,1);for(e=a/c,b||(b=[1,2,2.5,5,10],d&&d.allowDecimals===!1&&(1===c?b=[1,2,5,10]:.1>=c&&(b=[1/c]))),d=0;d<b.length&&(a=b[d],!(e<=(b[d]+(b[d+1]||b[d]))/2));d++);return a*=c}function x(){this.symbol=this.color=0}function y(a,b){var c,d,e=a.length;for(d=0;e>d;d++)a[d].ss_i=d;for(a.sort(function(a,d){return c=b(a,d),0===c?a.ss_i-d.ss_i:c}),d=0;e>d;d++)delete a[d].ss_i}function z(a){for(var b=a.length,c=a[0];b--;)a[b]<c&&(c=a[b]);return c}function A(a){for(var b=a.length,c=a[0];b--;)a[b]>c&&(c=a[b]);return c}function B(a,b){for(var c in a)a[c]&&a[c]!==b&&a[c].destroy&&a[c].destroy(),delete a[c]}function C(a){P||(P=p(Ja)),a&&P.appendChild(a),P.innerHTML=""}function D(a,b){var c="Highcharts error #"+a+": www.highcharts.com/errors/"+a;if(b)throw c;ha.console&&void 0}function E(a){return parseFloat(a.toPrecision(14))}function F(a,b){S=n(a,b.animation)}function G(){var a=Q.global.useUTC,b=a?"getUTC":"get",c=a?"setUTC":"set";W=6e4*(a&&Q.global.timezoneOffset||0),V=a?Date.UTC:function(a,b,c,d,e,f){return new Date(a,b,n(c,1),n(d,0),n(e,0),n(f,0)).getTime()},X=b+"Minutes",Y=b+"Hours",Z=b+"Day",$=b+"Date",_=b+"Month",aa=b+"FullYear",ba=c+"Minutes",ca=c+"Hours",da=c+"Date",ea=c+"Month",fa=c+"FullYear"}function H(){}function I(a,b,c,d){this.axis=a,this.pos=b,this.type=c||"",this.isNew=!0,!c&&!d&&this.addLabel()}function J(){this.init.apply(this,arguments)}function K(a,b,c,d,e,f){var g=a.chart.inverted;this.axis=a,this.isNegative=c,this.options=b,this.x=d,this.total=null,this.points={},this.stack=e,this.percent="percent"===f,this.alignOptions={align:b.align||(g?c?"left":"right":"center"),verticalAlign:b.verticalAlign||(g?"middle":c?"bottom":"top"),y:n(b.y,g?4:c?14:-6),x:n(b.x,g?c?-6:6:0)},this.textAlign=b.textAlign||(g?c?"right":"left":"center")}function L(){this.init.apply(this,arguments)}function M(){this.init.apply(this,arguments)}var N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga=document,ha=window,ia=Math,ja=ia.round,ka=ia.floor,la=ia.ceil,ma=ia.max,na=ia.min,oa=ia.abs,pa=ia.cos,qa=ia.sin,ra=ia.PI,sa=2*ra/360,ta=navigator.userAgent,ua=ha.opera,va=/msie/i.test(ta)&&!ua,wa=8===ga.documentMode,xa=/AppleWeb
1Kit/.test(ta),ya=/Firefox/.test(ta),za=/(Mobile|Android|Windows Phone)/.test(ta),Aa="http://www.w3.org/2000/svg",Ba=!!ga.createElementNS&&!!ga.createElementNS(Aa,"svg").createSVGRect,Ca=ya&&parseInt(ta.split("Firefox/")[1],10)<4,Da=!Ba&&!va&&!!ga.createElement("canvas").getContext,Ea=ga.documentElement.ontouchstart!==N,Fa={},Ga=0,Ha=function(){},Ia=[],Ja="div",Ka="none",La=/^[0-9]+$/,Ma="rgba(192,192,192,"+(Ba?1e-4:.002)+")",Na="stroke-width",Oa={};ha.Highcharts=ha.Highcharts?D(16,!0):{},R=function(b,c,d){if(!k(c)||isNaN(c))return"Invalid date";var e,b=n(b,"%Y-%m-%d %H:%M:%S"),f=new Date(c-W),g=f[Y](),h=f[Z](),i=f[$](),j=f[_](),l=f[aa](),m=Q.lang,o=m.weekdays,f=a({a:o[h].substr(0,3),A:o[h],d:s(i),e:i,b:m.shortMonths[j],B:m.months[j],m:s(j+1),y:l.toString().substr(2,2),Y:l,H:s(g),I:s(g%12||12),l:g%12||12,M:s(f[X]()),p:12>g?"AM":"PM",P:12>g?"am":"pm",S:s(f.getSeconds()),L:s(ja(c%1e3),3)},Highcharts.dateFormats);for(e in f)for(;-1!==b.indexOf("%"+e);)b=b.replace("%"+e,"function"==typeof f[e]?f[e](c):f[e]);return d?b.substr(0,1).toUpperCase()+b.substr(1):b},x.prototype={wrapColor:function(a){this.color>=a&&(this.color=0)},wrapSymbol:function(a){this.symbol>=a&&(this.symbol=0)}},U=function(){for(var a=0,b=arguments,c=b.length,d={};c>a;a++)d[b[a++]]=b[a];return d}("millisecond",1,"second",1e3,"minute",6e4,"hour",36e5,"day",864e5,"week",6048e5,"month",26784e5,"year",31556952e3),T={init:function(a,b,c){var d,e,f,b=b||"",g=a.shift,h=b.indexOf("C")>-1,i=h?7:3,b=b.split(" "),c=[].concat(c),j=function(a){for(d=a.length;d--;)"M"===a[d]&&a.splice(d+1,0,a[d+1],a[d+2],a[d+1],a[d+2])};if(h&&(j(b),j(c)),a.isArea&&(e=b.splice(b.length-6,6),f=c.splice(c.length-6,6)),g<=c.length/i&&b.length===c.length)for(;g--;)c=[].concat(c).splice(0,i).concat(c);if(a.shift=0,b.length)for(a=c.length;b.length<a;)g=[].concat(b).splice(b.length-i,i),h&&(g[i-6]=g[i-2],g[i-5]=g[i-1]),b=b.concat(g);return e&&(b=b.concat(e),c=c.concat(f)),[b,c]},step:function(a,b,c,d){var e=[],f=a.length;if(1===c)e=d;else if(f===b.length&&1>c)for(;f--;)d=parseFloat(a[f]),e[f]=isNaN(d)?a[f]:c*parseFloat(b[f]-d)+d;else e=b;return e}},function(b){ha.HighchartsAdapter=ha.HighchartsAdapter||b&&{init:function(a){var c,e=b.fx,f=e.step,g=b.Tween,h=g&&g.propHooks;c=b.cssHooks.opacity,b.extend(b.easing,{easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c}}),b.each(["cur","_default","width","height","opacity"],function(a,b){var c,d=f;"cur"===b?d=e.prototype:"_default"===b&&g&&(d=h[b],b="set"),(c=d[b])&&(d[b]=function(d){var e,d=a?d:this;return"align"!==d.prop?(e=d.elem,e.attr?e.attr(d.prop,"cur"===b?N:d.now):c.apply(this,arguments)):void 0})}),t(c,"get",function(a,b,c){return b.attr?b.opacity||0:a.call(this,b,c)}),c=function(b){var c,d=b.elem;b.started||(c=a.init(d,d.d,d.toD),b.start=c[0],b.end=c[1],b.started=!0),d.attr("d",a.step(b.start,b.end,b.pos,d.toD))},g?h.d={set:c}:f.d=c,this.each=Array.prototype.forEach?function(a,b){return Array.prototype.forEach.call(a,b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(b.call(a[c],a[c],c,a)===!1)return c},b.fn.highcharts=function(){var a,b,c="Chart",e=arguments;return d(e[0])&&(c=e[0],e=Array.prototype.slice.call(e,1)),a=e[0],a!==N&&(a.chart=a.chart||{},a.chart.renderTo=this[0],new Highcharts[c](a,e[1]),b=this),a===N&&(b=Ia[l(this[0],"data-highcharts-chart")]),b}},getScript:b.getScript,inArray:b.inArray,adapterRun:function(a,c){return b(a)[c]()},grep:b.grep,map:function(a,b){for(var c=[],d=0,e=a.length;e>d;d++)c[d]=b.call(a[d],a[d],d,a);return c},offset:function(a){return b(a).offset()},addEvent:function(a,c,d){b(a).bind(c,d)},removeEvent:function(a,c,d){var e=ga.removeEventListener?"removeEventListener":"detachEvent";ga[e]&&a&&!a[e]&&(a[e]=function(){}),b(a).unbind(c,d)},fireEvent:function(c,d,e,f){var g,h=b.Event(d),i="detached"+d;!va&&e&&(delete e.layerX,delete e.layerY),a(h,e),c[d]&&(c[i]=c[d],c[d]=null),b.each(["preventDefault","stopPropagation"],function(a,b){var c=h[b];h[b]=function(){try{c.call(h)}catch(a){"preventDefault"===b&&(g=!0)}}}),b(c).trigger(h),c[i]&&(c[d]=c[i],c[i]=null),f&&!h.isDefaultPrevented()&&!g&&f(h)},washMouseEvent:function(a){var b=a.originalEvent||a;return b.pageX===N&&(b.pageX=a.pageX,b.pageY=a.pageY),b},animate:function(a,c,d){var e=b(a);a.style||(a.style={}),c.d&&(a.toD=c.d,c.d=1),e.stop(),c.opacity!==N&&a.attr&&(c.opacity+="px"),e.animate(c,d)},stop:function(a){b(a).stop()}}}(ha.jQuery);var Pa=ha.HighchartsAdapter,Qa=Pa||{};Pa&&Pa.init.call(Pa,T);
1var Ra=Qa.adapterRun,Sa=Qa.getScript,Ta=Qa.inArray,Ua=Qa.each,Va=Qa.grep,Wa=Qa.offset,Xa=Qa.map,Ya=Qa.addEvent,Za=Qa.removeEvent,$a=Qa.fireEvent,_a=Qa.washMouseEvent,ab=Qa.animate,bb=Qa.stop,Qa={enabled:!0,x:0,y:15,style:{color:"#666",cursor:"default",fontSize:"11px"}};Q={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.9/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/3.0.9/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:b(Qa,{align:"center",enabled:!1,formatter:function(){return null===this.y?"":r(this.y,-1)},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0,turboThreshold:1e3}},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"},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:Ba,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:za?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 cb=Q.plotOptions,Pa=cb.line;G();var db=/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*\)/,eb=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/,fb=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,gb=function(a){var d,e,f=[];return function(a){a&&a.stops?e=Xa(a.stops,function(a){return gb(a[1])}):(d=db.exec(a))?f=[c(d[1]),c(d[2]),c(d[3]),parseFloat(d[4],10)]:(d=eb.exec(a))?f=[c(d[1],16),c(d[2],16),c(d[3],16),1]:(d=fb.exec(a))&&(f=[c(d[1]),c(d[2]),c(d[3]),1])}(a),{get:function(c){var d;return e?(d=b(a),d.stops=[].concat(d.stops),Ua(e,function(a,b){d.stops[b]=[d.stops[b][0],a.get(c)]})):d=f&&!isNaN(f[0])?"rgb"===c?"rgb("+f[0]+","+f[1]+","+f[2]+")":"a"===c?f[3]:"rgba("+f.join(",")+")":a,d}
1,brighten:function(a){if(e)Ua(e,function(b){b.brighten(a)});else if(g(a)&&0!==a){var b;for(b=0;3>b;b++)f[b]+=c(255*a),f[b]<0&&(f[b]=0),f[b]>255&&(f[b]=255)}return this},rgba:f,setOpacity:function(a){return f[3]=a,this}}};H.prototype={init:function(a,b){this.element="span"===b?p(b):ga.createElementNS(Aa,b),this.renderer=a,this.attrSetters={}},opacity:1,animate:function(a,c,d){c=n(c,S,!0),bb(this),c?(c=b(c),d&&(c.complete=d),ab(this,a,c)):(this.attr(a),d&&d())},attr:function(a,b){var e,f,g,h,i,j,m,o=this.element,p=o.nodeName.toLowerCase(),q=this.renderer,r=this.attrSetters,s=this.shadows,t=this;if(d(a)&&k(b)&&(e=a,a={},a[e]=b),d(a))e=a,"circle"===p?e={x:"cx",y:"cy"}[e]||e:"strokeWidth"===e&&(e="stroke-width"),t=l(o,e)||this[e]||0,"d"!==e&&"visibility"!==e&&"fill"!==e&&(t=parseFloat(t));else{for(e in a)if(i=!1,f=a[e],g=r[e]&&r[e].call(this,f,e),g!==!1){if(g!==N&&(f=g),"d"===e)f&&f.join&&(f=f.join(" ")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0");else if("x"===e&&"text"===p)for(g=0;g<o.childNodes.length;g++)h=o.childNodes[g],l(h,"x")===l(o,"x")&&l(h,"x",f);else if(!this.rotation||"x"!==e&&"y"!==e)if("fill"===e)f=q.color(f,o,e);else if("circle"!==p||"x"!==e&&"y"!==e)if("rect"===p&&"r"===e)l(o,{rx:f,ry:f}),i=!0;else if("translateX"===e||"translateY"===e||"rotation"===e||"verticalAlign"===e||"scaleX"===e||"scaleY"===e)i=m=!0;else if("stroke"===e)f=q.color(f,o,e);else if("dashstyle"===e){if(e="stroke-dasharray",f=f&&f.toLowerCase(),"solid"===f)f=Ka;else if(f){for(f=f.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(","),g=f.length;g--;)f[g]=c(f[g])*n(a["stroke-width"],this["stroke-width"]);f=f.join(",")}}else"width"===e?f=c(f):"align"===e?(e="text-anchor",f={left:"start",center:"middle",right:"end"}[f]):"title"===e&&(g=o.getElementsByTagName("title")[0],g||(g=ga.createElementNS(Aa,"title"),o.appendChild(g)),g.textContent=f);else e={x:"cx",y:"cy"}[e]||e;else m=!0;if("strokeWidth"===e&&(e="stroke-width"),"stroke-width"!==e&&"stroke"!==e||(this[e]=f,this.stroke&&this["stroke-width"]?(l(o,"stroke",this.stroke),l(o,"stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===e&&0===f&&this.hasStroke&&(o.removeAttribute("stroke"),this.hasStroke=!1),i=!0),this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(e)&&(j||(this.symbolAttr(a),j=!0),i=!0),s&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(e))for(g=s.length;g--;)l(s[g],e,"height"===e?ma(f-(s[g].cutHeight||0),0):f);("width"===e||"height"===e)&&"rect"===p&&0>f&&(f=0),this[e]=f,"text"===e?(f!==this.textStr&&delete this.bBox,this.textStr=f,this.added&&q.buildText(this)):i||l(o,e,f)}m&&this.updateTransform()}return t},addClass:function(a){var b=this.element,c=l(b,"class")||"";return-1===c.indexOf(a)&&l(b,"class",c+" "+a),this},symbolAttr:function(a){var b=this;Ua("x,y,r,start,end,width,height,innerR,anchorX,anchorY".split(","),function(c){b[c]=n(a[c],b[c])}),b.attr({d:b.renderer.symbols[b.symbolName](b.x,b.y,b.width,b.height,b)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":Ka)},crisp:function(a,b,c,d,e){var f,g,h={},i={},a=a||this.strokeWidth||this.attr&&this.attr("stroke-width")||0;g=ja(a)%2/2,i.x=ka(b||this.x||0)+g,i.y=ka(c||this.y||0)+g,i.width=ka((d||this.width||0)-2*g),i.height=ka((e||this.height||0)-2*g),i.strokeWidth=a;for(f in i)this[f]!==i[f]&&(this[f]=h[f]=i[f]);return h},css:function(b){var d,e=this.element,f=this.textWidth=b&&b.width&&"text"===e.nodeName.toLowerCase()&&c(b.width),g="",h=function(a,b){return"-"+b.toLowerCase()};if(b&&b.color&&(b.fill=b.color),this.styles=b=a(this.styles,b),f&&delete b.width,va&&!Ba)o(this.element,b);else{for(d in b)g+=d.replace(/([A-Z])/g,h)+":"+b[d]+";";l(e,"style",g)}return f&&this.added&&this.renderer.buildText(this),this},on:function(a,b){var c=this,d=c.element;return Ea&&"click"===a?(d.ontouchstart=function(a){c.touchEventFired=Date.now(),a.preventDefault(),b.call(d,a)},d.onclick=function(a){(-1===ta.indexOf("Android")||Date.now()-(c.touchEventFired||0)>1100)&&b.call(d,a)}):d["on"+a]=b,this},setRadialReference:function(a){return this.element.radialReference=a,this},translate:function(a,b){return this.attr({translateX:a,translateY:b})},invert:function(){return this.inverted=!0,this.updateTransform(),this},updateTransform:function(){var a=this.translateX||0,b=this.translateY||0,c=this.scaleX,d=this.scaleY,e=this.inverted,f=this.rotation;e&&(a+=this.attr("width"),b+=this.attr("height")),a=["translate("+a+","+b+")"],e?a.push("rotate(90) scale(-1,1)"):f&&a.push("rotate("+f+" "+(this.x||0)+" "+(this.y||0)+")"),(k(c)||k(d))&&a.push("scale("+n(c,1)+" "+n(d,1)+")"),a.length&&l(this.element,"transform",a.join(" "))},toFront:function(){var a=this.element;return a.parentNode.appendChild(a),this},align:function(a,b,c){var e,f,g,h,i={};return f=this.renderer,g=f.alignedObjects,a?(this.alignOptions=a,this.alignByTranslate=b,(!c||d(c))&&(this.alignTo=e=c||"renderer",j(g,this),g.push(this),c=null)):(a=this.alignOptions,b=this.alignByTranslate,e=this.alignTo),c=n(c,f[e],f),e=a.align,f=a.verticalAlign,g=(c.x||0)+(a.x||0),h=(c.y||0)+(a.y||0),"right"!==e&&"center"!==e||(g+=(c.width-(a.width||0))/{right:1,center:2}[e]),i[b?"translateX":"x"]=ja(g),"bottom"!==f&&"middle"!==f||(h+=(c.height-(a.height||0))/({bottom:1,middle:2}
1[f]||1)),i[b?"translateY":"y"]=ja(h),this[this.placed?"animate":"attr"](i),this.placed=!0,this.alignAttr=i,this},getBBox:function(){var b,c,d=this.bBox,e=this.renderer,f=this.rotation;b=this.element;var g=this.styles,h=f*sa;c=this.textStr;var i;if((""===c||La.test(c))&&(i=c.length+"|"+g.fontSize+"|"+g.fontFamily,d=e.cache[i]),!d){if(b.namespaceURI===Aa||e.forExport){try{d=b.getBBox?a({},b.getBBox()):{width:b.offsetWidth,height:b.offsetHeight}}catch(j){}(!d||d.width<0)&&(d={width:0,height:0})}else d=this.htmlGetBBox();e.isSVG&&(b=d.width,c=d.height,va&&g&&"11px"===g.fontSize&&"16.9"===c.toPrecision(3)&&(d.height=c=14),f&&(d.width=oa(c*qa(h))+oa(b*pa(h)),d.height=oa(c*pa(h))+oa(b*qa(h)))),this.bBox=d,i&&(e.cache[i]=d)}return d},show:function(){return this.attr({visibility:"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var b=this;b.animate({opacity:0},{duration:a||150,complete:function(){b.hide()}})},add:function(a){var b,d=this.renderer,e=a||d,f=e.element||d.box,g=f.childNodes,h=this.element,i=l(h,"zIndex");if(a&&(this.parentGroup=a),this.parentInverted=a&&a.inverted,void 0!==this.textStr&&d.buildText(this),i&&(e.handleZ=!0,i=c(i)),e.handleZ)for(e=0;e<g.length;e++)if(a=g[e],d=l(a,"zIndex"),a!==h&&(c(d)>i||!k(i)&&k(d))){f.insertBefore(h,a),b=!0;break}return b||f.appendChild(h),this.added=!0,$a(this,"add"),this},safeRemoveChild:function(a){var b=a.parentNode;b&&b.removeChild(a)},destroy:function(){var a,b,c=this,d=c.element||{},e=c.shadows,f=c.renderer.isSVG&&"SPAN"===d.nodeName&&c.parentGroup;if(d.onclick=d.onmouseout=d.onmouseover=d.onmousemove=d.point=null,bb(c),c.clipPath&&(c.clipPath=c.clipPath.destroy()),c.stops){for(b=0;b<c.stops.length;b++)c.stops[b]=c.stops[b].destroy();c.stops=null}for(c.safeRemoveChild(d),e&&Ua(e,function(a){c.safeRemoveChild(a)});f&&0===f.div.childNodes.length;)d=f.parentGroup,c.safeRemoveChild(f.div),delete f.div,f=d;c.alignTo&&j(c.renderer.alignedObjects,c);for(a in c)delete c[a];return null},shadow:function(a,b,c){var d,e,f,g,h,i,j=[],k=this.element;if(a){for(g=n(a.width,3),h=(a.opacity||.15)/g,i=this.parentInverted?"(-1,-1)":"("+n(a.offsetX,1)+", "+n(a.offsetY,1)+")",d=1;g>=d;d++)e=k.cloneNode(0),f=2*g+1-2*d,l(e,{isShadow:"true",stroke:a.color||"black","stroke-opacity":h*d,"stroke-width":f,transform:"translate"+i,fill:Ka}),c&&(l(e,"height",ma(l(e,"height")-f,0)),e.cutHeight=f),b?b.element.appendChild(e):k.parentNode.insertBefore(e,k),j.push(e);this.shadows=j}return this}};var hb=function(){this.init.apply(this,arguments)};hb.prototype={Element:H,init:function(a,b,c,d){var e,f,g=location;e=this.createElement("svg").attr({version:"1.1"}),f=e.element,a.appendChild(f),-1===a.innerHTML.indexOf("xmlns")&&l(f,"xmlns",Aa),this.isSVG=!0,this.box=f,this.boxWrapper=e,this.alignedObjects=[],this.url=(ya||xa)&&ga.getElementsByTagName("base").length?g.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"",this.createElement("desc").add().element.appendChild(ga.createTextNode("Created with Highcharts 3.0.9")),this.defs=this.createElement("defs").add(),this.forExport=d,this.gradients={},this.cache={},this.setSize(b,c,!1);var h;ya&&a.getBoundingClientRect&&(this.subPixelFix=b=function(){o(a,{left:0,top:0}),h=a.getBoundingClientRect(),o(a,{left:la(h.left)-h.left+"px",top:la(h.top)-h.top+"px"})},b(),Ya(ha,"resize",b))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),B(this.gradients||{}),this.gradients=null,a&&(this.defs=a.destroy()),this.subPixelFix&&Za(ha,"resize",this.subPixelFix),this.alignedObjects=null},createElement:function(a){var b=new this.Element;return b.init(this,a),b},draw:function(){},buildText:function(a){for(var b=a.element,d=this,e=d.forExport,f=n(a.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),g=b.childNodes,h=/style="([^"]+)"/,i=/href="(http[^"]+)"/,j=l(b,"x"),k=a.styles,m=a.textWidth,p=k&&k.lineHeight,q=g.length,r=function(a){return p?c(p):d.fontMetrics(/px$/.test(a&&a.style.fontSize)?a.style.fontSize:k.fontSize||11).h};q--;)b.removeChild(g[q]);m&&!a.added&&this.box.appendChild(b),""===f[f.length-1]&&f.pop(),Ua(f,function(c,f){var g,n=0,c=c.replace(/<span/g,"|||<span").replace(/<\/span>/g,"</span>|||");g=c.split("|||"),Ua(g,function(c){if(""!==c||1===g.length){var p,q={},s=ga.createElementNS(Aa,"tspan");if(h.test(c)&&(p=c.match(h)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),l(s,"style",p)),i.test(c)&&!e&&(l(s,"onclick",'location.href="'+c.match(i)[1]+'"'),o(s,{cursor:"pointer"})),c=(c.replace(/<(.|\n)*?>/g,"")||" ").replace(/</g,"<").replace(/>/g,">")," "!==c&&(s.appendChild(ga.createTextNode(c)),n?q.dx=0:q.x=j,l(s,q),!n&&f&&(!Ba&&e&&o(s,{display:"block"}),l(s,"dy",r(s),xa&&s.offsetHeight)),b.appendChild(s),n++,m))for(var t,u,c=c.replace(/([^\^])-/g,"$1- ").split(" "),q=c.length>1&&"nowrap"!==k.whiteSpace,v=a._clipHeight,w=[],x=r(),y=1;q&&(c.length||w.length);)delete a.bBox,t=a.getBBox(),u=t.width,!Ba&&d.forExport&&(u=d.measureSpanWidth(s.firstChild.data,a.styles)),t=u>m,t&&1!==c.length?(s.removeChild(s.firstChild),w.unshift(c.pop())):(c=w,w=[],c.length&&(y++,v&&y*x>v?(c=["..."],a.attr("title",a.textStr)):(s=ga.createElementNS(Aa,"tspan"),l(s,{dy:x,x:j}),p&&l(s,"style",p),b.appendChild(s),u>m&&(m=u)))),c.length&&s.appendChild(ga.createTextNode(c.join(" ").replace(/- /g,"-")))}})})},button:function(c,d,e,f,g,h,i,j,k){var l,m,n,o,p,q,r=this.label(c,d,e,k,null,null,null,null,"button"),s=0,c={x1:0,y1:0,x2:0,y2:1},g=b({"stroke-width":1,stroke:"#CCCCCC",fill:{linearGradient:c,stops:[[0,"#FEFEFE"],[1,"#F6F6F6"]]},r:2,padding:5,style:{color:"black"}},g);return n=g.style,delete g.style,h=b(g,{stroke:"#68A",fill:{linearGradient:c,stops:[[0,"#FFF"],[1,"#ACF"]]}},h),o=h.style,delete h.style,i=b(g,{stroke:"#68A",fill:{linearGradient:c,stops:[[0,"#9BD"],[1,"#CDF"]]}},i),p=i.style,delete i.style,j=b(g,{style:{color:"#CCC"}},j),q=j.style,delete j.style,Ya(r.element,va?"mouseover":"mouseenter",function(){3!==s&&r.attr(h).css(o)}),Ya(r.element,va?"mouseout":"mouseleave",function(){3!==s&&(l=[g,h,i][s],m=[n,o,p][s],r.attr(l).css(m))}
1),r.setState=function(a){(r.state=s=a)?2===a?r.attr(i).css(p):3===a&&r.attr(j).css(q):r.attr(g).css(n)},r.on("click",function(){3!==s&&f.call(r)}).attr(g).css(a({cursor:"default"},n))},crispLine:function(a,b){return a[1]===a[4]&&(a[1]=a[4]=ja(a[1])-b%2/2),a[2]===a[5]&&(a[2]=a[5]=ja(a[2])+b%2/2),a},path:function(b){var c={fill:Ka};return f(b)?c.d=b:e(b)&&a(c,b),this.createElement("path").attr(c)},circle:function(a,b,c){return a=e(a)?a:{x:a,y:b,r:c},this.createElement("circle").attr(a)},arc:function(a,b,c,d,f,g){return e(a)&&(b=a.y,c=a.r,d=a.innerR,f=a.start,g=a.end,a=a.x),a=this.symbol("arc",a||0,b||0,c||0,c||0,{innerR:d||0,start:f||0,end:g||0}),a.r=c,a},rect:function(a,b,c,d,f,g){return f=e(a)?a.r:f,f=this.createElement("rect").attr({rx:f,ry:f,fill:Ka}),f.attr(e(a)?a:f.crisp(g,a,b,ma(c,0),ma(d,0)))},setSize:function(a,b,c){var d=this.alignedObjects,e=d.length;for(this.width=a,this.height=b,this.boxWrapper[n(c,!0)?"animate":"attr"]({width:a,height:b});e--;)d[e].align()},g:function(a){var b=this.createElement("g");return k(a)?b.attr({"class":"highcharts-"+a}):b},image:function(b,c,d,e,f){var g={preserveAspectRatio:Ka};return arguments.length>1&&a(g,{x:c,y:d,width:e,height:f}),g=this.createElement("image").attr(g),g.element.setAttributeNS?g.element.setAttributeNS("http://www.w3.org/1999/xlink","href",b):g.element.setAttribute("hc-svg-href",b),g},symbol:function(b,c,d,e,f,g){var h,i,j,k=this.symbols[b],k=k&&k(ja(c),ja(d),e,f,g),l=/^url\((.*?)\)$/;return k?(h=this.path(k),a(h,{symbolName:b,x:c,y:d,width:e,height:f}),g&&a(h,g)):l.test(b)&&(j=function(a,b){a.element&&(a.attr({width:b[0],height:b[1]}),a.alignByTranslate||a.translate(ja((e-b[0])/2),ja((f-b[1])/2)))},i=b.match(l)[1],b=Fa[i],h=this.image(i).attr({x:c,y:d}),h.isImg=!0,b?j(h,b):(h.attr({width:0,height:0}),p("img",{onload:function(){j(h,Fa[i]=[this.width,this.height])},src:i}))),h},symbols:{circle:function(a,b,c,d){var e=.166*c;return["M",a+c/2,b,"C",a+c+e,b,a+c+e,b+d,a+c/2,b+d,"C",a-e,b+d,a-e,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(a,b,c,d,e){var f=e.start,c=e.r||c||d,g=e.end-.001,d=e.innerR,h=e.open,i=pa(f),j=qa(f),k=pa(g),g=qa(g),e=e.end-f<ra?0:1;return["M",a+c*i,b+c*j,"A",c,c,0,e,1,a+c*k,b+c*g,h?"M":"L",a+d*k,b+d*g,"A",d,d,0,e,0,a+d*i,b+d*j,h?"":"Z"]}},clipRect:function(a,b,c,d){var e="highcharts-"+Ga++,f=this.createElement("clipPath").attr({id:e}).add(this.defs),a=this.rect(a,b,c,d,0).add(f);return a.id=e,a.clipPath=f,a},color:function(a,c,d){var e,g,h,i,j,m,n,o,p=this,q=/^rgba/,r=[];if(a&&a.linearGradient?g="linearGradient":a&&a.radialGradient&&(g="radialGradient"),g){d=a[g],h=p.gradients,j=a.stops,c=c.radialReference,f(d)&&(a[g]=d={x1:d[0],y1:d[1],x2:d[2],y2:d[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===g&&c&&!k(d.gradientUnits)&&(d=b(d,{cx:c[0]-c[2]/2+d.cx*c[2],cy:c[1]-c[2]/2+d.cy*c[2],r:d.r*c[2],gradientUnits:"userSpaceOnUse"}));for(o in d)"id"!==o&&r.push(o,d[o]);for(o in j)r.push(j[o]);return r=r.join(","),h[r]?a=h[r].id:(d.id=a="highcharts-"+Ga++,h[r]=i=p.createElement(g).attr(d).add(p.defs),i.stops=[],Ua(j,function(a){q.test(a[1])?(e=gb(a[1]),m=e.get("rgb"),n=e.get("a")):(m=a[1],n=1),a=p.createElement("stop").attr({offset:a[0],"stop-color":m,"stop-opacity":n}).add(i),i.stops.push(a)})),"url("+p.url+"#"+a+")"}return q.test(a)?(e=gb(a),l(c,d+"-opacity",e.get("a")),e.get("rgb")):(c.removeAttribute(d+"-opacity"),a)},text:function(a,b,c,d){var e=Q.chart.style,f=Da||!Ba&&this.forExport;return d&&!this.forExport?this.html(a,b,c):(b=ja(n(b,0)),c=ja(n(c,0)),a=this.createElement("text").attr({x:b,y:c,text:a}).css({fontFamily:e.fontFamily,fontSize:e.fontSize}),f&&a.css({position:"absolute"}),a.x=b,a.y=c,a)},fontMetrics:function(a){var a=c(a||11),a=24>a?a+4:ja(1.2*a),b=ja(.8*a);return{h:a,b:b}},label:function(c,d,e,f,g,h,i,j,l){function m(){var a,c;a=A.element.style,r=(void 0===s||void 0===t||z.styles.textAlign)&&A.getBBox(),z.width=(s||r.width||0)+2*C+D,z.height=(t||r.height||0)+2*C,w=C+y.fontMetrics(a&&a.fontSize).b,x&&(q||(a=ja(-B*C),c=j?-w:0,z.box=q=f?y.symbol(f,a,c,z.width,z.height,F):y.rect(a,c,z.width,z.height,0,F[Na]),q.add(z)),q.isImg||q.attr(b({width:z.width,height:z.height},F)),F=null)}
1function n(){var a,b=z.styles,b=b&&b.textAlign,c=D+C*(1-B);a=j?0:w,!k(s)||"center"!==b&&"right"!==b||(c+={center:.5,right:1}[b]*(s-r.width)),(c!==A.x||a!==A.y)&&A.attr({x:c,y:a}),A.x=c,A.y=a}function o(a,b){q?q.attr(a,b):F[a]=b}function p(){A.add(z),z.attr({text:c,x:d,y:e}),q&&k(g)&&z.attr({anchorX:g,anchorY:h})}var q,r,s,t,u,v,w,x,y=this,z=y.g(l),A=y.text("",0,0,i).attr({zIndex:1}),B=0,C=3,D=0,E=0,F={},i=z.attrSetters;Ya(z,"add",p),i.width=function(a){return s=a,!1},i.height=function(a){return t=a,!1},i.padding=function(a){return k(a)&&a!==C&&(C=a,n()),!1},i.paddingLeft=function(a){return k(a)&&a!==D&&(D=a,n()),!1},i.align=function(a){return B={left:0,center:.5,right:1}[a],!1},i.text=function(a,b){return A.attr(b,a),m(),n(),!1},i[Na]=function(a,b){return x=!0,E=a%2/2,o(b,a),!1},i.stroke=i.fill=i.r=function(a,b){return"fill"===b&&(x=!0),o(b,a),!1},i.anchorX=function(a,b){return g=a,o(b,a+E-u),!1},i.anchorY=function(a,b){return h=a,o(b,a-v),!1},i.x=function(a){return z.x=a,a-=B*((s||r.width)+C),u=ja(a),z.attr("translateX",u),!1},i.y=function(a){return v=z.y=ja(a),z.attr("translateY",v),!1};var G=z.css;return a(z,{css:function(a){if(a){var c={},a=b(a);Ua("fontSize,fontWeight,fontFamily,color,lineHeight,width,textDecoration,textShadow".split(","),function(b){a[b]!==N&&(c[b]=a[b],delete a[b])}),A.css(c)}return G.call(z,a)},getBBox:function(){return{width:r.width+2*C,height:r.height+2*C,x:r.x-C,y:r.y-C}},shadow:function(a){return q&&q.shadow(a),z},destroy:function(){Za(z,"add",p),Za(z.element,"mouseenter"),Za(z.element,"mouseleave"),A&&(A=A.destroy()),q&&(q=q.destroy()),H.prototype.destroy.call(z),z=y=m=n=o=p=null}})}},O=hb,a(H.prototype,{htmlCss:function(b){var c=this.element;return(c=b&&"SPAN"===c.tagName&&b.width)&&(delete b.width,this.textWidth=c,this.updateTransform()),this.styles=a(this.styles,b),o(this.element,b),this},htmlGetBBox:function(){var a=this.element,b=this.bBox;return b||("text"===a.nodeName&&(a.style.position="absolute"),b=this.bBox={x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}),b},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,b=this.element,d=this.translateX||0,e=this.translateY||0,f=this.x||0,g=this.y||0,h=this.textAlign||"left",i={left:0,center:.5,right:1}[h],j=this.shadows;if(o(b,{marginLeft:d,marginTop:e}),j&&Ua(j,function(a){o(a,{marginLeft:d+1,marginTop:e+1}
1)}),this.inverted&&Ua(b.childNodes,function(c){a.invertChild(c,b)}), 2"SPAN"===b.tagName){var l,m=this.rotation,p=c(this.textWidth),q=[m,h,b.innerHTML,this.textWidth].join(",");q!==this.cTT&&(l=a.fontMetrics(b.style.fontSize).b,k(m)&&this.setSpanRotation(m,i,l),j=n(this.elemWidth,b.offsetWidth),j>p&&/[ \-]/.test(b.textContent||b.innerText)&&(o(b,{width:p+"px",display:"block",whiteSpace:"normal"}),j=p),this.getSpanCorrection(j,l,i,m,h)),o(b,{left:f+(this.xCorr||0)+"px",top:g+(this.yCorr||0)+"px"}),xa&&(l=b.offsetHeight),this.cTT=q}}else this.alignOnAdd=!0},setSpanRotation:function(a,b,c){var d={},e=va?"-ms-transform":xa?"-webkit-transform":ya?"MozTransform":ua?"-o-transform":"";d[e]=d.transform="rotate("+a+"deg)",d[e+(ya?"Origin":"-origin")]=100*b+"% "+c+"px",o(this.element,d)},getSpanCorrection:function(a,b,c){this.xCorr=-a*c,this.yCorr=-b}}),a(hb.prototype,{html:function(b,c,d){var e=Q.chart.style,f=this.createElement("span"),g=f.attrSetters,h=f.element,i=f.renderer;return g.text=function(a){return a!==h.innerHTML&&delete this.bBox,h.innerHTML=a,!1},g.x=g.y=g.align=g.rotation=function(a,b){return"align"===b&&(b="textAlign"),f[b]=a,f.htmlUpdateTransform(),!1},f.attr({text:b,x:ja(c),y:ja(d)}).css({position:"absolute",whiteSpace:"nowrap",fontFamily:e.fontFamily,fontSize:e.fontSize}),f.css=f.htmlCss,i.isSVG&&(f.add=function(b){var c,d=i.box.parentNode,e=[];if(this.parentGroup=b){if(c=b.div,!c){for(;b;)e.push(b),b=b.parentGroup;Ua(e.reverse(),function(b){var e;c=b.div=b.div||p(Ja,{className:l(b.element,"class")},{position:"absolute",left:(b.translateX||0)+"px",top:(b.translateY||0)+"px"},c||d),e=c.style,a(b.attrSetters,{translateX:function(a){e.left=a+"px"},translateY:function(a){e.top=a+"px"},visibility:function(a,b){e[b]=a}})})}}else c=d;return c.appendChild(h),f.added=!0,f.alignOnAdd&&f.htmlUpdateTransform(),f}),f}});var ib;if(!Ba&&!Da){Highcharts.VMLElement=ib={init:function(a,b){var c=["<",b,' filled="f" stroked="f"'],d=["position: ","absolute",";"],e=b===Ja;("shape"===b||e)&&d.push("left:0;top:0;width:1px;height:1px;"),d.push("visibility: ",e?"hidden":"visible"),c.push(' style="',d.join(""),'"/>'),b&&(c=e||"span"===b||"img"===b?c.join(""):a.prepVML(c),this.element=p(c)),this.renderer=a,this.attrSetters={}},add:function(a){var b=this.renderer,c=this.element,d=b.box,d=a?a.element||a:d;return a&&a.inverted&&b.invertChild(c,d),d.appendChild(c),this.added=!0,this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform(),$a(this,"add"),this},updateTransform:H.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=pa(a*sa),c=qa(a*sa);o(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-c,", M21=",c,", M22=",b,", sizingMethod='auto expand')"].join(""):Ka})},getSpanCorrection:function(a,b,c,d,e){var f,g=d?pa(d*sa):1,h=d?qa(d*sa):0,i=n(this.elemHeight,this.element.offsetHeight);this.xCorr=0>g&&-a,this.yCorr=0>h&&-i,f=0>g*h,this.xCorr+=h*b*(f?1-c:c),this.yCorr-=g*b*(d?f?c:1-c:1),e&&"left"!==e&&(this.xCorr-=a*c*(0>g?-1:1),d&&(this.yCorr-=i*c*(0>h?-1:1)),o(this.element,{textAlign:e}))},pathToVML:function(a){for(var b=a.length,c=[];b--;)g(a[b])?c[b]=ja(10*a[b])-5:"Z"===a[b]?c[b]="x":(c[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(c[b+5]===c[b+7]&&(c[b+7]+=a[b+7]>a[b+5]?1:-1),c[b+6]===c[b+8]&&(c[b+8]+=a[b+8]>a[b+6]?1:-1)));return c.join(" ")||"x"},attr:function(a,b){var c,e,f,h,i,j=this.element||{},m=j.style,n=j.nodeName,o=this.renderer,q=this.symbolName,r=this.shadows,s=this.attrSetters,t=this;if(d(a)&&k(b)&&(c=a,a={},a[c]=b),d(a))c=a,t="strokeWidth"===c||"stroke-width"===c?this.strokeweight:this[c];else for(c in a)if(e=a[c],i=!1,f=s[c]&&s[c].call(this,e,c),f!==!1&&null!==e){if(f!==N&&(e=f),q&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(c))h||(this.symbolAttr(a),h=!0),i=!0;else if("d"===c){if(e=e||[],this.d=e.join(" "),j.path=e=this.pathToVML(e),r)for(f=r.length;f--;)r[f].path=r[f].cutOff?this.cutOffPath(e,r[f].cutOff):e;i=!0}else if("visibility"===c){if(r)for(f=r.length;f--;)r[f].style[c]=e;"DIV"===n&&(e="hidden"===e?"-999em":0,wa||(m[c]=e?"visible":"hidden"),c="top"),m[c]=e,i=!0}else"zIndex"===c?(e&&(m[c]=e),i=!0):-1!==Ta(c,["x","y","width","height"])?(this[c]=e,"x"===c||"y"===c?c={x:"left",y:"top"}[c]:e=ma(0,e),this.updateClipping?(this[c]=e,this.updateClipping()):m[c]=e,i=!0):"class"===c&&"DIV"===n?j.className=e:"stroke"===c?(e=o.color(e,j,c),c="strokecolor"):"stroke-width"===c||"strokeWidth"===c?(j.stroked=!!e,c="strokeweight",this[c]=e,g(e)&&(e+="px")):"dashstyle"===c?((j.getElementsByTagName("stroke")[0]||p(o.prepVML(["<stroke/>"]),null,null,j))[c]=e||"solid",this.dashstyle=e,i=!0):"fill"===c?"SPAN"===n?m.color=e:"IMG"!==n&&(j.filled=e!==Ka,e=o.color(e,j,c,this),c="fillcolor"):"opacity"===c?i=!0:"shape"===n&&"rotation"===c?(this[c]=j.style[c]=e,j.style.left=-ja(qa(e*sa)+1)+"px",j.style.top=ja(pa(e*sa))+"px"):"translateX"!==c&&"translateY"!==c&&"rotation"!==c||(this[c]=e,this.updateTransform(),i=!0);i||(wa?j[c]=e:l(j,c,e))}return t},clip:function(a){var b,c=this;return a?(b=a.members,j(b,c),b.push(c),c.destroyClip=function(){j(b,c)},a=a.getCSS(c)):(c.destroyClip&&c.destroyClip(),a={clip:wa?"inherit":"rect(auto)"}),c.css(a)},css:H.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&C(a)},destroy:function(){return this.destroyClip&&this.destroyClip(),H.prototype.destroy.apply(this)},on:function(a,b){return this.element["on"+a]=function(){var a=ha.event;a.target=a.srcElement,b(a)},this},cutOffPath:function(a,b){var d,a=a.split(/[ ,]/);return d=a.length,9!==d&&11!==d||(a[d-4]=a[d-2]=c(a[d-2])-10*b),a.join(" ")},shadow:function(a,b,d){var e,f,g,h,i,j,k,l=[],m=this.element,o=this.renderer,q=m.style,r=m.path;if(r&&"string"!=typeof r.value&&(r="x"),i=r,a){for(j=n(a.width,3),k=(a.opacity||.15)/j,e=1;3>=e;e++)h=2*j+1-2*e,d&&(i=this.cutOffPath(r.value,h+.5)),g=['<shape isShadow="true" strokeweight="',h,'" filled="false" path="',i,'" coordsize="10 10" style="',m.style.cssText,'" />'],f=p(o.prepVML(g),null,{left:c(q.left)+n(a.offsetX,1),top:c(q.top)+n(a.offsetY,1)}),d&&(f.cutOff=h+1),g=['<stroke color="',a.color||"black",'" opacity="',k*e,'"/>
2'],p(o.prepVML(g),null,null,f),b?b.element.appendChild(f):m.parentNode.insertBefore(f,m),l.push(f);this.shadows=l}return this}},ib=q(H,ib);var jb={Element:ib,isIE8:ta.indexOf("MSIE 8.0")>-1,init:function(a,b,c){var d,e;if(this.alignedObjects=[],d=this.createElement(Ja),e=d.element,e.style.position="relative",a.appendChild(d.element),this.isVML=!0,this.box=e,this.boxWrapper=d,this.cache={},this.setSize(b,c,!1),!ga.namespaces.hcv){ga.namespaces.add("hcv","urn:schemas-microsoft-com:vml");try{ga.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } "}catch(f){ga.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(b,c,d,f){var g=this.createElement(),h=e(b);return a(g,{members:[],left:(h?b.x:b)+1,top:(h?b.y:c)+1,width:(h?b.width:d)-1,height:(h?b.height:f)-1,getCSS:function(b){var c=b.element,d=c.nodeName,b=b.inverted,e=this.top-("shape"===d?c.offsetTop:0),f=this.left,c=f+this.width,g=e+this.height,e={clip:"rect("+ja(b?f:e)+"px,"+ja(b?g:c)+"px,"+ja(b?c:g)+"px,"+ja(b?e:f)+"px)"};return!b&&wa&&"DIV"===d&&a(e,{width:c+"px",height:g+"px"}),e},updateClipping:function(){Ua(g.members,function(a){a.css(g.getCSS(a))})}})},color:function(a,b,c,d){var e,f,g,h=this,i=/^rgba/,j=Ka;if(a&&a.linearGradient?g="gradient":a&&a.radialGradient&&(g="pattern"),g){var k,l,m,n,o,q,r,s,t=a.linearGradient||a.radialGradient,u="",a=a.stops,v=[],w=function(){f=['<fill colors="'+v.join(",")+'" opacity="',o,'" o:opacity2="',n,'" type="',g,'" ',u,'focus="100%" method="any" />'],p(h.prepVML(f),null,null,b)};if(m=a[0],s=a[a.length-1],m[0]>0&&a.unshift([0,m[1]]),s[0]<1&&a.push([1,s[1]]),Ua(a,function(a,b){i.test(a[1])?(e=gb(a[1]),k=e.get("rgb"),l=e.get("a")):(k=a[1],l=1),v.push(100*a[0]+"% "+k),b?(o=l,q=k):(n=l,r=k)}),"fill"===c)if("gradient"===g)c=t.x1||t[0]||0,a=t.y1||t[1]||0,m=t.x2||t[2]||0,t=t.y2||t[3]||0,u='angle="'+(90-180*ia.atan((t-a)/(m-c))/ra)+'"',w();else{var x,j=t.r,y=2*j,z=2*j,A=t.cx,B=t.cy,C=b.radialReference,j=function(){C&&(x=d.getBBox(),A+=(C[0]-x.x)/x.width-.5,B+=(C[1]-x.y)/x.height-.5,y*=C[2]/x.width,z*=C[2]/x.height),u='src="'+Q.global.VMLRadialGradientURL+'" size="'+y+","+z+'" origin="0.5,0.5" position="'+A+","+B+'" color2="'+r+'" ',w()};d.added?j():Ya(d,"add",j),j=q}else j=k}else i.test(a)&&"IMG"!==b.tagName?(e=gb(a),f=["<",c,' opacity="',e.get("a"),'"/>'],p(this.prepVML(f),null,null,b),j=e.get("rgb")):(j=b.getElementsByTagName(c),j.length&&(j[0].opacity=1,j[0].type="solid"),j=a);return j},prepVML:function(a){var b=this.isIE8,a=a.join("");return b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),a=-1===a.indexOf('style="')?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:"),a},text:hb.prototype.html,path:function(b){var c={coordsize:"10 10"};return f(b)?c.d=b:e(b)&&a(c,b),this.createElement("shape").attr(c)},circle:function(a,b,c){var d=this.symbol("circle");return e(a)&&(c=a.r,b=a.y,a=a.x),d.isCircle=!0,d.r=c,d.attr({x:a,y:b})},g:function(a){var b;return a&&(b={className:"highcharts-"+a,"class":"highcharts-"+a}),this.createElement(Ja).attr(b)},image:function(a,b,c,d,e){var f=this.createElement("img").attr({src:a});return arguments.length>1&&f.attr({x:b,y:c,width:d,height:e}),f},rect:function(a,b,c,d,f,g){var h=this.symbol("rect");return h.r=e(a)?a.r:f,h.attr(e(a)?a:h.crisp(g,a,b,ma(c,0),ma(d,0)))},invertChild:function(a,b){var d=b.style;o(a,{flip:"x",left:c(d.width)-1,top:c(d.height)-1,rotation:-90})},symbols:{arc:function(a,b,c,d,e){var f=e.start,g=e.end,h=e.r||c||d,c=e.innerR,d=pa(f),i=qa(f),j=pa(g),k=qa(g);return g-f===0?["x"]:(f=["wa",a-h,b-h,a+h,b+h,a+h*d,b+h*i,a+h*j,b+h*k],e.open&&!c&&f.push("e","M",a,b),f.push("at",a-c,b-c,a+c,b+c,a+c*j,b+c*k,a+c*d,b+c*i,"x","e"),f.isArc=!0,f)},circle:function(a,b,c,d,e){return e&&(c=d=2*e.r),e&&e.isCircle&&(a-=c/2,b-=d/2),["wa",a,b,a+c,b+d,a+c,b+d/2,a+c,b+d/2,"e"]},rect:function(a,b,c,d,e){var f,g=a+c,h=b+d;return k(e)&&e.r?(f=na(e.r,c,d),g=["M",a+f,b,"L",g-f,b,"wa",g-2*f,b,g,b+2*f,g-f,b,g,b+f,"L",g,h-f,"wa",g-2*f,h-2*f,g,h,g,h-f,g-f,h,"L",a+f,h,"wa",a,h-2*f,a+2*f,h,a+f,h,a,h-f,"L",a,b+f,"wa",a,b,a+2*f,b+2*f,a,b+f,a+f,b,"x","e"]):g=hb.prototype.symbols.square.a
2pply(0,arguments),g}}};Highcharts.VMLRenderer=ib=function(){this.init.apply(this,arguments)},ib.prototype=b(hb.prototype,jb),O=ib}hb.prototype.measureSpanWidth=function(a,b){var c,d=ga.createElement("span");return c=ga.createTextNode(a),d.appendChild(c),o(d,b),this.box.appendChild(d),c=d.offsetWidth,C(d),c};var kb;Da&&(Highcharts.CanVGRenderer=ib=function(){Aa="http://www.w3.org/1999/xhtml"},ib.prototype.symbols={},kb=function(){function a(){var a,c=b.length;for(a=0;c>a;a++)b[a]();b=[]}var b=[];return{push:function(c,d){0===b.length&&Sa(d,a),b.push(c)}}}(),O=ib),I.prototype={addLabel:function(){var b,c=this.axis,d=c.options,e=c.chart,f=c.horiz,h=c.categories,j=c.names,l=this.pos,m=d.labels,o=c.tickPositions,f=f&&h&&!m.step&&!m.staggerLines&&!m.rotation&&e.plotWidth/o.length||!f&&(e.margin[3]||.33*e.chartWidth),p=l===o[0],q=l===o[o.length-1],j=h?n(h[l],j[l],l):l,h=this.label,r=o.info;c.isDatetimeAxis&&r&&(b=d.dateTimeLabelFormats[r.higherRanks[l]||r.unitName]),this.isFirst=p,this.isLast=q,d=c.labelFormatter.call({axis:c,chart:e,isFirst:p,isLast:q,dateTimeLabelFormat:b,value:c.isLog?E(i(j)):j}),l=f&&{width:ma(1,ja(f-2*(m.padding||10)))+"px"},l=a(l,m.style),k(h)?h&&h.attr({text:d}).css(l):(b={align:c.labelAlign},g(m.rotation)&&(b.rotation=m.rotation),f&&m.ellipsis&&(b._clipHeight=c.len/o.length),this.label=k(d)&&m.enabled?e.renderer.text(d,0,0,m.useHTML).attr(b).css(l).add(c.labelGroup):null)},getLabelSize:function(){var a=this.label,b=this.axis;return a?a.getBBox()[b.horiz?"height":"width"]:0},getLabelSides:function(){var a=this.label.getBBox(),b=this.axis,c=b.horiz,d=b.options.labels,a=c?a.width:a.height,b=c?a*{left:0,center:.5,right:1}[b.labelAlign]-d.x:a;return[-b,a-b]},handleOverflow:function(a,b){var c,d=!0,e=this.axis,f=this.isFirst,g=this.isLast,h=e.horiz?b.x:b.y,i=e.reversed,j=e.tickPositions,k=this.getLabelSides(),l=k[0],k=k[1],m=e.pos,n=m+e.len,o=this.label.line||0,p=e.labelEdge,q=e.justifyLabels&&(f||g);return p[o]===N||h+l>p[o]?p[o]=h+k:q||(d=!1),q&&(c=(e=e.ticks[j[a+(f?1:-1)]])&&e.label.xy&&e.label.xy.x+e.getLabelSides()[f?0:1],j=c,f&&!i||g&&i?m>h+l&&(h=m-l,e&&h+k>j&&(d=!1)):h+k>n&&(h=n-k,e&&j>h+l&&(d=!1)),b.x=h),d},getPosition:function(a,b,c,d){var e=this.axis,f=e.chart,g=d&&f.oldChartHeight||f.chartHeight;return{x:a?e.translate(b+c,null,null,d)+e.transB:e.left+e.offset+(e.opposite?(d&&f.oldChartWidth||f.chartWidth)-e.right-e.left:0),y:a?g-e.bottom+e.offset-(e.opposite?e.height:0):g-e.translate(b+c,null,null,d)-e.transB}},getLabelPosition:function(a,b,c,d,e,f,g,h){var i=this.axis,j=i.transA,l=i.reversed,m=i.staggerLines,n=i.chart.renderer.fontMetrics(e.style.fontSize).b,o=e.rotation,a=a+e.x-(f&&d?f*j*(l?-1:1):0),b=b+e.y-(f&&!d?f*j*(l?1:-1):0);return o&&2===i.side&&(b-=n-n*pa(o*sa)),!k(e.y)&&!o&&(b+=n-c.getBBox().height/2),m&&(c.line=g/(h||1)%m,b+=c.line*(i.labelOffset/m)),{x:a,y:b}},getMarkPath:function(a,b,c,d,e,f){return f.crispLine(["M",a,b,"L",a+(e?0:-c),b+(e?c:0)],d)},render:function(a,b,c){var d=this.axis,e=d.options,f=d.chart.renderer,g=d.horiz,h=this.type,i=this.label,j=this.pos,k=e.labels,l=this.gridLine,m=h?h+"Grid":"grid",o=h?h+"Tick":"tick",p=e[m+"LineWidth"],q=e[m+"LineColor"],r=e[m+"LineDashStyle"],s=e[o+"Length"],m=e[o+"Width"]||0,t=e[o+"Color"],u=e[o+"Position"],o=this.mark,v=k.step,w=!0,x=d.tickmarkOffset,y=this.getPosition(g,j,x,b),z=y.x,y=y.y,A=g&&z===d.pos+d.len||!g&&y===d.pos?-1:1;this.isActive=!0,p&&(j=d.getPlotLinePath(j+x,p*A,b,!0),l===N&&(l={stroke:q,"stroke-width":p},r&&(l.dashstyle=r),h||(l.zIndex=1),b&&(l.opacity=0),this.gridLine=l=p?f.path(j).attr(l).add(d.gridGroup):null),!b&&l&&j&&l[this.isNew?"attr":"animate"]({d:j,opacity:c})),m&&s&&("inside"===u&&(s=-s),d.opposite&&(s=-s),h=this.getMarkPath(z,y,s,m*A,g,f),o?o.animate({d:h,opacity:c}):this.mark=f.path(h).attr({stroke:t,"stroke-width":m,opacity:c}).add(d.axisGroup)),i&&!isNaN(z)&&(i.xy=y=this.getLabelPosition(z,y,i,g,k,x,a,v),this.isFirst&&!this.isLast&&!n(e.showFirstLabel,1)||this.isLast&&!this.isFirst&&!n(e.showLastLabel,1)?w=!1:!d.isRadial&&!k.step&&!k.rotation&&!b&&0!==c&&(w=this.handleOverflow(a,y)),v&&a%v&&(w=!1),w&&!isNaN(y.y)?(y.opacity=c,i[this.isNew?"attr":"animate"](y),this.isNew=!1):i.attr("y",-9999))},destroy:function(){B(this,this.axis)}};var lb=function(a,b){this.axis=a,b&&(this.options=b,this.id=b.id)};lb.prototype={render:function(){var a,c=this,d=c.axis,e=d.horiz,f=(d.pointRange||0)/2,g=c.options,i=g.label,j=c.label,l=g.width,m=g.to,o=g.from,p=k(o)&&k(m),q=g.value,r=g.dashStyle,s=c.svgElem,t=[],u=g.color,v=g.zIndex,w=g.events,x=d.chart.renderer;if(d.isLog&&(o=h(o),m=h(m),q=h(q)),l)t=d.getPlotLinePath(q,l),f={stroke:u,"stroke-width":l},r&&(f.dashstyle=r);else{if(!p)return;o=ma(o,d.min-f),m=na(m,d.max+f),t=d.getPlotBandPath(o,m,g),f={fill:u},g.borderWidth&&(f.stroke=g.borderColor,f["stroke-width"]=g.borderWidth)}if(k(v)&&(f.zIndex=v),s)t?s.animate({d:t},null,s.onGetPath):(s.hide(),s.onGetPath=function(){s.show()},j&&(c.label=j=j.destroy()));else if(t&&t.length&&(c.svgElem=s=x.path(t).attr(f).add(),w))for(a in g=function(a){s.on(a,function(b){w[a].apply(c,[b])})},w)g(a);return i&&k(i.text)&&t&&t.length&&d.width>0&&d.height>0?(i=b({align:e&&p&&"center",x:e?!p&&4:10,verticalAlign:!e&&p&&"middle",y:e?p?16:10:p?6:-4,rotation:e&&!p&&90},i),j||(c.label=j=x.text(i.text,0,0,i.useHTML).attr({align:i.textAlign||i.align,rotation:i.rotation,zIndex:v}).css(i.style).add()),d=[t[1],t[4],n(t[6],t[1])],t=[t[2],t[5],n(t[7],t[2])],e=z(d),p=z(t),j.align(i,!1,{x:e,y:p,width:A(d)-e,height:A(t)-p}),j.show()):j&&j.hide(),c},destroy:function(){j(this.axis.plotLinesAndBands,this),delete this.axis,B(this)}},J.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:Qa,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 r(this.total,-1)},style:Qa.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(a,b){var c=b.isX;this.horiz=a.inverted?!c:c,this.coll=(this.isXAxis=c)?"xAxis":"yAxis",this.opposite=b.opposite,this.side=b.side||(this.horiz?this.opposite?0:2:this.opposite?1:3),this.setOptions(b);var d=this.options,e=d.type;this.labelFormatter=d.labels.formatter||this.defaultLabelFormatter,this.userOptions=b,this.minPixelPadding=0,this.chart=a,this.reversed=d.reversed,this.zoomEnabled=d.zoomEnabled!==!1,this.categories=d.categories||"category"===e,this.names=[],this.isLog="logarithmic"===e,this.isDatetimeAxis="datetime"===e,this.isLinked=k(d.linkedTo),this.tickmarkOffset=this.categories&&"between"===d.tickmarkPlacement?.5:0,this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len=0,this.minRange=this.userMinRange=d.minRange||d.maxZoom,this.range=d.range,this.offset=d.offset||0,this.stacks={},this.oldStacks={},this.stackExtremes={},this.min=this.max=null,this.crosshair=n(d.crosshair,m(a.options.tooltip.crosshairs)[c?0:1],!1);var f,d=this.options.events;-1===Ta(this,a.axes)&&(a.axes.push(this),a[this.coll].push(this)),this.series=this.series||[],a.inverted&&c&&this.reversed===N&&(this.reversed=!0),this.removePlotLine=this.removePlotBand=this.removePlotBandOrLine;for(f in d)Ya(this,f,d[f]);this.isLog&&(this.val2lin=h,this.lin2val=i)},setOptions:function(a){this.options=b(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],b(Q[this.coll],a))},defaultLabelFormatter:function(){var a,b=this.axis,c=this.value,d=b.categories,e=this.dateTimeLabelFormat,f=Q.lang.numericSymbol
2s,g=f&&f.length,h=b.options.labels.format,b=b.isLog?c:b.tickInterval;if(h)a=u(h,this);else if(d)a=c;else if(e)a=R(e,c);else if(g&&b>=1e3)for(;g--&&a===N;)d=Math.pow(1e3,g+1),b>=d&&null!==f[g]&&(a=r(c/d,-1)+f[g]);return a===N&&(a=c>=1e4?r(c,0):r(c,-1,N,"")),a},getSeriesExtremes:function(){var a=this,b=a.chart;a.hasVisibleSeries=!1,a.dataMin=a.dataMax=null,a.stackExtremes={},a.buildStacks(),Ua(a.series,function(c){if(c.visible||!b.options.chart.ignoreHiddenSeries){var d;d=c.options.threshold;var e;a.hasVisibleSeries=!0,a.isLog&&0>=d&&(d=null),a.isXAxis?(d=c.xData,d.length&&(a.dataMin=na(n(a.dataMin,d[0]),z(d)),a.dataMax=ma(n(a.dataMax,d[0]),A(d)))):(c.getExtremes(),e=c.dataMax,c=c.dataMin,k(c)&&k(e)&&(a.dataMin=na(n(a.dataMin,c),c),a.dataMax=ma(n(a.dataMax,e),e)),k(d)&&(a.dataMin>=d?(a.dataMin=d,a.ignoreMinPadding=!0):a.dataMax<d&&(a.dataMax=d,a.ignoreMaxPadding=!0)))}})},translate:function(a,b,c,d,e,f){var h=this.len,i=1,j=0,k=d?this.oldTransA:this.transA,d=d?this.oldMin:this.min,l=this.minPixelPadding,e=(this.options.ordinal||this.isLog&&e)&&this.lin2val;return k||(k=this.transA),c&&(i*=-1,j=h),this.reversed&&(i*=-1,j-=i*h),b?(a=a*i+j,a-=l,a=a/k+d,e&&(a=this.lin2val(a))):(e&&(a=this.val2lin(a)),"between"===f&&(f=.5),a=i*(a-d)*k+j+i*l+(g(f)?k*f*this.pointRange:0)),a},toPixels:function(a,b){return this.translate(a,!1,!this.horiz,null,!0)+(b?0:this.pos)},toValue:function(a,b){return this.translate(a-(b?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,b,c,d,e){var f,g,h,i=this.chart,j=this.left,k=this.top,l=c&&i.oldChartHeight||i.chartHeight,m=c&&i.oldChartWidth||i.chartWidth;return f=this.transB,e=n(e,this.translate(a,null,null,c)),a=c=ja(e+f),f=g=ja(l-e-f),isNaN(e)?h=!0:this.horiz?(f=k,g=l-this.bottom,(j>a||a>j+this.width)&&(h=!0)):(a=j,c=m-this.right,(k>f||f>
2k+this.height)&&(h=!0)),h&&!d?null:i.renderer.crispLine(["M",a,f,"L",c,g],b||1)},getLinearTickPositions:function(a,b,c){for(var d,b=E(ka(b/a)*a),c=E(la(c/a)*a),e=[];c>=b&&(e.push(b),b=E(b+a),b!==d);)d=b;return e},getMinorTickPositions:function(){var a,b=this.options,c=this.tickPositions,d=this.minorTickInterval,e=[];if(this.isLog)for(a=c.length,b=1;a>b;b++)e=e.concat(this.getLogTickPositions(d,c[b-1],c[b],!0));else if(this.isDatetimeAxis&&"auto"===b.minorTickInterval)e=e.concat(this.getTimeTicks(this.normalizeTimeTickInterval(d),this.min,this.max,b.startOfWeek)),e[0]<this.min&&e.shift();else for(c=this.min+(c[0]-this.min)%d;c<=this.max;c+=d)e.push(c);return e},adjustForMinRange:function(){var a,b,c,d,e,f,g=this.options,h=this.min,i=this.max,j=this.dataMax-this.dataMin>=this.minRange;if(this.isXAxis&&this.minRange===N&&!this.isLog&&(k(g.min)||k(g.max)?this.minRange=null:(Ua(this.series,function(a){for(e=a.xData,c=f=a.xIncrement?1:e.length-1;c>0;c--)d=e[c]-e[c-1],(b===N||b>d)&&(b=d)}),this.minRange=na(5*b,this.dataMax-this.dataMin))),i-h<this.minRange){var l=this.minRange;a=(l-i+h)/2,a=[h-a,n(g.min,h-a)],j&&(a[2]=this.dataMin),h=A(a),i=[h+l,n(g.max,h+l)],j&&(i[2]=this.dataMax),i=z(i),l>i-h&&(a[0]=i-l,a[1]=n(g.min,i-l),h=A(a))}this.min=h,this.max=i},setAxisTranslation:function(a){var b,c=this.max-this.min,e=0,f=0,g=0,h=this.linkedParent,i=!!this.categories,j=this.transA;(this.isXAxis||i)&&(h?(f=h.minPointOffset,g=h.pointRangePadding):Ua(this.series,function(a){var h=ma(a.pointRange,+i),j=a.options.pointPlacement,l=a.closestPointRange;h>c&&(h=0),e=ma(e,h),f=ma(f,d(j)?0:h/2),g=ma(g,"on"===j?0:h),!a.noSharedTooltip&&k(l)&&(b=k(b)?na(b,l):l)}),h=this.ordinalSlope&&b?this.ordinalSlope/b:1,this.minPointOffset=f*=h,this.pointRangePadding=g*=h,this.pointRange=na(e,c),this.closestPointRange=b),a&&(this.oldTransA=j),this.translationSlope=this.transA=j=this.len/(c+g||1),this.transB=this.horiz?this.left:this.bottom,this.minPixelPadding=j*f},setTickPositions:function(a){var b,c=this,d=c.chart,e=c.options,f=c.isLog,g=c.isDatetimeAxis,i=c.isXAxis,j=c.isLinked,l=c.options.tickPositioner,m=e.maxPadding,o=e.minPadding,p=e.tickInterval,q=e.minTickInterval,r=e.tickPixelInterval,s=c.categories;j?(c.linkedParent=d[c.coll][e.linkedTo],d=c.linkedParent.getExtremes(),c.min=n(d.min,d.dataMin),c.max=n(d.max,d.dataMax),e.type!==c.linkedParent.options.type&&D(11,1)):(c.min=n(c.userMin,e.min,c.dataMin),c.max=n(c.userMax,e.max,c.dataMax)),f&&(!a&&na(c.min,n(c.dataMin,c.min))<=0&&D(10,1),c.min=E(h(c.min)),c.max=E(h(c.max))),c.range&&k(c.max)&&(c.userMin=c.min=ma(c.min,c.max-c.range),c.userMax=c.max,c.range=null),c.beforePadding&&c.beforePadding(),c.adjustForMinRange(),!s&&!c.usePercentage&&!j&&k(c.min)&&k(c.max)&&(d=c.max-c.min)&&(k(e.min)||k(c.userMin)||!o||!(c.dataMin<0)&&c.ignoreMinPadding||(c.min-=d*o),k(e.max)||k(c.userMax)||!m||!(c.dataMax>0)&&c.ignoreMaxPadding||(c.max+=d*m)),c.min===c.max||void 0===c.min||void 0===c.max?c.tickInterval=1:j&&!p&&r===c.linkedParent.options.tickPixelInterval?c.tickInterval=c.linkedParent.tickInterval:(c.tickInterval=n(p,s?1:(c.max-c.min)*r/ma(c.len,r)),!k(p)&&c.len<r&&!this.isRadial&&!s&&e.startOnTick&&e.endOnTick&&(b=!0,c.tickInterval/=4)),i&&!a&&Ua(c.series,function(a){a.processData(c.min!==c.oldMin||c.max!==c.oldMax)}),c.setAxisTranslation(!0),c.beforeSetTickPositions&&c.beforeSetTickPositions(),c.postProcessTickInterval&&(c.tickInterval=c.postProcessTickInterval(c.tickInterval)),c.pointRange&&(c.tickInterval=ma(c.pointRange,c.tickInterval)),!p&&c.tickInterval<q&&(c.tickInterval=q),g||f||p||(c.tickInterval=w(c.tickInterval,null,v(c.tickInterval),e)),c.minorTickInterval="auto"===e.minorTickInterval&&c.tickInterval?c.tickInterval/5:e.minorTickInterval,c.tickPositions=a=e.tickPositions?[].concat(e.tickPositions):l&&l.apply(c,[c.min,c.max]),a||(!c.ordinalPositions&&(c.max-c.min)/c.tickInterval>ma(2*c.len,200)&&D(19,!0),a=g?c.getTimeTicks(c.normalizeTimeTickInterval(c.tickInterval,e.units),c.min,c.max,e.startOfWeek,c.ordinalPositions,c.closestPointRange,!0):f?c.getLogTickPositions(c.tickInterval,c.min,c.max):c.getLinearTickPositions(c.tickInterval,c.min,c.max),b&&a.splice(1,a.length-2),c.tickPositions=a),j||(f=a[0],g=a[a.length-1],j=c.minPointOffset||0,e.startOnTick?c.min=f:c.min-j>f&&a.shift(),e.endOnTick?c.max=g:c.max+j<g&&a.pop(),1===a.length&&(c.min-=.
2001,c.max+=.001))},setMaxTicks:function(){var a=this.chart,b=a.maxTicks||{},c=this.tickPositions,d=this._maxTicksKey=[this.coll,this.pos,this.len].join("-");!this.isLinked&&!this.isDatetimeAxis&&c&&c.length>(b[d]||0)&&this.options.alignTicks!==!1&&(b[d]=c.length),a.maxTicks=b},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&&this.min!==N){var d=this.tickAmount,e=b.length;if(this.tickAmount=a=c[a],a>e){for(;b.length<a;)b.push(E(b[b.length-1]+this.tickInterval));this.transA*=(e-1)/(a-1),this.max=b[b.length-1]}k(d)&&a!==d&&(this.isDirty=!0)}},setScale:function(){var a,b,c,d,e=this.stacks;if(this.oldMin=this.min,this.oldMax=this.max,this.oldAxisLength=this.len,this.setAxisSize(),d=this.len!==this.oldAxisLength,Ua(this.series,function(a){(a.isDirtyData||a.isDirty||a.xAxis.isDirty)&&(c=!0)}),d||c||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax){if(!this.isXAxis)for(a in e)for(b in e[a])e[a][b].total=null,e[a][b].cum=0;this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickPositions(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=d||this.min!==this.oldMin||this.max!==this.oldMax)}else if(!this.isXAxis){this.oldStacks&&(e=this.stacks=this.oldStacks);for(a in e)for(b in e[a])e[a][b].cum=e[a][b].total}this.setMaxTicks()},setExtremes:function(b,c,d,e,f){var g=this,h=g.chart,d=n(d,!0),f=a(f,{min:b,max:c});$a(g,"setExtremes",f,function(){g.userMin=b,g.userMax=c,g.eventArgs=f,g.isDirtyExtremes=!0,d&&h.redraw(e)})},zoom:function(a,b){return this.allowZoomOutside||(k(this.dataMin)&&a<=this.dataMin&&(a=N),k(this.dataMax)&&b>=this.dataMax&&(b=N)),this.displayBtn=a!==N||b!==N,this.setExtremes(a,b,!1,N,{trigger:"zoom"}),!0},setAxisSize:function(){var a,b,c=this.chart,d=this.options,e=d.offsetLeft||0,f=d.offsetRight||0,g=this.horiz;this.left=b=n(d.left,c.plotLeft+e),this.top=a=n(d.top,c.plotTop),this.width=e=n(d.width,c.plotWidth-e+f),this.height=d=n(d.height,c.plotHeight),this.bottom=c.chartHeight-d-a,this.right=c.chartWidth-e-b,this.len=ma(g?e:d,0),this.pos=g?b:a},getExtremes:function(){var a=this.isLog;return{min:a?E(i(this.min)):this.min,max:a?E(i(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?i(this.min):this.min,b=b?i(this.max):this.max;return c>a||null===a?a=c:a>b&&(a=b),this.translate(a,0,1,0,1)},autoLabelAlign:function(a){return a=(n(a,0)-90*this.side+720)%360,a>15&&165>a?"right":a>195&&345>a?"left":"center"},getOffset:function(){var a,b,c,d,e,f,g,h=this,i=h.chart,j=i.renderer,l=h.options,m=h.tickPositions,o=h.ticks,p=h.horiz,q=h.side,r=i.inverted?[1,0,3,2][q]:q,s=0,t=0,u=l.title,v=l.labels,w=0,x=i.axisOffset,y=i.clipOffset,z=[-1,1,1,-1][q],A=1,B=n(v.maxStaggerLines,5);if(h.hasData=a=h.hasVisibleSeries||k(h.min)&&k(h.max)&&!!m,h.showAxis=i=a||n(l.showEmpty,!0),h.staggerLines=h.horiz&&v.staggerLines,h.axisGroup||(h.gridGroup=j.g("grid").attr({zIndex:l.gridZIndex||1}).add(),h.axisGroup=j.g("axis").attr({zIndex:l.zIndex||2}).add(),h.labelGroup=j.g("axis-labels").attr({zIndex:v.zIndex||7}).add()),a||h.isLinked){if(h.labelAlign=n(v.align||h.autoLabelAlign(v.rotation)),Ua(m,function(a){o[a]?o[a].addLabel():o[a]=new I(h,a)}),h.horiz&&!h.staggerLines&&B&&!v.rotation){for(c=h.reversed?[].concat(m).reverse():m;B>A;){for(a=[],d=!1,v=0;v<c.length;v++)e=c[v],f=(f=o[e].label&&o[e].label.getBBox())?f.width:0,g=v%A,f&&(e=h.translate(e),a[g]!==N&&e<a[g]&&(d=!0),a[g]=e+f);if(!d)break;A++}A>1&&(h.staggerLines=A)}Ua(m,function(a){0!==q&&2!==q&&{1:"left",3:"right"}[q]!==h.labelAlign||(w=ma(o[a].getLabelSize(),w))}),h.staggerLines&&(w*=h.staggerLines,h.labelOffset=w)}else for(c in o)o[c].destroy(),delete o[c];u&&u.text&&u.enabled!==!1&&(h.axisTitle||(h.axisTitle=j.text(u.text,0,0,u.useHTML).attr({zIndex:7,rotation:u.rotation||0,align:u.textAlign||{low:"left",middle:"center",high:"right"}[u.align]}).css(u.style).add(h.axisGroup),h.axisTitle.isNew=!0),i&&(s=h.axisTitle.getBBox()[p?"height":"width"],t=n(u.margin,p?5:10),b=u.offset),h.axisTitle[i?"show":"hide"]()),h.offset=z*n(l.offset,x[q]),h.axisTitleMargin=n(b,w+t+(2!==q&&w&&z*l.labels[p?"y":"x"])),x[q]=ma(x[q],h.axisTitleMargin+s+z*h.offset),y[r]=ma(y[r],2*ka(l.lineWidth/2))},getLinePath:function(a){var b=this.chart,c=this.opposite,d=this.offset,e=this.horiz,f=this.left+(c?this.width:0)+d,d=b.chartHeight-this.bottom-(c?this.height:0)+d;return c&&(a*=-1),b.renderer.crispLine(["M",e?this.left:f,e?d:this.top,"L",e?b.chartWidth-this.right:f,e?d:b.chartHeight-this.bottom],a)},getTitlePosition:function(){var a=this.horiz,b=this.left,d=this.top,e=this.len,f=this.options.title,g=a?b:d,h=this.opposite,i=this.offset,j=c(f.style.fontSize||12),e={low:g+(a?0:e),middle:g+e/2,high:g+(a?e:0)}[f.align],b=(a?d+this.height:b)+(a?1:-1)*(h?-1:1)*this.axisTitleMargin+(2===this.side?j:0);return{x:a?e:b+(h?this.width:0)+i+(f.x||0),y:a?b-(h?this.height:0)+i:e+(f.y||0)}},render:function(){var a,b,c,d=this,e=d.horiz,f=d.reversed,g=d.chart,h=g.renderer,j=d.options,l=d.isLog,m=d.isLinked,n=d.tickPositions,o=d.axisTitle,p=d.stacks,q=d.ticks,r=d.minorTicks,s=d.alternateBands,t=j.stackLabels,u=j.alternateGridColor,v=d.tickmarkOffset,w=j.lineWidth,x=g.hasRendered&&k(d.oldMin)&&!isNaN(d.oldMin),y=d.hasData,z=d.showAxis,A=d.justifyLabels=!d.staggerLines&&e&&"justify"===j.labels.overflow;
2if(d.labelEdge.length=0,Ua([q,r,s],function(a){for(var b in a)a[b].isActive=!1}),(y||m)&&(d.minorTickInterval&&!d.categories&&Ua(d.getMinorTickPositions(),function(a){r[a]||(r[a]=new I(d,a,"minor")),x&&r[a].isNew&&r[a].render(null,!0),r[a].render(null,!1,1)}),n.length&&(a=n.slice(),(e&&f||!e&&!f)&&a.reverse(),A&&(a=a.slice(1).concat([a[0]])),Ua(a,function(b,c){A&&(c=c===a.length-1?0:c+1),(!m||b>=d.min&&b<=d.max)&&(q[b]||(q[b]=new I(d,b)),x&&q[b].isNew&&q[b].render(c,!0,.1),q[b].render(c,!1,1))}),v&&0===d.min&&(q[-1]||(q[-1]=new I(d,-1,null,!0)),q[-1].render(-1))),u&&Ua(n,function(a,e){e%2===0&&a<d.max&&(s[a]||(s[a]=new lb(d)),b=a+v,c=n[e+1]!==N?n[e+1]+v:d.max,s[a].options={from:l?i(b):b,to:l?i(c):c,color:u},s[a].render(),s[a].isActive=!0)}),d._addedPlotLB||(Ua((j.plotLines||[]).concat(j.plotBands||[]),function(a){d.addPlotBandOrLine(a)}),d._addedPlotLB=!0)),Ua([q,r,s],function(a){var b,c,d=[],e=S?S.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)a[b].isActive||(a[b].render(b,!1,0),a[b].isActive=!1,d.push(b));a!==s&&g.hasRendered&&e?e&&setTimeout(f,e):f()}),w&&(e=d.getLinePath(w),d.axisLine?d.axisLine.animate({d:e}):d.axisLine=h.path(e).attr({stroke:j.lineColor,"stroke-width":w,zIndex:7}).add(d.axisGroup),d.axisLine[z?"show":"hide"]()),o&&z&&(o[o.isNew?"attr":"animate"](d.getTitlePosition()),o.isNew=!1), 3t&&t.enabled){var B,C,j=d.stackTotalGroup;j||(d.stackTotalGroup=j=h.g("stack-labels").attr({visibility:"visible",zIndex:6}).add()),j.translate(g.plotLeft,g.plotTop);for(B in p)for(C in h=p[B])h[C].render(j)}d.isDirty=!1},redraw:function(){var a=this.chart.pointer;a.reset&&a.reset(!0),this.render(),Ua(this.plotLinesAndBands,function(a){a.render()}),Ua(this.series,function(a){a.isDirty=!0})},buildStacks:function(){var a=this.series,b=a.length;if(!this.isXAxis){for(;b--;)a[b].setStackedPoints();if(this.usePercentage)for(b=0;b<a.length;b++)a[b].setPercentStacks()}},destroy:function(a){var b,c=this,d=c.stacks,e=c.plotLinesAndBands;a||Za(c);for(b in d)B(d[b]),d[b]=null;for(Ua([c.ticks,c.minorTicks,c.alternateBands],function(a){B(a)}),a=e.length;a--;)e[a].destroy();Ua("stackTotalGroup,axisLine,axisTitle,axisGroup,cross,gridGroup,labelGroup".split(","),function(a){c[a]&&(c[a]=c[a].destroy())}),this.cross&&this.cross.destroy()},drawCrosshair:function(a,b){if(this.crosshair)if((k(b)||!n(this.crosshair.snap,!0))===!1)this.hideCrosshair();else{var c,d=this.crosshair,e=d.animation;n(d.snap,!0)?k(b)&&(c=this.chart.inverted!=this.horiz?b.plotX:this.len-b.plotY):c=this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos,c=this.isRadial?this.getPlotLinePath(this.isXAxis?b.x:n(b.stackY,b.y)):this.getPlotLinePath(null,null,null,null,c),null===c?this.hideCrosshair():this.cross?this.cross.attr({visibility:"visible"})[e?"animate":"attr"]({d:c},e):(e={"stroke-width":d.width||1,stroke:d.color||"#C0C0C0",zIndex:d.zIndex||2},d.dashStyle&&(e.dashstyle=d.dashStyle),this.cross=this.chart.renderer.path(c).attr(e).add())}},hideCrosshair:function(){this.cross&&this.cross.hide()}},a(J.prototype,{getPlotBandPath:function(a,b){var c=this.getPlotLinePath(b),d=this.getPlotLinePath(a);return d&&c?d.push(c[4],c[5],c[1],c[2]):d=null,d},addPlotBand:function(a){this.addPlotBandOrLine(a,"plotBands")},addPlotLine:function(a){this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(a,b){var c=new lb(this,a).render(),d=this.userOptions;return c&&(b&&(d[b]=d[b]||[],d[b].push(a)),this.plotLinesAndBands.push(c)),c},removePlotBandOrLine:function(a){for(var b=this.plotLinesAndBands,c=this.options,d=this.userOptions,e=b.length;e--;)b[e].id===a&&b[e].destroy();Ua([c.plotLines||[],d.plotLines||[],c.plotBands||[],d.plotBands||[]],function(b){for(e=b.length;e--;)b[e].id===a&&j(b,b[e])})}}),J.prototype.getLogTickPositions=function(a,b,c,d){var e=this.options,f=this.len,g=[];if(d||(this._minorAutoInterval=null),a>=.5)a=ja(a),g=this.getLinearTickPositions(a,b,c);else if(a>=.08)for(var j,k,l,m,o,f=ka(b),e=a>.3?[1,2,4]:a>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];c+1>f&&!o;f++)for(k=e.length,j=0;k>j&&!o;j++)l=h(i(f)*e[j]),l>b&&(!d||c>=m)&&g.push(m),m>c&&(o=!0),m=l;else b=i(b),c=i(c),a=e[d?"minorTickInterval":"tickInterval"],a=n("auto"===a?null:a,this._minorAutoInterval,(c-b)*(e.tickPixelInterval/(d?5:1))/((d?f/this.tickPositions.length:f)||1)),a=w(a,null,v(a)),g=Xa(this.getLinearTickPositions(a,b,c),h),d||(this._minorAutoInterval=a/5);return d||(this.tickInterval=a),g},J.prototype.getTimeTicks=function(b,c,d,e){var f,g=[],h={},i=Q.global.useUTC,j=new Date(c-W),l=b.unitRange,m=b.count;if(k(c)){l>=U.second&&(j.setMilliseconds(0),j.setSeconds(l>
3=U.minute?0:m*ka(j.getSeconds()/m))),l>=U.minute&&j[ba](l>=U.hour?0:m*ka(j[X]()/m)),l>=U.hour&&j[ca](l>=U.day?0:m*ka(j[Y]()/m)),l>=U.day&&j[da](l>=U.month?1:m*ka(j[$]()/m)),l>=U.month&&(j[ea](l>=U.year?0:m*ka(j[_]()/m)),f=j[aa]()),l>=U.year&&(f-=f%m,j[fa](f)),l===U.week&&j[da](j[$]()-j[Z]()+n(e,1)),c=1,W&&(j=new Date(j.getTime()+W)),f=j[aa]();for(var e=j.getTime(),o=j[_](),p=j[$](),q=i?W:(864e5+6e4*j.getTimezoneOffset())%864e5;d>e;)g.push(e),l===U.year?e=V(f+c*m,0):l===U.month?e=V(f,o+c*m):i||l!==U.day&&l!==U.week?e+=l*m:e=V(f,o,p+c*m*(l===U.day?1:7)),c++;g.push(e),Ua(Va(g,function(a){return l<=U.hour&&a%U.day===q}),function(a){h[a]="day"})}return g.info=a(b,{higherRanks:h,totalRange:l*m}),g},J.prototype.normalizeTimeTickInterval=function(a,b){var c,d=b||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],e=d[d.length-1],f=U[e[0]],g=e[1];for(c=0;c<d.length&&(e=d[c],f=U[e[0]],g=e[1],!(d[c+1]&&a<=(f*g[g.length-1]+U[d[c+1][0]])/2));c++);return f===U.year&&5*f>a&&(g=[1,2,5]),d=w(a/f,g,"year"===e[0]?ma(v(a/f),1):1),{unitRange:f,count:d,unitName:e[0]}},K.prototype={destroy:function(){B(this,this.axis)},render:function(a){var b=this.options,c=b.format,c=c?u(c,this):b.formatter.call(this);this.label?this.label.attr({text:c,visibility:"hidden"}):this.label=this.axis.chart.renderer.text(c,0,0,b.useHTML).css(b.style).attr({align:this.textAlign,rotation:b.rotation,visibility:"hidden"}).add(a)},setOffset:function(a,b){var c=this.axis,d=c.chart,e=d.inverted,f=this.isNegative,g=c.translate(this.percent?100:this.total,0,0,0,1),c=c.translate(0),c=oa(g-c),h=d.xAxis[0].translate(this.x)+a,i=d.plotHeight,f={x:e?f?g:g-c:h,y:e?i-h-b:f?i-g-c:i-g,width:e?c:b,height:e?b:c};(e=this.label)&&(e.align(this.alignOptions,null,f),f=e.alignAttr,e.attr({visibility:this.options.crop===!1||d.isInsidePlot(f.x,f.y)?Ba?"inherit":"visible":"hidden"}))}},L.prototype={init:function(a,b){var d=b.borderWidth,e=b.style,f=c(e.padding);this.chart=a,this.options=b,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.label=a.renderer.label("",0,0,b.shape,null,null,b.useHTML,null,"tooltip").attr({padding:f,fill:b.backgroundColor,"stroke-width":d,r:b.borderRadius,zIndex:8}).css(e).css({padding:0}).add().attr({y:-999}),Da||this.label.shadow(b.shadow),this.shared=b.shared},destroy:function(){this.label&&(this.label=this.label.destroy()),clearTimeout(this.hideTimer),clearTimeout(this.tooltipTimeout)},move:function(b,c,d,e){var f=this,g=f.now,h=f.options.animation!==!1&&!f.isHidden;a(g,{x:h?(2*g.x+b)/3:b,y:h?(g.y+c)/2:c,anchorX:h?(2*g.anchorX+d)/3:d,anchorY:h?(g.anchorY+e)/2:e}),f.label.attr(g),h&&(oa(b-g.x)>1||oa(c-g.y)>1)&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(b,c,d,e)},32))},hide:function(){var a,b=this;clearTimeout(this.hideTimer),this.isHidden||(a=this.chart.hoverPoints,this.hideTimer=setTimeout(function(){b.label.fadeOut(),b.isHidden=!0},n(this.options.hideDelay,500)),a&&Ua(a,function(a){a.setState()}),this.chart.hoverPoints=null)},getAnchor:function(a,b){var c,d,e=this.chart,f=e.inverted,g=e.plotTop,h=0,i=0,a=m(a);return c=a[0].tooltipPos,this.followPointer&&b&&(b.chartX===N&&(b=e.pointer.normalize(b)),c=[b.chartX-e.plotLeft,b.chartY-g]),c||(Ua(a,function(a){d=a.series.yAxis,h+=a.plotX,i+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!f&&d?d.top-g:0)}),h/=a.length,i/=a.length,c=[f?e.plotWidth-i:h,this.shared&&!f&&a.length>1&&b?b.chartY-g:f?e.plotHeight-h:i]),Xa(c,ja)},getPosition:function(a,b,c){var d,e=this.chart,f=e.plotLeft,g=e.plotTop,h=e.plotWidth,i=e.plotHeight,j=n(this.options.distance,12),k=c.plotX,c=c.plotY,e=k+f+(e.inverted?j:-a-j),l=c-b+g+15;return 7>e&&(e=f+ma(k,0)+j),e+a>f+h&&(e-=e+a-(f+h),l=c-b+g-j,d=!0),g+5>l&&(l=g+5,d&&c>=l&&l+b>=c&&(l=c+g+j)),l+b>g+i&&(l=ma(g,g+i-b-j)),{x:e,y:l}},defaultFormatter:function(a){var b,c=this.points||m(this),d=c[0].series;return b=[d.tooltipHeaderFormatter(c[0])],Ua(c,function(a){d=a.series,b.push(d.tooltipFormatter&&d.tooltipFormatter(a)||a.point.tooltipFormatter(d.tooltipOptions.pointFormat))}),b.push(a.options.footerFormat||""),b.join("")},refresh:function(a,b){var c,d,e,f=this.chart,g=this.label,h=this.options,i={},j=[];e=h.formatter||this.defaultFormatter;var k,i=f.hoverPoints,l=this.shared;clearTimeout(this.hideTimer),this.followPointer=m(a)[0].series.tooltipOptions.followPointer,d=this.getAnchor(a,b),c=d[0],d=d[1],!l||a.series&&a.series.noSharedTooltip?i=a.getLabelConfig():(f.hoverPoints=a,i&&Ua(i,function(a){a.setState()}),Ua(a,function(a){a.setState("hover"),j.push(a.getLabelConfig())}),i={x:a[0].category,y:a[0].y},i.points=j,a=a[0]),e=e.call(i,this),i=a.series,e===!1?this.hide():(this.isHidden&&(bb(g),g.attr("opacity",1).show()),g.attr({text:e}),k=h.borderColor||a.color||i.color||"#606060",g.attr({stroke:k}),this.updatePosition({plotX:c,plotY:d}),this.isHidden=!1),$a(f,"tooltipRefresh",{text:e,x:c+f.plotLeft,y:d+f.plotTop,borderColor:k})},updatePosition:function(a){var b=this.chart,c=this.label,c=(this.options.positioner||this.getPosition).call(this,c.width,c.height,a);this.move(ja(c.x),ja(c.y),a.plotX+b.plotLeft,a.plotY+b.plotTop)}};
3var mb=Highcharts.Pointer=function(a,b){this.init(a,b)};if(mb.prototype={init:function(a,b){var c,d=b.chart,e=d.events,f=Da?"":d.zoomType,d=a.inverted;this.options=b,this.chart=a,this.zoomX=c=/x/.test(f),this.zoomY=f=/y/.test(f),this.zoomHor=c&&!d||f&&d,this.zoomVert=f&&!d||c&&d,this.runChartClick=e&&!!e.click,this.pinchDown=[],this.lastValidTouch={},b.tooltip.enabled&&(a.tooltip=new L(a,b.tooltip)),this.setDOMEvents()},normalize:function(b,c){var d,e,b=b||ha.event;return b.target||(b.target=b.srcElement),b=_a(b),e=b.touches?b.touches.item(0):b,c||(this.chartPosition=c=Wa(this.chart.container)),e.pageX===N?(d=ma(b.x,b.clientX-c.left),e=b.y):(d=e.pageX-c.left,e=e.pageY-c.top),a(b,{chartX:ja(d),chartY:ja(e)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};return Ua(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})}),b},getIndex:function(a){var b=this.chart;return b.inverted?b.plotHeight+b.plotTop-a.chartY:a.chartX-b.plotLeft},runPointActions:function(a){var b,c,d,e,f=this,g=f.chart,h=g.series,i=g.tooltip,j=g.hoverPoint,k=g.hoverSeries,l=g.chartWidth,m=f.getIndex(a);if(i&&f.options.tooltip.shared&&(!k||!k.noSharedTooltip)){for(c=[],d=h.length,e=0;d>e;e++)h[e].visible&&h[e].options.enableMouseTracking!==!1&&!h[e].noSharedTooltip&&h[e].tooltipPoints.length&&(b=h[e].tooltipPoints[m])&&b.series&&(b._dist=oa(m-b.clientX),l=na(l,b._dist),c.push(b));for(d=c.length;d--;)c[d]._dist>l&&c.splice(d,1);c.length&&c[0].clientX!==f.hoverX&&(i.refresh(c,a),f.hoverX=c[0].clientX)}k&&k.tracker?(b=k.tooltipPoints[m])&&b!==j&&b.onMouseOver(a):i&&i.followPointer&&!i.isHidden&&(h=i.getAnchor([{}],a),i.updatePosition({plotX:h[0],plotY:h[1]})),i&&!f._onDocumentMouseMove&&(f._onDocumentMouseMove=function(a){f.onDocumentMouseMove(a)},Ya(ga,"mousemove",f._onDocumentMouseMove)),Ua(g.axes,function(c){c.drawCrosshair(a,n(b,j))})},reset:function(a){var b=this.chart,c=b.hoverSeries,d=b.hoverPoint,e=b.tooltip,f=e&&e.shared?b.hoverPoints:d;(a=a&&e&&f)&&m(f)[0].plotX===N&&(a=!1),a?(e.refresh(f),d&&d.setState(d.state,!0)):(d&&d.onMouseOut(),c&&c.onMouseOut(),e&&e.hide(),this._onDocumentMouseMove&&(Za(ga,"mousemove",this._onDocumentMouseMove),this._onDocumentMouseMove=null),Ua(b.axes,function(a){a.hideCrosshair()}),this.hoverX=null)},scaleGroups:function(a,b){var c,d=this.chart;Ua(d.series,function(e){c=a||e.getPlotBox(),e.xAxis&&e.xAxis.zoomEnabled&&(e.group.attr(c),e.markerGroup&&(e.markerGroup.attr(c),e.markerGroup.clip(b?d.clipRect:null)),e.dataLabelsGroup&&e.dataLabelsGroup.attr(c))}),d.clipRect.attr(b||d.clipBox)},pinchTranslate:function(a,b,c,d,e,f,g,h){a&&this.pinchTranslateDirection(!0,c,d,e,f,g,h),b&&this.pinchTranslateDirection(!1,c,d,e,f,g,h)},pinchTranslateDirection:function(a,b,c,d,e,f,g,h){var i,j,k,l=this.chart,m=a?"x":"y",n=a?"X":"Y",o="chart"+n,p=a?"width":"height",q=l["plot"+(a?"Left":"Top")],r=h||1,s=l.inverted,t=l.bounds[a?"h":"v"],u=1===b.length,v=b[0][o],w=c[0][o],x=!u&&b[1][o],y=!u&&c[1][o],c=function(){!u&&oa(v-x)>20&&(r=h||oa(w-y)/oa(v-x)),j=(q-w)/r+v,i=l["plot"+(a?"Width":"Height")]/r};c(),b=j,b<t.min?(b=t.min,k=!0):b+i>t.max&&(b=t.max-i,k=!0),k?(w-=.8*(w-g[m][0]),u||(y-=.8*(y-g[m][1])),c()):g[m]=[w,y],s||(f[m]=j-q,f[p]=i),f=s?1/r:r,e[p]=i,e[m]=b,d[s?a?"scaleY":"scaleX":"scale"+n]=r,d["translate"+n]=f*q+(w-f*v)},pinch:function(b){var c=this,d=c.chart,e=c.pinchDown,f=d.tooltip&&d.tooltip.options.followTouchMove,g=b.touches,h=g.length,i=c.lastValidTouch,j=c.zoomHor||c.pinchHor,k=c.zoomVert||c.pinchVert,l=j||k,m=c.selectionMarker,n={},o=1===h&&(c.inClass(b.target,"highcharts-tracker")&&d.runTrackerClick||d.runChartClick),p={};(l||f)&&!o&&b.preventDefault(),Xa(g,function(a){return c.normalize(a)}),"touchstart"===b.type?(Ua(g,function(a,b){e[b]={chartX:a.chartX,chartY:a.chartY}}),i.x=[e[0].chartX,e[1]&&e[1].chartX],i.y=[e[0].chartY,e[1]&&e[1].chartY],Ua(d.axes,function(a){if(a.zoomEnabled){var b=d.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,e=a.toPixels(a.dataMin),f=a.toPixels(a.dataMax),g=na(e,f),e=ma(e,f);b.min=na(a.pos,g-c),b.max=ma(a.pos+a.len,e+c)}})):e.length&&(m||(c.selectionMarker=m=a({destroy:Ha},d.plotBox)),c.pinchTranslate(j,k,e,g,n,m,p,i),c.hasPinched=l,c.scaleGroups(n,p),!l&&f&&1===h&&this.runPointActions(c.normalize(b)))},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type,b.cancelClick=!1,b.mouseDownX=this.mouseDownX=a.chartX,b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b,c=this.chart,d=c.options.chart,e=a.chartX,f=a.chartY,g=this.zoomHor,h=this.zoomVert,i=c.plotLeft,j=c.plotTop,k=c.plotWidth,l=c.plotHeight,m=this.mouseDownX,n=this.mouseDownY;i>e?e=i:e>i+k&&(e=i+k),j>f?f=j:f>j+l&&(f=j+l),this.hasDragged=Math.sqrt(Math.pow(m-e,2)+Math.pow(n-f,2)),this.hasDragged>10&&(b=c.isInsidePlot(m-i,n-j),c.hasCartesianSeries&&(this.zoomX||this.zoomY)&&b&&!this.selectionMarker&&(this.selectionMarker=c.renderer.rect(i,j,g?1:k,h?1:l,0).attr({fill:d.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add()),this.selectionMarker&&g&&(e-=m,this.selectionMarker.attr({width:oa(e),x:(e>0?0:e)+m})),this.selectionMarker&&h&&(e=f-n,this.selectionMarker.attr({height:oa(e),y:(e>0?0:e)+n})),b&&!this.selectionMarker&&d.panning&&c.pan(a,d.panning))},drop:function(b){var c=this.chart,d=this.hasPinched;if(this.selectionMarker){var e,f={xAxis:[],yAxis:[],originalEvent:b.originalEvent||b},g=this.selectionMarker,h=g.x,i=g.y;
3(this.hasDragged||d)&&(Ua(c.axes,function(a){if(a.zoomEnabled){var b=a.horiz,c=a.toValue(b?h:i),b=a.toValue(b?h+g.width:i+g.height);!isNaN(c)&&!isNaN(b)&&(f[a.coll].push({axis:a,min:na(c,b),max:ma(c,b)}),e=!0)}}),e&&$a(c,"selection",f,function(b){c.zoom(a(b,d?{animation:!1}:null))})),this.selectionMarker=this.selectionMarker.destroy(),d&&this.scaleGroups()}c&&(o(c.container,{cursor:c._cursor}),c.cancelClick=this.hasDragged>10,c.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);"mousedown"===b.mouseIsDown&&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,b){for(var c;a;){if(c=l(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries,c=(a=a.relatedTarget||a.toElement)&&a.point&&a.point.series;!b||b.options.stickyTracking||this.inClass(a,"highcharts-tooltip")||c===b||b.onMouseOut()},onContainerClick:function(b){var c,d,e,f=this.chart,g=f.hoverPoint,h=f.plotLeft,i=f.plotTop,j=f.inverted,b=this.normalize(b);b.cancelBubble=!0,f.cancelClick||(g&&this.inClass(b.target,"highcharts-tracker")?(c=this.chartPosition,d=g.plotX,e=g.plotY,a(g,{pageX:c.left+h+(j?f.plotWidth-e:d),pageY:c.top+i+(j?f.plotHeight-d:e)}),$a(g.series,"click",a(b,{point:g})),f.hoverPoint&&g.firePointEvent("click",b)):(a(b,this.getCoordinates(b)),f.isInsidePlot(b.chartX-h,b.chartY-i)&&$a(f,"click",b)))},onContainerTouchStart:function(a){var b=this.chart;1===a.touches.length?(a=this.normalize(a),b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)?(this.runPointActions(a),this.pinch(a)):this.reset()):2===a.touches.length&&this.pinch(a)},onContainerTouchMove:function(a){(1===a.touches.length||2===a.touches.length)&&this.pinch(a)},onDocumentTouchEnd:function(a){this.drop(a)},setDOMEvents:function(){var a,b=this,c=b.chart.container;this._events=a=[[c,"onmousedown","onContainerMouseDown"],[c,"onmousemove","onContainerMouseMove"],[c,"onclick","onContainerClick"],[c,"mouseleave","onContainerMouseLeave"],[ga,"mouseup","onDocumentMouseUp"]],Ea&&a.push([c,"ontouchstart","onContainerTouchStart"],[c,"ontouchmove","onContainerTouchMove"],[ga,"touchend","onDocumentTouchEnd"]),Ua(a,function(a){b["_"+a[2]]=function(c){b[a[2]](c)},0===a[1].indexOf("on")?a[0][a[1]]=b["_"+a[2]]:Ya(a[0],a[1],b["_"+a[2]])})},destroy:function(){var a=this;Ua(a._events,function(b){0===b[1].indexOf("on")?b[0][b[1]]=null:Za(b[0],b[1],a["_"+b[2]])}),delete a._events,clearInterval(a.tooltipTimeout)}},Qa=Highcharts.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart,c=b.pointer,d=a.options.cursor,e=d&&{cursor:d},f=function(c){var d,e=c.target;for(b.hoverSeries!==a&&a.onMouseOver();e&&!d;)d=e.point,e=e.parentNode;d!==N&&d!==b.hoverPoint&&d.onMouseOver(c)};Ua(a.points,function(a){a.graphic&&(a.graphic.element.point=a),a.dataLabel&&(a.dataLabel.element.point=a)}),a._hasTracking||(Ua(a.trackerGroups,function(b){a[b]&&(a[b].addClass("highcharts-tracker").on("mouseover",f).on("mouseout",function(a){c.onTrackerMouseOut(a)}).css(e),Ea)&&a[b].on("touchstart",f)}),a._hasTracking=!0)},drawTrackerGraph:function(){var a,b=this,c=b.options,d=c.trackByArea,e=[].concat(d?b.areaPath:b.graphPath),f=e.length,g=b.chart,h=g.pointer,i=g.renderer,j=g.options.tooltip.snap,k=b.tracker,l=c.cursor,m=l&&{cursor:l},l=b.singlePoints,n=function(){g.hoverSeries!==b&&b.onMouseOver()};if(f&&!d)for(a=f+1;a--;)"M"===e[a]&&e.splice(a+1,0,e[a+1]-j,e[a+2],"L"),(a&&"M"===e[a]||a===f)&&e.splice(a,0,"L",e[a-2]+j,e[a-1]);for(a=0;a<l.length;a++)f=l[a],e.push("M",f.plotX-j,f.plotY,"L",f.plotX+j,f.plotY);k?k.attr({d:e}):(b.tracker=i.path(e).attr({"stroke-linejoin":"round",visibility:b.visible?"visible":"hidden",stroke:Ma,fill:d?Ma:Ka,"stroke-width":c.lineWidth+(d?0:2*j),zIndex:2}).add(b.group),Ua([b.tracker,b.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",n).on("mouseout",function(a){h.onTrackerMouseOut(a)}).css(m),Ea&&a.on("touchstart",n)}))}},ha.PointerEvent||ha.MSPointerEvent){var nb={};mb.prototype.getWebkitTouches=function(){var a,b=[];b.item=function(a){return this[a]};for(a in nb)nb.hasOwnProperty(a)&&b.push({pageX:nb[a].pageX,pageY:nb[a].pageY,target:nb[a].target});return b},t(mb.prototype,"init",function(a,b,c){b.container.style["-ms-touch-action"]=b.container.style["touch-action"]="none",a.call(this,b,c)}),t(mb.prototype,"setDOMEvents",function(a){var b=this;
3a.apply(this,Array.prototype.slice.call(arguments,1)),Ua([[this.chart.container,"PointerDown","touchstart","onContainerTouchStart",function(a){nb[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}}],[this.chart.container,"PointerMove","touchmove","onContainerTouchMove",function(a){nb[a.pointerId]={pageX:a.pageX,pageY:a.pageY},nb[a.pointerId].target||(nb[a.pointerId].target=a.currentTarget)}],[document,"PointerUp","touchend","onDocumentTouchEnd",function(a){delete nb[a.pointerId]}]],function(a){Ya(a[0],window.PointerEvent?a[1].toLowerCase():"MS"+a[1],function(c){c=c.originalEvent,"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||(a[4](c),b[a[3]]({type:a[2],target:c.currentTarget,preventDefault:Ha,touches:b.getWebkitTouches()}))})})})}var ob=Highcharts.Legend=function(a,b){this.init(a,b)};ob.prototype={init:function(a,d){var e=this,f=d.itemStyle,g=n(d.padding,8),h=d.itemMarginTop||0;this.options=d,d.enabled&&(e.baseline=c(f.fontSize)+3+h,e.itemStyle=f,e.itemHiddenStyle=b(f,d.itemHiddenStyle),e.itemMarginTop=h,e.padding=g,e.initialItemX=g,e.initialItemY=g-5,e.maxItemWidth=0,e.chart=a,e.itemHeight=0,e.lastLineHeight=0,e.symbolWidth=n(d.symbolWidth,16),e.pages=[],e.render(),Ya(e.chart,"endResize",function(){e.positionCheckboxes()}))},colorizeItem:function(a,b){var c,d=this.options,e=a.legendItem,f=a.legendLine,g=a.legendSymbol,h=this.itemHiddenStyle.color,d=b?d.itemStyle.color:h,i=b?a.legendColor||a.color:h,h=a.options&&a.options.marker,j={stroke:i,fill:i};if(e&&e.css({fill:d,color:d}),f&&f.attr({stroke:i}),g){if(h&&g.isMarker)for(c in h=a.convertAttribs(h))e=h[c],e!==N&&(j[c]=e);g.attr(j)}},positionItem:function(a){var b=this.options,c=b.symbolPadding,b=!b.rtl,d=a._legendItemPos,e=d[0],d=d[1],f=a.checkbox;a.legendGroup&&a.legendGroup.translate(b?e:this.legendWidth-e-2*c-4,d),f&&(f.x=e,f.y=d)},destroyItem:function(a){var b=a.checkbox;Ua(["legendItem","legendLine","legendSymbol","legendGroup"],function(b){a[b]&&(a[b]=a[b].destroy())}),b&&C(a.checkbox)},destroy:function(){var a=this.group,b=this.box;b&&(this.box=b.destroy()),a&&(this.group=a.destroy())},positionCheckboxes:function(a){var b,c=this.group.alignAttr,d=this.clipHeight||this.legendHeight;c&&(b=c.translateY,Ua(this.allItems,function(e){var f,g=e.checkbox;g&&(f=b+g.y+(a||0)+3,o(g,{left:c.translateX+e.legendItemWidth+g.x-20+"px",top:f+"px",display:f>b-6&&b+d-6>f?"":Ka}))}))},renderTitle:function(){var a=this.padding,b=this.options.title,c=0;b.text&&(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(a){var c,d=this,e=d.chart,f=e.renderer,g=d.options,h="horizontal"===g.layout,i=d.symbolWidth,j=g.symbolPadding,k=d.itemStyle,l=d.itemHiddenStyle,m=d.padding,o=h?n(g.itemDistance,8):0,q=!g.rtl,r=g.width,s=g.itemMarginBottom||0,t=d.itemMarginTop,v=d.initialItemX,w=a.legendItem,x=a.series&&a.series.drawLegendSymbol?a.series:a,y=x.options,y=y&&y.showCheckbox,z=g.useHTML;!w&&(a.legendGroup=f.g("legend-item").attr({zIndex:1}).add(d.scrollGroup),x.drawLegendSymbol(d,a),a.legendItem=w=f.text(g.labelFormat?u(g.labelFormat,a):g.labelFormatter.call(a),q?i+j:-j,d.baseline,z).css(b(a.visible?k:l)).attr({align:q?"left":"right",zIndex:2}).add(a.legendGroup),(z?w:a.legendGroup).on("mouseover",function(){a.setState("hover"),w.css(d.options.itemHoverStyle)}).on("mouseout",function(){w.css(a.visible?k:l),a.setState()}).on("click",function(b){var c=function(){a.setVisible()},b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",b,c):$a(a,"legendItemClick",b,c)}),d.colorizeItem(a,a.visible),y)&&(a.checkbox=p("input",{type:"checkbox",checked:a.selected,defaultChecked:a.selected},g.itemCheckboxStyle,e.container),Ya(a.checkbox,"click",function(b){$a(a,"checkboxClick",{checked:b.target.checked},function(){a.select()})})),f=w.getBBox(),c=a.legendItemWidth=g.itemWidth||a.legendItemWidth||i+j+f.width+o+(y?20:0),g=c,d.itemHeight=i=ja(a.legendItemHeight||f.height),h&&d.itemX-v+g>(r||e.chartWidth-2*m-v)&&(d.itemX=v,d.itemY+=t+d.lastLineHeight+s,d.lastLineHeight=0),d.maxItemWidth=ma(d.maxItemWidth,g),d.lastItemY=t+d.itemY+s,d.lastLineHeight=ma(i,d.lastLineHeight),a._legendItemPos=[d.itemX,d.itemY],h?d.itemX+=g:(d.itemY+=t+i+s,d.lastLineHeight=i),d.offsetWidth=r||ma((h?d.itemX-v-o:g)+m,d.offsetWidth)},getAllItems:function(){var a=[];return Ua(this.chart.series,function(b){var c=b.options;n(c.showInLegend,k(c.linkedTo)?!1:N,!0)&&(a=a.concat(b.legendItems||("point"===c.legendT
3ype?b.data:b)))}),a},render:function(){var b,c,d,e,f=this,g=f.chart,h=g.renderer,i=f.group,j=f.box,k=f.options,l=f.padding,m=k.borderWidth,n=k.backgroundColor;f.itemX=f.initialItemX,f.itemY=f.initialItemY,f.offsetWidth=0,f.lastItemY=0,i||(f.group=i=h.g("legend").attr({zIndex:7}).add(),f.contentGroup=h.g().attr({zIndex:1}).add(i),f.scrollGroup=h.g().add(f.contentGroup)),f.renderTitle(),b=f.getAllItems(),y(b,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)}),k.reversed&&b.reverse(),f.allItems=b,f.display=c=!!b.length,Ua(b,function(a){f.renderItem(a)}),d=k.width||f.offsetWidth,e=f.lastItemY+f.lastLineHeight+f.titleHeight,e=f.handleOverflow(e),(m||n)&&(d+=l,e+=l,j?d>0&&e>0&&(j[j.isNew?"attr":"animate"](j.crisp(null,null,null,d,e)),j.isNew=!1):(f.box=j=h.rect(0,0,d,e,k.borderRadius,m||0).attr({stroke:k.borderColor,"stroke-width":m||0,fill:n||Ka}).add(i).shadow(k.shadow),j.isNew=!0),j[c?"show":"hide"]()),f.legendWidth=d,f.legendHeight=e,Ua(b,function(a){f.positionItem(a)}),c&&i.align(a({width:d,height:e},k),!0,"spacingBox"),g.isResizing||this.positionCheckboxes()},handleOverflow:function(a){var b,c,d=this,e=this.chart,f=e.renderer,g=this.options,h=g.y,h=e.spacingBox.height+("top"===g.verticalAlign?-h:h)-this.padding,i=g.maxHeight,j=this.clipRect,k=g.navigation,l=n(k.animation,!0),m=k.arrowSize||12,o=this.nav,p=this.pages,q=this.allItems;return"horizontal"===g.layout&&(h/=2),i&&(h=na(h,i)),p.length=0,a>h&&!g.useHTML?(this.clipHeight=b=h-20-this.titleHeight-this.padding,this.currentPage=n(this.currentPage,1),this.fullHeight=a,Ua(q,function(a,d){var e=a._legendItemPos[1],f=ja(a.legendItem.bBox.height),g=p.length;(!g||e-p[g-1]>b)&&p.push(c||e),d===q.length-1&&e+f-p[g-1]>b&&p.push(e),e!==c&&(c=e)}),j||(j=d.clipRect=f.clipRect(0,this.padding,9999,0),d.contentGroup.clip(j)),j.attr({height:b}),o||(this.nav=o=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,m,m).on("click",function(){d.scroll(-1,l)}).add(o),this.pager=f.text("",15,10).css(k.style).add(o),this.down=f.symbol("triangle-down",0,0,m,m).on("click",function(){d.scroll(1,l)}).add(o)),d.scroll(0),a=h):o&&(j.attr({height:e.chartHeight}),o.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),a},scroll:function(a,b){var c=this.pages,d=c.length,e=this.currentPage+a,f=this.clipHeight,g=this.options.navigation,h=g.activeColor,g=g.inactiveColor,i=this.pager,j=this.padding;e>d&&(e=d),e>0&&(b!==N&&F(b,this.chart),this.nav.attr({translateX:j,translateY:f+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({fill:1===e?g:h}).css({cursor:1===e?"default":"pointer"}),i.attr({text:e+"/"+d}),this.down.attr({x:18+this.pager.getBBox().width,fill:e===d?g:h}).css({cursor:e===d?"default":"pointer"}),c=-c[e-1]+this.initialItemY,this.scrollGroup.animate({translateY:c}),this.currentPage=e,this.positionCheckboxes(c))}},ib=Highcharts.LegendSymbolMixin={drawRectangle:function(a,b){var c=a.options.symbolHeight||12;b.legendSymbol=this.chart.renderer.rect(0,a.baseline-5-c/2,a.symbolWidth,c,n(a.options.symbolRadius,2)).attr({zIndex:3}).add(b.legendGroup)},drawLineMarker:function(a){var b,c=this.options,d=c.marker;b=a.symbolWidth;var e,f=this.chart.renderer,g=this.legendGroup,a=a.baseline-ja(.3*f.fontMetrics(a.options.itemStyle.fontSize).b);c.lineWidth&&(e={"stroke-width":c.lineWidth},c.dashStyle&&(e.dashstyle=c.dashStyle),this.legendLine=f.path(["M",0,a,"L",b,a]).attr(e).add(g)),d&&d.enabled&&(c=d.radius,this.legendSymbol=b=f.symbol(this.symbol,b/2-c,a-c,2*c,2*c).add(g),b.isMarker=!0)}},/Trident\/7\.0/.test(ta)&&t(ob.prototype,"positionItem",function(a,b){var c=this,d=function(){b._legendItemPos&&a.call(c,b)};c.chart.renderer.forExport?d():setTimeout(d)}),M.prototype={init:function(a,c){var d,e=a.series;a.series=null,d=b(Q,a),d.series=a.series=e,this.userOptions=a,e=d.chart,this.margin=this.splashArray("margin",e),this.spacing=this.splashArray("spacing",e);var f=e.events;this.bounds={h:{},v:{}},this.callback=c,this.isResizing=0,this.options=d,this.axes=[],this.series=[],this.hasCartesianSeries=e.showAxes;var g,h=this;if(h.index=Ia.length,Ia.push(h),e.reflow!==!1&&Ya(h,"load",function(){h.initReflow()}),f)for(g in f)Ya(h,g,f[g]);h.xAxis=[],h.yAxis=[],h.animation=Da?!1:n(e.animation,!0),h.pointCount=0,h.
3counters=new x,h.firstRender()},initSeries:function(a){var b=this.options.chart;return(b=Oa[a.type||b.type||b.defaultSeriesType])||D(17,!0),b=new b,b.init(this,a),b},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&&Ua(this.axes,function(a){a.adjustTickAmount()}),this.maxTicks=null},redraw:function(b){var c,d,e=this.axes,f=this.series,g=this.pointer,h=this.legend,i=this.isDirtyLegend,j=this.isDirtyBox,k=f.length,l=k,m=this.renderer,n=m.isHidden(),o=[];for(F(b,this),n&&this.cloneRenderTo(),this.layOutTitles();l--;)if(b=f[l],b.options.stacking&&(c=!0,b.isDirty)){d=!0;break}if(d)for(l=k;l--;)b=f[l],b.options.stacking&&(b.isDirty=!0);Ua(f,function(a){a.isDirty&&"point"===a.options.legendType&&(i=!0)}),i&&h.options.enabled&&(h.render(),this.isDirtyLegend=!1),c&&this.getStacks(),this.hasCartesianSeries&&(this.isResizing||(this.maxTicks=null,Ua(e,function(a){a.setScale()})),this.adjustTickAmounts(),this.getMargins(),Ua(e,function(a){a.isDirty&&(j=!0)}),Ua(e,function(b){b.isDirtyExtremes&&(b.isDirtyExtremes=!1,o.push(function(){$a(b,"afterSetExtremes",a(b.eventArgs,b.getExtremes())),delete b.eventArgs})),(j||c)&&b.redraw()})),j&&this.drawChartBox(),Ua(f,function(a){a.isDirty&&a.visible&&(!a.isCartesian||a.xAxis)&&a.redraw()}),g&&g.reset&&g.reset(!0),m.draw(),$a(this,"redraw"),n&&this.cloneRenderTo(!0),Ua(o,function(a){a.call()})},get:function(a){var b,c,d=this.axes,e=this.series;for(b=0;b<d.length;b++)if(d[b].options.id===a)return d[b];for(b=0;b<e.length;b++)if(e[b].options.id===a)return e[b];for(b=0;b<e.length;b++)for(c=e[b].points||[],d=0;d<c.length;d++)if(c[d].id===a)return c[d];return null},getAxes:function(){var a=this,b=this.options,c=b.xAxis=m(b.xAxis||{}),b=b.yAxis=m(b.yAxis||{});Ua(c,function(a,b){a.index=b,a.isX=!0}),Ua(b,function(a,b){a.index=b}),c=c.concat(b),Ua(c,function(b){new J(a,b)}),a.adjustTickAmounts()},getSelectedPoints:function(){var a=[];return Ua(this.series,function(b){a=a.concat(Va(b.points||[],function(a){return a.selected}))}),a},getSelectedSeries:function(){return Va(this.series,function(a){return a.selected})},getStacks:function(){var a=this;Ua(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&(a.oldStacks=a.stacks)}),Ua(a.series,function(b){!b.options.stacking||b.visible!==!0&&a.options.chart.ignoreHiddenSeries!==!1||(b.stackKey=b.type+n(b.options.stack,""))})},showResetZoom:function(){var a=this,b=Q.lang,c=a.options.chart.resetZoomButton,d=c.theme,e=d.states,f="chart"===c.relativeTo?null:"plotBox";this.resetZoomButton=a.renderer.button(b.resetZoom,null,null,function(){a.zoomOut()},d,e&&e.hover).attr({align:c.position.align,title:b.resetZoomTitle}).add().align(c.position,!1,f)},zoomOut:function(){var a=this;$a(a,"selection",{resetSelection:!0}
3,function(){a.zoom()})},zoom:function(a){var b,c,d=this.pointer,f=!1;!a||a.resetSelection?Ua(this.axes,function(a){b=a.zoom()}):Ua(a.xAxis.concat(a.yAxis),function(a){var c=a.axis,e=c.isXAxis;(d[e?"zoomX":"zoomY"]||d[e?"pinchX":"pinchY"])&&(b=c.zoom(a.min,a.max),c.displayBtn&&(f=!0))}),c=this.resetZoomButton,f&&!c?this.showResetZoom():!f&&e(c)&&(this.resetZoomButton=c.destroy()),b&&this.redraw(n(this.options.chart.animation,a&&a.animation,this.pointCount<100))},pan:function(a,b){var c,d=this,e=d.hoverPoints;e&&Ua(e,function(a){a.setState()}),Ua("xy"===b?[1,0]:[1],function(b){var e=a[b?"chartX":"chartY"],f=d[b?"xAxis":"yAxis"][0],g=d[b?"mouseDownX":"mouseDownY"],h=(f.pointRange||0)/2,i=f.getExtremes(),j=f.toValue(g-e,!0)+h,g=f.toValue(g+d[b?"plotWidth":"plotHeight"]-e,!0)-h;f.series.length&&j>na(i.dataMin,i.min)&&g<ma(i.dataMax,i.max)&&(f.setExtremes(j,g,!1,!1,{trigger:"pan"}),c=!0),d[b?"mouseDownX":"mouseDownY"]=e}),c&&d.redraw(!1),o(d.container,{cursor:"move"})},setTitle:function(a,c){var d,e,f=this,g=f.options;e=g.title=b(g.title,a),d=g.subtitle=b(g.subtitle,c),g=d,Ua([["title",a,e],["subtitle",c,g]],function(a){var b=a[0],c=f[b],d=a[1],a=a[2];c&&d&&(f[b]=c=c.destroy()),a&&a.text&&!c&&(f[b]=f.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+b,zIndex:a.zIndex||4}).css(a.style).add()); 4}),f.layOutTitles()},layOutTitles:function(){var b=0,c=this.title,d=this.subtitle,e=this.options,f=e.title,e=e.subtitle,g=this.spacingBox.width-44;!c||(c.css({width:(f.width||g)+"px"}).align(a({y:15},f),!1,"spacingBox"),f.floating||f.verticalAlign)||(b=c.getBBox().height,b>=18&&25>=b&&(b=15)),d&&(d.css({width:(e.width||g)+"px"}).align(a({y:b+f.margin},e),!1,"spacingBox"),!e.floating&&!e.verticalAlign&&(b=la(b+d.getBBox().height))),this.titleOffset=b},getChartSize:function(){var a=this.options.chart,b=this.renderToClone||this.renderTo;this.containerWidth=Ra(b,"width"),this.containerHeight=Ra(b,"height"),this.chartWidth=ma(0,a.width||this.containerWidth||600),this.chartHeight=ma(0,n(a.height,this.containerHeight>19?this.containerHeight:400))},cloneRenderTo:function(a){var b=this.renderToClone,c=this.container;a?b&&(this.renderTo.appendChild(c),C(b),delete this.renderToClone):(c&&c.parentNode===this.renderTo&&this.renderTo.removeChild(c),this.renderToClone=b=this.renderTo.cloneNode(0),o(b,{position:"absolute",top:"-9999px",display:"block"}),ga.body.appendChild(b),c&&b.appendChild(c))},getContainer:function(){var b,e,f,g,h=this.options.chart;this.renderTo=b=h.renderTo,g="highcharts-"+Ga++,d(b)&&(this.renderTo=b=ga.getElementById(b)),b||D(13,!0),e=c(l(b,"data-highcharts-chart")),!isNaN(e)&&Ia[e]&&Ia[e].destroy(),l(b,"data-highcharts-chart",this.index),b.innerHTML="",b.offsetWidth||this.cloneRenderTo(),this.getChartSize(),e=this.chartWidth,f=this.chartHeight,this.container=b=p(Ja,{className:"highcharts-container"+(h.className?" "+h.className:""),id:g},a({position:"relative",overflow:"hidden",width:e+"px",height:f+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},h.style),this.renderToClone||b),this._cursor=b.style.cursor,this.renderer=h.forExport?new hb(b,e,f,!0):new O(b,e,f),Da&&this.renderer.create(this,b,e,f)},getMargins:function(){var a,b=this.spacing,c=this.legend,d=this.margin,e=this.options.legend,f=n(e.margin,10),g=e.x,h=e.y,i=e.align,j=e.verticalAlign,l=this.titleOffset;this.resetMargins(),a=this.axisOffset,l&&!k(d[0])&&(this.plotTop=ma(this.plotTop,l+this.options.title.margin+b[0])),c.display&&!e.floating&&("right"===i?k(d[1])||(this.marginRight=ma(this.marginRight,c.legendWidth-g+f+b[1])):"left"===i?k(d[3])||(this.plotLeft=ma(this.plotLeft,c.legendWidth+g+f+b[3])):"top"===j?k(d[0])||(this.plotTop=ma(this.plotTop,c.legendHeight+h+f+b[0])):"bottom"!==j||k(d[2])||(this.marginBottom=ma(this.marginBottom,c.legendHeight-h+f+b[2]))),this.extraBottomMargin&&(this.marginBottom+=this.extraBottomMargin),this.extraTopMargin&&(this.plotTop+=this.extraTopMargin),this.hasCartesianSeries&&Ua(this.axes,function(a){a.getOffset()}),k(d[3])||(this.plotLeft+=a[3]),k(d[0])||(this.plotTop+=a[0]),k(d[2])||(this.marginBottom+=a[2]),k(d[1])||
4(this.marginRight+=a[1]),this.setChartSize()},reflow:function(a){var b=this,c=b.options.chart,d=b.renderTo,e=c.width||Ra(d,"width"),f=c.height||Ra(d,"height"),c=a?a.target:ha,d=function(){b.container&&(b.setSize(e,f,!1),b.hasUserSize=null)};b.hasUserSize||!e||!f||c!==ha&&c!==ga||(e===b.containerWidth&&f===b.containerHeight||(clearTimeout(b.reflowTimeout),a?b.reflowTimeout=setTimeout(d,100):d()),b.containerWidth=e,b.containerHeight=f)},initReflow:function(){var a=this,b=function(b){a.reflow(b)};Ya(ha,"resize",b),Ya(a,"destroy",function(){Za(ha,"resize",b)})},setSize:function(a,b,c){var d,e,f,g=this;g.isResizing+=1,f=function(){g&&$a(g,"endResize",null,function(){g.isResizing-=1})},F(c,g),g.oldChartHeight=g.chartHeight,g.oldChartWidth=g.chartWidth,k(a)&&(g.chartWidth=d=ma(0,ja(a)),g.hasUserSize=!!d),k(b)&&(g.chartHeight=e=ma(0,ja(b))),(S?ab:o)(g.container,{width:d+"px",height:e+"px"},S),g.setChartSize(!0),g.renderer.setSize(d,e,c),g.maxTicks=null,Ua(g.axes,function(a){a.isDirty=!0,a.setScale()}),Ua(g.series,function(a){a.isDirty=!0}),g.isDirtyLegend=!0,g.isDirtyBox=!0,g.getMargins(),g.redraw(c),g.oldChartHeight=null,$a(g,"resize"),S===!1?f():setTimeout(f,S&&S.duration||500)},setChartSize:function(a){var b,c,d,e,f=this.inverted,g=this.renderer,h=this.chartWidth,i=this.chartHeight,j=this.options.chart,k=this.spacing,l=this.clipOffset;this.plotLeft=b=ja(this.plotLeft),this.plotTop=c=ja(this.plotTop),this.plotWidth=d=ma(0,ja(h-b-this.marginRight)),this.plotHeight=e=ma(0,ja(i-c-this.marginBottom)),this.plotSizeX=f?e:d,this.plotSizeY=f?d:e,this.plotBorderWidth=j.plotBorderWidth||0,this.spacingBox=g.spacingBox={x:k[3],y:k[0],width:h-k[3]-k[1],height:i-k[0]-k[2]},this.plotBox=g.plotBox={x:b,y:c,width:d,height:e},h=2*ka(this.plotBorderWidth/2),f=la(ma(h,l[3])/2),g=la(ma(h,l[0])/2),this.clipBox={x:f,y:g,width:ka(this.plotSizeX-ma(h,l[1])/2-f),height:ka(this.plotSizeY-ma(h,l[2])/2-g)},a||Ua(this.axes,function(a){a.setAxisSize(),a.setAxisTranslation()})},resetMargins:function(){var a=this.spacing,b=this.margin;this.plotTop=n(b[0],a[0]),this.marginRight=n(b[1],a[1]),this.marginBottom=n(b[2],a[2]),this.plotLeft=n(b[3],a[3]),this.axisOffset=[0,0,0,0],this.clipOffset=[0,0,0,0]},drawChartBox:function(){var a,b=this.options.chart,c=this.renderer,d=this.chartWidth,e=this.chartHeight,f=this.chartBackground,g=this.plotBackgroun
4d,h=this.plotBorder,i=this.plotBGImage,j=b.borderWidth||0,k=b.backgroundColor,l=b.plotBackgroundColor,m=b.plotBackgroundImage,n=b.plotBorderWidth||0,o=this.plotLeft,p=this.plotTop,q=this.plotWidth,r=this.plotHeight,s=this.plotBox,t=this.clipRect,u=this.clipBox;a=j+(b.shadow?8:0),(j||k)&&(f?f.animate(f.crisp(null,null,null,d-a,e-a)):(f={fill:k||Ka},j&&(f.stroke=b.borderColor,f["stroke-width"]=j),this.chartBackground=c.rect(a/2,a/2,d-a,e-a,b.borderRadius,j).attr(f).add().shadow(b.shadow))),l&&(g?g.animate(s):this.plotBackground=c.rect(o,p,q,r,0).attr({fill:l}).add().shadow(b.plotShadow)),m&&(i?i.animate(s):this.plotBGImage=c.image(m,o,p,q,r).add()),t?t.animate({width:u.width,height:u.height}):this.clipRect=c.clipRect(u),n&&(h?h.animate(h.crisp(null,o,p,q,r)):this.plotBorder=c.rect(o,p,q,r,0,-n).attr({stroke:b.plotBorderColor,"stroke-width":n,zIndex:1}).add()),this.isDirtyBox=!1},propFromSeries:function(){var a,b,c,d=this,e=d.options.chart,f=d.options.series;Ua(["inverted","angular","polar"],function(g){for(a=Oa[e.type||e.defaultSeriesType],c=d[g]||e[g]||a&&a.prototype[g],b=f&&f.length;!c&&b--;)(a=Oa[f[b].type])&&a.prototype[g]&&(c=!0);d[g]=c})},linkSeries:function(){var a=this,b=a.series;Ua(b,function(a){a.linkedSeries.length=0}),Ua(b,function(b){var c=b.options.linkedTo;d(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&(c.linkedSeries.push(b),b.linkedParent=c)})},render:function(){var b,d=this,e=d.axes,f=d.renderer,g=d.options,h=g.labels,i=g.credits;d.setTitle(),d.legend=new ob(d,g.legend),d.getStacks(),Ua(e,function(a){a.setScale()}),d.getMargins(),d.maxTicks=null,Ua(e,function(a){a.setTickPositions(!0),a.setMaxTicks()}),d.adjustTickAmounts(),d.getMargins(),d.drawChartBox(),d.hasCartesianSeries&&Ua(e,function(a){a.render()}),d.seriesGroup||(d.seriesGroup=f.g("series-group").attr({zIndex:3}).add()),Ua(d.series,function(a){a.translate(),a.setTooltipPoints(),a.render()}),h.items&&Ua(h.items,function(b){var e=a(h.style,b.style),g=c(e.left)+d.plotLeft,i=c(e.top)+d.plotTop+12;delete e.left,delete e.top,f.text(b.html,g,i).attr({zIndex:2}).css(e).add()}),i.enabled&&!d.credits&&(b=i.href,d.credits=f.text(i.text,0,0).on("click",function(){b&&(location.href=b)}).attr({align:i.position.align,zIndex:8}).css(i.style).add().align(i.position)),d.hasRendered=!0},destroy:function(){var a,b=this,c=b.axes,d=b.series,e=b.container,f=e&&e.parentNode;for($a(b,"destroy"),Ia[b.index]=N,b.renderTo.removeAttribute("data-highcharts-chart"),Za(b),a=c.length;a--;)c[a]=c[a].destroy();for(a=d.length;a--;)d[a]=d[a].destroy();
4Ua("title,subtitle,chartBackground,plotBackground,plotBGImage,plotBorder,seriesGroup,clipRect,credits,pointer,scroller,rangeSelector,legend,resetZoomButton,tooltip,renderer".split(","),function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())}),e&&(e.innerHTML="",Za(e),f&&C(e));for(a in b)delete b[a]},isReadyToRender:function(){var a=this;return!Ba&&ha==ha.top&&"complete"!==ga.readyState||Da&&!ha.canvg?(Da?kb.push(function(){a.firstRender()},a.options.global.canvasToolsURL):ga.attachEvent("onreadystatechange",function(){ga.detachEvent("onreadystatechange",a.firstRender),"complete"===ga.readyState&&a.firstRender()}),!1):!0},firstRender:function(){var a=this,b=a.options,c=a.callback;a.isReadyToRender()&&(a.getContainer(),$a(a,"init"),a.resetMargins(),a.setChartSize(),a.propFromSeries(),a.getAxes(),Ua(b.series||[],function(b){a.initSeries(b)}),a.linkSeries(),$a(a,"beforeRender"),a.pointer=new mb(a,b),a.render(),a.renderer.draw(),c&&c.apply(a,[a]),Ua(a.callbacks,function(b){b.apply(a,[a])}),a.cloneRenderTo(!0),$a(a,"load"))},splashArray:function(a,b){var c=b[a],c=e(c)?c:[c,c,c,c];return[n(b[a+"Top"],c[0]),n(b[a+"Right"],c[1]),n(b[a+"Bottom"],c[2]),n(b[a+"Left"],c[3])]}},M.prototype.callbacks=[];var jb=Highcharts.CenteredSeriesMixin={getCenter:function(){var a,b,d=this.options,e=this.chart,f=2*(d.slicedOffset||0),g=e.plotWidth-2*f,h=e.plotHeight-2*f,e=d.center,d=[n(e[0],"50%"),n(e[1],"50%"),d.size||"100%",d.innerSize||0],i=na(g,h);return Xa(d,function(d,e){return b=/%$/.test(d),a=2>e||2===e&&b,(b?[g,h,i,i][e]*c(d)/100:d)+(a?f:0)})}},pb=function(){};pb.prototype={init:function(a,b,c){return this.series=a,this.applyOptions(b,c),this.pointAttr={},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++,this},applyOptions:function(b,c){var d=this.series,e=d.pointValKey,b=pb.prototype.optionsToObject.call(this,b);return a(this,b),this.options=this.options?a(this.options,b):b,e&&(this.y=this[e]),this.x===N&&d&&(this.x=c===N?d.autoIncrement():c),this},optionsToObject:function(a){var b={},c=this.series,d=c.pointArrayMap||["y"],e=d.length,g=0,h=0;if("number"==typeof a||null===a)b[d[0]]=a;else if(f(a))for(a.length>e&&(c=typeof a[0],"string"===c?b.name=a[0]:"number"===c&&(b.x=a[0]),g++);e>h;)b[d[h++]]=a[g++];else"object"==typeof a&&(b=a,a.dataLabels&&(c._hasPointLabels=!0),a.marker&&(c._hasPointMarkers=!0));return b},destroy:function(){var a,b=this.series.chart,c=b.hoverPoints;b.pointCount--,c&&(this.setState(),j(c,this),!c.length)&&(b.hoverPoints=null),this===b.hoverPoint&&this.onMouseOut(),(this.graphic||this.dataLabel)&&(Za(this),this.destroyElements()),this.legendItem&&b.legend.destroyItem(this);for(a in this)this[a]=null},destroyElements:function(){for(var a,b="graphic,dataLabel,dataLabelUpper,group,connector,shadowGroup".split(","),c=6;c--;)a=b[c],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(a,b){var c=this,d=c.series,e=d.chart,a=n(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a,d.options.data[Ta(c,d.data)]=c.options,c.setState(a&&"select"),b||Ua(e.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[Ta(a,d.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series,c=b.chart,d=c.tooltip,e=c.hoverPoint;e&&e!==this&&e.onMouseOut(),this.firePointEvent("mouseOver"),d&&(!d.shared||b.noSharedTooltip)&&d.refresh(this,a),this.setState("hover"),c.hoverPoint=this},onMouseOut:function(){var a=this.series.chart,b=a.hoverPoints;b&&-1!==Ta(this,b)||(this.firePointEvent("mouseOut"),this.setState(),a.hoverPoint=null)},tooltipFormatter:function(a){var b=this.series,c=b.tooltipOptions,d=n(c.valueDecimals,""),e=c.valuePrefix||"",f=c.valueSuffix||"";return Ua(b.pointArrayMap||["y"],function(b){b="{point."+b,(e||f)&&(a=a.replace(b+"}",e+b+"}"+f)),a=a.replace(b+"}",b+":,."+d+"f}")}
4),u(a,{point:this,series:this.series})},firePointEvent:function(a,b,c){var d=this,e=this.series.options;(e.point.events[a]||d.options&&d.options.events&&d.options.events[a])&&this.importEvents(),"click"===a&&e.allowPointSelect&&(c=function(a){d.select(null,a.ctrlKey||a.metaKey||a.shiftKey)}),$a(this,a,b,c)},importEvents:function(){if(!this.hasImportedEvents){var a,c=b(this.series.options.point,this.options).events;this.events=c;for(a in c)Ya(this,a,c[a]);this.hasImportedEvents=!0}},setState:function(a,c){var d=this.plotX,e=this.plotY,f=this.series,g=f.options.states,h=cb[f.type].marker&&f.options.marker,i=h&&!h.enabled,j=h&&h.states[a],k=j&&j.enabled===!1,l=f.stateMarkerGraphic,m=this.marker||{},n=f.chart,o=this.pointAttr,a=a||"",c=c&&l;a===this.state&&!c||this.selected&&"select"!==a||g[a]&&g[a].enabled===!1||a&&(k||i&&!j.enabled)||a&&m.states&&m.states[a]&&m.states[a].enabled===!1||(this.graphic?(g=h&&this.graphic.symbolName&&o[a].r,this.graphic.attr(b(o[a],g?{x:d-g,y:e-g,width:2*g,height:2*g}:{}))):(a&&j&&(g=j.radius,m=m.symbol||f.symbol,l&&l.currentSymbol!==m&&(l=l.destroy()),l?l[c?"animate":"attr"]({x:d-g,y:e-g}):(f.stateMarkerGraphic=l=n.renderer.symbol(m,d-g,e-g,2*g,2*g).attr(o[a]).add(f.markerGroup),l.currentSymbol=m)),l&&l[a&&n.isInsidePlot(d,e,n.inverted)?"show":"hide"]()),this.state=a)}};var qb=function(){};qb.prototype={isCartesian:!0,type:"line",pointClass:pb,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],init:function(b,c){var d,e,f=this,g=b.series,h=function(a,b){return n(a.options.index,a._i)-n(b.options.index,b._i)};f.chart=b,f.options=c=f.setOptions(c),f.linkedSeries=[],f.bindAxes(),a(f,{name:c.name,state:"",pointAttr:{},visible:c.visible!==!1,selected:c.selected===!0}),Da&&(c.animation=!1),e=c.events;for(d in e)Ya(f,d,e[d]);(e&&e.click||c.point&&c.point.events&&c.point.events.click||c.allowPointSelect)&&(b.runTrackerClick=!0),f.getColor(),f.getSymbol(),Ua(f.parallelArrays,function(a){f[a+"Data"]=[]}),f.setData(c.data,!1),f.isCartesian&&(b.hasCartesianSeries=!0),g.push(f),f._i=g.length-1,y(g,h),this.yAxis&&y(this.yAxis.series,h),Ua(g,function(a,b){a.index=b,a.name=a.name||"Series "+(b+1)})},bindAxes:function(){var a,b=this,c=b.options,d=b.chart;Ua(b.axisTypes||[],function(e){Ua(d[e],function(d){a=d.options,(c[e]===a.index||c[e]!==N&&c[e]===a.id||c[e]===N&&0===a.index)&&(d.series.push(b),b[e]=d,d.isDirty=!0)}),!b[e]&&b.optionalAxis!==e&&D(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments;Ua(c.parallelArrays,"number"==typeof b?function(d){var e="y"===d&&c.toYData?c.toYData(a):a[d];c[d+"Data"][b]=e}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))})},autoIncrement:function(){var a=this.options,b=this.xIncrement,b=n(b,a.pointStart,0);return this.pointInterval=n(this.pointInterval,a.pointInterval,1),this.xIncrement=b+this.pointInterval,b},getSegments:function(){var a,b=-1,c=[],d=this.points,e=d.length;if(e)if(this.options.connectNulls){for(a=e;a--;)null===d[a].y&&d.splice(a,1);d.length&&(c=[d])}else Ua(d,function(a,f){null===a.y?(f>b+1&&c.push(d.slice(b+1,f)),b=f):f===e-1&&c.push(d.slice(b+1,f+1))});this.segments=c},setOptions:function(a){var c=this.chart,d=c.options.plotOptions,c=c.userOptions||{},e=c.plotOptions||{},f=d[this.type];return this.userOptions=a,d=b(f,d.series,a),this.tooltipOptions=b(Q.tooltip,Q.plotOptions[this.type].tooltip,c.tooltip,e.series&&e.series.tooltip,e[this.type]&&e[this.type].tooltip,a.tooltip),null===f.marker&&delete d.marker,d},getColor:function(){var a,b=this.options,c=this.userOptions,d=this.chart.options.colors,e=this.chart.counters;a=b.color||cb[this.type].color,a||b.colorByPoint||(k(c._colorIndex)?b=c._colorIndex:(c._colorIndex=e.color,b=e.color++),a=d[b]),this.color=a,e.wrapColor
4(d.length)},getSymbol:function(){var a=this.userOptions,b=this.options.marker,c=this.chart,d=c.options.symbols,c=c.counters;this.symbol=b.symbol,this.symbol||(k(a._symbolIndex)?a=a._symbolIndex:(a._symbolIndex=c.symbol,a=c.symbol++),this.symbol=d[a]),/^url/.test(this.symbol)&&(b.radius=0),c.wrapSymbol(d.length)},drawLegendSymbol:ib.drawLineMarker,setData:function(a,b){var c,e=this,h=e.points,i=e.options,j=e.chart,k=null,l=e.xAxis,m=l&&!!l.categories;e.xIncrement=null,e.pointRange=m?1:i.pointRange,e.colorCounter=0;var a=a||[],o=a.length;c=i.turboThreshold;var p=this.xData,q=this.yData,r=e.pointArrayMap,r=r&&r.length;if(Ua(this.parallelArrays,function(a){e[a+"Data"].length=0}),c&&o>c){for(c=0;null===k&&o>c;)k=a[c],c++;if(g(k)){for(m=n(i.pointStart,0),i=n(i.pointInterval,1),c=0;o>c;c++)p[c]=m,q[c]=a[c],m+=i;e.xIncrement=m}else if(f(k))if(r)for(c=0;o>c;c++)i=a[c],p[c]=i[0],q[c]=i.slice(1,r+1);else for(c=0;o>c;c++)i=a[c],p[c]=i[0],q[c]=i[1];else D(12)}else for(c=0;o>c;c++)a[c]!==N&&(i={series:e},e.pointClass.prototype.applyOptions.apply(i,[a[c]]),e.updateParallelArrays(i,c),m&&i.name)&&(l.names[i.x]=i.name);for(d(q[0])&&D(14,!0),e.data=[],e.options.data=a,c=h&&h.length||0;c--;)h[c]&&h[c].destroy&&h[c].destroy();l&&(l.minRange=l.userMinRange),e.isDirty=e.isDirtyData=j.isDirtyBox=!0,n(b,!0)&&j.redraw(!1)},processData:function(a){var b,c=this.xData,d=this.yData,e=c.length;b=0;var f,g,h=this.xAxis,i=this.options,j=i.cropThreshold,k=this.isCartesian;if(k&&!this.isDirty&&!h.isDirty&&!this.yAxis.isDirty&&!a)return!1;for(k&&this.sorted&&(!j||e>j||this.forceCrop)&&(a=h.min,h=h.max,c[e-1]<a||c[0]>h?(c=[],d=[]):(c[0]<a||c[e-1]>h)&&(b=this.cropData(this.xData,this.yData,a,h),c=b.xData,d=b.yData,b=b.start,f=!0)),h=c.length-1;h>=0;h--)e=c[h]-c[h-1],e>0&&(g===N||g>e)?g=e:0>e&&this.requireSorting&&D(15);this.cropped=f,this.cropStart=b,this.processedXData=c,this.processedYData=d,null===i.pointRange&&(this.pointRange=g||1),this.closestPointRange=g},cropData:function(a,b,c,d){var e,f=a.length,g=0,h=f,i=n(this.cropShoulder,1);for(e=0;f>e;e++)if(a[e]>=c){g=ma(0,e-i);break}for(;f>e;e++)if(a[e]>d){h=e+i;break}return{xData:a.slice(g,h),yData:b.slice(g,h),start:g,end:h}},generatePoints:function(){var a,b,c,d,e=this.options.data,f=this.data,g=this.processedXData,h=this.processedYData,i=this.pointClass,j=g.length,k=this.cropStart||0,l=this.hasGroupedData,n=[];for(f||l||(f=[],f.length=e.length,f=this.data=f),d=0;j>d;d++)b=k+d,l?n[d]=(new i).init(this,[g[d]].concat(m(h[d]))):(f[b]?c=f[b]:e[b]!==N&&(f[b]=c=(new i).init(this,e[b],g[d])),n[d]=c);if(f&&(j!==(a=f.length)||l))for(d=0;a>d;d++)d===k&&!l&&(d+=j),f[d]&&(f[d].destroyElements(),f[d].plotX=N);this.data=f,this.points=n},setStackedPoints:function(){if(this.options.stacking&&(this.visible===!0||this.chart.options.chart.ignoreHiddenSeries===!1)){var a,b,c,d,e,f=this.processedXData,g=this.processedYData,h=[],i=g.length,j=this.options,k=j.threshold,l=j.stack,j=j.stacking,m=this.stackKey,n="-"+m,o=this.negStacks,p=this.yAxis,q=p.stacks,r=p.oldStacks;for(c=0;i>c;c++)d=f[c],e=g[c],b=(a=o&&k>e)?n:m,q[b]||(q[b]={}),q[b][d]||(r[b]&&r[b][d]?(q[b][d]=r[b][d],q[b][d].total=null):q[b][d]=new K(p,p.options.stackLabels,a,d,l,j)),b=q[b][d],b.points[this.index]=[b.cum||0],"percent"===j?(a=a?m:n,o&&q[a]&&q[a][d]?(a=q[a][d],b.total=a.total=ma(a.total,b.total)+oa(e)||0):b.total=E(b.total+(oa(e)||0))):b.total=E(b.total+(e||0)),b.cum=(b.cum||0)+(e||0),b.points[this.index].push(b.cum),h[c]=b.cum;"percent"===j&&(p.usePercentage=!0),this.stackedYData=h,p.oldStacks={}}},setPercentStacks:function(){var a=this,b=a.stackKey,c=a.yAxis.stacks;Ua([b,"-"+b],function(b){for(var d,e,f,g=a.xData.length;g--;)e=a.xData[g],d=(f=c[b]&&c[b][e])&&f.points[a.index],(e=d)&&(f=f.total?100/f.total:0,e[0]=E(e[0]*f),e[1]=E(e[1]*f),a.stackedYData[g]=e[1])})},getExtremes:function(a){var b,c=this.yAxis,d=this.processedXData,e=[],f=0;b=this.xAxis.getExtremes();var g,h,i,j,k=b.min,l=b.max,a=a||this.stackedYData||this.processedYData;for(b=a.length,j=0;b>j;j++)if(h=d[j],i=a[j],g=null!==i&&i!==N&&(!c.isLog||i.length||i>0),h=this.getExtremesFromAll||this.cropped||(d[j+1]||h)>=k&&(d[j-1]||h)<=l,g&&h)if(g=i.length)for(;g--;)null!==i[g]&&(e[f++]=i[g]);else e[f++]=i;this.dataMin=n(void 0,z(e)),this.dataMax=n(void 0,A(e))},translate:function(){this.processedXData||this.processData(),this.generatePoints();for(var a=this.options,b=a.stacking,c=this.xAxis,d=c.categories,e=this.yAxis,f=this.points,h=f.length,i=!!this.modifyValue,j=a.pointPlacement,l="between"===j||g(j),m=a.threshold,a=0;h>a;a++){var o=f[a],p=o.x,q=o.y,r=o.low,s=b&&e.stacks[(this.negStacks&&m>q?"-":"")+this.stackKey];e.isLog&&0>=q&&(o.y=q=null),o.plotX=c.translate(p,0,0,0,1,j,"flags"===this.type),b&&this.visible&&s&&s[p]&&(s=s[p],q=s.points[this.index],r=q[0],q=q[1],0===r&&(r=n(m,e.min)),e.isLog&&0>=r&&(r=null),o.total=o.stackTotal=s.total,o.percentage="percent"===b&&o.y/s.total*100,o.stackY=q,s.setOffset(this.pointXOffset||0,this.barW||0)),o.yBottom=k(r)?e.translate(r,0,1,0,1):null,i&&(q=this.modifyValue(q,o)),o.plotY="number"==typeof q&&q!==1/0?e.translate(q,0,1,0,1):N,o.clientX=l?c.translate(p,0,0,0,1):o.plotX,o.negative=o.y<(m||0),o.category=d&&d[o.x]!==N?d[o.x]:o.x}this.getSegments()},setTooltipPoints:function(a){var b,c,d,e,f=[],g=this.xAxis,h=g&&g.getExtremes(),i=g?g.tooltipLen||g.len:this.chart.plotSizeX,j=[];if(this.options.enableMouseTracking!==!1){for(a&&(this.tooltipPoints=null),Ua(this.segments||this.points,function(a){f
4=f.concat(a)}),g&&g.reversed&&(f=f.reverse()),this.orderTooltipPoints&&this.orderTooltipPoints(f),a=f.length,e=0;a>e;e++)if(g=f[e],b=g.x,b>=h.min&&b<=h.max)for(d=f[e+1],b=c===N?0:c+1,c=f[e+1]?na(ma(0,ka((g.clientX+(d?d.wrappedClientX||d.clientX:i))/2)),i):i;b>=0&&c>=b;)j[b++]=g;this.tooltipPoints=j}},tooltipHeaderFormatter:function(a){var b,c=this.tooltipOptions,d=c.dateTimeLabelFormats,e=c.xDateFormat,f=this.xAxis,h=f&&"datetime"===f.options.type,c=c.headerFormat,f=f&&f.closestPointRange;if(h&&!e){if(f){for(b in U)if(U[b]>=f){e=d[b];break}}else e=d.day;e=e||d.year}return h&&e&&g(a.key)&&(c=c.replace("{point.key}","{point.key:"+e+"}")),u(c,{point:a,series:this})},onMouseOver:function(){var a=this.chart,b=a.hoverSeries;b&&b!==this&&b.onMouseOut(),this.options.events.mouseOver&&$a(this,"mouseOver"),this.setState("hover"),a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;d&&d.onMouseOut(),this&&a.events.mouseOut&&$a(this,"mouseOut"),c&&!a.stickyTracking&&(!c.shared||this.noSharedTooltip)&&c.hide(),this.setState(),b.hoverSeries=null},animate:function(b){var c,d=this,f=d.chart,g=f.renderer;c=d.options.animation;var h,i=f.clipBox,j=f.inverted;c&&!e(c)&&(c=cb[d.type].animation),h="_sharedClip"+c.duration+c.easing,b?(b=f[h],c=f[h+"m"],b||(f[h]=b=g.clipRect(a(i,{width:0})),f[h+"m"]=c=g.clipRect(-99,j?-f.plotLeft:-f.plotTop,99,j?f.chartWidth:f.chartHeight)),d.group.clip(b),d.markerGroup.clip(c),d.sharedClipKey=h):((b=f[h])&&(b.animate({width:f.plotSizeX},c),f[h+"m"].animate({width:f.plotSizeX+99},c)),d.animate=null,d.animationTimeout=setTimeout(function(){d.afterAnimate()},c.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 b,c,d,e,f,g,h,i,j,k,l=this.points,m=this.chart,o=this.options.marker,p=this.markerGroup;if(o.enabled||this._hasPointMarkers)for(e=l.length;e--;)f=l[e],c=ka(f.plotX),d=f.plotY,j=f.graphic,h=f.marker||{},b=o.enabled&&h.enabled===N||h.enabled,k=m.isInsidePlot(ja(c),d,m.inverted),b&&d!==N&&!isNaN(d)&&null!==f.y?(b=f.pointAttr[f.selected?"select":""],g=b.r,h=n(h.symbol,this.symbol),i=0===h.indexOf("url"),j?j.attr({visibility:k?Ba?"inherit":"visible":"hidden"}).animate(a({x:c-g,y:d-g},j.symbolName?{width:2*g,height:2*g}:{})):k&&(g>0||i)&&(f.graphic=m.renderer.symbol(h,c-g,d-g,2*g,2*g).attr(b).add(p))):j&&(f.graphic=j.destroy())},convertAttribs:function(a,b,c,d){var e,f,g=this.pointAttrToOptions,h={},a=a||{},b=b||{},c=c||{},d=d||{};for(e in g)f=g[e],h[e]=n(a[f],b[e],c[e],d[e]);return h},getAttribs:function(){var b,c,d,e=this,f=e.options,g=cb[e.type].marker?f.marker:f,h=g.states,i=h.hover,j=e.color,l={stroke:j,fill:j},m=e.points||[],n=[],o=e.pointAttrToOptions,p=f.negativeColor,q=g.lineColor,r=g.fillColor;for(f.marker?(i.radius=i.radius||g.radius+2,i.lineWidth=i.lineWidth||g.lineWidth+1):i.color=i.color||gb(i.color||j).brighten(i.brightness).get(),n[""]=e.convertAttribs(g,l),Ua(["hover","select"],function(a){n[a]=e.convertAttribs(h[a],n[""])}),e.pointAttr=n,j=m.length;j--;){if(l=m[j],(g=l.options&&l.options.marker||l.options)&&g.enabled===!1&&(g.radius=0),l.negative&&p&&(l.color=l.fillColor=p),c=f.colorByPoint||l.color,l.options)for(d in o)k(g[o[d]])&&(c=!0);c?(g=g||{},c=[],h=g.states||{},b=h.hover=h.hover||{},f.marker||(b.color=gb(b.color||l.color).brighten(b.brightness||i.brightness).get()),b={color:l.color},r||(b.fillColor=l.color),q||(b.lineColor=l.color),c[""]=e.convertAttribs(a(b,g),n[""]),c.hover=e.convertAttribs(h.hover,n.hover,c[""]),c.select=e.convertAttribs(h.select,n.select,c[""])):c=n,l.pointAttr=c}},destroy:function(){var a,b,c,d,e,f=this,g=f.chart,h=/AppleWebKit\/533/.test(ta),i=f.data||[];for($a(f,"destroy"),Za(f),Ua(f.axisTypes||[],function(a){(e=f[a])&&(j(e.series,f),e.isDirty=e.forceRedraw=!0)}),f.legendItem&&f.chart.legend.destroyItem(f),b=i.length;b--;)(c=i[b])&&c.destroy&&c.destroy();f.points=null,clearTimeout(f.animationTimeout),Ua("area,graph,dataLabelsGroup,group,markerGroup,tracker,graphNeg,areaNeg,posClip,negClip".split(","),function(b){f[b]&&(a=h&&"group"===b?"hide":"destroy",f[b][a]())}),g.hoverSeries===f&&(g.hoverSeries=null),j(g.series,f);for(d in f)delete f[d]},getSegmentPath:function(a){var b=this,c=[],d=b.options.step;return Ua(a,function(e,f){var g,h=e.plotX,i=e.plotY;b.getPointSpline?c.push.apply(c,b.getPointSpline(a,e,f)):(c.push(f?"L":"M"),d&&f&&(g=a[f-1],"right"===d?c.push(g.plotX,i):"center"===d?c.push((g.plotX+h)/2,g.plotY,(g.plotX+h)/2,i):c.push(h,g.plotY)),c.push(e.plotX,e.plotY))}),c},getGraphPath:function(){var a,b=this,c=[],d=[];return Ua(b.segments,function(e){a=b.getSegmentPath(e),e.length>1?c=c.concat(a):d.push(e[0])}),b.singlePoints=d,b.graphPath=c},drawGraph:function(){var a=this,b=this.options,c=[["graph",b.lineColor||this.color]],d=b.lineWidth,e=b.dashStyle,f="square"!==b.linecap,g=this.getGraphPath(),h=b.negativeColor;
4h&&c.push(["graphNeg",h]),Ua(c,function(c,h){var i=c[0],j=a[i];j?(bb(j),j.animate({d:g})):d&&g.length&&(j={stroke:c[1],"stroke-width":d,zIndex:1},e?j.dashstyle=e:f&&(j["stroke-linecap"]=j["stroke-linejoin"]="round"),a[i]=a.chart.renderer.path(g).attr(j).add(a.group).shadow(!h&&b.shadow))})},clipNeg:function(){var a,b=this.options,c=this.chart,d=c.renderer,e=b.negativeColor||b.negativeFillColor,f=this.graph,g=this.area,h=this.posClip,i=this.negClip;a=c.chartWidth;var j=c.chartHeight,k=ma(a,j),l=this.yAxis;e&&(f||g)&&(e=ja(l.toPixels(b.threshold||0,!0)),0>e&&(k-=e),b={x:0,y:0,width:k,height:e},k={x:0,y:e,width:k,height:k},c.inverted&&(b.height=k.y=c.plotWidth-e,d.isVML&&(b={x:c.plotWidth-e-c.plotLeft,y:0,width:a,height:j},k={x:e+c.plotLeft-a,y:0,width:c.plotLeft+e,height:a})),l.reversed?(c=k,a=b):(c=b,a=k),h?(h.animate(c),i.animate(a)):(this.posClip=h=d.clipRect(c),this.negClip=i=d.clipRect(a),f&&this.graphNeg&&(f.clip(h),this.graphNeg.clip(i)),g&&(g.clip(h),this.areaNeg.clip(i))))},invertGroups:function(){function a(){var a={width:b.yAxis.len,height:b.xAxis.len};Ua(["group","markerGroup"],function(c){b[c]&&b[c].attr(a).invert()})}var b=this,c=b.chart;b.xAxis&&(Ya(c,"resize",a),Ya(b,"destroy",function(){Za(c,"resize",a)}),a(),b.invertGroups=a)},plotGroup:function(a,b,c,d,e){var f=this[a],g=!f;return g&&(this[a]=f=this.chart.renderer.g(b).attr({visibility:c,zIndex:d||.1}).add(e)),f[g?"attr":"animate"](this.getPlotBox()),f},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,b=this.chart,c=this.options,d=c.animation&&!!this.animate&&b.renderer.isSVG,e=this.visible?"visible":"hidden",f=c.zIndex,g=this.hasRendered,h=b.seriesGroup;a=this.plotGroup("group","series",e,f,h),this.markerGroup=this.plotGroup("markerGroup","markers",e,f,h),d&&this.animate(!0),this.getAttribs(),a.inverted=this.isCartesian?b.inverted:!1,this.drawGraph&&(this.drawGraph(),this.clipNeg()),this.drawDataLabels&&this.drawDataLabels(),this.visible&&this.drawPoints(),this.options.enableMouseTracking!==!1&&this.drawTracker(),b.inverted&&this.invertGroups(),c.clip!==!1&&!this.sharedClipKey&&!g&&a.clip(b.clipRect),d?this.animate():g||this.afterAnimate(),this.isDirty=this.isDirtyData=!1,this.hasRendered=!0},redraw:function(){var a=this.chart,b=this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:n(d&&d.left,a.plotLeft),translateY:n(e&&e.top,a.plotTop)})),this.translate(),this.setTooltipPoints(!0),this.render(),b&&$a(this,"updatedData")},setState:function(a){var b=this.options,c=this.graph,d=this.graphNeg,e=b.states,b=b.lineWidth,a=a||"";this.state!==a&&(this.state=a,e[a]&&e[a].enabled===!1||(a&&(b=e[a].lineWidth||b+1),c&&!c.dashstyle&&(a={"stroke-width":b},c.attr(a),d&&d.attr(a))))},setVisible:function(a,b){var c,d=this,e=d.chart,f=d.legendItem,g=e.options.chart.ignoreHiddenSeries,h=d.visible;c=(d.visible=a=d.userOptions.visible=a===N?!h:a)?"show":"hide",Ua(["group","dataLabelsGroup","markerGroup","tracker"],function(a){d[a]&&d[a][c]()}),e.hoverSeries===d&&d.onMouseOut(),f&&e.legend.colorizeItem(d,a),d.isDirty=!0,d.options.stacking&&Ua(e.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)}),Ua(d.linkedSeries,function(b){b.setVisible(a,!1)}),g&&(e.isDirtyBox=!0),b!==!1&&e.redraw(),$a(d,c)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=a===N?!this.selected:a,this.checkbox&&(this.checkbox.checked=a),$a(this,a?"select":"unselect")},drawTracker:Qa.drawTrackerGraph},a(M.prototype,{addSeries:function(a,b,c){var d,e=this;return a&&(b=n(b,!0),$a(e,"addSeries",{options:a},function(){d=e.initSeries(a),e.isDirtyLegend=!0,e.linkSeries(),b&&e.redraw(c)})),d},addAxis:function(a,c,d,e){var f=c?"xAxis":"yAxis",g=this.options;new J(this,b(a,{index:this[f].length,isX:c})),g[f]=m(g[f]||{}),g[f].push(a),n(d,!0)&&this.redraw(e)},showLoading:function(b){var c=this.options,d=this.loadingDiv,e=c.loading;d||(this.loadingDiv=d=p(Ja,{className:"highcharts-loading"},a(e.style,{zIndex:10,display:Ka}),this.container),this.loadingSpan=p("span",null,e.labelStyle,d)),this.loadingSpan.innerHTML=b||c.lang.loading,this.loadingShown||(o(d,{opacity:0,display:"",left:this.plotLeft+"px",to
4p:this.plotTop+"px",width:this.plotWidth+"px",height:this.plotHeight+"px"}),ab(d,{opacity:e.style.opacity},{duration:e.showDuration||0}),this.loadingShown=!0)},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&ab(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){o(b,{display:Ka})}}),this.loadingShown=!1}}),a(pb.prototype,{update:function(a,b,c){var d,f=this,g=f.series,h=f.graphic,i=g.data,j=g.chart,k=g.options,b=n(b,!0);f.firePointEvent("update",{options:a},function(){f.applyOptions(a),e(a)&&(g.getAttribs(),h&&(a&&a.marker&&a.marker.symbol?f.graphic=h.destroy():h.attr(f.pointAttr[f.state||""])),a&&a.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy())),d=Ta(f,i),g.updateParallelArrays(f,d),k.data[d]=f.options,g.isDirty=g.isDirtyData=!0,!g.fixedBox&&g.hasCartesianSeries&&(j.isDirtyBox=!0),"point"===k.legendType&&j.legend.destroyItem(f),b&&j.redraw(c)})},remove:function(a,b){var c,d=this,e=d.series,f=e.points,g=e.chart,h=e.data;F(b,g),a=n(a,!0),d.firePointEvent("remove",null,function(){c=Ta(d,h),h.length===f.length&&f.splice(c,1),h.splice(c,1),e.options.data.splice(c,1),e.updateParallelArrays(d,"splice",c,1),d.destroy(),e.isDirty=!0,e.isDirtyData=!0,a&&g.redraw()})}}),a(qb.prototype,{addPoint:function(a,b,c,d){var e,f=this.options,g=this.data,h=this.graph,i=this.area,j=this.chart,k=this.xAxis&&this.xAxis.names,l=h&&h.shift||0,m=f.data,o=this.xData; 5if(F(d,j),c&&Ua([h,i,this.graphNeg,this.areaNeg],function(a){a&&(a.shift=l+1)}),i&&(i.isArea=!0),b=n(b,!0),d={series:this},this.pointClass.prototype.applyOptions.apply(d,[a]),h=d.x,i=o.length,this.requireSorting&&h<o[i-1])for(e=!0;i&&o[i-1]>h;)i--;this.updateParallelArrays(d,"splice",i,0,0),this.updateParallelArrays(d,i),k&&(k[h]=d.name),m.splice(i,0,a),e&&(this.data.splice(i,0,null),this.processData()),"point"===f.legendType&&this.generatePoints(),c&&(g[0]&&g[0].remove?g[0].remove(!1):(g.shift(),this.updateParallelArrays(d,"shift"),m.shift())),this.isDirtyData=this.isDirty=!0,b&&(this.getAttribs(),j.redraw())},remove:function(a,b){var c=this,d=c.chart,a=n(a,!0);c.isRemoving||(c.isRemoving=!0,$a(c,"remove",null,function(){c.destroy(),d.isDirtyLegend=d.isDirtyBox=!0,d.linkSeries(),a&&d.redraw(b)})),c.isRemoving=!1},update:function(c,d){var e,f=this.chart,g=this.type,h=Oa[g].prototype,c=b(this.userOptions,{animation:!1,index:this.index,pointStart:this.xData[0]},{data:this.options.data},c);this.remove(!1);for(e in h)h.hasOwnProperty(e)&&(this[e]=N);a(this,Oa[c.type||g].prototype),this.init(f,c),n(d,!0)&&f.redraw(!1)}}),a(J.prototype,{update:function(c,d){var e=this.chart,c=e.options[this.coll][this.options.index]=b(this.userOptions,c);this.destroy(!0),this._addedPlotLB=this.userMin=this.userMax=N,this.init(e,a(c,{events:N})),e.isDirtyBox=!0,n(d,!0)&&e.redraw()},remove:function(a){var b=this.chart,c=this.coll;Ua(this.series,function(a){a.remove(!1)}),j(b.axes,this),j(b[c],this),b.options[c].splice(this.options.index,1),Ua(b[c],function(a,b){a.options.index=b}),this.destroy(),b.isDirtyBox=!0,n(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}});var rb=q(qb);Oa.line=rb,cb.area=b(Pa,{threshold:0});var sb=q(qb,{type:"area",getSegments:function(){var a,b,c,d,e,f=[],g=[],h=[],i=this.xAxis,j=this.yAxis,k=j.stacks[this.stackKey],l={},m=this.points,n=this.options.connectNulls;if(this.options.stacking&&!this.cropped){for(d=0;d<m.length;d++)l[m[d].x]=m[d];for(e in k)null!==k[e].total&&h.push(+e);h.sort(function(a,b){return a-b}),Ua(h,function(d){(!n||l[d]&&null!==l[d].y)&&(l[d]?g.push(l[d]):(a=i.translate(d),c=k[d].percent?k[d].total?100*k[d].cum/k[d].total:0:k[d].cum,b=j.toPixels(c,!0),g.push({y:null,plotX:a,clientX:a,plotY:b,yBottom:b,onMouseOver:Ha})))}),g.length&&f.push(g)}else qb.prototype.getSegments.call(this),f=this.segments;this.segments=f},getSegmentPath:function(a){var b,c=qb.prototype.getSegmentPath.call(this,a),d=[].concat(c),e=this.options;b=c.length;var f,g=this.yAxis.getThreshold(e.threshold);if(3===b&&d.push("L",c[1],c[2]),e.stacking&&!this.closedStacks)for(b=a.length-1;b>=0;b--)f=n(a[b].yBottom,g),b<a.length-1&&e.step&&d.push(a[b+1].plotX,f),d.push(a[b].plotX,f);else this.closeSegment(d,a,g);return this.areaPath=this.areaPath.concat(d),c},closeSegment:function(a,b,c){a.push("L",b[b.length-1].plotX,c,"L",b[0].plotX,c)},drawGraph:function(){this.areaPath=[],qb.prototype.drawGraph.apply(this);var a=this,b=this.areaPath,c=this.options,d=c.negativeColor,e=c.negativeFillColor,f=[["area",this.color,c.fillColor]];(d||e)&&f.push(["areaNeg",d,e]),Ua(f,function(d){var e=d[0],f=a[e];f?f.animate({d:b}):a[e]=a.chart.renderer.path(b).attr({fill:n(d[2],gb(d[1]).setOpacity(n(c.fillOpacity,.75)).get()),zIndex:0}).add(a.group)})},drawLegendSymbol:ib.drawRectangle});
5Oa.area=sb,cb.spline=b(Pa),rb=q(qb,{type:"spline",getPointSpline:function(a,b,c){var d,e,f,g,h=b.plotX,i=b.plotY,j=a[c-1],k=a[c+1];if(j&&k){a=j.plotY,f=k.plotX;var l,k=k.plotY;d=(1.5*h+j.plotX)/2.5,e=(1.5*i+a)/2.5,f=(1.5*h+f)/2.5,g=(1.5*i+k)/2.5,l=(g-e)*(f-h)/(f-d)+i-g,e+=l,g+=l,e>a&&e>i?(e=ma(a,i),g=2*i-e):a>e&&i>e&&(e=na(a,i),g=2*i-e),g>k&&g>i?(g=ma(k,i),e=2*i-g):k>g&&i>g&&(g=na(k,i),e=2*i-g),b.rightContX=f,b.rightContY=g}return c?(b=["C",j.rightContX||j.plotX,j.rightContY||j.plotY,d||h,e||i,h,i],j.rightContX=j.rightContY=null):b=["M",h,i],b}}),Oa.spline=rb,cb.areaspline=b(cb.area),sb=sb.prototype,rb=q(rb,{type:"areaspline",closedStacks:!0,getSegmentPath:sb.getSegmentPath,closeSegment:sb.closeSegment,drawGraph:sb.drawGraph,drawLegendSymbol:ib.drawRectangle}),Oa.areaspline=rb,cb.column=b(Pa,{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}),rb=q(qb,{type:"column",pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},cropShoulder:0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){qb.prototype.init.apply(this,arguments);var a=this,b=a.chart;b.hasRendered&&Ua(b.series,function(b){b.type===a.type&&(b.isDirty=!0)})},getColumnMetrics:function(){var a,b,c=this,d=c.options,e=c.xAxis,f=c.yAxis,g=e.reversed,h={},i=0;d.grouping===!1?i=1:Ua(c.chart.series,function(d){var e=d.options,g=d.yAxis;d.type===c.type&&d.visible&&f.len===g.len&&f.pos===g.pos&&(e.stacking?(a=d.stackKey,h[a]===N&&(h[a]=i++),b=h[a]):e.grouping!==!1&&(b=i++),d.columnIndex=b)});var e=na(oa(e.transA)*(e.ordinalSlope||d.pointRange||e.closestPointRange||1),e.len),j=e*d.groupPadding,l=(e-2*j)/i,m=d.pointWidth,d=k(m)?(l-m)/2:l*d.pointPadding,m=n(m,l-2*d);return c.columnMetrics={width:m,offset:d+(j+((g?i-(c.columnIndex||0):c.columnIndex)||0)*l-e/2)*(g?-1:1)}},translate:function(){var a=this.chart,b=this.options,c=b.borderWidth,d=this.yAxis,e=this.translatedThreshold=d.getThreshold(b.threshold),f=n(b.minPointLength,5),b=this.getColumnMetrics(),g=b.width,h=this.barW=la(ma(g,1+2*c)),i=this.pointXOffset=b.offset,j=-(c%2?.5:0),k=c%2?.5:1;a.renderer.isVML&&a.inverted&&(k+=1),qb.prototype.translate.apply(this),Ua(this.points,function(a){var b,c=n(a.yBottom,e),l=na(ma(-999-c,a.plotY),d.len+999+c),m=a.plotX+i,o=h,p=na(l,c),l=ma(l,c)-p;oa(l)<f&&f&&(l=f,p=ja(oa(p-e)>f?c-f:e-(d.translate(a.y,0,1,0,1)<=e?f:0))),a.barX=m,a.pointWidth=g,c=oa(m)<.5,o=ja(m+o)+j,m=ja(m)+j,o-=m,b=oa(p)<.5,l=ja(p+l)+k,p=ja(p)+k,l-=p,c&&(m+=1,o-=1),b&&(p-=1,l+=1),a.shapeType="rect",a.shapeArgs={x:m,y:p,width:o,height:l}})},getSymbol:Ha,drawLegendSymbol:ib.drawRectangle,drawGraph:Ha,drawPoints:function(){var a,c=this,d=this.chart,e=c.options,f=d.renderer,g=d.options.animationLimit||250;Ua(c.points,function(h){var i=h.plotY,j=h.graphic;i===N||isNaN(i)||null===h.y?j&&(h.graphic=j.destroy()):(a=h.shapeArgs,j?(bb(j),j[d.pointCount<g?"animate":"attr"](b(a))):h.graphic=f[h.shapeType](a).attr(h.pointAttr[h.selected?"select":""]).add(c.group).shadow(e.shadow,null,e.stacking&&!e.borderRadius))})},drawTracker:Qa.drawTrackerPoint,animate:function(a){var b=this.yAxis,c=this.options,d=this.chart.inverted,e={};Ba&&(a?(e.scaleY=.001,a=na(b.pos+b.len,ma(b.pos,b.toPixels(c.threshold))),d?e.translateX=a-b.len:e.translateY=a,this.group.attr(e)):(e.scaleY=1,e[d?"translateX":"translateY"]=b.pos,this.group.animate(e,this.options.animation),this.animate=null))},remove:function(){var a=this,b=a.chart;b.hasRendered&&Ua(b.series,function(b){b.type===a.type&&(b.isDirty=!0)}),qb.prototype.remove.apply(a,arguments)}}),Oa.column=rb,cb.bar=b(cb.column),rb=q(rb,{type:"bar",inverted:!0}),Oa.bar=rb,cb.scatter=b(Pa,{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}),rb=q(qb,{type:"scatter",sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["markerGroup"],takeOrdinalPosition:!1,drawTracker:Qa.drawTrackerPoint,drawGraph:function(){this.options.lineWidth&&qb.prototype.drawGraph.call(this)},setTooltipPoints:Ha}),Oa.scatter=rb,cb.pie=b(Pa,{borderColor:"#FFFFFF",borderWidth:1,center:[null,
5null],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}}),Pa={type:"pie",isCartesian:!1,pointClass:q(pb,{init:function(){pb.prototype.init.apply(this,arguments);var b,c=this;return c.y<0&&(c.y=null),a(c,{visible:c.visible!==!1,name:n(c.name,"Slice")}),b=function(a){c.slice("select"===a.type)},Ya(c,"select",b),Ya(c,"unselect",b),c},setVisible:function(a){var b,c=this,d=c.series,e=d.chart;c.visible=c.options.visible=a=a===N?!c.visible:a,d.options.data[Ta(c,d.data)]=c.options,b=a?"show":"hide",Ua(["graphic","dataLabel","connector","shadowGroup"],function(a){c[a]&&c[a][b]()}),c.legendItem&&e.legend.colorizeItem(c,a),!d.isDirty&&d.options.ignoreHiddenPoint&&(d.isDirty=!0,e.redraw())},slice:function(a,b,c){var d=this.series;F(c,d.chart),n(b,!0),this.sliced=this.options.sliced=a=k(a)?a:!this.sliced,d.options.data[Ta(this,d.data)]=this.options,a=a?this.slicedTranslation:{translateX:0,translateY:0},this.graphic.animate(a),this.shadowGroup&&this.shadowGroup.animate(a)}}),requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:Ha,animate:function(a){var b=this,c=b.points,d=b.startAngleRad;a||(Ua(c,function(a){var c=a.graphic,a=a.shapeArgs;c&&(c.attr({r:b.center[3]/2,start:d,end:d}),c.animate({r:a.r,start:a.start,end:a.end},b.options.animation))}),b.animate=null)},setData:function(a,b){qb.prototype.setData.call(this,a,!1),this.processData(),this.generatePoints(),n(b,!0)&&this.chart.redraw()},generatePoints:function(){var a,b,c,d,e=0,f=this.options.ignoreHiddenPoint;for(qb.prototype.generatePoints.call(this),b=this.points,c=b.length,a=0;c>a;a++)d=b[a],e+=f&&!d.visible?0:d.y;for(this.total=e,a=0;c>a;a++)d=b[a],d.percentage=e>0?d.y/e*100:0,d.total=e},translate:function(a){this.generatePoints();var b,c,d,e,f,g=0,h=this.options,i=h.slicedOffset,j=i+h.borderWidth,k=h.startAngle||0,l=this.startAngleRad=ra/180*(k-90),k=(this.endAngleRad=ra/180*((h.endAngle||k+360)-90))-l,m=this.points,n=h.dataLabels.distance,h=h.ignoreHiddenPoint,o=m.length;for(a||(this.center=a=this.getCenter()),this.getX=function(b,c){return d=ia.asin((b-a[1])/(a[2]/2+n)),a[0]+(c?-1:1)*pa(d)*(a[2]/2+n)},e=0;o>e;e++)f=m[e],b=l+g*k,h&&!f.visible||(g+=f.percentage/100),c=l+g*k,f.shapeType="arc",f.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:ja(1e3*b)/1e3,end:ja(1e3*c)/1e3},d=(c+b)/2,d>.75*k&&(d-=2*ra),f.slicedTranslation={translateX:ja(pa(d)*i),translateY:ja(qa(d)*i)},b=pa(d)*a[2]/2,c=qa(d)*a[2]/2,f.tooltipPos=[a[0]+.7*b,a[1]+.7*c],f.half=-ra/2>d||d>ra/2?1:0,f.angle=d,j=na(j,n/2),f.labelPos=[a[0]+b+pa(d)*n,a[1]+c+qa(d)*n,a[0]+b+pa(d)*j,a[1]+c+qa(d)*j,a[0]+b,a[1]+c,0>n?"center":f.half?"right":"left",d]},setTooltipPoints:Ha,drawGraph:null,drawPoints:function(){var b,c,d,e,f=this,g=f.chart.renderer,h=f.options.shadow;h&&!f.shadowGroup&&(f.shadowGroup=g.g("shadow").add(f.group)),Ua(f.points,function(i){c=i.graphic,e=i.shapeArgs,d=i.shadowGroup,h&&!d&&(d=i.shadowGroup=g.g("shadow").add(f.shadowGroup)),b=i.sliced?i.slicedTranslation:{translateX:0,translateY:0},d&&d.attr(b),c?c.animate(a(e,b)):i.graphic=c=g.arc(e).setRadialReference(f.center).attr(i.pointAttr[i.selected?"select":""]).attr({"stroke-linejoin":"round"}).attr(b).add(f.group).shadow(h,d),void 0!==i.visible&&i.setVisible(i.visible)})},sortByAngle:function(a,b){a.sort(function(a,c){return void 0!==a.angle&&(c.angle-a.angle)*b})},drawTracker:Qa.drawTrackerPoint,drawLegendSymbol:ib.drawRectangle,getCenter:jb.getCenter,getSymbol:Ha},Pa=q(qb,Pa),Oa.pie=Pa,qb.prototype.drawDataLabels=function(){var c,d,e,f,g=this,h=g.options,i=h.cursor,j=h.dataLabels,h=g.points;(j.enabled||g._hasPointLabels)&&(g.dlProcessOptions&&g.dlProcessOptions(j),f=g.plotGroup("dataLabelsGroup","data-labels",g.visible?"visible":"hidden",j.zIndex||6),d=j,Ua(h,function(h){var l,m,o,p=h.dataLabel,q=h.connector,r=!0;if(c=h.options&&h.options.dataLabels,l=n(c&&c.enabled,d.enabled),p&&!l)h.dataLabel=p.destroy();else if(l){if(j=b(d,c),l=j.rotation,m=h.getLabelConfig(),e=j.format?u(j.format,m):j.formatter.call(m,j),j.style.color=n(j.color,j.style.color,g.color,"black"),p)k(e)?(p.attr({text:e}
5),r=!1):(h.dataLabel=p=p.destroy(),q&&(h.connector=q.destroy()));else if(k(e)){p={fill:j.backgroundColor,stroke:j.borderColor,"stroke-width":j.borderWidth,r:j.borderRadius||0,rotation:l,padding:j.padding,zIndex:1};for(o in p)p[o]===N&&delete p[o];p=h.dataLabel=g.chart.renderer[l?"text":"label"](e,0,-999,null,null,null,j.useHTML).attr(p).css(a(j.style,i&&{cursor:i})).add(f).shadow(j.shadow)}p&&g.alignDataLabel(h,p,j,null,r)}}))},qb.prototype.alignDataLabel=function(b,c,d,e,f){var g=this.chart,h=g.inverted,i=n(b.plotX,-999),j=n(b.plotY,-999),k=c.getBBox();(b=this.visible&&(b.series.forceDL||g.isInsidePlot(b.plotX,b.plotY,h)))&&(e=a({x:h?g.plotWidth-j:i,y:ja(h?g.plotHeight-i:j),width:0,height:0},e),a(d,{width:k.width,height:k.height}),d.rotation?(h={align:d.align,x:e.x+d.x+e.width/2,y:e.y+d.y+e.height/2},c[f?"attr":"animate"](h)):(c.align(d,null,e),h=c.alignAttr,"justify"===n(d.overflow,"justify")?this.justifyDataLabel(c,d,h,k,e,f):n(d.crop,!0)&&(b=g.isInsidePlot(h.x,h.y)&&g.isInsidePlot(h.x+k.width,h.y+k.height)))),b||(c.attr({y:-999}),c.placed=!1)},qb.prototype.justifyDataLabel=function(a,b,c,d,e,f){var g,h,i=this.chart,j=b.align,k=b.verticalAlign;g=c.x,0>g&&("right"===j?b.align="left":b.x=-g,h=!0),g=c.x+d.width,g>i.plotWidth&&("left"===j?b.align="right":b.x=i.plotWidth-g,h=!0),g=c.y,0>g&&("bottom"===k?b.verticalAlign="top":b.y=-g,h=!0),g=c.y+d.height,g>i.plotHeight&&("top"===k?b.verticalAlign="bottom":b.y=i.plotHeight-g,h=!0),h&&(a.placed=!f,a.align(b,null,e))},Oa.pie&&(Oa.pie.prototype.drawDataLabels=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m=this,o=m.data,p=m.chart,q=m.options.dataLabels,r=n(q.connectorPadding,10),s=n(q.connectorWidth,1),t=p.plotWidth,p=p.plotHeight,u=n(q.softConnector,!0),v=q.distance,w=m.center,x=w[2]/2,y=w[1],z=v>0,B=[[],[]],C=[0,0,0,0],D=function(a,b){return b.y-a.y};if(m.visible&&(q.enabled||m._hasPointLabels)){for(qb.prototype.drawDataLabels.apply(m),Ua(o,function(a){a.dataLabel&&a.visible&&B[a.half].push(a)}),k=0;!g&&o[k];)g=o[k]&&o[k].dataLabel&&(o[k].dataLabel.getBBox().height||21),k++;for(k=2;k--;){var E,o=[],F=[],G=B[k],H=G.length;if(m.sortByAngle(G,k-.5),v>0){for(l=y-x-v;y+x+v>=l;l+=g)o.push(l);if(e=o.length,H>e){for(a=[].concat(G),a.sort(D),l=H;l--;)a[l].rank=l;for(l=H;l--;)G[l].rank>=e&&G.splice(l,1);H=G.length}for(l=0;H>l;l++){a=G[l],f=a.labelPos,a=9999;var I,J;for(J=0;e>J;J++)I=oa(o[J]-f[1]),a>I&&(a=I,E=J);if(l>E&&null!==o[l])E=l;else for(H-l+E>e&&null!==o[l]&&(E=e-H+l);null===o[E];)E++;F.push({i:E,y:o[E]}),o[E]=null}F.sort(D)}for(l=0;H>l;l++)a=G[l],f=a.labelPos,d=a.dataLabel,j=a.visible===!1?"hidden":"visible",a=f[1],v>0?(e=F.pop(),E=e.i,i=e.y,(a>i&&null!==o[E+1]||i>a&&null!==o[E-1])&&(i=a)):i=a,h=q.justify?w[0]+(k?-1:1)*(x+v):m.getX(0===E||E===o.length-1?a:i,k),d._attr={visibility:j,align:f[6]},d._pos={x:h+q.x+({left:r,right:-r}[f[6]]||0),y:i+q.y-10},d.connX=h,d.connY=i,null===this.options.size&&(e=d.width,r>h-e?C[3]=ma(ja(e-h+r),C[3]):h+e>t-r&&(C[1]=ma(ja(h+e-t+r),C[1])),0>i-g/2?C[0]=ma(ja(-i+g/2),C[0]):i+g/2>p&&(C[2]=ma(ja(i+g/2-p),C[2])))}(0===A(C)||this.verifyDataLabelOverflow(C))&&(this.placeDataLabels(),z&&s&&Ua(this.points,function(a){b=a.connector,f=a.labelPos,(d=a.dataLabel)&&d._pos?(j=d._attr.visibility,h=d.connX,i=d.connY,c=u?["M",h+("left"===f[6]?5:-5),i,"C",h,i,2*f[2]-f[4],2*f[3]-f[5],f[2],f[3],"L",f[4],f[5]]:["M",h+("left"===f[6]?5:-5),i,"L",f[2],f[3],"L",f[4],f[5]],b?(b.animate({d:c}),b.attr("visibility",j)):a.connector=b=m.chart.renderer.path(c).attr({"stroke-width":s,stroke:q.connectorColor||a.color||"#606060",visibility:j}).add(m.group)):b&&(a.connector=b.destroy())}))}},Oa.pie.prototype.placeDataLabels=function(){Ua(this.points,function(a){var b,a=a.dataLabel;a&&((b=a._pos)?(a.attr(a._attr),a[a.moved?"animate":"attr"](b),a.moved=!0):a&&a.attr({y:-999}))})},Oa.pie.prototype.alignDataLabel=Ha,Oa.pie.prototype.verifyDataLabelOverflow=function(a){var b,c=this.center,d=this.options,e=d.center,f=d=d.minSize||80;return null!==e[0]?f=ma(c[2]-ma(a[1],a[3]),d):(f=ma(c[2]-a[1]-a[3],d),c[0]+=(a[3]-a[1])/2),null!==e[1]?f=ma(na(f,c[2]-ma(a[0],a[2])),d):(f=ma(na(f,c[2]-a[0]-a[2]),d),c[1]+=(a[0]-a[2])/2),f<c[2]?(c[2]=f,this.translate(c),Ua(this.points,function(a){a.dataLabel&&(a.dataLabel._pos=null)}),this.drawDataLabels&&this.drawDataLabels()):b=!0,b}),Oa.column&&(Oa.column.prototype.alignDataLabel=function(a,c,d,e,f){var g=this.chart,h=g.inverted,i=a.dlBox||a.shapeArgs,j=a.below||a.plotY>n(this.translatedThreshold,g.plotSizeY),k=n(d.inside,!!this.options.stacking);i&&(e=b(i),h&&(e={x:g.plotWidth-e.y-e.height,y:g.plotHeight-e.x-e.width,width:e.height,height:e.width}),!k)&&(h?(e.x+=j?0:e.width,e.width=0):(e.y+=j?e.height:0,e.height=0)),d.align=n(d.align,!h||k?"center":j?"right":"left"),d.verticalAlign=n(d.verticalAlign,h||k?"middle":j?"top":"bottom"),qb.prototype.alignDataLabel.call(this,a,c,d,e,f)}),a(Highcharts,{Axis:J,Chart:M,Color:gb,Point:pb,Tick:I,Tooltip:L,Ren
5derer:O,Series:qb,SVGElement:H,SVGRenderer:hb,arrayMin:z,arrayMax:A,charts:Ia,dateFormat:R,format:u,pathAnim:T,getOptions:function(){return Q},hasBidiBug:Ca,isTouchDevice:za,numberFormat:r,seriesTypes:Oa,setOptions:function(a){return Q=b(!0,Q,a),G(),Q},addEvent:Ya,removeEvent:Za,createElement:p,discardElement:C,css:o,each:Ua,extend:a,map:Xa,merge:b,pick:n,splat:m,extendClass:q,pInt:c,wrap:t,svg:Ba,canvas:Da,vml:!Ba&&!Da,product:"Highcharts",version:"3.0.9"})}(),function(a){"use strict";var b=window.FID=window.FID||{};b.marketStrip=function(){function b(){H=".market-strip",I="data-chartType",J=".market-strip--index-container",K=".market-strip--summary",L="market-strip--summary-full",M=".market-strip--chart",N=".market-strip--summary-index",O=".market-strip--summary-last-price",P=".market-strip--summary-net-change",Q=".market-strip--summary-percentage-change",R=".market-strip--summary-last-update-date",S=".market-strip--summary-last-update-time",T=".market-strip--summary-change",U="market-strip--down",X=".market-strip--main-error",Y=".market-strip--index-error",Z="market-strip-tooltip-time",$="market-strip-tooltip-quote",V=".market-strip--datetime",W=a(V),x=a(H),y=x.attr("data-hostURLFull"),z=x.attr("data-hostURLUpdate"),_=x.attr("data-quoteURL"),c()}function c(){d(),f(),void 0!==F&&clearInterval(F),e()}function d(){A=y,ca=[],B=!1,D=!1,C=!1,E=!1,l()}function e(){F=setInterval(function(){A=z,C&&d(),f(),null!==W&&void 0!==W&&a.isFunction(window.refreshPersistentDT)&&window.refreshPersistentDT()},ba)}function f(){a.ajax({type:"GET",url:A,dataType:"xml",cache:!1,success:function(a){g(a)},error:function(){m()}})}function g(b){var d,e,f,g,i,k;if(0===a(b).find("QuoteList").find("Q").length||0===a(b).find("ChartList").find("Index").length)m();else{if(h(b),d=0,B)return m(),!1;if(E)return c(),!1;x.find(J).each(function(){return e=a(this),f=e.attr(I),void 0===ca[f]?(d++,n(e),!0):(g=ca[f],j(e.find(K),g.indexName,f,g.netChange,g.percentageChange,g.lastPrice,g.lastUpdateDate,g.lastUpdateTime),void(D||0===g.dataAll.length?(D=!0,o()):(i=p(g.openingDate,"09:30:00am"),k=p(g.openingDate,"04:00:00pm"),u(e.find(M),g.dataAll,g.dataPrevClose,g.prevClose,g.min,g.max,q(i),q(k)))))}),x.find(J).length===d&&m()}}function h(b){var c,d,e,f,g,h,j,k,l;return d=ca,ca=[],a(b).find("QuoteList").find("Q").each(function(){if(c={},e=a(this),void 0===e.attr("st")||""!==e.attr("st")||void 0===e.attr("s")||void 0===e.attr("nt")||void 0===e.attr("pt")||void 0===e.attr("lp")||void 0===e.attr("ld")||void 0===e.attr("lt")||void 0===e.attr("od")||void 0===e.attr("ot")||void 0===e.attr("ct")||void 0===e.attr("dl")||void 0===e.attr("dh"))return B=!0,!1;if(f=e.attr("s"),c.indexName=aa[f],c.netChange=e.attr("nt").replace(",",""),c.percentageChange=e.attr("pt").replace(",",""),c.lastPrice=e.attr("lp").replace(",",""),c.openingDateStr=e.attr("od"),""!==c.openingDateStr&&(c.openingDate=new Date(c.openingDateStr),c.openingTime="",""!==e.attr("ot")&&(c.openingTime=p(c.openingDate,e.attr("ot"))),c.closingTime="",""!==e.attr("ct")&&(c.closingTime=p(c.openingDate,e.attr("ct")))),c.dayHigh=e.attr("dh").replace(",",""),c.dayLow=e.attr("dl").replace(",",""),c.lastUpdateDate=e.attr("ld"),c.lastUpdateTime=e.attr("lt"),!(""!==c.indexName&&a.isNumeric(c.netChange)&&a.isNumeric(c.percentageChange)&&a.isNumeric(c.lastPrice)&&i(new Date(c.lastUpdateDate))&&i(p(new Date(c.lastUpdateDate),c.lastUpdateTime))&&a.isNumeric(c.dayHigh)&&a.isNumeric(c.dayLow)&&(""===c.openingDateStr||i(c.openingDate)&&(""===c.openingTime||i(c.openingTime))&&(""===c.closingTime||i(c.closingTime)))))return B=!0,!1;if(g=[],h=[],void 0!==d[f]){if(d[f].openingDateStr!==c.openingDateStr)return E=!0,!1;g=d[f].dataAll,h=d[f].dataPrevClose}c.dataAll=g,c.dataPrevClose=h,ca[f]=c}),B||E?!1:void a(b).find("ChartList").find("Index").each(function(){if(j=a(this),0===j.find("Symbol").length||0===j.find("Status").length||"0"!==j.find("Status").text())return B=!0,!1;if(void 0===ca[j.find("Symbol").text()])return!0;if(c=ca[j.find("Symbol").text()],""===c.openingDateStr||""===c.openingTime||""===c.closingTime||0===j.find("PrevClose").length||0===j.find("Bars").find("Bar").length)return D=!0,!1;if(c.prevClose=j.find("PrevClose").text().replace(",",""),!a.isNumeric(c.prevClose))return B=!0,!1;if(c.prevClose=parseFloat(c.prevClose),k=r(j.find("Bars").find("Bar"),c.openingDate,c.prevClose,c.openingTime,c.closingTime,c.dataAll),null===k||B){if(B)return!1}else l=s(parseFloat(c.dayHigh),parseFloat(c.dayLow),c.prevClose),c.dataAll.push.apply(c.dataAll,k.all),c.dataPrevClose.push.apply(c.dataPrevClose,k.prevClose),c.min=l.min,c.max=l.max,ca[j.find("Symbol").text()]=c})}function i(b){return a.isNumeric(Date.parse(b))}function j(a,b,c,d,e,f,g,h){var i="AM";a.find(N).html("<a href="+_+c+">"+b+"</a>"),a.find(O).html(k(f)),a.find(P).html(k(d)),a.find(Q).html("("+k(e)+"%)"),h=h.split(":"),"pm"===h[2].substring(2,5)&&(i="PM"),a.find(R).html(g),a.find(S).html(h[0]+":"+h[1]+" "+i+" ET"),parseFloat(e.replace(",",""))<0?a.find(T).addClass(U):(-1===a.find(P).html().indexOf("+")&&a.find(P).html("+"+a.find(P).html()),-1===a.find(Q).html().indexOf("+")&&a.find(Q).html("(+"+k(e)+"%)"),a.find(T).hasClass(U)&&a.find(T).removeClass(U))}
5function k(a){return parseFloat(a).toLocaleString("en-US",{maximumFractionDigits:2,minimumFractionDigits:2})}function l(){x.find(X).hide(),x.find(J).show(),x.find(M).show(),x.find(K).show(),x.find(Y).hide(),x.find(K).removeClass(L)}function m(){C=!0,x.find(X).show(),x.find(J).hide()}function n(a){C=!0,a.find(K).hide(),a.find(M).hide(),a.find(Y).show()}function o(){x.find(M).hide(),x.find(K).addClass(L),C=!0}function p(a,b){var c=new Date(a);try{return b=b.split(":"),c.setHours(parseInt(b[0],10)),c.setMinutes(parseInt(b[1],10)),c.setSeconds(parseInt(b[2].substring(0,2),10)),b[2].length>2&&"pm"===b[2].substring(2,4).toLowerCase()&&c.setHours(c.getHours()+12),c}catch(d){}}function q(a){return Date.UTC(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds())}function r(b,c,d,e,f,g){var h,j,k,l=[],m=[],n=[];return b.each(function(){if(h=a(this),void 0===h.attr("t")||void 0===h.attr("c")||!i(p(c,h.attr("t")))||!a.isNumeric(h.attr("c").replace(",","")))return B=!0,!1;if(j=p(c,h.attr("t")),j>=e&&f>=j&&(k=q(j),!(g.length>0&&g[g.length-1][0]===k))){if(void 0!==n[k])return B=!0,!1;n[k]=1,parseFloat(h.attr("c").replace(",",""))===d?m.push([k,parseFloat(h.attr("c").replace(",",""))]):m.push([k,null]),l.push([k,parseFloat(h.attr("c").replace(",",""))])}}),B?void 0:{all:l,prevClose:m}}function s(a,b,c){var d,e,f;return a===b&&b===c?(d=c+10,e=c-10):(f=a-c>c-b?a-c:c-b,d=c+f+f/6,e=c-f-f/6),{min:e,max:d}}function t(a){return(10>a?"0":"")+a}function u(a,b,c,d,e,f,g,h){var i=new Highcharts.Chart({chart:{height:da,renderTo:a[0],marginLeft:0,marginBottom:15,marginTop:1,backgroundColor:"rgba(255, 255, 255, 0.1)"},title:{text:" "},credits:{enabled:!1},tooltip:{borderWidth:1,borderColor:"#666",style:{paddingTop:7,paddingBottom:7,paddingLeft:6,paddingRight:6},useHTML:!0,formatter:function(){var a=new Date(this.x);a.setUTCHours(a.getUTCHours());var b="AM",c=a.getUTCHours();return c>=12&&(b="PM",c>12&&(c-=12)),'<span class="'+Z+'">'+c+":"+t(a.getUTCMinutes())+" "+b+' ET </span><br> <span class="'+Z+'">'+(a.getUTCMonth()+1)+"/"+a.getUTCDate()+"/"+a.getUTCFullYear()+'</span><br> <span class="'+$+'">'+k(this.y)+"</span>"}},xAxis:{type:"datetime",tickInterval:72e5,dateTimeLabelFormats:{hour:"%l"},labels:{useHTML:!0,style:{fontSize:"11px",fontFamily:"helvetica",color:"#999999",paddingTop:"1px"}},tickLength:0,min:g,max:h},yAxis:{title:{text:" "},labels:{enabled:!1},gridLineColor:"#DDD",plotLines:[{color:"#BBB",width:1,value:d}],tickPositions:[e,f]},plotOptions:{area:{marker:{radius:0,states:{hover:{fillColor:"black"}}},lineWidth:1,states:{hover:{lineWidth:1}},threshold:d}},legend:{enabled:!1},series:[{type:"area",name:" ",data:b,color:"#398fe2",fillColor:"#E9F6FF",negativeColor:"#398fe2",negativeFillColor:"#E9F6FF"},{type:"area",name:" ",data:c,color:"black"}]});return i}function v(){clearTimeout(G),G=setTimeout(function(){w(),G=null},ea)}function w(){var b,c,d,e,f;D||(b=x.find(J).length,b>0&&(c=x.width(),d=c,3===b?d=32.5*c/100:2===b&&(d=c/2),x.find(J).each(function(g){e=a(this),void 0!==e.find(M).highcharts()&&(f=d,b>1&&(f=3===b&&1===g?30*c/100:d-2.5*c/100),a("body").innerWidth()>760&&(f=60*f/100),e.find(M).highcharts().setSize(f,da))})))}var x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa={".DJI":"DJIA",".IXIC":"NASDAQ",".SPX":"S&P 500"},ba=18e4,ca=[],da=83,ea=200;return a(window).resize(v),{initialize:b}}()}(jQuery),$(".market-strip").length>0&&FID.marketStrip.initialize();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.