Files
Disco/Disco.Web/ClientSource/Scripts/Modules/Highcharts.min.js
T
Gary Sharp a76cd8c829 Update: Framework Dependancies Updated
Update: jQuery 1.9.1, jQuery UI 1.10, T4MVC, jQuery Validate,
Highcharts, Knockout, tinymce; Remove: dotless compiler
2013-02-19 16:14:00 +11:00

2 lines
119 KiB
JavaScript

(function(){function f(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function ci(){for(var n=0,t=arguments,r=t.length,i={};n<r;n++)i[t[n++]]=t[n];return i}function c(n,t){return parseInt(n,t||10)}function li(n){return typeof n=="string"}function wt(n){return typeof n=="object"}function pr(n){return Object.prototype.toString.call(n)==="[object Array]"}function ur(n){return typeof n=="number"}function ai(n){return d.log(n)/d.LN10}function dt(n){return d.pow(10,n)}function ki(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}}function i(n){return n!==e&&n!==null}function s(n,t,r){var u,f="setAttribute",e;if(li(t))i(r)?n[f](t,r):n&&n.getAttribute&&(e=n.getAttribute(t));else if(i(t)&&wt(t))for(u in t)n[f](u,t[u]);return e}function vi(n){return pr(n)?n:[n]}function n(){for(var i=arguments,t,r=i.length,n=0;n<r;n++)if(t=i[n],typeof t!="undefined"&&t!==null)return t}function y(n,t){ir&&t&&t.opacity!==e&&(t.filter="alpha(opacity="+t.opacity*100+")"),f(n.style,t)}function ot(n,t,i,r,u){var e=h.createElement(n);return t&&f(e,t),u&&y(e,{padding:0,border:rt,margin:0}),i&&y(e,i),r&&r.appendChild(e),e}function gt(n,t){var i=function(){};return i.prototype=new n,f(i.prototype,t),i}function oo(n){return n=(n||0).toString(),n.indexOf(".")>-1?n.split(".")[1].length:0}function wr(n,t,i,r){var s=it.lang,f=n,e=t===-1?oo(n):isNaN(t=g(t))?2:t,l=i===undefined?s.decimalPoint:i,h=r===undefined?s.thousandsSep:r,a=f<0?"-":"",u=String(c(f=g(+f||0).toFixed(e))),o=u.length>3?u.length%3:0;return a+(o?u.substr(0,o)+h:"")+u.substr(o).replace(/(\d{3})(?=\d)/g,"$1"+h)+(e?l+g(f-u).toFixed(e).slice(2):"")}function di(n,t){return new Array((t||2)+1-String(n).length).join(0)+n}function so(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments);return n.unshift(r),i.apply(this,n)}}function pf(t,i,r,u){var e,f;for(r=n(r,1),e=t/r,i||(i=[1,2,2.5,5,10],u&&u.allowDecimals===!1&&(r===1?i=[1,2,5,10]:r<=.1&&(i=[1/r]))),f=0;f<i.length;f++)if(t=i[f],e<=(i[f]+(i[f+1]||i[f]))/2)break;return t*r}function ae(n,t){for(var r=t||[[oe,[1,2,5,10,20,25,50,100,200,500]],[ff,[1,2,5,10,15,30]],[hu,[1,2,5,10,15,30]],[ar,[1,2,3,4,6,8,12]],[hi,[1,2]],[cu,[1,2]],[vr,[1,2,3,4,6]],[bi,null]],u=r[r.length-1],i=l[u[0]],f=u[1],o,s,e=0;e<r.length;e++)if(u=r[e],i=l[u[0]],f=u[1],r[e+1]&&(s=(i*f[f.length-1]+l[r[e+1][0]])/2,n<=s))break;return i===l[bi]&&n<5*i&&(f=[1,2,5]),i===l[bi]&&n<5*i&&(f=[1,2,5]),o=pf(n/i,f),{unitRange:i,count:o,unitName:u[0]}}function ve(t,r,u,e){var y=[],v,p={},w=it.global.useUTC,a,o=new Date(r),s=t.unitRange,h=t.count;if(i(r)){s>=l[ff]&&(o.setMilliseconds(0),o.setSeconds(s>=l[hu]?0:h*ht(o.getSeconds()/h))),s>=l[hu]&&o[se](s>=l[ar]?0:h*ht(o[lf]()/h)),s>=l[ar]&&o[he](s>=l[hi]?0:h*ht(o[af]()/h)),s>=l[hi]&&o[yf](s>=l[vr]?1:h*ht(o[yr]()/h)),s>=l[vr]&&(o[ce](s>=l[bi]?0:h*ht(o[au]()/h)),a=o[vu]()),s>=l[bi]&&(a-=a%h,o[le](a)),s===l[cu]&&o[yf](o[yr]()-o[vf]()+n(e,1)),v=1,a=o[vu]();for(var c=o.getTime(),b=o[au](),k=o[yr](),d=w?0:(864e5+o.getTimezoneOffset()*6e4)%864e5;c<u;)y.push(c),s===l[bi]?c=lu(a+v*h,0):s===l[vr]?c=lu(a,b+v*h):w||s!==l[hi]&&s!==l[cu]?(c+=s*h,s<=l[ar]&&c%l[hi]===d&&(p[c]=hi)):c=lu(a,b,k+v*h*(s===l[hi]?1:7)),v++;y.push(c)}return y.info=f(t,{higherRanks:p,totalRange:s*h}),y}function ye(){this.color=0,this.symbol=0}function pe(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].ss_i=i;for(n.sort(function(n,i){return r=t(n,i),r===0?n.ss_i-i.ss_i:r}),i=0;i<u;i++)delete n[i].ss_i}function fr(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i}function gi(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i}function er(n,t){var i;for(i in n)n[i]&&n[i]!==t&&n[i].destroy&&n[i].destroy(),delete n[i]}function br(n){eu||(eu=ot(ti)),n&&eu.appendChild(n),eu.innerHTML=""}function kr(n,t){var i="Highcharts error #"+n+": www.highcharts.com/errors/"+n;if(t)throw i;else k.console&&console.log(i)}function ni(n){return parseFloat(n.toPrecision(14))}function nr(t,i){lr=n(t,i.animation)}function ke(){var r=it.global.useUTC,t=r?"getUTC":"get",i=r?"setUTC":"set";lu=r?Date.UTC:function(t,i,r,u,f,e){return new Date(t,i,n(r,1),n(u,0),n(f,0),n(e,0)).getTime()},lf=t+"Minutes",af=t+"Hours",vf=t+"Day",yr=t+"Date",au=t+"Month",vu=t+"FullYear",se=i+"Minutes",he=i+"Hours",yf=i+"Date",ce=i+"Month",le=i+"FullYear"}function ao(n){return it=o(it,n),ke(),it}function vo(){return it}function tr(){}function tu(n,t,i){this.axis=n,this.pos=t,this.type=i||"",this.isNew=!0,i||this.addLabel()}function kf(n,t){return this.axis=n,t&&(this.options=t,this.id=t.id),this}function no(t,i,r,u,f,e){var o=t.chart.inverted;this.axis=t,this.isNegative=r,this.options=i,this.x=u,this.stack=f,this.percent=e==="percent",this.alignOptions={align:i.align||(o?r?"left":"right":"center"),verticalAlign:i.verticalAlign||(o?"middle":r?"bottom":"top"),y:n(i.y,o?4:r?14:-6),x:n(i.x,o?r?-6:6:0)},this.textAlign=i.textAlign||(o?r?"right":"left":"center")}function df(){this.init.apply(this,arguments)}function gf(n,t){var r=t.borderWidth,i=t.style,u=c(i.padding);this.chart=n,this.options=t,this.crosshairs=[],this.now={x:0,y:0},this.isHidden=!0,this.label=n.renderer.label("",0,0,t.shape,null,null,t.useHTML,null,"tooltip").attr({padding:u,fill:t.backgroundColor,"stroke-width":r,r:t.borderRadius,zIndex:8}).css(i).css({padding:0}).hide().add(),lt||this.label.shadow(t.shadow),this.shared=t.shared}function ne(n,t){var i=lt?"":t.chart.zoomType;this.zoomX=/x/.test(i),this.zoomY=/y/.test(i),this.options=t,this.chart=n,this.init(n,t.tooltip)}function te(n){this.init(n)}function ie(){this.init.apply(this,arguments)}var e,h=document,k=window,d=Math,r=d.round,ht=d.floor,yi=d.ceil,u=d.max,tt=d.min,g=d.abs,ct=d.cos,yt=d.sin,pi=d.PI,ru=pi/180,ei=navigator.userAgent,ue=k.opera,ir=/msie/i.test(ei)&&!ue,hr=h.documentMode===8,uu=/AppleWebKit/.test(ei),fu=/Firefox/.test(ei),fe=/(Mobile|Android|Windows Phone)/.test(ei),oi="http://www.w3.org/2000/svg",bt=!!h.createElementNS&&!!h.createElementNS(oi,"svg").createSVGRect,eo=fu&&parseInt(ei.split("Firefox/")[1],10)<4,lt=!bt&&!ir&&!!h.createElement("canvas").getContext,cr,wi=h.documentElement.ontouchstart!==e,ee={},nf=0,eu,it,ou,lr,tf,l,su=function(){},rr=[],ti="div",ii="absolute",rf="relative",ft="hidden",ri="highcharts-",et="visible",v="px",rt="none",b="M",p="L",uf="rgba(192,192,192,"+(bt?.0001:.002)+")",vt="",kt="hover",si="select",oe="millisecond",ff="second",hu="minute",ar="hour",hi="day",cu="week",vr="month",bi="year",ef="fill",of="linearGradient",sf="stops",hf="stroke",cf="stroke-width",lu,lf,af,vf,yr,au,vu,se,he,yf,ce,le,pt={},dr,st,at,or,ui,fi,nu,wu,de,bu,ge,sr,nt,to,iu,re,ku,io,du,ro,uo,fo,gu;k.Highcharts={},ou=function(t,u,f){if(!i(u)||isNaN(u))return"Invalid date";t=n(t,"%Y-%m-%d %H:%M:%S");var e=new Date(u),s,o=e[af](),l=e[vf](),a=e[yr](),h=e[au](),v=e[vu](),c=it.lang,y=c.weekdays,p={a:y[l].substr(0,3),A:y[l],d:di(a),e:a,b:c.shortMonths[h],B:c.months[h],m:di(h+1),y:v.toString().substr(2,2),Y:v,H:di(o),I:di(o%12||12),l:o%12||12,M:di(e[lf]()),p:o<12?"AM":"PM",P:o<12?"am":"pm",S:di(e.getSeconds()),L:di(r(u%1e3),3)};for(s in p)while(t.indexOf("%"+s)!==-1)t=t.replace("%"+s,p[s]);return f?t.substr(0,1).toUpperCase()+t.substr(1):t},ye.prototype={wrapColor:function(n){this.color>=n&&(this.color=0)},wrapSymbol:function(n){this.symbol>=n&&(this.symbol=0)}},l=ci(oe,1,ff,1e3,hu,6e4,ar,36e5,hi,864e5,cu,6048e5,vr,26784e5,bi,31556952e3),tf={init:function(n,t,i){t=t||"";var c=n.shift,s=t.indexOf("C")>-1,f=s?7:3,l,o,e,r=t.split(" "),u=[].concat(i),h,a,v=function(n){for(e=n.length;e--;)n[e]===b&&n.splice(e+1,0,n[e+1],n[e+2],n[e+1],n[e+2])};if(s&&(v(r),v(u)),n.isArea&&(h=r.splice(r.length-6,6),a=u.splice(u.length-6,6)),c<=u.length/f)while(c--)u=[].concat(u).splice(0,f).concat(u);if(n.shift=0,r.length)for(l=u.length;r.length<l;)o=[].concat(r).splice(r.length-f,f),s&&(o[f-6]=o[f-2],o[f-5]=o[f-1]),r=r.concat(o);return h&&(r=r.concat(h),u=u.concat(a)),[r,u]},step:function(n,t,i,r){var f=[],u=n.length,e;if(i===1)f=r;else if(u===t.length&&i<1)while(u--)e=parseFloat(n[u]),f[u]=isNaN(e)?n[u]:i*parseFloat(t[u]-e)+e;else f=t;return f}},function(n){k.HighchartsAdapter=k.HighchartsAdapter||n&&{init:function(t){var u=n.fx,f=u.step,r,i=n.Tween,o=i&&i.propHooks;n.extend(n.easing,{easeOutQuad:function(n,t,i,r,u){return-r*(t/=u)*(t-2)+i}}),n.each(["cur","_default","width","height"],function(n,t){var r=f,s,h;t==="cur"?r=u.prototype:t==="_default"&&i&&(r=o[t],t="set"),s=r[t],s&&(r[t]=function(i){return i=n?i:this,h=i.elem,h.attr?h.attr(i.prop,t==="cur"?e:i.now):s.apply(this,arguments)})}),r=function(n){var i=n.elem,r;n.started||(r=t.init(i,i.d,i.toD),n.start=r[0],n.end=r[1],n.started=!0),i.attr("d",t.step(n.start,n.end,n.pos,i.toD))},i?o.d={set:r}:f.d=r,this.each=Array.prototype.forEach?function(n,t){return Array.prototype.forEach.call(n,t)}:function(n,t){for(var i=0,r=n.length;i<r;i++)if(t.call(n[i],n[i],i,n)===!1)return i}},getScript:n.getScript,inArray:n.inArray,adapterRun:function(t,i){return n(t)[i]()},grep:n.grep,map:function(n,t){for(var r=[],i=0,u=n.length;i<u;i++)r[i]=t.call(n[i],n[i],i,n);return r},merge:function(){var t=arguments;return n.extend(!0,null,t[0],t[1],t[2],t[3])},offset:function(t){return n(t).offset()},addEvent:function(t,i,r){n(t).bind(i,r)},removeEvent:function(t,i,r){var u=h.removeEventListener?"removeEventListener":"detachEvent";h[u]&&!t[u]&&(t[u]=function(){}),n(t).unbind(i,r)},fireEvent:function(t,i,r,u){var e=n.Event(i),o="detached"+i,s;!ir&&r&&(delete r.layerX,delete r.layerY),f(e,r),t[i]&&(t[o]=t[i],t[i]=null),n.each(["preventDefault","stopPropagation"],function(n,t){var i=e[t];e[t]=function(){try{i.call(e)}catch(n){t==="preventDefault"&&(s=!0)}}}),n(t).trigger(e),t[o]&&(t[i]=t[o],t[o]=null),!u||e.isDefaultPrevented()||s||u(e)},washMouseEvent:function(n){var t=n.originalEvent||n;return t.pageX===e&&(t.pageX=n.pageX,t.pageY=n.pageY),t},animate:function(t,i,r){var u=n(t);i.d&&(t.toD=i.d,i.d=1),u.stop(),u.animate(i,r)},stop:function(t){n(t).stop()}}}(k.jQuery),dr=k.HighchartsAdapter,st=dr||{},dr&&dr.init.call(dr,tf);var yu=st.adapterRun,ho=st.getScript,co=st.inArray,t=st.each,we=st.grep,lo=st.offset,gr=st.map,o=st.merge,w=st.addEvent,ut=st.removeEvent,a=st.fireEvent,be=st.washMouseEvent,wf=st.animate,pu=st.stop,bf={enabled:!0,align:"center",x:0,y:15,style:{color:"#666",fontSize:"11px",lineHeight:"14px"}};it={colors:["#4572A7","#AA4643","#89A54E","#80699B","#3D96AE","#DB843D","#92A8CD","#A47D7C","#B5CA92"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:","},global:{useUTC:!0,canvasToolsURL:"http://code.highcharts.com/2.3.5/modules/canvas-tools.js",VMLRadialGradientURL:"http://code.highcharts.com/2.3.5/gfx/vml-radial-gradient.png"},chart:{borderColor:"#4572A7",borderRadius:5,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacingTop:10,spacingRight:10,spacingBottom:15,spacingLeft:10,style:{fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif',fontSize:"12px"},backgroundColor:"#FFFFFF",plotBorderColor:"#C0C0C0",resetZoomButton:{theme:{zIndex:20},position:{align:"right",x:-10,y:10}}},title:{text:"Chart title",align:"center",y:15,style:{color:"#3E576F",fontSize:"16px"}},subtitle:{text:"",align:"center",y:30,style:{color:"#6D869F"}},plotOptions:{line:{allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},lineWidth:2,shadow:!0,marker:{enabled:!0,lineWidth:0,radius:4,lineColor:"#FFFFFF",states:{hover:{enabled:!0},select:{fillColor:"#FFFFFF",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:o(bf,{enabled:!1,formatter:function(){return this.y},verticalAlign:"bottom",y:0}),cropThreshold:300,pointRange:0,showInLegend:!0,states:{hover:{marker:{}},select:{marker:{}}},stickyTracking:!0}},labels:{style:{position:ii,color:"#3E576F"}},legend:{enabled:!0,align:"center",layout:"horizontal",labelFormatter:function(){return this.name},borderWidth:1,borderColor:"#909090",borderRadius:5,navigation:{activeColor:"#3E576F",inactiveColor:"#CCC"},shadow:!1,itemStyle:{cursor:"pointer",color:"#3E576F",fontSize:"12px"},itemHoverStyle:{color:"#000"},itemHiddenStyle:{color:"#CCC"},itemCheckboxStyle:{position:ii,width:"13px",height:"13px"},symbolWidth:16,symbolPadding:5,verticalAlign:"bottom",x:0,y:0},loading:{labelStyle:{fontWeight:"bold",position:rf,top:"1em"},style:{position:ii,backgroundColor:"white",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,backgroundColor:"rgba(255, 255, 255, .85)",borderWidth:2,borderRadius:5,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},headerFormat:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{series.color}">{series.name}<\/span>: <b>{point.y}<\/b><br/>',shadow:!0,shared:lt,snap:fe?25:10,style:{color:"#333333",fontSize:"12px",padding:"5px",whiteSpace:"nowrap"}},credits:{enabled:!0,text:"Highcharts.com",href:"http://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#909090",fontSize:"10px"}}},at=it.plotOptions,or=at.line,ke(),ui=function(n){function r(n){i=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(n),i?t=[c(i[1]),c(i[2]),c(i[3]),parseFloat(i[4],10)]:(i=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n),i&&(t=[c(i[1],16),c(i[2],16),c(i[3],16),1]))}function u(i){return t&&!isNaN(t[0])?i==="rgb"?"rgb("+t[0]+","+t[1]+","+t[2]+")":i==="a"?t[3]:"rgba("+t.join(",")+")":n}function f(n){if(ur(n)&&n!==0)for(var i=0;i<3;i++)t[i]+=c(n*255),t[i]<0&&(t[i]=0),t[i]>255&&(t[i]=255);return this}function e(n){return t[3]=n,this}var t=[],i;return r(n),{get:u,brighten:f,setOpacity:e}},tr.prototype={init:function(n,t){var i=this;i.element=t==="span"?ot(t):h.createElementNS(oi,t),i.renderer=n,i.attrSetters={}},animate:function(t,i,r){var u=n(i,lr,!0);pu(this),u?(u=o(u),r&&(u.complete=r),wf(this,t,u)):(this.attr(t),r&&r())},attr:function(n,t){var o=this,r,f,w,a,g,l=o.element,v=l.nodeName.toLowerCase(),b=o.renderer,y,p,nt=o.attrSetters,k=o.shadows,tt,it,d=o;if(li(n)&&i(t)&&(r=n,n={},n[r]=t),li(n))r=n,v==="circle"?r={x:"cx",y:"cy"}[r]||r:r==="strokeWidth"&&(r="stroke-width"),d=s(l,r)||o[r]||0,r!=="d"&&r!=="visibility"&&(d=parseFloat(d));else for(r in n)if(y=!1,f=n[r],w=nt[r]&&nt[r].call(o,f,r),w!==!1){if(w!==e&&(f=w),r==="d")f&&f.join&&(f=f.join(" ")),/(NaN| {2}|^$)/.test(f)&&(f="M 0 0");else if(r==="x"&&v==="text"){for(a=0;a<l.childNodes.length;a++)g=l.childNodes[a],s(g,"x")===s(l,"x")&&s(g,"x",f);o.rotation&&s(l,"transform","rotate("+o.rotation+" "+f+" "+c(n.y||s(l,"y"))+")")}else if(r==="fill")f=b.color(f,l,r);else if(v==="circle"&&(r==="x"||r==="y"))r={x:"cx",y:"cy"}[r]||r;else if(v==="rect"&&r==="r")s(l,{rx:f,ry:f}),y=!0;else if(r==="translateX"||r==="translateY"||r==="rotation"||r==="verticalAlign")it=!0,y=!0;else if(r==="stroke")f=b.color(f,l,r);else if(r==="dashstyle"){if(r="stroke-dasharray",f=f&&f.toLowerCase(),f==="solid")f=rt;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(","),a=f.length;a--;)f[a]=c(f[a])*n["stroke-width"];f=f.join(",")}}else r==="isTracker"?o[r]=f:r==="width"?f=c(f):r==="align"?(r="text-anchor",f={left:"start",center:"middle",right:"end"}[f]):r==="title"&&(p=l.getElementsByTagName("title")[0],p||(p=h.createElementNS(oi,"title"),l.appendChild(p)),p.textContent=f);if(r==="strokeWidth"&&(r="stroke-width"),r==="stroke-width"&&f===0&&(uu||b.forExport)&&(f=1e-6),o.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)/.test(r)&&(tt||(o.symbolAttr(n),tt=!0),y=!0),k&&/^(width|height|visibility|x|y|d|transform)$/.test(r))for(a=k.length;a--;)s(k[a],r,r==="height"?u(f-(k[a].cutHeight||0),0):f);(r==="width"||r==="height")&&v==="rect"&&f<0&&(f=0),o[r]=f,it&&o.updateTransform(),r==="text"?(f!==o.textStr&&delete o.bBox,o.textStr=f,o.added&&b.buildText(o)):y||s(l,r,f)}return d},symbolAttr:function(i){var r=this;t(["x","y","r","start","end","width","height","innerR","anchorX","anchorY"],function(t){r[t]=n(i[t],r[t])}),r.attr({d:r.renderer.symbols[r.symbolName](r.x,r.y,r.width,r.height,r)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":rt)},crisp:function(n,t,i,u,f){var e=this,s,c={},o={},h;n=n||e.strokeWidth||e.attr&&e.attr("stroke-width")||0,h=r(n)%2/2,o.x=ht(t||e.x||0)+h,o.y=ht(i||e.y||0)+h,o.width=ht((u||e.width||0)-2*h),o.height=ht((f||e.height||0)-2*h),o.strokeWidth=n;for(s in o)e[s]!==o[s]&&(e[s]=c[s]=o[s]);return c},css:function(n){var t=this,e=t.element,i=n&&n.width&&e.nodeName.toLowerCase()==="text",r,u="",o=function(n,t){return"-"+t.toLowerCase()};if(n&&n.color&&(n.fill=n.color),n=f(t.styles,n),t.styles=n,lt&&i&&delete n.width,ir&&!bt)i&&delete n.width,y(t.element,n);else{for(r in n)u+=r.replace(/([A-Z])/g,o)+":"+n[r]+";";t.attr({style:u})}return i&&t.added&&t.renderer.buildText(t),t},on:function(n,t){return wi&&n==="click"&&(this.element.ontouchstart=function(n){n.preventDefault(),t()}),this.element["on"+n]=t,this},setRadialReference:function(n){return this.element.radialReference=n,this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(){var n=this;return n.inverted=!0,n.updateTransform(),n},htmlCss:function(n){var t=this,r=t.element,i=n&&r.tagName==="SPAN"&&n.width;return i&&(delete n.width,t.textWidth=i,t.updateTransform()),t.styles=f(t.styles,n),y(t.element,n),t},htmlGetBBox:function(){var t=this,n=t.element,i=t.bBox;return i||(n.nodeName==="text"&&(n.style.position=ii),i=t.bBox={x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}),i},htmlUpdateTransform:function(){if(!this.added){this.alignOnAdd=!0;return}var r=this,k=r.renderer,u=r.element,d=r.translateX||0,g=r.translateY||0,st=r.x||0,ht=r.y||0,h=r.textAlign||"left",s={left:0,center:.5,right:1}[h],lt=h&&h!=="left",ft=r.shadows;if((d||g)&&(y(u,{marginLeft:d,marginTop:g}),ft&&t(ft,function(n){y(n,{marginLeft:d+1,marginTop:g+1})})),r.inverted&&t(u.childNodes,function(n){k.invertChild(n,u)}),u.tagName==="SPAN"){var l,w,f=r.rotation,nt,tt=0,e=1,o=0,it,ut=c(r.textWidth),a=r.xCorr||0,p=r.yCorr||0,et=[f,h,u.innerHTML,r.textWidth].join(","),b={},ot;et!==r.cTT&&(i(f)&&(k.isSVG?(ot=ir?"-ms-transform":uu?"-webkit-transform":fu?"MozTransform":ue?"-o-transform":"",b[ot]=b.transform="rotate("+f+"deg)"):(tt=f*ru,e=ct(tt),o=yt(tt),b.filter=f?["progid:DXImageTransform.Microsoft.Matrix(M11=",e,", M12=",-o,", M21=",o,", M22=",e,", sizingMethod='auto expand')"].join(""):rt),y(u,b)),l=n(r.elemWidth,u.offsetWidth),w=n(r.elemHeight,u.offsetHeight),l>ut&&/[ \-]/.test(u.textContent||u.innerText)&&(y(u,{width:ut+v,display:"block",whiteSpace:"normal"}),l=ut),nt=k.fontMetrics(u.style.fontSize).b,a=e<0&&-l,p=o<0&&-w,it=e*o<0,a+=o*nt*(it?1-s:s),p-=e*nt*(f?it?s:1-s:1),lt&&(a-=l*s*(e<0?-1:1),f&&(p-=w*s*(o<0?-1:1)),y(u,{textAlign:h})),r.xCorr=a,r.yCorr=p),y(u,{left:st+a+v,top:ht+p+v}),uu&&(w=u.offsetHeight),r.cTT=et}},updateTransform:function(){var n=this,i=n.translateX||0,r=n.translateY||0,u=n.inverted,f=n.rotation,t=[];u&&(i+=n.attr("width"),r+=n.attr("height")),(i||r)&&t.push("translate("+i+","+r+")"),u?t.push("rotate(90) scale(-1,1)"):f&&t.push("rotate("+f+" "+(n.x||0)+" "+(n.y||0)+")"),t.length&&s(n.element,"transform",t.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(t,i,u){var f=this;t?(f.alignOptions=t,f.alignByTranslate=i,u||f.renderer.alignedObjects.push(f)):(t=f.alignOptions,i=f.alignByTranslate),u=n(u,f.renderer);var o=t.align,s=t.verticalAlign,h=(u.x||0)+(t.x||0),c=(u.y||0)+(t.y||0),e={};return(o==="right"||o==="center")&&(h+=(u.width-(t.width||0))/{right:1,center:2}[o]),e[i?"translateX":"x"]=r(h),(s==="bottom"||s==="middle")&&(c+=(u.height-(t.height||0))/({bottom:1,middle:2}[s]||1)),e[i?"translateY":"y"]=r(c),f[f.placed?"animate":"attr"](e),f.placed=!0,f.alignAttr=e,f},getBBox:function(){var t=this,n=t.bBox,o=t.renderer,e,i,s=t.rotation,r=t.element,h=t.styles,u=s*ru;if(!n){if(r.namespaceURI===oi||o.forExport){try{n=r.getBBox?f({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight}}catch(c){}(!n||n.width<0)&&(n={width:0,height:0})}else n=t.htmlGetBBox();o.isSVG&&(e=n.width,i=n.height,ir&&h&&h.fontSize==="11px"&&i===22.700000762939453&&(n.height=i=14),s&&(n.width=g(i*yt(u))+g(e*ct(u)),n.height=g(i*ct(u))+g(e*yt(u)))),t.bBox=n}return n},show:function(){return this.attr({visibility:et})},hide:function(){return this.attr({visibility:ft})},add:function(n){var e=this.renderer,o=n||e,h=o.element||e.box,v=h.childNodes,r=this.element,t=s(r,"zIndex"),u,l,f,y;if(n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,this.textStr!==undefined&&e.buildText(this),t&&(o.handleZ=!0,t=c(t)),o.handleZ)for(f=0;f<v.length;f++)if(u=v[f],l=s(u,"zIndex"),u!==r&&(c(l)>t||!i(t)&&i(l))){h.insertBefore(r,u),y=!0;break}return y||h.appendChild(r),this.added=!0,a(this,"add"),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,i=n.element||{},u=n.shadows,f,r;if(i.onclick=i.onmouseout=i.onmouseover=i.onmousemove=null,pu(n),n.clipPath&&(n.clipPath=n.clipPath.destroy()),n.stops){for(r=0;r<n.stops.length;r++)n.stops[r]=n.stops[r].destroy();n.stops=null}n.safeRemoveChild(i),u&&t(u,function(t){n.safeRemoveChild(t)}),ki(n.renderer.alignedObjects,n);for(f in n)delete n[f];return null},empty:function(){for(var n=this.element,t=n.childNodes,i=t.length;i--;)n.removeChild(t[i])},shadow:function(t,i,r){var l=[],e,f,c=this.element,o,h,a,v;if(t){for(h=n(t.width,3),a=(t.opacity||.15)/h,v=this.parentInverted?"(-1,-1)":"("+n(t.offsetX,1)+", "+n(t.offsetY,1)+")",e=1;e<=h;e++)f=c.cloneNode(0),o=h*2+1-2*e,s(f,{isShadow:"true",stroke:t.color||"black","stroke-opacity":a*e,"stroke-width":o,transform:"translate"+v,fill:rt}),r&&(s(f,"height",u(s(f,"height")-o,0)),f.cutHeight=o),i?i.element.appendChild(f):c.parentNode.insertBefore(f,c),l.push(f);this.shadows=l}return this}},fi=function(){this.init.apply(this,arguments)},fi.prototype={Element:tr,init:function(n,t,i,r){var u=this,s=location,e,o,f;e=u.createElement("svg").attr({xmlns:oi,version:"1.1"}),n.appendChild(e.element),u.isSVG=!0,u.box=e.element,u.boxWrapper=e,u.alignedObjects=[],u.url=(fu||uu)&&h.getElementsByTagName("base").length?s.href.replace(/#.*?$/,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"",u.defs=this.createElement("defs").add(),u.forExport=r,u.gradients={},u.setSize(t,i,!1),fu&&n.getBoundingClientRect&&(u.subPixelFix=o=function(){y(n,{left:0,top:0}),f=n.getBoundingClientRect(),y(n,{left:yi(f.left)-f.left+v,top:yi(f.top)-f.top+v})},o(),w(k,"resize",o))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this,t=n.defs;return n.box=null,n.boxWrapper=n.boxWrapper.destroy(),er(n.gradients||{}),n.gradients=null,t&&(n.defs=t.destroy()),n.subPixelFix&&ut(k,"resize",n.subPixelFix),n.alignedObjects=null,null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:function(){},buildText:function(i){function tt(n){return a[n]=u.getBBox?u.getBBox().height:i.renderer.fontMetrics(u.style.fontSize).h,r(a[n]-(a[n-1]||0))}for(var u=i.element,o=n(i.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),v=u.childNodes,p=/style="([^"]+)"/,w=/href="([^"]+)"/,b=s(u,"x"),f=i.styles,e=f&&f.width&&c(f.width),d=f&&f.lineHeight,l,g="getComputedStyle",nt=v.length,a=[];nt--;)u.removeChild(v[nt]);e&&!i.added&&this.box.appendChild(u),o[o.length-1]===""&&o.pop(),t(o,function(n,r){var o,a=0,f;n=n.replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||"),o=n.split("|||"),t(o,function(n){var it,t,rt,v,ft,ut,nt;if((n!==""||o.length===1)&&(it={},t=h.createElementNS(oi,"tspan"),p.test(n)&&(rt=n.match(p)[1].replace(/(;| |^)color([ :])/,"$1fill$2"),s(t,"style",rt)),w.test(n)&&(s(t,"onclick",'location.href="'+n.match(w)[1]+'"'),y(t,{cursor:"pointer"})),n=(n.replace(/<(.|\n)*?>/g,"")||" ").replace(/&lt;/g,"<").replace(/&gt;/g,">"),t.appendChild(h.createTextNode(n)),a?it.dx=3:it.x=b,a||(r&&(!bt&&i.renderer.forExport&&y(t,{display:"block"}),f=k[g]&&c(k[g](l,null).getPropertyValue("line-height")),(!f||isNaN(f))&&(f=d||l.offsetHeight||tt(r)||18),s(t,"dy",f)),l=t),s(t,it),u.appendChild(t),a++,e))for(v=n.replace(/([^\^])-/g,"$1- ").split(" "),nt=[];v.length||nt.length;)delete i.bBox,ut=i.getBBox().width,ft=ut>e,ft&&v.length!==1?(t.removeChild(t.firstChild),nt.unshift(v.pop())):(v=nt,nt=[],v.length&&(t=h.createElementNS(oi,"tspan"),s(t,{dy:d||16,x:b}),rt&&s(t,"style",rt),u.appendChild(t),ut>e&&(e=ut))),v.length&&t.appendChild(h.createTextNode(v.join(" ").replace(/- /g,"-")))})})},button:function(n,t,i,r,u,e,s){var h=this.label(n,t,i),a=0,b,k,l,v,y,c="style",p={x1:0,y1:0,x2:0,y2:1};return u=o(ci(cf,1,hf,"#999",ef,ci(of,p,sf,[[0,"#FFF"],[1,"#DDD"]]),"r",3,"padding",3,c,ci("color","black")),u),l=u[c],delete u[c],e=o(u,ci(hf,"#68A",ef,ci(of,p,sf,[[0,"#FFF"],[1,"#ACF"]])),e),v=e[c],delete e[c],s=o(u,ci(hf,"#68A",ef,ci(of,p,sf,[[0,"#9BD"],[1,"#CDF"]])),s),y=s[c],delete s[c],w(h.element,"mouseenter",function(){h.attr(e).css(v)}),w(h.element,"mouseleave",function(){b=[u,e,s][a],k=[l,v,y][a],h.attr(b).css(k)}),h.setState=function(n){a=n,n?n===2&&h.attr(s).css(y):h.attr(u).css(l)},h.on("click",function(){r.call(h)}).attr(u).css(f({cursor:"default"},l))},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=r(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=r(n[2])+t%2/2),n},path:function(n){var t={fill:rt};return pr(n)?t.d=n:wt(n)&&f(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){var r=wt(n)?n:{x:n,y:t,r:i};return this.createElement("circle").attr(r)},arc:function(n,t,i,r,u,f){return wt(n)&&(t=n.y,i=n.r,r=n.innerR,u=n.start,f=n.end,n=n.x),this.symbol("arc",n||0,t||0,i||0,i||0,{innerR:r||0,start:u||0,end:f||0})},rect:function(n,t,i,r,f,e){f=wt(n)?n.r:f;var o=this.createElement("rect").attr({rx:f,ry:f,fill:rt});return o.attr(wt(n)?n:o.crisp(e,n,t,u(i,0),u(r,0)))},setSize:function(t,i,r){var u=this,f=u.alignedObjects,e=f.length;for(u.width=t,u.height=i,u.boxWrapper[n(r,!0)?"animate":"attr"]({width:t,height:i});e--;)f[e].align()},g:function(n){var t=this.createElement("g");return i(n)?t.attr({"class":ri+n}):t},image:function(n,t,i,r,u){var o={preserveAspectRatio:rt},e;return arguments.length>1&&f(o,{x:t,y:i,width:r,height:u}),e=this.createElement("image").attr(o),e.element.setAttributeNS?e.element.setAttributeNS("http://www.w3.org/1999/xlink","href",n):e.element.setAttribute("hc-svg-href",n),e},symbol:function(n,t,i,u,e,o){var s,a=this.symbols[n],v=a&&a(r(t),r(i),u,e,o),p,y=/^url\((.*?)\)$/,h,c,l;return v?(s=this.path(v),f(s,{symbolName:n,x:t,y:i,width:u,height:e}),o&&f(s,o)):y.test(n)&&(l=function(n,t){n.element&&(n.attr({width:t[0],height:t[1]}),n.alignByTranslate||n.translate(r((u-t[0])/2),r((e-t[1])/2)))},h=n.match(y)[1],c=ee[h],s=this.image(h).attr({x:t,y:i}),c?l(s,c):(s.attr({width:0,height:0}),p=ot("img",{onload:function(){l(s,ee[h]=[this.width,this.height])},src:h}))),s},symbols:{circle:function(n,t,i,r){var u=.166*i;return[b,n+i/2,t,"C",n+i+u,t,n+i+u,t+r,n+i/2,t+r,"C",n-u,t+r,n-u,t,n+i/2,t,"Z"]},square:function(n,t,i,r){return[b,n,t,p,n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return[b,n+i/2,t,p,n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return[b,n,t,p,n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return[b,n+i/2,t,p,n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,i,r,u){var o=u.start,f=u.r||i||r,s=u.end-1e-6,e=u.innerR,h=u.open,c=ct(o),l=yt(o),a=ct(s),v=yt(s),y=u.end-o<pi?0:1;return[b,n+f*c,t+f*l,"A",f,f,0,y,1,n+f*a,t+f*v,h?b:p,n+e*a,t+e*v,"A",e,e,0,y,0,n+e*c,t+e*l,h?"":"Z"]}},clipRect:function(n,t,i,r){var u,f=ri+nf++,e=this.createElement("clipPath").attr({id:f}).add(this.defs);return u=this.rect(n,t,i,r,0).add(e),u.id=f,u.clipPath=e,u},color:function(n,r,u){var v=this,l,g=/^rgba/,h,e,y,p,w,b,k,o,a,d,c=[];if(n&&n.linearGradient?h="linearGradient":n&&n.radialGradient&&(h="radialGradient"),h){e=n[h],y=v.gradients,w=n.stops,o=r.radialReference,pr(e)&&(n[h]=e={x1:e[0],y1:e[1],x2:e[2],y2:e[3],gradientUnits:"userSpaceOnUse"}),h==="radialGradient"&&o&&!i(e.gradientUnits)&&f(e,{cx:o[0]-o[2]/2+e.cx*o[2],cy:o[1]-o[2]/2+e.cy*o[2],r:e.r*o[2],gradientUnits:"userSpaceOnUse"});for(a in e)a!=="id"&&c.push(a,e[a]);for(a in w)c.push(w[a]);return c=c.join(","),y[c]?d=y[c].id:(e.id=d=ri+nf++,y[c]=p=v.createElement(h).attr(e).add(v.defs),p.stops=[],t(w,function(n){var t;g.test(n[1])?(l=ui(n[1]),b=l.get("rgb"),k=l.get("a")):(b=n[1],k=1),t=v.createElement("stop").attr({offset:n[0],"stop-color":b,"stop-opacity":k}).add(p),p.stops.push(t)})),"url("+v.url+"#"+d+")"}return g.test(n)?(l=ui(n),s(r,u+"-opacity",l.get("a")),l.get("rgb")):(r.removeAttribute(u+"-opacity"),n)},text:function(t,i,u,f){var o=this,s=it.chart.style,h=lt||!bt&&o.forExport,e;return f&&!o.forExport?o.html(t,i,u):(i=r(n(i,0)),u=r(n(u,0)),e=o.createElement("text").attr({x:i,y:u,text:t}).css({fontFamily:s.fontFamily,fontSize:s.fontSize}),h&&e.css({position:ii}),e.x=i,e.y=u,e)},html:function(n,i,u){var c=it.chart.style,e=this.createElement("span"),o=e.attrSetters,h=e.element,l=e.renderer;return o.text=function(n){return n!==h.innerHTML&&delete this.bBox,h.innerHTML=n,!1},o.x=o.y=o.align=function(n,t){return t==="align"&&(t="textAlign"),e[t]=n,e.htmlUpdateTransform(),!1},e.attr({text:n,x:r(i),y:r(u)}).css({position:ii,whiteSpace:"nowrap",fontFamily:c.fontFamily,fontSize:c.fontSize}),e.css=e.htmlCss,l.isSVG&&(e.add=function(n){var i,u=l.box.parentNode,r,o=[];if(n){if(i=n.div,!i){for(r=n;r;)o.push(r),r=r.parentGroup;t(o.reverse(),function(n){var t;i=n.div=n.div||ot(ti,{className:s(n.element,"class")},{position:ii,left:(n.translateX||0)+v,top:(n.translateY||0)+v},i||u),t=i.style,f(n.attrSetters,{translateX:function(n){t.left=n+v},translateY:function(n){t.top=n+v},visibility:function(n,i){t[i]=n}})})}}else i=u;return i.appendChild(h),e.added=!0,e.alignOnAdd&&e.htmlUpdateTransform(),e}),e},fontMetrics:function(n){n=c(n||11);var t=n<24?n+4:r(n*1.2),i=r(t*.8);return{h:t,b:i}},label:function(n,u,s,h,c,l,a,v,y){function pt(){var n,t=b.element.style;nt=(it===undefined||ot===undefined||p.styles.textAlign)&&b.getBBox(),p.width=(it||nt.width||0)+2*k,p.height=(ot||nt.height||0)+2*k,ht=k+tt.fontMetrics(t&&t.fontSize).b,ct&&(g||(n=v?-ht:0,p.box=g=h?tt.symbol(h,-rt*k,n,p.width,p.height):tt.rect(-rt*k,n,p.width,p.height,0,et[cf]),g.add(p)),g.attr(o({width:p.width,height:p.height},et)),et=null)}function lt(){var u=p.styles,r=u&&u.textAlign,n=k*(1-rt),t;t=v?0:ht,i(it)&&(r==="center"||r==="right")&&(n+={center:.5,right:1}[r]*(it-nt.width)),(n!==b.x||t!==b.y)&&b.attr({x:n,y:t}),b.x=n,b.y=t}function ft(n,t){g?g.attr(n,t):et[n]=t}function at(){b.add(p),p.attr({text:n,x:u,y:s}),g&&i(c)&&p.attr({anchorX:c,anchorY:l})}var tt=this,p=tt.g(y),b=tt.text("",0,0,a).attr({zIndex:1}),g,nt,rt=0,k=3,it,ot,st,vt,yt=0,et={},ht,d=p.attrSetters,ct,wt;return w(p,"add",at),d.width=function(n){return it=n,!1},d.height=function(n){return ot=n,!1},d.padding=function(n){return i(n)&&n!==k&&(k=n,lt()),!1},d.align=function(n){return rt={left:0,center:.5,right:1}[n],!1},d.text=function(n,t){return b.attr(t,n),pt(),lt(),!1},d[cf]=function(n,t){return ct=!0,yt=n%2/2,ft(t,n),!1},d.stroke=d.fill=d.r=function(n,t){return t==="fill"&&(ct=!0),ft(t,n),!1},d.anchorX=function(n,t){return c=n,ft(t,n+yt-st),!1},d.anchorY=function(n,t){return l=n,ft(t,n-vt),!1},d.x=function(n){return p.x=n,n-=rt*((it||nt.width)+k),st=r(n),p.attr("translateX",st),!1},d.y=function(n){return vt=p.y=r(n),p.attr("translateY",n),!1},wt=p.css,f(p,{css:function(n){if(n){var i={};n=o({},n),t(["fontSize","fontWeight","fontFamily","color","lineHeight","width"],function(t){n[t]!==e&&(i[t]=n[t],delete n[t])}),b.css(i)}return wt.call(p,n)},getBBox:function(){return{width:nt.width+2*k,height:nt.height+2*k,x:nt.x-k,y:nt.y-k}},shadow:function(n){return g&&g.shadow(n),p},destroy:function(){ut(p,"add",at),ut(p.element,"mouseenter"),ut(p.element,"mouseleave"),b&&(b=b.destroy()),g&&(g=g.destroy()),tr.prototype.destroy.call(p),p=tt=pt=lt=ft=at=null}})}},cr=fi,bt||lt||(wu={init:function(n,t){var r=this,i=["<",t,' filled="f" stroked="f"'],u=["position: ",ii,";"];(t==="shape"||t===ti)&&u.push("left:0;top:0;width:1px;height:1px;"),hr&&u.push("visibility: ",t===ti?ft:et),i.push(' style="',u.join(""),'"/>'),t&&(i=t===ti||t==="span"||t==="img"?i.join(""):n.prepVML(i),r.element=ot(i)),r.renderer=n,r.attrSetters={}},add:function(n){var t=this,i=t.renderer,r=t.element,f=i.box,e=n&&n.inverted,u=n?n.element||n:f;return e&&i.invertChild(r,u),u.appendChild(r),t.added=!0,t.alignOnAdd&&!t.deferUpdateTransform&&t.updateTransform(),a(t,"add"),t},updateTransform:tr.prototype.htmlUpdateTransform,attr:function(n,t){var h=this,f,o,c,w,l=h.element||{},p=l.style,b=l.nodeName,k=h.renderer,ut=h.symbolName,g,y=h.shadows,a,nt=h.attrSetters,tt=h,d,it;if(li(n)&&i(t)&&(f=n,n={},n[f]=t),li(n))f=n,tt=f==="strokeWidth"||f==="stroke-width"?h.strokeweight:h[f];else for(f in n)if(o=n[f],a=!1,w=nt[f]&&nt[f].call(h,o,f),w!==!1&&o!==null){if(w!==e&&(o=w),ut&&/^(x|y|r|start|end|width|height|innerR|anchorX|anchorY)/.test(f))g||(h.symbolAttr(n),g=!0),a=!0;else if(f==="d"){for(o=o||[],h.d=o.join(" "),c=o.length,d=[];c--;)d[c]=ur(o[c])?r(o[c]*10)-5:o[c]==="Z"?"x":o[c];if(o=d.join(" ")||"x",l.path=o,y)for(c=y.length;c--;)y[c].path=y[c].cutOff?this.cutOffPath(o,y[c].cutOff):o;a=!0}else if(f==="visibility"){if(y)for(c=y.length;c--;)y[c].style[f]=o;b==="DIV"&&(o=o===ft?"-999em":0,f="top"),p[f]=o,a=!0}else f==="zIndex"?(o&&(p[f]=o),a=!0):f==="width"||f==="height"?(o=u(0,o),this[f]=o,h.updateClipping?(h[f]=o,h.updateClipping()):p[f]=o,a=!0):f==="x"||f==="y"?(h[f]=o,p[{x:"left",y:"top"}[f]]=o):f==="class"?l.className=o:f==="stroke"?(o=k.color(o,l,f),f="strokecolor"):f==="stroke-width"||f==="strokeWidth"?(l.stroked=o?!0:!1,f="strokeweight",h[f]=o,ur(o)&&(o+=v)):f==="dashstyle"?(it=l.getElementsByTagName("stroke")[0]||ot(k.prepVML(["<stroke/>"]),null,null,l),it[f]=o||"solid",h.dashstyle=o,a=!0):f==="fill"?b==="SPAN"?p.color=o:b!=="IMG"&&(l.filled=o!==rt?!0:!1,o=k.color(o,l,f,h),f="fillcolor"):b==="shape"&&f==="rotation"?(h[f]=o,l.style.left=-r(yt(o*ru)+1)+v,l.style.top=r(ct(o*ru))+v):f==="translateX"||f==="translateY"||f==="rotation"?(h[f]=o,h.updateTransform(),a=!0):f==="text"&&(this.bBox=null,l.innerHTML=o,a=!0);a||(hr?l[f]=o:s(l,f,o))}return tt},clip:function(n){var t=this,i,u=t.element,f=u.parentNode,r;return n?(i=n.members,ki(i,t),i.push(t),t.destroyClip=function(){ki(i,t)},f&&f.className==="highcharts-tracker"&&!hr&&y(u,{visibility:ft}),r=n.getCSS(t)):(t.destroyClip&&t.destroyClip(),r={clip:hr?"inherit":"rect(auto)"}),t.css(r)},css:tr.prototype.htmlCss,safeRemoveChild:function(n){n.parentNode&&br(n)},destroy:function(){return this.destroyClip&&this.destroyClip(),tr.prototype.destroy.apply(this)},empty:function(){for(var r=this.element,t=r.childNodes,i=t.length,n;i--;)n=t[i],n.parentNode.removeChild(n)},on:function(n,t){return this.element["on"+n]=function(){var n=k.event;n.target=n.srcElement,t(n)},this},cutOffPath:function(n,t){var i;return n=n.split(/[ ,]/),i=n.length,(i===9||i===11)&&(n[i-4]=n[i-2]=c(n[i-2])-10*t),n.join(" ")},shadow:function(t,i,r){var v=[],f,e=this.element,y=this.renderer,u,p=e.style,s,o=e.path,h,l,a,w;if(o&&typeof o.value!="string"&&(o="x"),l=o,t){for(a=n(t.width,3),w=(t.opacity||.15)/a,f=1;f<=3;f++)h=a*2+1-2*f,r&&(l=this.cutOffPath(o.value,h+.5)),s=['<shape isShadow="true" strokeweight="',h,'" filled="false" path="',l,'" coordsize="10 10" style="',e.style.cssText,'" />'],u=ot(y.prepVML(s),null,{left:c(p.left)+n(t.offsetX,1),top:c(p.top)+n(t.offsetY,1)}),r&&(u.cutOff=h+1),s=['<stroke color="',t.color||"black",'" opacity="',w*f,'"/>'],ot(y.prepVML(s),null,null,u),i?i.element.appendChild(u):e.parentNode.insertBefore(u,e),v.push(u);this.shadows=v}return this}},wu=gt(tr,wu),de={Element:wu,isIE8:ei.indexOf("MSIE 8.0")>-1,init:function(n,t,i){var r=this,u,f;r.alignedObjects=[],u=r.createElement(ti),f=u.element,f.style.position=rf,n.appendChild(u.element),r.box=f,r.boxWrapper=u,r.setSize(t,i,!1),h.namespaces.hcv||(h.namespaces.add("hcv","urn:schemas-microsoft-com:vml"),h.createStyleSheet().cssText="hcv\\:fill, hcv\\:path, hcv\\:shape, hcv\\:stroke{ behavior:url(#default#VML); display: inline-block; } ")},isHidden:function(){return!this.box.offsetWidth},clipRect:function(n,i,u,e){var s=this.createElement(),o=wt(n);return f(s,{members:[],left:o?n.x:n,top:o?n.y:i,width:o?n.width:u,height:o?n.height:e,getCSS:function(n){var t=n.inverted,i=this,u=i.top,e=i.left,o=e+i.width,s=u+i.height,h={clip:"rect("+r(t?e:u)+"px,"+r(t?s:o)+"px,"+r(t?o:s)+"px,"+r(t?u:e)+"px)"};return!t&&hr&&n.element.nodeName!=="IMG"&&f(h,{width:o+v,height:s+v}),h},updateClipping:function(){t(s.members,function(n){n.css(s.getCSS(n))})}})},color:function(n,i,r,u){var gt=this,o,nt=/^rgba/,v,c,l=rt,g;if(n&&n.linearGradient?c="gradient":n&&n.radialGradient&&(c="pattern"),c){var s,y,f=n.linearGradient||n.radialGradient,tt,ut,ft,et,st,ht,ct,lt,p="",h=n.stops,b,k,at=[],vt=function(){v=['<fill colors="'+at.join(",")+'" opacity="',ht,'" o:opacity2="',st,'" type="',c,'" ',p,'focus="100%" method="any" />'],ot(gt.prepVML(v),null,null,i)};if(b=h[0],k=h[h.length-1],b[0]>0&&h.unshift([0,b[1]]),k[0]<1&&h.push([1,k[1]]),t(h,function(n,t){nt.test(n[1])?(o=ui(n[1]),s=o.get("rgb"),y=o.get("a")):(s=n[1],y=1),at.push(n[0]*100+"% "+s),t?(ht=y,ct=s):(st=y,lt=s)}),r==="fill")if(c==="gradient")tt=f.x1||f[0]||0,ut=f.y1||f[1]||0,ft=f.x2||f[2]||0,et=f.y2||f[3]||0,p='angle="'+(90-d.atan((et-ut)/(ft-tt))*180/pi)+'"',vt();else{var yt=f.r,pt=yt*2,wt=yt*2,bt=f.cx,kt=f.cy,a=i.radialReference,e,dt=function(){a&&(e=u.getBBox(),bt+=(a[0]-e.x)/e.width-.5,kt+=(a[1]-e.y)/e.height-.5,pt*=a[2]/e.width,wt*=a[2]/e.height),p='src="'+it.global.VMLRadialGradientURL+'" size="'+pt+","+wt+'" origin="0.5,0.5" position="'+bt+","+kt+'" color2="'+lt+'" ',vt()};u.added?dt():w(u,"add",dt),l=ct}else l=s}else nt.test(n)&&i.tagName!=="IMG"?(o=ui(n),v=["<",r,' opacity="',o.get("a"),'"/>'],ot(this.prepVML(v),null,null,i),l=o.get("rgb")):(g=i.getElementsByTagName(r),g.length&&(g[0].opacity=1),l=n);return l},prepVML:function(n){var t="display:inline-block;behavior:url(#default#VML);",i=this.isIE8;return n=n.join(""),i?(n=n.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'),n=n.indexOf('style="')===-1?n.replace("/>",' style="'+t+'" />'):n.replace('style="','style="'+t)):n=n.replace("<","<hcv:"),n},text:fi.prototype.html,path:function(n){var t={coordsize:"10 10"};return pr(n)?t.d=n:wt(n)&&f(t,n),this.createElement("shape").attr(t)},circle:function(n,t,i){return this.symbol("circle").attr({x:n-i,y:t-i,width:2*i,height:2*i})},g:function(n){var t;return n&&(t={className:ri+n,"class":ri+n}),this.createElement(ti).attr(t)},image:function(n,t,i,r,u){var f=this.createElement("img").attr({src:n});return arguments.length>1&&f.attr({x:t,y:i,width:r,height:u}),f},rect:function(n,t,i,r,f,e){wt(n)&&(t=n.y,i=n.width,r=n.height,e=n.strokeWidth,n=n.x);var o=this.symbol("rect");return o.r=f,o.attr(o.crisp(e,n,t,u(i,0),u(r,0)))},invertChild:function(n,t){var i=t.style;y(n,{flip:"x",left:c(i.width)-1,top:c(i.height)-1,rotation:-90})},symbols:{arc:function(n,t,i,r,u){var o=u.start,s=u.end,e=u.r||i||r,l=ct(o),a=yt(o),h=ct(s),v=yt(s),f=u.innerR,y=.08/e,p=f&&.1/f||0,c;return s-o==0?["x"]:(2*pi-s+o<y?h=-y:s-o<p&&(h=ct(o+p)),c=["wa",n-e,t-e,n+e,t+e,n+e*l,t+e*a,n+e*h,t+e*v],u.open&&!f&&c.push("e",b,n,t),c.push("at",n-f,t-f,n+f,t+f,n+f*h,t+f*v,n+f*l,t+f*a,"x","e"),c)},circle:function(n,t,i,r){return["wa",n,t,n+i,t+r,n+i,t+r/2,n+i,t+r/2,"e"]},rect:function(n,t,r,u,f){var o=n+r,s=t+u,h,e;return i(f)&&f.r?(e=tt(f.r,r,u),h=[b,n+e,t,p,o-e,t,"wa",o-2*e,t,o,t+2*e,o-e,t,o,t+e,p,o,s-e,"wa",o-2*e,s-2*e,o,s,o,s-e,o-e,s,p,n+e,s,"wa",n,s-2*e,n+2*e,s,n+e,s,n,s-e,p,n,t+e,"wa",n,t,n+2*e,t+2*e,n,t+e,n+e,t,"x","e"]):h=fi.prototype.symbols.square.apply(0,arguments),h}}},nu=function(){this.init.apply(this,arguments)},nu.prototype=o(fi.prototype,de),cr=nu),lt&&(bu=function(){oi="http://www.w3.org/1999/xhtml"},bu.prototype.symbols={},ge=function(){function t(){for(var i=n.length,t=0;t<i;t++)n[t]();n=[]}var n=[];return{push:function(i,r){n.length===0&&ho(r,t),n.push(i)}}}()),cr=nu||bu||fi,tu.prototype={addLabel:function(){var e=this,n=e.axis,b=n.options,l=n.chart,k=n.horiz,s=n.categories,o=e.pos,t=b.labels,a,h=n.tickPositions,d=s&&k&&s.length&&!t.step&&!t.staggerLines&&!t.rotation&&l.plotWidth/h.length||!k&&l.plotWidth/2,g=o===h[0],nt=o===h[h.length-1],c,y,tt=s&&i(s[o])?s[o]:o,p=e.label,w=h.info,it;n.isDatetimeAxis&&w&&(it=b.dateTimeLabelFormats[w.higherRanks[o]||w.unitName]),e.isFirst=g,e.isLast=nt,a=n.labelFormatter.call({axis:n,chart:l,isFirst:g,isLast:nt,dateTimeLabelFormat:it,value:n.isLog?ni(dt(tt)):tt}),c=d&&{width:u(1,r(d-2*(t.padding||10)))+v},c=f(c,t.style),i(p)?p&&p.attr({text:a}).css(c):(y={align:t.align},ur(t.rotation)&&(y.rotation=t.rotation),e.label=i(a)&&t.enabled?l.renderer.text(a,0,0,t.useHTML).attr(y).css(c).add(n.labelGroup):null)},getLabelSize:function(){var n=this.label,t=this.axis;return n?(this.labelBBox=n.getBBox())[t.horiz?"height":"width"]:0},getLabelSides:function(){var r=this.labelBBox,u=this.axis,f=u.options,n=f.labels,t=r.width,i=t*{left:0,center:.5,right:1}[n.align]-n.x;return[-i,t-i]},handleOverflow:function(n,t){var e=!0,u=this.axis,p=u.chart,f=this.isFirst,c=this.isLast,i=t.x,l=u.reversed,w=u.tickPositions;if(f||c){var a=this.getLabelSides(),o=a[0],s=a[1],h=p.plotLeft,v=h+u.len,r=u.ticks[w[n+(f?1:-1)]],y=r&&r.label.xy&&r.label.xy.x+r.getLabelSides()[f?0:1];f&&!l||c&&l?i+o<h&&(i=h-o,r&&i+s>y&&(e=!1)):i+s>v&&(i=v-s,r&&i+o<y&&(e=!1)),t.x=i}return e},getPosition:function(n,t,i,r){var u=this.axis,f=u.chart,e=r&&f.oldChartHeight||f.chartHeight;return{x:n?u.translate(t+i,null,null,r)+u.transB:u.left+u.offset+(u.opposite?(r&&f.oldChartWidth||f.chartWidth)-u.right-u.left:0),y:n?e-u.bottom+u.offset-(u.opposite?u.height:0):e-u.translate(t+i,null,null,r)-u.transB}},getLabelPosition:function(n,t,r,u,f,e,o,s){var h=this.axis,l=h.transA,a=h.reversed,v=h.staggerLines;return n=n+f.x-(e&&u?e*l*(a?-1:1):0),t=t+f.y-(e&&!u?e*l*(a?1:-1):0),i(f.y)||(t+=c(r.styles.lineHeight)*.9-r.getBBox().height/2),v&&(t+=o/(s||1)%v*16),{x:n,y:t}},getMarkPath:function(n,t,i,r,u,f){return f.crispLine([b,n,t,p,n+(u?0:-i),t+(u?i:0)],r)},render:function(t,i){var r=this,f=r.axis,u=f.options,ht=f.chart,k=ht.renderer,l=f.horiz,s=r.type,h=r.label,ft=r.pos,d=u.labels,a=r.gridLine,g=s?s+"Grid":"grid",v=s?s+"Tick":"tick",y=u[g+"LineWidth"],ct=u[g+"LineColor"],et=u[g+"LineDashStyle"],o=u[v+"Length"],nt=u[v+"Width"]||0,lt=u[v+"Color"],at=u[v+"Position"],p,ot=r.mark,tt,it=d.step,w,b=!0,rt=f.tickmarkOffset,c=r.getPosition(l,ft,rt,i),ut=c.x,st=c.y,vt=f.staggerLines;y&&(p=f.getPlotLinePath(ft+rt,y,i),a===e&&(w={stroke:ct,"stroke-width":y},et&&(w.dashstyle=et),s||(w.zIndex=1),r.gridLine=a=y?k.path(p).attr(w).add(f.gridGroup):null),!i&&a&&p&&a[r.isNew?"attr":"animate"]({d:p})),nt&&o&&(at==="inside"&&(o=-o),f.opposite&&(o=-o),tt=r.getMarkPath(ut,st,o,nt,l,k),ot?ot.animate({d:tt}):r.mark=k.path(tt).attr({stroke:lt,"stroke-width":nt}).add(f.axisGroup)),h&&!isNaN(ut)&&(h.xy=c=r.getLabelPosition(ut,st,h,l,d,rt,t,it),r.isFirst&&!n(u.showFirstLabel,1)||r.isLast&&!n(u.showLastLabel,1)?b=!1:vt||!l||d.overflow!=="justify"||r.handleOverflow(t,c)||(b=!1),it&&t%it&&(b=!1),b?(h[r.isNew?"attr":"animate"](c),r.isNew=!1):h.attr("y",-9999))},destroy:function(){er(this,this.axis)}},kf.prototype={render:function(){var s=this,f=s.axis,p=f.horiz,ut=(f.pointRange||0)/2,r=s.options,e=r.label,a=s.label,w=r.width,v=r.to,y=r.from,c=i(y)&&i(v),b=r.value,ft=r.dashStyle,h=s.svgElem,t=[],et,ot,k,d,g,nt,st=r.color,it=r.zIndex,rt=r.events,l,ht=f.chart.renderer;if(f.isLog&&(y=ai(y),v=ai(v),b=ai(b)),w)t=f.getPlotLinePath(b,w),l={stroke:st,"stroke-width":w},ft&&(l.dashstyle=ft);else if(c)y=u(y,f.min-ut),v=tt(v,f.max+ut),t=f.getPlotBandPath(y,v,r),l={fill:st},r.borderWidth&&(l.stroke=r.borderColor,l["stroke-width"]=r.borderWidth);else return;if(i(it)&&(l.zIndex=it),h)t?h.animate({d:t},null,h.onGetPath):(h.hide(),h.onGetPath=function(){h.show()});else if(t&&t.length&&(s.svgElem=h=ht.path(t).attr(l).add(),rt)){et=function(n){h.on(n,function(t){rt[n].apply(s,[t])})};for(ot in rt)et(ot)}return e&&i(e.text)&&t&&t.length&&f.width>0&&f.height>0?(e=o({align:p&&c&&"center",x:p?!c&&4:10,verticalAlign:!p&&c&&"middle",y:p?c?16:10:c?6:-4,rotation:p&&!c&&90},e),a||(s.label=a=ht.text(e.text,0,0).attr({align:e.textAlign||e.align,rotation:e.rotation,zIndex:it}).css(e.style).add()),k=[t[1],t[4],n(t[6],t[1])],d=[t[2],t[5],n(t[7],t[2])],g=fr(k),nt=fr(d),a.align(e,!1,{x:g,y:nt,width:gi(k)-g,height:gi(d)-nt}),a.show()):a&&a.hide(),s},destroy:function(){var n=this,t=n.axis;ki(t.plotLinesAndBands,n),er(n,this.axis)}},no.prototype={destroy:function(){er(this,this.axis)},setTotal:function(n){this.total=n,this.cum=n},render:function(n){var t=this.options.formatter.call(this);this.label?this.label.attr({text:t,visibility:ft}):this.label=this.axis.chart.renderer.text(t,0,0).css(this.options.style).attr({align:this.textAlign,rotation:this.options.rotation,visibility:ft}).add(n)},setOffset:function(n,t){var a=this,o=a.axis,r=o.chart,u=r.inverted,c=this.isNegative,i=o.translate(this.percent?100:this.total,0,0,0,1),v=o.translate(0),f=g(i-v),l=r.xAxis[0].translate(this.x)+n,s=r.plotHeight,y={x:u?c?i:i-f:l,y:u?s-l-t:c?s-i-f:s-i,width:u?f:t,height:u?t:f},e=this.label,h;e&&(e.align(this.alignOptions,null,y),h=e.alignAttr,e.attr({visibility:this.options.crop===!1||r.isInsidePlot(h.x,h.y)?bt?"inherit":et:ft}))}},df.prototype={defaultOptions:{dateTimeLabelFormats:{millisecond:"%H:%M:%S.%L",second:"%H:%M:%S",minute:"%H:%M",hour:"%H:%M",day:"%e. %b",week:"%e. %b",month:"%b '%y",year:"%Y"},endOnTick:!1,gridLineColor:"#C0C0C0",labels:bf,lineColor:"#C0D0E0",lineWidth:1,minPadding:.01,maxPadding:.01,minorGridLineColor:"#E0E0E0",minorGridLineWidth:1,minorTickColor:"#A0A0A0",minorTickLength:2,minorTickPosition:"outside",startOfWeek:1,startOnTick:!1,tickColor:"#C0D0E0",tickLength:5,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",tickWidth:1,title:{align:"middle",style:{color:"#6D869F",fontWeight:"bold"}},type:"linear"},defaultYAxisOptions:{endOnTick:!0,gridLineWidth:1,tickPixelInterval:72,showLastLabel:!0,labels:{align:"right",x:-8,y:3},lineWidth:0,maxPadding:.05,minPadding:.05,startOnTick:!0,tickWidth:0,title:{rotation:270,text:"Y-values"},stackLabels:{enabled:!1,formatter:function(){return this.total},style:bf.style}},defaultLeftAxisOptions:{labels:{align:"right",x:-8,y:null},title:{rotation:270}},defaultRightAxisOptions:{labels:{align:"left",x:8,y:null},title:{rotation:90}},defaultBottomAxisOptions:{labels:{align:"center",x:0,y:14},title:{rotation:0}},defaultTopAxisOptions:{labels:{align:"center",x:0,y:-5},title:{rotation:0}},init:function(n,t){var f=t.isX,r=this,o,s;r.horiz=n.inverted?!f:f,r.isXAxis=f,r.xOrY=f?"x":"y",r.opposite=t.opposite,r.side=r.horiz?r.opposite?0:2:r.opposite?1:3,r.setOptions(t);var u=this.options,h=u.type,c=h==="datetime";r.labelFormatter=u.labels.formatter||r.defaultLabelFormatter,r.staggerLines=r.horiz&&u.labels.staggerLines,r.userOptions=t,r.minPixelPadding=0,r.chart=n,r.reversed=u.reversed,r.categories=u.categories,r.isLog=h==="logarithmic",r.isLinked=i(u.linkedTo),r.isDatetimeAxis=c,r.tickmarkOffset=u.categories&&u.tickmarkPlacement==="between"?.5:0,r.ticks={},r.minorTicks={},r.plotLinesAndBands=[],r.alternateBands={},r.len=0,r.minRange=r.userMinRange=u.minRange||u.maxZoom,r.range=u.range,r.offset=u.offset||0,r.stacks={},r.max=null,r.min=null,s=r.options.events,n.axes.push(r),n[f?"xAxis":"yAxis"].push(r),r.series=[],n.inverted&&f&&r.reversed===e&&(r.reversed=!0),r.removePlotBand=r.removePlotBandOrLine,r.removePlotLine=r.removePlotBandOrLine,r.addPlotBand=r.addPlotBandOrLine,r.addPlotLine=r.addPlotBandOrLine;for(o in s)w(r,o,s[o]);r.isLog&&(r.val2lin=ai,r.lin2val=dt)},setOptions:function(n){this.options=o(this.defaultOptions,this.isXAxis?{}:this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],o(it[this.isXAxis?"xAxis":"yAxis"],n))},defaultLabelFormatter:function(){var u=this.axis,n=this.value,h=u.categories,o=this.dateTimeLabelFormat,r=it.lang.numericSymbols,i=r&&r.length,f,t,s=u.isLog?n:u.tickInterval;if(h)t=n;else if(o)t=ou(o,n);else if(i&&s>=1e3)while(i--&&t===e)f=Math.pow(1e3,i+1),s>=f&&r[i]!==null&&(t=wr(n/f,-1)+r[i]);return t===e&&(t=n>=1e3?wr(n,0):wr(n,-1)),t},getSeriesExtremes:function(){var r=this,c=r.chart,o=r.stacks,s=[],h=[],f;r.hasVisibleSeries=!1,r.dataMin=r.dataMax=null,t(r.series,function(t){if(t.visible||!c.options.chart.ignoreHiddenSeries){var nt=t.options,d,ut,ft,b,et,it,v,ot,a,l,y=nt.threshold,st,p=[],ht=0;if(r.hasVisibleSeries=!0,r.isLog&&y<=0&&(y=nt.threshold=null),r.isXAxis)v=t.xData,v.length&&(r.dataMin=tt(n(r.dataMin,v[0]),fr(v)),r.dataMax=u(n(r.dataMax,v[0]),gi(v)));else{var rt,w,k,lt=t.cropped,ct=t.xAxis.getExtremes(),g,at=!!t.modifyValue;for(d=nt.stacking,r.usePercentage=d==="percent",d&&(et=nt.stack,b=t.type+n(et,""),it="-"+b,t.stackKey=b,ut=s[b]||[],s[b]=ut,ft=h[it]||[],h[it]=ft),r.usePercentage&&(r.dataMin=0,r.dataMax=99),v=t.processedXData,ot=t.processedYData,st=ot.length,f=0;f<st;f++)if(a=v[f],l=ot[f],d&&(rt=l<y,w=rt?ft:ut,k=rt?it:b,i(w[a])?(w[a]=ni(w[a]+l),l=[l,w[a]]):w[a]=l,o[k]||(o[k]={}),o[k][a]||(o[k][a]=new no(r,r.options.stackLabels,rt,a,et,d)),o[k][a].setTotal(w[a])),l!==null&&l!==e&&(at&&(l=t.modifyValue(l)),lt||(v[f+1]||a)>=ct.min&&(v[f-1]||a)<=ct.max))if(g=l.length,g)while(g--)l[g]!==null&&(p[ht++]=l[g]);else p[ht++]=l;!r.usePercentage&&p.length&&(r.dataMin=tt(n(r.dataMin,p[0]),fr(p)),r.dataMax=u(n(r.dataMax,p[0]),gi(p))),i(y)&&(r.dataMin>=y?(r.dataMin=y,r.ignoreMinPadding=!0):r.dataMax<y&&(r.dataMax=y,r.ignoreMaxPadding=!0))}}})},translate:function(n,t,i,r,u,f){var e=this,c=e.len,o=1,l=0,s=r?e.oldTransA:e.transA,a=r?e.oldMin:e.min,h,v=e.options.ordinal||e.isLog&&u;return s||(s=e.transA),i&&(o*=-1,l=c),e.reversed&&(o*=-1,l-=o*c),t?(e.reversed&&(n=c-n),h=n/s+a,v&&(h=e.lin2val(h))):(v&&(n=e.val2lin(n)),h=o*(n-a)*s+l+o*e.minPixelPadding+(f?s*e.pointRange/2:0)),h},getPlotLinePath:function(n,t,i){var u=this,f=u.chart,h=u.left,c=u.top,e,o,l,a,v=u.translate(n,null,null,i),y=i&&f.oldChartHeight||f.chartHeight,k=i&&f.oldChartWidth||f.chartWidth,s,w=u.transB;return e=l=r(v+w),o=a=r(y-v-w),isNaN(v)?s=!0:u.horiz?(o=c,a=y-u.bottom,(e<h||e>h+u.width)&&(s=!0)):(e=h,l=k-u.right,(o<c||o>c+u.height)&&(s=!0)),s?null:f.renderer.crispLine([b,e,o,p,l,a],t||0)},getPlotBandPath:function(n,t){var i=this.getPlotLinePath(t),r=this.getPlotLinePath(n);return r&&i?r.push(i[4],i[5],i[1],i[2]):r=null,r},getLinearTickPositions:function(n,t,i){for(var u,e=ni(ht(t/n)*n),o=ni(yi(i/n)*n),f=[],r=e;r<=o;){if(f.push(r),r=ni(r+n),r===u)break;u=r}return f},getLogTickPositions:function(t,i,u,f){var e=this,y=e.options,p=e.len,o=[],w,c,s,h,b,l,a,v;if(f||(e._minorAutoInterval=null),t>=.5)t=r(t),o=e.getLinearTickPositions(t,i,u);else if(t>=.08)for(w=ht(i),c=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],s=w;s<u+1&&!v;s++)for(b=c.length,h=0;h<b&&!v;h++)l=ai(dt(s)*c[h]),l>i&&o.push(a),a>u&&(v=!0),a=l;else{var k=dt(i),g=dt(u),nt=y[f?"minorTickInterval":"tickInterval"],tt=nt==="auto"?null:nt,it=y.tickPixelInterval/(f?5:1),rt=f?p/e.tickPositions.length:p;t=n(tt,e._minorAutoInterval,(g-k)*it/(rt||1)),t=pf(t,null,d.pow(10,ht(d.log(t)/d.LN10))),o=gr(e.getLinearTickPositions(t,k,g),ai),f||(e._minorAutoInterval=t/5)}return f||(e.tickInterval=t),o},getMinorTickPositions:function(){var n=this,e=n.options,r=n.tickPositions,u=n.minorTickInterval,t=[],f,i,o;if(n.isLog)for(o=r.length,i=1;i<o;i++)t=t.concat(n.getLogTickPositions(u,r[i-1],r[i],!0));else if(n.isDatetimeAxis&&e.minorTickInterval==="auto")t=t.concat(ve(ae(u),n.min,n.max,e.startOfWeek));else for(f=n.min+(r[0]-n.min)%u;f<=n.max;f+=u)t.push(f);return t},adjustForMinRange:function(){var r=this,h=r.options,u=r.min,f=r.max,v,w=r.dataMax-r.dataMin>=r.minRange,l,c,y,a,b,s,p,o;r.isXAxis&&r.minRange===e&&!r.isLog&&(i(h.min)||i(h.max)?r.minRange=null:(t(r.series,function(n){for(a=n.xData,b=n.xIncrement?1:a.length-1,c=b;c>0;c--)y=a[c]-a[c-1],(l===e||y<l)&&(l=y)}),r.minRange=tt(l*5,r.dataMax-r.dataMin))),f-u<r.minRange&&(o=r.minRange,v=(o-f+u)/2,s=[u-v,n(h.min,u-v)],w&&(s[2]=r.dataMin),u=gi(s),p=[u+o,n(h.max,u+o)],w&&(p[2]=r.dataMax),f=fr(p),f-u<o&&(s[0]=f-o,s[1]=n(h.min,f-o),u=gi(s))),r.min=u,r.max=f},setAxisTranslation:function(){var n=this,c=n.max-n.min,o=0,e,r=0,f=0,s=n.linkedParent,h=n.transA;n.isXAxis&&(s?(r=s.minPointOffset,f=s.pointRangePadding):t(n.series,function(n){var t=n.pointRange,h=n.options.pointPlacement,s=n.closestPointRange;o=u(o,t),r=u(r,h?0:t/2),f=u(f,h==="on"?0:t),!n.noSharedTooltip&&i(s)&&(e=i(e)?tt(e,s):s)}),n.minPointOffset=r,n.pointRangePadding=f,n.pointRange=o,n.closestPointRange=e),n.oldTransA=h,n.translationSlope=n.transA=h=n.len/(c+f||1),n.transB=n.horiz?n.left:n.bottom,n.minPixelPadding=h*r},setTickPositions:function(r){var f=this,ot=f.chart,e=f.options,a=f.isLog,y=f.isDatetimeAxis,p=f.isXAxis,h=f.isLinked,w=f.options.tickPositioner,b,k=e.maxPadding,g=e.minPadding,c,s,l=e.tickInterval,nt=e.minTickInterval,it=e.tickPixelInterval,o,rt=f.categories;if(h?(f.linkedParent=ot[p?"xAxis":"yAxis"][e.linkedTo],s=f.linkedParent.getExtremes(),f.min=n(s.min,s.dataMin),f.max=n(s.max,s.dataMax),e.type!==f.linkedParent.options.type&&kr(11,1)):(f.min=n(f.userMin,e.min,f.dataMin),f.max=n(f.userMax,e.max,f.dataMax)),a&&(!r&&tt(f.min,n(f.dataMin,f.min))<=0&&kr(10,1),f.min=ni(ai(f.min)),f.max=ni(ai(f.max))),f.range&&(f.userMin=f.min=u(f.min,f.max-f.range),f.userMax=f.max,r&&(f.range=null)),f.adjustForMinRange(),rt||f.usePercentage||h||!i(f.min)||!i(f.max)||(c=f.max-f.min,c&&(!i(e.min)&&!i(f.userMin)&&g&&(f.dataMin<0||!f.ignoreMinPadding)&&(f.min-=c*g),!i(e.max)&&!i(f.userMax)&&k&&(f.dataMax>0||!f.ignoreMaxPadding)&&(f.max+=c*k))),f.tickInterval=f.min===f.max||f.min===undefined||f.max===undefined?1:h&&!l&&it===f.linkedParent.options.tickPixelInterval?f.linkedParent.tickInterval:n(l,rt?1:(f.max-f.min)*it/(f.len||1)),p&&!r&&t(f.series,function(n){n.processData(f.min!==f.oldMin||f.max!==f.oldMax)}),f.setAxisTranslation(r),f.beforeSetTickPositions&&f.beforeSetTickPositions(),f.postProcessTickInterval&&(f.tickInterval=f.postProcessTickInterval(f.tickInterval)),!l&&f.tickInterval<nt&&(f.tickInterval=nt),y||a||(b=d.pow(10,ht(d.log(f.tickInterval)/d.LN10)),l||(f.tickInterval=pf(f.tickInterval,null,b,e))),f.minorTickInterval=e.minorTickInterval==="auto"&&f.tickInterval?f.tickInterval/5:e.minorTickInterval,f.tickPositions=o=e.tickPositions||w&&w.apply(f,[f.min,f.max]),o||(o=y?(f.getNonLinearTimeTicks||ve)(ae(f.tickInterval,e.units),f.min,f.max,e.startOfWeek,f.ordinalPositions,f.closestPointRange,!0):a?f.getLogTickPositions(f.tickInterval,f.min,f.max):f.getLinearTickPositions(f.tickInterval,f.min,f.max),f.tickPositions=o),!h){var ut=o[0],ft=o[o.length-1],et=f.minPointOffset||0,v;e.startOnTick?f.min=ut:f.min-et>ut&&o.shift(),e.endOnTick?f.max=ft:f.max+et<ft&&o.pop(),o.length===1&&(v=1e-9,f.min-=v,f.max+=v)}},setMaxTicks:function(){var t=this.chart,n=t.maxTicks,i=this.tickPositions,r=this.xOrY;n||(n={x:0,y:0}),!this.isLinked&&!this.isDatetimeAxis&&i.length>n[r]&&this.options.alignTicks!==!1&&(n[r]=i.length),t.maxTicks=n},adjustTickAmount:function(){var n=this,s=n.chart,o=n.xOrY,t=n.tickPositions,u=s.maxTicks,f,e,r;if(u&&u[o]&&!n.isDatetimeAxis&&!n.categories&&!n.isLinked&&n.options.alignTicks!==!1){if(f=n.tickAmount,e=t.length,n.tickAmount=r=u[o],e<r){while(t.length<r)t.push(ni(t[t.length-1]+n.tickInterval));n.transA*=(e-1)/(r-1),n.max=t[t.length-1]}i(f)&&r!==f&&(n.isDirty=!0)}},setScale:function(){var n=this,i=n.stacks,r,u,e,f;if(n.oldMin=n.min,n.oldMax=n.max,n.oldAxisLength=n.len,n.setAxisSize(),f=n.len!==n.oldAxisLength,t(n.series,function(n){(n.isDirtyData||n.isDirty||n.xAxis.isDirty)&&(e=!0)}),(f||e||n.isLinked||n.userMin!==n.oldUserMin||n.userMax!==n.oldUserMax)&&(n.getSeriesExtremes(),n.setTickPositions(),n.oldUserMin=n.userMin,n.oldUserMax=n.userMax,n.isDirty||(n.isDirty=f||n.min!==n.oldMin||n.max!==n.oldMax)),!n.isXAxis)for(r in i)for(u in i[r])i[r][u].cum=i[r][u].total;n.setMaxTicks()},setExtremes:function(t,i,r,u,e){var o=this,s=o.chart;r=n(r,!0),e=f(e,{min:t,max:i}),a(o,"setExtremes",e,function(){o.userMin=t,o.userMax=i,o.isDirtyExtremes=!0,r&&s.redraw(u)})},zoom:function(n,t){return this.setExtremes(n,t,!1,e,{trigger:"zoom"}),!0},setAxisSize:function(){var t=this,i=t.chart,r=t.options,f=r.offsetLeft||0,e=r.offsetRight||0;t.left=n(r.left,i.plotLeft+f),t.top=n(r.top,i.plotTop),t.width=n(r.width,i.plotWidth-f+e),t.height=n(r.height,i.plotHeight),t.bottom=i.chartHeight-t.height-t.top,t.right=i.chartWidth-t.width-t.left,t.len=u(t.horiz?t.width:t.height,0)},getExtremes:function(){var n=this,t=n.isLog;return{min:t?ni(dt(n.min)):n.min,max:t?ni(dt(n.max)):n.max,dataMin:n.dataMin,dataMax:n.dataMax,userMin:n.userMin,userMax:n.userMax}},getThreshold:function(n){var t=this,i=t.isLog,r=i?dt(t.min):t.min,u=i?dt(t.max):t.max;return r>n||n===null?n=r:u<n&&(n=u),t.translate(n,0,1,0,1)},addPlotBandOrLine:function(n){var t=new kf(this,n).render();return this.plotLinesAndBands.push(t),t},getOffset:function(){var r=this,k=r.chart,c=k.renderer,o=r.options,l=r.tickPositions,s=r.ticks,a=r.horiz,e=r.side,v,y,d=0,g,nt=0,f=o.title,tt=o.labels,h=0,p=k.axisOffset,w=[-1,1,1,-1][e],b;if(r.hasData=v=r.hasVisibleSeries||i(r.min)&&i(r.max)&&!!l,r.showAxis=y=v||n(o.showEmpty,!0),r.axisGroup||(r.gridGroup=c.g("grid").attr({zIndex:o.gridZIndex||1}).add(),r.axisGroup=c.g("axis").attr({zIndex:o.zIndex||2}).add(),r.labelGroup=c.g("axis-labels").attr({zIndex:tt.zIndex||7}).add()),v||r.isLinked)t(l,function(n){s[n]?s[n].addLabel():s[n]=new tu(r,n)}),t(l,function(n){(e===0||e===2||{1:"left",3:"right"}[e]===tt.align)&&(h=u(s[n].getLabelSize(),h))}),r.staggerLines&&(h+=(r.staggerLines-1)*16);else for(b in s)s[b].destroy(),delete s[b];f&&f.text&&(r.axisTitle||(r.axisTitle=c.text(f.text,0,0,f.useHTML).attr({zIndex:7,rotation:f.rotation||0,align:f.textAlign||{low:"left",middle:"center",high:"right"}[f.align]}).css(f.style).add(r.axisGroup),r.axisTitle.isNew=!0),y&&(d=r.axisTitle.getBBox()[a?"height":"width"],nt=n(f.margin,a?5:10),g=f.offset),r.axisTitle[y?"show":"hide"]()),r.offset=w*n(o.offset,p[e]),r.axisTitleMargin=n(g,h+nt+(e!==2&&h&&w*o.labels[a?"y":"x"])),p[e]=u(p[e],r.axisTitleMargin+d+w*r.offset)},getLinePath:function(n){var t=this.chart,u=this.opposite,f=this.offset,i=this.horiz,e=this.left+(u?this.width:0)+f,r=t.chartHeight-this.bottom-(u?this.height:0)+f;return this.lineTop=r,t.renderer.crispLine([b,i?this.left:e,i?r:this.top,p,i?t.chartWidth-this.right:e,i?r:t.chartHeight-this.bottom],n)},getTitlePosition:function(){var n=this.horiz,f=this.left,e=this.top,i=this.len,t=this.options.title,r=n?f:e,u=this.opposite,o=this.offset,l=c(t.style.fontSize||12),s={low:r+(n?0:i),middle:r+i/2,high:r+(n?i:0)}[t.align],h=(n?e+this.height:f)+(n?1:-1)*(u?-1:1)*this.axisTitleMargin+(this.side===2?l:0);return{x:n?s:h+(u?this.width:0)+o+(t.x||0),y:n?h-(u?this.height:0)+o:s+(t.y||0)}},render:function(){var n=this,c=n.chart,b=c.renderer,o=n.options,k=n.isLog,d=n.isLinked,r=n.tickPositions,l=n.axisTitle,g=n.stacks,u=n.ticks,f=n.minorTicks,s=n.alternateBands,nt=o.stackLabels,tt=o.alternateGridColor,it=n.tickmarkOffset,a=o.lineWidth,v,st=c.hasRendered,rt=st&&i(n.oldMin)&&!isNaN(n.oldMin),ht=n.hasData,ut=n.showAxis,y,p,ft,w,ot,h;if((ht||d)&&(n.minorTickInterval&&!n.categories&&t(n.getMinorTickPositions(),function(t){f[t]||(f[t]=new tu(n,t,"minor")),rt&&f[t].isNew&&f[t].render(null,!0),f[t].isActive=!0,f[t].render()}),r.length&&t(r.slice(1).concat([r[0]]),function(t,i){i=i===r.length-1?0:i+1,(!d||t>=n.min&&t<=n.max)&&(u[t]||(u[t]=new tu(n,t)),rt&&u[t].isNew&&u[t].render(i,!0),u[t].isActive=!0,u[t].render(i))}),tt&&t(r,function(t,i){i%2==0&&t<n.max&&(s[t]||(s[t]=new kf(n)),y=t+it,p=r[i+1]!==e?r[i+1]+it:n.max,s[t].options={from:k?dt(y):y,to:k?dt(p):p,color:tt},s[t].render(),s[t].isActive=!0)}),n._addedPlotLB||(t((o.plotLines||[]).concat(o.plotBands||[]),function(t){n.addPlotBandOrLine(t)}),n._addedPlotLB=!0)),t([u,f,s],function(n){var t;for(t in n)n[t].isActive?n[t].isActive=!1:(n[t].destroy(),delete n[t])}),a&&(v=n.getLinePath(a),n.axisLine?n.axisLine.animate({d:v}):n.axisLine=b.path(v).attr({stroke:o.lineColor,"stroke-width":a,zIndex:7}).add(n.axisGroup),n.axisLine[ut?"show":"hide"]()),l&&ut&&(l[l.isNew?"attr":"animate"](n.getTitlePosition()),l.isNew=!1),nt&&nt.enabled){h=n.stackTotalGroup,h||(n.stackTotalGroup=h=b.g("stack-labels").attr({visibility:et,zIndex:6}).add()),h.translate(c.plotLeft,c.plotTop);for(ft in g){w=g[ft];for(ot in w)w[ot].render(h)}}n.isDirty=!1},removePlotBandOrLine:function(n){for(var t=this.plotLinesAndBands,i=t.length;i--;)t[i].id===n&&t[i].destroy()},setTitle:function(t,i){var f=this.chart,r=this.options,u=this.axisTitle;r.title=o(r.title,t),this.axisTitle=u&&u.destroy(),this.isDirty=!0,n(i,!0)&&f.redraw()},redraw:function(){var n=this,i=n.chart;i.tracker.resetTracker&&i.tracker.resetTracker(!0),n.render(),t(n.plotLinesAndBands,function(n){n.render()}),t(n.series,function(n){n.isDirty=!0})},setCategories:function(i,r){var u=this,f=u.chart;u.categories=u.userOptions.categories=i,t(u.series,function(n){n.translate(),n.setTooltipPoints(!0)}),u.isDirty=!0,n(r,!0)&&f.redraw()},destroy:function(){var n=this,i=n.stacks,r;ut(n);for(r in i)er(i[r]),i[r]=null;t([n.ticks,n.minorTicks,n.alternateBands,n.plotLinesAndBands],function(n){er(n)}),t(["stackTotalGroup","axisLine","axisGroup","gridGroup","labelGroup","axisTitle"],function(t){n[t]&&(n[t]=n[t].destroy())})}},gf.prototype={destroy:function(){t(this.crosshairs,function(n){n&&n.destroy()}),this.label&&(this.label=this.label.destroy())},move:function(n,t,i,r){var e=this,u=e.now,o=e.options.animation!==!1&&!e.isHidden;f(u,{x:o?(2*u.x+n)/3:n,y:o?(u.y+t)/2:t,anchorX:o?(2*u.anchorX+i)/3:i,anchorY:o?(u.anchorY+r)/2:r}),e.label.attr(u),o&&(g(n-u.x)>1||g(t-u.y)>1)&&(clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){e&&e.move(n,t,i,r)},32))},hide:function(){if(!this.isHidden){var n=this.chart.hoverPoints;this.label.hide(),n&&t(n,function(n){n.setState()}),this.chart.hoverPoints=null,this.isHidden=!0}},hideCrosshairs:function(){t(this.crosshairs,function(n){n&&n.hide()})},getAnchor:function(n,i){var f,u=this.chart,e=u.inverted,o=0,s=0,h;return n=vi(n),f=n[0].tooltipPos,f||(t(n,function(n){h=n.series.yAxis,o+=n.plotX,s+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!e&&h?h.top-u.plotTop:0)}),o/=n.length,s/=n.length,f=[e?u.plotWidth-s:o,this.shared&&!e&&n.length>1&&i?i.chartY-u.plotTop:e?u.plotHeight-o:s]),gr(f,r)},getPosition:function(t,i,r){var h=this.chart,l=h.plotLeft,e=h.plotTop,a=h.plotWidth,v=h.plotHeight,o=n(this.options.distance,12),y=r.plotX,c=r.plotY,s=y+l+(h.inverted?o:-t-o),f=c-i+e+15,p;return s<7&&(s=l+u(y,0)+o),s+t>l+a&&(s-=s+t-(l+a),f=c-i+e-o,p=!0),f<e+5&&(f=e+5,p&&c>=f&&c<=f+i&&(f=c+e+o)),f+i>e+v&&(f=u(e,e+v-i-o)),{x:s,y:f}},refresh:function(i,u){function ot(){var u=this,r=u.points||vi(u),n=r[0].series,i;return i=[n.tooltipHeaderFormatter(r[0].key)],t(r,function(t){n=t.series,i.push(n.tooltipFormatter&&n.tooltipFormatter(t)||t.point.tooltipFormatter(n.tooltipOptions.pointFormat))}),i.push(c.footerFormat||""),i.join("")}var f=this,s=f.chart,h=f.label,c=f.options,l,v,it,b,y={},p,rt=[],st=c.formatter||ot,ut=s.hoverPoints,k,d,o=c.crosshairs,ft=f.shared,w,g,e,nt,tt;if(b=f.getAnchor(i,u),l=b[0],v=b[1],!ft||i.series&&i.series.noSharedTooltip?y=i.getLabelConfig():(s.hoverPoints=i,ut&&t(ut,function(n){n.setState()}),t(i,function(n){n.setState(kt),rt.push(n.getLabelConfig())}),y={x:i[0].category,y:i[0].y},y.points=rt,i=i[0]),p=st.call(y),w=i.series,it=ft||!w.isCartesian||w.tooltipOutsidePlot||s.isInsidePlot(l,v),p!==!1&&it?(f.isHidden&&h.show(),h.attr({text:p}),d=c.borderColor||i.color||w.color||"#606060",h.attr({stroke:d}),k=(c.positioner||f.getPosition).call(f,h.width,h.height,{plotX:l,plotY:v}),f.move(r(k.x),r(k.y),l+s.plotLeft,v+s.plotTop),f.isHidden=!1):this.hide(),o)for(o=vi(o),e=o.length;e--;)tt=i.series[e?"yAxis":"xAxis"],o[e]&&tt&&(g=tt.getPlotLinePath(e?n(i.stackY,i.y):i.x,1),f.crosshairs[e]?f.crosshairs[e].attr({d:g,visibility:et}):(nt={"stroke-width":o[e].width||1,stroke:o[e].color||"#C0C0C0",zIndex:o[e].zIndex||2},o[e].dashStyle&&(nt.dashstyle=o[e].dashStyle),f.crosshairs[e]=s.renderer.path(g).attr(nt).add()));a(s,"tooltipRefresh",{text:p,x:l+s.plotLeft,y:v+s.plotTop,borderColor:d})}},ne.prototype={normalizeMouseEvent:function(n){var i,u,o,t;return n=n||k.event,n.target||(n.target=n.srcElement),n=be(n),t=n.touches?n.touches.item(0):n,this.chartPosition=i=lo(this.chart.container),t.pageX===e?(u=n.x,o=n.y):(u=t.pageX-i.left,o=t.pageY-i.top),f(n,{chartX:r(u),chartY:r(o)})},getMouseCoordinates:function(n){var r={xAxis:[],yAxis:[]},i=this.chart;return t(i.axes,function(t){var u=t.isXAxis,f=i.inverted?!u:u;r[u?"xAxis":"yAxis"].push({axis:t,value:t.translate((f?n.chartX-i.plotLeft:t.top+t.len-n.chartY)-t.minPixelPadding,!0)})}),r},getIndex:function(n){var t=this.chart;return t.inverted?t.plotHeight+t.plotTop-n.chartY:n.chartX-t.plotLeft},onmousemove:function(n){var e=this,o=e.chart,u=o.series,l=o.tooltip,i,r,a=o.hoverPoint,s=o.hoverSeries,f,t,h=o.chartWidth,c=e.getIndex(n);if(l&&e.options.tooltip.shared&&!(s&&s.noSharedTooltip)){for(r=[],f=u.length,t=0;t<f;t++)u[t].visible&&u[t].options.enableMouseTracking!==!1&&!u[t].noSharedTooltip&&u[t].tooltipPoints&&u[t].tooltipPoints.length&&(i=u[t].tooltipPoints[c],i._dist=g(c-i[u[t].xAxis.tooltipPosName||"plotX"]),h=tt(h,i._dist),r.push(i));for(f=r.length;f--;)r[f]._dist>h&&r.splice(f,1);r.length&&r[0].plotX!==e.hoverX&&(l.refresh(r,n),e.hoverX=r[0].plotX)}s&&s.tracker&&(i=s.tooltipPoints[c],i&&i!==a&&i.onMouseOver())},resetTracker:function(n){var f=this,i=f.chart,o=i.hoverSeries,r=i.hoverPoint,t=i.tooltip,u=t&&t.shared?i.hoverPoints:r;n=n&&t&&u,n&&vi(u)[0].plotX===e&&(n=!1),n?t.refresh(u):(r&&r.onMouseOut(),o&&o.onMouseOut(),t&&(t.hide(),t.hideCrosshairs()),f.hoverX=null)},setDOMEvents:function(){function o(){if(i.selectionMarker){var s={xAxis:[],yAxis:[]},f=i.selectionMarker.getBBox(),c=f.x-n.plotLeft,l=f.y-n.plotTop,v;e&&(t(n.axes,function(t){if(t.options.zoomEnabled!==!1){var i=t.isXAxis,o=n.inverted?!i:i,r=t.translate(o?c:n.plotHeight-l-f.height,!0,0,0,1),e=t.translate((o?c+f.width:n.plotHeight-l)-2*t.minPixelPadding,!0,0,0,1);isNaN(r)||isNaN(e)||(s[i?"xAxis":"yAxis"].push({axis:t,min:tt(r,e),max:u(r,e)}),v=!0)}}),v&&a(n,"selection",s,function(t){n.zoom(t)})),i.selectionMarker=i.selectionMarker.destroy()}n&&(y(r,{cursor:"auto"}),n.cancelClick=e,n.mouseIsDown=e=!1),ut(h,"mouseup",o),wi&&ut(h,"touchend",o)}var p=!0,i=this,n=i.chart,r=n.container,e,l=i.zoomX&&!n.inverted||i.zoomY&&n.inverted,v=i.zoomY&&!n.inverted||i.zoomX&&n.inverted,c;i.hideTooltipOnMouseMove=function(t){t=be(t),i.chartPosition&&n.hoverSeries&&n.hoverSeries.isCartesian&&!n.isInsidePlot(t.pageX-i.chartPosition.left-n.plotLeft,t.pageY-i.chartPosition.top-n.plotTop)&&i.resetTracker()},i.hideTooltipOnMouseLeave=function(){i.resetTracker(),i.chartPosition=null},r.onmousedown=function(t){t=i.normalizeMouseEvent(t),t.type.indexOf("touch")===-1&&t.preventDefault&&t.preventDefault(),n.mouseIsDown=!0,n.cancelClick=!1,n.mouseDownX=i.mouseDownX=t.chartX,i.mouseDownY=t.chartY,w(h,"mouseup",o),wi&&w(h,"touchend",o)},c=function(t){var a,o,h;if(!t||!t.touches||!(t.touches.length>1)){t=i.normalizeMouseEvent(t);var c=t.type,r=t.chartX,u=t.chartY,f=!n.isInsidePlot(r-n.plotLeft,u-n.plotTop);if(c.indexOf("touch")===-1&&(t.returnValue=!1),c==="touchstart"&&(s(t.target,"isTracker")?n.runTrackerClick||t.preventDefault():n.runChartClick||f||t.preventDefault()),f&&(r<n.plotLeft?r=n.plotLeft:r>n.plotLeft+n.plotWidth&&(r=n.plotLeft+n.plotWidth),u<n.plotTop?u=n.plotTop:u>n.plotTop+n.plotHeight&&(u=n.plotTop+n.plotHeight)),n.mouseIsDown&&c!=="touchstart"&&(e=Math.sqrt(Math.pow(i.mouseDownX-r,2)+Math.pow(i.mouseDownY-u,2)),e>10&&(a=n.isInsidePlot(i.mouseDownX-n.plotLeft,i.mouseDownY-n.plotTop),n.hasCartesianSeries&&(i.zoomX||i.zoomY)&&a&&(i.selectionMarker||(i.selectionMarker=n.renderer.rect(n.plotLeft,n.plotTop,l?1:n.plotWidth,v?1:n.plotHeight,0).attr({fill:i.options.chart.selectionMarkerFill||"rgba(69,114,167,0.25)",zIndex:7}).add())),i.selectionMarker&&l&&(o=r-i.mouseDownX,i.selectionMarker.attr({width:g(o),x:(o>0?0:o)+i.mouseDownX})),i.selectionMarker&&v&&(h=u-i.mouseDownY,i.selectionMarker.attr({height:g(h),y:(h>0?0:h)+i.mouseDownY})),a&&!i.selectionMarker&&i.options.chart.panning&&n.pan(r))),!f)i.onmousemove(t);return p=f,f||!n.hasCartesianSeries}},/Android 4\.0/.test(ei)||(r.onmousemove=c),w(r,"mouseleave",i.hideTooltipOnMouseLeave),wi||w(h,"mousemove",i.hideTooltipOnMouseMove),r.ontouchstart=function(n){if(i.zoomX||i.zoomY)r.onmousedown(n);c(n)},r.ontouchmove=c,r.ontouchend=function(){e&&i.resetTracker()},r.onclick=function(t){var r=n.hoverPoint,u,e;t=i.normalizeMouseEvent(t),t.cancelBubble=!0,n.cancelClick||(r&&(s(t.target,"isTracker")||s(t.target.parentNode,"isTracker"))?(u=r.plotX,e=r.plotY,f(r,{pageX:i.chartPosition.left+n.plotLeft+(n.inverted?n.plotWidth-e:u),pageY:i.chartPosition.top+n.plotTop+(n.inverted?n.plotHeight-u:e)}),a(r.series,"click",f(t,{point:r})),r.firePointEvent("click",t)):(f(t,i.getMouseCoordinates(t)),n.isInsidePlot(t.chartX-n.plotLeft,t.chartY-n.plotTop)&&a(n,"click",t)))}},destroy:function(){var i=this,t=i.chart,n=t.container;t.trackerGroup&&(t.trackerGroup=t.trackerGroup.destroy()),ut(n,"mouseleave",i.hideTooltipOnMouseLeave),ut(h,"mousemove",i.hideTooltipOnMouseMove),n.onclick=n.onmousedown=n.onmousemove=n.ontouchstart=n.ontouchend=n.ontouchmove=null,clearInterval(this.tooltipTimeout)},init:function(n,t){n.trackerGroup||(n.trackerGroup=n.renderer.g("tracker").attr({zIndex:9}).add()),t.enabled&&(n.tooltip=new gf(n,t)),this.setDOMEvents()}},te.prototype={init:function(t){var i=this,r=i.options=t.options.legend;if(r.enabled){var u=r.itemStyle,f=n(r.padding,8),e=r.itemMarginTop||0;i.baseline=c(u.fontSize)+3+e,i.itemStyle=u,i.itemHiddenStyle=o(u,r.itemHiddenStyle),i.itemMarginTop=e,i.padding=f,i.initialItemX=f,i.initialItemY=f-5,i.maxItemWidth=0,i.chart=t,i.itemHeight=0,i.lastLineHeight=0,i.render(),w(i.chart,"endResize",function(){i.positionCheckboxes()})}},colorizeItem:function(n,t){var o=this,v=o.options,s=n.legendItem,h=n.legendLine,c=n.legendSymbol,l=o.itemHiddenStyle.color,y=t?v.itemStyle.color:l,r=t?n.color:l,i=n.options&&n.options.marker,a={stroke:r,fill:r},u,f;if(s&&s.css({fill:y}),h&&h.attr({stroke:r}),c){if(i){i=n.convertAttribs(i);for(u in i)f=i[u],f!==e&&(a[u]=f)}c.attr(a)}},positionItem:function(n){var r=this,u=r.options,o=u.symbolPadding,s=!u.rtl,f=n._legendItemPos,t=f[0],e=f[1],i=n.checkbox;n.legendGroup&&n.legendGroup.translate(s?t:r.legendWidth-t-2*o-4,e),i&&(i.x=t,i.y=e)},destroyItem:function(n){var i=n.checkbox;t(["legendItem","legendLine","legendSymbol","legendGroup"],function(t){n[t]&&n[t].destroy()}),i&&br(n.checkbox)},destroy:function(){var n=this,t=n.group,i=n.box;i&&(n.box=i.destroy()),t&&(n.group=t.destroy())},positionCheckboxes:function(n){var r=this.group.alignAttr,i,u=this.clipHeight||this.legendHeight;r&&(i=r.translateY,t(this.allItems,function(t){var f=t.checkbox,e;f&&(e=i+f.y+(n||0)+3,y(f,{left:r.translateX+t.legendItemWidth+f.x-20+v,top:e+v,display:e>i-6&&e<i+u-6?"":rt}))}))},renderItem:function(n){var t=this,h=t.chart,b=h.renderer,i=t.options,c=i.layout==="horizontal",k=i.symbolWidth,l=i.symbolPadding,d=t.itemStyle,g=t.itemHiddenStyle,nt=t.padding,tt=!i.rtl,e,it=i.width,v=i.itemMarginBottom||0,y=t.itemMarginTop,s=t.initialItemX,p,f,r=n.legendItem,rt=n.series||n,ut=rt.options,ft=ut.showCheckbox,et=i.useHTML;if(!r){n.legendGroup=b.g("legend-item").attr({zIndex:1}).add(t.scrollGroup),rt.drawLegendSymbol(t,n),n.legendItem=r=b.text(i.labelFormatter.call(n),tt?k+l:-l,t.baseline,et).css(o(n.visible?d:g)).attr({align:tt?"left":"right",zIndex:2}).add(n.legendGroup);(et?r:n.legendGroup).on("mouseover",function(){n.setState(kt),r.css(t.options.itemHoverStyle)}).on("mouseout",function(){r.css(n.visible?d:g),n.setState()}).on("click",function(t){var i="legendItemClick",r=function(){n.setVisible()};t={browserEvent:t},n.firePointEvent?n.firePointEvent(i,t,r):a(n,i,t,r)});t.colorizeItem(n,n.visible),ut&&ft&&(n.checkbox=ot("input",{type:"checkbox",checked:n.selected,defaultChecked:n.selected},i.itemCheckboxStyle,h.container),w(n.checkbox,"click",function(t){var i=t.target;a(n,"checkboxClick",{checked:i.checked},function(){n.select()})}))}p=r.getBBox(),f=n.legendItemWidth=i.itemWidth||k+l+p.width+nt+(ft?20:0),t.itemHeight=e=p.height,c&&t.itemX-s+f>(it||h.chartWidth-2*nt-s)&&(t.itemX=s,t.itemY+=y+t.lastLineHeight+v,t.lastLineHeight=0),t.maxItemWidth=u(t.maxItemWidth,f),t.lastItemY=y+t.itemY+v,t.lastLineHeight=u(e,t.lastLineHeight),n._legendItemPos=[t.itemX,t.itemY],c?t.itemX+=f:(t.itemY+=y+e+v,t.lastLineHeight=e),t.offsetWidth=it||u(c?t.itemX-s:f,t.offsetWidth)},render:function(){var n=this,s=n.chart,h=s.renderer,c=n.group,i,l,o,r,u=n.box,e=n.options,v=n.padding,a=e.borderWidth,y=e.backgroundColor;n.itemX=n.initialItemX,n.itemY=n.initialItemY,n.offsetWidth=0,n.lastItemY=0,c||(n.group=c=h.g("legend").attr({zIndex:7}).add(),n.contentGroup=h.g().attr({zIndex:1}).add(c),n.scrollGroup=h.g().add(n.contentGroup),n.clipRect=h.clipRect(0,0,9999,s.chartHeight),n.contentGroup.clip(n.clipRect)),i=[],t(s.series,function(n){var t=n.options;t.showInLegend&&(i=i.concat(n.legendItems||(t.legendType==="point"?n.data:n)))}),pe(i,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)}),e.reversed&&i.reverse(),n.allItems=i,n.display=l=!!i.length,t(i,function(t){n.renderItem(t)}),o=e.width||n.offsetWidth,r=n.lastItemY+n.lastLineHeight,r=n.handleOverflow(r),(a||y)&&(o+=v,r+=v,u?o>0&&r>0&&(u[u.isNew?"attr":"animate"](u.crisp(null,null,null,o,r)),u.isNew=!1):(n.box=u=h.rect(0,0,o,r,e.borderRadius,a||0).attr({stroke:e.borderColor,"stroke-width":a||0,fill:y||rt}).add(c).shadow(e.shadow),u.isNew=!0),u[l?"show":"hide"]()),n.legendWidth=o,n.legendHeight=r,t(i,function(t){n.positionItem(t)}),l&&c.align(f({width:o,height:r},e),!0,s.spacingBox),s.isResizing||this.positionCheckboxes()},handleOverflow:function(t){var o=this,s=this.chart,f=s.renderer,p,u=this.options,l=u.y,w=u.verticalAlign==="top",r=s.spacingBox.height+(w?-l:l)-this.padding,a=u.maxHeight,h,v=this.clipRect,c=u.navigation,y=n(c.animation,!0),e=c.arrowSize||12,i=this.nav;return u.layout==="horizontal"&&(r/=2),a&&(r=tt(r,a)),t>r?(this.clipHeight=h=r-20,this.pageCount=p=yi(t/h),this.currentPage=n(this.currentPage,1),this.fullHeight=t,v.attr({height:h}),i||(this.nav=i=f.g().attr({zIndex:1}).add(this.group),this.up=f.symbol("triangle",0,0,e,e).on("click",function(){o.scroll(-1,y)}).add(i),this.pager=f.text("",15,10).css(c.style).add(i),this.down=f.symbol("triangle-down",0,0,e,e).on("click",function(){o.scroll(1,y)}).add(i)),o.scroll(0),t=r):i&&(v.attr({height:s.chartHeight}),i.hide(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t},scroll:function(n,t){var r=this.pageCount,i=this.currentPage+n,u=this.clipHeight,o=this.options.navigation,s=o.activeColor,h=o.inactiveColor,c=this.pager,l=this.padding,f;i>r&&(i=r),i>0&&(t!==e&&nr(t,this.chart),this.nav.attr({translateX:l,translateY:u+7,visibility:et}),this.up.attr({fill:i===1?h:s}).css({cursor:i===1?"default":"pointer"}),c.attr({text:i+"/"+this.pageCount}),this.down.attr({x:18+this.pager.getBBox().width,fill:i===r?h:s}).css({cursor:i===r?"default":"pointer"}),f=-tt(u*(i-1),this.fullHeight-u+l)+1,this.scrollGroup.animate({translateY:f}),c.attr({text:i+"/"+r}),this.currentPage=i,this.positionCheckboxes(f))}},ie.prototype={init:function(t,i){var s,l=t.series,e,r,c;t.series=null,s=o(it,t),s.series=t.series=l;var u=s.chart,f=u.margin,h=wt(f)?f:[f,f,f,f];if(this.optionsMarginTop=n(u.marginTop,h[0]),this.optionsMarginRight=n(u.marginRight,h[1]),this.optionsMarginBottom=n(u.marginBottom,h[2]),this.optionsMarginLeft=n(u.marginLeft,h[3]),e=u.events,this.runChartClick=e&&!!e.click,this.callback=i,this.isResizing=0,this.options=s,this.axes=[],this.series=[],this.hasCartesianSeries=u.showAxes,r=this,r.index=rr.length,rr.push(r),u.reflow!==!1&&w(r,"load",r.initReflow),e)for(c in e)w(r,c,e[c]);r.xAxis=[],r.yAxis=[],r.animation=lt?!1:n(u.animation,!0),r.pointCount=0,r.counters=new ye,r.firstRender()},initSeries:function(n){var r=this,t=r.options.chart,u=n.type||t.type||t.defaultSeriesType,i=new pt[u];return i.init(this,n),i},addSeries:function(t,i,r){var f,u=this;return t&&(nr(r,u),i=n(i,!0),a(u,"addSeries",{options:t},function(){f=u.initSeries(t),u.isDirtyLegend=!0,i&&u.redraw()})),f},isInsidePlot:function(n,t,i){var r=i?t:n,u=i?n:t;return r>=0&&r<=this.plotWidth&&u>=0&&u<=this.plotHeight},adjustTickAmounts:function(){this.options.chart.alignTicks!==!1&&t(this.axes,function(n){n.adjustTickAmount()}),this.maxTicks=null},redraw:function(n){var i=this,h=i.axes,u=i.series,e=i.tracker,c=i.legend,l=i.isDirtyLegend,o,s=i.isDirtyBox,v=u.length,f=v,r,y=i.renderer,p=y.isHidden(),w=[];for(nr(n,i),p&&i.cloneRenderTo();f--;)if(r=u[f],r.isDirty&&r.options.stacking){o=!0;break}if(o)for(f=v;f--;)r=u[f],r.options.stacking&&(r.isDirty=!0);t(u,function(n){n.isDirty&&n.options.legendType==="point"&&(l=!0)}),l&&c.options.enabled&&(c.render(),i.isDirtyLegend=!1),i.hasCartesianSeries&&(i.isResizing||(i.maxTicks=null,t(h,function(n){n.setScale()})),i.adjustTickAmounts(),i.getMargins(),t(h,function(n){n.isDirtyExtremes&&(n.isDirtyExtremes=!1,w.push(function(){a(n,"afterSetExtremes",n.getExtremes())})),(n.isDirty||s||o)&&(n.redraw(),s=!0)})),s&&i.drawChartBox(),t(u,function(n){n.isDirty&&n.visible&&(!n.isCartesian||n.xAxis)&&n.redraw()}),e&&e.resetTracker&&e.resetTracker(!0),y.draw(),a(i,"redraw"),p&&i.cloneRenderTo(!0),t(w,function(n){n.call()})},showLoading:function(n){var t=this,u=t.options,i=t.loadingDiv,r=u.loading;i||(t.loadingDiv=i=ot(ti,{className:ri+"loading"},f(r.style,{left:t.plotLeft+v,top:t.plotTop+v,width:t.plotWidth+v,height:t.plotHeight+v,zIndex:10,display:rt}),t.container),t.loadingSpan=ot("span",null,r.labelStyle,i)),t.loadingSpan.innerHTML=n||u.lang.loading,t.loadingShown||(y(i,{opacity:0,display:""}),wf(i,{opacity:r.style.opacity},{duration:r.showDuration||0}),t.loadingShown=!0)},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&wf(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){y(n,{display:rt})}}),this.loadingShown=!1},get:function(n){for(var e=this,f=e.axes,i=e.series,r,u,t=0;t<f.length;t++)if(f[t].options.id===n)return f[t];for(t=0;t<i.length;t++)if(i[t].options.id===n)return i[t];for(t=0;t<i.length;t++)for(u=i[t].points||[],r=0;r<u.length;r++)if(u[r].id===n)return u[r];return null},getAxes:function(){var r=this,u=this.options,n=u.xAxis||{},i=u.yAxis||{},f,e;n=vi(n),t(n,function(n,t){n.index=t,n.isX=!0}),i=vi(i),t(i,function(n,t){n.index=t}),f=n.concat(i),t(f,function(n){e=new df(r,n)}),r.adjustTickAmounts()},getSelectedPoints:function(){var n=[];return t(this.series,function(t){n=n.concat(we(t.points,function(n){return n.selected}))}),n},getSelectedSeries:function(){return we(this.series,function(n){return n.selected})},showResetZoom:function(){var n=this,i=it.lang,t=n.options.chart.resetZoomButton,r=t.theme,u=r.states,f=t.relativeTo==="chart"?null:"plotBox";this.resetZoomButton=n.renderer.button(i.resetZoom,null,null,function(){n.zoomOut()},r,u&&u.hover).attr({align:t.position.align,title:i.resetZoomTitle}).add().align(t.position,!1,n[f]),this.resetZoomButton.alignTo=f},zoomOut:function(){var n=this,t=n.resetZoomButton;a(n,"selection",{resetSelection:!0},function(){n.zoom()}),t&&(n.resetZoomButton=t.destroy())},zoom:function(i){var r=this,u;!i||i.resetSelection?t(r.axes,function(n){u=n.zoom()}):t(i.xAxis.concat(i.yAxis),function(n){var t=n.axis;r.tracker[t.isXAxis?"zoomX":"zoomY"]&&(u=t.zoom(n.min,n.max))}),r.resetZoomButton||r.showResetZoom(),u&&r.redraw(n(r.options.chart.animation,r.pointCount<100))},pan:function(n){var i=this,r=i.xAxis[0],e=i.mouseDownX,o=r.pointRange/2,f=r.getExtremes(),s=r.translate(e-n,!0)+o,h=r.translate(e+i.plotWidth-n,!0)-o,c=i.hoverPoints;c&&t(c,function(n){n.setState()}),r.series.length&&s>tt(f.dataMin,f.min)&&h<u(f.dataMax,f.max)&&r.setExtremes(s,h,!0,!1,{trigger:"pan"}),i.mouseDownX=n,y(i.container,{cursor:"move"})},setTitle:function(n,i){var r=this,u=r.options,f,e;r.chartTitleOptions=f=o(u.title,n),r.chartSubtitleOptions=e=o(u.subtitle,i),t([["title",n,f],["subtitle",i,e]],function(n){var i=n[0],u=r[i],f=n[1],t=n[2];u&&f&&(r[i]=u=u.destroy()),t&&t.text&&!u&&(r[i]=r.renderer.text(t.text,0,0,t.useHTML).attr({align:t.align,"class":ri+i,zIndex:t.zIndex||4}).css(t.style).add().align(t,!1,r.spacingBox))})},getChartSize:function(){var t=this,i=t.options.chart,r=t.renderToClone||t.renderTo;t.containerWidth=yu(r,"width"),t.containerHeight=yu(r,"height"),t.chartWidth=u(0,n(i.width,t.containerWidth,600)),t.chartHeight=u(0,n(i.height,t.containerHeight>19?t.containerHeight:400))},cloneRenderTo:function(n){var t=this.renderToClone,i=this.container;n?t&&(this.renderTo.appendChild(i),br(t),delete this.renderToClone):(i&&this.renderTo.removeChild(i),this.renderToClone=t=this.renderTo.cloneNode(0),y(t,{position:ii,top:"-9999px",display:"block"}),h.body.appendChild(t),i&&t.appendChild(i))},getContainer:function(){var n=this,e,i=n.options.chart,r,u,t,l="data-highcharts-chart",o,a;n.renderTo=t=i.renderTo,a=ri+nf++,li(t)&&(n.renderTo=t=h.getElementById(t)),t||kr(13,!0),o=c(s(t,l)),!isNaN(o)&&rr[o]&&rr[o].destroy(),s(t,l,n.index),t.innerHTML="",t.offsetWidth||n.cloneRenderTo(),n.getChartSize(),r=n.chartWidth,u=n.chartHeight,n.container=e=ot(ti,{className:ri+"container"+(i.className?" "+i.className:""),id:a},f({position:rf,overflow:ft,width:r+v,height:u+v,textAlign:"left",lineHeight:"normal",zIndex:0},i.style),n.renderToClone||t),n.renderer=i.forExport?new fi(e,r,u,!0):new cr(e,r,u),lt&&n.renderer.create(n,e,r,u)},getMargins:function(){var r=this,s=r.options.chart,v=s.spacingTop,tt=s.spacingRight,it=s.spacingBottom,rt=s.spacingLeft,e,o=r.legend,y=r.optionsMarginTop,p=r.optionsMarginLeft,w=r.optionsMarginRight,b=r.optionsMarginBottom,h=r.chartTitleOptions,l=r.chartSubtitleOptions,f=r.options.legend,c=n(f.margin,10),k=f.x,d=f.y,g=f.align,nt=f.verticalAlign,a;r.resetMargins(),e=r.axisOffset,(r.title||r.subtitle)&&!i(r.optionsMarginTop)&&(a=u(r.title&&!h.floating&&!h.verticalAlign&&h.y||0,r.subtitle&&!l.floating&&!l.verticalAlign&&l.y||0),a&&(r.plotTop=u(r.plotTop,a+n(h.margin,15)+v))),o.display&&!f.floating&&(g==="right"?i(w)||(r.marginRight=u(r.marginRight,o.legendWidth-k+c+tt)):g==="left"?i(p)||(r.plotLeft=u(r.plotLeft,o.legendWidth+k+c+rt)):nt==="top"?i(y)||(r.plotTop=u(r.plotTop,o.legendHeight+d+c+v)):nt==="bottom"&&(i(b)||(r.marginBottom=u(r.marginBottom,o.legendHeight-d+c+it)))),r.extraBottomMargin&&(r.marginBottom+=r.extraBottomMargin),r.extraTopMargin&&(r.plotTop+=r.extraTopMargin),r.hasCartesianSeries&&t(r.axes,function(n){n.getOffset()}),i(p)||(r.plotLeft+=e[3]),i(y)||(r.plotTop+=e[0]),i(b)||(r.marginBottom+=e[2]),i(w)||(r.marginRight+=e[1]),r.setChartSize()},initReflow:function(){function u(u){var f=t.width||yu(i,"width"),e=t.height||yu(i,"height"),o=u?u.target:k;!n.hasUserSize&&f&&e&&(o===k||o===h)&&((f!==n.containerWidth||e!==n.containerHeight)&&(clearTimeout(r),n.reflowTimeout=r=setTimeout(function(){n.container&&(n.setSize(f,e,!1),n.hasUserSize=null)},100)),n.containerWidth=f,n.containerHeight=e)}var n=this,t=n.options.chart,i=n.renderTo,r;w(k,"resize",u),w(n,"destroy",function(){ut(k,"resize",u)})},setSize:function(n,f,e){var o=this,s,h,l,c=o.resetZoomButton,w=o.title,b=o.subtitle,p;o.isResizing+=1,p=function(){o&&a(o,"endResize",null,function(){o.isResizing-=1})},nr(e,o),o.oldChartHeight=o.chartHeight,o.oldChartWidth=o.chartWidth,i(n)&&(o.chartWidth=s=u(0,r(n)),o.hasUserSize=!!s),i(f)&&(o.chartHeight=h=u(0,r(f))),y(o.container,{width:s+v,height:h+v}),o.renderer.setSize(s,h,e),o.plotWidth=s-o.plotLeft-o.marginRight,o.plotHeight=h-o.plotTop-o.marginBottom,o.maxTicks=null,t(o.axes,function(n){n.isDirty=!0,n.setScale()}),t(o.series,function(n){n.isDirty=!0}),o.isDirtyLegend=!0,o.isDirtyBox=!0,o.getMargins(),l=o.spacingBox,w&&w.align(null,null,l),b&&b.align(null,null,l),c&&c.align&&c.align(null,null,o[c.alignTo]),o.redraw(e),o.oldChartHeight=null,a(o,"resize"),lr===!1?p():setTimeout(p,lr&&lr.duration||500)},setChartSize:function(){var n=this,c=n.inverted,l=n.chartWidth,a=n.chartHeight,i=n.options.chart,v=i.spacingTop,p=i.spacingRight,w=i.spacingBottom,y=i.spacingLeft,s,h,e,o,f;n.plotLeft=s=r(n.plotLeft),n.plotTop=h=r(n.plotTop),n.plotWidth=e=u(0,r(l-s-n.marginRight)),n.plotHeight=o=u(0,r(a-h-n.marginBottom)),n.plotSizeX=c?o:e,n.plotSizeY=c?e:o,n.plotBorderWidth=f=i.plotBorderWidth||0,n.spacingBox={x:y,y:v,width:l-y-p,height:a-v-w},n.plotBox={x:s,y:h,width:e,height:o},n.clipBox={x:f/2,y:f/2,width:n.plotSizeX-f,height:n.plotSizeY-f},t(n.axes,function(n){n.setAxisSize(),n.setAxisTranslation()})},resetMargins:function(){var t=this,i=t.options.chart,r=i.spacingTop,u=i.spacingRight,f=i.spacingBottom,e=i.spacingLeft;t.plotTop=n(t.optionsMarginTop,r),t.marginRight=n(t.optionsMarginRight,u),t.marginBottom=n(t.optionsMarginBottom,f),t.plotLeft=n(t.optionsMarginLeft,e),t.axisOffset=[0,0,0,0]},drawChartBox:function(){var n=this,t=n.options.chart,r=n.renderer,y=n.chartWidth,p=n.chartHeight,c=n.chartBackground,w=n.plotBackground,l=n.plotBorder,b=n.plotBGImage,u=t.borderWidth||0,k=t.backgroundColor,d=t.plotBackgroundColor,g=t.plotBackgroundImage,a=t.plotBorderWidth||0,i,f,e=n.plotLeft,o=n.plotTop,s=n.plotWidth,h=n.plotHeight,nt=n.plotBox,tt=n.clipRect,v=n.clipBox;i=u+(t.shadow?8:0),(u||k)&&(c?c.animate(c.crisp(null,null,null,y-i,p-i)):(f={fill:k||rt},u&&(f.stroke=t.borderColor,f["stroke-width"]=u),n.chartBackground=r.rect(i/2,i/2,y-i,p-i,t.borderRadius,u).attr(f).add().shadow(t.shadow))),d&&(w?w.animate(nt):n.plotBackground=r.rect(e,o,s,h,0).attr({fill:d}).add().shadow(t.plotShadow)),g&&(b?b.animate(nt):n.plotBGImage=r.image(g,e,o,s,h).add()),tt?tt.animate({width:v.width,height:v.height}):n.clipRect=r.clipRect(v),a&&(l?l.animate(l.crisp(null,e,o,s,h)):n.plotBorder=r.rect(e,o,s,h,0,a).attr({stroke:t.plotBorderColor,"stroke-width":a,zIndex:1}).add()),n.isDirtyBox=!1},propFromSeries:function(){var i=this,u=i.options.chart,n,f=i.options.series,e,r;t(["inverted","angular","polar"],function(t){for(n=pt[u.type||u.defaultSeriesType],r=i[t]||u[t]||n&&n.prototype[t],e=f&&f.length;!r&&e--;)n=pt[f[e].type],n&&n.prototype[t]&&(r=!0);i[t]=r})},render:function(){var n=this,r=n.axes,u=n.renderer,s=n.options,e=s.labels,i=s.credits,o;n.setTitle(),n.legend=new te(n),t(r,function(n){n.setScale()}),n.getMargins(),n.maxTicks=null,t(r,function(n){n.setTickPositions(!0),n.setMaxTicks()}),n.adjustTickAmounts(),n.getMargins(),n.drawChartBox(),n.hasCartesianSeries&&t(r,function(n){n.render()}),n.seriesGroup||(n.seriesGroup=u.g("series-group").attr({zIndex:3}).add()),t(n.series,function(n){n.translate(),n.setTooltipPoints(),n.render()}),e.items&&t(e.items,function(t){var i=f(e.style,t.style),r=c(i.left)+n.plotLeft,o=c(i.top)+n.plotTop+12;delete i.left,delete i.top,u.text(t.html,r,o).attr({zIndex:2}).css(i).add()}),i.enabled&&!n.credits&&(o=i.href,n.credits=u.text(i.text,0,0).on("click",function(){o&&(location.href=o)}).attr({align:i.position.align,zIndex:8}).css(i.style).add().align(i.position)),n.hasRendered=!0},destroy:function(){var n=this,u=n.axes,f=n.series,r=n.container,i,o=r&&r.parentNode;for(a(n,"destroy"),rr[n.index]=e,n.renderTo.removeAttribute("data-highcharts-chart"),ut(n),i=u.length;i--;)u[i]=u[i].destroy();for(i=f.length;i--;)f[i]=f[i].destroy();t(["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","tracker","scroller","rangeSelector","legend","resetZoomButton","tooltip","renderer"],function(t){var i=n[t];i&&i.destroy&&(n[t]=i.destroy())}),r&&(r.innerHTML="",ut(r),o&&br(r));for(i in n)delete n[i]},isReadyToRender:function(){var n=this;return!bt&&k==k.top&&h.readyState!=="complete"||lt&&!k.canvg?(lt?ge.push(function(){n.firstRender()},n.options.global.canvasToolsURL):h.attachEvent("onreadystatechange",function(){h.detachEvent("onreadystatechange",n.firstRender),h.readyState==="complete"&&n.firstRender()}),!1):!0},firstRender:function(){var n=this,i=n.options,r=n.callback;n.isReadyToRender()&&(n.getContainer(),a(n,"init"),Highcharts.RangeSelector&&i.rangeSelector.enabled&&(n.rangeSelector=new Highcharts.RangeSelector(n)),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),t(i.series||[],function(t){n.initSeries(t)}),Highcharts.Scroller&&(i.navigator.enabled||i.scrollbar.enabled)&&(n.scroller=new Highcharts.Scroller(n)),n.tracker=new ne(n,i),n.render(),n.renderer.draw(),r&&r.apply(n,[n]),t(n.callbacks,function(t){t.apply(n,[n])}),n.cloneRenderTo(!0),a(n,"load"))}},ie.prototype.callbacks=[],sr=function(){},sr.prototype={init:function(n,t,i){var r=this,f=n.chart.counters,u;return r.series=n,r.applyOptions(t,i),r.pointAttr={},n.options.colorByPoint&&(u=n.chart.options.colors,r.color=r.color||u[f.color++],f.wrapColor(u.length)),n.chart.pointCount++,r},applyOptions:function(n,t){var i=this,r=i.series,u=typeof n;i.config=n,u==="number"||n===null?i.y=n:typeof n[0]=="number"?(i.x=n[0],i.y=n[1]):u==="object"&&typeof n.length!="number"?(f(i,n),i.options=n,n.dataLabels&&(r._hasPointLabels=!0),n.marker&&(r._hasPointMarkers=!0)):typeof n[0]=="string"&&(i.name=n[0],i.y=n[1]),i.x===e&&(i.x=t===e?r.autoIncrement():t)},destroy:function(){var n=this,u=n.series,t=u.chart,i=t.hoverPoints,r;t.pointCount--,i&&(n.setState(),ki(i,n),i.length||(t.hoverPoints=null)),n===t.hoverPoint&&n.onMouseOut(),(n.graphic||n.dataLabel)&&(ut(n),n.destroyElements()),n.legendItem&&t.legend.destroyItem(n);for(r in n)n[r]=null},destroyElements:function(){for(var t=this,n,i=6;i--;)n=["graphic","tracker","dataLabel","dataLabelUpper","group","connector","shadowGroup"][i],t[n]&&(t[n]=t[n].destroy())},getLabelConfig:function(){var n=this;return{x:n.category,y:n.y,key:n.name||n.category,series:n.series,point:n,percentage:n.percentage,total:n.total||n.stackTotal}},select:function(i,r){var u=this,f=u.series,e=f.chart;i=n(i,!u.selected),u.firePointEvent(i?"select":"unselect",{accumulate:r},function(){u.selected=i,u.setState(i&&si),r||t(e.getSelectedPoints(),function(n){n.selected&&n!==u&&(n.selected=!1,n.setState(vt),n.firePointEvent("unselect"))})})},onMouseOver:function(){var n=this,u=n.series,t=u.chart,i=t.tooltip,r=t.hoverPoint;r&&r!==n&&r.onMouseOut(),n.firePointEvent("mouseOver"),i&&(!i.shared||u.noSharedTooltip)&&i.refresh(n),n.setState(kt),t.hoverPoint=n},onMouseOut:function(){var n=this.series.chart,t=n.hoverPoints;t&&co(this,t)!==-1||(this.firePointEvent("mouseOut"),this.setState(),n.hoverPoint=null)},tooltipFormatter:function(t){var f=this,c=f.series,i=c.tooltipOptions,l=t.match(/\{(series|point)\.[a-zA-Z]+\}/g),o,u,s,e,h,r,a,v={y:0,open:0,high:0,low:0,close:0,percentage:1,total:1};i.valuePrefix=i.valuePrefix||i.yPrefix,i.valueDecimals=n(i.valueDecimals,i.yDecimals),i.valueSuffix=i.valueSuffix||i.ySuffix;for(a in l)u=l[a],li(u)&&u!==t&&(h=(" "+u).split(/[{\.}]/),o={point:f,series:c}[h[1]],r=h[2],o===f&&v.hasOwnProperty(r)?(e=v[r]?r:"value",s=(i[e+"Prefix"]||"")+wr(f[r],n(i[e+"Decimals"],-1))+(i[e+"Suffix"]||"")):s=o[r],t=t.replace(u,s));return t},update:function(t,i,r){var u=this,f=u.series,o=u.graphic,e,s=f.data,h=s.length,c=f.chart;i=n(i,!0),u.firePointEvent("update",{options:t},function(){for(u.applyOptions(t),wt(t)&&(f.getAttribs(),o&&o.attr(u.pointAttr[f.state])),e=0;e<h;e++)if(s[e]===u){f.xData[e]=u.x,f.yData[e]=u.toYData?u.toYData():u.y,f.options.data[e]=t;break}f.isDirty=!0,f.isDirtyData=!0,i&&c.redraw(r)})},remove:function(t,i){var f=this,u=f.series,o=u.chart,r,e=u.data,s=e.length;nr(i,o),t=n(t,!0),f.firePointEvent("remove",null,function(){for(r=0;r<s;r++)if(e[r]===f){e.splice(r,1),u.options.data.splice(r,1),u.xData.splice(r,1),u.yData.splice(r,1);break}f.destroy(),u.isDirty=!0,u.isDirtyData=!0,t&&o.redraw()})},firePointEvent:function(n,t,i){var r=this,f=this.series,u=f.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents(),n==="click"&&u.allowPointSelect&&(i=function(n){r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)}),a(this,n,t,i)},importEvents:function(){if(!this.hasImportedEvents){var n=this,r=o(n.series.options.point,n.options),t=r.events,i;n.events=t;for(i in t)w(n,i,t[i]);this.hasImportedEvents=!0}},setState:function(n){var i=this,s=i.plotX,h=i.plotY,r=i.series,l=r.options.states,u=at[r.type].marker&&r.options.marker,v=u&&!u.enabled,f=u&&u.states[n],y=f&&f.enabled===!1,e=r.stateMarkerGraphic,a=r.chart,t,c=i.pointAttr;(n=n||vt,n===i.state||i.selected&&n!==si||l[n]&&l[n].enabled===!1||n&&(y||v&&!f.enabled))||(i.graphic?(t=u&&i.graphic.symbolName&&c[n].r,i.graphic.attr(o(c[n],t?{x:s-t,y:h-t,width:2*t,height:2*t}:{}))):(n&&f&&(t=f.radius,e?e.attr({x:s-t,y:h-t}):r.stateMarkerGraphic=e=a.renderer.symbol(r.symbol,s-t,h-t,2*t,2*t).attr(c[n]).add(r.markerGroup)),e&&e[n&&a.isInsidePlot(s,h)?"show":"hide"]()),i.state=n)}},nt=function(){},nt.prototype={isCartesian:!0,type:"line",pointClass:sr,sorted:!0,requireSorting:!0,pointAttrToOptions:{stroke:"lineColor","stroke-width":"lineWidth",fill:"fillColor",r:"radius"},init:function(n,i){var r=this,e,u;r.chart=n,r.options=i=r.setOptions(i),r.bindAxes(),f(r,{name:i.name,state:vt,pointAttr:{},visible:i.visible!==!1,selected:i.selected===!0}),lt&&(i.animation=!1),u=i.events;for(e in u)w(r,e,u[e]);(u&&u.click||i.point&&i.point.events&&i.point.events.click||i.allowPointSelect)&&(n.runTrackerClick=!0),r.getColor(),r.getSymbol(),r.setData(i.data,!1),r.isCartesian&&(n.hasCartesianSeries=!0),n.series.push(r),pe(n.series,function(n,t){return(n.options.index||0)-(t.options.index||0)}),t(n.series,function(n,t){n.index=t,n.name=n.name||"Series "+(t+1)})},bindAxes:function(){var n=this,r=n.options,u=n.chart,i;n.isCartesian&&t(["xAxis","yAxis"],function(f){t(u[f],function(t){i=t.options,(r[f]===i.index||r[f]===e&&i.index===0)&&(t.series.push(n),n[f]=t,t.isDirty=!0)})})},autoIncrement:function(){var t=this,r=t.options,i=t.xIncrement;return i=n(i,r.pointStart,0),t.pointInterval=n(t.pointInterval,r.pointInterval,1),t.xIncrement=i+t.pointInterval,i},getSegments:function(){var f=this,i=-1,r=[],u,n=f.points,e=n.length;if(e)if(f.options.connectNulls){for(u=e;u--;)n[u].y===null&&n.splice(u,1);n.length&&(r=[n])}else t(n,function(t,u){t.y===null?(u>i+1&&r.push(n.slice(i+1,u)),i=u):u===e-1&&r.push(n.slice(i+1,u+1))});f.segments=r},setOptions:function(n){var f=this.chart,i=f.options,r=i.plotOptions,u=r[this.type],e=n.data,t;return n.data=null,t=o(u,r.series,n),t.data=n.data=e,this.tooltipOptions=o(i.tooltip,t.tooltip),u.marker===null&&delete t.marker,t},getColor:function(){var n=this.options,t=this.chart.options.colors,i=this.chart.counters;this.color=n.color||!n.colorByPoint&&t[i.color++]||"gray",i.wrapColor(t.length)},getSymbol:function(){var n=this,t=n.options.marker,i=n.chart,r=i.options.symbols,u=i.counters;n.symbol=t.symbol||r[u.symbol++],/^url/.test(n.symbol)&&(t.radius=0),u.wrapSymbol(r.length)},drawLegendSymbol:function(n){var t=this.options,r=t.marker,i,h=n.options,c,e=h.symbolWidth,o=this.chart.renderer,s=this.legendGroup,u=n.baseline,f;t.lineWidth&&(f={"stroke-width":t.lineWidth},t.dashStyle&&(f.dashstyle=t.dashStyle),this.legendLine=o.path([b,0,u-4,p,e,u-4]).attr(f).add(s)),r&&r.enabled&&(i=r.radius,this.legendSymbol=c=o.symbol(this.symbol,e/2-i,u-4-i,2*i,2*i).add(s))},addPoint:function(t,i,r,u){var f=this,l=f.options,o=f.data,s=f.graph,h=f.area,a=f.chart,v=f.xData,y=f.yData,p=s&&s.shift||0,w=l.data,e,c=f.pointClass.prototype;nr(u,a),s&&r&&(s.shift=p+1),h&&(r&&(h.shift=p+1),h.isArea=!0),i=n(i,!0),e={series:f},c.applyOptions.apply(e,[t]),v.push(e.x),y.push(c.toYData?c.toYData.call(e):e.y),w.push(t),l.legendType==="point"&&f.generatePoints(),r&&(o[0]&&o[0].remove?o[0].remove(!1):(o.shift(),v.shift(),y.shift(),w.shift())),f.getAttribs(),f.isDirty=!0,f.isDirtyData=!0,i&&a.redraw()},setData:function(t,r){var f=this,c=f.points,a=f.options,b=f.initialColor,p=f.chart,v=null,l=f.xAxis,u,w=f.pointClass.prototype,y,g;f.xIncrement=null,f.pointRange=l&&l.categories?1:a.pointRange,i(b)&&(p.counters.color=b);var o=[],s=[],h=t?t.length:[],nt=a.turboThreshold||1e3,e,k=f.pointArrayMap,d=k&&k.length;if(h>nt){for(u=0;v===null&&u<h;)v=t[u],u++;if(ur(v)){for(y=n(a.pointStart,0),g=n(a.pointInterval,1),u=0;u<h;u++)o[u]=y,s[u]=t[u],y+=g;f.xIncrement=y}else if(pr(v))if(d)for(u=0;u<h;u++)e=t[u],o[u]=e[0],s[u]=e.slice(1,d+1);else for(u=0;u<h;u++)e=t[u],o[u]=e[0],s[u]=e[1]}else for(u=0;u<h;u++)e={series:f},w.applyOptions.apply(e,[t[u]]),o[u]=e.x,s[u]=w.toYData?w.toYData.call(e):e.y;for(f.requireSorting&&o.length>1&&o[1]<o[0]&&kr(15),li(s[0])&&kr(14,!0),f.data=[],f.options.data=t,f.xData=o,f.yData=s,u=c&&c.length||0;u--;)c[u]&&c[u].destroy&&c[u].destroy();l&&(l.minRange=l.userMinRange),f.isDirty=f.isDirtyData=p.isDirtyBox=!0,n(r,!0)&&p.redraw(!1)},remove:function(t,i){var r=this,u=r.chart;t=n(t,!0),r.isRemoving||(r.isRemoving=!0,a(r,"remove",null,function(){r.destroy(),u.isDirtyLegend=u.isDirtyBox=!0,t&&u.redraw(i)})),r.isRemoving=!1},processData:function(n){var t=this,i=t.xData,s=t.yData,f=i.length,h=0,l=f,y,c,o,p=t.xAxis,r,w=t.options,b=w.cropThreshold,k=t.isCartesian;if(k&&!t.isDirty&&!p.isDirty&&!t.yAxis.isDirty&&!n)return!1;if(k&&t.sorted&&(!b||f>b||t.forceCrop)){var d=p.getExtremes(),a=d.min,v=d.max;if(i[f-1]<a||i[0]>v)i=[],s=[];else if(i[0]<a||i[f-1]>v){for(r=0;r<f;r++)if(i[r]>=a){h=u(0,r-1);break}for(;r<f;r++)if(i[r]>v){l=r+1;break}i=i.slice(h,l),s=s.slice(h,l),y=!0}}for(r=i.length-1;r>0;r--)c=i[r]-i[r-1],c>0&&(o===e||c<o)&&(o=c);t.cropped=y,t.cropStart=h,t.processedXData=i,t.processedYData=s,w.pointRange===null&&(t.pointRange=o||1),t.closestPointRange=o},generatePoints:function(){var t=this,p=t.options,f=p.data,i=t.data,a,o=t.processedXData,w=t.processedYData,v=t.pointClass,s=o.length,y=t.cropStart||0,r,u=t.hasGroupedData,h,c=[],n,l;for(i||u||(l=[],l.length=f.length,i=t.data=l),n=0;n<s;n++)r=y+n,u?c[n]=(new v).init(t,[o[n]].concat(vi(w[n]))):(i[r]?h=i[r]:f[r]!==e&&(i[r]=h=(new v).init(t,f[r],o[n])),c[n]=h);if(i&&(s!==(a=i.length)||u))for(n=0;n<a;n++)n!==y||u||(n+=s),i[n]&&(i[n].destroyElements(),i[n].plotX=e);t.data=i,t.points=c},translate:function(){this.processedXData||this.processData(),this.generatePoints();for(var u=this,b=u.chart,l=u.options,k=l.stacking,d=u.xAxis,v=d.categories,c=u.yAxis,g=u.points,tt=g.length,it=!!u.modifyValue,nt,y=c.series,h=y.length,rt=l.pointPlacement==="between";h--;)if(y[h].visible){y[h]===u&&(nt=!0);break}for(h=0;h<tt;h++){var t=g[h],p=t.x,f=t.y,o=t.low,w=c.stacks[(f<l.threshold?"-":"")+u.stackKey],a,s;t.plotX=d.translate(p,0,0,0,1,rt),k&&u.visible&&w&&w[p]&&(a=w[p],s=a.total,a.cum=o=a.cum-f,f=o+f,nt&&(o=n(l.threshold,c.min)),c.isLog&&o<=0&&(o=null),k==="percent"&&(o=s?o*100/s:0,f=s?f*100/s:0),t.percentage=s?t.y*100/s:0,t.total=t.stackTotal=s,t.stackY=f),t.yBottom=i(o)?c.translate(o,0,1,0,1):null,it&&(f=u.modifyValue(f,t)),t.plotY=typeof f=="number"?r(c.translate(f,0,1,0,1)*10)/10:e,t.clientX=b.inverted?b.plotHeight-t.plotX:t.plotX,t.category=v&&v[t.x]!==e?v[t.x]:t.x}u.getSegments()},setTooltipPoints:function(n){var f=this,i=[],c,o,s,e=f.xAxis,l=e?e.tooltipLen||e.len:f.chart.plotSizeX,a=e&&e.tooltipPosName||"plotX",h,r,v=[];if(f.options.enableMouseTracking!==!1){for(n&&(f.tooltipPoints=null),t(f.segments||f.points,function(n){i=i.concat(n)}),e&&e.reversed&&(i=i.reverse()),c=i.length,r=0;r<c;r++)for(h=i[r],o=i[r-1]?s+1:0,s=i[r+1]?u(0,ht((h[a]+(i[r+1]?i[r+1][a]:l))/2)):l;o>=0&&o<=s;)v[o++]=h;f.tooltipPoints=v}},tooltipHeaderFormatter:function(n){var t=this,i=t.tooltipOptions,r=i.xDateFormat,u=t.xAxis,e=u&&u.options.type==="datetime",f;if(e&&!r)for(f in l)if(l[f]>=u.closestPointRange){r=i.dateTimeLabelFormats[f];break}return i.headerFormat.replace("{point.key}",e&&ur(n)?ou(r,n):n).replace("{series.name}",t.name).replace("{series.color}",t.color)},onMouseOver:function(){var n=this,i=n.chart,t=i.hoverSeries;t&&t!==n&&t.onMouseOut(),n.options.events.mouseOver&&a(n,"mouseOver"),n.setState(kt),i.hoverSeries=n},onMouseOut:function(){var n=this,r=n.options,t=n.chart,i=t.tooltip,u=t.hoverPoint;u&&u.onMouseOut(),n&&r.events.mouseOut&&a(n,"mouseOut"),!i||r.stickyTracking||i.shared||i.hide(),n.setState(),t.hoverSeries=null},animate:function(n){var i=this,t=i.chart,s=t.renderer,e,o,r=i.options.animation,c=t.clipBox,h=t.inverted,u;r&&!wt(r)&&(r=at[i.type].animation),u="_sharedClip"+r.duration+r.easing,n?(e=t[u],o=t[u+"m"],e||(t[u]=e=s.clipRect(f(c,{width:0})),t[u+"m"]=o=s.clipRect(-99,h?-t.plotLeft:-t.plotTop,99,h?t.chartWidth:t.chartHeight)),i.group.clip(e),i.markerGroup.clip(o),i.sharedClipKey=u):(e=t[u],e&&(e.animate({width:t.plotSizeX},r),t[u+"m"].animate({width:t.plotSizeX+99},r)),i.animate=null,i.animationTimeout=setTimeout(function(){i.afterAnimate()},r.duration))},afterAnimate:function(){var n=this.chart,t=this.sharedClipKey,i=this.group,r=this.trackerGroup;i&&this.options.clip!==!1&&(i.clip(n.clipRect),r&&r.clip(n.clipRect),this.markerGroup.clip()),setTimeout(function(){t&&n[t]&&(n[t]=n[t].destroy(),n[t+"m"]=n[t+"m"].destroy())},100)},drawPoints:function(){var u=this,c,p=u.points,l=u.chart,s,o,a,i,t,v,w,r,d=u.options,b=d.marker,h,k,y,g=u.markerGroup;if(b.enabled||u._hasPointMarkers)for(a=p.length;a--;)i=p[a],s=i.plotX,o=i.plotY,r=i.graphic,h=i.marker||{},k=b.enabled&&h.enabled===e||h.enabled,y=l.isInsidePlot(s,o,l.inverted),k&&o!==e&&!isNaN(o)?(c=i.pointAttr[i.selected?si:vt],t=c.r,v=n(h.symbol,u.symbol),w=v.indexOf("url")===0,r?r.attr({visibility:y?bt?"inherit":et:ft}).animate(f({x:s-t,y:o-t},r.symbolName?{width:2*t,height:2*t}:{})):y&&(t>0||w)&&(i.graphic=r=l.renderer.symbol(v,s-t,o-t,2*t,2*t).attr(c).add(g))):r&&(i.graphic=r.destroy())},convertAttribs:function(t,i,r,u){var e=this.pointAttrToOptions,f,o,s={};t=t||{},i=i||{},r=r||{},u=u||{};for(f in e)o=e[f],s[f]=n(t[o],i[f],r[f],u[f]);return s},getAttribs:function(){var n=this,r=at[n.type].marker?n.options.marker:n.options,h=r.states,u=h[kt],c,l=n.color,b={stroke:l,fill:l},y=n.points||[],a,e,o=[],s,p=n.pointAttrToOptions,v,w;for(n.options.marker?(u.radius=u.radius||r.radius+2,u.lineWidth=u.lineWidth||r.lineWidth+1):u.color=u.color||ui(u.color||l).brighten(u.brightness).get(),o[vt]=n.convertAttribs(r,b),t([kt,si],function(t){o[t]=n.convertAttribs(h[t],o[vt])}),n.pointAttr=o,a=y.length;a--;){if(e=y[a],r=e.options&&e.options.marker||e.options,r&&r.enabled===!1&&(r.radius=0),v=n.options.colorByPoint,e.options)for(w in p)i(r[p[w]])&&(v=!0);v?(r=r||{},s=[],h=r.states||{},c=h[kt]=h[kt]||{},n.options.marker||(c.color=ui(c.color||e.color).brighten(c.brightness||u.brightness).get()),s[vt]=n.convertAttribs(f({color:e.color},r),o[vt]),s[kt]=n.convertAttribs(h[kt],o[kt],s[vt]),s[si]=n.convertAttribs(h[si],o[si],s[vt])):s=o,e.pointAttr=s}},destroy:function(){var n=this,u=n.chart,h=/AppleWebKit\/533/.test(ei),e,f,o=n.data||[],i,s,r;for(a(n,"destroy"),ut(n),t(["xAxis","yAxis"],function(t){r=n[t],r&&(ki(r.series,n),r.isDirty=!0)}),n.legendItem&&n.chart.legend.destroyItem(n),f=o.length;f--;)i=o[f],i&&i.destroy&&i.destroy();n.points=null,clearTimeout(n.animationTimeout),t(["area","graph","dataLabelsGroup","group","markerGroup","tracker","trackerGroup"],function(t){n[t]&&(e=h&&t==="group"?"hide":"destroy",n[t][e]())}),u.hoverSeries===n&&(u.hoverSeries=null),ki(u.series,n);for(s in n)delete n[s]},drawDataLabels:function(){var u=this,l=u.options,r=l.dataLabels,a=u.points,f,h,s,c;(r.enabled||u._hasPointLabels)&&(u.dlProcessOptions&&u.dlProcessOptions(r),c=u.plotGroup("dataLabelsGroup","data-labels",u.visible?et:ft,r.zIndex||6),h=r,t(a,function(t){var v,l=t.dataLabel,a,y,p,w=!0;if(f=t.options&&t.options.dataLabels,v=h.enabled||f&&f.enabled,l&&!v)t.dataLabel=l.destroy();else if(v){if(p=r.rotation,r=o(h,f),s=r.formatter.call(t.getLabelConfig(),r),r.style.color=n(r.color,r.style.color,u.color,"black"),l)l.attr({text:s}),w=!1;else if(i(s)){a={fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth,r:r.borderRadius||0,rotation:p,padding:r.padding,zIndex:1};for(y in a)a[y]===e&&delete a[y];l=t.dataLabel=u.chart.renderer[p?"text":"label"](s,0,-999,null,null,null,r.useHTML).attr(a).css(r.style).add(c).shadow(r.shadow)}l&&u.alignDataLabel(t,l,r,null,w)}}))},alignDataLabel:function(t,i,u,e,o){var s=this.chart,c=s.inverted,l=n(t.plotX,-999),a=n(t.plotY,-999),v=i.getBBox(),h;e=f({x:c?s.plotWidth-a:l,y:r(c?s.plotHeight-l:a),width:0,height:0},e),f(u,{width:v.width,height:v.height}),u.rotation?(h={align:u.align,x:e.x+u.x+e.width/2,y:e.y+u.y+e.height/2},i[o?"attr":"animate"](h)):(i.align(u,null,e),h=i.alignAttr),i.attr({visibility:u.crop===!1||s.isInsidePlot(h.x,h.y)||s.isInsidePlot(l,a,c)?s.renderer.isSVG?"inherit":et:ft})},getSegmentPath:function(n){var r=this,i=[],u=r.options.step;return t(n,function(t,f){var o=t.plotX,s=t.plotY,e;r.getPointSpline?i.push.apply(i,r.getPointSpline(n,t,f)):(i.push(f?p:b),u&&f&&(e=n[f-1],u==="right"?i.push(e.plotX,s):u==="center"?i.push((e.plotX+o)/2,e.plotY,(e.plotX+o)/2,s):i.push(o,e.plotY)),i.push(t.plotX,t.plotY))}),i},getGraphPath:function(){var n=this,i=[],r,u=[];return t(n.segments,function(t){r=n.getSegmentPath(t),t.length>1?i=i.concat(r):u.push(t[0])}),n.singlePoints=u,n.graphPath=i,i},drawGraph:function(){var n=this.options,t=this.graph,e=this.group,o=n.lineColor||this.color,r=n.lineWidth,u=n.dashStyle,i,f=this.getGraphPath();t?(pu(t),t.animate({d:f})):r&&(i={stroke:o,"stroke-width":r,zIndex:1},u&&(i.dashstyle=u),this.graph=this.chart.renderer.path(f).attr(i).add(e).shadow(n.shadow))},invertGroups:function(){function i(){var i={width:n.yAxis.len,height:n.xAxis.len};t(["group","trackerGroup","markerGroup"],function(t){n[t]&&n[t].attr(i).invert()})}var n=this,r=n.chart;w(r,"resize",i),w(n,"destroy",function(){ut(r,"resize",i)}),i(),n.invertGroups=i},plotGroup:function(n,t,i,r,u){var f=this[n],e=this.chart,o=this.xAxis,s=this.yAxis;return f||(this[n]=f=e.renderer.g(t).attr({visibility:i,zIndex:r||.1}).add(u)),f.translate(o?o.left:e.plotLeft,s?s.top:e.plotTop),f},render:function(){var n=this,t=n.chart,i,r=n.options,h=r.animation,u=h&&!!n.animate,f=n.visible?et:ft,e=r.zIndex,o=n.hasRendered,s=t.seriesGroup;i=n.plotGroup("group","series",f,e,s),n.markerGroup=n.plotGroup("markerGroup","markers",f,e,s),u&&n.animate(!0),n.getAttribs(),i.inverted=t.inverted,n.drawGraph&&n.drawGraph(),n.drawPoints(),n.drawDataLabels(),n.options.enableMouseTracking!==!1&&n.drawTracker(),t.inverted&&n.invertGroups(),r.clip===!1||n.sharedClipKey||o||(i.clip(t.clipRect),this.trackerGroup&&this.trackerGroup.clip(t.clipRect)),u?n.animate():o||n.afterAnimate(),n.isDirty=n.isDirtyData=!1,n.hasRendered=!0},redraw:function(){var n=this,t=n.chart,r=n.isDirtyData,i=n.group;i&&(t.inverted&&i.attr({width:t.plotWidth,height:t.plotHeight}),i.animate({translateX:n.xAxis.left,translateY:n.yAxis.top})),n.translate(),n.setTooltipPoints(!0),n.render(),r&&a(n,"updatedData")},setState:function(n){var t=this,f=t.options,i=t.graph,r=f.states,u=f.lineWidth;if(n=n||vt,t.state!==n){if(t.state=n,r[n]&&r[n].enabled===!1)return;n&&(u=r[n].lineWidth||u+1),i&&!i.dashstyle&&i.attr({"stroke-width":u},n?0:500)}},setVisible:function(n,i){var r=this,f=r.chart,p=r.legendItem,c=r.group,l=r.tracker,v=r.dataLabelsGroup,y=r.markerGroup,u,o,s=r.points,h,w=f.options.chart.ignoreHiddenSeries,b=r.visible;if(r.visible=n=n===e?!b:n,u=n?"show":"hide",c&&c[u](),y&&y[u](),l)l[u]();else if(s)for(o=s.length;o--;)h=s[o],h.tracker&&h.tracker[u]();f.hoverSeries===r&&r.onMouseOut(),v&&v[u](),p&&f.legend.colorizeItem(r,n),r.isDirty=!0,r.options.stacking&&t(f.series,function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)}),w&&(f.isDirtyBox=!0),i!==!1&&f.redraw(),a(r,u)},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){var t=this;t.selected=n=n===e?!t.selected:n,t.checkbox&&(t.checkbox.checked=n),a(t,n?"select":"unselect")},drawTracker:function(){var i=this,r=i.options,e=r.trackByArea,t=[].concat(e?i.areaPath:i.graphPath),h=t.length,o=i.chart,v=o.renderer,u=o.options.tooltip.snap,s=i.tracker,c=r.cursor,y=c&&{cursor:c},l=i.singlePoints,w=this.isCartesian&&this.plotGroup("trackerGroup",null,et,r.zIndex||1,o.trackerGroup),f,n,a=function(){o.hoverSeries!==i&&i.onMouseOver()},k=function(){r.stickyTracking||i.onMouseOut()};if(h&&!e)for(n=h+1;n--;)t[n]===b&&t.splice(n+1,0,t[n+1]-u,t[n+2],p),(n&&t[n]===b||n===h)&&t.splice(n,0,p,t[n-2]+u,t[n-1]);for(n=0;n<l.length;n++)f=l[n],t.push(b,f.plotX-u,f.plotY,p,f.plotX+u,f.plotY);if(s)s.attr({d:t});else if(i.tracker=s=v.path(t).attr({isTracker:!0,"stroke-linejoin":"round",visibility:i.visible?et:ft,stroke:uf,fill:e?uf:rt,"stroke-width":r.lineWidth+(e?0:2*u)}).on("mouseover",a).on("mouseout",k).css(y).add(w),wi)s.on("touchstart",a)}},to=gt(nt),pt.line=to,at.area=o(or,{threshold:0}),iu=gt(nt,{type:"area",getSegmentPath:function(n){var i=nt.prototype.getSegmentPath.call(this,n),r=[].concat(i),t,u=this.options,f=i.length;if(f===3&&r.push(p,i[1],i[2]),u.stacking&&!this.closedStacks)for(t=n.length-1;t>=0;t--)t<n.length-1&&u.step&&r.push(n[t+1].plotX,n[t].yBottom),r.push(n[t].plotX,n[t].yBottom);else this.closeSegment(r,n);return this.areaPath=this.areaPath.concat(r),i},closeSegment:function(n,t){var i=this.yAxis.getThreshold(this.options.threshold);n.push(p,t[t.length-1].plotX,i,p,t[0].plotX,i)},drawGraph:function(){this.areaPath=[],nt.prototype.drawGraph.apply(this);var t=this.areaPath,i=this.options,r=this.area;r?r.animate({d:t}):this.area=this.chart.renderer.path(t).attr({fill:n(i.fillColor,ui(this.color).setOpacity(i.fillOpacity||.75).get()),zIndex:0}).add(this.group)},drawLegendSymbol:function(n,t){t.legendSymbol=this.chart.renderer.rect(0,n.baseline-11,n.options.symbolWidth,12,2).attr({zIndex:3}).add(t.legendGroup)}}),pt.area=iu,at.spline=o(or),re=gt(nt,{type:"spline",getPointSpline:function(n,t,i){var h=1.5,a=h+1,s=t.plotX,r=t.plotY,o=n[i-1],y=n[i+1],p,e,v,f,w;if(o&&y){var d=o.plotX,c=o.plotY,g=y.plotX,l=y.plotY,k;p=(h*s+d)/a,e=(h*r+c)/a,v=(h*s+g)/a,f=(h*r+l)/a,k=(f-e)*(v-s)/(v-p)+r-f,e+=k,f+=k,e>c&&e>r?(e=u(c,r),f=2*r-e):e<c&&e<r&&(e=tt(c,r),f=2*r-e),f>l&&f>r?(f=u(l,r),e=2*r-f):f<l&&f<r&&(f=tt(l,r),e=2*r-f),t.rightContX=v,t.rightContY=f}return i?(w=["C",o.rightContX||o.plotX,o.rightContY||o.plotY,p||s,e||r,s,r],o.rightContX=o.rightContY=null):w=[b,s,r],w}}),pt.spline=re,at.areaspline=o(at.area),ku=iu.prototype,io=gt(re,{type:"areaspline",closedStacks:!0,getSegmentPath:ku.getSegmentPath,closeSegment:ku.closeSegment,drawGraph:ku.drawGraph}),pt.areaspline=io,at.column=o(or,{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},threshold:0}),du=gt(nt,{type:"column",tooltipOutsidePlot:!0,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color",r:"borderRadius"},init:function(){nt.prototype.init.apply(this,arguments);var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)})},translate:function(){var r=this,it=r.chart,f=r.options,ht=f.stacking,y=f.borderWidth,h=0,c=r.xAxis,p=r.yAxis,rt=c.reversed,w={},l,b;nt.prototype.translate.apply(r),f.grouping===!1?h=1:t(it.series,function(n){var t=n.options;n.type===r.type&&n.visible&&r.options.group===t.group&&(t.stacking?(l=n.stackKey,w[l]===e&&(w[l]=h++),b=w[l]):t.grouping!==!1&&(b=h++),n.columnIndex=b)});var ct=r.points,k=g(c.transA)*(c.ordinalSlope||f.pointRange||c.closestPointRange||1),ut=k*f.groupPadding,lt=k-2*ut,a=lt/h,d=f.pointWidth,ft=i(d)?(a-d)/2:a*f.pointPadding,et=n(d,a-2*ft),ot=yi(u(et,1+2*y)),at=(rt?h-(r.columnIndex||0):r.columnIndex)||0,st=ft+(ut+at*a-k/2)*(rt?-1:1),vt=f.threshold,v=r.translatedThreshold=p.getThreshold(vt),s=n(f.minPointLength,5);t(ct,function(t){var e=tt(u(-999,t.plotY),p.len+999),h=n(t.yBottom,v),a=t.plotX+st,i=yi(tt(e,h)),f=yi(u(e,h)-i),c=p.stacks[(t.y<0?"-":"")+r.stackKey],l;ht&&r.visible&&c&&c[t.x]&&c[t.x].setOffset(st,ot),g(f)<s&&s&&(f=s,i=g(i-v)>s?h-s:v-(e<=v?s:0)),t.barX=a,t.pointWidth=et,t.shapeType="rect",t.shapeArgs=l=it.renderer.Element.prototype.crisp.call(0,y,a,i,ot,f),y%2&&(l.y-=1,l.height+=1),t.trackerArgs=g(f)<3&&o(t.shapeArgs,{height:6,y:i-3})})},getSymbol:su,drawLegendSymbol:iu.prototype.drawLegendSymbol,drawGraph:su,drawPoints:function(){var n=this,i=n.options,u=n.chart.renderer,r;t(n.points,function(t){var s=t.plotY,f=t.graphic;s===e||isNaN(s)||t.y===null?f&&(t.graphic=f.destroy()):(r=t.shapeArgs,f?(pu(f),f.animate(o(r))):t.graphic=f=u[t.shapeType](r).attr(t.pointAttr[t.selected?si:vt]).add(n.group).shadow(i.shadow,null,i.stacking&&!i.borderRadius))})},drawTracker:function(){for(var n=this,f=n.chart,w=f.renderer,r,i,o=+new Date,h=n.options,v=h.cursor,b=v&&{cursor:v},k=n.isCartesian&&n.plotGroup("trackerGroup",null,et,h.zIndex||1,f.trackerGroup),u,c,y,l=n.points,t,a=l.length,p=function(t){u=t.relatedTarget||t.fromElement,f.hoverSeries!==n&&s(u,"isTracker")!==o&&n.onMouseOver(),l[t.target._i].onMouseOver()},d=function(t){h.stickyTracking||(u=t.relatedTarget||t.toElement,s(u,"isTracker")!==o&&n.onMouseOut())};a--;)if(t=l[a],i=t.tracker,r=t.trackerArgs||t.shapeArgs,c=t.plotY,y=!n.isCartesian||c!==e&&!isNaN(c),delete r.strokeWidth,t.y!==null&&y){if(i)i.attr(r);else if(t.tracker=i=w[t.shapeType](r).attr({isTracker:o,fill:uf,visibility:n.visible?et:ft}).on("mouseover",p).on("mouseout",d).css(b).add(t.group||k),wi)i.on("touchstart",p);i.element._i=a}},alignDataLabel:function(t,i,r,u,f){var e=this.chart,s=e.inverted,h=t.below||t.plotY>n(this.translatedThreshold,e.plotSizeY),c=this.options.stacking||r.inside;t.shapeArgs&&(u=o(t.shapeArgs),s&&(u={x:e.plotWidth-u.y-u.height,y:e.plotHeight-u.x-u.width,width:u.height,height:u.width}),c||(s?(u.x+=h?0:u.width,u.width=0):(u.y+=h?u.height:0,u.height=0))),r.align=n(r.align,!s||c?"center":h?"right":"left"),r.verticalAlign=n(r.verticalAlign,s||c?"middle":h?"top":"bottom"),nt.prototype.alignDataLabel.call(this,t,i,r,u,f)},animate:function(n){var r=this,f=r.points,u=r.options;n||(t(f,function(n){var t=n.graphic,e=n.shapeArgs,f=r.yAxis,o=u.threshold;t&&(t.attr({height:0,y:i(o)?f.getThreshold(o):f.translate(f.getExtremes().min,0,1,0,1)}),t.animate({height:e.height,y:e.y},u.animation))}),r.animate=null)},remove:function(){var n=this,i=n.chart;i.hasRendered&&t(i.series,function(t){t.type===n.type&&(t.isDirty=!0)}),nt.prototype.remove.apply(n,arguments)}}),pt.column=du,at.bar=o(at.column),ro=gt(du,{type:"bar",inverted:!0}),pt.bar=ro,at.scatter=o(or,{lineWidth:0,states:{hover:{lineWidth:0}},tooltip:{headerFormat:'<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/>"}}),uo=gt(nt,{type:"scatter",sorted:!1,requireSorting:!1,translate:function(){var n=this;nt.prototype.translate.apply(n),t(n.points,function(t){t.shapeType="circle",t.shapeArgs={x:t.plotX,y:t.plotY,r:n.chart.options.tooltip.snap}})},drawTracker:function(){for(var n=this,u=n.options.cursor,s=u&&{cursor:u},t=n.points,i=t.length,r,f=n.markerGroup,o=function(i){n.onMouseOver(),i.target._i!==e&&t[i.target._i].onMouseOver()},h=function(){n.options.stickyTracking||n.onMouseOut()};i--;)r=t[i].graphic,r&&(r.element._i=i);if(n._hasTracking)n._hasTracking=!0;else if(f.attr({isTracker:!0}).on("mouseover",o).on("mouseout",h).css(s),wi)f.on("touchstart",o)},setTooltipPoints:su}),pt.scatter=uo,at.pie=o(or,{borderColor:"#FFFFFF",borderWidth:1,center:["50%","50%"],colorByPoint:!0,dataLabels:{distance:30,enabled:!0,formatter:function(){return this.point.name}},legendType:"point",marker:null,size:"75%",showInLegend:!1,slicedOffset:10,states:{hover:{brightness:.1,shadow:!1}}}),fo=gt(sr,{init:function(){sr.prototype.init.apply(this,arguments);var t=this,i;return f(t,{visible:t.visible!==!1,name:n(t.name,"Slice")}),i=function(){t.slice()},w(t,"select",i),w(t,"unselect",i),t},setVisible:function(n){var t=this,r=t.series,u=r.chart,f=t.tracker,o=t.dataLabel,s=t.connector,h=t.shadowGroup,i;t.visible=n=n===e?!t.visible:n,i=n?"show":"hide",t.group[i](),f&&f[i](),o&&o[i](),s&&s[i](),h&&h[i](),t.legendItem&&u.legend.colorizeItem(t,n),!r.isDirty&&r.options.ignoreHiddenPoint&&(r.isDirty=!0,u.redraw())},slice:function(t,r,u){var f=this,h=f.series,e=h.chart,s=f.slicedTranslation,o;nr(u,e),r=n(r,!0),t=f.sliced=i(t)?t:!f.sliced,o={translateX:t?s[0]:e.plotLeft,translateY:t?s[1]:e.plotTop},f.group.animate(o),f.shadowGroup&&f.shadowGroup.animate(o)}}),gu={type:"pie",isCartesian:!1,pointClass:fo,requireSorting:!1,pointAttrToOptions:{stroke:"borderColor","stroke-width":"borderWidth",fill:"color"},getColor:function(){this.initialColor=this.chart.counters.color},animate:function(){var n=this,r=n.points,i=n.startAngleRad;t(r,function(t){var r=t.graphic,u=t.shapeArgs;r&&(r.attr({r:n.center[3]/2,start:i,end:i}),r.animate({r:u.r,start:u.start,end:u.end},n.options.animation))}),n.animate=null},setData:function(t,i){nt.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),n(i,!0)&&this.chart.redraw()},getCenter:function(){var n=this.options,t=this.chart,i=t.plotWidth,r=t.plotHeight,e=n.center.concat([n.size,n.innerSize||0]),u=tt(i,r),f;return gr(e,function(n,t){return f=/%$/.test(n),f?[i,r,u,u][t]*c(n)/100:n})},translate:function(){this.generatePoints();var c=0,f=this,v=0,l=1e3,e=f.options,y=e.slicedOffset,g=y+e.borderWidth,n,nt=f.chart,p,w,t,tt=f.startAngleRad=pi/180*((e.startAngle||0)%360-90),b=f.points,a=2*pi,k,o,s,h=e.dataLabels.distance,it=e.ignoreHiddenPoint,u,rt=b.length,i;for(f.center=n=f.getCenter(),f.getX=function(i,r){return t=d.asin((i-n[1])/(n[2]/2+h)),n[0]+(r?-1:1)*ct(t)*(n[2]/2+h)},u=0;u<rt;u++)i=b[u],c+=it&&!i.visible?0:i.y;for(u=0;u<rt;u++)i=b[u],k=c?i.y/c:0,p=r((tt+v*a)*l)/l,(!it||i.visible)&&(v+=k),w=r((tt+v*a)*l)/l,i.shapeType="arc",i.shapeArgs={x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2,start:p,end:w},t=(w+p)/2,t>.75*a&&(t-=2*pi),i.slicedTranslation=gr([ct(t)*y+nt.plotLeft,yt(t)*y+nt.plotTop],r),o=ct(t)*n[2]/2,s=yt(t)*n[2]/2,i.tooltipPos=[n[0]+o*.7,n[1]+s*.7],i.half=t<a/4?0:1,i.angle=t,i.labelPos=[n[0]+o+ct(t)*h,n[1]+s+yt(t)*h,n[0]+o+ct(t)*g,n[1]+s+yt(t)*g,n[0]+o,n[1]+s,h<0?"center":i.half?"right":"left",t],i.percentage=k*100,i.total=c;this.setTooltipPoints()},render:function(){var n=this;n.getAttribs(),this.drawPoints(),n.options.enableMouseTracking!==!1&&n.drawTracker(),this.drawDataLabels(),n.options.animation&&n.animate&&n.animate(),n.isDirty=!1},drawPoints:function(){var r=this,o=r.chart,s=o.renderer,i,u,e,c=r.options.shadow,n,h;t(r.points,function(t){u=t.graphic,h=t.shapeArgs,e=t.group,n=t.shadowGroup,c&&!n&&(n=t.shadowGroup=s.g("shadow").attr({zIndex:4}).add()),e||(e=t.group=s.g("point").attr({zIndex:5}).add()),i=t.sliced?t.slicedTranslation:[o.plotLeft,o.plotTop],e.translate(i[0],i[1]),n&&n.translate(i[0],i[1]),u?u.animate(h):t.graphic=u=s.arc(h).setRadialReference(r.center).attr(f(t.pointAttr[vt],{"stroke-linejoin":"round"})).add(t.group).shadow(c,n),t.visible===!1&&t.setVisible(!1)})},drawDataLabels:function(){var h=this,ti=h.data,o,wt=h.chart,s=h.options.dataLabels,bt=n(s.connectorPadding,10),kt=n(s.connectorWidth,1),w,st,ii=n(s.softConnector,!0),a=s.distance,ht=h.center,ct=ht[2]/2,dt=ht[1],ri=a>0,rt,r,gt,k=[[],[]],d,e,ut,lt,tt=2,i,ni=function(n,t){return t.y-n.y},ui=function(n,t){n.sort(function(n,i){return(i.angle-n.angle)*t})},vt,yt,it,pt,y;if(s.enabled||h._hasPointLabels)for(nt.prototype.drawDataLabels.apply(h),t(ti,function(n){n.dataLabel&&k[n.half].push(n)}),gt=k[0][0]&&k[0][0].dataLabel&&(k[0][0].dataLabel.getBBox().height||21);tt--;){var f=[],v,at=[],c=k[tt],ot,l=c.length,u;if(ui(c,tt-.5),a>0){for(ot=dt-ct-a;ot<=dt+ct+a;ot+=gt)f.push(ot);if(v=f.length,l>v){for(lt=[].concat(c),lt.sort(ni),i=l;i--;)lt[i].rank=i;for(i=l;i--;)c[i].rank>=v&&c.splice(i,1);l=c.length}for(i=0;i<l;i++){for(o=c[i],r=o.labelPos,vt=9999,it=0;it<v;it++)yt=g(f[it]-r[1]),yt<vt&&(vt=yt,u=it);if(u<i&&f[i]!==null)u=i;else if(v<l-i+u&&f[i]!==null)for(u=v-l+i;f[u]===null;)u++;else while(f[u]===null)u++;at.push({i:u,y:f[u]}),f[u]=null}at.sort(ni)}for(i=0;i<l;i++)o=c[i],r=o.labelPos,rt=o.dataLabel,ut=o.visible===!1?ft:et,y=r[1],a>0?(pt=at.pop(),u=pt.i,e=pt.y,(y>e&&f[u+1]!==null||y<e&&f[u-1]!==null)&&(e=y)):e=y,d=s.justify?ht[0]+(tt?-1:1)*(ct+a):h.getX(u===0||u===f.length-1?y:e,tt),rt.attr({visibility:ut,align:r[6]})[rt.moved?"animate":"attr"]({x:d+s.x+({left:bt,right:-bt}[r[6]]||0),y:e+s.y-10}),rt.moved=!0,ri&&kt&&(w=o.connector,st=ii?[b,d+(r[6]==="left"?5:-5),e,"C",d,e,2*r[2]-r[4],2*r[3]-r[5],r[2],r[3],p,r[4],r[5]]:[b,d+(r[6]==="left"?5:-5),e,p,r[2],r[3],p,r[4],r[5]],w?(w.animate({d:st}),w.attr("visibility",ut)):o.connector=w=h.chart.renderer.path(st).attr({"stroke-width":kt,stroke:s.connectorColor||o.color||"#606060",visibility:ut,zIndex:3}).translate(wt.plotLeft,wt.plotTop).add())}},alignDataLabel:su,drawTracker:du.prototype.drawTracker,drawLegendSymbol:iu.prototype.drawLegendSymbol,getSymbol:function(){}},gu=gt(nt,gu),pt.pie=gu,f(Highcharts,{Axis:df,CanVGRenderer:bu,Chart:ie,Color:ui,Legend:te,MouseTracker:ne,Point:sr,Tick:tu,Tooltip:gf,Renderer:cr,Series:nt,SVGRenderer:fi,VMLRenderer:nu,arrayMin:fr,arrayMax:gi,charts:rr,dateFormat:ou,pathAnim:tf,getOptions:vo,hasBidiBug:eo,isTouchDevice:fe,numberFormat:wr,seriesTypes:pt,setOptions:ao,addEvent:w,removeEvent:ut,createElement:ot,discardElement:br,css:y,each:t,extend:f,map:gr,merge:o,pick:n,splat:vi,extendClass:gt,pInt:c,wrap:so,svg:bt,canvas:lt,vml:!bt&&!lt,product:"Highcharts",version:"2.3.5"})})();
//@ sourceMappingURL=Highcharts.min.js.map