(function(n,t){"object"==typeof module&&module.exports?(t["default"]=t,module.exports=n.document?t(n):t):"function"==typeof define&&define.amd?define("highcharts/highcharts",function(){return t(n)}):(n.Highcharts&&n.Highcharts.error(16,!0),n.Highcharts=t(n))})("undefined"!=typeof window?window:this,function(n){function i(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}var t={};return i(t,"parts/Globals.js",[],function(){var r="undefined"==typeof n?"undefined"!=typeof window?window:{}:n,i=r.document,t=r.navigator&&r.navigator.userAgent||"",e=i&&i.createElementNS&&!!i.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,o=/(edge|msie|trident)/i.test(t)&&!r.opera,u=-1!==t.indexOf("Firefox"),f=-1!==t.indexOf("Chrome"),s=u&&4>parseInt(t.split("Firefox/")[1],10);return{product:"Highcharts",version:"7.1.2",deg2rad:Math.PI/180,doc:i,hasBidiBug:s,hasTouch:i&&"undefined"!=typeof i.documentElement.ontouchstart,isMS:o,isWebKit:-1!==t.indexOf("AppleWebKit"),isFirefox:u,isChrome:f,isSafari:!f&&-1!==t.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(t),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:e,win:r,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}}),i(t,"parts/Utilities.js",[t["parts/Globals.js"]],function(n){n.timers=[];var r=n.charts,i=n.doc,t=n.win;n.error=function(i,r,u){var f=n.isNumber(i)?"Highcharts error #"+i+": www.highcharts.com/errors/"+i:i,e=function(){if(r)throw Error(f);t.console&&console.log(f)};u?n.fireEvent(u,"displayError",{code:i,message:f},e):e()};n.Fx=function(n,t,i){this.options=t;this.elem=n;this.prop=i};n.Fx.prototype={dSetter:function(){var f=this.paths[0],t=this.paths[1],i=[],u=this.now,n=f.length,r;if(1===u)i=this.toD;else if(n===t.length&&1>u)for(;n--;)r=parseFloat(f[n]),i[n]=isNaN(r)?t[n]:u*parseFloat(t[n]-r)+r;else i=t;this.elem.attr("d",i,null,!0)},update:function(){var n=this.elem,t=this.prop,i=this.now,r=this.options.step;this[t+"Setter"]?this[t+"Setter"]():n.attr?n.element&&n.attr(t,i,null,!0):n.style[t]=i+this.unit;r&&r.call(n,i,this)},run:function(i,r,u){var o=this,e=o.options,f=function(n){return f.stopped?!1:o.step(n)},s=t.requestAnimationFrame||function(n){setTimeout(n,13)},h=function(){for(var t=0;t=o+this.startTime?(this.now=this.end,this.pos=1,this.update(),r=s[this.prop]=!0,n.objectEach(s,function(n){!0!==n&&(r=!1)}),r&&e&&e.call(u),t=!1):(this.pos=i.easing((f-this.startTime)/o),this.now=this.start+(this.end-this.start)*this.pos,this.update(),t=!0),t},initPath:function(t,i,r){function y(n){var t,i;for(u=n.length;u--;)t="M"===n[u]||"L"===n[u],i=/[a-zA-Z]/.test(n[u+3]),t&&i&&n.splice(u+1,0,n[u+1],n[u+2],n[u+1],n[u+2])}function p(n,t){for(;n.lengthn&&-Infinity=r&&(i=[1/r]))),u=0;u=t||!f&&o<=(i[u]+(i[u+1]||i[u]))/2);u++);return n.correctFloat(e*r,-Math.round(Math.log(.001)/Math.LN10))};n.stableSort=function(n,t){for(var u=n.length,r,i=0;ii&&(i=n[t]);return i};n.destroyObjectProperties=function(t,i){n.objectEach(t,function(n,r){n&&n!==i&&n.destroy&&n.destroy();delete t[r]})};n.discardElement=function(t){var i=n.garbageBin;i||(i=n.createElement("div"));t&&i.appendChild(t);i.innerHTML=""};n.correctFloat=function(n,t){return parseFloat(n.toPrecision(t||14))};n.setAnimation=function(t,i){i.renderer.globalAnimation=n.pick(t,i.options.chart.animation,!0)};n.animObject=function(t){return n.isObject(t)?n.merge(t):{duration:t?500:0}};n.timeUnits={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};n.numberFormat=function(t,i,r,u){t=+t||0;i=+i;var h=n.defaultOptions.lang,o=(t.toString().split(".")[1]||"").split("e")[0].length,e,s,f=t.toString().split("e");return-1===i?i=Math.min(o,20):n.isNumber(i)?i&&f[1]&&0>f[1]&&(e=i+ +f[1],0<=e?(f[0]=(+f[0]).toExponential(e).split("e")[0],i=e):(f[0]=f[0].split(".")[0]||0,t=20>i?(f[0]*Math.pow(10,f[1])).toFixed(i):0,f[1]=0)):i=2,s=(Math.abs(f[1]?f[0]:t)+Math.pow(10,-Math.max(i,o)-1)).toFixed(i),o=String(n.pInt(s)),e=3t?"-":"")+(e?o.substr(0,e)+u:""),t+=o.substr(e).replace(/(\d{3})(?=\d)/g,"$1"+u),i&&(t+=r+s.slice(-i)),f[1]&&0!=+t&&(t+="e"+f[1]),t};Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)};n.getStyle=function(i,r,u){return"width"===r?Math.max(0,Math.min(i.offsetWidth,i.scrollWidth,i.getBoundingClientRect&&"none"===n.getStyle(i,"transform",!1)?Math.floor(i.getBoundingClientRect().width):Infinity)-n.getStyle(i,"padding-left")-n.getStyle(i,"padding-right")):"height"===r?Math.max(0,Math.min(i.offsetHeight,i.scrollHeight)-n.getStyle(i,"padding-top")-n.getStyle(i,"padding-bottom")):(t.getComputedStyle||n.error(27,!0),(i=t.getComputedStyle(i,void 0))&&(i=i.getPropertyValue(r),n.pick(u,"opacity"!==r)&&(i=n.pInt(i))),i)};n.inArray=function(n,t,i){return t.indexOf(n,i)};n.find=Array.prototype.find?function(n,t){return n.find(t)}:function(n,t){for(var r=n.length,i=0;i>16,(t&65280)>>8,t&255,1]:4===r&&(i=[(t&3840)>>4|(t&3840)>>8,(t&240)>>4|t&240,(t&15)<<4|t&15,1])),!i)for(u=this.parsers.length;u--&&!i;)f=this.parsers[u],(r=f.regex.exec(t))&&(i=f.parse(r));this.rgba=i||[]},get:function(n){var f=this.input,t=this.rgba,u;return this.stops?(u=r(f),u.stops=[].concat(u.stops),this.stops.forEach(function(t,i){u.stops[i]=[u.stops[i][0],t.get(n)]})):u=t&&i(t[0])?"rgb"===n||!n&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===n?t[3]:"rgba("+t.join(",")+")":f,u},brighten:function(n){var r,u=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(n)});else if(i(n)&&0!==n)for(r=0;3>r;r++)u[r]+=t(255*n),0>u[r]&&(u[r]=0),255f.width)&&(f={width:0,height:0})}else f=this.htmlGetBBox();if(o.isSVG&&(n=f.width,o=f.height,k&&(f.height=o={"11px,17":14,"13px,20":16}[c&&c.fontSize+","+Math.round(o)]||o),u&&(f.width=Math.abs(o*Math.sin(l))+Math.abs(n*Math.cos(l)),f.height=Math.abs(o*Math.cos(l))+Math.abs(n*Math.sin(l)))),s&&0]*>/g,"").replace(/</g,"<").replace(/>/g,">")))},textSetter:function(n){n!==this.textStr&&(delete this.bBox,delete this.textPxLength,this.textStr=n,this.added&&this.renderer.buildText(this))},setTextPath:function(i,r){var s=this.element,c={textAnchor:"text-anchor"},u,h=!1,e,f=this.textPathWrapper,l=!f;if(r=o(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},r),u=r.attributes,i&&r&&r.enabled){if(this.options&&this.options.padding&&(u.dx=-this.options.padding),f||(this.textPathWrapper=f=this.renderer.createElement("textPath"),h=!0),e=f.element,(r=i.element.getAttribute("id"))||i.element.setAttribute("id",r=n.uniqueKey()),l)for(i=s.getElementsByTagName("tspan");i.length;)i[0].setAttribute("y",0),e.appendChild(i[0]);h&&f.add({element:this.text?this.text.element:s});e.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+r);t(u.dy)&&(e.parentNode.setAttribute("dy",u.dy),delete u.dy);t(u.dx)&&(e.parentNode.setAttribute("dx",u.dx),delete u.dx);n.objectEach(u,function(n,t){e.setAttribute(c[t]||t,n)});s.removeAttribute("transform");this.removeTextOutline.call(f,[].slice.call(s.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=it}else f&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(s,i));return this},destroyTextPath:function(n,t){var i;for(t.element.setAttribute("id",""),i=this.textPathWrapper.element.childNodes;i.length;)n.firstChild.appendChild(i[0]);n.firstChild.removeChild(this.textPathWrapper.element);delete t.textPathWrapper},fillSetter:function(n,t,i){"string"==typeof n?i.setAttribute(t,n):n&&this.complexColor(n,t,i)},visibilitySetter:function(n,t,i){"inherit"===n?i.removeAttribute(t):this[t]!==n&&i.setAttribute(t,n);this[t]=n},zIndexSetter:function(n,i){var s=this.renderer,u=this.parentGroup,h=(u||s).element||s.box,f,e=this.element,o=!1,l,s=h===s.box,r;if(f=this.added,t(n)?(e.setAttribute("data-z-index",n),n=+n,this[i]===n&&(f=!1)):t(this[i])&&e.removeAttribute("data-z-index"),this[i]=n,f){for((n=this.zIndex)&&u&&(u.handleZ=!0),i=h.childNodes,r=i.length-1;0<=r&&!o;r--)(u=i[r],f=u.getAttribute("data-z-index"),l=!t(f),u!==e)&&(0>n&&l&&!s&&!r?(h.insertBefore(e,i[r]),o=!0):(c(f)<=n||l&&(!t(n)||0<=n))&&(h.insertBefore(e,i[r+1]||null),o=!0));o||(h.insertBefore(e,i[s?3:0]||null),o=!0)}return o},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}});i.prototype.yGetter=i.prototype.xGetter;i.prototype.translateXSetter=i.prototype.translateYSetter=i.prototype.rotationSetter=i.prototype.verticalAlignSetter=i.prototype.rotationOriginXSetter=i.prototype.rotationOriginYSetter=i.prototype.scaleXSetter=i.prototype.scaleYSetter=i.prototype.matrixSetter=function(n,t){this[t]=n;this.doTransform=!0};i.prototype["stroke-widthSetter"]=i.prototype.strokeSetter=function(n,t,r){this[t]=n;this.stroke&&this["stroke-width"]?(i.prototype.fillSetter.call(this,this.stroke,"stroke",r),r.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===t&&0===n&&this.hasStroke&&(r.removeAttribute("stroke"),this.hasStroke=!1)};w=n.SVGRenderer=function(){this.init.apply(this,arguments)};e(w.prototype,{Element:i,SVG_NS:p,init:function(n,t,i,r,e,o,s){var a,c;a=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"});s||a.css(this.getStyle(r));r=a.element;n.appendChild(r);u(n,"dir","ltr");-1===n.innerHTML.indexOf("xmlns")&&u(r,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=r;this.boxWrapper=a;this.alignedObjects=[];this.url=(nt||at)&&f.getElementsByTagName("base").length?l.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(f.createTextNode("Created with Highcharts 7.1.2"));this.defs=this.createElement("defs").add();this.allowHTML=o;this.forExport=e;this.styledMode=s;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(t,i,!1);nt&&n.getBoundingClientRect&&(t=function(){h(n,{left:0,top:0});c=n.getBoundingClientRect();h(n,{left:Math.ceil(c.left)-c.left+"px",top:Math.ceil(c.top)-c.top+"px"})},t(),this.unSubPixelFix=y(l,"resize",t))},definition:function(n){function t(n,r){var u;return vt(n).forEach(function(n){var e=i.createElement(n.tagName),o={};s(n,function(n,t){"tagName"!==t&&"children"!==t&&"textContent"!==t&&(o[t]=n)});e.attr(o);e.add(r||i.defs);n.textContent&&e.element.appendChild(f.createTextNode(n.textContent));t(n.children||[],e);u=e}),u}var i=this;return t(n)},getStyle:function(n){return this.style=e({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},n)},setStyle:function(n){this.boxWrapper.css(this.getStyle(n))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var n=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),ht(this.gradients||{}),this.gradients=null,n&&(this.defs=n.destroy()),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null},createElement:function(n){var t=new this.Element;return t.init(this,n),t},draw:it,getRadialAttr:function(n,t){return{cx:n[0]-n[2]/2+t.cx*n[2],cy:n[1]-n[2]/2+t.cy*n[2],r:t.r*n[2]}},truncate:function(n,t,i,r,u,e,o){var p=this,k=n.rotation,a,c=r?1:0,s=(i||r).length,h=s,v=[],y=function(n){t.firstChild&&t.removeChild(t.firstChild);n&&t.appendChild(f.createTextNode(n))},w=function(f,e){if(e=e||f,void 0===v[e])if(t.getSubStringLength)try{v[e]=u+t.getSubStringLength(0,r?e+1:e)}catch(s){""}else p.getSpanWidth&&(y(o(i||r,f)),v[e]=u+p.getSpanWidth(n,t));return v[e]},l,b;if(n.rotation=0,l=w(t.textContent.length),b=u+l>e){for(;c<=s;)h=Math.ceil((c+s)/2),r&&(a=o(r,h)),l=w(h,a&&a.length-1),c===s?c=s+1:l>e?s=h-1:c=h;0===s?y(""):i&&s===i.length-1||y(a||o(i||r,h))}return r&&r.splice(0,h),n.actualWidth=l,n.rotation=k,b},escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},buildText:function(n){var e=n.element,o=this,it=o.forExport,t=r(n.textStr,"").toString(),rt=-1!==t.indexOf("<"),ut=e.childNodes,et,y=u(e,"x"),i=n.styles,l=n.textWidth,w=i&&i.lineHeight,a=i&&i.textOutline,v=i&&"ellipsis"===i.textOverflow,b=i&&"nowrap"===i.whiteSpace,k=i&&i.fontSize,d,g,ot=ut.length,i=l&&!n.added&&this.box,st=function(n){var t;return o.styledMode||(t=/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:k||o.style.fontSize||12),w?c(w):o.fontMetrics(t,n.getAttribute("style")?n:e).h},nt=function(n,t){return s(o.escapes,function(i,r){t&&-1!==t.indexOf(i)||(n=n.toString().replace(new RegExp(i,"g"),r))}),n},tt=function(n,t){var i;return i=n.indexOf("<"),n=n.substring(i,n.indexOf(">")-i),i=n.indexOf(t+"="),-1!==i&&(i=i+t.length+1,t=n.charAt(i),'"'===t||"'"===t)?(n=n.substring(i+1),n.substring(0,n.indexOf(t))):void 0};if(d=[t,v,b,w,a,k,l].join(),d!==n.textCache){for(n.textCache=d;ot--;)e.removeChild(ut[ot]);rt||a||v||l||-1!==t.indexOf(" ")?(i&&i.appendChild(e),rt?(t=o.styledMode?t.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,''):t.replace(/<(b|strong)>/g,'').replace(/<(i|em)>/g,''),t=t.replace(//g,"<\/span>").split(//g)):t=[t],t=t.filter(function(n){return""!==n}),t.forEach(function(t,i){var r,s=0,c=0;t=t.replace(/^\s+|\s+$/g,"").replace(//g,"<\/span>|||");r=t.split("|||");r.forEach(function(t){var a,w,ut,d,rt,ot;if((""!==t||1===r.length)&&(rt={},a=f.createElementNS(o.SVG_NS,"tspan"),(w=tt(t,"class"))&&u(a,"class",w),(w=tt(t,"style"))&&(w=w.replace(/(;| |^)color([ :])/,"$1fill$2"),u(a,"style",w)),(ut=tt(t,"href"))&&!it&&(u(a,"onclick",'location.href="'+ut+'"'),u(a,"class","highcharts-anchor"),o.styledMode||h(a,{cursor:"pointer"})),t=nt(t.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ")," "!==t)){if(a.appendChild(f.createTextNode(t)),s?rt.dx=0:i&&null!==y&&(rt.x=y),u(a,rt),e.appendChild(a),!s&&g&&(!ft&&it&&h(a,{display:"block"}),u(a,"dy",st(a))),l)if(d=t.replace(/([^\^])-/g,"$1- ").split(" "),rt=!b&&(1Math.abs(e.end-e.start-2*Math.PI));var l=Math.cos(o),a=Math.sin(o),v=Math.cos(s),s=Math.sin(s),o=.001>e.end-o-Math.PI?0:1;return e=["M",n+h*l,i+c*a,"A",h,c,0,o,r(e.clockwise,1),n+h*v,i+c*s],t(u)&&e.push(f?"M":"L",n+u*v,i+u*s,"A",u,u,0,o,0,n+u*l,i+u*a),e.push(f?"":"Z"),e},callout:function(n,t,i,r,u){var f=Math.min(u&&u.r||0,i,r),o=f+6,e=u&&u.anchorX,s;return u=u&&u.anchorY,s=["M",n+f,t,"L",n+i-f,t,"C",n+i,t,n+i,t,n+i,t+f,"L",n+i,t+r-f,"C",n+i,t+r,n+i,t+r,n+i-f,t+r,"L",n+f,t+r,"C",n,t+r,n,t+r,n,t+r-f,"L",n,t+f,"C",n,t,n,t,n+f,t],e&&e>i?u>t+o&&ue?u>t+o&&ur&&e>n+o&&eu&&e>n+o&&en?n+3:Math.round(1.2*n),{h:t,b:Math.round(.8*t),f:n}},rotCorr:function(n,t,i){var r=n;return t&&i&&(r=Math.max(r*Math.cos(t*b),4)),{x:-n/3*Math.sin(t*b),y:r}},label:function(r,u,f,s,h,c,l,a,v){var d=this,ft=d.styledMode,y=d.g("button"!==v&&"label"),p=y.text=d.text("",0,0,l).attr({zIndex:1}),w,b,et=0,k=3,ot=0,tt,ht,st,ct,ut,lt={},at,vt,pt=/^url\((.*?)\)$/.test(s),yt=ft||pt,wt=function(){return ft?w.strokeWidth()%2/2:(at?parseInt(at,10):0)%2/2},g,it,nt,bt;return v&&y.addClass("highcharts-"+v),g=function(){var n=p.element.style,i={};b=(void 0===tt||void 0===ht||ut)&&t(p.textStr)&&p.getBBox();y.width=(tt||b.width||0)+2*k+ot;y.height=(ht||b.height||0)+2*k;vt=k+Math.min(d.fontMetrics(n&&n.fontSize,p).b,b?b.height:Infinity);yt&&(w||(y.box=w=d.symbols[s]||pt?d.symbol(s):d.rect(),w.addClass(("button"===v?"":"highcharts-label-box")+(v?" highcharts-"+v+"-box":"")),w.add(y),n=wt(),i.x=n,i.y=(a?-vt:0)+n),i.width=Math.round(y.width),i.height=Math.round(y.height),w.attr(e(i,lt)),lt={})},it=function(){var i=ot+k,n;n=a?0:vt;t(tt)&&b&&("center"===ut||"right"===ut)&&(i+={center:.5,right:1}[ut]*(tt-b.width));(i!==p.x||n!==p.y)&&(p.attr("x",i),p.hasBoxWidthChanged&&(b=p.getBBox(!0),g()),void 0!==n&&p.attr("y",n));p.x=i;p.y=n},nt=function(n,t){w?w.attr(n,t):lt[n]=t},y.onAdd=function(){p.add(y);y.attr({text:r||0===r?r:"",x:u,y:f});w&&t(h)&&y.attr({anchorX:h,anchorY:c})},y.widthSetter=function(t){tt=n.isNumber(t)?t:null},y.heightSetter=function(n){ht=n},y["text-alignSetter"]=function(n){ut=n},y.paddingSetter=function(n){t(n)&&n!==k&&(k=y.padding=n,it())},y.paddingLeftSetter=function(n){t(n)&&n!==ot&&(ot=n,it())},y.alignSetter=function(n){n={left:0,center:.5,right:1}[n];n!==et&&(et=n,b&&y.attr({x:st}))},y.textSetter=function(n){void 0!==n&&p.attr({text:n});g();it()},y["stroke-widthSetter"]=function(n,t){n&&(yt=!0);at=this["stroke-width"]=n;nt(t,n)},ft?y.rSetter=function(n,t){nt(t,n)}:y.strokeSetter=y.fillSetter=y.rSetter=function(n,t){"r"!==t&&("fill"===t&&n&&(yt=!0),y[t]=n);nt(t,n)},y.anchorXSetter=function(n,t){h=y.anchorX=n;nt(t,Math.round(n)-wt()-st)},y.anchorYSetter=function(n,t){c=y.anchorY=n;nt(t,n-ct)},y.xSetter=function(n){y.x=n;et&&(n-=et*((tt||b.width)+2*k),y["forceAnimate:x"]=!0);st=Math.round(n);y.attr("translateX",st)},y.ySetter=function(n){ct=y.y=Math.round(n);y.attr("translateY",ct)},bt=y.css,l={css:function(n){if(n){var t={};n=o(n);y.textProps.forEach(function(i){void 0!==n[i]&&(t[i]=n[i],delete n[i])});p.css(t);"width"in t&&g();"fontSize"in t&&(g(),it())}return bt.call(y,n)},getBBox:function(){return{width:b.width+2*k,height:b.height+2*k,x:b.x-k,y:b.y-k}},destroy:function(){rt(y.element,"mouseenter");rt(y.element,"mouseleave");p&&(p=p.destroy());w&&(w=w.destroy());i.prototype.destroy.call(y);y=d=g=it=nt=null}},ft||(l.shadow=function(n){return n&&(g(),w&&w.shadow(n)),y}),e(y,l)}});n.Renderer=w}),i(t,"parts/Html.js",[t["parts/Globals.js"]],function(n){var s=n.attr,h=n.createElement,t=n.css,r=n.defined,i=n.extend,u=n.isFirefox,c=n.isMS,l=n.isWebKit,f=n.pick,a=n.pInt,e=n.SVGElement,v=n.SVGRenderer,o=n.win;i(e.prototype,{htmlCss:function(n){var r="SPAN"===this.element.tagName&&n&&"width"in n,e=f(r&&n.width,void 0),u;return r&&(delete n.width,this.textWidth=e,u=!0),n&&"ellipsis"===n.textOverflow&&(n.whiteSpace="nowrap",n.overflow="hidden"),this.styles=i(this.styles,n),t(this.element,n),u&&this.htmlUpdateTransform(),this},htmlGetBBox:function(){var n=this.element;return{x:n.offsetLeft,y:n.offsetTop,width:n.offsetWidth,height:n.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var s=this.renderer,n=this.element,h=this.translateX||0,c=this.translateY||0,y=this.x||0,p=this.y||0,f=this.textAlign||"left",l={left:0,center:.5,right:1}[f],i=this.styles,e=i&&i.whiteSpace;if(t(n,{marginLeft:h,marginTop:c}),!s.styledMode&&this.shadows&&this.shadows.forEach(function(n){t(n,{marginLeft:h+1,marginTop:c+1})}),this.inverted&&[].forEach.call(n.childNodes,function(t){s.invertChild(t,n)}),"SPAN"===n.tagName){var i=this.rotation,o=this.textWidth&&a(this.textWidth),v=[i,f,n.innerHTML,this.textWidth,this.textAlign].join(),u;!(u=o!==this.oldTextWidth)||(u=o>this.oldTextWidth)||((u=this.textPxLength)||(t(n,{width:"",whiteSpace:e||"nowrap"}),u=n.offsetWidth),u=u>o);u&&(/[ \-]/.test(n.textContent||n.innerText)||"ellipsis"===n.style.textOverflow)?(t(n,{width:o+"px",display:"block",whiteSpace:e||"normal"}),this.oldTextWidth=o,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;v!==this.cTT&&(e=s.fontMetrics(n.style.fontSize,n).b,!r(i)||i===(this.oldRotation||0)&&f===this.oldAlign||this.setSpanRotation(i,l,e),this.getSpanCorrection(!r(i)&&this.textPxLength||n.offsetWidth,e,l,i,f));t(n,{left:y+(this.xCorr||0)+"px",top:p+(this.yCorr||0)+"px"});this.cTT=v;this.oldRotation=i;this.oldAlign=f}}else this.alignOnAdd=!0},setSpanRotation:function(n,i,r){var f={},e=this.renderer.getTransformKey();f[e]=f.transform="rotate("+n+"deg)";f[e+(u?"Origin":"-origin")]=f.transformOrigin=100*i+"% "+r+"px";t(this.element,f)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}});i(v.prototype,{getTransformKey:function(){return c&&!/Edge/.test(o.navigator.userAgent)?"-ms-transform":l?"-webkit-transform":u?"MozTransform":o.opera?"-o-transform":""},html:function(t,r,u){var o=this.createElement("span"),c=o.element,l=o.renderer,v=l.isSVG,y=function(n,t){["opacity","visibility"].forEach(function(i){n[i+"Setter"]=function(r,u,f){var o=n.div?n.div.style:t;e.prototype[i+"Setter"].call(this,r,u,f);o&&(o[u]=r)}});n.addedSetters=!0},a=n.charts[l.chartIndex],a=a&&a.styledMode;return o.textSetter=function(n){n!==c.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=n;c.innerHTML=f(n,"");o.doTransform=!0},v&&y(o,o.element.style),o.xSetter=o.ySetter=o.alignSetter=o.rotationSetter=function(n,t){"align"===t&&(t="textAlign");o[t]=n;o.doTransform=!0},o.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},o.attr({text:t,x:Math.round(r),y:Math.round(u)}).css({position:"absolute"}),a||o.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}),c.style.whiteSpace="nowrap",o.css=o.htmlCss,v&&(o.add=function(n){var t,u=l.box.parentNode,r=[];if(this.parentGroup=n){if(t=n.div,!t){for(;n;)r.push(n),n=n.parentGroup;r.reverse().forEach(function(n){function c(t,i){n[i]=t;"translateX"===i?e.left=t+"px":e.top=t+"px";n.doTransform=!0}var e,f=s(n.element,"class");f&&(f={className:f});t=n.div=n.div||h("div",f,{position:"absolute",left:(n.translateX||0)+"px",top:(n.translateY||0)+"px",display:n.display,opacity:n.opacity,pointerEvents:n.styles&&n.styles.pointerEvents},t||u);e=t.style;i(n,{classSetter:function(n){return function(t){this.element.setAttribute("class",t);n.className=t}}(t),on:function(){return r[0].div&&o.on.apply({element:r[0].div},arguments),n},translateXSetter:c,translateYSetter:c});n.addedSetters||y(n)})}}else t=u;return t.appendChild(c),o.added=!0,o.alignOnAdd&&o.htmlUpdateTransform(),o}),o}})}),i(t,"parts/Time.js",[t["parts/Globals.js"]],function(n){var u=n.defined,f=n.extend,e=n.merge,i=n.pick,t=n.timeUnits,r=n.win;n.Time=function(n){this.update(n,!1)};n.Time.prototype={defaultOptions:{},update:function(n){var t=i(n&&n.useUTC,!0),u=this;this.options=n=e(!0,this.options||{},n);this.Date=n.Date||r.Date||Date;this.timezoneOffset=(this.useUTC=t)&&n.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(t&&!n.getTimezoneOffset&&!n.timezone))||this.timezoneOffset?(this.get=function(n,t){var i=t.getTime(),r=i-u.getTimezoneOffset(t);return t.setTime(r),n=t["getUTC"+n](),t.setTime(i),n},this.set=function(n,t,i){var r;"Milliseconds"===n||"Seconds"===n||"Minutes"===n&&0==t.getTimezoneOffset()%60?t["set"+n](i):(r=u.getTimezoneOffset(t),r=t.getTime()-r,t.setTime(r),t["setUTC"+n](i),n=u.getTimezoneOffset(t),r=t.getTime()+n,t.setTime(r))}):t?(this.get=function(n,t){return t["getUTC"+n]()},this.set=function(n,t,i){return t["setUTC"+n](i)}):(this.get=function(n,t){return t["get"+n]()},this.set=function(n,t,i){return t["set"+n](i)})},makeTime:function(t,r,u,f,e,o){var s,h,c;return this.useUTC?(s=this.Date.UTC.apply(0,arguments),h=this.getTimezoneOffset(s),s+=h,c=this.getTimezoneOffset(s),h!==c?s+=c-h:h-36e5!==this.getTimezoneOffset(s-36e5)||n.isSafari||(s-=36e5)):s=new this.Date(t,r,i(u,1),i(f,0),i(e,0),i(o,0)).getTime(),s},timezoneOffsetFunction:function(){var u=this,t=this.options,i=r.moment;if(!this.useUTC)return function(n){return 6e4*new Date(n).getTimezoneOffset()};if(t.timezone){if(i)return function(n){return 6e4*-i.tz(n,t.timezone).utcOffset()};n.error(25)}return this.useUTC&&t.getTimezoneOffset?function(n){return 6e4*t.getTimezoneOffset(n)}:function(){return 6e4*(u.timezoneOffset||0)}},dateFormat:function(t,i,r){if(!n.defined(i)||isNaN(i))return n.defaultOptions.lang.invalidDate||"";t=n.pick(t,"%Y-%m-%d %H:%M:%S");var c=this,u=new this.Date(i),e=this.get("Hours",u),o=this.get("Day",u),l=this.get("Date",u),s=this.get("Month",u),a=this.get("FullYear",u),h=n.defaultOptions.lang,v=h.weekdays,y=h.shortWeekdays,f=n.pad,u=n.extend({a:y?y[o]:v[o].substr(0,3),A:v[o],d:f(l),e:f(l,2," "),w:o,b:h.shortMonths[s],B:h.months[s],m:f(s+1),o:s+1,y:a.toString().substr(2,2),Y:a,H:f(e),k:e,I:f(e%12||12),l:e%12||12,M:f(c.get("Minutes",u)),p:12>e?"AM":"PM",P:12>e?"am":"pm",S:f(u.getSeconds()),L:f(Math.floor(i%1e3),3)},n.dateFormats);return n.objectEach(u,function(n,r){for(;-1!==t.indexOf("%"+r);)t=t.replace("%"+r,"function"==typeof n?n.call(c,i):n)}),r?t.substr(0,1).toUpperCase()+t.substr(1):t},resolveDTLFormat:function(t){return n.isObject(t,!0)?t:(t=n.splat(t),{main:t[0],from:t[1],to:t[2]})},getTimeTicks:function(n,r,e,o){var s=this,v=[],h,w={},a,c,l,y,p,b;if(h=new s.Date(r),c=n.unitRange,l=n.count||1,o=i(o,1),u(r)){for(s.set("Milliseconds",h,c>=t.second?0:l*Math.floor(s.get("Milliseconds",h)/l)),c>=t.second&&s.set("Seconds",h,c>=t.minute?0:l*Math.floor(s.get("Seconds",h)/l)),c>=t.minute&&s.set("Minutes",h,c>=t.hour?0:l*Math.floor(s.get("Minutes",h)/l)),c>=t.hour&&s.set("Hours",h,c>=t.day?0:l*Math.floor(s.get("Hours",h)/l)),c>=t.day&&s.set("Date",h,c>=t.month?1:Math.max(1,l*Math.floor(s.get("Date",h)/l))),c>=t.month&&(s.set("Month",h,c>=t.year?0:l*Math.floor(s.get("Month",h)/l)),a=s.get("FullYear",h)),c>=t.year&&s.set("FullYear",h,a-a%l),c===t.week&&(a=s.get("Day",h),s.set("Date",h,s.get("Date",h)-a+o+(a4*t.month||s.getTimezoneOffset(r)!==s.getTimezoneOffset(e)),r=h.getTime(),h=1;rv.length&&v.forEach(function(n){0==n%18e5&&"000000000"===s.dateFormat("%H%M%S%L",n)&&(w[n]="day")})}return v.info=f(n,{higherRanks:w,totalRange:c*l}),v}}}),i(t,"parts/Options.js",[t["parts/Globals.js"]],function(n){var i=n.color,t=n.merge;n.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:n.Time.prototype.defaultOptions,chart:{styledMode:!1,borderRadius:0,colorCount:10,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:n.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:n.isTouchDevice?25:10,headerFormat:'{point.key}<\/span>
',pointFormat:'●<\/span> {series.name}: {point.y}<\/b>
',backgroundColor:i("#f7f7f7").setOpacity(.85).get(),borderWidth:1,shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};n.setOptions=function(i){return n.defaultOptions=t(!0,n.defaultOptions,i),n.time.update(t(n.defaultOptions.global,n.defaultOptions.time),!1),n.defaultOptions};n.getOptions=function(){return n.defaultOptions};n.defaultPlotOptions=n.defaultOptions.plotOptions;n.time=new n.Time(t(n.defaultOptions.global,n.defaultOptions.time));n.dateFormat=function(t,i,r){return n.time.dateFormat(t,i,r)};""}),i(t,"parts/Tick.js",[t["parts/Globals.js"]],function(n){var e=n.correctFloat,i=n.defined,o=n.destroyObjectProperties,u=n.fireEvent,f=n.isNumber,s=n.merge,t=n.pick,r=n.deg2rad;n.Tick=function(n,t,i,r,u){this.axis=n;this.pos=t;this.type=i||"";this.isNewLabel=this.isNew=!0;this.parameters=u||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;i||r||this.addLabel()};n.Tick.prototype={addLabel:function(){var u=this,f=u.axis,o=f.options,a=f.chart,v=f.categories,g=f.names,h=u.pos,l=t(u.options&&u.options.labels,o.labels),c=f.tickPositions,b=h===c[0],k=h===c[c.length-1],v=this.parameters.category||(v?t(v[h],g[h],h):h),r=u.label,c=c.info,d,y,p,w;f.isDatetimeAxis&&c&&(y=a.time.resolveDTLFormat(o.dateTimeLabelFormats[!o.grid&&c.higherRanks[h]||c.unitName]),d=y.main);u.isFirst=b;u.isLast=k;u.formatCtx={axis:f,chart:a,isFirst:b,isLast:k,dateTimeLabelFormat:d,tickPositionInfo:c,value:f.isLog?e(f.lin2log(v)):v,pos:h};o=f.labelFormatter.call(u.formatCtx,this.formatCtx);(w=y&&y.list)&&(u.shortenLabel=function(){for(p=0;ph&&e-f*os&&(l=Math.round((a-e)/Math.cos(h*r))):(a=e+(1-f)*o,e-f*os&&(u=s-n.x+u*f,b=-1),u=Math.min(c,u),uu||i.autoRotation&&(y.styles||{}).width)&&(l=u);l&&(this.shortenLabel?this.shortenLabel():(p.width=Math.floor(l),(w.style||{}).textOverflow||(p.textOverflow="ellipsis"),y.css(p)))},getPosition:function(t,i,r,f){var e=this.axis,o=e.chart,s=f&&o.oldChartHeight||o.chartHeight;return t={x:t?n.correctFloat(e.translate(i+r,null,null,f)+e.transB):e.left+e.offset+(e.opposite?(f&&o.oldChartWidth||o.chartWidth)-e.right-e.left:0),y:t?s-e.bottom+e.offset-(e.opposite?e.height:0):n.correctFloat(s-e.translate(i+r,null,null,f)-e.transB)},t.y=Math.max(Math.min(t.y,1e5),-1e5),u(this,"afterGetPosition",{pos:t}),t},getLabelPosition:function(n,t,f,e,o,s,h,c){var l=this.axis,w=l.transA,b=l.reversed,a=l.staggerLines,y=l.tickRotCorr||{x:0,y:0},p=o.y,k=e||l.reserveSpaceDefault?0:-l.labelOffset*("center"===l.labelAlign?.5:1),v={};return i(p)||(p=0===l.side?f.rotation?-8:-f.getBBox().height:2===l.side?y.y+8:Math.cos(f.rotation*r)*(y.y-f.getBBox(!1,0).height/2)),n=n+o.x+k+y.x-(s&&e?s*w*(b?-1:1):0),t=t+p-(s&&!e?s*w*(b?1:-1):0),a&&(f=h/(c||1)%a,l.opposite&&(f=a-f-1),t+=l.labelOffset/a*f),v.x=n,v.y=Math.round(t),u(this,"afterGetLabelPosition",{pos:v,tickmarkOffset:s,index:h}),v},getMarkPath:function(n,t,i,r,u,f){return f.crispLine(["M",n,t,"L",n+(u?0:-i),t+(u?i:0)],r)},renderGridLine:function(n,i,r){var u=this.axis,f=u.options,e=this.gridLine,o={},c=this.pos,s=this.type,l=t(this.tickmarkOffset,u.tickmarkOffset),a=u.chart.renderer,h=s?s+"Grid":"grid",v=f[h+"LineWidth"],y=f[h+"LineColor"],f=f[h+"LineDashStyle"];e||(u.chart.styledMode||(o.stroke=y,o["stroke-width"]=v,f&&(o.dashstyle=f)),s||(o.zIndex=1),n&&(i=0),this.gridLine=e=a.path().attr(o).addClass("highcharts-"+(s?s+"-":"")+"grid-line").add(u.gridGroup));e&&(r=u.getPlotLinePath({value:c+l,lineWidth:e.strokeWidth()*r,force:"pass",old:n}))&&e[n||this.isNew?"attr":"animate"]({d:r,opacity:i})},renderMark:function(n,i,r){var u=this.axis,o=u.options,c=u.chart.renderer,f=this.type,h=f?f+"Tick":"tick",s=u.tickSize(h),e=this.mark,l=!e,v=n.x,a;n=n.y;a=t(o[h+"Width"],!f&&u.isXAxis?1:0);o=o[h+"Color"];s&&(u.opposite&&(s[0]=-s[0]),l&&(this.mark=e=c.path().addClass("highcharts-"+(f?f+"-":"")+"tick").add(u.axisGroup),u.chart.styledMode||e.attr({stroke:o,"stroke-width":a})),e[l?"attr":"animate"]({d:this.getMarkPath(v,n,s[0],e.strokeWidth()*r,u.horiz,c),opacity:i}))},renderLabel:function(n,i,r,u){var o=this.axis,a=o.horiz,h=o.options,e=this.label,s=h.labels,c=s.step,o=t(this.tickmarkOffset,o.tickmarkOffset),l=!0,v=n.x;n=n.y;e&&f(v)&&(e.xy=n=this.getLabelPosition(v,n,e,a,s,o,u,c),this.isFirst&&!this.isLast&&!t(h.showFirstLabel,1)||this.isLast&&!this.isFirst&&!t(h.showLastLabel,1)?l=!1:!a||s.step||s.rotation||i||0===r||this.handleOverflow(n),c&&u%c&&(l=!1),l&&f(n.y)?(n.opacity=r,e[this.isNewLabel?"attr":"animate"](n),this.isNewLabel=!1):(e.attr("y",-9999),this.isNewLabel=!0))},render:function(i,r,u){var f=this.axis,o=f.horiz,e=this.pos,s=t(this.tickmarkOffset,f.tickmarkOffset),e=this.getPosition(o,e,s,r),s=e.x,h=e.y,f=o&&s===f.pos+f.len||!o&&h===f.pos?-1:1;u=t(u,1);this.isActive=!0;this.renderGridLine(r,u,f);this.renderMark(e,u,f);this.renderLabel(e,r,u,i);this.isNew=!1;n.fireEvent(this,"afterRender")},destroy:function(){o(this,this.axis)}}}),i(t,"parts/Axis.js",[t["parts/Globals.js"]],function(n){var p=n.addEvent,w=n.animObject,h=n.arrayMax,b=n.arrayMin,k=n.color,f=n.correctFloat,c=n.defaultOptions,i=n.defined,d=n.deg2rad,l=n.destroyObjectProperties,g=n.extend,r=n.fireEvent,nt=n.format,tt=n.getMagnitude,it=n.isArray,u=n.isNumber,a=n.isString,s=n.merge,rt=n.normalizeTickInterval,e=n.objectEach,t=n.pick,ut=n.removeEvent,v=n.seriesTypes,ft=n.splat,et=n.syncTimeout,o=n.Tick,y=function(){this.init.apply(this,arguments)};return n.extend(y.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,showEmpty:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return n.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},margin:15,title:{rotation:0}},init:function(u,f){var h=f.isX,o=this,s,c;o.chart=u;o.horiz=u.inverted&&!o.isZAxis?!h:h;o.isXAxis=h;o.coll=o.coll||(h?"xAxis":"yAxis");r(this,"init",{userOptions:f});o.opposite=f.opposite;o.side=f.side||(o.horiz?o.opposite?0:2:o.opposite?1:3);o.setOptions(f);s=this.options;c=s.type;o.labelFormatter=s.labels.formatter||o.defaultLabelFormatter;o.userOptions=f;o.minPixelPadding=0;o.reversed=s.reversed;o.visible=!1!==s.visible;o.zoomEnabled=!1!==s.zoomEnabled;o.hasNames="category"===c||!0===s.categories;o.categories=s.categories||o.hasNames;o.names||(o.names=[],o.names.keys={});o.plotLinesAndBandsGroups={};o.isLog="logarithmic"===c;o.isDatetimeAxis="datetime"===c;o.positiveValuesOnly=o.isLog&&!o.allowNegativeLog;o.isLinked=i(s.linkedTo);o.ticks={};o.labelEdge=[];o.minorTicks={};o.plotLinesAndBands=[];o.alternateBands={};o.len=0;o.minRange=o.userMinRange=s.minRange||s.maxZoom;o.range=s.range;o.offset=s.offset||0;o.stacks={};o.oldStacks={};o.stacksTouched=0;o.max=null;o.min=null;o.crosshair=t(s.crosshair,ft(u.options.tooltip.crosshairs)[h?0:1],!1);f=o.options.events;-1===u.axes.indexOf(o)&&(h?u.axes.splice(u.xAxis.length,0,o):u.axes.push(o),u[o.coll].push(o));o.series=o.series||[];u.inverted&&!o.isZAxis&&h&&void 0===o.reversed&&(o.reversed=!0);e(f,function(t,i){n.isFunction(t)&&p(o,i,t)});o.lin2log=s.linearToLogConverter||o.lin2log;o.isLog&&(o.val2lin=o.log2lin,o.lin2val=o.lin2log);r(this,"afterInit")},setOptions:function(n){this.options=s(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],s(c[this.coll],n));r(this,"afterSetOptions",{userOptions:n})},defaultLabelFormatter:function(){var r=this.axis,t=this.value,u=r.chart.time,l=r.categories,s=this.dateTimeLabelFormat,o=c.lang,e=o.numericSymbols,o=o.numericSymbolMagnitude||1e3,f=e&&e.length,i,h=r.options.labels.format,r=r.isLog?Math.abs(t):r.tickInterval;if(h)i=nt(h,this,u);else if(l)i=t;else if(s)i=u.dateFormat(s,t);else if(f&&1e3<=r)for(;f--&&void 0===i;)u=Math.pow(o,f+1),r>=u&&0==10*t%u&&null!==e[f]&&0!==t&&(i=n.numberFormat(t/u,-1)+e[f]);return void 0===i&&(i=1e4<=Math.abs(t)?n.numberFormat(t,-1):n.numberFormat(t,-1,void 0,"")),i},getSeriesExtremes:function(){var n=this,e=n.chart,f;r(this,"getSeriesExtremes",null,function(){n.hasVisibleSeries=!1;n.dataMin=n.dataMax=n.threshold=null;n.softThreshold=!n.isXAxis;n.buildStacks&&n.buildStacks();n.series.forEach(function(r){if(r.visible||!e.options.chart.ignoreHiddenSeries){var s=r.options,c=s.threshold,o,h;n.hasVisibleSeries=!0;n.positiveValuesOnly&&0>=c&&(c=null);n.isXAxis?(s=r.xData,s.length&&(f=r.getXExtremes(s),o=f.min,h=f.max,u(o)||o instanceof Date||(s=s.filter(u),f=r.getXExtremes(s),o=f.min,h=f.max),s.length&&(n.dataMin=Math.min(t(n.dataMin,o),o),n.dataMax=Math.max(t(n.dataMax,h),h)))):(r.getExtremes(),h=r.dataMax,o=r.dataMin,i(o)&&i(h)&&(n.dataMin=Math.min(t(n.dataMin,o),o),n.dataMax=Math.max(t(n.dataMax,h),h)),i(c)&&(n.threshold=c),!s.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1)}})});r(this,"afterGetSeriesExtremes")},translate:function(n,t,i,r,f,e){var o=this.linkedParent||this,s=1,c=0,h=r?o.oldTransA:o.transA,l;return r=r?o.oldMin:o.min,l=o.minPixelPadding,f=(o.isOrdinal||o.isBroken||o.isLog&&f)&&o.lin2val,h||(h=o.transA),i&&(s*=-1,c=o.len),o.reversed&&(s*=-1,c-=s*(o.sector||o.len)),t?(n=(n*s+c-l)/h+r,f&&(n=o.lin2val(n))):(f&&(n=o.val2lin(n)),n=u(r)?s*(n-r)*h+c+s*l+(u(e)?h*e:0):void 0),n},toPixels:function(n,t){return this.translate(n,!1,!this.horiz,null,!0)+(t?0:this.pos)},toValue:function(n,t){return this.translate(n-(t?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(n){var i=this,e=i.chart,v=i.left,y=i.top,c=n.old,w=n.value,f=n.translatedValue,b=n.lineWidth,o=n.force,s,h,l,a,k=c&&e.oldChartHeight||e.chartHeight,nt=c&&e.oldChartWidth||e.chartWidth,p,d=i.transB,g=function(n,t,i){return("pass"!==o&&ni)&&(o?n=Math.min(Math.max(t,n),i):p=!0),n};return n={value:w,lineWidth:b,old:c,force:o,acrossPanes:n.acrossPanes,translatedValue:f},r(this,"getPlotLinePath",n,function(n){f=t(f,i.translate(w,null,null,c));f=Math.min(Math.max(-1e5,f),1e5);s=l=Math.round(f+d);h=a=Math.round(k-f-d);u(f)?i.horiz?(h=y,a=k-i.bottom,s=l=g(s,v,v+i.width)):(s=v,l=nt-i.right,h=a=g(h,y,y+i.height)):(p=!0,o=!1);n.path=p&&!o?null:e.renderer.crispLine(["M",s,h,"L",l,a],b||1)}),n.path},getLinearTickPositions:function(n,t,i){var e,r=f(Math.floor(t/n)*n),u,o;if(i=f(Math.ceil(i/n)*n),u=[],f(r+n)===r&&(o=20),this.single)return[t];for(t=r;t<=i;){if(u.push(t),t=f(t+n,o),t===e)break;e=t}return u},getMinorTickInterval:function(){var n=this.options;return!0===n.minorTicks?t(n.minorTickInterval,"auto"):!1===n.minorTicks?null:n.minorTickInterval},getMinorTickPositions:function(){var n=this,i=n.options,o=n.tickPositions,r=n.minorTickInterval,t=[],u=n.pointRangePadding||0,f=n.min-u,u=n.max+u,e=u-f;if(e&&e/r=this.minRange,f=this.minRange,u=(f-r+n)/2,u=[n-u,t(e.min,n-u)],l&&(u[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),n=h(u),r=[n+f,t(e.max,n+f)],l&&(r[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),r=b(r),r-n=h?(c=h,b=0):o.dataMax<=h&&(ut=h,w=0)),o.min=t(v,c,o.dataMin),o.max=t(y,ut,o.dataMax));g&&(o.positiveValuesOnly&&!e&&0>=Math.min(o.min,t(o.dataMin,o.min))&&n.error(10,1,l),o.min=f(o.log2lin(o.min),15),o.max=f(o.log2lin(o.max),15));o.range&&i(o.max)&&(o.userMin=o.min=v=Math.max(o.dataMin,o.minFromRange()),o.userMax=y=o.max,o.range=null);r(o,"foundExtremes");o.beforePadding&&o.beforePadding();o.adjustForMinRange();!(d||o.axisPointRange||o.usePercentage||p)&&i(o.min)&&i(o.max)&&(l=o.max-o.min)&&(!i(v)&&b&&(o.min-=l*b),!i(y)&&w&&(o.max+=l*w));u(s.softMin)&&!u(o.userMin)&&s.softMino.max&&(o.max=y=s.softMax);u(s.floor)&&(o.min=Math.min(Math.max(o.min,s.floor),Number.MAX_VALUE));u(s.ceiling)&&(o.max=Math.max(Math.min(o.max,s.ceiling),t(o.userMax,-Number.MAX_VALUE)));it&&i(o.dataMin)&&(h=h||0,!i(v)&&o.min=h?o.min=o.options.minRange?Math.min(h,o.max-o.minRange):h:!i(y)&&o.max>h&&o.dataMax<=h&&(o.max=o.options.minRange?Math.max(h,o.min+o.minRange):h));o.tickInterval=o.min===o.max||void 0===o.min||void 0===o.max?1:p&&!a&&k===o.linkedParent.options.tickPixelInterval?a=o.linkedParent.tickInterval:t(a,this.tickAmount?(o.max-o.min)/Math.max(this.tickAmount-1,1):void 0,d?1:(o.max-o.min)*k/Math.max(o.len,k));ft&&!e&&o.series.forEach(function(n){n.processData(o.min!==o.oldMin||o.max!==o.oldMax)});o.setAxisTranslation(!0);o.beforeSetTickPositions&&o.beforeSetTickPositions();o.postProcessTickInterval&&(o.tickInterval=o.postProcessTickInterval(o.tickInterval));o.pointRange&&!a&&(o.tickInterval=Math.max(o.pointRange,o.tickInterval));e=t(s.minTickInterval,o.isDatetimeAxis&&o.closestPointRange);!a&&o.tickIntervalo.tickInterval&&1e3o.max)),!!this.tickAmount));this.tickAmount||(o.tickInterval=o.unsquish());this.setTickPositions()},setTickPositions:function(){var u=this.options,t,e=u.tickPositions;t=this.getMinorTickInterval();var f=u.tickPositioner,o=u.startOnTick,s=u.endOnTick;this.tickmarkOffset=this.categories&&"between"===u.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===t&&this.tickInterval?this.tickInterval/5:t;this.single=this.min===this.max&&i(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==u.allowDecimals);this.tickPositions=t=e&&e.slice();!t&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(t=[this.min,this.max],n.error(19,!1,this.chart)):t=this.isDatetimeAxis?this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,u.units),this.min,this.max,u.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),t.length>this.len&&(t=[t[0],t.pop()],t[0]===t[1]&&(t.length=1)),this.tickPositions=t,f&&(f=f.apply(this,[this.min,this.max])))&&(this.tickPositions=t=f);this.paddedTicks=t.slice(0);this.trimTicks(t,o,s);this.isLinked||(this.single&&2>t.length&&!this.categories&&(this.min-=.5,this.max+=.5),e||f||this.adjustTickAmount());r(this,"afterSetTickPositions")},trimTicks:function(n,t,u){var f=n[0],e=n[n.length-1],o=this.minPointOffset||0;if(r(this,"trimTicks"),!this.isLinked){if(t&&-Infinity!==f)this.min=f;else for(;this.min-o>n[0];)n.shift();if(u)this.max=e;else for(;this.max+on&&(this.finalTickAmt=n,n=5);this.tickAmount=n},adjustTickAmount:function(){var u=this.options,r=this.tickInterval,n=this.tickPositions,e=this.tickAmount,o=this.finalTickAmt,s=n&&n.length,c=t(this.threshold,this.softThreshold?0:null),h;if(this.hasData()){if(se&&(this.tickInterval*=2,this.setTickPositions());if(i(o)){for(r=u=n.length;r--;)(3===o&&1==r%2||2>=o&&0e&&(t=e)),i(s)&&(re&&(r=e))),this.displayBtn=void 0!==t||void 0!==r,this.setExtremes(t,r,!1,void 0,{trigger:"zoom"}));n.zoomed=!0}),n.zoomed},setAxisSize:function(){var i=this.chart,r=this.options,u=r.offsets||[0,0,0,0],f=this.horiz,e=this.width=Math.round(n.relativeLength(t(r.width,i.plotWidth-u[3]+u[1]),i.plotWidth)),o=this.height=Math.round(n.relativeLength(t(r.height,i.plotHeight-u[0]+u[2]),i.plotHeight)),s=this.top=Math.round(n.relativeLength(t(r.top,i.plotTop+u[0]),i.plotHeight,i.plotTop)),r=this.left=Math.round(n.relativeLength(t(r.left,i.plotLeft+u[3]),i.plotWidth,i.plotLeft));this.bottom=i.chartHeight-o-s;this.right=i.chartWidth-e-r;this.len=Math.max(f?e:o,0);this.pos=f?r:s},getExtremes:function(){var n=this.isLog;return{min:n?f(this.lin2log(this.min)):this.min,max:n?f(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(n){var t=this.isLog,i=t?this.lin2log(this.min):this.min,t=t?this.lin2log(this.max):this.max;return null===n||-Infinity===n?n=i:Infinity===n?n=t:i>n?n=i:ti?n.align="right":195i&&(n.align="left")}),n.align},tickSize:function(n){var u=this.options,i=u[n+"Length"],f=t(u[n+"Width"],"tick"===n&&this.isXAxis&&!this.categories?1:0),e;return f&&i&&("inside"===u[n+"Position"]&&(i=-i),e=[i,f]),n={tickSize:e},r(this,"afterTickSize",n),n.tickSize},labelMetrics:function(){var n=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&this.options.labels.style.fontSize,this.ticks[n]&&this.ticks[n].label)},unsquish:function(){var n=this.options.labels,p=this.horiz,r=this.tickInterval,e=r,o=this.len/(((this.categories?1:0)+this.max-this.min)/r),c,u=n.rotation,l=this.labelMetrics(),s,a=Number.MAX_VALUE,h,v=this.max-this.min,y=function(n){var t=n/(o||1),t=1v&&Infinity!==n&&Infinity!==o&&(t=Math.ceil(v/r)),f(t*r)};return p?(h=!n.staggerLines&&!n.step&&(i(u)?[u]:o=n)&&(s=y(Math.abs(l.h/Math.sin(d*n))),t=s+Math.abs(n/360),t(t.step||0)&&!t.rotation&&(this.staggerLines||1)*this.len/f||!r&&(t.style&&parseInt(t.style.width,10)||u&&u-i.spacing[3]||.33*i.chartWidth)},renderUnsquish:function(){var h=this.chart,p=h.renderer,u=this.tickPositions,c=this.ticks,t=this.options.labels,y=t&&t.style||{},w=this.horiz,o=this.getSlotWidth(),f=Math.max(1,Math.round(o-2*(t.padding||5))),r={},s=this.labelMetrics(),l=t.style&&t.style.textOverflow,e,v,i=0,n;if(a(t.rotation)||(r.rotation=t.rotation||0),u.forEach(function(n){(n=c[n])&&n.label&&n.label.textPxLength>i&&(i=n.label.textPxLength)}),this.maxLabelLength=i,this.autoRotation)i>f&&i>s.h?r.rotation=this.labelRotation:this.labelRotation=0;else if(o&&(e=f,!l))for(v="clip",f=u.length;!w&&f--;)(n=u[f],n=c[n].label)&&(n.styles&&"ellipsis"===n.styles.textOverflow?n.css({textOverflow:"clip"}):n.textPxLength>o&&n.css({width:o+"px"}),n.getBBox().height>this.len/u.length-(s.h-s.f)&&(n.specificTextOverflow="ellipsis"));r.rotation&&(e=i>.5*h.chartHeight?.33*h.chartHeight:i,l||(v="ellipsis"));(this.labelAlign=t.align||this.autoLabelAlign(this.labelRotation))&&(r.align=this.labelAlign);u.forEach(function(n){var t=(n=c[n])&&n.label,u=y.width,i={};t&&(t.attr(r),n.shortenLabel?n.shortenLabel():e&&!u&&"nowrap"!==y.whiteSpace&&(e=this.min&&n<=this.max)&&(i[n]||(i[n]=new o(this,n)),f&&i[n].isNew&&i[n].render(t,!0,-1),i[n].render(t))},render:function(){var t=this,y=t.chart,f=t.options,b=t.isLog,tt=t.isLinked,l=t.tickPositions,s=t.axisTitle,a=t.ticks,k=t.minorTicks,i=t.alternateBands,d=f.stackLabels,g=f.alternateGridColor,h=t.tickmarkOffset,c=t.axisLine,nt=t.showAxis,it=w(y.renderer.globalAnimation),p,v;t.labelEdge.length=0;t.overlap=!1;[a,k,i].forEach(function(n){e(n,function(n){n.isActive=!1})});(t.hasData()||tt)&&(t.minorTickInterval&&!t.categories&&t.getMinorTickPositions().forEach(function(n){t.renderMinorTick(n)}),l.length&&(l.forEach(function(n,i){t.renderTick(n,i)}),h&&(0===t.min||t.single)&&(a[-1]||(a[-1]=new o(t,-1,null,!0)),a[-1].render(-1))),g&&l.forEach(function(r,u){v=void 0!==l[u+1]?l[u+1]+h:t.max-h;0==u%2&&rt&&(!e||h<=f)&&void 0!==h&&c.push(h),h>f&&(v=!0),h=a;else t=this.lin2log(t),f=this.lin2log(f),n=e?this.getMinorTickInterval():s.tickInterval,n=u("auto"===n?null:n,this._minorAutoInterval,s.tickPixelInterval/(e?5:1)*(f-t)/((e?o/this.tickPositions.length:o)||1)),n=r(n,null,i(n)),c=this.getLinearTickPositions(n,t,f).map(this.log2lin),e||(this._minorAutoInterval=n/5);return e||(this.tickInterval=n),c};t.prototype.log2lin=function(n){return Math.log(n)/Math.LN10};t.prototype.lin2log=function(n){return Math.pow(10,n)}}),i(t,"parts/PlotLineOrBand.js",[t["parts/Globals.js"],t["parts/Axis.js"]],function(n,t){var r=n.arrayMax,u=n.arrayMin,i=n.defined,e=n.destroyObjectProperties,f=n.erase,o=n.merge,s=n.pick;n.PlotLineOrBand=function(n,t){this.axis=n;t&&(this.options=t,this.id=t.id)};n.PlotLineOrBand.prototype={render:function(){n.fireEvent(this,"render");var h=this,u=h.axis,l=u.horiz,r=h.options,a=r.label,v=h.label,y=r.to,p=r.from,w=r.value,f=i(p)&&i(y),g=i(w),e=h.svgElem,nt=!e,t=[],c=r.color,k=s(r.zIndex,0),d=r.events,t={"class":"highcharts-plot-"+(f?"band ":"line ")+(r.className||"")},tt={},it=u.chart.renderer,b=f?"bands":"lines";if(u.isLog&&(p=u.log2lin(p),y=u.log2lin(y),w=u.log2lin(w)),u.chart.styledMode||(g?(t.stroke=c,t["stroke-width"]=r.width,r.dashStyle&&(t.dashstyle=r.dashStyle)):f&&(c&&(t.fill=c),r.borderWidth&&(t.stroke=r.borderColor,t["stroke-width"]=r.borderWidth))),tt.zIndex=k,b+="-"+k,(c=u.plotLinesAndBandsGroups[b])||(u.plotLinesAndBandsGroups[b]=c=it.g("plot-"+b).attr(tt).add()),nt&&(h.svgElem=e=it.path().attr(t).add(c)),g)t=u.getPlotLinePath({value:w,lineWidth:e.strokeWidth(),acrossPanes:r.acrossPanes});else if(f)t=u.getPlotBandPath(p,y,r);else return;return(nt||!e.d)&&t&&t.length?(e.attr({d:t}),d&&n.objectEach(d,function(n,t){e.on(t,function(n){d[t].apply(h,[n])})})):e&&(t?(e.show(!0),e.animate({d:t})):e.d&&(e.hide(),v&&(h.label=v=v.destroy()))),a&&i(a.text)&&t&&t.length&&0this.max&&t>this.max,r&&i)for(n&&(o=r.toString()===i.toString(),u=0),n=0;ns-h?s:s-h);else if(l)o[n]=Math.max(u,r+h+i>t?r:r+h);else return!1},g=function(n,t,i,r){var u;return rt-e?u=!1:o[n]=rt-i/2?t-i-2:r-i/2,u},v=function(n){var t=l;l=a;a=t;c=n},y=function(){!1!==d.apply(0,l)?!1!==g.apply(0,a)||c||(v(!0),y()):c?o.x=o.y=0:(v(!0),y())};return(f.inverted||1p&&(c=!1);n=(i.series&&i.series.yAxis&&i.series.yAxis.pos)+(i.plotY||0);n-=h;i.isHeader&&(n=l?-e:u.plotHeight+e);o.push({target:n,rank:i.isHeader?1:0,size:w.tt.getBBox().height+1,point:i,x:p,tt:y})}});this.cleanSplit();f.positioner&&o.forEach(function(n){var i=f.positioner.call(s,n.tt.getBBox().width,n.size,n.point);n.x=i.x;n.align=0;n.target=i.y;n.rank=t(i.rank,n.rank)});n.distribute(o,u.plotHeight+e);o.forEach(function(n){var t=n.point,i=t.series;n.tt.attr({visibility:void 0===n.pos?"hidden":"inherit",x:c||t.isHeader||f.positioner?n.x:t.plotX+u.plotLeft+s.distance,y:n.pos+h,anchorX:t.isHeader?t.plotX+u.plotLeft:t.plotX+i.xAxis.pos,anchorY:t.isHeader?u.plotTop+u.plotHeight/2:t.plotY+i.yAxis.pos})})},updatePosition:function(n){var t=this.chart,i=this.getLabel(),r=(this.options.positioner||this.getPosition).call(this,i.width,i.height,n),f=n.plotX+t.plotLeft,u;n=n.plotY+t.plotTop;this.outside&&(u=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(i.width+u,i.height+u,!1),f+=t.pointer.chartPosition.left-r.x,n+=t.pointer.chartPosition.top-r.y);this.move(Math.round(r.x),Math.round(r.y||0),f,n)},getDateFormat:function(n,t,i,r){var e=this.chart.time,s=e.dateFormat("%m-%d %H:%M:%S.%L",t),h,f,o={millisecond:15,second:12,minute:9,hour:6,day:3},c="millisecond";for(f in u){if(n===u.week&&+e.dateFormat("%w",t)===i&&"00:00:00.000"===s.substr(6)){f="week";break}if(u[f]>n){f=c;break}if(o[f]&&s.substr(o[f])!=="01-01 00:00:00.000".substr(o[f]))break;"week"!==f&&(c=f)}return f&&(h=e.resolveDTLFormat(r[f]).main),h},getXDateFormat:function(n,t,i){t=t.dateTimeLabelFormats;var r=i&&i.closestPointRange;return(r?this.getDateFormat(r,n.x,i.options.startOfWeek,t):t.day)||t.year},tooltipFooterHeaderFormatter:function(t,i){var l=i?"footer":"header",u=t.series,e=u.tooltipOptions,f=e.xDateFormat,h=u.xAxis,c=h&&"datetime"===h.options.type&&s(t.key),r=e[l+"Format"];return i={isFooter:i,labelConfig:t},n.fireEvent(this,"headerFormatter",i,function(n){c&&!f&&(f=this.getXDateFormat(t,e,h));c&&f&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach(function(n){r=r.replace("{point."+n+"}","{point."+n+":"+f+"}")});u.chart.styledMode&&(r=this.styledModeFormat(r));n.text=o(r,{point:t,series:u},this.chart.time)}),i.text},bodyFormatter:function(n){return n.map(function(n){var t=n.series.tooltipOptions;return(t[(n.point.formatPrefix||"point")+"Formatter"]||n.point.tooltipFormatter).call(n.point,t[(n.point.formatPrefix||"point")+"Format"]||"")})},styledModeFormat:function(n){return n.replace('style="font-size: 10px"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex}"')}}}),i(t,"parts/Pointer.js",[t["parts/Globals.js"]],function(n){var r=n.addEvent,l=n.attr,t=n.charts,a=n.color,v=n.css,o=n.defined,u=n.extend,y=n.find,f=n.fireEvent,s=n.isNumber,e=n.isObject,p=n.offset,i=n.pick,h=n.splat,c=n.Tooltip;n.Pointer=function(n,t){this.init(n,t)};n.Pointer.prototype={init:function(n,t){this.options=t;this.chart=n;this.runChartClick=t.chart.events&&!!t.chart.events.click;this.pinchDown=[];this.lastValidTouch={};c&&(n.tooltip=new c(n,t.tooltip),this.followTouchMove=i(t.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(n){var r=this.chart,u=r.options.chart,t=u.zoomType||"",r=r.inverted;/touch/.test(n.type)&&(t=i(u.pinchType,t));this.zoomX=n=/x/.test(t);this.zoomY=t=/y/.test(t);this.zoomHor=n&&!r||t&&r;this.zoomVert=t&&!r||n&&r;this.hasZoom=n||t},normalize:function(n,t){var i;return i=n.touches?n.touches.length?n.touches.item(0):n.changedTouches[0]:n,t||(this.chartPosition=t=p(this.chart.container)),u(n,{chartX:Math.round(i.pageX-t.left),chartY:Math.round(i.pageY-t.top)})},getCoordinates:function(n){var t={xAxis:[],yAxis:[]};return this.chart.axes.forEach(function(i){t[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(n[i.horiz?"chartX":"chartY"])})}),t},findNearestKDPoint:function(n,t,i){var r;return n.forEach(function(n){var u=!(n.noSharedTooltip&&t)&&0>n.options.findNearestPointBy.indexOf("y");if(n=n.searchPoint(i,u),(u=e(n,!0))&&!(u=!e(r,!0)))var u=r.distX-n.distX,f=r.dist-n.dist,o=(n.series.group&&n.series.group.zIndex)-(r.series.group&&r.series.group.zIndex),u=0<(0!==u&&t?u:0!==f?f:0!==o?o:r.series.index>n.series.index?-1:1);u&&(r=n)}),r},getPointFromEvent:function(n){n=n.target;for(var t;n&&!t;)t=n.point,n=n.parentNode;return t},getChartCoordinatesFromPoint:function(n,t){var r=n.series,f=r.xAxis,r=r.yAxis,e=i(n.clientX,n.plotX),u=n.shapeArgs;return f&&r?t?{chartX:f.len+f.pos-e,chartY:r.len+r.pos-n.plotY}:{chartX:e+f.pos,chartY:n.plotY+r.pos}:u&&u.x&&u.y?{chartX:u.x,chartY:u.y}:void 0},getHoverData:function(n,t,r,u,f,o){var s,c=[],h;return u=!(!u||!n),h=t&&!t.stickyTracking?[t]:r.filter(function(n){return n.visible&&!(!f&&n.directTouch)&&i(n.options.enableMouseTracking,!0)&&n.stickyTracking}),t=(s=u?n:this.findNearestKDPoint(h,f,o))&&s.series,s&&(f&&!t.noSharedTooltip?(h=r.filter(function(n){return n.visible&&!(!f&&n.directTouch)&&i(n.options.enableMouseTracking,!0)&&!n.noSharedTooltip}),h.forEach(function(n){var t=y(n.points,function(n){return n.x===s.x&&!n.isNull});e(t)&&(n.chart.isBoosting&&(t=n.getPoint(t)),c.push(t))})):c.push(s)),{hoverPoint:s,hoverSeries:t,hoverPoints:c}},runPointActions:function(u,f){var e=this.chart,h=e.tooltip&&e.tooltip.options.enabled?e.tooltip:void 0,l=h?h.shared:!1,o=f||e.hoverPoint,s=o&&o.series||e.hoverSeries,s=this.getHoverData(o,s,e.series,"touchmove"!==u.type&&(!!f||s&&s.directTouch&&this.isDirectTouch),l,u),a=[],c,o=s.hoverPoint;if(c=s.hoverPoints,f=(s=s.hoverSeries)&&s.tooltipOptions.followPointer,l=l&&s&&!s.noSharedTooltip,o&&(o!==e.hoverPoint||h&&h.isHidden)){if((e.hoverPoints||[]).forEach(function(n){-1===c.indexOf(n)&&n.setState()}),e.hoverSeries!==s&&s.onMouseOver(),a=this.getActiveSeries(c),e.series.forEach(function(n){(n.options.inactiveOtherPoints||-1===a.indexOf(n))&&n.setState("inactive",!0)}),(c||[]).forEach(function(n){n.setState("hover")}),e.hoverPoint&&e.hoverPoint.firePointEvent("mouseOut"),!o.series)return;o.firePointEvent("mouseOver");e.hoverPoints=c;e.hoverPoint=o;h&&h.refresh(l?c:o,u)}else f&&h&&!h.isHidden&&(o=h.getAnchor([{}],u),h.updatePosition({plotX:o[0],plotY:o[1]}));this.unDocMouseMove||(this.unDocMouseMove=r(e.container.ownerDocument,"mousemove",function(i){var r=t[n.hoverChartIndex];if(r)r.pointer.onDocumentMouseMove(i)}));e.axes.forEach(function(t){var r=i(t.crosshair.snap,!0),f=r?n.find(c,function(n){return n.series[t.coll]===t}):void 0;f||!r?t.drawCrosshair(u,f):t.hideCrosshair()})},getActiveSeries:function(n){var i=[],t;return(n||[]).forEach(function(n){t=n.series;i.push(t);t.linkedParent&&i.push(t.linkedParent);t.linkedSeries&&(i=i.concat(t.linkedSeries));t.navigatorSeries&&i.push(t.navigatorSeries)}),i},reset:function(n,t){var i=this.chart,o=i.hoverSeries,r=i.hoverPoint,f=i.hoverPoints,u=i.tooltip,e=u&&u.shared?f:r;n&&e&&h(e).forEach(function(t){t.series.isCartesian&&void 0===t.plotX&&(n=!1)});n?u&&e&&h(e).length&&(u.refresh(e),u.shared&&f?f.forEach(function(n){n.setState(n.state,!0);n.series.isCartesian&&(n.series.xAxis.crosshair&&n.series.xAxis.drawCrosshair(null,n),n.series.yAxis.crosshair&&n.series.yAxis.drawCrosshair(null,n))}):r&&(r.setState(r.state,!0),i.axes.forEach(function(n){n.crosshair&&n.drawCrosshair(null,r)}))):(r&&r.onMouseOut(),f&&f.forEach(function(n){n.setState()}),o&&o.onMouseOut(),u&&u.hide(t),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(n){n.hideCrosshair()}),this.hoverX=i.hoverPoints=i.hoverPoint=null)},scaleGroups:function(n,t){var i=this.chart,r;i.series.forEach(function(u){r=n||u.getPlotBox();u.xAxis&&u.xAxis.zoomEnabled&&u.group&&(u.group.attr(r),u.markerGroup&&(u.markerGroup.attr(r),u.markerGroup.clip(t?i.clipRect:null)),u.dataLabelsGroup&&u.dataLabelsGroup.attr(r))});i.clipRect.attr(t||i.clipBox)},dragStart:function(n){var t=this.chart;t.mouseIsDown=n.type;t.cancelClick=!1;t.mouseDownX=this.mouseDownX=n.chartX;t.mouseDownY=this.mouseDownY=n.chartY},drag:function(n){var i=this.chart,o=i.options.chart,t=n.chartX,u=n.chartY,y=this.zoomHor,p=this.zoomVert,f=i.plotLeft,e=i.plotTop,c=i.plotWidth,l=i.plotHeight,v,r=this.selectionMarker,s=this.mouseDownX,h=this.mouseDownY,w=o.panKey&&n[o.panKey+"Key"];r&&r.touch||(tf+c&&(t=f+c),ue+l&&(u=e+l),this.hasDragged=Math.sqrt(Math.pow(s-t,2)+Math.pow(h-u,2)),10y.max&&(t=y.max-l,tt=!0);tt?(h-=.8*(h-e[c][0]),p||(b-=.8*(b-e[c][1])),i()):e[c]=[h,b];nt||(f[c]=g-d,f[it]=l);f=nt?1/s:s;u[it]=l;u[c]=t;r[nt?n?"scaleY":"scaleX":"scale"+k]=s;r["translate"+k]=f*d+(h-f*w)},pinch:function(n){var i=this,e=i.chart,f=i.pinchDown,o=n.touches,s=o.length,h=i.lastValidTouch,l=i.hasZoom,c=i.selectionMarker,a={},y=1===s&&(i.inClass(n.target,"highcharts-tracker")&&e.runTrackerClick||i.runChartClick),v={};1n-6&&es?this.maxItemWidth:n.itemWidth;u&&this.itemX-r+i>s&&(this.itemX=r,this.lastLineHeight&&(this.itemY+=o+this.lastLineHeight+e),this.lastLineHeight=0);this.lastItemY=o+this.itemY+e;this.lastLineHeight=Math.max(f,this.lastLineHeight);n._legendItemPos=[this.itemX,this.itemY];u?this.itemX+=i:(this.itemY+=o+f+e,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((u?this.itemX-r-(n.checkbox?0:h):i)+r,this.offsetWidth)},getAllItems:function(){var n=[];return this.chart.series.forEach(function(i){var r=i&&i.options;i&&t(r.showInLegend,u(r.linkedTo)?!1:void 0,!0)&&(n=n.concat(i.legendItems||("point"===r.legendType?i.data:i)))}),r(this,"afterGetAllItems",{allItems:n}),n},getAlignment:function(){var n=this.options;return this.proximate?n.align.charAt(0)+"tv":n.floating?"":n.align.charAt(0)+n.verticalAlign.charAt(0)+n.layout.charAt(0)},adjustMargins:function(n,i){var r=this.chart,f=this.options,o=this.getAlignment(),s=void 0!==r.options.title.margin?r.titleOffset+r.options.title.margin:0;o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(h,c){h.test(o)&&!u(n[c])&&(r[e[c]]=Math.max(r[e[c]],r.legend[(c+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][c]*f[c%2?"x":"y"]+t(f.margin,12)+i[c]+(0===c&&(0===r.titleOffset?0:s))))})},proximatePositions:function(){var t=this.chart,i=[],r="left"===this.options.align;this.allItems.forEach(function(u){var f,e,o;e=r;u.yAxis&&u.points&&(u.xAxis.options.reversed&&(e=!e),f=n.find(e?u.points:u.points.slice(0).reverse(),function(t){return n.isNumber(t.plotY)}),e=u.legendGroup.getBBox().height,o=u.yAxis.top-t.plotTop,u.visible?(f=f?f.plotY:u.yAxis.height,f+=o-.3*e):f=o+u.yAxis.height,i.push({target:f,size:e,item:u}))},this);n.distribute(i,t.plotHeight);i.forEach(function(n){n.item._legendItemPos[1]=t.plotTop-t.spacing[0]+n.pos})},render:function(){var e=this.chart,o=e.renderer,h=this.group,t,l,s,u=this.box,f=this.options,c=this.padding;this.itemX=c;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=n.relativeLength(f.width,e.spacingBox.width-c);t=e.spacingBox.width-2*c-f.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(t/=2);this.maxLegendWidth=this.widthOption||t;h||(this.group=h=o.g("legend").attr({zIndex:7}).add(),this.contentGroup=o.g().attr({zIndex:1}).add(h),this.scrollGroup=o.g().add(this.contentGroup));this.renderTitle();t=this.getAllItems();a(t,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});f.reversed&&t.reverse();this.allItems=t;this.display=l=!!t.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;t.forEach(this.renderItem,this);t.forEach(this.layoutItem,this);t=(this.widthOption||this.offsetWidth)+c;s=this.lastItemY+this.lastLineHeight+this.titleHeight;s=this.handleOverflow(s);s+=c;u||(this.box=u=o.rect().addClass("highcharts-legend-box").attr({r:f.borderRadius}).add(h),u.isNew=!0);e.styledMode||u.attr({stroke:f.borderColor,"stroke-width":f.borderWidth||0,fill:f.backgroundColor||"none"}).shadow(f.shadow);0r&&!1!==y.enabled?(this.clipHeight=v=Math.max(r-20-this.titleHeight-l,0),this.currentPage=t(this.currentPage,1),this.fullHeight=n,p.forEach(function(n,t){var i=n._legendItemPos[1],u=Math.round(n.legendItem.getBBox().height),r=o.length;(!r||i-o[r-1]>v&&(c||i)!==o[r-1])&&(o.push(c||i),r++);n.pageIx=r-1;c&&(p[t-1].pageIx=r-1);t===p.length-1&&i+u-o[r-1]>v&&i!==c&&(o.push(i),n.pageIx=r);i!==c&&(c=i)}),h||(h=i.clipRect=s.clipRect(0,l,9999,0),i.contentGroup.clip(h)),k(v),u||(this.nav=u=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,e,e).add(u),d("upTracker").on("click",function(){i.scroll(-1,b)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),a.styledMode||this.pager.css(y.style),this.pager.add(u),this.down=s.symbol("triangle-down",0,0,e,e).add(u),d("downTracker").on("click",function(){i.scroll(1,b)})),i.scroll(0),n=r):u&&(k(),this.nav=u.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),n},scroll:function(n,t){var f=this.pages,r=f.length,i=this.currentPage+n;n=this.clipHeight;var u=this.options.navigation,e=this.pager,o=this.padding;i>r&&(i=r);0c&&(r=typeof t[0],"string"===r?i.name=t[0]:"number"===r&&(i.x=t[0]),e++);o=n.value;)n=i[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},destroy:function(){var n=this.series.chart,t=n.hoverPoints,i;n.pointCount--;t&&(this.setState(),e(t,this),t.length||(n.hoverPoints=null));this===n.hoverPoint&&this.onMouseOut();(this.graphic||this.dataLabel||this.dataLabels)&&(l(this),this.destroyElements());this.legendItem&&n.legend.destroyItem(this);for(i in this)this[i]=null},destroyElements:function(n){var t=this,i=[],r,u;for(n=n||{graphic:1,dataLabel:1},n.graphic&&i.push("graphic","shadowGroup"),n.dataLabel&&i.push("dataLabel","dataLabelUpper","connector"),u=i.length;u--;)r=i[u],t[r]&&(t[r]=t[r].destroy());["dataLabel","connector"].forEach(function(i){var r=i+"s";n[i]&&t[r]&&(t[r].forEach(function(n){n.element&&n.destroy()}),delete t[r])})},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(n){var i=this.series,r=i.tooltipOptions,e=t(r.valueDecimals,""),u=r.valuePrefix||"",f=r.valueSuffix||"";return i.chart.styledMode&&(n=i.chart.tooltip.styledModeFormat(n)),(i.pointArrayMap||["y"]).forEach(function(t){t="{point."+t;(u||f)&&(n=n.replace(RegExp(t+"}","g"),u+t+"}"+f));n=n.replace(RegExp(t+"}","g"),t+":,."+e+"f}")}),o(n,{point:this,series:this.series},i.chart.time)},firePointEvent:function(n,t,i){var r=this,f=this.series.options;(f.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents();"click"===n&&f.allowPointSelect&&(i=function(n){r.select&&r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});u(this,n,t,i)},visible:!0}}),i(t,"parts/Series.js",[t["parts/Globals.js"]],function(n){var e=n.addEvent,c=n.animObject,l=n.arrayMax,a=n.arrayMin,v=n.correctFloat,f=n.defaultOptions,b=n.defaultPlotOptions,r=n.defined,y=n.erase,p=n.extend,i=n.fireEvent,o=n.isArray,u=n.isNumber,k=n.isString,s=n.merge,h=n.objectEach,t=n.pick,d=n.removeEvent,g=n.splat,nt=n.SVGElement,w=n.syncTimeout,tt=n.win;n.Series=n.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":n.numberFormat(this.y,-1)},padding:5,style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:50},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:n.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",cropShoulder:1,init:function(r,u){i(this,"init",{options:u});var f=this,o,s=r.series,c;f.chart=r;f.options=u=f.setOptions(u);f.linkedSeries=[];f.bindAxes();p(f,{name:u.name,state:"",visible:!1!==u.visible,selected:!0===u.selected});o=u.events;h(o,function(t,i){!n.isFunction(t)||f.hcEvents&&f.hcEvents[i]&&f.hcEvents[i].some(function(n){return n.fn===t})||e(f,i,t)});(o&&o.click||u.point&&u.point.events&&u.point.events.click||u.allowPointSelect)&&(r.runTrackerClick=!0);f.getColor();f.getSymbol();f.parallelArrays.forEach(function(n){f[n+"Data"]||(f[n+"Data"]=[])});f.points||f.setData(u.data,!1);f.isCartesian&&(r.hasCartesianSeries=!0);s.length&&(c=s[s.length-1]);f._i=t(c&&c._i,-1)+1;r.orderSeries(this.insert(s));i(this,"afterInit")},insert:function(n){var r=this.options.index,i;if(u(r)){for(i=n.length;i--;)if(r>=t(n[i].options.index,n[i]._i)){n.splice(i+1,0,this);break}-1===i&&n.unshift(this);i+=1}else n.push(this);return t(i,n.length-1)},bindAxes:function(){var t=this,r=t.options,f=t.chart,u;i(this,"bindAxes",null,function(){(t.axisTypes||[]).forEach(function(i){f[i].forEach(function(n){u=n.options;(r[i]===u.index||void 0!==r[i]&&r[i]===u.id||void 0===r[i]&&0===u.index)&&(t.insert(n.series),t[i]=n,n.isDirty=!0)});t[i]||t.optionalAxis===i||n.error(18,!0,f)})})},updateParallelArrays:function(n,t){var i=n.series,r=arguments,f=u(t)?function(r){var u="y"===r&&i.toYData?i.toYData(n):n[r];i[r+"Data"][t]=u}:function(n){Array.prototype[t].apply(i[n+"Data"],Array.prototype.slice.call(r,2))};i.parallelArrays.forEach(f)},hasData:function(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&0=this.cropStart?i-this.cropStart:i),!e&&f[i]&&f[i].touched&&(i=void 0),i},drawLegendSymbol:n.LegendSymbolMixin.drawLineMarker,updateData:function(t){var c=this.options,i=this.points,f=[],e,r,o,l=this.requireSorting,s=t.length===i.length,h=!0;if(this.xIncrement=null,t.forEach(function(t,r){var h,a=n.defined(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{};h=a.x;(a.id||u(h))&&(h=this.findPointIndex(a,o),-1===h||void 0===h?f.push(t):i[h]&&t!==c.data[h]?(i[h].update(t,!1,null,!1),i[h].touched=!0,l&&(o=h+1)):i[h]&&(i[h].touched=!0),!s||r!==h||this.hasDerivedData)&&(e=!0)},this),e)for(t=i.length;t--;)(r=i[t])&&!r.touched&&r.remove(!1);else s?t.forEach(function(n,t){i[t].update&&n!==i[t].y&&i[t].update(n,!1,null,!1)}):h=!1;return(i.forEach(function(n){n&&(n.touched=!1)}),!h)?!1:(f.forEach(function(n){this.addPoint(n,!1,null,null,!1)},this),!0)},setData:function(i,r,f,e){var s=this,l=s.points,nt=l&&l.length||0,c,w=s.options,p=s.chart,h=null,b=s.xAxis,tt=w.turboThreshold,d=this.xData,a=this.yData,it=(c=s.pointArrayMap)&&c.length,g=w.keys,v=0,y=1,rt;if(i=i||[],c=i.length,r=t(r,!0),!1!==e&&c&&nt&&!s.cropped&&!s.hasGroupedData&&s.visible&&!s.isSeriesBoosting&&(rt=this.updateData(i)),!rt){if(s.xIncrement=null,s.colorCounter=0,this.parallelArrays.forEach(function(n){s[n+"Data"].length=0}),tt&&c>tt){for(f=0;null===h&&fr||this.forceCrop)&&(i[u-1]c?(i=[],l=[]):this.yData&&(i[0]c)&&(e=this.cropData(this.xData,this.yData,h,c),i=e.xData,l=e.yData,e=e.start,a=!0)),r=i.length||1;--r;)u=w?o(i[r])-o(i[r-1]):i[r]-i[r-1],0u&&y&&(n.error(15,!1,this.chart),y=!1);this.cropped=a;this.cropStart=e;this.processedXData=i;this.processedYData=l;this.closestPointRange=s},cropData:function(n,i,r,u,f){var h=n.length,o=0,s=h,e;for(f=t(f,this.cropShoulder),e=0;e=r){o=Math.max(0,e-f);break}for(r=e;ru){s=r+f;break}return{xData:n.slice(o,s),yData:i.slice(o,s),start:o,end:s}},generatePoints:function(){var e=this.options,o=e.data,t=this.data,c,s=this.processedXData,y=this.processedYData,l=this.pointClass,h=s.length,a=this.cropStart||0,u,f=this.hasGroupedData,e=e.keys,r,v=[],n;for(t||f||(t=[],t.length=o.length,t=this.data=t),e&&f&&(this.options.keys=!1),n=0;n=w&&(c[r-y]||s)<=b,f&&s)if(f=t.length)for(;f--;)"number"==typeof t[f]&&(h[v++]=t[f]);else h[v++]=t;this.dataMin=a(h);this.dataMax=l(h);i(this,"afterGetExtremes")},translate:function(){var n,h,e,y,l,d;this.processedXData||this.processData();this.generatePoints();for(var p=this.options,rt=p.stacking,w=this.xAxis,g=w.categories,s=this.yAxis,ut=this.points,ot=ut.length,st=!!this.modifyValue,nt=this.pointPlacementToXValue(),ht=u(nt),a=p.threshold,ft=p.startFromThreshold?a:0,c,f,tt,k,et=this.zoneAxis||"y",it=Number.MAX_VALUE,b=0;b=f&&(n.isNull=!0),n.plotX=c=v(Math.min(Math.max(-1e5,w.translate(h,0,0,0,1,nt,"flags"===this.type)),1e5)),rt&&this.visible&&!n.isNull&&y&&y[h]&&(k=this.getStackIndicator(k,h,this.index),l=y[h],d=l.points[k.key]),o(d)&&(e=d[0],f=d[1],e===ft&&k.key===y[h].base&&(e=t(u(a)&&a,s.min)),s.positiveValuesOnly&&0>=e&&(e=null),n.total=n.stackTotal=l.total,n.percentage=l.total&&n.y/l.total*100,n.stackY=f,l.setOffset(this.pointXOffset||0,this.barW||0)),n.yBottom=r(e)?Math.min(Math.max(-1e5,s.translate(e,0,1,0,1)),1e5):null,st&&(f=this.modifyValue(f,n)),n.plotY=f="number"==typeof f&&Infinity!==f?Math.min(Math.max(-1e5,s.translate(f,0,1,0,1)),1e5):void 0,n.isInside=void 0!==f&&0<=f&&f<=s.len&&0<=c&&c<=w.len,n.clientX=ht?v(w.translate(h,0,0,0,1,nt)):c,n.negative=n[et]<(p[et+"Threshold"]||a||0),n.category=g&&void 0!==g[n.x]?g[n.x]:n.x,n.isNull||(void 0!==tt&&(it=Math.min(it,Math.abs(c-tt))),tt=c),n.zone=this.zones.length&&n.getZone();this.closestPointRangePx=it;i(this,"afterTranslate")},getValidPoints:function(n,t,i){var r=this.chart;return(n||this.points||[]).filter(function(n){return t&&!r.isInsidePlot(n.plotX,n.plotY,r.inverted)?!1:i||!n.isNull})},getClipBox:function(n,t){var f=this.options,i=this.chart,e=i.inverted,r=this.xAxis,u=r&&this.yAxis;return n&&!1===f.clip&&u?n=e?{y:-i.chartWidth+u.len+u.pos,height:i.chartWidth,width:i.chartHeight,x:-i.chartHeight+r.len+r.pos}:{y:-u.pos,height:i.chartHeight,width:i.chartWidth,x:-r.pos}:(n=this.clipBox||i.clipBox,t&&(n.width=i.plotSizeX,n.x=0)),t?{width:n.width,x:n.x}:n},setClip:function(n){var t=this.chart,u=this.options,o=t.renderer,f=t.inverted,s=this.clipBox,e=this.getClipBox(n),i=this.sharedClipKey||["_sharedClip",n&&n.duration,n&&n.easing,e.height,u.xAxis,u.yAxis].join(),r=t[i],h=t[i+"m"];r||(n&&(e.width=0,f&&(e.x=t.plotSizeX+(!1!==u.clip?0:t.plotTop)),t[i+"m"]=h=o.clipRect(f?t.plotSizeX+99:-99,f?-t.plotLeft:-t.plotTop,99,f?t.chartWidth:t.chartHeight)),t[i]=r=o.clipRect(e),r.count={length:0});n&&!r.count[this.index]&&(r.count[this.index]=!0,r.count.length+=1);(!1!==u.clip||n)&&(this.group.clip(n||s?r:t.clipRect),this.markerGroup.clip(h),this.sharedClipKey=i);n||(r.count[this.index]&&(delete r.count[this.index],--r.count.length),0===r.count.length&&i&&t[i]&&(s||(t[i]=t[i].destroy()),t[i+"m"]&&(t[i+"m"]=t[i+"m"].destroy())))},animate:function(n){var t=this.chart,i=c(this.options.animation),r,u;n?this.setClip(i):(r=this.sharedClipKey,n=t[r],u=this.getClipBox(i,!0),n&&n.animate(u,i),t[r+"m"]&&t[r+"m"].animate({width:u.width+99,x:u.x-(t.inverted?0:99)},i),this.animate=null)},afterAnimate:function(){this.setClip();i(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var h=this.points,c=this.chart,r,n,o,i,l,f=this.options.marker,e,a,s,y=this[this.specialGroup]||this.markerGroup,u,v;if(r=this.xAxis,v=t(f.enabled,!r||r.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius),!1!==f.enabled||this._hasPointMarkers)for(r=0;rf&&i.shadow));e&&(e.startX=t.xMap,e.isArea=t.isArea)})},getZonesGraphs:function(n){return this.zones.forEach(function(t,i){i=["zone-graph-"+i,"highcharts-graph highcharts-zone-graph-"+i+" "+(t.className||"")];this.chart.styledMode||i.push(t.color||this.color,t.dashStyle||this.options.dashStyle);n.push(i)},this),n},applyZones:function(){var l=this,i=this.chart,k=i.renderer,d=this.zones,f,u,e=this.clips||[],n,o=this.graph,s=this.area,a=Math.max(i.chartWidth,i.chartHeight),r=this[(this.zoneAxis||"y")+"Axis"],h,p,w=i.inverted,c,b,v,y,g=!1;d.length&&(o||s)&&r&&void 0!==r.min?(p=r.reversed,c=r.horiz,o&&!this.showLine&&o.hide(),s&&s.hide(),h=r.getExtremes(),d.forEach(function(d,nt){f=p?c?i.plotWidth:0:c?0:r.toPixels(h.min)||0;f=Math.min(Math.max(t(u,f),0),a);u=Math.min(Math.max(Math.round(r.toPixels(t(d.value,h.max),!0)||0),0),a);g&&(f=u=r.toPixels(h.max));b=Math.abs(f-u);v=Math.min(f,u);y=Math.max(f,u);r.isXAxis?(n={x:w?y:v,y:0,width:b,height:a},c||(n.x=i.plotHeight-n.x)):(n={x:0,y:w?y:v,width:a,height:b},c&&(n.y=i.plotWidth-n.y));w&&k.isVML&&(n=r.isXAxis?{x:0,y:p?v:y,height:n.width,width:i.chartWidth}:{x:n.y-i.plotLeft-i.spacingBox.x,y:0,width:n.height,height:i.chartHeight});e[nt]?e[nt].animate(n):e[nt]=k.clipRect(n);o&&l["zone-graph-"+nt].clip(e[nt]);s&&l["zone-area-"+nt].clip(e[nt]);g=d.value>h.max;l.resetZones&&0===u&&(u=void 0)}),this.clips=e):l.visible&&(o&&o.show(!0),s&&s.show(!0))},invertGroups:function(n){function i(){["group","markerGroup"].forEach(function(i){t[i]&&(r.renderer.isVML&&t[i].attr({width:t.yAxis.len,height:t.xAxis.len}),t[i].width=t.yAxis.len,t[i].height=t.xAxis.len,t[i].invert(n))})}var t=this,r=t.chart,u;t.xAxis&&(u=e(r,"resize",i),e(t,"destroy",u),i(n),t.invertGroups=i)},plotGroup:function(n,t,i,u,f){var e=this[n],o=!e;return o&&(this[n]=e=this.chart.renderer.g().attr({zIndex:u||.1}).add(f)),e.addClass("highcharts-"+t+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(r(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(e.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),e.attr({visibility:i})[o?"attr":"animate"](this.getPlotBox()),e},getPlotBox:function(){var t=this.chart,i=this.xAxis,n=this.yAxis;return t.inverted&&(i=n,n=this.xAxis),{translateX:i?i.left:t.plotLeft,translateY:n?n.top:t.plotTop,scaleX:1,scaleY:1}},render:function(){var n=this,t=n.chart,r,u=n.options,f=!!n.animate&&t.renderer.isSVG&&c(u.animation).duration,e=n.visible?"inherit":"hidden",o=u.zIndex,s=n.hasRendered,h=t.seriesGroup,l=t.inverted;i(this,"render");r=n.plotGroup("group","series",e,o,h);n.markerGroup=n.plotGroup("markerGroup","markers",e,o,h);f&&n.animate(!0);r.inverted=n.isCartesian||n.invertable?l:!1;n.drawGraph&&(n.drawGraph(),n.applyZones());n.visible&&n.drawPoints();n.drawDataLabels&&n.drawDataLabels();n.redrawPoints&&n.redrawPoints();n.drawTracker&&!1!==n.options.enableMouseTracking&&n.drawTracker();n.invertGroups(l);!1===u.clip||n.sharedClipKey||s||r.clip(t.clipRect);f&&n.animate();s||(n.animationTimeout=w(function(){n.afterAnimate()},f));n.isDirty=!1;n.hasRendered=!0;i(n,"afterRender")},redraw:function(){var n=this.chart,f=this.isDirty||this.isDirtyData,i=this.group,r=this.xAxis,u=this.yAxis;i&&(n.inverted&&i.attr({width:n.plotWidth,height:n.plotHeight}),i.animate({translateX:t(r&&r.left,n.plotLeft),translateY:t(u&&u.top,n.plotTop)}));this.translate();this.render();f&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(n,t){var i=this.xAxis,r=this.yAxis,u=this.chart.inverted;return this.searchKDTree({clientX:u?i.len-n.chartY+i.pos:n.chartX-i.pos,plotY:u?r.len-n.chartX+r.pos:n.chartY-r.pos},t,n)},buildKDTree:function(n){function i(n,r,u){var e,f;if(f=n&&n.length)return e=t.kdAxisArray[r%u],n.sort(function(n,t){return n[e]-t[e]}),f=Math.floor(f/2),{point:n[f],left:i(n.slice(0,f),r+1,u),right:i(n.slice(f+1),r+1,u)}}this.buildingKdTree=!0;var t=this,r=-1a?"left":"right",v=0>a?"right":"left",t[c]&&(c=o(n,t[c],i+1,h),y=c[u]l;)s--;this.updateParallelArrays(o,"splice",s,0,0);this.updateParallelArrays(o,s);h&&o.name&&(h[l]=o.name);y.splice(s,0,n);p&&(this.data.splice(s,0,null),this.processData());"point"===v.legendType&&this.generatePoints();u&&(c[0]&&c[0].remove?c[0].remove(!1):(c.shift(),this.updateParallelArrays(o,"shift"),y.shift()));!1!==e&&i(this,"addPoint",{point:o});this.isDirtyData=this.isDirty=!0;r&&w.redraw(f)},removePoint:function(n,i,r){var u=this,e=u.data,f=e[n],o=u.points,s=u.chart,h=function(){o&&o.length===e.length&&o.splice(n,1);e.splice(n,1);u.options.data.splice(n,1);u.updateParallelArrays(f||{series:u},"splice",n,1);f&&f.destroy();u.isDirty=!0;u.isDirtyData=!0;i&&s.redraw()};nt(r,s);i=t(i,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(n,r,u,f){function s(){e.destroy(f);e.remove=null;o.isDirtyLegend=o.isDirtyBox=!0;o.linkSeries();t(n,!0)&&o.redraw(r)}var e=this,o=e.chart;!1!==u?i(e,"remove",null,s):s()},update:function(f,e){f=n.cleanRecursively(f,this.userOptions);i(this,"update",{options:f});var o=this,l=o.chart,a=o.userOptions,c,y=o.initialType||o.type,p=f.type||a.type||l.options.chart.type,w=!(this.hasDerivedData||f.dataGrouping||p&&p!==this.type||void 0!==f.pointStart||f.pointInterval||f.pointIntervalUnit||f.keys),d=h[y].prototype,b,k=["group","markerGroup","dataLabelsGroup","transformGroup"],s=["navigatorSeries","baseSeries"],g=o.finishedAnimating&&{animation:!1},v={};w&&(s.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==f.visible&&s.push("area","graph"),o.parallelArrays.forEach(function(n){s.push(n+"Data")}),f.data&&this.setData(f.data,!1));f=u(a,g,{index:void 0===a.index?o.index:a.index,pointStart:t(a.pointStart,o.xData[0])},!w&&{data:o.options.data},f);s=k.concat(s);s.forEach(function(n){s[n]=o[n];delete o[n]});o.remove(!1,null,!1,!0);for(b in d)o[b]=void 0;h[p||y]?r(o,h[p||y].prototype):n.error(17,!0,l);s.forEach(function(n){o[n]=s[n]});o.init(l,f);w&&this.points&&(c=o.options,!1===c.visible?(v.graphic=1,v.dataLabel=1):(c.marker&&!1===c.marker.enabled&&!o._hasPointMarkers&&(v.graphic=1),c.dataLabels&&!1===c.dataLabels.enabled&&!o._hasPointLabels&&(v.dataLabel=1)),this.points.forEach(function(n){n&&n.series&&(n.resolveColor(),Object.keys(v).length&&n.destroyElements(v),!1===c.showInLegend&&n.legendItem&&l.legend.destroyItem(n))},this));f.zIndex!==a.zIndex&&k.forEach(function(n){o[n]&&o[n].attr({zIndex:f.zIndex})});o.initialType=y;l.linkSeries();i(this,"afterUpdate");t(e,!0)&&l.redraw(w?void 0:!1)},setName:function(n){this.name=this.options.name=this.userOptions.name=n;this.chart.isDirtyLegend=!0}});r(l.prototype,{update:function(n,i){var f=this.chart,e=n&&n.events||{};n=u(this.userOptions,n);f.options[this.coll].indexOf&&(f.options[this.coll][f.options[this.coll].indexOf(this.userOptions)]=n);s(f.options[this.coll].events,function(n,t){"undefined"==typeof e[t]&&(e[t]=void 0)});this.destroy(!0);this.init(f,r(n,{events:e}));f.isDirtyBox=!0;t(i,!0)&&f.redraw()},remove:function(n){for(var i=this.chart,r=this.coll,u=this.series,f=u.length;f--;)u[f]&&u[f].remove(!1);v(i.axes,this);v(i[r],this);k(i.options[r])?i.options[r].splice(this.options.index,1):delete i.options[r];i[r].forEach(function(n,t){n.options.index=n.userOptions.index=t});this.destroy();i.isDirtyBox=!0;t(n,!0)&&i.redraw()},setTitle:function(n,t){this.update({title:n},t)},setCategories:function(n,t){this.update({categories:n},t)}})}),i(t,"parts/AreaSeries.js",[t["parts/Globals.js"]],function(n){var r=n.color,t=n.pick,i=n.Series,u=n.seriesType;u("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(i){var s=[],f=[],y=this.xAxis,e=this.yAxis,o=e.stacks[this.stackKey],u={},h=this.index,c=e.series,l=c.length,a,v=t(e.options.reversedStacks,!0)?1:-1,r;if(i=i||this.points,this.options.stacking){for(r=0;rn&&e>u?(e=Math.max(n,u),f=2*u-e):er&&f>u?(f=Math.max(r,u),e=2*u-f):f=Math.abs(t)&&.5n.closestPointRange*n.xAxis.transA,a=n.borderWidth=t(s.borderWidth,a?0:1),r=n.yAxis,h=s.threshold,f=n.translatedThreshold=r.getThreshold(h),u=t(s.minPointLength,5),v=n.getColumnMetrics(),c=v.width,l=n.barW=Math.max(c,1+2*a),y=n.pointXOffset=v.offset,p=n.dataMin,w=n.dataMax;e.inverted&&(f-=.5);s.pointPadding&&(l=Math.ceil(l));i.prototype.translate.apply(n);n.points.forEach(function(i){var k=t(i.yBottom,f),s=999+Math.abs(k),nt=c,s=Math.min(Math.max(-s,i.plotY),r.len+s),a=i.plotX+y,v=l,d=Math.min(s,k),g,b=Math.max(s,k)-d;u&&Math.abs(b)u?k-u:f-(g?u:0));o(i.options.pointWidth)&&(nt=v=Math.ceil(i.options.pointWidth),a-=Math.round((nt-c)/2));i.barX=a;i.pointWidth=nt;i.tooltipPos=e.inverted?[r.len+r.pos-e.plotLeft-s,n.xAxis.len-a-v/2,b]:[a+v/2,s+r.pos-e.plotTop,b];i.shapeType=n.pointClass.prototype.shapeType||"rect";i.shapeArgs=n.crispCol.apply(n,i.isNull?[a,f,v,0]:[a,d,v,b])})},getSymbol:n.noop,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(n,i){var h=this.options,e,u=this.pointAttrToOptions||{};e=u.stroke||"borderColor";var a=u["stroke-width"]||"borderWidth",s=n&&n.color||this.color,c=n&&n[e]||h[e]||this.color||s,l=n&&n[a]||h[a]||this[a]||0,u=n&&n.dashStyle||h.dashStyle,v=t(h.opacity,1),o;return n&&this.zones.length&&(o=n.getZone(),s=n.options.color||o&&o.color||this.color,o&&(c=o.borderColor||c,u=o.dashStyle||u,l=o.borderWidth||l)),i&&(n=r(h.states[i],n.options.states&&n.options.states[i]||{}),i=n.brightness,s=n.color||void 0!==i&&f(s).brighten(n.brightness).get()||s,c=n[e]||c,l=n[a]||l,u=n.dashStyle||u,v=t(n.opacity,v)),e={fill:s,stroke:c,"stroke-width":l,opacity:v},u&&(e.dashstyle=u),e},drawPoints:function(){var t=this,i=this.chart,n=t.options,f=i.renderer,e=n.animationLimit||250,u;t.points.forEach(function(o){var h=o.graphic,c=h&&i.pointCount●<\/span> {series.name}<\/span>
',pointFormat:"x: {point.x}<\/b>
y: {point.y}<\/b>
"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&t.prototype.drawGraph.call(this)},applyJitter:function(){var t=this,n=this.options.jitter,i=this.points.length;n&&this.points.forEach(function(r,u){["x","y"].forEach(function(f,e){var o,s="plot"+f.toUpperCase(),h,c;n[f]&&!r.isNull&&(o=t[f+"Axis"],c=n[f]*o.transA,o&&!o.isLog&&(h=Math.max(0,r[s]-c),o=Math.min(o.len,r[s]+c),e=1e4*Math.sin(u+e*i),r[s]=h+(o-h)*(e-Math.floor(e)),"x"===f&&(r.clientX=r.plotX)))})})}});n.addEvent(t,"afterTranslate",function(){this.applyJitter&&this.applyJitter()})}),i(t,"mixins/centered-series.js",[t["parts/Globals.js"]],function(n){var t=n.deg2rad,i=n.isNumber,r=n.pick,u=n.relativeLength;n.CenteredSeriesMixin={getCenter:function(){for(var i=this.options,f=this.chart,e=2*(i.slicedOffset||0),s=f.plotWidth-2*e,f=f.plotHeight-2*e,n=i.center,n=[r(n[0],"50%"),r(n[1],"50%"),i.size||"100%",i.innerSize||0],h=Math.min(s,f),o,t=0;4>t;++t)o=n[t],i=2>t||2===t&&/%$/.test(o),n[t]=u(o,[s,f,h,n[2]][t])+(i?e:0);return n[3]>n[2]&&(n[3]=n[2]),n},getStartAndEndRadians:function(n,r){return n=i(n)?n:0,r=i(r)&&r>n&&360>r-n?r:n+360,{start:t*(n+-90),end:t*(r+-90)}}}}),i(t,"parts/PieSeries.js",[t["parts/Globals.js"]],function(n){var i=n.addEvent,r=n.CenteredSeriesMixin,e=n.defined,o=r.getStartAndEndRadians,u=n.merge,f=n.noop,t=n.pick,s=n.Point,h=n.Series,c=n.seriesType,l=n.setAnimation;c("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,distance:30,enabled:!0,formatter:function(){if(!this.point.isNull)return this.point.name},softConnector:!0,x:0,connectorShape:"fixedOffset",crookDistance:"70%"},ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:n.seriesTypes.column.prototype.pointAttribs,animate:function(n){var t=this,r=t.points,i=t.startAngleRad;n||(r.forEach(function(n){var r=n.graphic,u=n.shapeArgs;r&&(r.attr({r:n.startR||t.center[3]/2,start:i,end:i}),r.animate({r:u.r,start:u.start,end:u.end},t.options.animation))}),t.animate=null)},hasData:function(){return!!this.processedXData.length},updateTotals:function(){for(var i=0,r=this.points,u=r.length,n,f=this.options.ignoreHiddenPoint,t=0;t1.5*Math.PI?u-=2*Math.PI:u<-Math.PI/2&&(u+=2*Math.PI),r.slicedTranslation={translateX:Math.round(Math.cos(u)*v),translateY:Math.round(Math.sin(u)*v)},s=Math.cos(u)*i[2]/2,h=Math.sin(u)*i[2]/2,r.tooltipPos=[i[0]+.7*s,i[1]+.7*h],r.half=u<-Math.PI/2||u>Math.PI/2?1:0,r.angle=u,e=Math.min(w,r.labelDistance/5),r.labelPosition={natural:{x:i[0]+s+Math.cos(u)*r.labelDistance,y:i[1]+h+Math.sin(u)*r.labelDistance},final:{},alignment:0>r.labelDistance?"center":r.half?"right":"left",connectorPosition:{breakAt:{x:i[0]+s+Math.cos(u)*e,y:i[1]+h+Math.sin(u)*e},touchingSliceAt:{x:i[0]+s,y:i[1]+h}}}},drawGraph:null,redrawPoints:function(){var n=this,i=n.chart,s=i.renderer,r,t,f,e,o=n.options.shadow;!o||n.shadowGroup||i.styledMode||(n.shadowGroup=s.g("shadow").attr({zIndex:-1}).add(n.group));n.points.forEach(function(h){var l={},c;t=h.graphic;!h.isNull&&t?(e=h.shapeArgs,r=h.getTranslate(),i.styledMode||(c=h.shadowGroup,o&&!c&&(c=h.shadowGroup=s.g("shadow").add(n.shadowGroup)),c&&c.attr(r),f=n.pointAttribs(h,h.selected&&"select")),h.delayedRendering?(t.setRadialReference(n.center).attr(e).attr(r),i.styledMode||t.attr(f).attr({"stroke-linejoin":"round"}).shadow(o,c),h.delayedRendering=!1):(t.setRadialReference(n.center),i.styledMode||u(!0,l,f),u(!0,l,e,r),t.animate(l)),t.attr({visibility:h.visible?"inherit":"hidden"}),t.addClass(h.getClassName())):t&&(h.graphic=t.destroy())})},drawPoints:function(){var n=this.chart.renderer;this.points.forEach(function(t){t.graphic||(t.graphic=n[t.shapeType](t.shapeArgs).add(t.series.group),t.delayedRendering=!0)})},searchPoint:f,sortByAngle:function(n,t){n.sort(function(n,i){return void 0!==n.angle&&(i.angle-n.angle)*t})},drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,getCenter:r.getCenter,getSymbol:f},{init:function(){s.prototype.init.apply(this,arguments);var n=this,r;return n.name=t(n.name,"Slice"),r=function(t){n.slice("select"===t.type)},i(n,"select",r),i(n,"unselect",r),n},isValid:function(){return n.isNumber(this.y,!0)&&0<=this.y},setVisible:function(n,i){var r=this,u=r.series,f=u.chart,e=u.options.ignoreHiddenPoint;i=t(i,e);n!==r.visible&&(r.visible=r.options.visible=n=void 0===n?!r.visible:n,u.options.data[u.data.indexOf(r)]=r.options,["graphic","dataLabel","connector","shadowGroup"].forEach(function(t){r[t]&&r[t][n?"show":"hide"](!0)}),r.legendItem&&f.legend.colorizeItem(r,n),n||"hover"!==r.state||r.setState(""),e&&(u.isDirty=!0),i&&f.redraw())},slice:function(n,i,r){var u=this.series;l(r,u.chart);t(i,!0);this.sliced=this.options.sliced=e(n)?n:!this.sliced;u.options.data[u.data.indexOf(this)]=this.options;this.graphic.animate(this.getTranslate());this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(n){var t=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(t.x,t.y,t.r+n,t.r+n,{innerR:this.shapeArgs.r-1,start:t.start,end:t.end})},connectorShapes:{fixedOffset:function(n,t,i){var r=t.breakAt;return t=t.touchingSliceAt,["M",n.x,n.y].concat(i.softConnector?["C",n.x+("left"===n.alignment?-5:5),n.y,2*r.x-t.x,2*r.y-t.y,r.x,r.y]:["L",r.x,r.y]).concat(["L",t.x,t.y])},straight:function(n,t){return t=t.touchingSliceAt,["M",n.x,n.y,"L",t.x,t.y]},crookedLine:function(t,i,r){i=i.touchingSliceAt;var f=this.series,u=f.center[0],s=f.chart.plotWidth,o=f.chart.plotLeft,f=t.alignment,e=this.shapeArgs.r;return r=n.relativeLength(r.crookDistance,1),r="left"===f?u+e+(s+o-u-e)*(1-r):o+(u-e)*r,u=["L",r,t.y],("left"===f?r>t.x||ri.x)&&(u=[]),["M",t.x,t.y].concat(u).concat(["L",i.x,i.y])}},getConnectorPath:function(){var n=this.labelPosition,i=this.series.options.dataLabels,t=i.connectorShape,r=this.connectorShapes;return r[t]&&(t=r[t]),t.call(this,{x:n.final.x,y:n.final.y,alignment:n.alignment},n.connectorPosition,i)}})}),i(t,"parts/DataLabels.js",[t["parts/Globals.js"]],function(n){var h=n.arrayMax,u=n.defined,s=n.extend,c=n.format,f=n.merge,l=n.noop,t=n.pick,a=n.relativeLength,e=n.Series,i=n.seriesTypes,o=n.stableSort,r=n.isArray,v=n.splat;n.distribute=function(i,r,u){function l(n,t){return n.target-t.target}var f,s=!0,e=i,a=[],h,c;for(h=0,c=e.reducedLen||r,f=i.length;f--;)h+=i[f].size;if(h>c){for(o(i,function(n,t){return(t.rank||0)-(n.rank||0)}),h=f=0;h<=c;)h+=i[f].size,f++;a=i.splice(f-1,i.length)}for(o(i,l),i=i.map(function(n){return{size:n.size,targets:[n.target],align:t(n.align,.5)}});s;){for(f=i.length;f--;)s=i[f],h=(Math.min.apply(0,s.targets)+Math.max.apply(0,s.targets))/2,s.pos=Math.min(Math.max(0,h-s.size*s.align),r-s.size);for(f=i.length,s=!1;f--;)0i[f].pos&&(i[f-1].size+=i[f].size,i[f-1].targets=i[f-1].targets.concat(i[f].targets),i[f-1].align=.5,i[f-1].pos+i[f-1].size>r&&(i[f-1].pos=r-i[f-1].size),i.splice(f,1),s=!0)}e.push.apply(e,a);f=0;i.some(function(t){var i=0;if(t.targets.some(function(){if(e[f].pos=t.pos+i,Math.abs(e[f].pos-e[f].target)>u)return e.slice(0,f+1).forEach(function(n){delete n.pos}),e.reducedLen=(e.reducedLen||r)-.1*r,e.reducedLen>.1*r&&n.distribute(e,r,u),!0;i+=e[f].size;f++}))return!0});o(e,l)};e.prototype.drawDataLabels=function(){function d(n,t){var i=t.filter;return i?(t=i.operator,n=n[i.property],i=i.value,">"===t&&n>i||"<"===t&&n="===t&&n>=i||"<="===t&&n<=i||"=="===t&&n==i||"==="===t&&n===i?!0:!1):!0}function l(n,t){var i=[],u;if(r(n)&&!r(t))i=n.map(function(n){return f(n,t)});else if(r(t)&&!r(n))i=t.map(function(t){return f(n,t)});else if(r(n)||r(t))for(u=Math.max(n.length,t.length);u--;)i[u]=f(n[u],t[u]);else i=f(n,t);return i}var i=this,e=i.chart,o=i.options,s=o.dataLabels,g=i.points,w,a=i.hasRendered||0,h,b=n.animObject(o.animation).duration,y=Math.min(b,200),k=!e.renderer.forExport&&t(s.defer,0t(f.distance,r.labelDistance)||o.stacking?r.contrastColor:"#000000"),o.cursor&&(a.cursor=o.cursor)),y={r:f.borderRadius||0,rotation:b,padding:f.padding,zIndex:1},e.styledMode||(y.fill=f.backgroundColor,y.stroke=f.borderColor,y["stroke-width"]=f.borderWidth),n.objectEach(y,function(n,t){void 0===n&&delete y[t]}));!l||w&&u(v)?w&&u(v)&&(l?y.text=v:(r.dataLabels=r.dataLabels||[],l=r.dataLabels[s]=b?p.text(v,0,-9999).addClass("highcharts-data-label"):p.label(v,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),s||(r.dataLabel=l),l.addClass(" highcharts-data-label-color-"+r.colorIndex+" "+(f.className||"")+(f.useHTML?" highcharts-tracker":""))),l.options=f,l.attr(y),e.styledMode||l.css(a).shadow(f.shadow),l.added||l.add(h),f.textPath&&!f.useHTML&&l.setTextPath(r.getDataLabelPath&&r.getDataLabelPath(l)||r.graphic,f.textPath),i.alignDataLabel(r,l,f,null,g)):(r.dataLabel=r.dataLabel&&r.dataLabel.destroy(),r.dataLabels&&(1===r.dataLabels.length?delete r.dataLabels:delete r.dataLabels[s]),s||delete r.dataLabel,k&&(r.connector=r.connector.destroy(),r.connectors&&(1===r.connectors.length?delete r.connectors:delete r.connectors[s])))})}));n.fireEvent(this,"afterDrawDataLabels")};e.prototype.alignDataLabel=function(n,i,r,u,f){var o=this.chart,l=this.isCartesian&&o.inverted,e=t(n.dlBox&&n.dlBox.centerX,n.plotX,-9999),c=t(n.plotY,-9999),h=i.getBBox(),p,a=r.rotation,v=r.align,y=this.visible&&(n.series.forceDL||o.isInsidePlot(e,Math.round(c),l)||u&&o.isInsidePlot(e,l?u.x+1:u.y+u.height-1,l)),w="justify"===t(r.overflow,"justify");y&&(p=o.renderer.fontMetrics(o.styledMode?void 0:r.style.fontSize,i).b,u=s({x:l?this.yAxis.len-c:e,y:Math.round(l?this.xAxis.len-e:c),width:0,height:0},u),s(r,{width:h.width,height:h.height}),a?(w=!1,e=o.renderer.rotCorr(p,a),e={x:u.x+r.x+u.width/2+e.x,y:u.y+r.y+{top:0,middle:.5,bottom:1}[r.verticalAlign]*u.height},i[f?"attr":"animate"](e).attr({align:v}),c=(a+720)%360,c=180c,"left"===v?e.y-=c?h.height:0:"center"===v?(e.x-=h.width/2,e.y-=h.height/2):"right"===v&&(e.x-=h.width,e.y-=c?0:h.height),i.placed=!0,i.alignAttr=e):(i.align(r,null,u),e=i.alignAttr),w&&0<=u.height?n.isLabelJustified=this.justifyDataLabel(i,r,e,h,u,f):t(r.crop,!0)&&(y=o.isInsidePlot(e.x,e.y)&&o.isInsidePlot(e.x+h.width,e.y+h.height)),r.shape&&!a)&&i[f?"attr":"animate"]({anchorX:l?o.plotWidth-n.plotY:n.plotX,anchorY:l?o.plotHeight-n.plotX:n.plotY});y||(i.attr({y:-9999}),i.placed=!1)};e.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,c=t.align,l=t.verticalAlign,e,o,h=n.box?0:n.padding||0;return e=i.x+h,0>e&&("right"===c?t.align="left":t.x=-e,o=!0),e=i.x+r.width-h,e>s.plotWidth&&("left"===c?t.align="right":t.x=s.plotWidth-e,o=!0),e=i.y+h,0>e&&("bottom"===l?t.verticalAlign="top":t.y=-e,o=!0),e=i.y+r.height-h,e>s.plotHeight&&("top"===l?t.verticalAlign="bottom":t.y=s.plotHeight-e,o=!0),o&&(n.placed=!f,n.align(t,null,u)),o};i.pie&&(i.pie.prototype.dataLabelPositioners={radialDistributionY:function(n){return n.top+n.distributeBox.pos},radialDistributionX:function(n,t,i,r){return n.getX(it.bottom-2?r:i,t.half,t)},justify:function(n,t,i){return i[0]+(n.half?-1:1)*(t+n.labelDistance)},alignToPlotEdges:function(n,t,i,r){return n=n.getBBox().width,t?n+r:i-n-r},alignToConnectors:function(n,t,i,r){var u=0,f;return n.forEach(function(n){f=n.dataLabel.getBBox().width;f>u&&(u=f)}),t?u+r:i-u-r}},i.pie.prototype.drawDataLabels=function(){var i=this,et=i.data,r,v=i.chart,c=i.options.dataLabels,p=c.connectorPadding,ot,tt=v.plotWidth,st=v.plotHeight,ht=v.plotLeft,ct=Math.round(v.chartWidth/3),y,ut=i.center,b=ut[2]/2,it=ut[1],l,k,w,d,lt=[[],[]],o,a,g,rt,s=[0,0,0,0],nt=i.dataLabelPositioners,ft;i.visible&&(c.enabled||i._hasPointLabels)&&(et.forEach(function(n){n.dataLabel&&n.visible&&n.dataLabel.shortened&&(n.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),n.dataLabel.shortened=!1)}),e.prototype.drawDataLabels.apply(i),et.forEach(function(n){n.dataLabel&&(n.visible?(lt[n.half].push(n),n.dataLabel._pos=null,!u(c.style.width)&&!u(n.options.dataLabels&&n.options.dataLabels.style&&n.options.dataLabels.style.width)&&n.dataLabel.getBBox().width>ct&&(n.dataLabel.css({width:.7*ct}),n.dataLabel.shortened=!0)):(n.dataLabel=n.dataLabel.destroy(),n.dataLabels&&1===n.dataLabels.length&&delete n.dataLabels))}),lt.forEach(function(f,e){var h,et,ot=f.length,ft=[],y;if(ot)for(i.sortByAngle(f,e-.5),0tt-p&&0===e&&(h=Math.round(o+k-tt+p),s[1]=Math.max(h,s[1])),0>a-d/2?s[0]=Math.max(Math.round(-a+d/2),s[0]):a+d/2>st&&(s[2]=Math.max(Math.round(a+d/2-st),s[2])),l.sideOverflow=h)}}),0===h(s)||this.verifyDataLabelOverflow(s))&&(this.placeDataLabels(),this.points.forEach(function(n){if(ft=f(c,n.options.dataLabels),ot=t(ft.connectorWidth,1)){var r;y=n.connector;(l=n.dataLabel)&&l._pos&&n.visible&&0t(this.translatedThreshold,c.yAxis.len)),a=t(r.inside,!!this.options.stacking);s&&(u=f(s),0>u.y&&(u.height+=u.y,u.y=0),s=u.y+u.height-c.yAxis.len,0n+i||u+et+r||f+o=f&&s<=l||h||!n.defined(s))&&(c=!0);u[h?"zoomX":"zoomY"]&&c&&(e=i.zoom(t.min,t.max),i.displayBtn&&(o=!0))});f=r.resetZoomButton;o&&!f?r.showResetZoom():!o&&p(f)&&(r.resetZoomButton=f.destroy());e&&r.redraw(i(r.options.chart.animation,t&&t.animation,100>r.pointCount))},pan:function(n,i){var r=this,u=r.hoverPoints,f;t(this,"pan",{originalEvent:n},function(){u&&u.forEach(function(n){n.setState()});("xy"===i?[1,0]:[1]).forEach(function(t){t=r[t?"xAxis":"yAxis"][0];var c=t.horiz,l=n[c?"chartX":"chartY"],c=c?"mouseDownX":"mouseDownY",e=r[c],h=(t.pointRange||0)/2,o=t.reversed&&!r.inverted||!t.reversed&&r.inverted?-1:1,i=t.getExtremes(),u=t.toValue(e-l,!0)+h*o,o=t.toValue(e+t.len-l,!0)-h*o,s=o=t(r.minWidth,0)&&this.chartHeight>=t(r.minHeight,0)}).call(this)&&i.push(n._id)};i.prototype.currentOptions=function(i){function e(i,o,h,c){var l;n.objectEach(i,function(n,i){if(!c&&-1{point.name}<\/b>: {point.value}
"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:"right",x:-10,y:10}},traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,opacity:.15,states:{hover:{borderColor:"#999999",brightness:s.heatmap?0:.1,halo:!1,opacity:.75,shadow:!1}}},{pointArrayMap:["value"],directTouch:!0,optionalAxis:"colorAxis",getSymbol:a,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",trackerGroups:["group","dataLabelsGroup"],getListOfParents:function(n,t){n=v(n)?n:[];var i=v(t)?t:[];return t=n.reduce(function(n,t,i){return t=r(t.parent,""),void 0===n[t]&&(n[t]=[]),n[t].push(i),n},{"":[]}),it(t,function(n,t,r){""!==t&&-1===i.indexOf(t)&&(n.forEach(function(n){r[""].push(n)}),delete r[t])}),t},getTree:function(){var n=this.data.map(function(n){return n.id}),n=this.getListOfParents(this.data,n);return this.nodeMap=[],this.buildNode("",-1,0,n,null)},hasData:function(){return!!this.processedXData.length},init:function(t,i){var r=n.colorSeriesMixin;n.colorSeriesMixin&&(this.translateColors=r.translateColors,this.colorAttribs=r.colorAttribs,this.axisTypes=r.axisTypes);l(this,"setOptions",function(n){n=n.userOptions;e(n.allowDrillToNode)&&!e(n.allowTraversingTree)&&(n.allowTraversingTree=n.allowDrillToNode,delete n.allowDrillToNode);e(n.drillUpButton)&&!e(n.traverseUpButton)&&(n.traverseUpButton=n.drillUpButton,delete n.drillUpButton)});u.prototype.init.call(this,t,i);this.options.allowTraversingTree&&l(this,"click",this.onClickDrillToNode)},buildNode:function(n,t,i,r,u){var f=this,s=[],h=f.points[t],e=0,o;return(r[n]||[]).forEach(function(t){o=f.buildNode(f.points[t].id,t,i+1,r,n);e=Math.max(o.height+1,e);s.push(o)}),t={id:n,i:t,children:s,height:e,level:i,parent:u,visible:!1},f.nodeMap[t.id]=t,h&&(h.node=t),t},setTreeValues:function(n){var i=this,e=i.options,s=i.nodeMap[i.rootNode],e="boolean"==typeof e.levelIsConstant?e.levelIsConstant:!0,f=0,o=[],u,t=i.points[n.i];return n.children.forEach(function(n){n=i.setTreeValues(n);o.push(n);n.ignore||(f+=n.val)}),tt(o,function(n,t){return n.sortIndex-t.sortIndex}),u=r(t&&t.options.value,f),t&&(t.value=u),h(n,{children:o,childrenTotal:f,ignore:!(r(t&&t.visible,!0)&&0r.lP.lR&&e.algorithmCalcPoints(n,!1,r,u,f);s===h&&e.algorithmCalcPoints(n,!0,r,u,f);s+=1}),u},algorithmFill:function(n,t,i){var o=[],f,e=t.direction,s=t.x,h=t.y,c=t.width,l=t.height,a,v,r,u;return i.forEach(function(i){f=i.val/t.val*t.height*t.width;a=s;v=h;0===e?(u=l,r=f/u,c-=r,s+=r):(r=c,u=f/r,l-=u,h+=u);o.push({x:a,y:v,width:r,height:u});n&&(e=1-e)}),o},strip:function(n,t){return this.algorithmLowAspectRatio(!1,n,t)},squarified:function(n,t){return this.algorithmLowAspectRatio(!0,n,t)},sliceAndDice:function(n,t){return this.algorithmFill(!0,n,t)},stripes:function(n,t){return this.algorithmFill(!1,n,t)},translate:function(){var n=this,t=n.options,i=rt(n),r,e;u.prototype.translate.call(n);e=n.tree=n.getTree();r=n.nodeMap[i];n.renderTraverseUpButton(i);n.mapOptionsToLevel=g({from:r.level+1,levels:t.levels,to:e.height,defaults:{levelIsConstant:n.options.levelIsConstant,colorByPoint:t.colorByPoint}});""===i||r&&r.children.length||(n.setRootNode("",!1),i=n.rootNode,r=n.nodeMap[i]);o(n.nodeMap[n.rootNode],function(t){var r=!1,i=t.parent;return t.visible=!0,(i||""===i)&&(r=n.nodeMap[i]),r});o(n.nodeMap[n.rootNode].children,function(n){var t=!1;return n.forEach(function(n){n.visible=!0;n.children.length&&(t=(t||[]).concat(n.children))}),t});n.setTreeValues(e);n.axisRatio=n.xAxis.len/n.yAxis.len;n.nodeMap[""].pointValues=i={x:0,y:0,width:100,height:100};n.nodeMap[""].values=i=f(i,{width:i.width*n.axisRatio,direction:"vertical"===t.layoutStartingDirection?0:1,val:e.val});n.calculateChildrenAreas(e,i);n.colorAxis?n.translateColors():t.colorByPoint||n.setColorRecursive(n.tree);t.allowTraversingTree&&(t=r.pointValues,n.xAxis.setExtremes(t.x,t.x+t.width,!1),n.yAxis.setExtremes(t.y,t.y+t.height,!1),n.xAxis.setScale(),n.yAxis.setScale());n.setPointValues()},drawDataLabels:function(){var i=this,r=i.mapOptionsToLevel,n,t;i.points.filter(function(n){return n.node.visible}).forEach(function(u){t=r[u.node.level];n={style:{}};u.node.isLeaf||(n.enabled=!1);t&&t.dataLabels&&(n=f(n,t.dataLabels),i._hasPointLabels=!0);u.shapeArgs&&(n.style.width=u.shapeArgs.width,u.dataLabel&&u.dataLabel.css({width:u.shapeArgs.width+"px"}));u.dlOptions=f(n,u.options.dataLabels)});u.prototype.drawDataLabels.call(this)},alignDataLabel:function(t,i,r){var u=r.style;!n.defined(u.textOverflow)&&i.text&&i.getBBox().width>i.text.textWidth&&i.css({textOverflow:"ellipsis",width:u.width+="px"});s.column.prototype.alignDataLabel.apply(this,arguments);t.dataLabel&&t.dataLabel.attr({zIndex:(t.node.zIndex||0)+1})},pointAttribs:function(n,t){var i=nt(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},f=n&&i[n.node.level]||{},i=this.options,u=t&&i.states[t]||{},e=n&&n.getClassName()||"";return n={stroke:n&&n.borderColor||f.borderColor||u.borderColor||i.borderColor,"stroke-width":r(n&&n.borderWidth,f.borderWidth,u.borderWidth,i.borderWidth),dashstyle:n&&n.borderDashStyle||f.borderDashStyle||u.borderDashStyle||i.borderDashStyle,fill:n&&n.color||this.color},-1!==e.indexOf("highcharts-above-level")?(n.fill="none",n["stroke-width"]=0):-1!==e.indexOf("highcharts-internal-node-interactive")?(t=r(u.opacity,i.opacity),n.fill=p(n.fill).setOpacity(t).get(),n.cursor="pointer"):-1!==e.indexOf("highcharts-internal-node")?n.fill="none":t&&(n.fill=p(n.fill).brighten(u.brightness).get()),n},drawPoints:function(){var n=this,i=n.chart,u=i.renderer,r=i.styledMode,t=n.options,o=r?{}:t.shadow,e=t.borderRadius,s=i.pointCounto.innerArcLength&&o.outerArcLength>ut.radius?ft=0:nt=11.5*ut.radius?"parallel":"perpendicular"),"auto"!==nt&&(ft=ut.end-(ut.end-ut.start)/2),c.style.width="parallel"===nt?Math.min(2.5*ut.radius,(o.outerArcLength+o.innerArcLength)/2):ut.radius,"perpendicular"===nt&&o.series.chart.renderer.fontMetrics(c.style.fontSize).h>o.outerArcLength&&(c.style.width=1),c.style.width=Math.max(c.style.width-2*(c.padding||0),1),ft=ft*w%180,"parallel"===nt&&(ft-=90),90ft&&(ft+=180),c.rotation=ft);0===c.rotation&&(c.rotation=.001);o.dlOptions=c;!y&&ht&&(y=!0,ct=v);o.draw({animatableAttribs:st,attribs:s(ot,!h.styledMode&&n.pointAttribs(o,o.selected&&"select")),onComplete:ct,group:it,renderer:rt,shapeType:"arc",shapeArgs:a})});c&&y?(n.hasRendered=!1,n.options.dataLabels.defer=!0,o.prototype.drawDataLabels.call(n),n.hasRendered=!0,nt&&v()):o.prototype.drawDataLabels.call(n)},pointAttribs:n.seriesTypes.column.prototype.pointAttribs,layoutAlgorithm:function(n,t,i){var f=n.start,l=n.end-f,a=n.val,e=n.x,o=n.y,s=i&&u(i.levelSize)&&r(i.levelSize.value)?i.levelSize.value:0,h=n.r,v=h+s,c=i&&r(i.slicedOffset)?i.slicedOffset:0;return(t||[]).reduce(function(n,t){var r=1/a*t.val*l,i=f+r/2,u=e+Math.cos(i)*c,i=o+Math.sin(i)*c;return t={x:t.sliced?u:e,y:t.sliced?i:o,innerR:h,r:v,radius:s,start:f,end:f+r},n.push(t),f=t.end,n},[])},setShapeArgs:function(n,t,i){var r=[],u=i[n.level+1];n=n.children.filter(function(n){return n.visible});r=this.layoutAlgorithm(t,n,u);n.forEach(function(n,t){t=r[t];var e=t.start+(t.end-t.start)/2,u=t.innerR+(t.r-t.innerR)/2,o=t.end-t.start,u=0===t.innerR&&6.28n.val?n.childrenTotal:n.val:n.childrenTotal;this.points[n.i]&&(this.points[n.i].innerArcLength=o*t.innerR,this.points[n.i].outerArcLength=o*t.r);n.shapeArgs=f(t,{plotX:u.x,plotY:u.y+4*Math.abs(Math.cos(e))});n.values=f(t,{val:s});n.children.length&&this.setShapeArgs(n,n.values,i)},this)},translate:function(){var t=this,i=t.options,e=t.center=l.call(t),w=t.startAndEndRadians=y(i.startAngle,i.endAngle),g=e[3]/2,tt=e[2]/2-g,s=k(t),f=t.nodeMap,u,r=f&&f[s],nt,h,a={};t.shapeRoot=r&&r.shapeArgs;o.prototype.translate.call(t);h=t.tree=t.getTree();t.renderTraverseUpButton(s);f=t.nodeMap;r=f[s];u=p(r.parent)?r.parent:"";nt=f[u];u=v({from:0=u?this.scrollbarRifles.hide():this.scrollbarRifles.show(!0),!1===h.showFull&&(0>=n&&1<=t?this.group.hide():this.group.show()),this.rendered=!0)},initEvents:function(){var n=this;n.mouseMoveHandler=function(t){var r=n.chart.pointer.normalize(t),i=n.options.vertical?"chartY":"chartX",f=n.initPositions;!n.grabbedCenter||t.touches&&0===t.touches[0][i]||(r=n.cursorToScrollbarPosition(r)[i],i=n[i],i=r-i,n.hasDragged=!0,n.updatePosition(f[0]+i,f[1]+i),n.hasDragged&&u(n,"changed",{from:n.from,to:n.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))};n.mouseUpHandler=function(t){n.hasDragged&&u(n,"changed",{from:n.from,to:n.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t});n.grabbedCenter=n.hasDragged=n.chartX=n.chartY=null};n.mouseDownHandler=function(t){t=n.chart.pointer.normalize(t);t=n.cursorToScrollbarPosition(t);n.chartX=t.chartX;n.chartY=t.chartY;n.initPositions=[n.from,n.to];n.grabbedCenter=!0};n.buttonToMinClick=function(t){var r=i(n.to-n.from)*n.options.step;n.updatePosition(i(n.from-r),i(n.to-r));u(n,"changed",{from:n.from,to:n.to,trigger:"scrollbar",DOMEvent:t})};n.buttonToMaxClick=function(t){var i=(n.to-n.from)*n.options.step;n.updatePosition(n.from+i,n.to+i);u(n,"changed",{from:n.from,to:n.to,trigger:"scrollbar",DOMEvent:t})};n.trackClick=function(t){var r=n.chart.pointer.normalize(t),i=n.to-n.from,f=n.y+n.scrollbarTop,e=n.x+n.scrollbarLeft;n.options.vertical&&r.chartY>f||!n.options.vertical&&r.chartX>e?n.updatePosition(n.from+i,n.to+i):n.updatePosition(n.from-i,n.to-i);u(n,"changed",{from:n.from,to:n.to,trigger:"scrollbar",DOMEvent:t})}},cursorToScrollbarPosition:function(n){var t=this.options,t=t.minWidth>this.calculatedWidth?t.minWidth:0;return{chartX:(n.chartX-this.x-this.xOffset)/(this.barWidth-t),chartY:(n.chartY-this.y-this.yOffset)/(this.barWidth-t)}},updatePosition:function(n,t){1n&&(t=i(t-n),n=0);this.from=n;this.to=t},update:function(n){this.destroy();this.init(this.chart.renderer,s(!0,this.options,n),this.chart)},addEvents:function(){var t=this.options.inverted?[1,0]:[0,1],i=this.scrollbarButtons,n=this.scrollbarGroup.element,u=this.mouseDownHandler,f=this.mouseMoveHandler,e=this.mouseUpHandler,t=[[i[t[0]].element,"click",this.buttonToMinClick],[i[t[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[n,"mousedown",u],[n.ownerDocument,"mousemove",f],[n.ownerDocument,"mouseup",e]];v&&t.push([n,"touchstart",u],[n.ownerDocument,"touchmove",f],[n.ownerDocument,"touchend",e]);t.forEach(function(n){r.apply(null,n)});this._events=t},removeEvents:function(){this._events.forEach(function(n){y.apply(null,n)});this._events.length=0},destroy:function(){var n=this.chart.scroller;this.removeEvents();["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(n){this[n]&&this[n].destroy&&(this[n]=this[n].destroy())},this);n&&this===n.scrollbar&&(n.scrollbar=null,a(n.scrollbarButtons))}};n.Scrollbar||(r(o,"afterInit",function(){var i=this;i.options&&i.options.scrollbar&&i.options.scrollbar.enabled&&(i.options.scrollbar.vertical=!i.horiz,i.options.startOnTick=i.options.endOnTick=!1,i.scrollbar=new e(i.chart.renderer,i.options.scrollbar,i.chart),r(i.scrollbar,"changed",function(r){var u=Math.min(t(i.options.min,i.min),i.min,i.dataMin),e=Math.max(t(i.options.max,i.max),i.max,i.dataMax)-u,o;i.horiz&&!i.reversed||!i.horiz&&i.reversed?(o=u+e*this.to,u+=e*this.from):(o=u+e*(1-this.from),u+=e*(1-this.to));t(this.options.liveRedraw,n.svg&&!n.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===r.DOMType||!f(r.DOMType)?i.setExtremes(u,o,!0,"mousemove"!==r.DOMType,r):this.setRange(this.from,this.to)}))}),r(o,"afterRender",function(){var i=Math.min(t(this.options.min,this.min),this.min,t(this.dataMin,this.min)),o=Math.max(t(this.options.max,this.max),this.max,t(this.dataMax,this.max)),r=this.scrollbar,u=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,e=this.options.margin||0;r&&(this.horiz?(this.opposite||(n[1]+=u),r.position(this.left,this.top+this.height+2+n[1]-(this.opposite?e:0),this.width,this.height),this.opposite||(n[1]+=e),u=1):(this.opposite&&(n[0]+=u),r.position(this.left+this.width+2+n[0]-(this.opposite?0:e),this.top,this.width,this.height),this.opposite&&(n[0]+=e),u=0),n[u]+=r.size+r.options.margin,isNaN(i)||isNaN(o)||!f(this.min)||!f(this.max)||this.min===this.max?r.setRange(0,1):(n=(this.min-i)/(o-i),i=(this.max-i)/(o-i),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(n,i):r.setRange(1-i,1-n)))}),r(o,"afterGetOffset",function(){var t=this.horiz?2:1,n=this.scrollbar;n&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[t]+=n.size+n.options.margin)}),n.Scrollbar=e)});t(n,"parts/Navigator.js",[n["parts/Globals.js"]],function(n){function c(n){this.init(n)}var t=n.addEvent,o=n.Axis,f=n.Chart,b=n.color,a=n.defaultOptions,e=n.defined,k=n.destroyObjectProperties,s=n.erase,y=n.extend,d=n.hasTouch,p=n.isArray,r=n.isNumber,h=n.isTouchDevice,u=n.merge,i=n.pick,v=n.removeEvent,g=n.Scrollbar,nt=n.Series,w,l=function(n){var t=[].filter.call(arguments,r);if(t.length)return Math[n].apply(0,t)};w=void 0===n.seriesTypes.areaspline?"line":"areaspline";y(a,{navigator:{height:40,margin:25,maskInside:!0,handles:{width:7,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:b("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:w,fillOpacity:.05,lineWidth:1,compare:null,dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,smoothed:!0,units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},pointRange:0,threshold:null},xAxis:{overscroll:0,className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#999999"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}});n.Renderer.prototype.symbols["navigator-handle"]=function(n,t,i,r,u){return n=u.width/2,t=Math.round(n/3)+.5,u=u.height,["M",-n-1,.5,"L",n,.5,"L",n,u+.5,"L",-n-1,u+.5,"L",-n-1,.5,"M",-t,4,"L",-t,u-3,"M",t-1,4,"L",t-1,u-3]};o.prototype.toFixedRange=function(n,t,u,f){var e=this.chart&&this.chart.fixedRange;return n=i(u,this.translate(n,!0,!this.horiz)),t=i(f,this.translate(t,!0,!this.horiz)),u=e&&(t-n)/e,.7u&&(f?n=t-e:t=n+e),r(n)&&r(t)||(n=t=void 0),{min:n,max:t}};c.prototype={drawHandle:function(n,t,i,r){var u=this.navigatorOptions.handles.height;this.handles[t][r](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(n,10)+.5-u)}:{translateX:Math.round(this.left+parseInt(n,10)),translateY:Math.round(this.top+this.height/2-u/2-1)})},drawOutline:function(n,t,i,r){var c=this.navigatorOptions.maskInside,o=this.outline.strokeWidth(),s=o/2,o=o%2/2,e=this.outlineHeight,h=this.scrollbarHeight,l=this.size,u=this.left-h,f=this.top;i?(u-=s,i=f+t+o,t=f+n+o,n=["M",u+e,f-h-o,"L",u+e,i,"L",u,i,"L",u,t,"L",u+e,t,"L",u+e,f+l+h].concat(c?["M",u+e,i-s,"L",u+e,t+s]:[])):(n+=u+h-o,t+=u+h-o,f+=s,n=["M",u,f,"L",n,f,"L",n,f+e,"L",t,f+e,"L",t,f,"L",u+l+2*h,f].concat(c?["M",n-s,f,"L",t+s,f]:[]));this.outline[r]({d:n})},drawMasks:function(n,t,i,r){var u=this.left,f=this.top,e=this.height,o,s,h,c;i?(h=[u,u,u],c=[f,f+n,f+t],s=[e,e,e],o=[n,t-n,this.size-t]):(h=[u,u+n,u+t],c=[f,f,f],s=[n,t-n,this.size-t],o=[e,e,e]);this.shades.forEach(function(n,t){n[r]({x:h[t],y:c[t],width:s[t],height:o[t]})})},renderElements:function(){var t=this,n=t.navigatorOptions,f=n.maskInside,i=t.chart,r=i.renderer,u,e={cursor:i.inverted?"ns-resize":"ew-resize"};t.navigatorGroup=u=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add();[!f,f,!f].forEach(function(f,o){t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(u);i.styledMode||t.shades[o].attr({fill:f?n.maskFill:"rgba(0,0,0,0)"}).css(1===o&&e)});t.outline=r.path().addClass("highcharts-navigator-outline").add(u);i.styledMode||t.outline.attr({"stroke-width":n.outlineWidth,stroke:n.outlineColor});n.handles.enabled&&[0,1].forEach(function(f){if(n.handles.inverted=i.inverted,t.handles[f]=r.symbol(n.handles.symbols[f],-n.handles.width/2-1,0,n.handles.width,n.handles.height,n.handles),t.handles[f].attr({zIndex:7-f}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][f]).add(u),!i.styledMode){var o=n.handles;t.handles[f].attr({fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.lineWidth}).css(e)}})},update:function(n){(this.series||[]).forEach(function(n){n.baseSeries&&delete n.baseSeries.navigatorSeries});this.destroy();u(!0,this.chart.options.navigator,this.options,n);this.init(this.chart)},render:function(t,u,f,o){var c=this.chart,a,h,l=this.scrollbarHeight,p,s=this.xAxis,b,y,v,d,k,w;if(a=s.fake?c.xAxis[0]:s,b=this.navigatorEnabled,v=this.rendered,h=c.inverted,k=c.xAxis[0].minRange,w=c.xAxis[0].options.maxRange,!this.hasDragged||e(f)){if(!r(t)||!r(u))if(v)f=0,o=i(s.width,a.width);else return;this.left=i(s.left,c.plotLeft+l+(h?c.plotWidth:0));this.size=y=p=i(s.len,(h?c.plotHeight:c.plotWidth)-2*l);c=h?l:p+2*l;f=i(f,s.toPixels(t,!0));o=i(o,s.toPixels(u,!0));r(f)&&Infinity!==Math.abs(f)||(f=0,o=c);t=s.toValue(f,!0);u=s.toValue(o,!0);d=Math.abs(n.correctFloat(u-t));dw&&(this.grabbedLeft?f=s.toPixels(u-w,!0):this.grabbedRight&&(o=s.toPixels(t+w,!0)));this.zoomedMax=Math.min(Math.max(f,o,0),y);this.zoomedMin=Math.min(Math.max(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(f,o),0),y);this.range=this.zoomedMax-this.zoomedMin;y=Math.round(this.zoomedMax);f=Math.round(this.zoomedMin);b&&(this.navigatorGroup.attr({visibility:"visible"}),v=v&&!this.hasDragged?"animate":"attr",this.drawMasks(f,y,h,v),this.drawOutline(f,y,h,v),this.navigatorOptions.handles.enabled&&(this.drawHandle(f,0,h,v),this.drawHandle(y,1,h,v)));this.scrollbar&&(h?(h=this.top-l,a=this.left-l+(b||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),l=p+2*l):(h=this.top+(b?this.height:-l),a=this.left-l),this.scrollbar.position(a,h,c,l),this.scrollbar.setRange(this.zoomedMin/(p||1),this.zoomedMax/(p||1)));this.rendered=!0}},addMouseEvents:function(){var n=this,e=n.chart,r=e.container,i=[],u,f;n.mouseMoveHandler=u=function(t){n.onMouseMove(t)};n.mouseUpHandler=f=function(t){n.onMouseUp(t)};i=n.getPartsEvents("mousedown");i.push(t(r,"mousemove",u),t(r.ownerDocument,"mouseup",f));d&&(i.push(t(r,"touchmove",u),t(r.ownerDocument,"touchend",f)),i.concat(n.getPartsEvents("touchstart")));n.eventsToUnbind=i;n.series&&n.series[0]&&i.push(t(n.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(n){var i=this,r=[];return["shades","handles"].forEach(function(u){i[u].forEach(function(f,e){r.push(t(f.element,n,function(n){i[u+"Mousedown"](n,e)}))})}),r},shadesMousedown:function(n,t){n=this.chart.pointer.normalize(n);var u=this.chart,l=this.xAxis,f=this.zoomedMin,o=this.left,s=this.size,i=this.range,r=n.chartX,h,c;u.inverted&&(r=n.chartY,o=this.top);1===t?(this.grabbedCenter=r,this.fixedWidth=i,this.dragOffset=r-f):(n=r-o-i/2,0===t?n=Math.max(0,n):2===t&&n+i>=s&&(n=s-i,this.reversedExtremes?(n-=i,c=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),n!==f&&(this.fixedWidth=i,t=l.toFixedRange(n,n+i,c,h),e(t.min)&&u.xAxis[0].setExtremes(Math.min(t.min,t.max),Math.max(t.min,t.max),!0,null,{trigger:"navigator"})))},handlesMousedown:function(n,t){this.chart.pointer.normalize(n);n=this.chart;var i=n.xAxis[0],r=this.reversedExtremes;0===t?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?i.min:i.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?i.max:i.min);n.fixedRange=null},onMouseMove:function(t){var r=this,u=r.chart,e=r.left,s=r.navigatorSize,o=r.range,f=r.dragOffset,c=u.inverted;t.touches&&0===t.touches[0].pageX||(t=u.pointer.normalize(t),u=t.chartX,c&&(e=r.top,u=t.chartY),r.grabbedLeft?(r.hasDragged=!0,r.render(0,0,u-e,r.otherHandlePos)):r.grabbedRight?(r.hasDragged=!0,r.render(0,0,r.otherHandlePos,u-e)):r.grabbedCenter&&(r.hasDragged=!0,us+f-o&&(u=s+f-o),r.render(0,0,u-f,u-f+o)),r.hasDragged&&r.scrollbar&&i(r.scrollbar.options.liveRedraw,n.svg&&!h&&!this.chart.isBoosting)&&(t.DOMType=t.type,setTimeout(function(){r.onMouseUp(t)},0)))},onMouseUp:function(n){var f=this.chart,t=this.xAxis,i=this.scrollbar,r,u,o=n.DOMEvent||n;(!this.hasDragged||i&&i.hasDragged)&&"scrollbar"!==n.trigger||(i=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(u=this.fixedExtreme),this.zoomedMax===this.size&&(u=this.reversedExtremes?i.dataMin:i.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?i.dataMax:i.dataMin),t=t.toFixedRange(this.zoomedMin,this.zoomedMax,r,u),e(t.min)&&f.xAxis[0].setExtremes(Math.min(t.min,t.max),Math.max(t.min,t.max),!0,this.hasDragged?!1:null,{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:o}));"mousemove"!==n.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null)},removeEvents:function(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(n){n()}),this.eventsToUnbind=void 0);this.removeBaseSeriesEvents()},removeBaseSeriesEvents:function(){var n=this.baseSeries||[];this.navigatorEnabled&&n[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&n.forEach(function(n){v(n,"updatedData",this.updatedDataHandler)},this),n[0].xAxis&&v(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(n){var f=n.options,e=f.navigator,s=e.enabled,c=f.scrollbar,a=c.enabled,f=s?e.height:0,h=a?c.height:0;this.handles=[];this.shades=[];this.chart=n;this.setBaseSeries();this.height=f;this.scrollbarHeight=h;this.scrollbarEnabled=a;this.navigatorEnabled=s;this.navigatorOptions=e;this.scrollbarOptions=c;this.outlineHeight=f+h;this.opposite=i(e.opposite,!s&&n.inverted);var r=this,s=r.baseSeries,c=n.xAxis.length,a=n.yAxis.length,v=s&&s[0]&&s[0].xAxis||n.xAxis[0]||{options:{}};n.isDirtyBox=!0;r.navigatorEnabled?(r.xAxis=new o(n,u({breaks:v.options.breaks,ordinal:v.options.ordinal},e.xAxis,{id:"navigator-x-axis",yAxis:"navigator-y-axis",isX:!0,type:"datetime",index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:0,maxPadding:0,zoomEnabled:!1},n.inverted?{offsets:[h,0,-h,0],width:f}:{offsets:[0,-h,0,h],height:f})),r.yAxis=new o(n,u(e.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:a,isInternal:!0,zoomEnabled:!1},n.inverted?{width:f}:{height:f})),s||e.series.data?r.updateNavigatorSeries(!1):0===n.series.length&&(r.unbindRedraw=t(n,"beforeRedraw",function(){0o.indexOf(t)?(t&&(v(t,"updatedData",r.updatedDataHandler),delete t.navigatorSeries),n.chart&&n.destroy(),!1):!0});o&&o.length&&o.forEach(function(n){var v=n.navigatorSeries,t=y({color:n.color,visible:n.visible},p(s)?a.navigator.series:s);v&&!1===r.navigatorOptions.adaptToUpdatedData||(c.name="Navigator "+o.length,h=n.options||{},l=h.navigatorOptions||{},f=u(h,c,t,l),t=l.data||t.data,r.hasNavigatorData=r.hasNavigatorData||!!t,f.data=t||h.data&&h.data.slice(0),v&&v.options?v.update(f,i):(n.navigatorSeries=e.initSeries(f),n.navigatorSeries.baseSeries=n,w.push(n.navigatorSeries)))});(s.data&&(!o||!o.length)||p(s))&&(r.hasNavigatorData=!1,s=n.splat(s),s.forEach(function(n,t){c.name="Navigator "+(w.length+1);f=u(a.navigator.series,{color:e.series[t]&&!e.series[t].options.isInternal&&e.series[t].color||e.options.colors[t]||e.options.colors[0]},c,n);f.data=n.data;f.data&&(r.hasNavigatorData=!0,w.push(e.initSeries(f)))}));t&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var i=this,n=i.baseSeries||[];n[0]&&n[0].xAxis&&t(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);n.forEach(function(n){t(n,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});t(n,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&n.xAxis&&t(n,"updatedData",this.updatedDataHandler);t(n,"remove",function(){this.navigatorSeries&&(s(i.series,this.navigatorSeries),e(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)})},this)},getBaseSeriesMin:function(n){return this.baseSeries.reduce(function(n,t){return Math.min(n,t.xData?t.xData[0]:n)},n)},modifyNavigatorAxisExtremes:function(){var n=this.xAxis,t;n.getExtremes&&(!(t=this.getUnionExtremes(!0))||t.dataMin===n.min&&t.dataMax===n.max||(n.min=t.dataMin,n.max=t.dataMax))},modifyBaseAxisExtremes:function(){var n=this.chart.navigator,t=this.getExtremes(),h=t.dataMin,c=t.dataMax,t=t.max-t.min,e=n.stickToMin,s=n.stickToMax,l=i(this.options.overscroll,0),f,u,o=n.series&&n.series[0],a=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(e&&(u=h,f=u+t),s&&(f=c+l,e||(u=Math.max(f-t,n.getBaseSeriesMin(o&&o.xData?o.xData[0]:-Number.MAX_VALUE)))),a&&(e||s)&&r(u)&&(this.min=this.userMin=u,this.max=this.userMax=f));n.stickToMin=n.stickToMax=null},updatedDataHandler:function(){var n=this.chart.navigator,t=this.navigatorSeries,i=n.getBaseSeriesMin(this.xData[0]);n.stickToMax=n.reversedExtremes?0===Math.round(n.zoomedMin):Math.round(n.zoomedMax)>=Math.round(n.size);n.stickToMin=r(this.xAxis.min)&&this.xAxis.min<=i&&(!this.chart.fixedRange||!n.stickToMax);t&&!n.hasNavigatorData&&(t.options.pointStart=this.xData[0],t.setData(this.options.data,!1,null,!1))},addChartEvents:function(){this.eventsToUnbind||(this.eventsToUnbind=[]);this.eventsToUnbind.push(t(this.chart,"redraw",function(){var n=this.navigator,t=n&&(n.baseSeries&&n.baseSeries[0]&&n.baseSeries[0].xAxis||n.scrollbar&&this.xAxis[0]);t&&n.render(t.min,t.max)}),t(this.chart,"getMargins",function(){var n=this.navigator,t=n.opposite?"plotTop":"marginBottom";this.inverted&&(t=n.opposite?"marginRight":"plotLeft");this[t]=(this[t]||0)+(n.navigatorEnabled||!this.inverted?n.outlineHeight:0)+n.navigatorOptions.margin}))},destroy:function(){this.removeEvents();this.xAxis&&(s(this.chart.xAxis,this.xAxis),s(this.chart.axes,this.xAxis));this.yAxis&&(s(this.chart.yAxis,this.yAxis),s(this.chart.axes,this.yAxis));(this.series||[]).forEach(function(n){n.destroy&&n.destroy()});"series xAxis yAxis shades outline scrollbarTrack scrollbarRifles scrollbarGroup scrollbar navigatorGroup rendered".split(" ").forEach(function(n){this[n]&&this[n].destroy&&this[n].destroy();this[n]=null},this);[this.handles].forEach(function(n){k(n)},this)}};n.Navigator||(n.Navigator=c,t(o,"zoom",function(n){var t=this.chart.options,i=t.chart.zoomType,u=t.chart.pinchType,r=t.navigator,t=t.rangeSelector;this.isXAxis&&(r&&r.enabled||t&&t.enabled)&&("y"===i?n.zoomed=!1:(!h&&"xy"===i||h&&"xy"===u)&&this.options.range&&(i=this.previousZoom,e(n.newMin)?this.previousZoom=[this.min,this.max]:i&&(n.newMin=i[0],n.newMax=i[1],delete this.previousZoom)));void 0!==n.zoomed&&n.preventDefault()}),t(f,"beforeShowResetZoom",function(){var n=this.options,t=n.navigator,i=n.rangeSelector;if((t&&t.enabled||i&&i.enabled)&&(!h&&"x"===n.chart.zoomType||h&&"x"===n.chart.pinchType))return!1}),t(f,"beforeRender",function(){var n=this.options;(n.navigator.enabled||n.scrollbar.enabled)&&(this.scroller=this.navigator=new c(this))}),t(f,"afterSetChartSize",function(){var e=this.legend,n=this.navigator,t,r,u,f;n&&(r=e&&e.options,u=n.xAxis,f=n.yAxis,t=n.scrollbarHeight,this.inverted?(n.left=n.opposite?this.chartWidth-t-n.height:this.spacing[3]+t,n.top=this.plotTop+t):(n.left=this.plotLeft+t,n.top=n.navigatorOptions.top||this.chartHeight-n.height-t-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(r&&"bottom"===r.verticalAlign&&r.enabled&&!r.floating?e.legendHeight+i(r.margin,10):0)),u&&f&&(this.inverted?u.options.left=f.options.left=n.left:u.options.top=f.options.top=n.top,u.setAxisSize(),f.setAxisSize()))}),t(f,"update",function(n){var t=n.options.navigator||{},i=n.options.scrollbar||{};this.navigator||this.scroller||!t.enabled&&!i.enabled||(u(!0,this.options.navigator,t),u(!0,this.options.scrollbar,i),delete n.options.navigator,delete n.options.scrollbar)}),t(f,"afterUpdate",function(n){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new c(this),i(n.redraw,!0)&&this.redraw(n.animation))}),t(f,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),t(nt,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),f.prototype.callbacks.push(function(n){var t=n.navigator;t&&n.xAxis[0]&&(n=n.xAxis[0].getExtremes(),t.render(n.min,n.max))}))});t(n,"parts/OrdinalAxis.js",[n["parts/Globals.js"]],function(n){var i=n.addEvent,t=n.Axis,f=n.Chart,e=n.css,r=n.defined,o=n.extend,s=n.noop,u=n.pick,h=n.timeUnits;i(n.Series,"updatedData",function(){var n=this.xAxis;n&&n.options.ordinal&&delete n.ordinalIndex});t.prototype.getTimeTicks=function(n,t,i,u,f,e,o){var c=0,s,v,w={},b,k,d,l=[],g=-Number.MAX_VALUE,nt=this.options.tickPixelInterval,a=this.chart.time,y=[],p;if(!this.options.ordinal&&!this.options.breaks||!f||3>f.length||void 0===t)return a.getTimeTicks.apply(a,arguments);for(k=f.length,s=0;si,f[s]5*e||d){if(f[s]>g){for(v=a.getTimeTicks(n,f[c],f[s],u);v.length&&v[0]<=g;)v.shift();v.length&&(g=v[v.length-1]);y.push(l.length);l=l.concat(v)}c=s+1}if(d)break}if(v=v.info,o&&v.unitRange<=h.hour){for(s=l.length-1,c=1;ci?y-1:y,p=void 0;c--;)s=b[c],y=Math.abs(p-s),p&&y<.8*nt&&(null===a||y<.8*a)?(w[l[c]]&&!w[l[c+1]]?(y=c+1,p=s):y=c,l.splice(y,1)):p=s}return l};o(t.prototype,{beforeSetTickPositions:function(){var t,n=[],e,o=!1,r,h=this.getExtremes(),c=h.min,s=h.max,f,l=this.isXAxis&&!!this.options.breaks,h=this.options.ordinal,i=Number.MAX_VALUE,v=this.chart.options.chart.ignoreHiddenSeries,a;if(h||l){if(this.series.forEach(function(r,f){if(e=[],!(v&&!1===r.visible||!1===r.takeOrdinalPosition&&!l)&&(n=n.concat(r.processedXData),t=n.length,n.sort(function(n,t){return n-t}),i=Math.min(i,u(r.closestPointRange,i)),t)){for(f=0;fr||s-n[n.length-1]>r)&&(o=!0)}else this.options.overscroll&&(2===t?i=n[1]-n[0]:1===t?(i=this.options.overscroll,n=[n[0],n[0]+i]):i=this.overscrollPointsRange);o?(this.options.overscroll&&(this.overscrollPointsRange=i,n=n.concat(this.getOverscrollPositions())),this.ordinalPositions=n,r=this.ordinal2lin(Math.max(c,n[0]),!0),f=Math.max(this.ordinal2lin(Math.min(s,n[n.length-1]),!0),1),this.ordinalSlope=s=(s-c)/(f-r),this.ordinalOffset=c-r*s):(this.overscrollPointsRange=u(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=h&&o;this.groupIntervalFactor=null},val2lin:function(n,t){var r=this.ordinalPositions,f,i,u;if(r){for(f=r.length,i=f;i--;)if(r[i]===n){u=i;break}for(i=f-1;i--;)if(n>r[i]||0===i){n=(n-r[i])/(r[i+1]-r[i]);u=i+n;break}t=t?u:this.ordinalSlope*(u||0)+this.ordinalOffset}else t=n;return t},lin2val:function(n,t){var r=this.ordinalPositions;if(r){var f=this.ordinalSlope,e=this.ordinalOffset,i=r.length-1,u;if(t)0>n?n=r[0]:n>i?n=r[i]:(i=Math.floor(n),u=n-i);else for(;i--;)if(t=f*i+e,n>=t){f=f*(i+1)+e;u=(n-t)/(f-t);break}return void 0!==u&&void 0!==r[i]?r[i]+(u?u*(r[i+1]-r[i]):0):n}return n},getExtendedPositions:function(){var n=this,o=n.chart,i=n.series[0].currentDataGrouping,u=n.ordinalIndex,e=i?i.count+i.unitName:"raw",c=n.options.overscroll,h=n.getExtremes(),f,r;return u||(u=n.ordinalIndex={}),u[e]||(f={series:[],chart:o,getExtremes:function(){return{min:h.dataMin,max:h.dataMax+c}},options:{ordinal:!0},val2lin:t.prototype.val2lin,ordinal2lin:t.prototype.ordinal2lin},n.series.forEach(function(t){r={xAxis:f,xData:t.xData.slice(),chart:o,destroyGroupedData:s};r.xData=r.xData.concat(n.getOverscrollPositions());r.options={dataGrouping:i?{enabled:!0,forced:!0,approximation:"open",units:[[i.unitName,[i.count]]]}:{enabled:!1}};t.processData.apply(r);f.series.push(r)}),n.beforeSetTickPositions.apply(f),u[e]=f.ordinalPositions),u[e]},getOverscrollPositions:function(){var u=this.options.overscroll,r=this.overscrollPointsRange,i=[],t=this.dataMax;if(n.defined(r))for(i.push(t);t<=this.dataMax+u;)t+=r,i.push(t);return i},getGroupIntervalFactor:function(n,t,i){var r,f,u;if(i=i.processedXData,f=i.length,u=[],r=this.groupIntervalFactor,!r){for(r=0;ri?(u=r,f=t.ordinalPositions?t:r):(u=t.ordinalPositions?t:r,f=r),r=f.ordinalPositions,c>r[r.length-1]&&r.push(c),this.fixedRange=a-l,i=t.toFixedRange(null,null,v.apply(u,[p.apply(u,[l,!0])+i,!0]),v.apply(f,[p.apply(f,[a,!0])+i,!0])),i.min>=Math.min(o.dataMin,l)&&i.max<=Math.max(c,a)+s&&t.setExtremes(i.min,i.max,!0,!1,{trigger:"pan"}),this.mouseDownX=y,e(this.container,{cursor:"move"})):h=!0}else h=!0;h?s&&(t.max=t.dataMax+s):n.preventDefault()});i(t,"foundExtremes",function(){this.isXAxis&&r(this.options.overscroll)&&this.max===this.dataMax&&(!this.chart.mouseIsDown||this.isInternal)&&(!this.eventArgs||this.eventArgs&&"navigator"!==this.eventArgs.trigger)&&(this.max+=this.options.overscroll,!this.isInternal&&r(this.userMin)&&(this.min+=this.options.overscroll))});i(t,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)})});t(n,"modules/broken-axis.src.js",[n["parts/Globals.js"]],function(n){var r=n.addEvent,i=n.pick,o=n.extend,s=n.isArray,h=n.find,u=n.fireEvent,t=n.Axis,f=n.Series,e=function(n,t){return h(t,function(t){return t.from=r?(t-r)%i:i-(r-t)%i,n.inclusive?t<=u:t=n)break;else if(f.isInBreak(t,n)){r-=n-t.from;break}return r}function c(n){for(var t,i=0;i=n);i++)t.too;)r-=e;for(;rt.to||f>t.from&&rt.from&&rt.from&&r>t.to&&ri&&(i=t);u--;)r[u+1].x-r[u].x>i&&(t=(r[u].x+r[u+1].x)/2,r.splice(u+1,0,{isNull:!0,x:t}),this.options.stacking&&(t=f.stacks[this.stackKey][t]=new n.StackItem(f,f.options.stackLabels,!1,t,this.stack),t.total=0));return this.getGraphPath(r)}});t(n,"masters/modules/broken-axis.src.js",[],function(){});t(n,"parts/DataGrouping.js",[n["parts/Globals.js"]],function(n){var u=n.addEvent,v=n.arrayMax,y=n.arrayMin,f=n.Axis,p=n.defaultPlotOptions,o=n.defined,w=n.extend,b=n.format,i=n.isNumber,s=n.merge,h=n.pick,k=n.Point,c=n.Series,d=n.Tooltip,t=n.approximations={sum:function(n){var t=n.length,i;if(!t&&n.hasNulls)i=null;else if(t)for(i=0;t--;)i+=n[t];return i},average:function(n){var r=n.length;return n=t.sum(n),i(n)&&r&&(n/=r),n},averages:function(){var n=[];return[].forEach.call(arguments,function(i){n.push(t.average(i))}),void 0===n[0]?void 0:n},open:function(n){return n.length?n[0]:n.hasNulls?null:void 0},high:function(n){return n.length?v(n):n.hasNulls?null:void 0},low:function(n){return n.length?y(n):n.hasNulls?null:void 0},close:function(n){return n.length?n[n.length-1]:n.hasNulls?null:void 0},ohlc:function(n,r,u,f){return n=t.open(n),r=t.high(r),u=t.low(u),f=t.close(f),i(n)||i(r)||i(u)||i(f)?[n,r,u,f]:void 0},range:function(n,r){return(n=t.low(n),r=t.high(r),i(n)||i(r))?[n,r]:null===n&&null===r?null:void 0}},l=function(n,r,u,f){var e=this,d=e.data,rt=e.options&&e.options.data,g=[],nt=[],tt=[],v=n.length,h,y,ut=!!r,l=[],a=e.pointArrayMap,b=a&&a.length,ft=["x"].concat(a||["y"]),p=0,k=0,it,c,w;for(f="function"==typeof f?f:t[f]?t[f]:t[e.getDGApproximation&&e.getDGApproximation()||"average"],b?a.forEach(function(){l.push([])}):l.push([]),it=b||1,c=0;c<=v&&!(n[c]>=u[0]);c++);for(c;c<=v;c++){for(;void 0!==u[p+1]&&n[c]>=u[p+1]||c===v;){for(h=u[p],e.dataGroupInfo={start:e.cropStart+k,length:l[0].length},y=f.apply(e,l),e.pointClass&&!o(e.dataGroupInfo.options)&&(e.dataGroupInfo.options=s(e.pointClass.prototype.optionsToObject.call({series:e},e.options.data[e.cropStart+k])),ft.forEach(function(n){delete e.dataGroupInfo.options[n]})),void 0!==y&&(g.push(h),nt.push(y),tt.push(e.dataGroupInfo)),k=c,h=0;hthis.chart.plotSizeX/r||i&&u.forced)&&(f=!0);return f?r:0},f.prototype.setDataGrouping=function(n,t){var i;if(t=h(t,!0),n||(n={forced:!1,units:null}),this instanceof f)for(i=this.series.length;i--;)this.series[i].update({dataGrouping:n},!1);else this.chart.options.series.forEach(function(t){t.dataGrouping=n},!1);this.ordinalSlope=null;t&&this.chart.redraw()},n.dataGrouping=g});t(n,"parts/OHLCSeries.js",[n["parts/Globals.js"]],function(n){var i=n.Point,r=n.seriesType,t=n.seriesTypes;r("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'●<\/span> {series.name}<\/b>
Open: {point.open}
High: {point.high}
Low: {point.low}
Close: {point.close}
'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0},{directTouch:!1,pointArrayMap:["open","high","low","close"],toYData:function(n){return[n.open,n.high,n.low,n.close]},pointValKey:"close",pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},init:function(){t.column.prototype.init.apply(this,arguments);this.options.stacking=!1},pointAttribs:function(n,i){i=t.column.prototype.pointAttribs.call(this,n,i);var r=this.options;return delete i.fill,!n.options.color&&r.upColor&&n.openv)););s.forEach(function(n,i){var r;n.plotX+=b;(void 0===n.plotY||w)&&(0<=n.plotX&&n.plotX<=y.len?w?(n.plotY=y.translate(n.x,0,1,0,1),n.plotX=t(n.y)?g.translate(n.y,0,0,0,1):0):n.plotY=(y.opposite?0:o.yAxis.len)+y.offset:n.shapeArgs={});(c=s[i-1])&&c.plotX===n.plotX&&(void 0===c.stackIndex&&(c.stackIndex=0),r=c.stackIndex+1);n.stackIndex=r});this.onSeries=u}}});t(n,"parts/FlagsSeries.js",[n["parts/Globals.js"],n["mixins/on-series.js"]],function(n,t){function r(n){i[n+"pin"]=function(t,r,u,f,e){var s=e&&e.anchorX,o;return e=e&&e.anchorY,"circle"===n&&f>u&&(t-=Math.round((f-u)/2),u=f),o=i[n](t,r,u,f),s&&e&&(o.push("M","circle"===n?t+u/2:o[1]+o[4]/2,r>e?r:r+f,"L",s,e),o=o.concat(i.circle(s-1,e-1,2,2))),o}}var o=n.addEvent,s=n.merge,u=n.noop,h=n.defined,c=n.Renderer,f=n.Series,l=n.seriesType,a=n.TrackerMixin,e=n.VMLRenderer,i=n.SVGRenderer.prototype.symbols;l("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}
"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd6eb"}},style:{fontSize:"11px",fontWeight:"bold"}},{sorted:!1,noSharedTooltip:!0,allowDG:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],forceCrop:!0,init:f.prototype.init,pointAttribs:function(n,t){var i=this.options,r=n&&n.color||this.color,u=i.lineColor,f=n&&n.lineWidth;return n=n&&n.fillColor||i.fillColor,t&&(n=i.states[t].fillColor,u=i.states[t].lineColor,f=i.states[t].lineWidth),{fill:n||r,stroke:u||r,"stroke-width":f||i.lineWidth||0}},translate:t.translate,getPlotBox:t.getPlotBox,drawPoints:function(){for(var l=this.points,c=this.chart,d=c.renderer,u,e,y=c.inverted,r=this.options,g=r.y,f,t,i,p,w,b=this.yAxis,o={},k=[],v,a=l.length;a--;)t=l[a],w=(y?t.plotY:t.plotX)>this.xAxis.len,u=t.plotX,i=t.stackIndex,f=t.options.shape||r.shape,e=t.plotY,void 0!==e&&(e=t.plotY+g-(void 0!==i&&i*r.stackDistance)),t.anchorX=i?void 0:t.plotX,p=i?void 0:t.plotY,v="flag"!==f,i=t.graphic,void 0!==e&&0<=u&&!w?(i||(i=t.graphic=d.label("",null,null,f,null,null,r.useHTML),c.styledMode||i.attr(this.pointAttribs(t)).css(s(r.style,t.style)),i.attr({align:v?"center":"left",width:r.width,height:r.height,"text-align":r.textAlign}).addClass("highcharts-point").add(this.markerGroup),t.graphic.div&&(t.graphic.div.point=t),c.styledMode||i.shadow(r.shadow),i.isNew=!0),0e-f,it=h=864e5*{month:28,year:365}[p]*b-k&&u-36e5<=864e5*{month:31,year:366}[p]*b+k?h=!0:"ytd"===p?(h=a-l+k===u,g=!i):"all"===p&&(h=t.max-t.min>=e-f,nt=!i&&s&&h);p=!v&&(tt||it||nt||c);b=i&&h||h&&!s&&!g||i&&n.frozenStates;p?w=3:b&&(s=!0,w=2);d.state!==w&&(d.setState(w),0===w&&o===r&&n.setSelected(null))})},computeButtonRange:function(n){var t=n.type,r=n.count||1,u={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};u[t]?n._range=u[t]*r:("month"===t||"year"===t)&&(n._range=864e5*{month:30,year:365}[t]*r);n._offsetMin=i(n.offsetMin,0);n._offsetMax=i(n.offsetMax,0);n._range+=n._offsetMax-n._offsetMin},setInputValue:function(n,t){var r=this.chart.options.rangeSelector,u=this.chart.time,i=this[n+"Input"];a(t)&&(i.previousValue=i.HCTime,i.HCTime=t);i.value=u.dateFormat(r.inputEditDateFormat||"%Y-%m-%d",i.HCTime);this[n+"DateBox"].attr({text:u.dateFormat(r.inputDateFormat||"%b %e, %Y",i.HCTime)})},showInput:function(n){var i=this.inputGroup,t=this[n+"DateBox"];s(this[n+"Input"],{left:i.translateX+t.x+"px",top:i.translateY+"px",width:t.width-2+"px",height:t.height-2+"px",border:"2px solid silver"})},hideInput:function(n){s(this[n+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(n)},drawInput:function(t){function b(){var o=u.value,n=(a.inputDateParser||Date.parse)(o),t=i.xAxis[0],e=i.scroller&&i.scroller.xAxis?i.scroller.xAxis:t,s=e.dataMin,e=e.dataMax;n!==u.previousValue&&(u.previousValue=n,r(n)||(n=o.split("-"),n=Date.UTC(h(n[0]),h(n[1])-1,h(n[2]))),r(n)&&(i.time.useUTC||(n+=6e4*(new Date).getTimezoneOffset()),y?n>f.maxInput.HCTime?n=void 0:ne&&(n=e),void 0!==n&&t.setExtremes(y?n:t.min,y?t.max:n,void 0,void 0,{trigger:"rangeSelectorInput"})))}var f=this,i=f.chart,w=i.renderer.style||{},c=i.renderer,a=i.options.rangeSelector,d=f.div,y="min"===t,u,k,p=this.inputGroup;this[t+"Label"]=k=c.label(e.lang[y?"rangeSelectorFrom":"rangeSelectorTo"],this.inputGroup.offset).addClass("highcharts-range-label").attr({padding:2}).add(p);p.offset+=k.width+5;this[t+"DateBox"]=c=c.label("",p.offset).addClass("highcharts-range-input").attr({padding:2,width:a.inputBoxWidth||90,height:a.inputBoxHeight||17,"text-align":"center"}).on("click",function(){f.showInput(t);f[t+"Input"].focus()});i.styledMode||c.attr({stroke:a.inputBoxBorderColor||"#cccccc","stroke-width":1});c.add(p);p.offset+=c.width+(y?10:0);this[t+"Input"]=u=l("input",{name:t,className:"highcharts-range-selector",type:"text"},{top:i.plotTop+"px"},d);i.styledMode||(k.css(o(w,a.labelStyle)),c.css(o({color:"#333333"},w,a.inputStyle)),s(u,v({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:w.fontSize,fontFamily:w.fontFamily,top:"-9999em"},a.inputStyle)));u.onfocus=function(){f.showInput(t)};u.onblur=function(){u===n.doc.activeElement&&b();f.hideInput(t);u.blur()};u.onchange=b;u.onkeypress=function(n){13===n.keyCode&&b()}},getPosition:function(){var n=this.chart,t=n.options.rangeSelector,n="top"===t.verticalAlign?n.plotTop-n.axisOffset[0]:0;return{buttonTop:n+t.buttonPosition.y,inputTop:n+t.inputPosition.y-10}},getYTDExtremes:function(n,t,i){var u=this.chart.time,r=new u.Date(n),f=u.get("FullYear",r);return i=i?u.Date.UTC(f,0,1):+new u.Date(f,0,1),t=Math.max(t||0,i),r=r.getTime(),{max:Math.min(n||r,r),min:t}},render:function(n,t){var r=this,u=r.chart,nt=u.renderer,tt=u.container,c=u.options,v=c.exporting&&!1!==c.exporting.enabled&&c.navigation&&c.navigation.buttonOptions,ot=e.lang,f=r.div,s=c.rangeSelector,vt=i(c.chart.style&&c.chart.style.zIndex,0)+1,c=s.floating,ht=r.buttons,f=r.inputGroup,it=s.buttonTheme,o=s.buttonPosition,a=s.inputPosition,ct=s.inputEnabled,b=it&&it.states,k=u.plotLeft,lt,h=r.buttonGroup,rt=r.rendered;var d=r.options.verticalAlign,ut=u.legend,ft=ut&&ut.options,et=o.y,g=a.y,st=rt||!1,at=st?"animate":"attr",w=0,y=0,p;!1!==s.enabled&&(rt||(r.group=rt=nt.g("range-selector-group").attr({zIndex:7}).add(),r.buttonGroup=h=nt.g("range-selector-buttons").add(rt),r.zoomText=nt.text(ot.rangeSelectorZoom,0,15).add(h),u.styledMode||(r.zoomText.css(s.labelStyle),it["stroke-width"]=i(it["stroke-width"],0)),r.buttonOptions.forEach(function(n,t){ht[t]=nt.button(n.text,0,0,function(i){var u=n.events&&n.events.click,f;u&&(f=u.call(n,i));!1!==f&&r.clickButton(t);r.isActive=!0},it,b&&b.hover,b&&b.select,b&&b.disabled).attr({"text-align":"center"}).add(h)}),!1!==ct&&(r.div=f=l("div",null,{position:"relative",height:0,zIndex:vt}),tt.parentNode.insertBefore(f,tt),r.inputGroup=f=nt.g("input-group").add(rt),f.offset=0,r.drawInput("min"),r.drawInput("max"))),r.zoomText[at]({x:i(k+o.x,k)}),lt=i(k+o.x,k)+r.zoomText.getBBox().width+5,r.buttonOptions.forEach(function(n,t){ht[t][at]({x:lt});lt+=ht[t].width+i(s.buttonSpacing,5)}),k=u.plotLeft-u.spacing[3],r.updateButtonStates(),v&&this.titleCollision(u)&&"top"===d&&"right"===o.align&&o.y+h.getBBox().height-12<(v.y||0)+v.height&&(w=-40),"left"===o.align?p=o.x-u.spacing[3]:"right"===o.align&&(p=o.x+w-u.spacing[1]),h.align({y:o.y,width:h.getBBox().width,align:o.align,x:p},!0,u.spacingBox),r.group.placed=st,r.buttonGroup.placed=st,!1!==ct&&(w=v&&this.titleCollision(u)&&"top"===d&&"right"===a.align&&a.y-f.getBBox().height-12<(v.y||0)+v.height+u.spacing[0]?-40:0,"left"===a.align?p=k:"right"===a.align&&(p=-Math.max(u.axisOffset[1],-w)),f.align({y:a.y,width:f.getBBox().width,align:a.align,x:a.x+p-2},!0,u.spacingBox),tt=f.alignAttr.translateX+f.alignOptions.x-w+f.getBBox().x+2,v=f.alignOptions.width,ot=h.alignAttr.translateX+h.getBBox().x,p=h.getBBox().width+20,(a.align===o.align||ot+p>tt&&tt+v>ot&&et=-w?0:-w),translateY:f.alignAttr.translateY+h.getBBox().height+10}),r.setInputValue("min",n),r.setInputValue("max",t),r.inputGroup.placed=st),r.group.align({verticalAlign:d},!0,u.spacingBox),n=r.group.getBBox().height+20,t=r.group.alignAttr.translateY,"bottom"===d&&(ut=ft&&"bottom"===ft.verticalAlign&&ft.enabled&&!ft.floating?ut.legendHeight+i(ft.margin,10):0,n=n+ut-20,y=t-n-(c?0:s.y)-10),"top"===d?(c&&(y=0),u.titleOffset&&(y=u.titleOffset+u.options.title.margin),y+=u.margin[0]-u.spacing[0]||0):"middle"===d&&(g===et?y=0>g?t+void 0:t:(g||et)&&(y=0>g||0>et?y-Math.min(g,et):t-n+NaN)),r.group.translate(s.x,s.y+Math.floor(y)),!1!==ct&&(r.minInput.style.marginTop=r.group.translateY+"px",r.maxInput.style.marginTop=r.group.translateY+"px"),r.rendered=!0)},getHeight:function(){var n=this.options,t=this.group,u=n.y,i=n.buttonPosition.y,r=n.inputPosition.y;return n.height?n.height:(n=t?t.getBBox(!0).height+13+u:0,t=Math.min(r,i),(0>r&&0>i||0v+r.width)&&(b?f=l=Math.min(Math.max(v,f),v+r.width):t=!0);t||p.push("M",f,e,"L",l,a)}):o.forEach(function(n){var t;f=n.pos;l=f+n.len;e=a=Math.round(y+r.height-k);"pass"!==b&&(ey+r.height)&&(b?e=a=Math.min(Math.max(y,e),r.top+r.height):t=!0);t||p.push("M",f,e,"L",l,a)})),i.path=0d?"hidden":"visible"});i=r.getBBox();h?(g&&!f||!g&&f)&&(e=r.y-i.height):e=r.y-i.height/2;h?(f=u-i.x,u=u+this.width-i.x):(f="left"===this.labelAlign?u:0,u="right"===this.labelAlign?u+this.width:c.chartWidth);r.translateX=u&&(y=-(r.translateX+i.width-u));r.attr({x:n+y,y:e,anchorX:h?n:this.opposite?0:c.chartWidth,anchorY:h?this.opposite?c.chartHeight:0:e+i.height/2})}});f.init=function(){g.apply(this,arguments);this.setCompare(this.options.compare)};f.setCompare=function(n){this.modifyValue="value"===n||"percent"===n?function(t,i){var r=this.compareValue;if(void 0!==t&&void 0!==r)return t="value"===n?t-r:t/r*100-(100===this.options.compareBase?0:100),i&&(i.change=t),t}:null;this.userOptions.compare=n;this.chart.hasRendered&&(this.isDirty=!0)};f.processData=function(){var n,r=-1,u,t,f=!0===this.options.compareStart?0:1,e,i;if(nt.apply(this,arguments),this.xAxis&&this.processedYData)for(u=this.processedXData,t=this.processedYData,e=t.length,this.pointArrayMap&&(r=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),n=0;n=this.xAxis.min&&0!==i){this.compareValue=i;break}};i(e,"afterGetExtremes",function(){if(this.modifyValue){var n=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)];this.dataMin=w(n);this.dataMax=p(n)}});r.prototype.setCompare=function(n,i){this.isXAxis||(this.series.forEach(function(t){t.setCompare(n)}),t(i,!0)&&this.chart.redraw())};l.prototype.tooltipFormatter=function(i){return i=i.replace("{point.change}",(0-Math.PI/2&&f-Math.PI&&0>f||f>Math.PI?-10:10)),u},getPlotLinePath:function(n){var t=this,i=t.center,e=t.chart,r=n.value,o,f,s,u;return n=n.reverse,o=t.getPosition(r),t.isCircular?u=["M",i[0]+e.plotLeft,i[1]+e.plotTop,"L",o.x,o.y]:"circle"===t.options.gridLineInterpolation?(r=t.translate(r),u=t.getLinePath(0,r)):(e.xAxis.forEach(function(n){n.pane===t.pane&&(f=n)}),u=[],r=t.translate(r),i=f.tickPositions,f.autoConnect&&(i=i.concat([i[0]])),n&&(i=[].concat(i).reverse()),i.forEach(function(n,t){s=f.getPosition(n,r);u.push(t?"L":"M",s.x,s.y)})),u},getTitlePosition:function(){var n=this.center,i=this.chart,t=this.options.title;return{x:i.plotLeft+n[0]+(t.x||0),y:i.plotTop+n[1]-{high:.5,middle:.25,low:0}[t.align]*n[2]+(t.y||0)}}};i(r,"init",function(n){var i=this,t=this.chart,u=t.angular,s=t.polar,e=this.isXAxis,c=u&&e,r,a=t.options;n=n.userOptions.pane||0;n=this.pane=t.pane&&t.pane[n];u?(f(this,c?l:o),r=!e)&&(this.defaultRadialOptions=this.defaultRadialGaugeOptions):s&&(f(this,o),this.defaultRadialOptions=(r=e)?this.defaultRadialXOptions:h(this.defaultYAxisOptions,this.defaultRadialYOptions));u||s?(this.isRadial=!0,t.inverted=!1,a.chart.zoomType=null,t.labelCollectors.push(function(){if(i.isRadial&&i.tickPositions&&!0!==i.options.labels.allowOverlap)return i.tickPositions.map(function(n){return i.ticks[n]&&i.ticks[n].label}).filter(function(n){return!!n})})):this.isRadial=!1;n&&r&&(n.axis=this);this.isCircular=r});i(r,"afterInit",function(){var n=this.chart,u=this.options,i=this.pane,r=i&&i.options;(!n.angular||!this.isXAxis)&&i&&(n.angular||n.polar)&&(this.angleRad=(u.angle||0)*Math.PI/180,this.startAngleRad=(r.startAngle-90)*Math.PI/180,this.endAngleRad=(t(r.endAngle,r.startAngle+360)-90)*Math.PI/180,this.offset=u.offset||0)});i(r,"autoLabelAlign",function(n){this.isRadial&&(n.align=void 0,n.preventDefault())});i(e,"afterGetPosition",function(n){this.axis.getPosition&&f(n.pos,this.axis.getPosition(this.pos))});i(e,"afterGetLabelPosition",function(i){var u=this.axis,c=this.label,f=c.getBBox(),l=u.options.labels,p=l.y,w,y=20,h=l.align,a=(u.translate(this.pos)+u.startAngleRad+Math.PI/2)/Math.PI*180%360,e=Math.round(a),o="end",r=0>e?e+360:e,s=r,v=0,b=0,k=null===l.y?.3*-f.height:0;u.isRadial&&(w=u.getPosition(this.pos,u.center[2]/2+n.relativeLength(t(l.distance,-25),u.center[2]/2,-u.center[2]/2)),"auto"===l.rotation?c.attr({rotation:a}):null===p&&(p=u.chart.renderer.fontMetrics(c.styles&&c.styles.fontSize).b-f.height/2),null===h&&(u.isCircular?(f.width>u.len*u.tickInterval/(u.max-u.min)&&(y=0),h=a>y&&a<180-y?"left":a>180+y&&a<360-y?"right":"center"):h="center",c.attr({align:h})),"auto"===h&&2===u.tickPositions.length&&u.isCircular&&(90r?r=180-r:270=r&&(r=540-r),180=s&&(s=360-s),(u.pane.options.startAngle===e||u.pane.options.startAngle===e+360||u.pane.options.startAngle===e-360)&&(o="start"),h=-90<=e&&90>=e||-360<=e&&-270>=e||270<=e&&360>=e?"start"===o?"right":"left":"start"===o?"left":"right",70s&&(h="center"),15>r||180<=r&&195>r?v=.3*f.height:15<=r&&35>=r?v="start"===o?0:.75*f.height:195<=r&&215>=r?v="start"===o?.75*f.height:0:35=r?v="start"===o?.25*-f.height:f.height:215=r&&(v="start"===o?f.height:.25*-f.height),15>s?b="start"===o?.15*-f.height:.15*f.height:165=s&&(b="start"===o?.15*f.height:.15*-f.height),c.attr({align:h}),c.translate(b,v+k)),i.pos.x=w.x+l.x,i.pos.y=w.y+p)});v(y,"getMarkPath",function(n,t,i,r,u,f,e){var o=this.axis;return o.isRadial?(n=o.getPosition(this.pos,o.center[2]/2+r),t=["M",t,i,"L",n.x,n.y]):t=n.call(this,t,i,r,u,f,e),t})});t(n,"parts-more/AreaRangeSeries.js",[n["parts/Globals.js"]],function(n){var e=n.pick,f=n.extend,o=n.isArray,r=n.defined,s=n.seriesType,u=n.seriesTypes,t=n.Series.prototype,i=n.Point.prototype;s("arearange","area",{lineWidth:1,threshold:null,tooltip:{pointFormat:'●<\/span> {series.name}: {point.low}<\/b> - {point.high}<\/b>
'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0}},{pointArrayMap:["low","high"],toYData:function(n){return[n.low,n.high]},pointValKey:"low",deferTranslatePolar:!0,highToXY:function(n){var t=this.chart,i=this.xAxis.postTranslate(n.rectPlotX,this.yAxis.len-n.plotHigh);n.plotHighX=i.x-t.plotLeft;n.plotHigh=i.y-t.plotTop;n.plotLowX=n.plotX},translate:function(){var n=this,i=n.yAxis,t=!!n.modifyValue;u.area.prototype.translate.apply(n);n.points.forEach(function(r){var f=r.low,u=r.high,e=r.plotY;null===u||null===f?(r.isNull=!0,r.plotY=null):(r.plotLow=e,r.plotHigh=i.translate(t?n.modifyValue(u,r):u,0,1,0,1),t&&(r.yBottom=r.plotHigh))});this.chart.polar&&this.points.forEach(function(t){n.highToXY(t);t.tooltipPos=[(t.plotHighX+t.plotLowX)/2,(t.plotHigh+t.plotLow)/2]})},getGraphPath:function(n){var s=[],r=[],f,h=u.area.prototype.getGraphPath,t,c,i=this.options;var l=this.chart.polar&&!1!==i.connectEnds,a=i.connectNulls,o=i.step;for(n=n||this.points,f=n.length;f--;)t=n[f],t.isNull||l||a||n[f+1]&&!n[f+1].isNull||r.push({plotX:t.plotX,plotY:t.plotY,doCurve:!1}),c={polarPlotY:t.polarPlotY,rectPlotX:t.rectPlotX,yBottom:t.yBottom,plotX:e(t.plotHighX,t.plotX),plotY:t.plotHigh,isNull:t.isNull},r.push(c),s.push(c),t.isNull||l||a||n[f-1]&&!n[f-1].isNull||r.push({plotX:t.plotX,plotY:t.plotY,doCurve:!1});return n=h.call(this,n),o&&(!0===o&&(o="left"),i.step={left:"right",center:"center",right:"left"}[o]),s=h.call(this,s),r=h.call(this,r),i.step=o,i=[].concat(n,s),this.chart.polar||"M"!==r[0]||(r[0]="L"),this.graphPath=i,this.areaPath=n.concat(r),i.isArea=!0,i.xMap=n.xMap,this.areaPath.xMap=n.xMap,i},drawDataLabels:function(){var h=this.points,c=h.length,i,l=[],u=this.options.dataLabels,n,s,a=this.chart.inverted,r,e;if(o(u)?1n.plotLow,n.y=n.high,n._plotY=n.plotY,n.plotY=n.plotHigh,l[i]=n.dataLabel,n.dataLabel=n.dataLabelUpper,n.below=s,a?r.align||(r.align=s?"right":"left"):r.verticalAlign||(r.verticalAlign=s?"top":"bottom"));for(this.options.dataLabels=r,t.drawDataLabels&&t.drawDataLabels.apply(this,arguments),i=c;i--;)(n=h[i])&&(n.dataLabelUpper=n.dataLabel,n.dataLabel=l[i],delete n.dataLabels,n.y=n.low,n.plotY=n._plotY)}if(e.enabled||this._hasPointLabels){for(i=c;i--;)(n=h[i])&&(s=e.inside?n.plotHighn.plotLow,n.below=!s,a?e.align||(e.align=s?"left":"right"):e.verticalAlign||(e.verticalAlign=s?"bottom":"top"));this.options.dataLabels=e;t.drawDataLabels&&t.drawDataLabels.apply(this,arguments)}if(r.enabled)for(i=c;i--;)(n=h[i])&&(n.dataLabels=[n.dataLabelUpper,n.dataLabel].filter(function(n){return!!n}));this.options.dataLabels=u},alignDataLabel:function(){u.column.prototype.alignDataLabel.apply(this,arguments)},drawPoints:function(){var f=this.points.length,i,u;for(t.drawPoints.apply(this,arguments),u=0;ul&&(l*=-1,a-=l);c?(o=t.barX+h,t.shapeType="path",t.shapeArgs={d:n.polarArc(a+l,a,o,o+t.pointWidth)}):(v.height=l,v.y=a,t.tooltipPos=i.inverted?[r.len+r.pos-i.plotLeft-a-l/2,u.len+u.pos-i.plotTop-v.x-v.width/2,l]:[u.left-i.plotLeft+v.x+v.width/2,r.pos-i.plotTop+a+l/2,l])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:r,getSymbol:r,crispCol:function(){return t.crispCol.apply(this,arguments)},drawPoints:function(){return t.drawPoints.apply(this,arguments)},drawTracker:function(){return t.drawTracker.apply(this,arguments)},getColumnMetrics:function(){return t.getColumnMetrics.apply(this,arguments)},pointAttribs:function(){return t.pointAttribs.apply(this,arguments)},animate:function(){return t.animate.apply(this,arguments)},polarArc:function(){return t.polarArc.apply(this,arguments)},translate3dPoints:function(){return t.translate3dPoints.apply(this,arguments)},translate3dShapes:function(){return t.translate3dShapes.apply(this,arguments)}},{setState:t.pointClass.prototype.setState})});t(n,"parts-more/ColumnPyramidSeries.js",[n["parts/Globals.js"]],function(n){var t=n.pick,i=n.seriesType,r=n.seriesTypes.column.prototype;i("columnpyramid","column",{},{translate:function(){var n=this,i=n.chart,f=n.options,c=n.dense=2>n.closestPointRange*n.xAxis.transA,c=n.borderWidth=t(f.borderWidth,c?0:1),u=n.yAxis,s=f.threshold,e=n.translatedThreshold=u.getThreshold(s),o=t(f.minPointLength,5),l=n.getColumnMetrics(),a=l.width,h=n.barW=Math.max(a,1+2*c),v=n.pointXOffset=l.offset;i.inverted&&(e-=.5);f.pointPadding&&(h=Math.ceil(h));r.translate.apply(n);n.points.forEach(function(r){var y=t(r.yBottom,e),p=999+Math.abs(y),c=Math.min(Math.max(-p,r.plotY),u.len+p),p=r.plotX+v,l=h/2,b=Math.min(c,y),y=Math.max(c,y)-b,w,k,d,g,nt,tt;r.barX=p;r.pointWidth=a;r.tooltipPos=i.inverted?[u.len+u.pos-i.plotLeft-c,n.xAxis.len-p-l,y]:[p+l,c+u.pos-i.plotTop,y];c=s+(r.total||r.y);"percent"===f.stacking&&(c=s+(0>r.y)?-100:100);c=u.toPixels(c,!0);w=i.plotHeight-c-(i.plotHeight-e);k=l*(b-c)/w;d=l*(b+y-c)/w;w=p-k+l;k=p+k+l;g=p+d+l;d=p-d+l;nt=b-o;tt=b+y;0>r.y&&(nt=b,tt=b+y+o);i.inverted&&(g=i.plotWidth-b,w=c-(i.plotWidth-e),k=l*(c-g)/w,d=l*(c-(g-y))/w,w=p+l+k,k=w-2*k,g=p-d+l,d=p+d+l,nt=b,tt=b+y-o,0>r.y&&(tt=b+y+o));r.shapeType="path";r.shapeArgs={x:w,y:nt,width:k-w,height:y,d:["M",w,nt,"L",k,nt,g,tt,d,tt,"Z"]}})}})});t(n,"parts-more/GaugeSeries.js",[n["parts/Globals.js"]],function(n){var e=n.isNumber,r=n.merge,t=n.pick,i=n.pInt,u=n.Series,o=n.seriesType,f=n.TrackerMixin;o("gauge","line",{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{},pivot:{},tooltip:{headerFormat:""},showInLegend:!1},{angular:!0,directTouch:!0,drawGraph:n.noop,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],translate:function(){var n=this.yAxis,f=this.options,u=n.center;this.generatePoints();this.points.forEach(function(o){var h=r(f.dial,o.dial),l=i(t(h.radius,80))*u[2]/200,v=i(t(h.baseLength,70))*l/100,y=i(t(h.rearLength,10))*l/100,a=h.baseWidth||3,p=h.topWidth||1,c=f.overshoot,s=n.startAngleRad+n.translate(o.y,null,null,null,!0);e(c)?(c=c/180*Math.PI,s=Math.max(n.startAngleRad-c,Math.min(n.endAngleRad+c,s))):!1===f.wrap&&(s=Math.max(n.startAngleRad,Math.min(n.endAngleRad,s)));s=180*s/Math.PI;o.shapeType="path";o.shapeArgs={d:h.path||["M",-y,-a/2,"L",v,-a/2,l,-p/2,l,p/2,v,a/2,-y,a/2,"z"],translateX:u[0],translateY:u[1],rotation:s};o.plotX=u[0];o.plotY=u[1]})},drawPoints:function(){var n=this,f=n.chart,i=n.yAxis.center,e=n.pivot,o=n.options,u=o.pivot,s=f.renderer;n.points.forEach(function(t){var u=t.graphic,i=t.shapeArgs,h=i.d,e=r(o.dial,t.dial);u?(u.animate(i),i.d=h):t.graphic=s[t.shapeType](i).attr({rotation:i.rotation,zIndex:1}).addClass("highcharts-dial").add(n.group);f.styledMode||t.graphic[u?"animate":"attr"]({stroke:e.borderColor||"none","stroke-width":e.borderWidth||0,fill:e.backgroundColor||"#000000"})});e?e.animate({translateX:i[0],translateY:i[1]}):(n.pivot=s.circle(0,0,t(u.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(i[0],i[1]).add(n.group),f.styledMode||n.pivot.attr({"stroke-width":u.borderWidth||0,stroke:u.borderColor||"#cccccc",fill:u.backgroundColor||"#000000"}))},animate:function(n){var t=this;n||(t.points.forEach(function(n){var i=n.graphic;i&&(i.attr({rotation:180*t.yAxis.startAngleRad/Math.PI}),i.animate({rotation:n.shapeArgs.rotation},t.options.animation))}),t.animate=null)},render:function(){this.group=this.plotGroup("group","series",this.visible?"visible":"hidden",this.options.zIndex,this.chart.seriesGroup);u.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(n,i){u.prototype.setData.call(this,n,!1);this.processData();this.generatePoints();t(i,!0)&&this.chart.redraw()},hasData:function(){return!!this.points.length},drawTracker:f&&f.drawTrackerPoint},{setState:function(n){this.state=n}})});t(n,"parts-more/BoxPlotSeries.js",[n["parts/Globals.js"]],function(n){var i=n.noop,t=n.pick,r=n.seriesType,u=n.seriesTypes;r("boxplot","column",{threshold:null,tooltip:{pointFormat:'●<\/span> {series.name}<\/b>
Maximum: {point.high}
Upper quartile: {point.q3}
Median: {point.median}
Lower quartile: {point.q1}
Minimum: {point.low}
'},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2},{pointArrayMap:["low","q1","median","q3","high"],toYData:function(n){return[n.low,n.q1,n.median,n.q3,n.high]},pointValKey:"high",pointAttribs:function(){return{}},drawDataLabels:i,translate:function(){var n=this.yAxis,t=this.pointArrayMap;u.column.prototype.translate.apply(this);this.points.forEach(function(i){t.forEach(function(t){null!==i[t]&&(i[t+"Plot"]=n.translate(i[t],0,1,0,1))})})},drawPoints:function(){var f=this,n=f.options,k=f.chart,h=k.renderer,o,e,c,l,p,i,r=0,w,u,a,b,v=!1!==f.doQuartiles,y,s=f.options.whiskerLength;f.points.forEach(function(d){var g=d.graphic,tt=g?"animate":"attr",et=d.shapeArgs,it={},rt={},ut={},ft={},nt=d.color||f.color;void 0!==d.plotY&&(w=et.width,u=Math.floor(et.x),a=u+w,b=Math.round(w/2),o=Math.floor(v?d.q1Plot:d.lowPlot),e=Math.floor(v?d.q3Plot:d.lowPlot),c=Math.floor(d.highPlot),l=Math.floor(d.lowPlot),g||(d.graphic=g=h.g("point").add(f.group),d.stem=h.path().addClass("highcharts-boxplot-stem").add(g),s&&(d.whiskers=h.path().addClass("highcharts-boxplot-whisker").add(g)),v&&(d.box=h.path(void 0).addClass("highcharts-boxplot-box").add(g)),d.medianShape=h.path(void 0).addClass("highcharts-boxplot-median").add(g)),k.styledMode||(rt.stroke=d.stemColor||n.stemColor||nt,rt["stroke-width"]=t(d.stemWidth,n.stemWidth,n.lineWidth),rt.dashstyle=d.stemDashStyle||n.stemDashStyle,d.stem.attr(rt),s&&(ut.stroke=d.whiskerColor||n.whiskerColor||nt,ut["stroke-width"]=t(d.whiskerWidth,n.whiskerWidth,n.lineWidth),d.whiskers.attr(ut)),v&&(it.fill=d.fillColor||n.fillColor||nt,it.stroke=n.lineColor||nt,it["stroke-width"]=n.lineWidth||0,d.box.attr(it)),ft.stroke=d.medianColor||n.medianColor||nt,ft["stroke-width"]=t(d.medianWidth,n.medianWidth,n.lineWidth),d.medianShape.attr(ft)),i=d.stem.strokeWidth()%2/2,r=u+b+i,d.stem[tt]({d:["M",r,e,"L",r,c,"M",r,o,"L",r,l]}),v&&(i=d.box.strokeWidth()%2/2,o=Math.floor(o)+i,e=Math.floor(e)+i,u+=i,a+=i,d.box[tt]({d:["M",u,e,"L",u,o,"L",a,o,"L",a,e,"L",u,e,"z"]})),s&&(i=d.whiskers.strokeWidth()%2/2,c+=i,l+=i,y=/%$/.test(s)?b*parseFloat(s)/100:s/2,d.whiskers[tt]({d:["M",r-y,c,"L",r+y,c,"M",r-y,l,"L",r+y,l]})),p=Math.round(d.medianPlot),i=d.medianShape.strokeWidth()%2/2,p+=i,d.medianShape[tt]({d:["M",u,p,"L",a,p]}))})},setStackedPoints:i})});t(n,"parts-more/ErrorBarSeries.js",[n["parts/Globals.js"]],function(n){var i=n.noop,r=n.seriesType,t=n.seriesTypes;r("errorbar","boxplot",{color:"#000000",grouping:!1,linkedTo:":previous",tooltip:{pointFormat:'●<\/span> {series.name}: {point.low}<\/b> - {point.high}<\/b>
'},whiskerWidth:null},{type:"errorbar",pointArrayMap:["low","high"],toYData:function(n){return[n.low,n.high]},pointValKey:"high",doQuartiles:!1,drawDataLabels:t.arearange?function(){var n=this.pointValKey;t.arearange.prototype.drawDataLabels.call(this);this.data.forEach(function(t){t.y=t[n]})}:i,getColumnMetrics:function(){return this.linkedParent&&this.linkedParent.columnMetrics||t.column.prototype.getColumnMetrics.call(this)}})});t(n,"parts-more/WaterfallSeries.js",[n["parts/Globals.js"]],function(n){var i=n.correctFloat,l=n.isNumber,r=n.pick,t=n.objectEach,o=n.arrayMin,s=n.arrayMax,u=n.addEvent,f=n.Axis,a=n.Chart,v=n.Point,h=n.Series,c=n.StackItem,y=n.seriesType,e=n.seriesTypes;u(f,"afterInit",function(){this.isXAxis||(this.waterfallStacks={changed:!1})});u(a,"beforeRedraw",function(){for(var i=this.axes,t=this.series,n=t.length;n--;)t[n].options.stacking&&(i.forEach(function(n){n.isXAxis||(n.waterfallStacks.changed=!0)}),n=0)});u(f,"afterRender",function(){var n=this.options.stackLabels;n&&n.enabled&&this.waterfallStacks&&this.renderWaterfallStackTotals()});f.prototype.renderWaterfallStackTotals=function(){var i=this.waterfallStacks,r=this.stackTotalGroup,n=new c(this,this.options.stackLabels,!1,0,void 0);this.dummyStackItem=n;t(i,function(i){t(i,function(t){n.total=t.stackTotal;t.label&&(n.label=t.label);c.prototype.render.call(n,r);t.label=n.label;delete n.label})});n.total=null};y("waterfall","column",{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}},{pointValKey:"y",showLine:!0,generatePoints:function(){var t,r,n,u;for(e.column.prototype.generatePoints.apply(this),n=0,r=this.points.length;nt.height&&(t.y+=t.height,t.height*=-1)),u.plotY=t.y=Math.round(t.y)-this.borderWidth%2/2,t.height=Math.max(Math.round(t.height),.001),u.yBottom=t.y+t.height,t.height<=y&&!u.isNull?(t.height=y,t.y-=p,u.plotY=t.y,u.minPointLengthOffset=0>u.y?-p:p):(u.isNull&&(t.width=0),u.minPointLengthOffset=0),t=u.plotY+(u.negative?t.height:0),this.chart.inverted?u.tooltipPos[0]=f.len-t:u.tooltipPos[1]=t},processData:function(n){for(var c=this.options,f=this.yData,l=c.data,a,v=f.length,y=c.threshold||0,e,r,o,s,u,t=r=e=o=s=0;tu.y&&!o||0=t&&this.renderRange(n)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup);this.hideOverlappingLabels()},renderRange:function(n){var t=this.options,e=t.labels,i=this.chart.renderer,c=this.symbols,y=c.labels,a=n.center,v=Math.abs(n.radius),r=t.connectorDistance,u=e.align,o=e.style.fontSize,r=this.legend.options.rtl||"left"===u?-r:r,e=t.connectorWidth,s=this.ranges[0].radius,h=a-v-t.borderWidth/2+e/2,l,o=o/2-(this.fontMetrics.h-o)/2,f=i.styledMode;"center"===u&&(r=0,t.connectorDistance=0,n.labelStyle.align="center");u=h+t.labels.y;l=s+r+t.labels.x;c.bubbleItems.push(i.circle(s,a+((h%1?1:.5)-(e%2?0:.5)),v).attr(f?{}:n.bubbleStyle).addClass((f?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(t.className||"")).add(this.legendSymbol));c.connectors.push(i.path(i.crispLine(["M",s,h,"L",s+r,h],t.connectorWidth)).attr(f?{}:n.connectorStyle).addClass((f?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(t.connectorClassName||"")).add(this.legendSymbol));n=i.text(this.formatLabel(n),l,u+o).attr(f?{}:n.labelStyle).addClass("highcharts-bubble-legend-labels "+(t.labels.className||"")).add(this.legendSymbol);y.push(n);n.placed=!0;n.alignAttr={x:l,y:u+o}},getMaxLabelSize:function(){var n,t;return this.symbols.labels.forEach(function(i){t=i.getBBox(!0);n=n?t.width>n.width?t:n:t}),n||{}},formatLabel:function(t){var i=this.options,r=i.labels.formatter;return(i=i.labels.format)?n.format(i,t):r?r.call(t):l(t.value,1)},hideOverlappingLabels:function(){var t=this.chart,n=this.symbols;!this.options.labels.allowOverlap&&n&&(t.hideOverlappingLabels(n.labels),n.labels.forEach(function(t,i){t.newOpacity?t.newOpacity!==t.oldOpacity&&n.connectors[i].show():n.connectors[i].hide()}))},getRanges:function(){var s=this.legend.bubbleLegend,r,u=s.options.ranges,o,f=Number.MAX_VALUE,n=-Number.MAX_VALUE;return s.chart.series.forEach(function(i){i.isBubble&&!i.ignoreSeries&&(o=i.zData.filter(e),o.length&&(f=t(i.options.zMin,Math.min(f,Math.max(p(o),!1===i.options.displayNegative?i.options.zThreshold:-Number.MAX_VALUE))),n=t(i.options.zMax,Math.max(n,w(o)))))}),r=f===n?[{value:n}]:[{value:f},{value:(f+n)/2},{value:n,autoRanges:!0}],u.length&&u[0].radius&&r.reverse(),r.forEach(function(n,t){u&&u[t]&&(r[t]=i(!1,u[t],n))}),r},predictBubbleSizes:function(){var i=this.chart,t=this.fontMetrics,e=i.legend.options,r="horizontal"===e.layout,s=r?i.legend.lastLineHeight:0,u=i.plotSizeX,f=i.plotSizeY,n=i.series[this.options.seriesIndex],i=Math.ceil(n.minPxSize),o=Math.ceil(n.maxPxSize),n=n.options.maxSize,h=Math.min(f,u);return e.floating||!/%$/.test(n)?t=o:(n=parseFloat(n),t=(h+s-t.h/2)*n/100/(n/100+1),r&&f-t>=u||!r&&u-t>=f)&&(t=o),[i,Math.ceil(t)]},updateRanges:function(n,t){var i=this.legend.options.bubbleLegend;i.minSize=n;i.maxSize=t;i.ranges=this.getRanges()},correctSizes:function(){var t=this.legend,n=this.chart.series[this.options.seriesIndex];1u.height&&(u.height=t[i].itemHeight);u.step=n}return r};r.prototype.retranslateItems=function(n){var r,u,t,f=this.options.rtl,i=0;this.allItems.forEach(function(e,o){r=e.legendGroup.translateX;u=e._legendItemPos[1];((t=e.movementX)||f&&e.ranges)&&(t=f?r-e.options.maxSize/2:r+t,e.legendGroup.attr({translateX:t}));o>n[i].step&&i++;e.legendGroup.attr({translateY:Math.round(u+n[i].height/2)});e._legendItemPos[1]=u+n[i].height/2})};f(s,"legendItemClick",function(){var n=this.chart,i=this.visible,t=this.chart.legend;t&&t.bubbleLegend&&(this.visible=!i,this.ignoreSeries=i,n=0<=n.getVisibleBubbleSeriesIndex(),t.bubbleLegend.visible!==n&&(t.update({bubbleLegend:{enabled:n}}),t.bubbleLegend.visible=n),this.visible=i)});h(u.prototype,"drawChartBox",function(n,t,i){var r=this.legend,u=0<=this.getVisibleBubbleSeriesIndex(),f;r&&r.options.enabled&&r.bubbleLegend&&r.options.bubbleLegend.autoRanges&&u?(f=r.bubbleLegend.options,u=r.bubbleLegend.predictBubbleSizes(),r.bubbleLegend.updateRanges(u[0],u[1]),f.placed||(r.group.placed=!1,r.allItems.forEach(function(n){n.legendGroup.translateY=null})),r.render(),this.getMargins(),this.axes.forEach(function(n){n.render();f.placed||(n.setScale(),n.updateNames(),o(n.ticks,function(n){n.isNew=!0;n.isNewLabel=!0}))}),f.placed=!0,this.getMargins(),n.call(this,t,i),r.bubbleLegend.correctSizes(),r.retranslateItems(r.getLinesHeights())):(n.call(this,t,i),r&&r.options.enabled&&r.bubbleLegend&&(r.render(),r.retranslateItems(r.getLinesHeights())))})});t(n,"parts-more/BubbleSeries.js",[n["parts/Globals.js"]],function(n){var f=n.arrayMax,e=n.arrayMin,o=n.Axis,s=n.color,t=n.isNumber,r=n.noop,i=n.pick,h=n.pInt,c=n.Point,l=n.Series,a=n.seriesType,u=n.seriesTypes;a("bubble","scatter",{dataLabels:{formatter:function(){return this.point.z},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"},{pointArrayMap:["y","z"],parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",bubblePadding:!0,zoneAxis:"z",directTouch:!0,isBubble:!0,pointAttribs:function(n,t){var i=this.options.marker.fillOpacity;return n=l.prototype.pointAttribs.call(this,n,t),1!==i&&(n.fill=s(n.fill).setOpacity(i).get("rgba")),n},getRadii:function(n,t,i){var r,u=this.zData,o=i.minPxSize,s=i.maxPxSize,f=[],e;for(r=0,i=u.length;r=this.minPxSize/2?(r.marker=n.extend(r.marker,{radius:i,width:2*i,height:2*i}),r.dlBox={x:r.plotX-i,y:r.plotY-i,width:2*i,height:2*i}):r.shapeArgs=r.plotY=r.dlBox=void 0},alignDataLabel:u.column.prototype.alignDataLabel,buildKDTree:r,applyZones:r},{haloPath:function(n){return c.prototype.haloPath.call(this,0===n?0:(this.marker?this.marker.radius||0:0)+n)},ttBelow:!1});o.prototype.beforePadding=function(){var r=this,u=this.len,a=this.chart,s=0,o=u,v=this.isXAxis,d=v?"xData":"yData",y=this.min,c={},g=Math.min(a.plotWidth,a.plotHeight),p=Number.MAX_VALUE,w=-Number.MAX_VALUE,b=this.max-y,l=u/b,k=[];this.series.forEach(function(t){var u=t.options;t.bubblePadding&&(t.visible||!a.options.chart.ignoreHiddenSeries)&&(r.allowZoomOutside=!0,k.push(t),v&&(["minSize","maxSize"].forEach(function(n){var t=u[n],i=/%$/.test(t),t=h(t);c[n]=i?g*t/100:t}),t.minPxSize=c.minSize,t.maxPxSize=Math.max(c.maxSize,c.minSize),t=t.zData.filter(n.isNumber),t.length&&(p=i(u.zMin,Math.min(p,Math.max(e(t),!1===u.displayNegative?u.zThreshold:-Number.MAX_VALUE))),w=i(u.zMax,Math.max(w,f(t))))))});k.forEach(function(n){var u=n[d],i=u.length,f;if(v&&n.getRadii(p,w,n),0n?1:0)},barycenter:function(){var n=this.options.gravitationalConstant,t=this.barycenter.xFactor,i=this.barycenter.yFactor,t=(t-(this.box.left+this.box.width)/2)*n,i=(i-(this.box.top+this.box.height)/2)*n;this.nodes.forEach(function(n){n.fixedPosition||(n.plotX-=t/n.mass/n.degree,n.plotY-=i/n.mass/n.degree)})},repulsive:function(n,t,i){t=t*this.diffTemperature/n.mass/n.degree;n.fixedPosition||(n.plotX+=i.x*t,n.plotY+=i.y*t)},attractive:function(n,t,i){var r=n.getMass(),u=-i.x*t*this.diffTemperature;t=-i.y*t*this.diffTemperature;n.fromNode.fixedPosition||(n.fromNode.plotX-=u*r.fromNode/n.fromNode.degree,n.fromNode.plotY-=t*r.fromNode/n.fromNode.degree);n.toNode.fixedPosition||(n.toNode.plotX+=u*r.toNode/n.toNode.degree,n.toNode.plotY+=t*r.toNode/n.toNode.degree)},integrate:function(n,t){var i=-n.options.friction,f=n.options.maxSpeed,r=(t.plotX+t.dispX-t.prevX)*i,i=(t.plotY+t.dispY-t.prevY)*i,u=Math.abs,e=u(r)/(r||1),u=u(i)/(i||1),r=e*Math.min(f,Math.abs(r)),i=u*Math.min(f,Math.abs(i));t.prevX=t.plotX+t.dispX;t.prevY=t.plotY+t.dispY;t.plotX+=r;t.plotY+=i;t.temperature=n.vectorLength({x:r,y:i})},getK:function(n){return Math.pow(n.box.width*n.box.height/n.nodes.length,.5)}},euler:{attractiveForceFunction:function(n,t){return n*n/t},repulsiveForceFunction:function(n,t){return t*t/n},barycenter:function(){var n=this.options.gravitationalConstant,t=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach(function(r){if(!r.fixedPosition){var u=r.getDegree(),u=u*(1+u/2);r.dispX+=(t-r.plotX)*n*u/r.degree;r.dispY+=(i-r.plotY)*n*u/r.degree}})},repulsive:function(n,t,i,r){n.dispX+=i.x/r*t/n.degree;n.dispY+=i.y/r*t/n.degree},attractive:function(n,t,i,r){var u=n.getMass(),f=i.x/r*t;t*=i.y/r;n.fromNode.fixedPosition||(n.fromNode.dispX-=f*u.fromNode/n.fromNode.degree,n.fromNode.dispY-=t*u.fromNode/n.fromNode.degree);n.toNode.fixedPosition||(n.toNode.dispX+=f*u.toNode/n.toNode.degree,n.toNode.dispY+=t*u.toNode/n.toNode.degree)},integrate:function(n,t){var i;t.dispX+=t.dispX*n.options.friction;t.dispY+=t.dispY*n.options.friction;i=t.temperature=n.vectorLength({x:t.dispX,y:t.dispY});0!==i&&(t.plotX+=t.dispX/i*Math.min(Math.abs(t.dispX),n.temperature),t.plotY+=t.dispY/i*Math.min(Math.abs(t.dispY),n.temperature))},getK:function(n){return Math.pow(n.box.width*n.box.height/n.nodes.length,.3)}}}});t(n,"modules/networkgraph/QuadTree.js",[n["parts/Globals.js"]],function(n){var t=n.QuadTreeNode=function(n){this.box=n;this.boxSize=Math.min(n.width,n.height);this.nodes=[];this.body=this.isInternal=!1;this.isEmpty=!0},i;n.extend(t.prototype,{insert:function(n,t){this.isInternal?this.nodes[this.getBoxPosition(n)].insert(n,t-1):(this.isEmpty=!1,this.body?t?(this.isInternal=!0,this.divideBox(),!0!==this.body&&(this.nodes[this.getBoxPosition(this.body)].insert(this.body,t-1),this.body=!0),this.nodes[this.getBoxPosition(n)].insert(n,t-1)):this.nodes.push(n):(this.isInternal=!1,this.body=n))},updateMassAndCenter:function(){var n=0,t=0,i=0;this.isInternal?(this.nodes.forEach(function(r){r.isEmpty||(n+=r.mass,t+=r.plotX*r.mass,i+=r.plotY*r.mass)}),t/=n,i/=n):this.body&&(n=this.body.mass,t=this.body.plotX,i=this.body.plotY);this.mass=n;this.plotX=t;this.plotY=i},divideBox:function(){var n=this.box.width/2,i=this.box.height/2;this.nodes[0]=new t({left:this.box.left,top:this.box.top,width:n,height:i});this.nodes[1]=new t({left:this.box.left+n,top:this.box.top,width:n,height:i});this.nodes[2]=new t({left:this.box.left+n,top:this.box.top+i,width:n,height:i});this.nodes[3]=new t({left:this.box.left,top:this.box.top+i,width:n,height:i})},getBoxPosition:function(n){var t=n.plotYMath.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature},getSystemTemperature:function(){return this.nodes.reduce(function(n,t){return n+t.temperature},0)},vectorLength:function(n){return Math.sqrt(n.x*n.x+n.y*n.y)},getDistR:function(n,t){return n=this.getDistXY(n,t),this.vectorLength(n)},getDistXY:function(n,t){var i=n.plotX-t.plotX;return n=n.plotY-t.plotY,{x:i,y:n,absX:Math.abs(i),absY:Math.abs(n)}}});r(u,"predraw",function(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(n){n.stop()})});r(u,"render",function(){function r(n){n.maxIterations--&&isFinite(n.temperature)&&!n.isStable()&&!n.options.enableSimulation&&(n.beforeStep&&n.beforeStep(),n.step(),t=!1,i=!0)}var t,i=!1;if(this.graphLayoutsLookup){for(n.setAnimation(!1,this),this.graphLayoutsLookup.forEach(function(n){n.start()});!t;)t=!0,this.graphLayoutsLookup.forEach(r);i&&this.series.forEach(function(n){n&&n.layout&&n.render()})}})});t(n,"modules/networkgraph/draggable-nodes.js",[n["parts/Globals.js"]],function(n){var i=n.Chart,t=n.addEvent;n.dragNodesMixin={onMouseDown:function(n,t){t=this.chart.pointer.normalize(t);n.fixedPosition={chartX:t.chartX,chartY:t.chartY,plotX:n.plotX,plotY:n.plotY};n.inDragMode=!0},onMouseMove:function(n,t){if(n.fixedPosition&&n.inDragMode){var r=this.chart,i=r.pointer.normalize(t);t=n.fixedPosition.chartX-i.chartX;i=n.fixedPosition.chartY-i.chartY;(5t&&(f.degree+=.01,f.neighbours++,i=n.repulsiveForce(-t/Math.sqrt(f.neighbours),n.k,f,e)),n.force("repulsive",f,i*e.mass,r,e,t))})})},applyLimitBox:function(n){var t,i;this.options.splitSeries&&!n.isParentNode&&this.options.parentNodeLimit&&(t=this.getDistXY(n,n.series.parentNode),i=n.series.parentNodeRadius-n.marker.radius-this.vectorLength(t),0>i&&i>-2*n.marker.radius&&(n.plotX-=.01*t.x,n.plotY-=.01*t.y));e.prototype.applyLimitBox.apply(this,arguments)},isStable:function(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature||0this.systemTemperature/this.nodes.length&&this.enableSimulation}});o("packedbubble","bubble",{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,dataLabels:{formatter:function(){return this.point.value},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:1,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}},{hasDraggableNodes:!0,forces:["barycenter","repulsive"],pointArrayMap:["value"],pointValKey:"value",isCartesian:!1,axisTypes:[],noSharedTooltip:!0,accumulateAllPoints:function(n){for(var r=n.chart,u=[],t,i=0;iMath.sqrt(i*i+r*r)-Math.abs(n[2]+t[2])},positionBubble:function(n,t,i){var u=Math.sqrt,f=Math.asin,e=Math.acos,r=Math.pow,o=Math.abs,u=u(r(n[0]-t[0],2)+r(n[1]-t[1],2)),e=e((r(u,2)+r(i[2]+t[2],2)-r(i[2]+n[2],2))/(2*(i[2]+t[2])*u)),f=f(o(n[0]-t[0])/u);return n=(0>n[1]-t[1]?0:Math.PI)+e+f*(0>(n[0]-t[0])*(n[1]-t[1])?1:-1),[t[0]+(t[2]+i[2])*Math.sin(n),t[1]-(t[2]+i[2])*Math.cos(n),i[2],i[3],i[4]]},placeBubbles:function(n){var s=this.checkOverlap,o=this.positionBubble,t=[],i=1,f=0,e=0,u,r;if(u=[],n=n.sort(function(n,t){return t[2]-n[2]}),n.length){if(t.push([[0,0,n[0][2],n[0][3],n[0][4]]]),1f&&(f=t),tf&&(u.series.addPoint(n.merge(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),i.removeNode(t),t.remove()))});u.onMouseUp.apply(this,arguments)}},destroy:function(){this.parentNode&&(this.parentNodeLayout.removeNode(this.parentNode),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy()));n.Series.prototype.destroy.apply(this,arguments)},alignDataLabel:n.Series.prototype.alignDataLabel},{destroy:function(){return this.series.layout&&this.series.layout.removeNode(this),s.prototype.destroy.apply(this,arguments)}});f(h,"beforeRedraw",function(){this.allDataPoints&&delete this.allDataPoints})});t(n,"parts-more/Polar.js",[n["parts/Globals.js"]],function(n){var f=n.pick,u=n.Series,t=n.seriesTypes,i=n.wrap,r=u.prototype,e=n.Pointer.prototype;r.searchPointByAngle=function(n){var t=this.chart,i=this.xAxis.pane.center;return this.searchKDTree({clientX:180+-180/Math.PI*Math.atan2(n.chartX-i[0]-t.plotLeft,n.chartY-i[1]-t.plotTop)})};r.getConnectors=function(n,t,i,r){var f,u,o,s,h,c,e,l;return u=r?1:0,f=0<=t&&t<=n.length-1?t:0>t?n.length-1+t:0,t=0>f-1?n.length-(1+u):f-1,u=f+1>n.length-1?u:f+1,o=n[t],u=n[u],s=o.plotX,o=o.plotY,h=u.plotX,c=u.plotY,u=n[f].plotX,f=n[f].plotY,s=(1.5*u+s)/2.5,o=(1.5*f+o)/2.5,h=(1.5*u+h)/2.5,e=(1.5*f+c)/2.5,c=Math.sqrt(Math.pow(s-u,2)+Math.pow(o-f,2)),l=Math.sqrt(Math.pow(h-u,2)+Math.pow(e-f,2)),s=Math.atan2(o-f,s-u),e=Math.PI/2+(s+Math.atan2(e-f,h-u))/2,Math.abs(s-e)>Math.PI/2&&(e-=Math.PI),s=u+Math.cos(e)*c,o=f+Math.sin(e)*c,h=u+Math.cos(Math.PI+e)*l,e=f+Math.sin(Math.PI+e)*l,u={rightContX:h,rightContY:e,leftContX:s,leftContY:o,plotX:u,plotY:f},i&&(u.prevPointCont=this.getConnectors(n,t,!1,r)),u};r.toXY=function(n){var t,i=this.chart,r=n.plotX;t=n.plotY;n.rectPlotX=r;n.rectPlotY=t;t=this.xAxis.postTranslate(n.plotX,this.yAxis.len-t);n.plotX=n.polarPlotX=t.x-i.plotLeft;n.plotY=n.polarPlotY=t.y-i.plotTop;this.kdByAngle?(i=(r/Math.PI*180+this.xAxis.pane.options.startAngle)%360,0>i&&(i+=360),n.clientX=i):n.clientX=n.plotX};t.spline&&(i(t.spline.prototype,"getPointSpline",function(n,t,i,r){return this.chart.polar?r?(n=this.getConnectors(t,r,!0,this.connectEnds),n=["C",n.prevPointCont.rightContX,n.prevPointCont.rightContY,n.leftContX,n.leftContY,n.plotX,n.plotY]):n=["M",i.plotX,i.plotY]:n=n.call(this,t,i,r),n}),t.areasplinerange&&(t.areasplinerange.prototype.getPointSpline=t.spline.prototype.getPointSpline));n.addEvent(u,"afterTranslate",function(){var t=this.chart,i,r;if(t.polar){if((this.kdByAngle=t.tooltip&&t.tooltip.shared)?this.searchPoint=this.searchPointByAngle:this.options.findNearestPointBy="xy",!this.preventPostTranslate)for(i=this.points,r=i.length;r--;)this.toXY(i[r]),!t.hasParallelCoordinates&&!this.yAxis.reversed&&i[r].yi.center[1]}),i(t,"alignDataLabel",function(n,t,i,u,f,e){this.chart.polar?(n=t.rectPlotX/Math.PI*180,null===u.align&&(u.align=20n?"left":200n?"right":"center"),null===u.verticalAlign&&(u.verticalAlign=45>n||315n?"top":"middle"),r.alignDataLabel.call(this,t,i,u,f,e)):n.call(this,t,i,u,f,e)}));i(e,"getCoordinates",function(n,t){var i=this.chart,r={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach(function(n){var f=n.isXAxis,u=n.center,e=t.chartX-u[0]-i.plotLeft,u=t.chartY-u[1]-i.plotTop;r[f?"xAxis":"yAxis"].push({axis:n,value:n.translate(f?Math.PI-Math.atan2(e,u):Math.sqrt(Math.pow(e,2)+Math.pow(u,2)),!0)})}):r=n.call(this,t),r});n.SVGRenderer.prototype.clipCircle=function(t,i,r){var u=n.uniqueKey(),f=this.createElement("clipPath").attr({id:u}).add(this.defs);return t=this.circle(t,i,r).add(f),t.id=u,t.clipPath=f,t};n.addEvent(n.Chart,"getAxes",function(){this.pane||(this.pane=[]);n.splat(this.options.pane).forEach(function(t){new n.Pane(t,this)},this)});n.addEvent(n.Chart,"afterDrawChartBox",function(){this.pane.forEach(function(n){n.render()})});i(n.Chart.prototype,"get",function(t,i){return n.find(this.pane,function(n){return n.options.id===i})||t.call(this,i)})});t(n,"masters/highcharts-more.src.js",[],function(){})})