1(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/highstock",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 i="undefined"!=typeof n?n:"undefined"!=typeof window?window:{},r=i.document,t=i.navigator&&i.navigator.userAgent||"",e=r&&r.createElementNS&&!!r.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,o=/(edge|msie|trident)/i.test(t)&&!i.opera,u=-1!==t.indexOf("Firefox"),f=-1!==t.indexOf("Chrome"),s=u&&4>parseInt(t.split("Firefox/")[1],10);return{product:"Highcharts",version:"8.0.0",deg2rad:Math.PI/180,doc:r,hasBidiBug:s,hasTouch:!!i.TouchEvent,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:i,marginNames:["plotTop","marginRight","marginBottom","plotLeft"],noop:function(){},charts:[],dateFormats:{}}}),i(t,"parts/Utilities.js",[t["parts/Globals.js"]],function(n){function h(n,t){return parseInt(n,t||10)}function c(n){return"string"==typeof n}function o(n){return n=Object.prototype.toString.call(n),"[object Array]"===n||"[object Array Iterator]"===n}function i(n,t){return!!n&&"object"==typeof n&&(!t||!o(n))}function l(n){return i(n)&&"number"==typeof n.nodeType}function y(n){var t=n&&n.constructor;return!(!i(n,!0)||l(n)||!t||!t.name||"Object"===t.name)}function e(n){return"number"==typeof n&&!isNaN(n)&&Infinity>n&&-Infinity<n}function a(n){return"undefined"!=typeof n&&null!==n}function p(n,i,r){var u;return c(i)?a(r)?n.setAttribute(i,r):n&&n.getAttribute&&((u=n.getAttribute(i))||"class"!==i||(u=n.getAttribute(i+"Name"))):t(i,function(t,i){n.setAttribute(i,t)}),u}function u(n,t){var i;n||(n={});for(i in t)n[i]=t[i];return n}function f(){for(var n,i=arguments,r=i.length,t=0;t<r;t++)if(n=i[t],"undefined"!=typeof n&&null!==n)return n}function v(n,t){var i=function(){};return i.prototype=new n,u(i.prototype,t),i}function w(n,t){return parseFloat(n.toPrecision(t||14))}function b(t,i,r,u){var s,l;t=+t||0;i=+i;var a=n.defaultOptions.lang,c=(t.toString().split(".")[1]||"").split("e")[0].length,o=t.toString().split("e");return-1===i?i=Math.min(c,20):e(i)?i&&o[1]&&0>o[1]&&(s=i+ +o[1],0<=s?(o[0]=(+o[0]).toExponential(s).split("e")[0],i=s):(o[0]=o[0].split(".")[0]||0,t=20>i?(o[0]*Math.pow(10,o[1])).toFixed(i):0,o[1]=0)):i=2,l=(Math.abs(o[1]?o[0]:t)+Math.pow(10,-Math.max(i,c)-1)).toFixed(i),c=String(h(l)),s=3<c.length?c.length%3:0,r=f(r,a.decimalPoint),u=f(u,a.thousandsSep),t=(0>t?"-":"")+(s?c.substr(0,s)+u:""),t+=c.substr(s).replace(/(\d{3})(?=\d)/g,"$1"+u),i&&(t+=r+l.slice(-i)),o[1]&&0!=+t&&(t+="e"+o[1]),t}function t(n,t,i){for(var r in n)Object.hasOwnProperty.call(n,r)&&t.call(i||n[r],n[r],r,n)}n.timers=[];var k=n.charts,s=n.doc,r=n.win;return n.error=function(t,i,u,f){var s=e(t),o=s?"Highcharts error #"+t+": www.highcharts.com/errors/"+t+"/":t.toString(),c=function(){if(i)throw Error(o);r.console&&console.log(o)},h;"undefined"!=typeof f&&(h="",s&&(o+="?"),n.objectEach(f,function(n,t){h+="\n"+t+": "+n;s&&(o+=encodeURI(t)+"="+encodeURI(n))}),o+=h);u?n.fireEvent(u,"displayError",{code:t,message:o,params:f},c):c()},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)||"A"===t[n-4]||"A"===t[n-5]?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(t,i,u){var o=this,e=o.options,f=function(n){return f.stopped?!1:o.step(n)},s=r.requestAnimationFrame||function(n){setTimeout(n,13)},h=function(){for(var t=0;t<n.timers.length;t++)n.timers[t]()||n.timers.splice(t--,1);n.timers.length&&s(h)};t!==i||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=i,this.unit=u,this.now=this.start,this.pos=0,f.elem=this.elem,f.prop=this.prop,f()&&1===n.timers.push(f)&&s(h)):(delete e.curAnim[this.prop],e.complete&&0===Object.keys(e.curAnim).length&&e.complete.call(this.elem))},step:function(n){var f=+new Date,i=this.options,r=this.elem,e=i.complete,o=i.duration,s=i.curAnim,u;return r.attr&&!r.element?n=!1:n||f>=o+this.startTime?(this.now=this.end,this.pos=1,this.update(),u=s[this.prop]=!0,t(s,function(n){!0!==n&&(u=!1)}),u&&e&&e.call(r),n=!1):(this.pos=i.easing((f-this.startTime)/o),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0),n},initPath:function(n,t,i){function y(n){for(r=n.length;r--;){var t="M"===n[r]||"L"===n[r],i=/[a-zA-Z]/.test(n[r+3]);t&&i&&n.splice(r+1,0,n[r+1],n[r+2],n[r+1],n[r+2])}}function p(n,t){for(;n.length<l;){n[0]=t[l-n.length];var i=n.slice(0,u);[].splice.apply(n,[0,0].concat(i));
1a&&(i=n.slice(n.length-u),[].splice.apply(n,[n.length,0].concat(i)),r--)}n[0]="M"}function w(n,t){for(var i=(l-n.length)/u;0<i&&i--;)o=n.slice().splice(n.length/c-u,u*c),o[0]=t[l-u-i*u],v&&(o[u-6]=o[u-2],o[u-5]=o[u-1]),[].splice.apply(n,[n.length/c,0].concat(o)),a&&i--}var a,c,h,b,l;t=t||"";var f=n.startX,s=n.endX,v=-1<t.indexOf("C"),u=v?7:3,o,r;if(t=t.split(" "),i=i.slice(),a=n.isArea,c=a?2:1,v&&(y(t),y(i)),f&&s){for(r=0;r<f.length;r++)if(f[r]===s[0]){h=r;break}else if(f[0]===s[s.length-f.length+r]){h=r;b=!0;break}else if(f[f.length-1]===s[s.length-f.length+r]){h=f.length-r;break}"undefined"==typeof h&&(t=[])}return t.length&&e(h)&&(l=i.length+h*c*u,b?(p(t,i),w(i,t)):(p(i,t),w(t,i))),[t,i]},fillSetter:function(){n.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,n.color(this.start).tweenTo(n.color(this.end),this.pos),null,!0)}},n.merge=function(){var r,n=arguments,u={},f=function(n,r){return"object"!=typeof n&&(n={}),t(r,function(t,u){n[u]=!i(t,!0)||y(t)||l(t)?r[u]:f(n[u]||{},t)}),n},e;for(!0===n[0]&&(u=n[1],n=Array.prototype.slice.call(n,2)),e=n.length,r=0;r<e;r++)u=f(u,n[r]);return u},n.clearTimeout=function(n){a(n)&&clearTimeout(n)},n.css=function(t,i){n.isMS&&!n.svg&&i&&"undefined"!=typeof i.opacity&&(i.filter="alpha(opacity="+100*i.opacity+")");u(t.style,i)},n.createElement=function(t,i,r,f,e){t=s.createElement(t);var o=n.css;return i&&u(t,i),e&&o(t,{padding:"0",border:"none",margin:"0"}),r&&o(t,r),f&&f.appendChild(t),t},n.datePropsToTimestamps=function(r){t(r,function(t,u){i(t)&&"function"==typeof t.getTime?r[u]=t.getTime():(i(t)||o(t))&&n.datePropsToTimestamps(t)})},n.formatSingle=function(t,i,r){var u=/\.([0-9])/,f=n.defaultOptions.lang,e=r&&r.time||n.time;return r=r&&r.numberFormatter||b,/f$/.test(t)?(u=(u=t.match(u))?u[1]:-1,null!==i&&(i=r(i,u,f.decimalPoint,-1<t.indexOf(",")?f.thousandsSep:""))):i=e.dateFormat(t,i),i},n.format=function(t,i,r){for(var e="{",h=!1,u,c,o,l,s=[],f;t;){if(e=t.indexOf(e),-1===e)break;if(u=t.slice(0,e),h){for(u=u.split(":"),c=u.shift().split("."),l=c.length,f=i,o=0;o<l;o++)f&&(f=f[c[o]]);u.length&&(f=n.formatSingle(u.join(":"),f,r));s.push(f)}else s.push(u);t=t.slice(e+1);e=(h=!h)?"}":"{"}return s.push(t),s.join("")},n.getMagnitude=function(n){return Math.pow(10,Math.floor(Math.log(n)/Math.LN10))},n.normalizeTickInterval=function(n,t,i,r,u){var e=n,o;for(i=f(i,1),o=n/i,t||(t=u?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===r&&(1===i?t=t.filter(function(n){return 0==n%1}):.1>=i&&(t=[1/i]))),r=0;r<t.length&&!(e=t[r],u&&e*i>=n||!u&&o<=(t[r]+(t[r+1]||t[r]))/2);r++);return w(e*i,-Math.round(Math.log(.001)/Math.LN10))},n.stableSort=function(n,t){for(var u=n.length,r,i=0;i<u;i++)n[i].safeI=i;for(n.sort(function(n,i){return r=t(n,i),0===r?n.safeI-i.safeI:r}),i=0;i<u;i++)delete n[i].safeI},n.timeUnits={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},Math.easeInOutSine=function(n){return-.5*(Math.cos(Math.PI*n)-1)},n.getStyle=function(t,i,u){return"width"===i?(i=Math.min(t.offsetWidth,t.scrollWidth),u=t.getBoundingClientRect&&t.getBoundingClientRect().width,u<i&&u>=i-1&&(i=Math.floor(u)),Math.max(0,i-n.getStyle(t,"padding-left")-n.getStyle(t,"padding-right"))):"height"===i?Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-n.getStyle(t,"padding-top")-n.getStyle(t,"padding-bottom")):(r.getComputedStyle||n.error(27,!0),(t=r.getComputedStyle(t,void 0))&&(t=t.getPropertyValue(i),f(u,"opacity"!==i)&&(t=h(t))),t)},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<r;i++)if(t(n[i],i))return n[i]},n.keys=Object.keys,n.stop=function(t,i){for(var r=n.timers.length;r--;)n.timers[r].elem!==t||i&&i!==n.timers[r].prop||(n.timers[r].stopped=!0)},t({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(t,i){n[i]=function(n){return Array.prototype[t].apply(n,[].slice.call(arguments,1))}}),n.addEvent=function(t,i,r,u){void 0===u&&(u={});var e=t.addEventListener||n.addEventListenerPolyfill,f="function"==typeof t&&t.prototype?t.prototype.protoEvents=t.prototype.protoEvents||{}:t.hcEvents=t.hcEvents||{};return n.Point&&t instanceof n.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0),e&&e.call(t,i,r,!1),f[i]||(f[i]=[]),f[i].push({fn:r,order:"number"==typeof u.order?u.order:Infinity}),f[i].sort(function(n,t){return n.order-t.order}),function(){n.removeEvent(t,i,r)}},n.removeEvent=function(i,r,u){function f(t,r){var u=i.removeEventListener||n.removeEventListenerPolyfill;u&&u.call(i,t,r,!1)}function e(n){var e,u;i.nodeName&&(r?(u={}
1,u[r]=!0):u=n,t(u,function(t,i){if(n[i])for(e=n[i].length;e--;)f(i,n[i][e].fn)}))}var o;["protoEvents","hcEvents"].forEach(function(n,t){var s=(t=t?i:i.prototype)&&t[n];s&&(r?(o=s[r]||[],u?(s[r]=o.filter(function(n){return u!==n.fn}),f(r,u)):(e(s),s[r]=[])):(e(s),t[n]={}))})},n.fireEvent=function(n,t,i,r){var e,f;i=i||{};s.createEvent&&(n.dispatchEvent||n.fireEvent)?(f=s.createEvent("Events"),f.initEvent(t,!0,!0),u(f,i),n.dispatchEvent?n.dispatchEvent(f):n.fireEvent(t,f)):(i.target||u(i,{preventDefault:function(){i.defaultPrevented=!0},target:n,type:t}),function(t,r){void 0===t&&(t=[]);void 0===r&&(r=[]);var u=0,f=0,o=t.length+r.length;for(e=0;e<o;e++)!1===(t[u]?r[f]?t[u].order<=r[f].order?t[u++]:r[f++]:t[u++]:r[f++]).fn.call(n,i)&&i.preventDefault()}(n.protoEvents&&n.protoEvents[t],n.hcEvents&&n.hcEvents[t]));r&&!i.defaultPrevented&&r.call(n,i)},n.animate=function(r,u,f){var h,l="",o,s,c;i(f)||(c=arguments,f={duration:c[2],easing:c[3],complete:c[4]});e(f.duration)||(f.duration=400);f.easing="function"==typeof f.easing?f.easing:Math[f.easing]||Math.easeInOutSine;f.curAnim=n.merge(u);t(u,function(t,i){n.stop(r,i);s=new n.Fx(r,f,i);o=null;"d"===i?(s.paths=s.initPath(r,r.d,u.d),s.toD=u.d,h=0,o=1):r.attr?h=r.attr(i):(h=parseFloat(n.getStyle(r,i))||0,"opacity"!==i&&(l="px"));o||(o=t);o&&o.match&&o.match("px")&&(o=o.replace(/px/g,""));s.run(h,o,l)})},n.seriesType=function(t,i,r,u,f){var o=n.getOptions(),e=n.seriesTypes;return o.plotOptions[t]=n.merge(o.plotOptions[i],r),e[t]=v(e[i]||function(){},u),e[t].prototype.type=t,f&&(e[t].prototype.pointClass=v(n.Point,f)),e[t]},n.uniqueKey=function(){var n=Math.random().toString(36).substring(2,9),t=0;return function(){return"highcharts-"+n+"-"+t++}}(),n.isFunction=function(n){return"function"==typeof n},r.jQuery&&(r.jQuery.fn.highcharts=function(){var t=[].slice.call(arguments);if(this[0])return t[0]?(new n[c(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):k[p(this[0],"data-highcharts-chart")]}),{animObject:function(t){return i(t)?n.merge(t):{duration:t?500:0}},arrayMax:function(n){for(var t=n.length,i=n[0];t--;)n[t]>i&&(i=n[t]);return i},arrayMin:function(n){for(var t=n.length,i=n[0];t--;)n[t]<i&&(i=n[t]);return i},attr:p,clamp:function(n,t,i){return n>t?n<i?n:i:t},correctFloat:w,defined:a,destroyObjectProperties:function(n,i){t(n,function(t,r){t&&t!==i&&t.destroy&&t.destroy();delete n[r]})},discardElement:function(t){var i=n.garbageBin;i||(i=n.createElement("div"));t&&i.appendChild(t);i.innerHTML=""},erase:function(n,t){for(var i=n.length;i--;)if(n[i]===t){n.splice(i,1);break}},extend:u,extendClass:v,isArray:o,isClass:y,isDOMElement:l,isNumber:e,isObject:i,isString:c,numberFormat:b,objectEach:t,offset:function(n){var t=s.documentElement;return n=n.parentElement||n.parentNode?n.getBoundingClientRect():{top:0,left:0},{top:n.top+(r.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(r.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}},pad:function(n,t,i){return Array((t||2)+1-String(n).replace("-","").length).join(i||"0")+n},pick:f,pInt:h,relativeLength:function(n,t,i){return/%$/.test(n)?t*parseFloat(n)/100+(i||0):parseFloat(n)},setAnimation:function(n,t){t.renderer.globalAnimation=f(n,t.options.chart.animation,!0)},splat:function(n){return o(n)?n:[n]},syncTimeout:function(n,t,i){return 0<t?setTimeout(n,t,i):(n.call(0,i),-1)},wrap:function(n,t,i){var r=n[t];n[t]=function(){var n=Array.prototype.slice.call(arguments),u=arguments,t=this;return t.proceed=function(){r.apply(t,arguments.length?arguments:u)},n.unshift(r),n=i.apply(this,n),t.proceed=null,n}}}}),i(t,"parts/Color.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.isNumber,i=t.pInt,u=n.merge;n.Color=function(t){if(!(this instanceof n.Color))return new n.Color(t);this.init(t)};n.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(n){return[i(n[1]),i(n[2]),i(n[3]),parseFloat(n[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,parse:function(n){return[i(n[1]),i(n[2]),i(n[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(t){var i,u,r,f;if((this.input=t=this.names[t&&t.toLowerCase?t.toLowerCase():""]||t)&&t.stops)this.stops=t.stops.map(function(t){return new n.Color(t[1])});else if(t&&t.charAt&&"#"===t.charAt()&&(r=t.length,t=parseInt(t.substr(1),16),7===r?i=[(t&16711680)>>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,i;return this.stops?(i=u(f),i.stops=[].concat(i.stops),this.stops.forEach(function(t,r){i.stops[r]=[i.stops[r][0],t.get(n)]})):i=t&&r(t[0])?"rgb"===n||!n&&1===t[3]?"rgb("+t[0]+","+t[1]+","+t[2]+")":"a"===n?t[3]:"rgba("+t.join(",")+")":f,i},brighten:function(n){var t,u=this.rgba;if(this.stops)this.stops.forEach(function(t){t.brighten(n)});else if(r(n)&&0!==n)for(t=0;3>t;t++)u[t]+=i(255*n),0>u[t]&&(u[t]=0),255<u[t]&&(u[t]=255);return this},setOpacity:function(n){return this.rgba[3]=n,this},tweenTo:function(n,t){var r=this.rgba,i=n.rgba;return i.length&&r&&r.length?(n=1!==i[3]||1!==r[3],t=(n?"rgba(":"rgb(")+Math.round(i[0]+(r[0]-i[0])*(1-t))+","+Math.round(i[1]+(r[1]-i[1])*(1-t))+","+Math.round(i[2]+(r[2]-i[2])*(1-t))+(n?","+(i[3]+(r[3]-i[3])*(1-t)):"")+")"):t=n.input||"none",t}};n.color=function(t){return new n.Color(t)}}),i(t,"parts/SvgRenderer.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var st=t.animObject,f=t.attr,i=t.defined,ht=t.destroyObjectProperties,b=t.erase,o=t.extend,d=t.isArray,g=t.isNumber,v=t.isObject,nt=t.isString,s=t.objectEach,r=t.pick,c=t.pInt,ct=t.splat,p=n.addEvent,lt=n.animate,at=n.charts,vt=n.color,l=n.css,tt=n.createElement,k=n.deg2rad,e=n.doc,yt=n.hasTouch,it=n.isFirefox,rt=n.isMS,pt=n.isWebKit,h=n.merge,ut=n.noop,ft=n.removeEvent,et=n.stop,ot=n.svg,w=n.SVG_NS,y=n.symbolSizes,a=n.win,u=n.SVGElement=function(){return this};o(u.prototype,{opacity:1,SVG_NS:w,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),init:function(t,i){this.element="span"===i?tt(i):e.createElementNS(this.SVG_NS,i);this.renderer=t;n.fireEvent(this,"afterInit")},animate:function(n,t,i){var u=st(r(t,this.renderer.globalAnimation,!0));return r(e.hidden,e.msHidden,e.webkitHidden,!1)&&(u.duration=0),0!==u.duration?(i&&(u.complete=i),lt(this,n,u)):(this.attr(n,void 0,i),s(n,function(n,t){u.step&&u.step.call(this,n,{prop:t,pos:1})},this)),this},complexColor:function(t,r,u){var c=this.renderer,v,o,f,y,a,l,p,w,b,k,g,e=[],nt;n.fireEvent(this.renderer,"complexColor",{args:arguments},function(){t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient");o&&(f=t[o],a=c.gradients,p=t.stops,k=u.radialReference,d(f)&&(t[o]=f={x1:f[0],y1:f[1],x2:f[2],y2:f[3],gradientUnits:"userSpaceOnUse"}
1),"radialGradient"===o&&k&&!i(f.gradientUnits)&&(y=f,f=h(f,c.getRadialAttr(k,y),{gradientUnits:"userSpaceOnUse"})),s(f,function(n,t){"id"!==t&&e.push(t,n)}),s(p,function(n){e.push(n)}),e=e.join(","),a[e]?g=a[e].attr("id"):(f.id=g=n.uniqueKey(),a[e]=l=c.createElement(o).attr(f).add(c.defs),l.radAttr=y,l.stops=[],p.forEach(function(t){0===t[1].indexOf("rgba")?(v=n.color(t[1]),w=v.get("rgb"),b=v.get("a")):(w=t[1],b=1);t=c.createElement("stop").attr({offset:t[0],"stop-color":w,"stop-opacity":b}).add(l);l.stops.push(t)})),nt="url("+c.url+"#"+g+")",u.setAttribute(r,nt),u.gradient=e,t.toString=function(){return nt})})},applyTextOutline:function(t){var i=this.element,r,u,e;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(i.style.fill)));t=t.split(" ");u=t[t.length-1];(r=t[0])&&"none"!==r&&n.svg&&(this.fakeTS=!0,t=[].slice.call(i.getElementsByTagName("tspan")),this.ySetter=this.xSetter,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(n,t,i){return 2*t+i}),this.removeTextOutline(t),e=i.firstChild,t.forEach(function(n,t){0===t&&(n.setAttribute("x",i.getAttribute("x")),t=i.getAttribute("y"),n.setAttribute("y",t||0),null===t&&i.setAttribute("y",0));n=n.cloneNode(1);f(n,{"class":"highcharts-text-outline",fill:u,stroke:u,"stroke-width":r,"stroke-linejoin":"round"});i.insertBefore(n,e)}))},removeTextOutline:function(n){for(var i=n.length,t;i--;)t=n[i],"highcharts-text-outline"===t.getAttribute("class")&&b(n,this.element.removeChild(t))},symbolCustomAttribs:"x y width height r start end innerR anchorX anchorY roun
1ded".split(" "),attr:function(t,i,r,u){var o=this.element,h,c=this,f,e,a=this.symbolCustomAttribs,l;return"string"==typeof t&&"undefined"!=typeof i&&(l=t,t={},t[l]=i),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(s(t,function(i,r){f=!1;u||et(this,r);this.symbolName&&-1!==n.inArray(r,a)&&(h||(this.symbolAttr(t),h=!0),f=!0);this.rotation&&("x"===r||"y"===r)&&(this.doTransform=!0);f||(e=this[r+"Setter"]||this._defaultSetter,e.call(this,i,r,o),!this.styledMode&&this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(r)&&this.updateShadows(r,i,e))},this),this.afterSetters()),r&&r.call(this),c},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(n,t,i){for(var r=this.shadows,u=r.length;u--;)i.call(r[u],"height"===n?Math.max(t-(r[u].cutHeight||0),0):"d"===n?this.d:t,n,r[u])},addClass:function(n,t){var i=t?"":this.attr("class")||"";return n=(n||"").split(/ /g).reduce(function(n,t){return-1===i.indexOf(t)&&n.push(t),n},i?[i]:[]).join(" "),n!==i&&this.attr("class",n),this},hasClass:function(n){return-1!==(this.attr("class")||"").split(" ").indexOf(n)},removeClass:function(n){return this.attr("class",(this.attr("class")||"").replace(nt(n)?new RegExp(" ?"+n+" ?"):n,""))},symbolAttr:function(n){var t=this;"x y r start end width height innerR anchorX anchorY clockwise".split(" ").forEach(function(i){t[i]=r(n[i],t[i])});t.attr({d:t.renderer.symbols[t.symbolName](t.x,t.y,t.width,t.height,t)})},clip:function(n){return this.attr("clip-path",n?"url("+this.renderer.url+"#"+n.id+")":"none")},crisp:function(n,t){t=t||n.strokeWidth||0;var r=Math.round(t)%2/2;return n.x=Math.floor(n.x||this.x||0)+r,n.y=Math.floor(n.y||this.y||0)+r,n.width=Math.floor((n.width||this.width||0)-2*r),n.height=Math.floor((n.height||this.height||0)-2*r),i(n.strokeWidth)&&(n.strokeWidth=t),n},css:function(n){var t=this.styles,u={},i=this.element,r="",e=!t,v=["textOutline","textOverflow","width"],h,a;return n&&n.color&&(n.fill=n.color),t&&s(n,function(n,i){n!==t[i]&&(u[i]=n,e=!0)}),e&&(t&&(n=o(t,u)),n&&(null===n.width||"auto"===n.width?delete this.textWidth:"text"===i.nodeName.toLowerCase()&&n.width&&(h=this.textWidth=c(n.width))),this.styles=n,h&&!ot&&this.renderer.forExport&&delete n.width,i.namespaceURI===this.SVG_NS?(a=function(n,t){return"-"+t.toLowerCase()},s(n,function(n,t){-1===v.indexOf(t)&&(r+=t.replace(/([A-Z])/g,a)+":"+n+";")}),r&&f(i,"style",r)):l(i,n),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),n&&n.textOutline&&this.applyTextOutline(n.textOutline))),this},getStyle:function(n){return a.getComputedStyle(this.element||this,"").getPropertyValue(n)},strokeWidth:function(){var n,i,t;return this.renderer.styledMode?(n=this.getStyle("stroke-width"),i=0,n.indexOf("px")===n.length-2?i=c(n):""!==n&&(t=e.createElementNS(w,"rect"),f(t,{width:n,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i):this["stroke-width"]||0},on:function(n,t){var r=this,i=r.element;return yt&&"click"===n?(i.ontouchstart=function(n){r.touchEventFired=Date.now();n.preventDefault();t.call(i,n)},i.onclick=function(n){(-1===a.navigator.userAgent.indexOf("Android")||1100<Date.now()-(r.touchEventFired||0))&&t.call(i,n)}):i["on"+n]=t,this},setRadialReference:function(n){var t=this.renderer.gradients[this.element.gradient];return this.element.radialReference=n,t&&t.radAttr&&t.animate(this.renderer.getRadialAttr(n,t.radAttr)),this},translate:function(n,t){return this.attr({translateX:n,translateY:t})},invert:function(n){return this.inverted=n,this.updateTransform(),this},updateTransform:function(){var n=this.translateX||0,u=this.translateY||0,f=this.scaleX,e=this.scaleY,o=this.inverted,s=this.rotation,h=this.matrix,t=this.element;o&&(n+=this.width,u+=this.height);n=["translate("+n+","+u+")"];i(h)&&n.push("matrix("+h.join(",")+")");o?n.push("rotate(90) scale(-1,1)"):s&&n.push("rotate("+s+" "+r(this.rotationOriginX,t.getAttribute("x"),0)+" "+r(this.rotationOriginY,t.getAttribute("y")||0)+")");(i(f)||i(e))&&n.push("scale("+r(f,1)+" "+r(e,1)+")");n.length&&t.setAttribute("transform",n.join(" "))},toFront:function(){var n=this.element;return n.parentNode.appendChild(n),this},align:function(n,t,i){var u,o={},f=this.renderer,e=f.alignedObjects,s,h,c;return n?(this.alignOptions=n,this.alignByTranslate=t,!i||nt(i))&&(this.alignTo=u=i||"renderer",b(e,this),e.push(this),i=null):(n=this.alignOptions,t=this.alignByTranslate,u=this.alignTo),i=r(i,f[u],f),u=n.align,f=n.verticalAlign,e=(i.x||0)+(n.x||0),c=(i.y||0)+(n.y||0),"right"===u?s=1:"center"===u&&(s=2),s&&(e+=(i.width-(n.width||0))/s),o[t?"translateX":"x"]=Math.round(e),"bottom"===f?h=1:"middle"===f&&(h=2),h&&(c+=(i.height-(n.height||0))/h),o[t?"translateY":"y"]=Math.round(c),this[this.placed?"animate":"attr"](o),this.placed=!0,this.alignAttr=o,this},getBBox:function(n,t){var f,e=this.renderer,c=this.element,s=this.styles,y=this.textStr,l,a=e.cache,v=e.cacheKeys,p=c.namespaceURI===this.SVG_NS,w,h;if(t=r(t,this.rotation,0),w=e.styledMode?c&&u.prototype.getStyle.call(c,"font-size"):s&&s.fontSize,i(y)&&(h=y.toString(),-1===h.indexOf("<")&&(h=h.replace(/[0-9]/g,"0")),h+=["",t,w,this.textWidth,s&&s.textOverflow].join()),h&&!n&&(f=a[h]),!f){if(p||e.forExport){try{(l=this.fakeTS&&function(n){[].forEach.call(c.querySelectorAll(".highcharts-text-outline"),function(t){t.style.display=n})})&&l("none");f=c.getBBox?o({},c.getBBox()):{width:c.offsetWidth,height:c.offsetHeight};l&&l("")}catch(b){""}(!f||0>f.width)&&(f={width:0,height:0})}else f=this.htmlGetBBox();if(e.isSVG&&(n=f.width,e=f.height,p&&(f.height=e={"11px,17":14,"13px,20":16}[s&&s.fontSize+","+Math.round(e)]||e),t&&(s=t*k,f.width=Math.abs(e*Math.sin(s))+Math.abs(n*Math.cos(s)),f.height=Math.abs(e*Math.cos(s))+Math.abs(n*Math.sin(s))
1)),h&&0<f.height){for(;250<v.length;)delete a[v.shift()];a[h]||v.push(h);a[h]=f}}return f},show:function(n){return this.attr({visibility:n?"inherit":"visible"})},hide:function(n){return n?this.attr({y:-9999}):this.attr({visibility:"hidden"}),this},fadeOut:function(n){var t=this;t.animate({opacity:0},{duration:n||150,complete:function(){t.attr({y:-9999})}})},add:function(n){var t=this.renderer,r=this.element,i;return n&&(this.parentGroup=n),this.parentInverted=n&&n.inverted,"undefined"!=typeof this.textStr&&t.buildText(this),this.added=!0,(!n||n.handleZ||this.zIndex)&&(i=this.zIndexSetter()),i||(n?n.element:t.box).appendChild(r),this.onAdd&&this.onAdd(),this},safeRemoveChild:function(n){var t=n.parentNode;t&&t.removeChild(n)},destroy:function(){var n=this,t=n.element||{},u=n.renderer,i=u.isSVG&&"SPAN"===t.nodeName&&n.parentGroup,r=t.ownerSVGElement,f=n.clipPath;if(t.onclick=t.onmouseout=t.onmouseover=t.onmousemove=t.point=null,et(n),f&&r&&([].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),function(n){-1<n.getAttribute("clip-path").indexOf(f.element.id)&&n.removeAttribute("clip-path")}),n.clipPath=f.destroy()),n.stops){for(r=0;r<n.stops.length;r++)n.stops[r]=n.stops[r].destroy();n.stops=null}for(n.safeRemoveChild(t),u.styledMode||n.destroyShadows();i&&i.div&&0===i.div.childNodes.length;)t=i.parentGroup,n.safeRemoveChild(i.div),delete i.div,i=t;n.alignTo&&b(u.alignedObjects,n);s(n,function(t,i){n[i]&&n[i].parentGroup===n&&n[i].destroy&&n[i].destroy();delete n[i]})},shadow:function(n,t,i){var c=[],e,o=this.element,u,s;if(n){if(!this.shadows){var h=r(n.width,3),l=(n.opacity||.15)/h,a=this.parentInverted?"(-1,-1)":"("+r(n.offsetX,1)+", "+r(n.offsetY,1)+")";for(e=1;e<=h;e++)u=o.cloneNode(0),s=2*h+1-2*e,f(u,{stroke:n.color||"#000000","stroke-opacity":l*e,"stroke-width":s,transform:"translate"+a,fill:"none"}),u.setAttribute("class",(u.getAttribute("class")||"")+" highcharts-shadow"),i&&(f(u,"height",Math.max(f(u,"height")-s,0)),u.cutHeight=s),t?t.element.appendChild(u):o.parentNode&&o.parentNode.insertBefore(u,o),c.push(u);this.shadows=c}}else this.destroyShadows();return this},destroyShadows:function(){(this.shadows||[]).forEach(function(n){this.safeRemoveChild(n)},this);this.shadows=void 0},xGetter:function(n){return"circle"===this.element.nodeName&&("x"===n?n="cx":"y"===n&&(n="cy")),this._defaultGetter(n)},_defaultGetter:function(n){return n=r(this[n+"Value"],this[n],this.element?this.element.getAttribute(n):null,0),/^[\-0-9\.]+$/.test(n)&&(n=parseFloat(n)),n},dSetter:function(n,t,i){n&&n.join&&(n=n.join(" "));/(NaN| {2}|^$)/.test(n)&&(n="M 0 0");this[t]!==n&&(i.setAttribute(t,n),this[t]=n)},dashstyleSetter:function(n){var t,i=this["stroke-width"];if("inherit"===i&&(i=1),n=n&&n.toLowerCase()){for(n=n.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(","),t=n.length;t--;)n[t]=c(n[t])*i;n=n.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",n)}},alignSetter:function(n){var t={left:"start",center:"middle",right:"end"};t[n]&&(this.alignValue=n,this.element.setAttribute("text-anchor",t[n]))},opacitySetter:function(n,t,i){this[t]=n;i.setAttribute(t,n)},titleSetter:function(n){var t=this.element.getElementsByTagName("title")[0];t||(t=e.createElementNS(this.SVG_NS,"title"),this.element.appendChild(t));t.firstChild&&t.removeChild(t.firstChild);t.appendChild(e.createTextNode(String(r(n,"")).replace(/<[^>]*>/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(t,r){var e=this.element,a={textAnchor:"text-anchor"},c=!1,u=this.textPathWrapper,l=!u,f,o;if(r=h(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},r),f=r.attributes,t&&r&&r.enabled){if(u&&null===u.element.parentNode?(l=!0,u=u.destroy()):u&&this.removeTextOutline.call(u.parentGroup,[].slice.call(e.getElementsByTagName("tspan"))),this.options&&this.options.padding&&(f.dx=-this.options.padding),u||(this.textPathWrapper=u=this.renderer.createElement("textPath"),c=!0),o=u.element,(r=t.element.getAttribute("id"))||t.element.setAttribute("id",r=n.uniqueKey()),l)for(t=e.getElementsByTagName("tspan");t.length;)t[0].setAttribute("y",0),g(f.dx)&&t[0].setAttribute("x",-f.dx),o.appendChild(t[0]);c&&u.add({element:this.text?this.text.element:e});o.setAttributeNS("http://www.w3.org/1999/xlink","href",this.renderer.url+"#"+r);i(f.dy)&&(o.parentNode.setAttribute("dy",f.dy),delete f.dy);i(f.dx)&&(o.parentNode.setAttribute("dx",f.dx),delete f.dx);s(f,function(n,t){o.setAttribute(a[t]||t,n)});e.removeAttribute("transform");this.removeTextOutline.call(u,[].slice.call(e.getElementsByTagName("tspan")));this.text&&!this.renderer.styledMode&&this.attr({fill:"none","stroke-width":0});this.applyTextOutline=this.updateTransform=ut}else u&&(delete this.updateTransform,delete this.applyTextOutline,this.destroyTextPath(e,t),this.updateTransform(),this.options.rotation&&this.applyTextOutline(this.options.style.textOutline));return this},destroyTextPath:function(n,t){var i=n.getElementsByTagName("text")[0];if(i){if(i.removeAttribute("dx"),i.removeAttribute("dy"),t.element.setAttribute("id",""),i.getElementsByTagName("textPath").length){for(n=this.textPathWrapper.element.childNodes;n.length;)i.appendChild(n[0]);i.removeChild(this.textPathWrapper.element)}}else(n.getAttribute("dx")||n.getAttribute("dy"))&&(n.removeAttribute("dx"),n.removeAttribute("dy"));this.textPathWrapper=this.textPathWrapper.destroy()},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,t){var u=this.renderer,f=this.parentGroup,h=(f||u).element||u.box,e=this.element,o=!1,s,r,l;if(u=h===u.box,s=this.added,i(n)?(e.setAttribute("data-z-index",n),n=+n,this[t]===n&&(s=!1)):i(this[t])&&e.removeAttribute("data-z-index"),this[t]=n,s){for((n=this.zIndex)&&f&&(f.handleZ=!0),t=h.childNodes,r=t.length-1;0<=r&&!o;r--)f=t[r],s=f.getAttribute("data-z-index"),l=!i(s),f!==e&&(0>n&&l&&!u&&!r?(h.insertBefore(e,t[r]),o=!0):(c(s)<=n||l&&(!i(n)||0<=n))&&(h.insertBefore(e,t[r+1]||null),o=!0));o||(h.insertBefore(e,t[u?3:0]||null),o=!0)}return o},_defaultSetter:function(n,t,i){i.setAttribute(t,n)}});u.prototype.yGetter=u.prototype.xGetter;u.prototype.translateXSetter=u.prototype.translateYSetter=u.prototype.rotationSetter=u.prototype.verticalAlignSetter=u.prototype.rotationOriginXSetter=u.prototype.rotationOriginYSetter=u.prototype.scaleXSetter=u.prototype.scaleYSetter=u.prototype.matrixSetter=function(n,t){this[t]=n;this.doTransform=!0};u.prototype["stroke-widthSetter"]=u.prototype.strokeSetter=function(n,t,i){this[t]=n;this.stroke&&this["stroke-width"]?(u.prototype.fillSetter.call(this,this.stroke,"stroke",i),i.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===t&&0===n&&this.hasStroke?(i.removeAttribute("stroke"),this.hasStroke=!1):this.renderer.styledMode&&this["stroke-width"]&&(i.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0)};t=n.SVGRenderer=function(){this.init.apply(this,arguments)};o(t.prototype,{Element:u,SVG_NS:w,init:function(n,t,i,r,u,o,s){var c=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}),h;s||c.css(this.getStyle(r));r=c.element;n.appendChild(r);f(n,"dir","ltr");-1===n.innerHTML.indexOf("xmlns")&&f(r,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=r;this.boxWrapper=c;this.alignedObjects=[];this.url=(it||pt)&&e.getElementsByTagName("base").length?a.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(e.createTextNode("Created with Highcharts 8.0.0"));this.defs=this.createElement("defs").add();this.allowHTML=o;this.forExport=u;this.styledMode=s;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(t,i,!1);it&&n.getBoundingClientRect&&(t=function(){l(n,{left:0,top:0});h=n.getBoundingClientRect();
1l(n,{left:Math.ceil(h.left)-h.left+"px",top:Math.ceil(h.top)-h.top+"px"})},t(),this.unSubPixelFix=p(a,"resize",t))},definition:function(n){function t(n,r){var u;return ct(n).forEach(function(n){var f=i.createElement(n.tagName),o={};s(n,function(n,t){"tagName"!==t&&"children"!==t&&"textContent"!==t&&(o[t]=n)});f.attr(o);f.add(r||i.defs);n.textContent&&f.element.appendChild(e.createTextNode(n.textContent));t(n.children||[],f);u=f}),u}var i=this;return t(n)},getStyle:function(n){return this.style=o({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:ut,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,f,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(e.createTextNode(n))},w=function(f,e){if(e=e||f,"undefined"==typeof 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]},b,l;if(n.rotation=0,l=w(t.textContent.length),b=u+l>f){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>f?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 u=n.element,o=this,tt=o.forExport,t=r(n.textStr,"").toString(),it=-1!==t.indexOf("<"),rt=u.childNodes,ut,p=f(u,"x"),i=n.styles,h=n.textWidth,b=i&&i.lineHeight,a=i&&i.textOutline,v=i&&"ellipsis"===i.textOverflow,y=i&&"nowrap"===i.whiteSpace,k=i&&i.fontSize,d,ft=rt.length;i=h&&!n.added&&this.box;var et=function(n){var t;return o.styledMode||(t=/(px|em)$/.test(n&&n.style.fontSize)?n.style.fontSize:k||o.style.fontSize||12),b?c(b):o.fontMetrics(t,n.getAttribute("style")?n:u).h},g=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},nt=function(n,t){var i=n.indexOf("<");return 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},st=/<br.*?>/g,ht=[t,v,y,b,a,k,h].join();if(ht!==n.textCache){for(n.textCache=ht;ft--;)u.removeChild(rt[ft]);it||a||v||h||-1!==t.indexOf(" ")&&(!y||st.test(t))?(i&&i.appendChild(u),it?(t=o.styledMode?t.replace(/<(b|strong)>/g,'<span class="highcharts-strong">').replace(/<(i|em)>/g,'<span class="highcharts-emphasized">'):t.replace(/<(b|strong)>/g,'<span style="font-weight:bold">').replace(/<(i|em)>/g,'<span style="font-style:italic">'),t=t.replace(/<a/g,"<span").replace(/<\/(b|strong|i|em|a)>/g,"<\/span>").split(st)):t=[t],t=t.filter(function(n){return""!==n}),t.forEach(function(t,i){var s=0,c=0,r;t=t.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||<span").replace(/<\/span>/g,"<\/span>|||");r=t.split("|||");r.forEach(function(t){var rt,a,b,ft,it,st;if((""!==t||1===r.length)&&(rt={},a=e.createElementNS(o.SVG_NS,"tspan"),(b=nt(t,"class"))&&f(a,"class",b),(b=nt(t,"style"))&&(b=b.replace(/(;| |^)color([ :])/,"$1fill$2"),f(a,"style",b)),(ft=nt(t,"href"))&&!tt&&(f(a,"onclick",'location.href="'+ft+'"'),f(a,"class","highcharts-anchor"),o.styledMode||l(a,{cursor:"pointer"})),t=g(t.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ")," "!==t)){if(a.appendChild(e.createTextNode(t)),s?rt.dx=0:i&&null!==p&&(rt.x=p),f(a,rt),u.appendChild(a),!s&&d&&(!ot&&tt&&l(a,{display:"block"}),f(a,"dy",et(a))),h)if(it=t.replace(/([^\^])-/g,"$1- ").split(" "),rt=!y&&(1<r.length||i||1<it.length),ft=0,st=et(a),v)ut=o.truncate(n,a,t,void 0,0,Math.max(0,h-parseInt(k||12,10)),function(n,t){return n.substring(0,t)+"â¦"});else if(rt)for(;it.length;)it.length&&!y&&0<ft&&(a=e.createElementNS(w,"tspan"),f(a,{dy:st,x:p}),b&&f(a,"style",b),a.appendChild(e.createTextNode(it.join(" ").replace(/- /g,"-"))),u.a
1ppendChild(a)),o.truncate(n,a,null,it,0===ft?c:0,h,function(n,t){return it.slice(0,t).join(" ").replace(/- /g,"-")}),c=n.actualWidth,ft++;s++}});d=d||u.childNodes.length}),v&&ut&&n.attr("title",g(n.textStr,["<",">"])),i&&i.removeChild(u),a&&n.applyTextOutline&&n.applyTextOutline(a)):u.appendChild(e.createTextNode(g(t)))}},getContrast:function(n){return n=vt(n).rgba,n[0]*=1,n[1]*=1.2,n[2]*=.5,459<n[0]+n[1]+n[2]?"#000000":"#FFFFFF"},button:function(n,t,i,r,u,f,e,s,c,l){var a=this.label(n,t,i,c,null,null,l,null,"button"),v=0,y=this.styledMode,w,b,k,d;a.attr(h({padding:8,r:2},u));y||(u=h({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},u),w=u.style,delete u.style,f=h(u,{fill:"#e6e6e6"},f),b=f.style,delete f.style,e=h(u,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},e),k=e.style,delete e.style,s=h(u,{style:{color:"#cccccc"}},s),d=s.style,delete s.style);p(a.element,rt?"mouseover":"mouseenter",function(){3!==v&&a.setState(1)});p(a.element,rt?"mouseout":"mouseleave",function(){3!==v&&a.setState(v)});a.setState=function(n){1!==n&&(a.state=v=n);a.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][n||0]);y||a.attr([u,f,e,s][n||0]).css([w,b,k,d][n||0])};y||a.attr(u).css(o({cursor:"default"},w));return a.on("click",function(n){3!==v&&r.call(a,n)})},crispLine:function(n,t){return n[1]===n[4]&&(n[1]=n[4]=Math.round(n[1])-t%2/2),n[2]===n[5]&&(n[2]=n[5]=Math.round(n[2])+t%2/2),n},path:function(n){var t=this.styledMode?{}:{fill:"none"};return d(n)?t.d=n:v(n)&&o(t,n),this.createElement("path").attr(t)},circle:function(n,t,i){return n=v(n)?n:"undefined"==typeof n?{}:{x:n,y:t,r:i},t=this.createElement("circle"),t.xSetter=t.ySetter=function(n,t,i){i.setAttribute("c"+t,n)},t.attr(n)},arc:function(n,t,i,r,u,f){return v(n)?(r=n,t=r.y,i=r.r,n=r.x):r={innerR:r,start:u,end:f},n=this.symbol("arc",n,t,i,i,r),n.r=i,n},rect:function(n,t,i,r,u,e){u=v(n)?n.r:u;var o=this.createElement("rect");return n=v(n)?n:"undefined"==typeof n?{}:{x:n,y:t,width:Math.max(i,0),height:Math.max(r,0)},this.styledMode||("undefined"!=typeof e&&(n.strokeWidth=e,n=o.crisp(n)),n.fill="none"),u&&(n.r=u),o.rSetter=function(n,t,i){o.r=n;f(i,{rx:n,ry:n})},o.rGetter=function(){return o.r},o.attr(n)},setSize:function(n,t,i){var u=this.alignedObjects,f=u.length;for(this.width=n,this.height=t,this.boxWrapper.animate({width:n,height:t},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:r(i,!0)?void 0:0});f--;)u[f].align()},g:function(n){var t=this.createElement("g");return n?t.attr({"class":"highcharts-"+n}):t},image:function(n,t,i,r,u,f){var e={preserveAspectRatio:"none"},h=function(n,t){n.setAttributeNS?n.setAttributeNS("http://www.w3.org/1999/xlink","href",t):n.setAttribute("hc-svg-href",t)},c=function(t){h(s.element,n);f.call(s,t)},s;return 1<arguments.length&&o(e,{x:t,y:i,width:r,height:u}),s=this.createElement("image").attr(e),f?(h(s.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),e=new a.Image,p(e,"load",c),e.src=n,e.complete&&c({})):h(s.element,n),s},symbol:function(n,t,u,f,s,h){var v=this,k=/^url\((.*?)\)$/,d=k.test(n),p=!d&&(this.symbols[n]?n:"circle"),w=p&&this.symbols[p],g=i(t)&&w&&w.call(this.symbols,Math.round(t),Math.round(u),f,s,h),c,a,b;return w?(c=this.path(g),v.styledMode||c.attr("fill","none"),o(c,{symbolName:p,x:t,y:u,width:f,height:s}),h&&o(c,h)):d&&(a=n.match(k)[1],c=this.image(a),c.imgwidth=r(y[a]&&y[a].width,h&&h.width),c.imgheight=r(y[a]&&y[a].height,h&&h.height),b=function(){c.attr({width:c.width,height:c.height})},["width","height"].forEach(function(n){c[n+"Setter"]=function(n,t){var u={},r=this["img"+t],f="width"===t?"translateX":"translateY";this[t]=n;i(r)&&(h&&"within"===h.backgroundSize&&this.width&&this.height&&(r=Math.round(r*Math.min(this.width/this.imgwidth,this.height/this.imgheight))),this.element&&this.element.setAttribute(t,r),this.alignByTranslate||(u[f]=((this[t]||0)-r)/2,this.attr(u)))}}),i(t)&&c.attr({x:t,y:u}),c.isImg=!0,i(c.imgwidth)&&i(c.imgheight)?b():(c.attr({width:0,height:0}),tt("img",{onload:function(){var n=at[v.chartIndex];0===this.width&&(l(this,{position:"absolute",top:"-999em"}),e.body.appendChild(this));y[a]={width:this.width,height:this.height};c.imgwidth=this.width;c.imgheight=this.height;c.element&&b();this.parentNode&&this.parentNode.removeChild(this);v.imgCount--;!v.imgCount&&n&&n.onload&&n.onload()},src:a}),this.imgCount++)),c},symbols:{circle:function(n,t,i,r){return this.arc(n+i/2,t+r/2,i/2,r/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},square:function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i,t+r,n,t+r,"Z"]},triangle:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r,n,t+r,"Z"]},"triangle-down":function(n,t,i,r){return["M",n,t,"L",n+i,t,n+i/2,t+r,"Z"]},diamond:function(n,t,i,r){return["M",n+i/2,t,"L",n+i,t+r/2,n+i/2,t+r,n,t+r/2,"Z"]},arc:function(n,t,u,f,e){var s=e.start,o=e.r||u,c=e.r||f||u,h=e.end-.001;u=e.innerR;f=r(e.open,.001>Math.abs(e.end-e.start-2*Math.PI));var l=Math.cos(s),a=Math.sin(s),v=Math.cos(h);return h=Math.sin(h),s=r(e.longArc,.001>e.end-s-Math.PI?0:1),o=["M",n+o*l,t+c*a,"A",o,c,0,s,r(e.clockwise,1),n+o*v,t+c*h],i(u)&&o.push(f?"M":"L",n+u*v,t+u*h,"A",u,u,0,s,i(e.clockwise)?1-e.clockwise:0,n+u*l,t+u*a),o.push(f?"":"Z"),o},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&&u<t+r-o?s.splice(13,3,"L",n+i,u-6,n+i+6,u,n+i,u+6,n+i,t+r-f):s.splice(13,3,"L",n+i,r/2,e,u,n+i,r/2,n+i,t+r-f):e&&0>e?u>t+o&&u<t+r-o?s.splice(33,3,"L",n,u+6,n-6,u,n,u-6,n,t+f):s.splice(33,3,"L",n,r/2,e,u,n,r/2,n,t+f):u&&u>r&&e>n+o&&e<n+i-o?s.splice(23,3,"L",e+6,t+r,e,t+r+6,e-6,t+r,n+f,t+r):u&&0>u&&e>n+o&&e<n+i-o&&s.splice(3,3,"L",e-6,t,e,t-6,e+6,t,i-f,t),s}},clipRect:function(t,i,r,u){var f=n.uniqueKey()+"-",e=this.createElement("clipPath").attr({id:f}).add(this.defs);return t=this.rect(t,i,r,u,0).add(e),t.id=f,t.clipPath=e,t.count=0,t},text:function(n,t,r,u){var f={};return u&&(this.allowHTML||!this.forExport)?this.html(n,t,r):(f.x=Math.round(t||0),r&&(f.y=Math.round(r)),i(n)&&(f.text=n),n=this.createElement("text").attr(f),u||(n.xSetter=function(n,t,i){for(var f=i.getElementsByTagName("tspan"),e=i.getAttribute(t),u,r=0;r<f.length;r++)u=f[r],u.getAttribute(t)===e&&u.setAttribute(t,n);i.setAttribute(t,n)}),n)},fontMetrics:function(n,t){return n=!this.styledMode&&/px/.test(n)||!a.getComputedStyle?n||t&&t.style&&t.style.fontSize||this.style&&this.style.fontSize:t&&u.prototype.getStyle.call(t,"font-size"),n=/px/.test(n)?c(n):12,t=24>n?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*k),4)),{x:-n/3*Math.sin(t*k),y:r}},label:function(n,t,r,f,e,s,c,l,a){var k=this,ut=k.styledMode,v=k.g("button"!==a&&"label"),y=v.text=k.text("",0,0,c).attr({zIndex:1}),p,w,et=0,b=3,ot=0,d,ht,st,ct,it,lt={},at,vt,pt=/^url\((.*?)\)$/.test(f),yt=ut||pt,wt=function(){return ut?p.strokeWidth()%2/2:(at?parseInt(at,10):0)%2/2},bt;a&&v.addClass("highcharts-"+a);var nt=function(){var n=y.element.style,t={};w=("undefined"==typeof d||"undefined"==typeof ht||it)&&i(y.textStr)&&y.getBBox();v.width=(d||w.width||0)+2*b+ot;v.height=(ht||w.height||0)+2*b;vt=b+Math.min(k.fontMetrics(n&&n.fontSize,y).b,w?w.height:Infinity);yt&&(p||(v.box=p=k.symbols[f]||pt?k.symbol(f):k.rect(),p.addClass(("button"===a?"":"highcharts-label-box")+(a?" highcharts-"+a+"-box":"")),p.add(v),n=wt(),t.x=n,t.y=(l?-vt:0)+n),t.width=Math.round(v.width),t.height=Math.round(v.height),p.attr(o(t,lt)),lt={})},rt=function(){var n=ot+b,t=l?0:vt;i(d)&&w&&("center"===it||"right"===it)&&(n+={center:.5,right:1}[it]*(d-w.width));
1(n!==y.x||t!==y.y)&&(y.attr("x",n),y.hasBoxWidthChanged&&(w=y.getBBox(!0),nt()),"undefined"!=typeof t&&y.attr("y",t));y.x=n;y.y=t},tt=function(n,t){p?p.attr(n,t):lt[n]=t};return v.onAdd=function(){y.add(v);v.attr({text:n||0===n?n:"",x:t,y:r});p&&i(e)&&v.attr({anchorX:e,anchorY:s})},v.widthSetter=function(n){d=g(n)?n:null},v.heightSetter=function(n){ht=n},v["text-alignSetter"]=function(n){it=n},v.paddingSetter=function(n){i(n)&&n!==b&&(b=v.padding=n,rt())},v.paddingLeftSetter=function(n){i(n)&&n!==ot&&(ot=n,rt())},v.alignSetter=function(n){n={left:0,center:.5,right:1}[n];n!==et&&(et=n,w&&v.attr({x:st}))},v.textSetter=function(n){"undefined"!=typeof n&&y.attr({text:n});nt();rt()},v["stroke-widthSetter"]=function(n,t){n&&(yt=!0);at=this["stroke-width"]=n;tt(t,n)},ut?v.rSetter=function(n,t){tt(t,n)}:v.strokeSetter=v.fillSetter=v.rSetter=function(n,t){"r"!==t&&("fill"===t&&n&&(yt=!0),v[t]=n);tt(t,n)},v.anchorXSetter=function(n,t){e=v.anchorX=n;tt(t,Math.round(n)-wt()-st)},v.anchorYSetter=function(n,t){s=v.anchorY=n;tt(t,n-ct)},v.xSetter=function(n){v.x=n;et&&(n-=et*((d||w.width)+2*b),v["forceAnimate:x"]=!0);st=Math.round(n);v.attr("translateX",st)},v.ySetter=function(n){ct=v.y=Math.round(n);v.attr("translateY",ct)},bt=v.css,c={css:function(n){if(n){var t={};n=h(n);v.textProps.forEach(function(i){"undefined"!=typeof n[i]&&(t[i]=n[i],delete n[i])});y.css(t);"width"in t&&nt();"fontSize"in t&&(nt(),rt())}return bt.call(v,n)},getBBox:function(){return{width:w.width+2*b,height:w.height+2*b,x:w.x-b,y:w.y-b}},destroy:function(){ft(v.element,"mouseenter");ft(v.element,"mouseleave");y&&(y=y.destroy());p&&(p=p.destroy());u.prototype.destroy.call(v);v=k=nt=rt=tt=null}},ut||(c.shadow=function(n){return n&&(nt(),p&&p.shadow(n)),v}),o(v,c)}});n.Renderer=t}),i(t,"parts/Html.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var h=t.attr,f=t.defined,r=t.extend,e=t.pick,c=t.pInt,l=n.createElement,i=n.css,o=n.isFirefox,a=n.isMS,v=n.isWebKit,s=n.SVGElement,u;t=n.SVGRenderer;u=n.win;r(s.prototype,{htmlCss:function(n){var t="SPAN"===this.element.tagName&&n&&"width"in n,f=e(t&&n.width,void 0),u;return t&&(delete n.width,this.textWidth=f,u=!0),n&&"ellipsis"===n.textOverflow&&(n.whiteSpace="nowrap",n.overflow="hidden"),this.styles=r(this.styles,n),i(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(){var u,h,r;if(this.added){var s=this.renderer,n=this.element,l=this.translateX||0,a=this.translateY||0,y=this.x||0,p=this.y||0,e=this.textAlign||"left",v={left:0,center:.5,right:1}[e],t=this.styles,o=t&&t.whiteSpace;i(n,{marginLeft:l,marginTop:a});!s.styledMode&&this.shadows&&this.shadows.forEach(function(n){i(n,{marginLeft:l+1,marginTop:a+1})});this.inverted&&[].forEach.call(n.childNodes,function(t){s.invertChild(t,n)});"SPAN"===n.tagName&&(t=this.rotation,u=this.textWidth&&c(this.textWidth),h=[t,e,n.innerHTML,this.textWidth,this.textAlign].join(),!(r=u!==this.oldTextWidth)||(r=u>this.oldTextWidth)||((r=this.textPxLength)||(i(n,{width:"",whiteSpace:o||"nowrap"}),r=n.offsetWidth),r=r>u),r&&(/[ \-]/.test(n.textContent||n.innerText)||"ellipsis"===n.style.textOverflow)?(i(n,{width:u+"px",display:"block",whiteSpace:o||"normal"}),this.oldTextWidth=u,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1,h!==this.cTT&&(o=s.fontMetrics(n.style.fontSize,n).b,!f(t)||t===(this.oldRotation||0)&&e===this.oldAlign||this.setSpanRotation(t,v,o),this.getSpanCorrection(!f(t)&&this.textPxLength||n.offsetWidth,o,v,t,e)),i(n,{left:y+(this.xCorr||0)+"px",top:p+(this.yCorr||0)+"px"}),this.cTT=h,this.oldRotation=t,this.oldAlign=e)}else this.alignOnAdd=!0},setSpanRotation:function(n,t,r){var u={},f=this.renderer.getTransformKey();u[f]=u.transform="rotate("+n+"deg)";u[f+(o?"Origin":"-origin")]=u.transformOrigin=100*t+"% "+r+"px";i(this.element,u)},getSpanCorrection:function(n,t,i){this.xCorr=-n*i;this.yCorr=-t}});r(t.prototype,{getTransformKey:function(){return a&&!/Edge/.test(u.navigator.userAgent)?"-ms-transform":v?"-webkit-transform":o?"MozTransform":u.opera?"-o-transform":""},html:function(n,t,i){var u=this.createElement("span"),f=u.element,o=u.renderer,c=o.isSVG,a=function(n,t){["opacity","visibility"].forEach(function(i){n[i+"Setter"]=function(r,u,f){var e=n.div?n.div.style:t;s.prototype[i+"Setter"].call(this,r,u,f);e&&(e[u]=r)}});n.addedSetters=!0};return u.textSetter=function(n){n!==f.innerHTML&&(delete this.bBox,delete this.oldTextWidth);this.textStr=n;f.innerHTML=e(n,"");u.doTransform=!0},c&&a(u,u.element.style),u.xSetter=u.ySetter=u.alignSetter=u.rotationSetter=function(n,t){"align"===t&&(t="textAlign");u[t]=n;u.doTransform=!0},u.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)},u.attr({text:n,x:Math.round(t),y:Math.round(i)}).css({position:"absolute"}),o.styledMode||u.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize}
1),f.style.whiteSpace="nowrap",u.css=u.htmlCss,c&&(u.add=function(n){var e=o.box.parentNode,i=[],t;if(this.parentGroup=n){if(t=n.div,!t){for(;n;)i.push(n),n=n.parentGroup;i.reverse().forEach(function(n){function o(t,i){n[i]=t;"translateX"===i?f.left=t+"px":f.top=t+"px";n.doTransform=!0}var s=h(n.element,"class"),f;t=n.div=n.div||l("div",s?{className:s}:void 0,{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||e);f=t.style;r(n,{classSetter:function(n){return function(t){this.element.setAttribute("class",t);n.className=t}}(t),on:function(){return i[0].div&&u.on.apply({element:i[0].div},arguments),n},translateXSetter:o,translateYSetter:o});n.addedSetters||a(n)})}}else t=e;return t.appendChild(f),u.added=!0,u.alignOnAdd&&u.htmlUpdateTransform(),u}),u}})}),i(t,"parts/Time.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var f=t.defined,e=t.extend,s=t.isObject,h=t.objectEach,r=t.pad,u=t.pick,c=t.splat,l=n.merge,i=n.timeUnits,o=n.win;n.Time=function(n){this.update(n,!1)};n.Time.prototype={defaultOptions:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},update:function(n){var t=u(n&&n.useUTC,!0),i=this;this.options=n=l(!0,this.options||{},n);this.Date=n.Date||o.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 r=t.getTime(),u=r-i.getTimezoneOffset(t);return t.setTime(u),n=t["getUTC"+n](),t.setTime(r),n},this.set=function(n,t,r){if("Milliseconds"===n||"Seconds"===n||"Minutes"===n&&0==t.getTimezoneOffset()%60)t["set"+n](r);else{var u=i.getTimezoneOffset(t);u=t.getTime()-u;t.setTime(u);t["setUTC"+n](r);n=i.getTimezoneOffset(t);u=t.getTime()+n;t.setTime(u)}}):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,i,r,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,i,u(r,1),u(f,0),u(e,0),u(o,0)).getTime(),s},timezoneOffsetFunction:function(){var r=this,t=this.options,i=o.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*(r.timezoneOffset||0)}},dateFormat:function(t,i,o){if(!f(i)||isNaN(i))return n.defaultOptions.lang.invalidDate||"";t=u(t,"%Y-%m-%d %H:%M:%S");var y=this,s=new this.Date(i),c=this.get("Hours",s),l=this.get("Day",s),p=this.get("Date",s),a=this.get("Month",s),w=this.get("FullYear",s),v=n.defaultOptions.lang,b=v.weekdays,k=v.shortWeekdays;return s=e({a:k?k[l]:b[l].substr(0,3),A:b[l],d:r(p),e:r(p,2," "),w:l,b:v.shortMonths[a],B:v.months[a],m:r(a+1),o:a+1,y:w.toString().substr(2,2),Y:w,H:r(c),k:c,I:r(c%12||12),l:c%12||12,M:r(y.get("Minutes",s)),p:12>c?"AM":"PM",P:12>c?"am":"pm",S:r(s.getSeconds()),L:r(Math.floor(i%1e3),3)},n.dateFormats),h(s,function(n,r){for(;-1!==t.indexOf("%"+r);)t=t.replace("%"+r,"function"==typeof n?n.call(y,i):n)}),o?t.substr(0,1).toUpperCase()+t.substr(1):t},resolveDTLFormat:function(n){return s(n,!0)?n:(n=c(n),{main:n[0],from:n[1],to:n[2]})},getTimeTicks:function(n,t,r,o){var s=this,v=[],w={},h=new s.Date(t),c=n.unitRange,l=n.count||1,y,a,p,b;if(o=u(o,1),f(t)){for(s.set("Milliseconds",h,c>=i.second?0:l*Math.floor(s.get("Milliseconds",h)/l)),c>=i.second&&s.set("Seconds",h,c>=i.minute?0:l*Math.floor(s.get("Seconds",h)/l)),c>=i.minute&&s.set("Minutes",h,c>=i.hour?0:l*Math.floor(s.get("Minutes",h)/l)),c>=i.hour&&s.set("Hours",h,c>=i.day?0:l*Math.floor(s.get("Hours",h)/l)),c>=i.day&&s.set("Date",h,c>=i.month?1:Math.max(1,l*Math.floor(s.get("Date",h)/l))),c>=i.month&&(s.set("Month",h,c>=i.year?0:l*Math.floor(s.get("Month",h)/l)),a=s.get("FullYear",h)),c>=i.year&&s.set("FullYear",h,a-a%l),c===i.week&&(a=s.get("Day",h),s.set("Date",h,s.get("Date",h)-a+o+(a<o?-7:0))),a=s.get("FullYear",h),o=s.get("Month",h),p=s.get("Date",h),b=s.get("Hours",h),t=h.getTime(),s.variableTimezone&&(y=r-t>4*i.month||s.getTimezoneOffset(t)!==s.getTimezoneOffset(r)),t=h.getTime(),h=1;t<r;)v.push(t),t=c===i.year?s.makeTime(a+h*l,0):c===i.month?s.makeTime(a,o+h*l):!y||c!==i.day&&c!==i.week?y&&c===i.hour&&1<l?s.makeTime(a,o,p,b+h*l):t+c*l:s.makeTime(a,o,p+h*l*(c===i.day?1:7)),h++;v.push(t);c<=i.hour&&1e4>v.length&&v.forEach(function(n){0==n%18e5&&"000000000"===s.dateFormat("%H%M%S%L",n)&&(w[n]="day")})}return v.info=e(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:".",numericSymbol
1s:"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},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},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:'<span style="font-size: 10px">{point.key}<\/span><br/>',pointFormat:'<span style="color:{point.color}">â<\/span> {series.name}: <b>{point.y}<\/b><br/>',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),(i.time||i.global)&&n.time.update(t(n.defaultOptions.global,n.defaultOptions.time,i.global,i.time)),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"],t["parts/Utilities.js"]],function(n,t){var s=t.clamp,r=t.correctFloat,u=t.defined,h=t.destroyObjectProperties,c=t.extend,e=t.isNumber,l=t.objectEach,i=t.pick,o=n.fireEvent,a=n.merge,f=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 n=this,t=n.axis,o=t.options,w=t.chart,l=t.categories,a=t.names,s=n.pos,h=i(n.options&&n.options.labels,o.labels),e=t.tickPositions,b=s===e[0],k=s===e[e.length-1],f,v,p,y,d;a=this.parameters.category||(l?i(l[s],a[s],s):s);f=n.label;l=(!h.step||1===h.step)&&1===t.tickInterval;e=e.info;t.isDatetimeAxis&&e&&(y=w.time.resolveDTLFormat(o.dateTimeLabelFormats[!o.grid&&e.higherRanks[s]||e.unitName]),d=y.main);n.isFirst=b;n.isLast=k;n.formatCtx={axis:t,chart:w,isFirst:b,isLast:k,dateTimeLabelFormat:d,tickPositionInfo:e,value:t.isLog?r(t.lin2log(a)):a,pos:s};o=t.labelFormatter.call(n.formatCtx,this.formatCtx);(p=y&&y.list)&&(n.shortenLabel=function(){for(v=0;v<p.length;v++)if(f.attr({text:t.labelFormatter.call(c(n.formatCtx,{dateTimeLabelFormat:p[v]}))}),f.getBBox().width<t.getSlotWidth(n)-2*i(h.padding,5))return;f.attr({text:""})});l&&t._addedPlotLB&&t.isXAxis&&n.moveLabel(o,h);u(f)||n.movedLabel?f&&f.textStr!==o&&!l&&(!f.textWidth||h.style&&h.style.width||f.styles.width||f.css({width:null}),f.attr({text:o}),f.textPxLength=f.getBBox().width):(n.label=f=n.createLabel({x:0,y:0},o,h),n.rotation=0)},moveLabel:function(n,t){var i=this,u=i.label,f=!1,r=i.axis,o=r.reversed,s=r.chart.inverted,e;u&&u.textStr===n?(i.movedLabel=u,f=!0,delete i.label):l(r.ticks,function(t){f||t.isNew||t===i||!t.label||t.label.textStr!==n||(i.movedLabel=t.label,f=!0,t.labelPos=i.movedLabel.xy,delete t.label)});!f&&(i.labelPos||u)&&(e=i.labelPos||u.xy,u=s?e.x:o?0:r.width+r.left,r=s?o?r.width+r.left:0:e.y,i.movedLabel=i.createLabel({x:u,y:r},n,t),i.movedLabel&&i.movedLabel.attr({opacity:0}
1))},createLabel:function(n,t,i){var r=this.axis,f=r.chart;return(n=u(t)&&i.enabled?f.renderer.text(t,n.x,n.y,i.useHTML).add(r.labelGroup):null)&&(f.styledMode||n.css(a(i.style)),n.textPxLength=n.getBBox().width),n},replaceMovedLabel:function(){var t=this.label,n=this.axis,i=n.reversed,r=this.axis.chart.inverted,u;t&&!this.isNew&&(u=r?t.xy.x:i?n.left:n.width+n.left,i=r?i?n.width+n.top:n.top:t.xy.y,t.animate({x:u,y:i,opacity:0},void 0,t.destroy),delete this.label);n.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(n){var t=this.axis,w=t.options.labels,e=n.x,a=t.chart.chartWidth,o=t.chart.spacing,v=i(t.labelLeft,Math.min(t.pos,o[3]));o=i(t.labelRight,Math.max(t.isRadial?0:t.pos+t.len,a-o[1]));var y=this.label,h=this.rotation,u={left:0,center:.5,right:1}[t.labelAlign||y.attr("align")],s=y.getBBox().width,c=t.getSlotWidth(this),r=c,b=1,l,p={};h||"justify"!==i(w.overflow,"justify")?0>h&&e-u*s<v?l=Math.round(e/Math.cos(h*f)-v):0<h&&e+u*s>o&&(l=Math.round((a-e)/Math.cos(h*f))):(a=e+(1-u)*s,e-u*s<v?r=n.x+r*(1-u)-v:a>o&&(r=o-n.x+r*u,b=-1),r=Math.min(c,r),r<c&&"center"===t.labelAlign&&(n.x+=b*(c-r-u*(c-Math.min(s,r)))),s>r||t.autoRotation&&(y.styles||{}).width)&&(l=r);l&&(this.shortenLabel?this.shortenLabel():(p.width=Math.floor(l),(w.style||{}).textOverflow||(p.textOverflow="ellipsis"),y.css(p)))},getPosition:function(n,t,i,u){var f=this.axis,e=f.chart,h=u&&e.oldChartHeight||e.chartHeight;return n={x:n?r(f.translate(t+i,null,null,u)+f.transB):f.left+f.offset+(f.opposite?(u&&e.oldChartWidth||e.chartWidth)-f.right-f.left:0),y:n?h-f.bottom+f.offset-(f.opposite?f.height:0):r(h-f.translate(t+i,null,null,u)-f.transB)},n.y=s(n.y,-1e5,1e5),o(this,"afterGetPosition",{pos:n}),n},getLabelPosition:function(n,t,i,r,e,s,h,c){var l=this.axis,w=l.transA,b=l.isLinked&&l.linkedParent?l.linkedParent.reversed:l.reversed,a=l.staggerLines,y=l.tickRotCorr||{x:0,y:0},p=e.y,k=r||l.reserveSpaceDefault?0:-l.labelOffset*("center"===l.labelAlign?.5:1),v={};return u(p)||(p=0===l.side?i.rotation?-8:-i.getBBox().height:2===l.side?y.y+8:Math.cos(i.rotation*f)*(y.y-i.getBBox(!1,0).height/2)),n=n+e.x+k+y.x-(s&&r?s*w*(b?-1:1):0),t=t+p-(s&&!r?s*w*(b?1:-1):0),a&&(i=h/(c||1)%a,l.opposite&&(i=a-i-1),t+=l.labelOffset/a*i),v.x=n,v.y=Math.round(t),o(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,t,r){var u=this.axis,f=u.options,e=this.gridLine,o={},c=this.pos,s=this.type,l=i(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&&(t=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:t})},renderMark:function(n,t,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=i(o[h+"Width"],!f&&u.isXAxis?1:0);o=o[h+"Color"];
1s&&(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:t}))},renderLabel:function(n,t,r,u){var f=this.axis,v=f.horiz,c=f.options,o=this.label,s=c.labels,l=s.step,h,a;f=i(this.tickmarkOffset,f.tickmarkOffset);h=!0;a=n.x;n=n.y;o&&e(a)&&(o.xy=n=this.getLabelPosition(a,n,o,v,s,f,u,l),this.isFirst&&!this.isLast&&!i(c.showFirstLabel,1)||this.isLast&&!this.isFirst&&!i(c.showLastLabel,1)?h=!1:!v||s.step||s.rotation||t||0===r||this.handleOverflow(n),l&&u%l&&(h=!1),h&&e(n.y)?(n.opacity=r,o[this.isNewLabel?"attr":"animate"](n),this.isNewLabel=!1):(o.attr("y",-9999),this.isNewLabel=!0))},render:function(t,r,u){var f=this.axis,o=f.horiz,e=this.pos,s=i(this.tickmarkOffset,f.tickmarkOffset),h;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=i(u,1);this.isActive=!0;this.renderGridLine(r,u,f);this.renderMark(e,u,f);this.renderLabel(e,r,u,t);this.isNew=!1;n.fireEvent(this,"afterRender")},destroy:function(){h(this,this.axis)}}}),i(t,"parts/Axis.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var k=t.animObject,a=t.arrayMax,d=t.arrayMin,v=t.clamp,e=t.correctFloat,r=t.defined,y=t.destroyObjectProperties,c=t.extend,g=t.isArray,f=t.isNumber,p=t.isString,o=t.objectEach,i=t.pick,s=t.relativeLength,nt=t.splat,tt=t.syncTimeout,it=n.addEvent,rt=n.color,w=n.defaultOptions,ut=n.deg2rad,u=n.fireEvent,ft=n.format,et=n.getMagnitude,l=n.merge,ot=n.normalizeTickInterval,st=n.removeEvent,b=n.seriesTypes,h=n.Tick;return t=function(){this.init.apply(this,arguments)},c(t.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,crop:!0,overflow:"justify",formatter:function(){var n=this.axis.chart.numberFormatter;return n(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(t,f){var h=f.isX,e=this,s,c;e.chart=t;e.horiz=t.inverted&&!e.isZAxis?!h:h;e.isXAxis=h;e.coll=e.coll||(h?"xAxis":"yAxis");u(this,"init",{userOptions:f});e.opposite=f.opposite;e.side=f.side||(e.horiz?e.opposite?0:2:e.opposite?1:3);e.setOptions(f);s=this.options;c=s.type;e.labelFormatter=s.labels.formatter||e.defaultLabelFormatter;e.userOptions=f;e.minPixelPadding=0;e.reversed=s.reversed;e.visible=!1!==s.visible;e.zoomEnabled=!1!==s.zoomEnabled;e.hasNames="category"===c||!0===s.categories;e.categories=s.categories||e.hasNames;e.names||(e.names=[],e.names.keys={});e.plotLinesAndBandsGroups={};e.isLog="logarithmic"===c;e.isDatetimeAxis="datetime"===c;e.positiveValuesOnly=e.isLog&&!e.allowNegativeLog;e.isLinked=r(s.linkedTo);e.ticks={};e.labelEdge=[];e.minorTicks={};e.plotLinesAndBands=[];e.alternateBands={};e.len=0;e.minRange=e.userMinRange=s.minRange||s.maxZoom;e.range=s.range;e.offset=s.offset||0;e.stacks={};e.oldStacks={};e.stacksTouched=0;e.max=null;e.min=null;e.crosshair=i(s.crosshair,nt(t.options.tooltip.crosshairs)[h?0:1],!1);f=e.options.events;-1===t.axes.indexOf(e)&&(h?t.axes.splice(t.xAxis.length,0,e):t.axes.push(e),t[e.coll].push(e));e.series=e.series||[];t.inverted&&!e.isZAxis&&h&&"undefined"==typeof e.reversed&&(e.reversed=!0);o(f,function(t,i){n.isFunction(t)&&it(e,i,t)});e.lin2log=s.linearToLogConverter||e.lin2log;e.isLog&&(e.val2lin=e.log2lin,e.lin2val=e.lin2log);u(this,"afterInit")},setOptions:function(n){this.options=l(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],l(w[this.coll],n));u(this,"afterSetOptions",{userOptions:n})},defaultLabelFormatter:function(){var t=this.axis,n=this.value,u=t.chart.time,l=t.categories,c=this.dateTimeLabelFormat,f=w.lang,e=f.numericSymbol
1s,r,s,h,o,i;if(f=f.numericSymbolMagnitude||1e3,r=e&&e.length,s=t.options.labels.format,t=t.isLog?Math.abs(n):t.tickInterval,h=this.chart,o=h.numberFormatter,s)i=ft(s,this,h);else if(l)i=n;else if(c)i=u.dateFormat(c,n);else if(r&&1e3<=t)for(;r--&&"undefined"==typeof i;)u=Math.pow(f,r+1),t>=u&&0==10*n%u&&null!==e[r]&&0!==n&&(i=o(n/u,-1)+e[r]);return"undefined"==typeof i&&(i=1e4<=Math.abs(n)?o(n,-1):o(n,-1,void 0,"")),i},getSeriesExtremes:function(){var n=this,e=n.chart,t;u(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(u){var o,c,s,h;(u.visible||!e.options.chart.ignoreHiddenSeries)&&(o=u.options,c=o.threshold,n.hasVisibleSeries=!0,n.positiveValuesOnly&&0>=c&&(c=null),n.isXAxis?(o=u.xData,o.length)&&(t=u.getXExtremes(o),s=t.min,h=t.max,f(s)||s instanceof Date||(o=o.filter(f),t=u.getXExtremes(o),s=t.min,h=t.max),o.length&&(n.dataMin=Math.min(i(n.dataMin,s),s),n.dataMax=Math.max(i(n.dataMax,h),h))):(u.getExtremes(),h=u.dataMax,s=u.dataMin,r(s)&&r(h)&&(n.dataMin=Math.min(i(n.dataMin,s),s),n.dataMax=Math.max(i(n.dataMax,h),h)),r(c)&&(n.threshold=c),!o.softThreshold||n.positiveValuesOnly)&&(n.softThreshold=!1))})});u(this,"afterGetSeriesExtremes")},translate:function(n,t,i,r,u,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,u=(o.isOrdinal||o.isBroken||o.isLog&&u)&&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,u&&(n=o.lin2val(n))):(u&&(n=o.val2lin(n)),n=f(r)?s*(n-r)*h+c+s*l+(f(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 t=this,e=t.chart,y=t.left,p=t.top,c=n.old,b=n.value,r=n.translatedValue,k=n.lineWidth,o=n.force,s,h,l,a,d=c&&e.oldChartHeight||e.chartHeight,tt=c&&e.oldChartWidth||e.chartWidth,w,g=t.transB,nt=function(n,t,i){return("pass"!==o&&n<t||n>i)&&(o?n=v(n,t,i):w=!0),n};return n={value:b,lineWidth:k,old:c,force:o,acrossPanes:n.acrossPanes,translatedValue:r},u(this,"getPlotLinePath",n,function(n){r=i(r,t.translate(b,null,null,c));r=v(r,-1e5,1e5);s=l=Math.round(r+g);h=a=Math.round(d-r-g);f(r)?t.horiz?(h=p,a=d-t.bottom,s=l=nt(s,y,y+t.width)):(s=y,l=tt-t.right,h=a=nt(h,p,p+t.height)):(w=!0,o=!1);n.path=w&&!o?null:e.renderer.crispLine(["M",s,h,"L",l,a],k||1)}),n.path},getLinearTickPositions:function(n,t,i){var r=e(Math.floor(t/n)*n),u,f,o;if(i=e(Math.ceil(i/n)*n),u=[],e(r+n)===r&&(f=20),this.single)return[t];for(t=r;t<=i;){if(u.push(t),t=e(t+n,f),t===o)break;o=t}return u},getMinorTickInterval:function(){var n=this.options;return!0===n.minorTicks?i(n.minorTickInterval,"auto"):!1===n.minorTicks?null:n.minorTickInterval},getMinorTickPositions:function(){var n=this,i=n.options,o=n.tickPositions,u=n.minorTickInterval,t=[],r=n.pointRangePadding||0,f=n.min-r,e;if(r=n.max+r,e=r-f,e&&e/u<n.len/3)if(n.isLog)this.paddedTicks.forEach(function(i,r,f){r&&t.push.apply(t,n.getLogTickPositions(u,f[r-1],f[r],!0))});else if(n.isDatetimeAxis&&"auto"===this.getMinorTickInterval())t=t.concat(n.getTimeTicks(n.normalizeTimeTickInterval(u),f,r,i.startOfWeek));else for(i=f+(o[0]-f)%u;i<=r&&i!==t[0];i+=u)t.push(i);return 0!==t.length&&n.trimTicks(t),t},adjustForMinRange:function(){var e=this.options,n=this.min,t=this.max,s,o,c,h,v;if(this.isXAxis&&"undefined"==typeof this.minRange&&!this.isLog&&(r(e.min)||r(e.max)?this.minRange=null:(this.series.forEach(function(n){for(h=n.xData,o=v=n.xIncrement?1:h.length-1;0<o;o--)(c=h[o]-h[o-1],"undefined"==typeof s||c<s)&&(s=c)}),this.minRange=Math.min(5*s,this.dataMax-this.dataMin))),t-n<this.minRange){var l=this.dataMax-this.dataMin>=this.minRange,f=this.minRange,u=(f-t+n)/2;u=[n-u,i(e.min,n-u)];l&&(u[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin);n=a(u);t=[n+f,i(e.max,n+f)];l&&(t[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax);t=d(t);t-n<f&&(u[0]=t-f,u[1]=i(e.min,t-f),n=a(u))}this.min=n;this.max=t},getClosest:function(){var n;
1return this.categories?n=1:this.series.forEach(function(t){var i=t.closestPointRange,u=t.visible||!t.chart.options.chart.ignoreHiddenSeries;!t.noSharedTooltip&&r(i)&&u&&(n=r(n)?Math.min(n,i):i)}),n},nameToX:function(n){var f=g(this.categories),e=f?this.categories:this.names,u=n.options.x,t;return n.series.requireSorting=!1,r(u)||(u=!1===this.options.uniqueNames?n.series.autoIncrement():f?e.indexOf(n.name):i(e.keys[n.name],-1)),-1===u?f||(t=e.length):t=u,"undefined"!=typeof t&&(this.names[t]=n.name,this.names.keys[n.name]=t),t},updateNames:function(){var t=this,n=this.names;0<n.length&&(Object.keys(n.keys).forEach(function(t){delete n.keys[t]}),n.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(function(n){n.xIncrement=null;(!n.points||n.isDirtyData)&&(t.max=Math.max(t.max,n.xData.length-1),n.processData(),n.generatePoints());n.data.forEach(function(i,r){if(i&&i.options&&"undefined"!=typeof i.name){var u=t.nameToX(i);"undefined"!=typeof u&&u!==i.x&&(i.x=u,n.xData[r]=u)}})}))},setAxisTranslation:function(n){var t=this,a=t.max-t.min,h=t.axisPointRange||0,f=0,e=0,r=t.linkedParent,c=!!t.categories,l=t.transA,o=t.isXAxis,s;(o||c||h)&&(s=t.getClosest(),r?(f=r.minPointOffset,e=r.pointRangePadding):t.series.forEach(function(n){var r=c?1:o?i(n.options.pointRange,s,0):t.axisPointRange||0,u=n.options.pointPlacement;h=Math.max(h,r);(!t.single||c)&&(n=b.xrange&&n instanceof b.xrange?!o:o,f=Math.max(f,n&&p(u)?0:r/2),e=Math.max(e,n&&"on"===u?0:r))}),r=t.ordinalSlope&&s?t.ordinalSlope/s:1,t.minPointOffset=f*=r,t.pointRangePadding=e*=r,t.pointRange=Math.min(h,t.single&&c?1:a),o&&(t.closestPointRange=s));n&&(t.oldTransA=l);t.translationSlope=t.transA=l=t.staticScale||t.len/(a+e||1);t.transB=t.horiz?t.left:t.bottom;t.minPixelPadding=l*f;u(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(t){var o=this,l=o.chart,s=o.options,g=o.isLog,nt=o.isDatetimeAxis,rt=o.isXAxis,p=o.isLinked,w=s.maxPadding,b=s.minPadding,a=s.tickInterval,k=s.tickPixelInterval,d=o.categories,h=f(o.threshold)?o.threshold:null,tt=o.softThreshold,v,y,c,it;nt||d||p||this.getTickAmount();v=i(o.userMin,s.min);y=i(o.userMax,s.max);p?(o.linkedParent=l[o.coll][s.linkedTo],c=o.linkedParent.getExtremes(),o.min=i(c.min,c.dataMin),o.max=i(c.max,c.dataMax),s.type!==o.linkedParent.options.type&&n.error(11,1,l)):(!tt&&r(h)&&(o.dataMin>=h?(c=h,b=0):o.dataMax<=h&&(it=h,w=0)),o.min=i(v,c,o.dataMin),o.max=i(y,it,o.dataMax));g&&(o.positiveValuesOnly&&!t&&0>=Math.min(o.min,i(o.dataMin,o.min))&&n.error(10,1,l),o.min=e(o.log2lin(o.min),16),o.max=e(o.log2lin(o.max),16));o.range&&r(o.max)&&(o.userMin=o.min=v=Math.max(o.dataMin,o.minFromRange()),o.userMax=y=o.max,o.range=null);u(o,"foundExtremes");o.beforePadding&&o.beforePadding();o.adjustForMinRange();!(d||o.axisPointRange||o.usePercentage||p)&&r(o.min)&&r(o.max)&&(l=o.max-o.min)&&(!r(v)&&b&&(o.min-=l*b),!r(y)&&w&&(o.max+=l*w));f(o.userMin)||(f(s.softMin)&&s.softMin<o.min&&(o.min=v=s.softMin),f(s.floor)&&(o.min=Math.max(o.min,s.floor)));f(o.userMax)||(f(s.softMax)&&s.softMax>o.max&&(o.max=y=s.softMax),f(s.ceiling)&&(o.max=Math.min(o.max,s.ceiling)));tt&&r(o.dataMin)&&(h=h||0,!r(v)&&o.min<h&&o.dataMin>=h?o.min=o.options.minRange?Math.min(h,o.max-o.minRange):h:!r(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||"undefined"==typeof o.min||"undefined"==typeof o.max?1:p&&!a&&k===o.linkedParent.options.tickPixelInterval?a=o.linkedParent.tickInterval:i(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));rt&&!t&&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));t=i(s.minTickInterval,o.isDatetimeAxis&&o.closestPointRange);!a&&o.tickInterval<t&&(o.tickInterval=t);nt||g||a||(o.tickInterval=ot(o.tickInterval,null,et(o.tickInterval),i(s.allowDecimals,!(.5<o.tickInterval&&5>o.tickInterval&&1e3<o.max&&9999>o.max)),!!this.tickAmount));this.tickAmount||(o.tickInterval=o.unsquish());this.setTickPositions()},setTickPositions:function(){var i=this.options,e=i.tickPositions,t=this.getMinorTickInterval(),f=i.tickPositioner,o=i.startOnTick,s=i.endOnTick;this.tickmarkOffset=this.categories&&"between"===i.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===t&&this.tickInterval?this.tickInterval/5:t;this.single=this.min===this.max&&r(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==i.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,i.units),this.min,this.max,i.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])))&&
1(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());u(this,"afterSetTickPositions")},trimTicks:function(n,t,i){var f=n[0],e=n[n.length-1],o=this.minPointOffset||0;if(u(this,"trimTicks"),!this.isLinked){if(t&&-Infinity!==f)this.min=f;else for(;this.min-o>n[0];)n.shift();if(i)this.max=e;else for(;this.max+o<n[n.length-1];)n.pop();0===n.length&&r(f)&&!this.options.tickPositions&&n.push((e+f)/2)}},alignToOthers:function(){var t={},i,n=this.options;return!1===this.chart.options.chart.alignTicks||!1===n.alignTicks||!1===n.startOnTick||!1===n.endOnTick||this.isLog||this.chart[this.coll].forEach(function(n){var r=n.options;r=[n.horiz?r.left:r.top,r.width,r.height,r.pane].join();n.series.length&&(t[r]?i=!0:t[r]=1)}),i},getTickAmount:function(){var t=this.options,n=t.tickAmount,i=t.tickPixelInterval;!r(t.tickInterval)&&this.len<i&&!this.isRadial&&!this.isLog&&t.startOnTick&&t.endOnTick&&(n=2);!n&&this.alignToOthers()&&(n=Math.ceil(this.len/i)+1);4>n&&(this.finalTickAmt=n,n=5);this.tickAmount=n},adjustTickAmount:function(){var u=this.options,t=this.tickInterval,n=this.tickPositions,f=this.tickAmount,o=this.finalTickAmt,s=n&&n.length,c=i(this.threshold,this.softThreshold?0:null),h;if(this.hasData()){if(s<f){for(h=this.min;n.length<f;)n.length%2||h===c?n.push(e(n[n.length-1]+t)):n.unshift(e(n[0]-t));this.transA*=(s-1)/(f-1);this.min=u.startOnTick?n[0]:Math.min(this.min,n[0]);this.max=u.endOnTick?n[n.length-1]:Math.max(this.max,n[n.length-1])}else s>f&&(this.tickInterval*=2,this.setTickPositions());if(r(o)){for(t=u=n.length;t--;)(3===o&&1==t%2||2>=o&&0<t&&t<u-1)&&n.splice(t,1);this.finalTickAmt=void 0}}},setScale:function(){var t=this.series.some(function(n){return n.isDirtyData||n.isDirty||n.xAxis&&n.xAxis.isDirty}),n;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();(n=this.len!==this.oldAxisLength)||t||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=this.userMax,this.isDirty||(this.isDirty=n||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();u(this,"afterSetScale")},setExtremes:function(n,t,r,f,e){var o=this,s=o.chart;r=i(r,!0);o.series.forEach(function(n){delete n.kdTree});e=c(e,{min:n,max:t});u(o,"setExtremes",e,function(){o.userMin=n;o.userMax=t;o.eventArgs=e;r&&s.redraw(f)})},zoom:function(n,t){var o=this.dataMin,s=this.dataMax,h=this.options,f=Math.min(o,i(h.min,o)),e=Math.max(s,i(h.max,s));return n={newMin:n,newMax:t},u(this,"zoom",n,function(n){var t=n.newMin,i=n.newMax;(t!==this.min||i!==this.max)&&(this.allowZoomOutside||(r(o)&&(t<f&&(t=f),t>e&&(t=e)),r(s)&&(i<f&&(i=f),i>e&&(i=e))),this.displayBtn="undefined"!=typeof t||"undefined"!=typeof i,this.setExtremes(t,i,!1,void 0,{trigger:"zoom"}));n.zoomed=!0}),n.zoomed},setAxisSize:function(){var n=this.chart,t=this.options,r=t.offsets||[0,0,0,0],u=this.horiz,f=this.width=Math.round(s(i(t.width,n.plotWidth-r[3]+r[1]),n.plotWidth)),e=this.height=Math.round(s(i(t.height,n.plotHeight-r[0]+r[2]),n.plotHeight)),o=this.top=Math.round(s(i(t.top,n.plotTop+r[0]),n.plotHeight,n.plotTop));t=this.left=Math.round(s(i(t.left,n.plotLeft+r[3]),n.plotWidth,n.plotLeft));this.bottom=n.chartHeight-e-o;this.right=n.chartWidth-f-t;this.len=Math.max(u?f:e,0);this.pos=u?t:o},getExtremes:function(){var n=this.isLog;return{min:n?e(this.lin2log(this.min)):this.min,max:n?e(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;return t=t?this.lin2log(this.max):this.max,null===n||-Infinity===n?n=i:Infinity===n?n=t:i>n?n=i:t<n&&(n=t),this.translate(n,0,1,0,1)},autoLabelAlign:function(n){var t=(i(n,0)-90*this.side+720)%360;return n={align:"center"},u(this,"autoLabelAlign",n,function(n){15<t&&165>t?n.align="right":195<t&&345>t&&(n.align="left")}),n.align},tickSize:function(n){var r=this.options,t=r[n+"Length"],f=i(r[n+"Width"],"tick"===n&&this.isXAxis&&!this.categories?1:0),e;return f&&t&&("inside"===r[n+"Position"]&&(t=-t),e=[t,f]),n={tickSize:e},u(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,t=this.tickInterval,f=t,o=this.len/(((this.categories?1:0)+this.max-this.min)/t),l,u=n.rotation,a=this.labelMetrics(),s,v=Number.MAX_VALUE,h,c=this.max-this.min,y=function(n){var i=n/(o||1);return i=1<i?Math.ceil(i):1,i*t>c&&Infinity!==n&&Infinity!==o&&c&&(i=Math.ceil(c/t)),e(i*t)};return p?(h=!n.staggerLines&&!n.step&&(r(u)?[u]:o<i(n.autoRotationLimit,80)&&n.autoRotation))&&h.forEach(function(n){if(n===u||n&&-90<=n&&90>=n){s=y(Math.abs(a.h/Math.sin(ut*n)));var t=s+Math.abs(n/360);t<v&&(v=t,l=n,f=s)}}):n.step||(f=y(a.h)),this.autoRotation=h,this.labelRotation=i(l,u),f}
1,getSlotWidth:function(n){var i=this.chart,r=this.horiz,t=this.options.labels,f=Math.max(this.tickPositions.length-(this.categories?0:1),1),u=i.margin[3];return n&&n.slotWidth||r&&2>(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,y=h.renderer,u=this.tickPositions,c=this.ticks,t=this.options.labels,v=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,i=0,e,a,n;if(p(t.rotation)||(r.rotation=t.rotation||0),u.forEach(function(n){n=c[n];n.movedLabel&&n.replaceMovedLabel();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(a="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||(a="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=v.width,i={};t&&(t.attr(r),n.shortenLabel?n.shortenLabel():e&&!u&&"nowrap"!==v.whiteSpace&&(e<t.textPxLength||"SPAN"===t.element.tagName)?(i.width=e,l||(i.textOverflow=t.specificTextOverflow||a),t.css(i)):t.styles&&t.styles.width&&!i.width&&!u&&t.css({width:null}),delete t.specificTextOverflow,n.rotation=r.rotation)},this);this.tickRotCorr=y.rotCorr(s.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.series.some(function(n){return n.hasData()})||this.options.showEmpty&&r(this.min)&&r(this.max)},addTitle:function(n){var f=this.chart.renderer,e=this.horiz,r=this.opposite,t=this.options.title,i,u=this.chart.styledMode;this.axisTitle||((i=t.textAlign)||(i=(e?{low:"left",middle:"center",high:"right"}:{low:r?"right":"left",middle:"center",high:r?"left":"right"})[t.align]),this.axisTitle=f.text(t.text,0,0,t.useHTML).attr({zIndex:7,rotation:t.rotation||0,align:i}).addClass("highcharts-axis-title"),u||this.axisTitle.css(l(t.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0);u||t.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[n?"show":"hide"](n)},generateTick:function(n){var t=this.ticks;t[n]?t[n].addLabel():t[n]=new h(this,n)},getOffset:function(){var n=this,e=n.chart,a=e.renderer,f=n.options,v=n.tickPositions,w=n.ticks,h=n.horiz,t=n.side,tt=e.inverted&&!n.isZAxis?[1,0,3,2][t]:t,k,it=0,s=0,c=f.title,y=f.labels,l=0,b=e.axisOffset,nt;e=e.clipOffset;var p=[-1,1,1,-1][t],d=f.className,g=n.axisParent,rt=n.hasData();n.showAxis=k=rt||i(f.showEmpty,!0);n.staggerLines=n.horiz&&y.staggerLines;n.axisGroup||(n.gridGroup=a.g("grid").attr({zIndex:f.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+(d||"")).add(g),n.axisGroup=a.g("axis").attr({zIndex:f.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(d||"")).add(g),n.labelGroup=a.g("axis-labels").attr({zIndex:y.zIndex||7}).addClass("highcharts-"+n.coll.toLowerCase()+"-labels "+(d||"")).add(g));rt||n.isLinked?(v.forEach(function(t,i){n.generateTick(t,i)}),n.renderUnsquish(),n.reserveSpaceDefault=0===t||2===t||{1:"left",3:"right"}[t]===n.labelAlign,i(y.reserveSpace,"center"===n.labelAlign?!0:null,n.reserveSpaceDefault)&&v.forEach(function(n){l=Math.max(w[n].getLabelSize(),l)}),n.staggerLines&&(l*=n.staggerLines),n.labelOffset=l*(n.opposite?-1:1)):o(w,function(n,t){n.destroy();delete w[t]});c&&c.text&&!1!==c.enabled&&(n.addTitle(k),k&&!1!==c.reserveSpace)&&(n.titleOffset=it=n.axisTitle.getBBox()[h?"height":"width"],nt=c.offset,s=r(nt)?0:i(c.margin,h?5:10));n.renderLine();n.offset=p*i(f.offset,b[t]?b[t]+(f.margin||0):0);n.tickRotCorr=n.tickRotCorr||{x:0,y:0};a=0===t?-n.labelMetrics().h:2===t?n.tickRotCorr.y:0;s=Math.abs(l)+s;l&&(s=s-a+p*(h?i(y.y,n.tickRotCorr.y+8*p):y.x));n.axisTitleMargin=i(nt,s);n.getMaxLabelDimensions&&(n.maxLabelDimensions=n.getMaxLabelDimensions(w,v));h=this.tickSize("tick");b[t]=Math.max(b[t],n.axisTitleMargin+it+p*n.offset,s,v&&v.length&&h?h[0]+p*n.offset:0);f=f.offset?0:2*Math.floor(n.axisLine.strokeWidth()/2);e[tt]=Math.max(e[tt],f);u(this,"afterGetOffset")},getLinePath:function(n){var i=this.chart,u=this.opposite,t=this.offset,r=this.horiz,f=this.left+(u?this.width:0)+t;
1return t=i.chartHeight-this.bottom-(u?this.height:0)+t,u&&(n*=-1),i.renderer.crispLine(["M",r?this.left:f,r?t:this.top,"L",r?i.chartWidth-this.right:f,r?t:i.chartHeight-this.bottom],n)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var n=this.horiz,r=this.left,s=this.top,t=this.len,f=this.options.title,e=n?r:s,o=this.opposite,h=this.offset,c=f.x||0,l=f.y||0,i=this.axisTitle,a=this.chart.renderer.fontMetrics(f.style&&f.style.fontSize,i);return i=Math.max(i.getBBox(null,0).height-a.h-1,0),t={low:e+(n?0:t),middle:e+t/2,high:e+(n?t:0)}[f.align],r=(n?s+this.height:r)+(n?1:-1)*(o?-1:1)*this.axisTitleMargin+[-i,i,a.f,-i][this.side],n={x:n?t+c:r+(o?this.width:0)+h+c,y:n?r+l-(o?this.height:0)+h:t+l},u(this,"afterGetTitlePosition",{titlePosition:n}),n},renderMinorTick:function(n){var i=this.chart.hasRendered&&f(this.oldMin),t=this.minorTicks;t[n]||(t[n]=new h(this,n,"minor"));i&&t[n].isNew&&t[n].render(null,!0);t[n].render(null,!1,1)},renderTick:function(n,t){var r=this.isLinked,i=this.ticks,u=this.chart.hasRendered&&f(this.oldMin);(!r||n>=this.min&&n<=this.max)&&(i[n]||(i[n]=new h(this,n)),u&&i[n].isNew&&i[n].render(t,!0,-1),i[n].render(t))},render:function(){var t=this,y=t.chart,r=t.options,b=t.isLog,it=t.isLinked,l=t.tickPositions,e=t.axisTitle,a=t.ticks,d=t.minorTicks,i=t.alternateBands,g=r.stackLabels,nt=r.alternateGridColor,s=t.tickmarkOffset,c=t.axisLine,p=t.showAxis,rt=k(y.renderer.globalAnimation),w,v;t.labelEdge.length=0;t.overlap=!1;
1[a,d,i].forEach(function(n){o(n,function(n){n.isActive=!1})});(t.hasData()||it)&&(t.minorTickInterval&&!t.categories&&t.getMinorTickPositions().forEach(function(n){t.renderMinorTick(n)}),l.length&&(l.forEach(function(n,i){t.renderTick(n,i)}),s&&(0===t.min||t.single)&&(a[-1]||(a[-1]=new h(t,-1,null,!0)),a[-1].render(-1))),nt&&l.forEach(function(r,u){v="undefined"!=typeof l[u+1]?l[u+1]+s:t.max-s;0==u%2&&r<t.max&&v<=t.max+(y.polar?-s:s)&&(i[r]||(i[r]=new n.PlotLineOrBand(t)),w=r+s,i[r].options={from:b?t.lin2log(w):w,to:b?t.lin2log(v):v,color:nt},i[r].render(),i[r].isActive=!0)}),t._addedPlotLB||((r.plotLines||[]).concat(r.plotBands||[]).forEach(function(n){t.addPlotBandOrLine(n)}),t._addedPlotLB=!0));[a,d,i].forEach(function(n){var t,r=[],u=rt.duration;o(n,function(n,t){n.isActive||(n.render(t,!1,0),n.isActive=!1,r.push(t))});tt(function(){for(t=r.length;t--;)n[r[t]]&&!n[r[t]].isActive&&(n[r[t]].destroy(),delete n[r[t]])},n!==i&&y.hasRendered&&u?u:0)});c&&(c[c.isPlaced?"animate":"attr"]({d:this.getLinePath(c.strokeWidth())}),c.isPlaced=!0,c[p?"show":"hide"](p));e&&p&&(r=t.getTitlePosition(),f(r.y)?(e[e.isNew?"attr":"animate"](r),e.isNew=!1):(e.attr("y",-9999),e.isNew=!0));g&&g.enabled&&t.renderStackTotals();t.isDirty=!1;u(this,"afterRender")},redraw:function(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(n){n.render()}));this.series.forEach(function(n){n.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(n){var t=this,f=t.stacks,i=t.plotLinesAndBands,r;if(u(this,"destroy",{keepEvents:n}),n||st(t),o(f,function(n,t){y(n);f[t]=null}),[t.ticks,t.minorTicks,t.alternateBands].forEach(function(n){y(n)}),i)for(n=i.length;n--;)i[n].destroy();"stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" ").forEach(function(n){t[n]&&(t[n]=t[n].destroy())});for(r in t.plotLinesAndBandsGroups)t.plotLinesAndBandsGroups[r]=t.plotLinesAndBandsGroups[r].destroy();o(t,function(n,i){-1===t.keepProps.indexOf(i)&&delete t[i]})},drawCrosshair:function(n,t){var f=this.crosshair,e=i(f.snap,!0),h,o=this.cross,s;if(u(this,"drawCrosshair",{e:n,point:t}),n||(n=this.cross&&this.cross.e),this.crosshair&&!1!==(r(t)||!e)){if(e?r(t)&&(h=i("colorAxis"!==this.coll?t.crosshairPos:null,this.isXAxis?t.plotX:this.len-t.plotY)):h=n&&(this.horiz?n.chartX-this.pos:this.len-n.chartY+this.pos),r(h)&&(s={value:t&&(this.isXAxis?t.x:i(t.stackY,t.y)),translatedValue:h},this.chart.polar&&c(s,{isCrosshair:!0,chartX:n&&n.chartX,chartY:n&&n.chartY,point:t}),s=this.getPlotLinePath(s)||null),!r(s)){this.hideCrosshair();return}e=this.categories&&!this.isRadial;o||(this.cross=o=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(e?"category ":"thin ")+f.className).attr({zIndex:i(f.zIndex,2)}).add(),this.chart.styledMode||(o.attr({stroke:f.color||(e?rt("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":i(f.width,1)}).css({"pointer-events":"none"}),f.dashStyle&&o.attr({dashstyle:f.dashStyle})));o.show().attr({d:s});e&&!f.width&&o.attr({"stroke-width":this.transA});this.cross.e=n}else this.hideCrosshair();u(this,"afterDrawCrosshair",{e:n,point:t})},hideCrosshair:function(){this.cross&&this.cross.hide();u(this,"afterHideCrosshair")}}),n.Axis=t}),i(t,"parts/DateTimeAxis.js",[t["parts/Globals.js"]],function(n){var i=n.Axis,r=n.getMagnitude,u=n.normalizeTickInterval,t=n.timeUnits;i.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};i.prototype.normalizeTimeTickInterval=function(n,i){var e=i||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]],f,o,s;for(i=e[e.length-1],f=t[i[0]],o=i[1],s=0;s<e.length&&!(i=e[s],f=t[i[0]],o=i[1],e[s+1]&&n<=(f*o[o.length-1]+t[e[s+1][0]])/2);s++);return f===t.year&&n<5*f&&(o=[1,2,5]),n=u(n/f,o,"year"===i[0]?Math.max(r(n/f),1):1),{unitRange:f,count:n,unitName:i[0]}}}),i(t,"parts/LogarithmicAxis.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var u=t.pick,i,r;t=n.Axis;i=n.getMagnitude;r=n.normalizeTickInterval;t.prototype.getLogTickPositions=function(n,t,f,e){var s=this.options,o=this.len,c=[],l,a,y,v,h;if(e||(this._minorAutoInterval=null),.5<=n)n=Math.round(n),c=this.getLinearTickPositions(n,t,f);else if(.08<=n)for(o=Math.floor(t),s=.3<n?[1,2,4]:.15<n?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];o<f+1&&!a;o++)for(y=s.length,l=0;l<y&&!a;l++)v=this.log2lin(this.lin2log(o)*s[l]),v>t&&(!e||h<=f)&&"undefined"!=typeof h&&c.push(h),h>f&&(a=!0),h=v;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"],t["parts/Utilities.js"]],function(n,t,i){var u=i.arrayMax,f=i.arrayMin,r=i.defined,s=i.destroyObjectProperties,e=i.erase,h=i.extend,c=i.objectEach,o=i.pick,l=n.merge;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 s=this,u=s.axis,a=u.horiz,i=s.options,h=i.label,v=s.label,p=i.to,w=i.from,b=i.value,f=r(w)&&r(p),nt=r(b),e=s.svgElem,tt=!e,t=[],y=i.color,d=o(i.zIndex,0),g=i.events;t={"class":"highcharts-plot-"+(f?"band ":"line ")+(i.className||"")};var it={},rt=u.chart.renderer,k=f?"bands":"lines";if(u.isLog&&(w=u.log2lin(w),p=u.log2lin(p),b=u.log2lin(b)),u.chart.styledMode||(nt?(t.stroke=y||"#999999",t["stroke-width"]=o(i.width,1),i.dashStyle&&(t.dashstyle=i.dashStyle)):f&&(t.fill=y||"#e6ebf5",i.borderWidth&&(t.stroke=i.borderColor,t["stroke-width"]=i.borderWidth))
1),it.zIndex=d,k+="-"+d,(y=u.plotLinesAndBandsGroups[k])||(u.plotLinesAndBandsGroups[k]=y=rt.g("plot-"+k).attr(it).add()),tt&&(s.svgElem=e=rt.path().attr(t).add(y)),nt)t=u.getPlotLinePath({value:b,lineWidth:e.strokeWidth(),acrossPanes:i.acrossPanes});else if(f)t=u.getPlotBandPath(w,p,i);else return;return(tt||!e.d)&&t&&t.length?(e.attr({d:t}),g&&c(g,function(n,t){e.on(t,function(n){g[t].apply(s,[n])})})):e&&(t?(e.show(!0),e.animate({d:t})):e.d&&(e.hide(),v&&(s.label=v=v.destroy()))),h&&(r(h.text)||r(h.formatter))&&t&&t.length&&0<u.width&&0<u.height&&!t.isFlat?(h=l({align:a&&f&&"center",x:a?!f&&4:10,verticalAlign:!a&&f&&"middle",y:a?f?16:10:f?6:-4,rotation:a&&!f&&90},h),this.renderLabel(h,t,f,d)):v&&v.hide(),s},renderLabel:function(n,t,i,r){var e=this.label,o=this.axis.chart.renderer;e||(e={align:n.textAlign||n.align,rotation:n.rotation,"class":"highcharts-plot-"+(i?"band":"line")+"-label "+(n.className||"")},e.zIndex=r,r=this.getLabelText(n),this.label=e=o.text(r,0,0,n.useHTML).attr(e).add(),this.axis.chart.styledMode||e.css(n.style));o=t.xBounds||[t[1],t[4],i?t[6]:t[1]];t=t.yBounds||[t[2],t[5],i?t[7]:t[2]];i=f(o);r=f(t);e.align(n,!1,{x:i,y:r,width:u(o)-i,height:u(t)-r});e.show(!0)},getLabelText:function(n){return r(n.formatter)?n.formatter.call(this):n.text},destroy:function(){e(this.axis.plotLinesAndBands,this);delete this.axis;s(this)}};h(t.prototype,{getPlotBandPath:function(n,t){var i=this.getPlotLinePath({value:t,force:!0,acrossPanes:this.options.acrossPanes}),r=this.getPlotLinePath({value:n,force:!0,acrossPanes:this.options.acrossPanes}),f=[],e=this.horiz,u=1,o;if(n=n<this.min&&t<this.min||n>this.max&&t>this.max,r&&i)for(n&&(o=r.toString()===i.toString(),u=0),n=0;n<r.length;n+=6)e&&i[n+1]===r[n+1]?(i[n+1]+=u,i[n+4]+=u):e||i[n+2]!==r[n+2]||(i[n+2]+=u,i[n+5]+=u),f.push("M",r[n+1],r[n+2],"L",r[n+4],r[n+5],i[n+4],i[n+5],i[n+1],i[n+2],"z"),f.isFlat=o;return f},addPlotBand:function(n){return this.addPlotBandOrLine(n,"plotBands")},addPlotLine:function(n){return this.addPlotBandOrLine(n,"plotLines")},addPlotBandOrLine:function(t,i){var r=new n.PlotLineOrBand(this,t).render(),f=this.userOptions,u;return r&&(i&&(u=f[i]||[],u.push(t),f[i]=u),this.plotLinesAndBands.push(r)),r},removePlotBandOrLine:function(n){for(var i=this.plotLinesAndBands,r=this.options,u=this.userOptions,t=i.length;t--;)i[t].id===n&&i[t].destroy();[r.plotLines||[],u.plotLines||[],r.plotBands||[],u.plotBands||[]].forEach(function(i){for(t=i.length;t--;)i[t].id===n&&e(i,i[t])})},removePlotBand:function(n){this.removePlotBandOrLine(n)},removePlotLine:function(n){this.removePlotBandOrLine(n)}})}),i(t,"parts/Tooltip.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.clamp,h=t.defined,c=t.discardElement,o=t.extend,l=t.isNumber,a=t.isString,i=t.pick,f=t.splat,v=t.syncTimeout;"";var u=n.doc,y=n.format,s=n.merge,e=n.timeUnits;n.Tooltip=function(){this.init.apply(this,arguments)};n.Tooltip.prototype={init:function(n,t){this.chart=n;this.options=t;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=t.split&&!n.inverted&&!n.polar;this.shared=t.shared||this.split;this.outside=i(t.outside,!(!n.scrollablePixelsX&&!n.scrollablePixelsY))},cleanSplit:function(n){this.chart.series.forEach(function(t){var i=t&&t.tt;i&&(!i.isActive||n?t.tt=i.destroy():i.isActive=!1)})},applyFilter:function(){var n=this.chart;n.renderer.definition({tagName:"filter",id:"drop-shadow-"+n.index,opacity:.5,children:[{tagName:"feGaussianBlur","in":"SourceAlpha",stdDeviation:1},{tagName:"feOffset",dx:1,dy:1},{tagName:"feComponentTransfer",children:[{tagName:"feFuncA",type:"linear",slope:.3}]},{tagName:"feMerge",children:[{tagName:"feMergeNode"},{tagName:"feMergeNode","in":"SourceGraphic"}]}]});n.renderer.definition({tagName:"style",textContent:".highcharts-tooltip-"+n.index+"{filter:url(#drop-shadow-"+n.index+")}"})},getLabel:function(){var r=this,u=this.chart.renderer,e=this.chart.styledMode,t=this.options,o="tooltip"+(h(t.className)?" "+t.className:""),i,f;return this.label||(this.outside&&(this.container=i=n.doc.createElement("div"),i.className="highcharts-tooltip-container",n.css(i,{position:"absolute",top:"1px",pointerEvents:t.style&&t.style.pointerEvents,zIndex:3}),n.doc.body.appendChild(i),this.renderer=u=new n.Renderer(i,0,0,{},void 0,void 0,u.styledMode)),this.split?this.label=u.g(o):(this.label=u.label("",0,0,t.shape||"callout",null,null,t.useHTML,null,o).attr({padding:t.padding,r:t.borderRadius}),e||this.label.attr({fill:t.backgroundColor,"stroke-width":t.borderWidth}).css(t.style).shadow(t.shadow)),e&&(this.applyFilter(),this.label.addClass("highcharts-tooltip-"+this.chart.index)),r.outside&&!r.split&&(f={x:this.label.xSetter,y:this.label.ySetter},this.label.xSetter=function(n,t){f[t].call(this.label,r.distance);i.style.left=n+"px"},this.label.ySetter=function(n,t){f[t].call(this.label,r.distance);i.style.top=n+"px"}),this.label.attr({zIndex:8}).add()),this.label},update:function(n){this.destroy();s(!0,this.chart.options.tooltip.userOptions,n);this.init(this.chart,s(!0,this.options,n))},destroy:function(){this.label&&(this.label=this.label.destroy());
1this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),c(this.container));n.clearTimeout(this.hideTimer);n.clearTimeout(this.tooltipTimeout)},move:function(t,i,r,u){var f=this,e=f.now,s=!1!==f.options.animation&&!f.isHidden&&(1<Math.abs(t-e.x)||1<Math.abs(i-e.y)),h=f.followPointer||1<f.len;o(e,{x:s?(2*e.x+t)/3:t,y:s?(e.y+i)/2:i,anchorX:h?void 0:s?(2*e.anchorX+r)/3:r,anchorY:h?void 0:s?(e.anchorY+u)/2:u});f.getLabel().attr(e);s&&(n.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){f&&f.move(t,i,r,u)},32))},hide:function(t){var r=this;n.clearTimeout(this.hideTimer);t=i(t,this.options.hideDelay,500);this.isHidden||(this.hideTimer=v(function(){r.getLabel()[t?"fadeOut":"hide"]();r.isHidden=!0},t))},getAnchor:function(n,t){var i=this.chart,c=i.pointer,r=i.inverted,o=i.plotTop,l=i.plotLeft,u=0,e=0,s,h;return n=f(n),this.followPointer&&t?("undefined"==typeof t.chartX&&(t=c.normalize(t)),n=[t.chartX-i.plotLeft,t.chartY-o]):n[0].tooltipPos?n=n[0].tooltipPos:(n.forEach(function(n){s=n.series.yAxis;h=n.series.xAxis;u+=n.plotX+(!r&&h?h.left-l:0);e+=(n.plotLow?(n.plotLow+n.plotHigh)/2:n.plotY)+(!r&&s?s.top-o:0)}),u/=n.length,e/=n.length,n=[r?i.plotWidth-e:u,this.shared&&!r&&1<n.length&&t?t.chartY-o:r?i.plotHeight-u:e]),n.map(Math.round)},getPosition:function(n,t,r){var f=this.chart,e=this.distance,o={},s=f.inverted&&r.h||0,c,l=this.outside,k=l?u.documentElement.clientWidth-2*e:f.chartWidth,d=l?Math.max(u.body.scrollHeight,u.documentElement.scrollHeight,u.body.offsetHeight,u.documentElement.offsetHeight,u.documentElement.clientHeight):f.chartHeight,g=f.pointer.getChartPosition(),h=f.containerScaling,a=function(n){return h?n*h.scaleX:n},v=function(n){return h?n*h.scaleY:n},nt=function(i){var u="x"===i;return[i,u?k:d,u?n:t].concat(l?[u?a(n):v(t),u?g.left-e+a(r.plotX+f.plotLeft):g.top-e+v(r.plotY+f.plotTop),0,u?k:d]:[u?n:t,u?r.plotX+f.plotLeft:r.plotY+f.plotTop,u?f.plotLeft:f.plotTop,u?f.plotLeft+f.plotWidth:f.plotTop+f.plotHeight])},y=nt("y"),p=nt("x"),tt=!this.followPointer&&i(r.ttBelow,!f.inverted==!!r.negative),it=function(n,t,i,r,u,f,h){var l="y"===n?v(e):a(e),y=(i-r)/2,p=r<u-e,w=u+e+r<t,c=u-l-i+y;if(u=u+l-y,tt&&w)o[n]=u;else if(!tt&&p)o[n]=c;else if(p)o[n]=Math.min(h-r,0>c-s?c:c-s);else if(w)o[n]=Math.max(f,u+s+i>t?u:u+s);else return!1},rt=function(n,t,i,r,u){var f;return u<e||u>t-e?f=!1:o[n]=u<i/2?1:u>t-r/2?t-r-2:u-i/2,f},w=function(n){var t=y;y=p;p=t;c=n},b=function(){!1!==it.apply(0,y)?!1!==rt.apply(0,p)||c||(w(!0),b()):c?o.x=o.y=0:(w(!0),b())};return(f.inverted||1<this.len)&&w(),b(),o},defaultFormatter:function(n){var i=this.points||f(this),t=[n.tooltipFooterHeaderFormatter(i[0])];return t=t.concat(n.bodyFormatter(i)),t.push(n.tooltipFooterHeaderFormatter(i[0],!0)),t},refresh:function(t,r){var e=this.chart,h=this.options,u=t,o={},l=[],s=h.formatter||this.defaultFormatter,a,c,v;o=this.shared;a=e.styledMode;h.enabled&&(n.clearTimeout(this.hideTimer),this.followPointer=f(u)[0].series.tooltipOptions.followPointer,c=this.getAnchor(u,r),r=c[0],v=c[1],!o||u.series&&u.series.noSharedTooltip?o=u.getLabelConfig():(e.pointer.applyInactiveState(u),u.forEach(function(n){n.setState("hover");l.push(n.getLabelConfig())}),o={x:u[0].category,y:u[0].y},o.points=l,u=u[0]),this.len=l.length,e=s.call(o,this),s=u.series,this.distance=i(s.tooltipOptions.distance,16),!1===e?this.hide():(this.split?this.renderSplit(e,f(t)):(t=this.getLabel(),h.style.width&&!a||t.css({width:this.chart.spacingBox.width}),t.attr({text:e&&e.join?e.join(""):e}),t.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+i(u.colorIndex,s.colorIndex)),a||t.attr({stroke:h.borderColor||u.color||s.color||"#666666"}),this.updatePosition({plotX:r,plotY:v,negative:u.negative,ttBelow:u.ttBelow,h:c[2]||0})),this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1),n.fireEvent(this,"refresh"))},renderSplit:function(t,u){function rt(n,t,i,u,f){return void 0===f&&(f=!0),i?(t=ot?0:it,n=r(n-u/2,c.left,c.right-u)):(t-=nt,n=f?n-u-y:n+y,n=r(n,f?n:c.left,c.right)),{x:n,y:t}}var e=this,p=e.chart,f=e.chart,st=f.chartWidth,ht=f.chartHeight,w=f.plotHeight,g=f.plotLeft,b=f.plotTop,ct=f.plotWidth,k=f.pointer,lt=f.renderer,l=f.scrollablePixelsX,s,v;l=void 0===l?0:l;s=f.scrollablePixelsY;v=void 0===s?0:s;s=f.scrollingContainer;s=void 0===s?{scrollLeft:0,scrollTop:0}:s;var ut=s.scrollLeft,at=s.scrollTop,ft=f.styledMode,y=e.distance,h=e.options,d=e.options.positioner,c={left:l?g:0,right:l?g+ct-l:st,top:v?b:0,bottom:v?b+w-v:ht},et=e.getLabel(),ot=!(!p.xAxis[0]||!p.xAxis[0].opposite),nt=b,tt=0,it=w-v;a(t)&&(t=[!1,t]);t=t.slice(0,u.length+1).reduce(function(n,t,f){var k;if(!1!==t&&""!==t){f=u[f-1]||{isHeader:!0,plotX:u[0].plotX,plotY:w,series:{}};var st=f.isHeader,p=st?e:f.series,o=p.tt,a=f.isHeader,s=f.series,l="highcharts-color-"+i(f.colorIndex,s.colorIndex,"none");o||(o={padding:h.padding,r:h.borderRadius}
1,ft||(o.fill=h.backgroundColor,o["stroke-width"]=h.borderWidth),o=lt.label(null,null,null,h[a?"headerShape":"shape"]||"callout",null,null,h.useHTML).addClass(a?"highcharts-tooltip-header ":"highcharts-tooltip-box "+l).attr(o).add(et));o.isActive=!0;o.attr({text:t});ft||o.css(h.style).shadow(h.shadow).attr({stroke:h.borderColor||f.color||s.color||"#333333"});t=p.tt=o;a=t.getBBox();p=a.width+t.strokeWidth();st&&(tt=a.height,it+=tt,ot&&(nt-=tt));s=f.plotX;s=void 0===s?0:s;l=f.plotY;l=void 0===l?0:l;k=f.series;f.isHeader?(s=g+s-ut,l=b+(w-v)/2):(o=k.xAxis,k=k.yAxis,s=o.pos+r(s,-y,o.len+y)-ut,l=k.pos+r(l,0,k.len)-at);s=r(s,c.left-y,c.right+y);l=r(l,c.top,c.bottom);a=a.height+1;o=d?d.call(e,p,a,f):rt(s,l,st,p);n.push({align:d?0:void 0,anchorX:s,anchorY:l,boxWidth:p,point:f,rank:i(o.rank,st?1:0),size:a,target:o.y,tt:t,x:o.x})}return n},[]);!d&&t.some(function(n){return 0>n.x})&&(t=t.map(function(n){var t=rt(n.anchorX,n.anchorY,n.point.isHeader,n.boxWidth,!1);return o(n,{target:t.y,x:t.x})}));e.cleanSplit();n.distribute(t,it,void 0);t.forEach(function(n){var t=n.pos;n.tt.attr({visibility:"undefined"==typeof t?"hidden":"inherit",x:n.x,y:t+nt,anchorX:n.anchorX,anchorY:n.anchorY})});t=e.container;p=e.renderer;e.outside&&t&&p&&(f=et.getBBox(),p.setSize(f.width+f.x,f.height+f.y,!1),k=k.getChartPosition(),t.style.left=k.left+"px",t.style.top=k.top+"px")},updatePosition:function(t){var i=this.chart,r=i.pointer,u=this.getLabel(),f=t.plotX+i.plotLeft,e=t.plotY+i.plotTop,o;r=r.getChartPosition();t=(this.options.positioner||this.getPosition).call(this,u.width,u.height,t);this.outside&&(o=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(u.width+o,u.height+o,!1),(i=i.containerScaling)&&(n.css(this.container,{transform:"scale("+i.scaleX+", "+i.scaleY+")"}),f*=i.scaleX,e*=i.scaleY),f+=r.left-t.x,e+=r.top-t.y);
1this.move(Math.round(t.x),Math.round(t.y||0),f,e)},getDateFormat:function(n,t,i,r){var f=this.chart.time,s=f.dateFormat("%m-%d %H:%M:%S.%L",t),o={millisecond:15,second:12,minute:9,hour:6,day:3},h="millisecond",u,c;for(u in e){if(n===e.week&&+f.dateFormat("%w",t)===i&&"00:00:00.000"===s.substr(6)){u="week";break}if(e[u]>n){u=h;break}if(o[u]&&s.substr(o[u])!=="01-01 00:00:00.000".substr(o[u]))break;"week"!==u&&(h=u)}return u&&(c=f.resolveDTLFormat(r[u]).main),c},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 h=i?"footer":"header",u=t.series,e=u.tooltipOptions,f=e.xDateFormat,o=u.xAxis,s=o&&"datetime"===o.options.type&&l(t.key),r=e[h+"Format"];return i={isFooter:i,labelConfig:t},n.fireEvent(this,"headerFormatter",i,function(n){s&&!f&&(f=this.getXDateFormat(t,e,o));s&&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=y(r,{point:t,series:u},this.chart)}),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"],t["parts/Utilities.js"]],function(n,t){var a=t.attr,s=t.defined,f=t.extend,h=t.isNumber,e=t.isObject,v=t.objectEach,y=t.offset,i=t.pick,c=t.splat,r=n.addEvent,u=n.charts,p=n.color,w=n.css,b=n.find,o=n.fireEvent,l=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={};l&&(n.tooltip=new l(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));
1this.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},getChartPosition:function(){var n=this.chart;return n=n.scrollingContainer||n.container,this.chartPosition||(this.chartPosition=y(n))},normalize:function(n,t){var i=n.touches?n.touches.length?n.touches.item(0):n.changedTouches[0]:n,r;return t||(t=this.getChartPosition()),r=i.pageX-t.left,t=i.pageY-t.top,(i=this.chart.containerScaling)&&(r/=i.scaleX,t/=i.scaleY),f(n,{chartX:Math.round(r),chartY:Math.round(t)})},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"),f,o;n=n.searchPoint(i,u);!(u=e(n,!0))||(u=!e(r,!0))||(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,e,u;return(r=r.yAxis,e=i(n.clientX,n.plotX),u=n.shapeArgs,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||!o?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=b(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(t,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,c;if(s=this.getHoverData(o,s,e.series,(!t||"touchmove"!==t.type)&&(!!f||s&&s.directTouch&&this.isDirectTouch),l,t),o=s.hoverPoint,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(),this.applyInactiveState(c),(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,t)}else f&&h&&!h.isHidden&&(o=h.getAnchor([{}],t),h.updatePosition({plotX:o[0],plotY:o[1]}));this.unDocMouseMove||(this.unDocMouseMove=r(e.container.ownerDocument,"mousemove",function(t){var i=u[n.hoverChartIndex];if(i)i.pointer.onDocumentMouseMove(t)}));e.axes.forEach(function(r){var u=i(r.crosshair.snap,!0),f=u?n.find(c,function(n){return n.series[r.coll]===r}):void 0;f||!u?r.drawCrosshair(t,f):r.hideCrosshair()})},applyInactiveState:function(n){var i=[],t;(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)});this.chart.series.forEach(function(n){-1===i.indexOf(n)?n.setState("inactive",!0):n.options.inactiveOtherPoints&&n.setAllPointsToState("inactive")})},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&&c(e).forEach(function(t){t.series.isCartesian&&"undefined"==typeof t.plotX&&(n=!1)});n?u&&e&&c(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))}
1):r&&(r.setState(r.state,!0),i.axes.forEach(function(n){n.crosshair&&r.series[n.coll]===n&&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,u=i.options.chart,t=n.chartX,f=n.chartY,y=this.zoomHor,w=this.zoomVert,o=i.plotLeft,s=i.plotTop,l=i.plotWidth,a=i.plotHeight,r=this.selectionMarker,h=this.mouseDownX,c=this.mouseDownY,b=e(u.panning)?u.panning&&u.panning.enabled:u.panning,k=u.panKey&&n[u.panKey+"Key"],v;r&&r.touch||(t<o?t=o:t>o+l&&(t=o+l),f<s?f=s:f>s+a&&(f=s+a),this.hasDragged=Math.sqrt(Math.pow(h-t,2)+Math.pow(c-f,2)),10<this.hasDragged)&&(v=i.isInsidePlot(h-o,c-s),i.hasCartesianSeries&&(this.zoomX||this.zoomY)&&v&&!k&&!r&&(this.selectionMarker=r=i.renderer.rect(o,s,y?1:l,w?1:a,0).attr({"class":"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||r.attr({fill:u.selectionMarkerFill||p("#335cad").setOpacity(.25).get()})),r&&y&&(t-=h,r.attr({width:Math.abs(t),x:(0<t?0:t)+h})),r&&w&&(t=f-c,r.attr({height:Math.abs(t),y:(0<t?0:t)+c})),v&&!r&&b&&i.pan(n,u.panning))},drop:function(n){var a=this,i=this.chart,r=this.hasPinched;if(this.selectionMarker){var u={originalEvent:n,xAxis:[],yAxis:[]},t=this.selectionMarker,e=t.attr?t.attr("x"):t.x,c=t.attr?t.attr("y"):t.y,v=t.attr?t.attr("width"):t.width,y=t.attr?t.attr("height"):t.height,l;(this.hasDragged||r)&&(i.axes.forEach(function(t){if(t.zoomEnabled&&s(t.min)&&(r||a[{xAxis:"zoomX",yAxis:"zoomY"}[t.coll]])){var i=t.horiz,f="touchend"===n.type?t.minPixelPadding:0,o=t.toValue((i?e:c)+f);i=t.toValue((i?e+v:c+y)-f);u[t.coll].push({axis:t,min:Math.min(o,i),max:Math.max(o,i)});l=!0}}),l&&o(i,"selection",u,function(n){i.zoom(f(n,r?{animation:!1}:null))}));h(i.index)&&(this.selectionMarker=this.selectionMarker.destroy());r&&this.scaleGroups()}i&&h(i.index)&&(w(i.container,{cursor:i._cursor}),i.cancelClick=10<this.hasDragged,i.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(n){n=this.normalize(n);2!==n.button&&(this.zoomOption(n),n.preventDefault&&n.preventDefault(),this.dragStart(n))},onDocumentMouseUp:function(t){u[n.hoverChartIndex]&&u[n.hoverChartIndex].pointer.drop(t)},onDocumentMouseMove:function(n){var t=this.chart,i=this.chartPosition;n=this.normalize(n,i);!i||this.inClass(n.target,"highcharts-tracker")||t.isInsidePlot(n.chartX-t.plotLeft,n.chartY-t.plotTop)||this.reset()},onContainerMouseLeave:function(t){var i=u[n.hoverChartIndex];i&&(t.relatedTarget||t.toElement)&&(i.pointer.reset(),i.pointer.chartPosition=void 0)},onContainerMouseMove:function(t){var i=this.chart;s(n.hoverChartIndex)&&u[n.hoverChartIndex]&&u[n.hoverChartIndex].mouseIsDown||(n.hoverChartIndex=i.index);t=this.normalize(t);t.preventDefault||(t.returnValue=!1);"mousedown"===i.mouseIsDown&&this.drag(t);(this.inClass(t.target,"highcharts-tracker")||i.isInsidePlot(t.chartX-i.plotLeft,t.chartY-i.plotTop))&&!i.openMenu&&this.runPointActions(t)},inClass:function(n,t){for(var i;n;){if(i=a(n,"class")){if(-1!==i.indexOf(t))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}n=n.parentNode}},onTrackerMouseOut:function(n){var t=this.chart.hoverSeries;n=n.relatedTarget||n.toElement;this.isDirectTouch=!1;!t||!n||t.stickyTracking||this.inClass(n,"highcharts-tooltip")||this.inClass(n,"highcharts-series-"+t.index)&&this.inClass(n,"highcharts-tracker")||t.onMouseOut()},onContainerClick:function(n){var t=this.chart,i=t.hoverPoint,r=t.plotLeft,u=t.plotTop;n=this.normalize(n);t.cancelClick||(i&&this.inClass(n.target,"highcharts-tracker")?(o(i.series,"click",f(n,{point:i})),t.hoverPoint&&i.firePointEvent("click",n)):(f(n,this.getCoordinates(n)),t.isInsidePlot(n.chartX-r,n.chartY-u)&&o(t,"click",n)))},setDOMEvents:function(){var t=this,i=t.chart.container,u=i.ownerDocument;i.onmousedown=function(n){t.onContainerMouseDown(n)};i.onmousemove=function(n){t.onContainerMouseMove(n)};i.onclick=function(n){t.onContainerClick(n)};this.unbindContainerMouseLeave=r(i,"mouseleave",t.onContainerMouseLeave);n.unbindDocumentMouseUp||(n.unbindDocumentMouseUp=r(u,"mouseup",t.onDocumentMouseUp));n.hasTouch&&(r(i,"touchstart",function(n){t.onContainerTouchStart(n)}),r(i,"touchmove",function(n){t.onContainerTouchMove(n)}),n.unbindDocumentTouchEnd||(n.unbindDocumentTouchEnd=r(u,"touchend",t.onDocumentTouchEnd)))},destroy:function(){var t=this;t.unDocMouseMove&&t.unDocMouseMove();this.unbindContainerMouseLeave();n.chartCount||(n.unbindDocumentMouseUp&&(n.unbindDocumentMouseUp=n.unbindDocumentMouseUp()),n.unbindDocumentTouchEnd&&(n.unbindDocumentTouchEnd=n.unbindDocumentTouchEnd()));clearInterval(t.tooltipTimeout);v(t,function(n,i){t[i]=null})}}}),i(t,"parts/TouchPointer.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.extend,i=t.pick,u=n.charts,f=n.noop;r(n.Pointer.prototype,{pinchTranslate:function(n,t,i,r,u,f){this.zoomHor&&this.pinchTranslateDirection(!0,n,t,i,r,u,f);this.zoomVert&&this.pinchTranslateDirection(!1,n,t,i,r,u,f)},pinchTranslateDirection:function(n,t,i,r,u,f,e,o){var a=this.chart,c=n?"x":"y",k=n?"X":"Y",v="chart"+k,it=n?"width":"height",d=a["plot"+(n?"Left":"Top")],l,g,s=o||1,nt=a.inverted,y=a.bounds[n?"h":"v"],p=1===t.length,w=t[0][v],h=i[0][v],rt=!p&&t[1][v],b=!p&&i[1][v],tt;i=function(){!p&&20<Math.abs(w-rt)&&(s=o||Math.abs(h-b)/Math.abs(w-rt));g=(d-h)/s+w;
1l=a["plot"+(n?"Width":"Height")]/s};i();t=g;t<y.min?(t=y.min,tt=!0):t+l>y.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 t=this,e=t.chart,u=t.pinchDown,o=n.touches,s=o.length,h=t.lastValidTouch,l=t.hasZoom,c=t.selectionMarker,a={},y=1===s&&(t.inClass(n.target,"highcharts-tracker")&&e.runTrackerClick||t.runChartClick),v={};1<s&&(t.initiated=!0);l&&t.initiated&&!y&&n.preventDefault();[].map.call(o,function(n){return t.normalize(n)});"touchstart"===n.type?([].forEach.call(o,function(n,t){u[t]={chartX:n.chartX,chartY:n.chartY}}),h.x=[u[0].chartX,u[1]&&u[1].chartX],h.y=[u[0].chartY,u[1]&&u[1].chartY],e.axes.forEach(function(n){if(n.zoomEnabled){var t=e.bounds[n.horiz?"h":"v"],r=n.minPixelPadding,u=n.toPixels(Math.min(i(n.options.min,n.dataMin),n.dataMin)),f=n.toPixels(Math.max(i(n.options.max,n.dataMax),n.dataMax)),o=Math.max(u,f);t.min=Math.min(n.pos,Math.min(u,f)-r);t.max=Math.max(n.pos+n.len,o+r)}}),t.res=!0):t.followTouchMove&&1===s?this.runPointActions(t.normalize(n)):u.length&&(c||(t.selectionMarker=c=r({destroy:f,touch:!0},e.plotBox)),t.pinchTranslate(u,o,a,c,v,h),t.hasPinched=l,t.scaleGroups(a,v),t.res&&(t.res=!1,this.reset(!1,0)))},touch:function(t,r){var u=this.chart,e,f;if(u.index!==n.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});n.hoverChartIndex=u.index;1===t.touches.length?(t=this.normalize(t),(e=u.isInsidePlot(t.chartX-u.plotLeft,t.chartY-u.plotTop))&&!u.openMenu)?(r&&this.runPointActions(t),"touchmove"===t.type&&(r=this.pinchDown,f=r[0]?4<=Math.sqrt(Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[0].chartY-t.chartY,2)):!1),i(f,!0)&&this.pinch(t)):r&&this.reset():2===t.touches.length&&this.pinch(t)},onContainerTouchStart:function(n){this.zoomOption(n);this.touch(n,!0)},onContainerTouchMove:function(n){this.touch(n)},onDocumentTouchEnd:function(t){u[n.hoverChartIndex]&&u[n.hoverChartIndex].pointer.drop(t)}})}),i(t,"parts/MSPointer.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var s=t.extend,h=t.objectEach;t=t.wrap;var c=n.addEvent,o=n.charts,l=n.css,a=n.doc,v=n.noop,r=n.Pointer,y=n.removeEvent,u=n.win;if(!n.hasTouch&&(u.PointerEvent||u.MSPointerEvent)){var i={},f=!!u.PointerEvent,p=function(){var n=[];return n.item=function(n){return this[n]},h(i,function(t){n.push({pageX:t.pageX,pageY:t.pageY,target:t.target})}),n},e=function(t,i,r,u){("touch"===t.pointerType||t.pointerType===t.MSPOINTER_TYPE_TOUCH)&&o[n.hoverChartIndex]&&(u(t),u=o[n.hoverChartIndex].pointer,u[i]({type:r,target:t.currentTarget,preventDefault:v,touches:p()}))};s(r.prototype,{onContainerPointerDown:function(n){e(n,"onContainerTouchStart","touchstart",function(n){i[n.pointerId]={pageX:n.pageX,pageY:n.pageY,target:n.currentTarget}})},onContainerPointerMove:function(n){e(n,"onContainerTouchMove","touchmove",function(n){i[n.pointerId]={pageX:n.pageX,pageY:n.pageY};i[n.pointerId].target||(i[n.pointerId].target=n.currentTarget)})},onDocumentPointerUp:function(n){e(n,"onDocumentTouchEnd","touchend",function(n){delete i[n.pointerId]})},batchMSEvents:function(n){n(this.chart.container,f?"pointerdown":"MSPointerDown",this.onContainerPointerDown);n(this.chart.container,f?"pointermove":"MSPointerMove",this.onContainerPointerMove);n(a,f?"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});t(r.prototype,"init",function(n,t,i){n.call(this,t,i);this.hasZoom&&l(t.container,{"-ms-touch-action":"none","touch-action":"none"})});t(r.prototype,"setDOMEvents",function(n){n.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(c)});t(r.prototype,"destroy",function(n){this.batchMSEvents(y);n.call(this)})}}),i(t,"parts/Legend.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var f=t.defined,h=t.discardElement,c=t.isNumber,i=t.pick,l=t.relativeLength,a=t.setAnimation,v=t.syncTimeout;t=t.wrap;var e=n.addEvent,y=n.css,u=n.fireEvent,p=n.isFirefox,o=n.marginNames,r=n.merge,w=n.stableSort,s=n.win;n.Legend=function(n,t){this.init(n,t)};n.Legend.prototype={init:function(n,t){this.chart=n;this.setOptions(t);t.enabled&&(this.render(),e(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=e(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(n){var t=i(n.padding,8);this.options=n;this.chart.styledMode||(this.itemStyle=n.itemStyle,this.itemHiddenStyle=r(this.itemStyle,n.itemHiddenStyle));this.itemMarginTop=n.itemMarginTop||0;this.itemMarginBottom=n.itemMarginBottom||0;this.padding=t;this.initialItemY=t-5;
1this.symbolWidth=i(n.symbolWidth,16);this.pages=[];this.proximate="proximate"===n.layout&&!this.chart.inverted},update:function(n,t){var f=this.chart;this.setOptions(r(!0,this.options,n));this.destroy();f.isDirtyLegend=f.isDirtyBox=!0;i(t,!0)&&f.redraw();u(this,"afterUpdate")},colorizeItem:function(n,t){if(n.legendGroup[t?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){var i=this.options,o=n.legendItem,s=n.legendLine,e=n.legendSymbol,r=this.itemHiddenStyle.color;i=t?i.itemStyle.color:r;var h=t?n.color||r:r,c=n.options&&n.options.marker,f={fill:h};o&&o.css({fill:i,color:i});s&&s.attr({stroke:h});e&&(c&&e.isMarker&&(f=n.pointAttribs(),t||(f.stroke=f.fill=r)),e.attr(f))}u(this,"afterColorizeItem",{item:n,visible:t})},positionItems:function(){this.allItems.forEach(this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(n){var i=this.options,e=i.symbolPadding,t,r,u;i=!i.rtl;t=n._legendItemPos;r=t[0];t=t[1];u=n.checkbox;(n=n.legendGroup)&&n.element&&n[f(n.translateY)?"animate":"attr"]({translateX:i?r:this.legendWidth-r-2*e-4,translateY:t});u&&(u.x=r,u.y=t)},destroyItem:function(n){var t=n.checkbox;["legendItem","legendLine","legendSymbol","legendGroup"].forEach(function(t){n[t]&&(n[t]=n[t].destroy())});t&&h(n.checkbox)},destroy:function(){function n(n){this[n]&&(this[n]=this[n].destroy())}
1this.getAllItems().forEach(function(t){["legendItem","legendGroup"].forEach(n,t)});"clipRect up down pager nav box title group".split(" ").forEach(n,this);this.display=null},positionCheckboxes:function(){var t=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,r=this.titleHeight,n;t&&(n=t.translateY,this.allItems.forEach(function(u){var f=u.checkbox,e;f&&(e=n+r+f.y+(this.scrollOffset||0)+3,y(f,{left:t.translateX+u.checkboxOffset+f.x-20+"px",top:e+"px",display:this.proximate||e>n-6&&e<n+i-6?"":"none"}))},this))},renderTitle:function(){var n=this.options,r=this.padding,t=n.title,i=0;t.text&&(this.title||(this.title=this.chart.renderer.label(t.text,r-3,r-4,null,null,null,n.useHTML,null,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(t.style),this.title.add(this.group)),t.width||this.title.css({width:this.maxLegendWidth+"px"}),n=this.title.getBBox(),i=n.height,this.offsetWidth=n.width,this.contentGroup.attr({translateY:i}));this.titleHeight=i},setText:function(t){var i=this.options;t.legendItem.attr({text:i.labelFormat?n.format(i.labelFormat,t,this.chart):i.labelFormatter.call(t)})},renderItem:function(n){var u=this.chart,s=u.renderer,f=this.options,y=this.symbolWidth,h=f.symbolPadding,c=this.itemStyle,b=this.itemHiddenStyle,o="horizontal"===f.layout?i(f.itemDistance,20):0,p=!f.rtl,t=n.legendItem,w=!n.series,l=!w&&n.series.drawLegendSymbol?n.series:n,e=l.options,a,v;e=this.createCheckboxForItem&&e&&e.showCheckbox;o=y+h+o+(e?20:0);a=f.useHTML;v=n.options.className;t||(n.legendGroup=s.g("legend-item").addClass("highcharts-"+l.type+"-series highcharts-color-"+n.colorIndex+(v?" "+v:"")+(w?" highcharts-series-"+n.index:"")).attr({zIndex:1}).add(this.scrollGroup),n.legendItem=t=s.text("",p?y+h:-h,this.baseline||0,a),u.styledMode||t.css(r(n.visible?c:b)),t.attr({align:p?"left":"right",zIndex:2}).add(n.legendGroup),this.baseline||(this.fontMetrics=s.fontMetrics(u.styledMode?12:c.fontSize,t),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,t.attr("y",this.baseline)),this.symbolHeight=f.symbolHeight||this.fontMetrics.f,l.drawLegendSymbol(this,n),this.setItemEvents&&this.setItemEvents(n,t,a));e&&!n.checkbox&&this.createCheckboxForItem(n);this.colorizeItem(n,n.visible);!u.styledMode&&c.width||t.css({width:(f.itemWidth||this.widthOption||u.spacingBox.width)-o});this.setText(n);u=t.getBBox();n.itemWidth=n.checkboxOffset=f.itemWidth||n.legendItemWidth||u.width+o;this.maxItemWidth=Math.max(this.maxItemWidth,n.itemWidth);this.totalItemWidth+=n.itemWidth;this.itemHeight=n.itemHeight=Math.round(n.legendItemHeight||u.height||this.symbolHeight)},layoutItem:function(n){var t=this.options,r=this.padding,u="horizontal"===t.layout,f=n.itemHeight,e=this.itemMarginBottom,o=this.itemMarginTop,h=u?i(t.itemDistance,20):0,s=this.maxLegendWidth;t=t.alignColumns&&this.totalItemWidth>s?this.maxItemWidth:n.itemWidth;u&&this.itemX-r+t>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+=t:(this.itemY+=o+f+e,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((u?this.itemX-r-(n.checkbox?0:h):t)+r,this.offsetWidth)},getAllItems:function(){var n=[];return this.chart.series.forEach(function(t){var r=t&&t.options;t&&i(r.showInLegend,f(r.linkedTo)?!1:void 0,!0)&&(n=n.concat(t.legendItems||("point"===r.legendType?t.data:t)))}),u(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,t){var r=this.chart,u=this.options,e=this.getAlignment();e&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
1h(function(s,h){s.test(e)&&!f(n[h])&&(r[o[h]]=Math.max(r[o[h]],r.legend[(h+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][h]*u[h%2?"x":"y"]+i(u.margin,12)+t[h]+(r.titleOffset[h]||0)))})},proximatePositions:function(){var t=this.chart,i=[],r="left"===this.options.align;this.allItems.forEach(function(u){var e=r,f,o;u.yAxis&&u.points&&(u.xAxis.options.reversed&&(e=!e),f=n.find(e?u.points:u.points.slice(0).reverse(),function(n){return c(n.plotY)}),e=this.itemMarginTop+u.legendItem.getBBox().height+this.itemMarginBottom,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 i=this.chart,f=i.renderer,s=this.group,c,t=this.box,e=this.options,h=this.padding,n,o;this.itemX=h;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;this.widthOption=l(e.width,i.spacingBox.width-h);n=i.spacingBox.width-2*h-e.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(n/=2);this.maxLegendWidth=this.widthOption||n;s||(this.group=s=f.g("legend").attr({zIndex:7}).add(),this.contentGroup=f.g().attr({zIndex:1}).add(s),this.scrollGroup=f.g().add(this.contentGroup));this.renderTitle();n=this.getAllItems();w(n,function(n,t){return(n.options&&n.options.legendIndex||0)-(t.options&&t.options.legendIndex||0)});e.reversed&&n.reverse();this.allItems=n;this.display=c=!!n.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;n.forEach(this.renderItem,this);n.forEach(this.layoutItem,this);n=(this.widthOption||this.offsetWidth)+h;o=this.lastItemY+this.lastLineHeight+this.titleHeight;o=this.handleOverflow(o);o+=h;t||(this.box=t=f.rect().addClass("highcharts-legend-box").attr({r:e.borderRadius}).add(s),t.isNew=!0);i.styledMode||t.attr({stroke:e.borderColor,"stroke-width":e.borderWidth||0,fill:e.backgroundColor||"none"}).shadow(e.shadow);0<n&&0<o&&(t[t.isNew?"attr":"animate"](t.crisp.call({},{x:0,y:0,width:n,height:o},t.strokeWidth())),t.isNew=!1);t[c?"show":"hide"]();i.styledMode&&"none"===s.getStyle("display")&&(n=o=0);this.legendWidth=n;this.legendHeight=o;c&&(f=i.spacingBox,t=f.y,/(lth|ct|rth)/.test(this.getAlignment())&&0<i.titleOffset[0]?t+=i.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&0<i.titleOffset[2]&&(t-=i.titleOffset[2]),t!==f.y&&(f=r(f,{y:t})),s.align(r(e,{width:n,height:o,verticalAlign:this.proximate?"top":e.verticalAlign}),!0,f));this.proximate||this.positionItems();u(this,"afterRender")},handleOverflow:function(n){var t=this,a=this.chart,s=a.renderer,f=this.options,r=f.y,l=this.padding;r=a.spacingBox.height+("top"===f.verticalAlign?-r:r)-l;var w=f.maxHeight,v,h=this.clipRect,y=f.navigation,b=i(y.animation,!0),e=y.arrowSize||12,u=this.nav,o=this.pages,c,p=this.allItems,k=function(n){"number"==typeof n?h.attr({height:n}):h&&(t.clipRect=h.destroy(),t.contentGroup.clip());t.contentGroup.div&&(t.contentGroup.div.style.clip=n?"rect("+l+"px,9999px,"+(l+n)+"px,0)":"auto")},d=function(n){return t[n]=s.circle(0,0,1.3*e).translate(e/2,e/2).add(u),a.styledMode||t[n].attr("fill","rgba(0,0,0,0.0001)"),t[n]};return"horizontal"!==f.layout||"middle"===f.verticalAlign||f.floating||(r/=2),w&&(r=Math.min(r,w)),o.length=0,n>r&&!1!==y.enabled?(this.clipHeight=v=Math.max(r-20-this.titleHeight-l,0),this.currentPage=i(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=t.clipRect=s.clipRect(0,l,9999,0),t.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(){t.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(){t.scroll(1,b)})),t.scroll(0),n=r):u&&(k(),this.nav=u.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),n},scroll:function(t,r){var c=this,s=this.chart,h=this.pages,e=h.length,f=this.currentPage+t;t=this.clipHeight;var o=this.options.navigation,l=this.pager,y=this.padding;f>e&&(f=e);0<f&&("undefined"!=typeof r&&a(r,s),this.nav.attr({translateX:y,translateY:t+this.padding+7+this.titleHeight,visibility:"visible"}),[this.up,this.upTracker].forEach(function(n){n.attr({"class":1===f?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),l.attr({text:f+"/"+e}),[this.down,this.downTracker].forEach(function(n){n.attr({x:18+this.pager.getBBox().width,"class":f===e?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),s.styledMode||(this.up.attr({fill:1===f?o.inactiveColor:o.activeColor}),this.upTracker.css({cursor:1===f?"default":"pointer"}),this.down.attr({fill:f===e?o.inactiveColor:o.activeColor}),this.downTracker.css({cursor:f===e?"default":"pointer"})),this.scrollOffset=-h[f-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=f,this.positionCheckboxes(),r=n.animObject(i(r,s.renderer.globalAnimation,!0)),v(function(){u(c,"afterScroll",{currentPage:f})},r.duration||0))}};n.LegendSymbolMixin={drawRectangle:function(n,t){var r=n.symbolHeight,u=n.options.squareSymbol;
1t.legendSymbol=this.chart.renderer.rect(u?(n.symbolWidth-r)/2:0,n.baseline-r+1,u?r:n.symbolWidth,r,i(n.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(t.legendGroup)},drawLineMarker:function(n){var t=this.options,u=t.marker,e=n.symbolWidth,o=n.symbolHeight,s=o/2,h=this.chart.renderer,c=this.legendGroup,f;n=n.baseline-Math.round(.3*n.fontMetrics.b);f={};this.chart.styledMode||(f={"stroke-width":t.lineWidth||0},t.dashStyle&&(f.dashstyle=t.dashStyle));this.legendLine=h.path(["M",0,n,"L",e,n]).addClass("highcharts-graph").attr(f).add(c);u&&!1!==u.enabled&&e&&(t=Math.min(i(u.radius,s),s),0===this.symbol.indexOf("url")&&(u=r(u,{width:o,height:o}),t=0),this.legendSymbol=u=h.symbol(this.symbol,e/2-t,n-t,2*t,2*t,u).addClass("highcharts-point").add(c),u.isMarker=!0)}};(/Trident\/7\.0/.test(s.navigator&&s.navigator.userAgent)||p)&&t(n.Legend.prototype,"positionItem",function(n,t){var i=this,r=function(){t._legendItemPos&&n.call(i,t)};r();i.bubbleLegend||setTimeout(r)})}),i(t,"parts/Chart.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var ft=t.animObject,w=t.attr,r=t.defined,et=t.discardElement,ot=t.erase,e=t.extend,st=t.isArray,ht=t.isNumber,b=t.isObject,c=t.isString,ct=t.numberFormat,l=t.objectEach,o=t.pick,a=t.pInt,lt=t.relativeLength,k=t.setAnimation,d=t.splat,g=t.syncTimeout,v=n.addEvent,at=n.animate,f=n.doc,vt=n.Axis,yt=n.createElement,pt=n.defaultOptions,u=n.charts,nt=n.css,y=n.find,i=n.fireEvent,wt=n.Legend,tt=n.marginNames,s=n.merge,it=n.Pointer,rt=n.removeEvent,p=n.seriesTypes,h=n.win,ut=n.Chart=function(){this.getArgs.apply(this,arguments)};n.chart=function(n,t,i){return new ut(n,t,i)};e(ut.prototype,{callbacks:[],getArgs:function(){var n=[].slice.call(arguments);(c(n[0])||n[0].nodeName)&&(this.renderTo=n.shift());this.init(n[0],n[1])},init:function(t,r){var f,o=t.series,e=t.plotOptions||{};i(this,"init",{args:arguments},function(){var c,a,h;t.series=null;f=s(pt,t);l(f.plotOptions,function(n,t){b(n)&&(n.tooltip=e[t]&&s(e[t].tooltip)||void 0)});f.tooltip.userOptions=t.chart&&t.chart.forExport&&t.tooltip.userOptions||t.tooltip;f.series=t.series=o;this.userOptions=t;c=f.chart;a=c.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=r;this.isResizing=0;this.options=f;this.axes=[];this.series=[];this.time=t.time&&Object.keys(t.time).length?new n.Time(t.time):n.time;this.numberFormatter=c.numberFormatter||ct;this.styledMode=c.styledMode;this.hasCartesianSeries=c.showAxes;h=this;h.index=u.length;u.push(h);n.chartCount++;a&&l(a,function(t,i){n.isFunction(t)&&v(h,i,t)});h.xAxis=[];h.yAxis=[];h.pointCount=h.colorCounter=h.symbolCounter=0;i(h,"afterInit");h.firstRender()})},initSeries:function(t){var i=this.options.chart,r;return i=t.type||i.type||i.defaultSeriesType,r=p[i],r||n.error(17,!0,this,{missingModuleFor:i}),i=new r,i.init(this,t),i},setSeriesData:function(){this.getSeriesOrderByLinks().forEach(function(n){n.points||n.data||!n.enabledDataSorting||n.setData(n.options.data,!1)})},getSeriesOrderByLinks:function(){return this.series.concat().sort(function(n,t){return n.linkedSeries.length||t.linkedSeries.length?t.linkedSeries.length-n.linkedSeries.length:0})},orderSeries:function(n){var t=this.series;for(n=n||0;n<t.length;n++)t[n]&&(t[n].index=n,t[n].name=t[n].getName())},isInsidePlot:function(n,t,i){var r=i?t:n;return n=i?n:t,0<=r&&r<=this.plotWidth&&0<=n&&n<=this.plotHeight},redraw:function(n){var r,c,w;i(this,"beforeRedraw");var f=this.axes,t=this.series,l=this.pointer,o=this.legend,s=this.userOptions.legend,h=this.isDirtyLegend,a=this.hasCartesianSeries,u=this.isDirtyBox,v=this.renderer,y=v.isHidden(),p=[];for(this.setResponsive&&this.setResponsive(!1),k(n,this),y&&this.temporaryDisplay(),this.layOutTitles(),n=t.length;n--;)if(r=t[n],r.options.stacking&&(c=!0,r.isDirty)){w=!0;break}if(w)for(n=t.length;n--;)r=t[n],r.options.stacking&&(r.isDirty=!0);t.forEach(function(n){n.isDirty&&("point"===n.options.legendType?(n.updateTotals&&n.updateTotals(),h=!0):s&&(s.labelFormatter||s.labelFormat)&&(h=!0));n.isDirtyData&&i(n,"updatedData")});h&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1);
1c&&this.getStacks();a&&f.forEach(function(n){n.updateNames();n.setScale()});this.getMargins();a&&(f.forEach(function(n){n.isDirty&&(u=!0)}),f.forEach(function(n){var t=n.min+","+n.max;n.extKey!==t&&(n.extKey=t,p.push(function(){i(n,"afterSetExtremes",e(n.eventArgs,n.getExtremes()));delete n.eventArgs}));(u||c)&&n.redraw()}));u&&this.drawChartBox();i(this,"predraw");t.forEach(function(n){(u||n.isDirty)&&n.visible&&n.redraw();n.isDirtyData=!1});l&&l.reset(!0);v.draw();i(this,"redraw");i(this,"render");y&&this.temporaryDisplay(!0);p.forEach(function(n){n.call()})},get:function(n){function i(t){return t.id===n||t.options&&t.options.id===n}for(var u=this.series,r=y(this.axes,i)||y(this.series,i),t=0;!r&&t<u.length;t++)r=y(u[t].points||[],i);return r},getAxes:function(){var r=this,n=this.options,t=n.xAxis=d(n.xAxis||{});n=n.yAxis=d(n.yAxis||{});i(this,"getAxes");t.forEach(function(n,t){n.index=t;n.isX=!0});n.forEach(function(n,t){n.index=t});t.concat(n).forEach(function(n){new vt(r,n)});i(this,"afterGetAxes")},getSelectedPoints:function(){var n=[];return this.series.forEach(function(t){n=n.concat((t[t.hasGroupedData?"points":"data"]||[]).filter(function(n){return o(n.selectedStaging,n.selected)}))}),n},getSelectedSeries:function(){return this.series.filter(function(n){return n.selected})},setTitle:function(n,t,i){this.applyDescription("title",n);this.applyDescription("subtitle",t);this.applyDescription("caption",void 0);this.layOutTitles(i)},applyDescription:function(n,t){var u=this,r="title"===n?{color:"#333333",fontSize:this.options.isStock?"16px":"18px"}:{color:"#666666"},i;r=this.options[n]=s(!this.styledMode&&{style:r},this.options[n],t);i=this[n];i&&t&&(this[n]=i=i.destroy());r&&!i&&(i=this.renderer.text(r.text,0,0,r.useHTML).attr({align:r.align,"class":"highcharts-"+n,zIndex:r.zIndex||4}).add(),i.update=function(t){u[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[n]](t)},this.styledMode||i.css(r.style),this[n]=i)},layOutTitles:function(n){var t=[0,0,0],u=this.renderer,f=this.spacingBox,r;["title","subtitle","caption"].forEach(function(n){var r=this[n],i=this.options[n],s=i.verticalAlign||"top",o,h;n="title"===n?-3:"top"===s?t[0]+2:0;r&&(this.styledMode||(o=i.style.fontSize),o=u.fontMetrics(o,r).b,r.css({width:(i.width||f.width+(i.widthAdjust||0))+"px"}),h=Math.round(r.getBBox(i.useHTML).height),r.align(e({y:"bottom"===s?o:n+o,height:h},i),!1,"spacingBox"),i.floating||("top"===s?t[0]=Math.ceil(t[0]+h):"bottom"===s&&(t[2]=Math.ceil(t[2]+h))))},this);t[0]&&"top"===(this.options.title.verticalAlign||"top")&&(t[0]+=this.options.title.margin);t[2]&&"bottom"===this.options.caption.verticalAlign&&(t[2]+=this.options.caption.margin);r=!this.titleOffset||this.titleOffset.join(",")!==t.join(",");this.titleOffset=t;i(this,"afterLayOutTitles");!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&o(n,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var t=this.options.chart,u=t.width,i;t=t.height;i=this.renderTo;r(u)||(this.containerWidth=n.getStyle(i,"width"));r(t)||(this.containerHeight=n.getStyle(i,"height"));this.chartWidth=Math.max(0,u||this.containerWidth||600);this.chartHeight=Math.max(0,lt(t,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},temporaryDisplay:function(t){var i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(n.css(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(f.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style;)if(f.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,f.body.appendChild(i)),("none"===n.getStyle(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},t={display:"block",overflow:"hidden"},i!==this.renderTo&&(t.height=0),n.css(i,t),i.offsetWidth||i.style.setProperty("display","block","important")),i=i.parentNode,i===f.body)break},setClassName:function(n){this.container.className="highcharts-container "+(n||"")},getContainer:function(){var s=this.options,o=s.chart,t=this.renderTo,y=n.uniqueKey(),l,v,r,h;if(t||(this.renderTo=t=o.renderTo),c(t)&&(this.renderTo=t=f.getElementById(t)),t||n.error(13,!0,this),r=a(w(t,"data-highcharts-chart")),ht(r)&&u[r]&&u[r].hasRendered&&u[r].destroy(),w(t,"data-highcharts-chart",this.index),t.innerHTML="",o.skipClone||t.offsetWidth||this.temporaryDisplay(),this.getChartSize(),r=this.chartWidth,h=this.chartHe
1ight,nt(t,{overflow:"hidden"}),this.styledMode||(l=e({position:"relative",overflow:"hidden",width:r+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},o.style)),this.container=t=yt("div",{id:y},l,t),this._cursor=t.style.cursor,this.renderer=new(n[o.renderer]||n.Renderer)(t,r,h,null,o.forExport,s.exporting&&s.exporting.allowHTML,this.styledMode),this.setClassName(o.className),this.styledMode)for(v in s.defs)this.renderer.definition(s.defs[v]);else this.renderer.setStyle(o.style);this.renderer.chartIndex=this.index;i(this,"afterGetContainer")},getMargins:function(n){var u=this.spacing,f=this.margin,t=this.titleOffset;this.resetMargins();t[0]&&!r(f[0])&&(this.plotTop=Math.max(this.plotTop,t[0]+u[0]));t[2]&&!r(f[2])&&(this.marginBottom=Math.max(this.marginBottom,t[2]+u[2]));this.legend&&this.legend.display&&this.legend.adjustMargins(f,u);i(this,"getMargins");n||this.getAxisMargins()},getAxisMargins:function(){var n=this,u=n.axisOffset=[0,0,0,0],t=n.colorAxis,f=n.margin,i=function(n){n.forEach(function(n){n.visible&&n.getOffset()})};n.hasCartesianSeries?i(n.axes):t&&t.length&&i(t);tt.forEach(function(t,i){r(f[i])||(n[t]+=u[i])});n.setChartSize()},reflow:function(t){var i=this,u=i.options.chart,e=i.renderTo,s=r(u.width)&&r(u.height),o=u.width||n.getStyle(e,"width");u=u.height||n.getStyle(e,"height");e=t?t.target:h;!s&&!i.isPrinting&&o&&u&&(e===h||e===f)&&((o!==i.containerWidth||u!==i.containerHeight)&&(n.clearTimeout(i.reflowTimeout),i.reflowTimeout=g(function(){i.container&&i.setSize(void 0,void 0,!1)},t?100:0)),i.containerWidth=o,i.containerHeight=u)},setReflow:function(n){var t=this;!1===n||this.unbindReflow?!1===n&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=v(h,"resize",function(n){t.options&&t.reflow(n)}),v(this,"destroy",this.unbindReflow))},setSize:function(n,t,r){var u=this,e=u.renderer,f;u.isResizing+=1;k(r,u);u.oldChartHeight=u.chartHeight;u.oldChartWidth=u.chartWidth;"undefined"!=typeof n&&(u.options.chart.width=n);"undefined"!=typeof t&&(u.options.chart.height=t);u.getChartSize();u.styledMode||(f=e.globalAnimation,(f?at:nt)(u.container,{width:u.chartWidth+"px",height:u.chartHeight+"px"},f));u.setChartSize(!0);e.setSize(u.chartWidth,u.chartHeight,r);u.axes.forEach(function(n){n.isDirty=!0;n.setScale()});u.isDirtyLegend=!0;u.isDirtyBox=!0;u.layOutTitles();u.getMargins();u.redraw(r);u.oldChartHeight=null;i(u,"resize");g(function(){u&&i(u,"endResize",null,function(){--u.isResizing})},ft(f).duration||0)},setChartSize:function(n){var u=this.inverted,f=this.renderer,t=this.chartWidth,l=this.chartHeight,a=this.options.chart,r=this.spacing,e=this.clipOffset,h,c,o,s;this.plotLeft=h=Math.round(this.plotLeft);this.plotTop=c=Math.round(this.plotTop);this.plotWidth=o=Math.max(0,Math.round(t-h-this.marginRight));this.plotHeight=s=Math.max(0,Math.round(l-c-this.marginBottom));this.plotSizeX=u?s:o;this.plotSizeY=u?o:s;this.plotBorderWidth=a.plotBorderWidth||0;this.spacingBox=f.spacingBox={x:r[3],y:r[0],width:t-r[3]-r[1],height:l-r[0]-r[2]};this.plotBox=f.plotBox={x:h,y:c,width:o,height:s};t=2*Math.floor(this.plotBorderWidth/2);u=Math.ceil(Math.max(t,e[3])/2);f=Math.ceil(Math.max(t,e[0])/2);this.clipBox={x:u,y:f,width:Math.floor(this.plotSizeX-Math.max(t,e[1])/2-u),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(t,e[2])/2-f))};n||this.axes.forEach(function(n){n.setAxisSize();n.setAxisTranslation()});i(this,"afterSetChartSize",{skipAxes:n})},resetMargins:function(){i(this,"resetMargins");var n=this,t=n.options.chart;["margin","spacing"].forEach(function(i){var r=t[i],u=b(r)?r:[r,r,r,r];["Top","Right","Bottom","Left"].forEach(function(r,f){n[i][f]=o(t[i+r],u[f])})});tt.forEach(function(t,i){n[t]=o(n.margin[i],n.spacing[i])});n.axisOffset=[0,0,0,0];n.clipOffset=[0,0,0,0]},drawChartBox:function(){var n=this.options.chart,o=this.renderer,g=this.chartWidth,nt=this.chartHeight,u=this.chartBackground,h=this.plotBackgroun
1d,f=this.plotBorder,a=this.styledMode,c=this.plotBGImage,s=n.backgroundColor,tt=n.plotBackgroundColor,l=n.plotBackgroundImage,e,y=this.plotLeft,p=this.plotTop,w=this.plotWidth,b=this.plotHeight,k=this.plotBox,d=this.clipRect,v=this.clipBox,t="animate",r;u||(this.chartBackground=u=o.rect().addClass("highcharts-background").add(),t="attr");a?r=e=u.strokeWidth():(r=n.borderWidth||0,e=r+(n.shadow?8:0),s={fill:s||"none"},(r||u["stroke-width"])&&(s.stroke=n.borderColor,s["stroke-width"]=r),u.attr(s).shadow(n.shadow));u[t]({x:e/2,y:e/2,width:g-e-r%2,height:nt-e-r%2,r:n.borderRadius});t="animate";h||(t="attr",this.plotBackground=h=o.rect().addClass("highcharts-plot-background").add());h[t](k);a||(h.attr({fill:tt||"none"}).shadow(n.plotShadow),l&&(c?(l!==c.attr("href")&&c.attr("href",l),c.animate(k)):this.plotBGImage=o.image(l,y,p,w,b).add()));d?d.animate({width:v.width,height:v.height}):this.clipRect=o.clipRect(v);t="animate";f||(t="attr",this.plotBorder=f=o.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());a||f.attr({stroke:n.plotBorderColor,"stroke-width":n.plotBorderWidth||0,fill:"none"});f[t](f.crisp({x:y,y:p,width:w,height:b},-f.strokeWidth()));this.isDirtyBox=!1;i(this,"afterDrawChartBox")},propFromSeries:function(){var i=this,r=i.options.chart,n,u=i.options.series,f,t;["inverted","angular","polar"].forEach(function(e){for(n=p[r.type||r.defaultSeriesType],t=r[e]||n&&n.prototype[e],f=u&&u.length;!t&&f--;)(n=p[u[f].type])&&n.prototype[e]&&(t=!0);i[e]=t})},linkSeries:function(){var n=this,t=n.series;t.forEach(function(n){n.linkedSeries.length=0});t.forEach(function(t){var i=t.options.linkedTo;c(i)&&(i=":previous"===i?n.series[t.index-1]:n.get(i))&&i.linkedParent!==t&&(i.linkedSeries.push(t),t.linkedParent=i,i.enabledDataSorting&&t.setDataSortingOptions(),t.visible=o(t.options.visible,i.options.visible,t.visible))});i(this,"afterLinkSeries")},renderSeries:function(){this.series.forEach(function(n){n.translate();n.render()})},renderLabels:function(){var n=this,t=n.options.labels;t.items&&t.items.forEach(function(i){var r=e(t.style,i.style),u=a(r.left)+n.plotLeft,f=a(r.top)+n.plotTop+12;delete r.left;delete r.top;n.renderer.text(i.html,u,f).attr({zIndex:2}).css(r).add()})},render:function(){var n=this.axes,t=this.colorAxis,s=this.renderer,i=this.options,f=0,e=function(n){n.forEach(function(n){n.visible&&n.render()})},o,r,u;this.setTitle();this.legend=new wt(this,i.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();i=this.plotWidth;n.some(function(n){if(n.horiz&&n.visible&&n.options.labels.enabled&&n.series.length)return f=21,!0});o=this.plotHeight=Math.max(this.plotHeight-f,0);n.forEach(function(n){n.setScale()});this.getAxisMargins();r=1.1<i/this.plotWidth;u=1.05<o/this.plotHeight;(r||u)&&(n.forEach(function(n){(n.horiz&&r||!n.horiz&&u)&&n.setTickInterval(!0)}),this.getMargins());this.drawChartBox();this.hasCartesianSeries?e(n):t&&t.length&&e(t);this.seriesGroup||(this.seriesGroup=s.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.updateContainerScaling();this.hasRendered=!0},addCredits:function(n){var t=this;n=s(!0,this.options.credits,n);n.enabled&&!this.credits&&(this.credits=this.renderer.text(n.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){n.href&&(h.location.href=n.href)}).attr({align:n.position.align,zIndex:8}),t.styledMode||this.credits.css(n.style),this.credits.add().align(n.position),this.credits.update=function(n){t.credits=t.credits.destroy();t.addCredits(n)})},updateContainerScaling:function(){var n=this.container,t,i;n.offsetWidth&&n.offsetHeight&&n.getBoundingClientRect&&(t=n.getBoundingClientRect(),i=t.width/n.offsetWidth,n=t.height/n.offsetHeight,1!==i||1!==n?this.containerScaling={scaleX:i,scaleY:n}:delete this.containerScaling)},destroy:function(){var t=this,e=t.axes,o=t.series,f=t.container,r,s=f&&f.parentNode;for(i(t,"destroy"),t.renderer.forExport?ot(u,t):u[t.index]=void 0,n.chartCount--,t.renderTo.removeAttribute("data-highcharts-chart"),rt(t),r=e.length;r--;)e[r]=e[r].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),r=o.length;r--;)o[r]=o[r].destroy();
1"title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" ").forEach(function(n){var i=t[n];i&&i.destroy&&(t[n]=i.destroy())});f&&(f.innerHTML="",rt(f),s&&et(f));l(t,function(n,i){delete t[i]})},firstRender:function(){var n=this,t=n.options;(!n.isReadyToRender||n.isReadyToRender())&&(n.getContainer(),n.resetMargins(),n.setChartSize(),n.propFromSeries(),n.getAxes(),(st(t.series)?t.series:[]).forEach(function(t){n.initSeries(t)}),n.linkSeries(),n.setSeriesData(),i(n,"beforeRender"),it&&(n.pointer=new it(n,t)),n.render(),!n.renderer.imgCount&&n.onload&&n.onload(),n.temporaryDisplay(!0))},onload:function(){this.callbacks.concat([this.callback]).forEach(function(n){n&&"undefined"!=typeof this.index&&n.apply(this,[this])},this);i(this,"load");i(this,"render");r(this.index)&&this.setReflow(this.options.chart.reflow);this.onload=null}})}),i(t,"parts/ScrollablePlotArea.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.pick,i=n.addEvent;t=n.Chart;i(t,"afterSetChartSize",function(t){var r=this.options.chart.scrollablePlotArea,i=r&&r.minWidth,u;r=r&&r.minHeight;this.renderer.forExport||(i?(this.scrollablePixelsX=i=Math.max(0,i-this.chartWidth))&&(this.plotWidth+=i,this.inverted?(this.clipBox.height+=i,this.plotBox.height+=i):(this.clipBox.width+=i,this.plotBox.width+=i),u={1:{name:"right",value:i}}):r&&(this.scrollablePixelsY=i=Math.max(0,r-this.chartHeight))&&(this.plotHeight+=i,this.inverted?(this.clipBox.width+=i,this.plotBox.width+=i):(this.clipBox.height+=i,this.plotBox.height+=i),u={2:{name:"bottom",value:i}}),u&&!t.skipAxes&&this.axes.forEach(function(t){u[t.side]?t.getPlotLinePath=function(){var i=u[t.side].name,r=this[i],f;return this[i]=r-u[t.side].value,f=n.Axis.prototype.getPlotLinePath.apply(this,arguments),this[i]=r,f}:(t.setAxisSize(),t.setAxisTranslation())}))});i(t,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});t.prototype.setUpScrolling=function(){var t={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(t.overflowX="auto");this.scrollablePixelsY&&(t.overflowY="auto");this.scrollingContainer=n.createElement("div",{className:"highcharts-scrolling"},t,this.renderTo);this.innerContainer=n.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};t.prototype.moveFixedElements=function(){var r=this.container,t=this.fixedRenderer,i=".highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "),n;this.scrollablePixelsX&&!this.inverted?n=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(n=".highcharts-yaxis");i.push(n,n+"-labels");i.forEach(function(n){[].forEach.call(r.querySelectorAll(n),function(n){(n.namespaceURI===t.SVG_NS?t.box:t.box.parentNode).appendChild(n);n.style.pointerEvents="auto"})})};t.prototype.applyFixed=function(){var u,e=!this.fixedDiv,f=this.options.chart.scrollablePlotArea,t,o,s;e?(this.fixedDiv=n.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.renderTo.style.overflow="visible",this.fixedRenderer=u=new n.Renderer(this.fixedDiv,this.chartWidth,this.chartHeight),this.scrollableMask=u.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":r(f.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),this.moveFixedElements(),i(this,"afterShowResetZoom",this.moveFixedElements),i(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHe
1ight);u=this.chartWidth+(this.scrollablePixelsX||0);t=this.chartHeight+(this.scrollablePixelsY||0);n.stop(this.container);this.container.style.width=u+"px";this.container.style.height=t+"px";this.renderer.boxWrapper.attr({width:u,height:t,viewBox:[0,0,u,t].join(" ")});this.chartBackground.attr({width:u,height:t});this.scrollablePixelsY&&(this.scrollingContainer.style.height=this.chartHeight+"px");e&&(f.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*f.scrollPositionX),f.scrollPositionY&&(this.scrollingContainer.scrollTop=this.scrollablePixelsY*f.scrollPositionY));t=this.axisOffset;e=this.plotTop-t[0]-1;f=this.plotLeft-t[3]-1;u=this.plotTop+this.plotHeight+t[2]+1;t=this.plotLeft+this.plotWidth+t[1]+1;o=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0);s=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);e=this.scrollablePixelsX?["M",0,e,"L",this.plotLeft-1,e,"L",this.plotLeft-1,u,"L",0,u,"Z","M",o,e,"L",this.chartWidth,e,"L",this.chartWidth,u,"L",o,u,"Z"]:this.scrollablePixelsY?["M",f,0,"L",f,this.plotTop-1,"L",t,this.plotTop-1,"L",t,0,"Z","M",f,s,"L",f,this.chartHeight,"L",t,this.chartHeight,"L",t,s,"Z"]:["M",0,0];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:e})}}),i(t,"parts/Point.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var o=t.animObject,s=t.defined,h=t.erase,i=t.extend,c=t.isArray,u=t.isNumber,l=t.isObject,a=t.syncTimeout,r=t.pick,f,e=n.fireEvent,v=n.format,y=n.uniqueKey,p=n.removeEvent;n.Point=f=function(){};n.Point.prototype={init:function(n,t,i){return this.series=n,this.applyOptions(t,i),this.id=s(this.id)?this.id:y(),this.resolveColor(),n.chart.pointCount++,e(this,"afterInit"),this},resolveColor:function(){var n=this.series,t=n.chart.options.chart.colorCount,i=n.chart.styledMode;i||this.options.color||(this.color=n.color);n.options.colorByPoint?(i||(t=n.options.colors||n.chart.options.colors,this.color=this.color||t[n.colorCounter],t=t.length),i=n.colorCounter,n.colorCounter++,n.colorCounter===t&&(n.colorCounter=0)):i=n.colorIndex;this.colorIndex=r(this.colorIndex,i)},applyOptions:function(n,t){var e=this.series,o=e.options.pointValKey||e.pointValKey;return n=f.prototype.optionsToObject.call(this,n),i(this,n),this.options=this.options?i(this.options,n):n,n.group&&delete this.group,n.dataLabels&&delete this.dataLabels,o&&(this.y=this[o]),this.formatPrefix=(this.isNull=r(this.isValid&&!this.isValid(),null===this.x||!u(this.y)))?"null":"point",this.selected&&(this.state="select"),"name"in this&&"undefined"==typeof t&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this)),"undefined"==typeof this.x&&e&&(this.x="undefined"==typeof t?e.autoIncrement(this):t),this},setNestedProperty:function(n,t,i){return i.split(".").reduce(function(n,i,r,u){return n[i]=u.length-1===r?t:l(n[i],!0)?n[i]:{},n[i]},n),n},optionsToObject:function(t){var i={},r=this.series,s=r.options.keys,f=s||r.pointArrayMap||["y"],h=f.length,e=0,o=0;if(u(t)||null===t)i[f[0]]=t;else if(c(t))for(!s&&t.length>h&&(r=typeof t[0],"string"===r?i.name=t[0]:"number"===r&&(i.x=t[0]),e++);o<h;)s&&"undefined"==typeof t[e]||(0<f[o].indexOf(".")?n.Point.prototype.setNestedProperty(i,t[e],f[o]):i[f[o]]=t[e]),e++,o++;else"object"==typeof t&&(i=t,t.dataLabels&&(r._hasPointLabels=!0),t.marker&&(r._hasPointMarkers=!0));return i},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!=typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var t=this.series,r=t.zones,i,n;for(t=t.zoneAxis||"y",i=0,n=r[i];this[t]>=n.value;)n=r[++i];return this.nonZonedColor||(this.nonZonedColor=this.color),this.color=n&&n.color&&!this.options.color?n.color:this.nonZonedColor,n},hasNewShapeType:function(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType},destroy:function(){function u(){r&&(n.setState(),h(r,n),r.length||(i.hoverPoints=null));n===i.hoverPoint&&n.onMouseOut();(n.graphic||n.dataLabel||n.dataLabels)&&(p(n),n.destroyElements());for(e in n)n[e]=null}var n=this,t=n.series,i=t.chart,r,f,e;t=t.options.dataSorting;r=i.hoverPoints;f=o(n.series.chart.renderer.globalAnimation);t&&t.enabled?(this.animateBeforeDestroy(),a(u,f.duration)):u();i.pointCount--;n.legendItem&&i.legend.destroyItem(n)},animateBeforeDestroy:function(){var n=this,u={x:n.startXPos,opacity:0}
1,t,r=n.getGraphicalProps();r.singular.forEach(function(i){t="dataLabel"===i;n[i]=n[i].animate(t?{x:n[i].startXPos,y:n[i].startYPos,opacity:0}:u)});r.plural.forEach(function(t){n[t].forEach(function(t){t.element&&t.animate(i({x:n.startXPos},t.startYPos?{x:t.startXPos,y:t.startYPos}:{}))})})},destroyElements:function(n){var t=this;n=t.getGraphicalProps(n);n.singular.forEach(function(n){t[n]=t[n].destroy()});n.plural.forEach(function(n){t[n].forEach(function(n){n.element&&n.destroy()});delete t[n]})},getGraphicalProps:function(n){var f=this,t=[],i,r={singular:[],plural:[]},u;for(n=n||{graphic:1,dataLabel:1},n.graphic&&t.push("graphic","shadowGroup"),n.dataLabel&&t.push("dataLabel","dataLabelUpper","connector"),i=t.length;i--;)u=t[i],f[u]&&r.singular.push(u);return["dataLabel","connector"].forEach(function(t){var i=t+"s";n[t]&&f[i]&&r.plural.push(i)}),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 t=this.series,i=t.tooltipOptions,e=r(i.valueDecimals,""),u=i.valuePrefix||"",f=i.valueSuffix||"";return t.chart.styledMode&&(n=t.chart.tooltip.styledModeFormat(n)),(t.pointArrayMap||["y"]).forEac
1h(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}")}),v(n,{point:this,series:this.series},t.chart)},firePointEvent:function(n,t,i){var r=this,u=this.series.options;(u.point.events[n]||r.options&&r.options.events&&r.options.events[n])&&this.importEvents();"click"===n&&u.allowPointSelect&&(i=function(n){r.select&&r.select(null,n.ctrlKey||n.metaKey||n.shiftKey)});e(this,n,t,i)},visible:!0}}),i(t,"parts/Series.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var v=t.animObject,s=t.arrayMax,y=t.arrayMin,e=t.clamp,p=t.correctFloat,r=t.defined,w=t.erase,h=t.extend,c=t.isArray,f=t.isNumber,g=t.isString,l=t.objectEach,i=t.pick,nt=t.splat,b=t.syncTimeout,k=n.addEvent,o=n.defaultOptions,tt=n.defaultPlotOptions,u=n.fireEvent,a=n.merge,d=n.removeEvent,it=n.SVGElement,rt=n.win;n.Series=n.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1e3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,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(){var n=this.series.chart.numberFormatter;return null===this.y?"":n(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"},{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,eventsToUnbind:[],isCartesian:!0,parallelArrays:["x","y"],pointClass:n.Point,requireSorting:!0,sorted:!0,init:function(t,r){var f,e,s,o;u(this,"init",{options:r});f=this;e=t.series;this.eventOptions=this.eventOptions||{};f.chart=t;f.options=r=f.setOptions(r);f.linkedSeries=[];f.bindAxes();h(f,{name:r.name,state:"",visible:!1!==r.visible,selected:!0===r.selected});o=r.events;l(o,function(t,i){n.isFunction(t)&&f.eventOptions[i]!==t&&(n.isFunction(f.eventOptions[i])&&d(f,i,f.eventOptions[i]),f.eventOptions[i]=t,k(f,i,t))});(o&&o.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0);f.getColor();f.getSymbol();f.parallelArrays.forEach(function(n){f[n+"Data"]||(f[n+"Data"]=[])});f.isCartesian&&(t.hasCartesianSeries=!0);e.length&&(s=e[e.length-1]);f._i=i(s&&s._i,-1)+1;t.orderSeries(this.insert(e));r.dataSorting&&r.dataSorting.enabled?f.setDataSortingOptions():f.points||f.data||f.setData(r.data,!1);u(this,"afterInit")},insert:function(n){var r=this.options.index,t;if(f(r)){for(t=n.length;t--;)if(r>=i(n[t].options.index,n[t]._i)){n.splice(t+1,0,this);break}-1===t&&n.unshift(this);t+=1}else n.push(this);return i(t,n.length-1)},bindAxes:function(){var t=this,i=t.options,f=t.chart,r;u(this,"bindAxes",null,function(){(t.axisTypes||[]).forEach(function(u){f[u].forEach(function(n){r=n.options;(i[u]===r.index||"undefined"!=typeof i[u]&&i[u]===r.id||"undefined"==typeof i[u]&&0===r.index)&&(t.insert(n.series),t[u]=n,n.isDirty=!0)});t[u]||t.optionalAxis===u||n.error(18,!0,f)})})},updateParallelArrays:function(n,t){var i=n.series,r=arguments,u=f(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(u)},hasData:function(){return this.visible&&"undefined"!=typeof this.dataMax&&"undefined"!=typeof this.dataMin||this.visible&&this.yData&&0<this.yData.length},autoIncrement:function(){var n=this.options,r=this.xIncrement,u,f=n.pointIntervalUnit,t=this.chart.time;return r=i(r,n.pointStart,0),this.pointInterval=u=i(this.pointInterval,n.pointInterval,1),f&&(n=new t.Date(r),"day"===f?t.set("Date",n,t.get("Date",n)+u):"month"===f?t.set("Month",n,t.get("Month",n)+u):"year"===f&&t.set("FullYear",n,t.get("FullYear",n)+u),u=n.getTime()-r),this.xIncrement=r+u,r},setDataSortingOptions:function(){var n=this.options;h(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1});r(n.pointRange)||(n.pointRange=1)},setOptions:function(n){var s=this.chart,e=s.options,f=e.plotOptions,t=s.userOptions||{},c,l,h;return n=a(n),s=s.styledMode,c={plotOptions:f,userOptions:n},u(this,"setOptions",c),l=c.plotOptions[this.type],h=t.plotOptions||{},this.userOptions=c.userOptions,t=a(l,f.series,t.plotOptions&&t.plotOptions[this.type],n),this.tooltipOptions=a(o.tooltip,o.plotOptions.series&&o.plotOptions.series.tooltip,o.plotOptions[this.type].tooltip,e.tooltip.userOptions,f.series&&f.series.tooltip,f[this.type].tooltip,n.tooltip),this.stickyTracking=i(n.stickyTracking,h[this.type]&&h[this.type].stickyTracking,h.series&&h.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?!0:t.stickyTracking),null===l.marker&&delete t.marker,this.zoneAxis=t.zoneAxis,e=this.zones=(t.zones||[]).slice(),(t.negativeColor||t.negativeFillColor)&&!t.zones&&(f={value:t[this.zoneAxis+"Threshold"]||t.threshold||0,className:"highcharts-negative"},s||(f.color=t.negativeColor,f.fillColor=t.negativeFillColor),e.push(f)),e.length&&r(e[e.length-1].value)&&e.push(s?{}:{color:this.color,fillColor:this.fillColor}),u(this,"afterSetOptions",{options:t}),t},getName:function(){return i(this.options.name,"Series "+(this.index+1))},getCyclic:function(n,t,u){var f=this.chart,s=this.userOptions,o=n+"Index",h=n+"Counter",c=u?u.length:i(f.options.chart[n+"Count"],f[n+"Count"]),e;t||(e=i(s[o],s["_"+o]),r(e)||(f.series.length||(f[h]=0),s["_"+o]=e=f[h]%c,f[h]+=1),u&&(t=u[e]));"undefined"!=typeof e&&(this[o]=e);this[n]=t},getColor:function(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||tt[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,this.chart.options.symbols)},findPointIndex:function(t,i){var s=t.id,h=t.x,e=this.points,c,l=this.options.dataSorting,u,o,r;if(s)u=this.chart.get(s);else if((this.linkedParent||this.enabledDataSorting)&&(o=l&&l.matchByName?"name":"index",u=n.find(e,function(n){return!n.touched&&n[o]===t[o]}),!u))return;return u&&(r=u&&u.index,"undefined"!=typeof r&&(c=!0)),"undefined"==typeof r&&f(h)&&(r=this.xData.indexOf(h,i)),-1!==r&&"undefined"!=typeof r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),!c&&e[r]&&e[r].touched&&(r=void 0),r},drawLegendSymbol:n.LegendSymbolMixin.drawLineMarker,updateData:function(n,t){var h=this.options,u=h.dataSorting,i=this.points,e=[],c,o,l,y=this.requireSorting,a=n.length===i.length,v=!0;
1if(this.xIncrement=null,n.forEach(function(n,t){var s=r(n)&&this.pointClass.prototype.optionsToObject.call({series:this},n)||{},o=s.x;s.id||f(o)?(o=this.findPointIndex(s,l),-1===o||"undefined"==typeof o?e.push(n):i[o]&&n!==h.data[o]?(i[o].update(n,!1,null,!1),i[o].touched=!0,y&&(l=o+1)):i[o]&&(i[o].touched=!0),!a||t!==o||u&&u.enabled||this.hasDerivedData)&&(c=!0):e.push(n)},this),c)for(n=i.length;n--;)(o=i[n])&&!o.touched&&o.remove&&o.remove(!1,t);else!a||u&&u.enabled?v=!1:(n.forEach(function(n,t){i[t].update&&n!==i[t].y&&i[t].update(n,!1,null,!1)}),e.length=0);return(i.forEach(function(n){n&&(n.touched=!1)}),!v)?!1:(e.forEach(function(n){this.addPoint(n,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=s(this.xData),this.autoIncrement()),!0)},setData:function(t,r,u,e){var o=this,h=o.points,nt=h&&h.length||0,s,p=o.options,w=o.chart,tt=p.dataSorting,l=null,b=o.xAxis;l=p.turboThreshold;var k=this.xData,a=this.yData,it=(s=o.pointArrayMap)&&s.length,d=p.keys,v=0,y=1,rt;if(t=t||[],s=t.length,r=i(r,!0),tt&&tt.enabled&&(t=this.sortData(t)),!1!==e&&s&&nt&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.isSeriesBoosting&&(rt=this.updateData(t,u)),!rt){if(o.xIncrement=null,o.colorCounter=0,this.parallelArrays.forEach(function(n){o[n+"Data"].length=0}),l&&s>l)if(l=o.getFirstValidPoint(t),f(l))for(u=0;u<s;u++)k[u]=this.autoIncrement(),a[u]=t[u];else if(c(l))if(it)for(u=0;u<s;u++)e=t[u],k[u]=e[0],a[u]=e.slice(1,it+1);else for(d&&(v=d.indexOf("x"),y=d.indexOf("y"),v=0<=v?v:0,y=0<=y?y:1),u=0;u<s;u++)e=t[u],k[u]=e[v],a[u]=e[y];else n.error(12,!1,w);else for(u=0;u<s;u++)"undefined"!=typeof t[u]&&(e={series:o},o.pointClass.prototype.applyOptions.apply(e,[t[u]]),o.updateParallelArrays(e,u));for(a&&g(a[0])&&n.error(14,!0,w),o.data=[],o.options.data=o.userOptions.data=t,u=nt;u--;)h[u]&&h[u].destroy&&h[u].destroy();b&&(b.minRange=b.userMinRange);o.isDirty=w.isDirtyBox=!0;o.isDirtyData=!!h;u=!1}"point"===p.legendType&&(this.processData(),this.generatePoints());r&&w.redraw(u)},sortData:function(n){var t=this,i=t.options.dataSorting.sortKey||"y",u=function(n,t){return r(t)&&n.pointClass.prototype.optionsToObject.call({series:n},t)||{}};return n.forEach(function(i,r){n[r]=u(t,i);n[r].index=r},this),n.concat().sort(function(n,t){return f(t[i])?t[i]-n[i]:-1}).forEach(function(n,t){n.x=t},this),t.linkedSeries&&t.linkedSeries.forEach(function(t){var r=t.options,i=r.data;r.dataSorting&&r.dataSorting.enabled||!i||(i.forEach(function(r,f){i[f]=u(t,r);n[f]&&(i[f].x=n[f].x,i[f].index=f)}),t.setData(i,!1))}),n},processData:function(t){var i=this.xData,l=this.yData,r=i.length,e=0,f=this.xAxis,o=this.options,u=o.cropThreshold,w=this.getExtremesFromAll||o.getExtremesFromAll,v=this.isCartesian,y,a,s,h,p,c;if(o=f&&f.val2lin,y=f&&f.isLog,a=this.requireSorting,v&&!this.isDirty&&!f.isDirty&&!this.yAxis.isDirty&&!t)return!1;for(f&&(t=f.getExtremes(),s=t.min,h=t.max),v&&this.sorted&&!w&&(!u||r>u||this.forceCrop)&&(i[r-1]<s||i[0]>h?(i=[],l=[]):this.yData&&(i[0]<s||i[r-1]>h)&&(e=this.cropData(this.xData,this.yData,s,h),i=e.xData,l=e.yData,e=e.start,p=!0)),u=i.length||1;--u;)(r=y?o(i[u])-o(i[u-1]):i[u]-i[u-1],0<r&&("undefined"==typeof c||r<c))?c=r:0>r&&a&&(n.error(15,!1,this.chart),a=!1);this.cropped=p;this.cropStart=e;this.processedXData=i;this.processedYData=l;this.closestPointRange=this.basePointRange=c},cropData:function(n,t,r,u,f){var h=n.length,o=0,s=h,e;for(f=i(f,this.cropShoulder),e=0;e<h;e++)if(n[e]>=r){o=Math.max(0,e-f);break}for(r=e;r<h;r++)if(n[r]>u){s=r+f;break}return{xData:n.slice(o,s),yData:t.slice(o,s),start:o,end:s}},generatePoints:function(){var f=this.options,o=f.data,t=this.data,a,s=this.processedXData,p=this.processedYData,v=this.pointClass,c=s.length,y=this.cropStart||0,e=this.hasGroupedData,l,n,r,i;for(f=f.keys,l=[],t||e||(t=[],t.length=o.length,t=this.data=t),f&&e&&(this.options.keys=!1),n=0;n<c;n++)r=y+n,e?(i=(new v).init(this,[s[n]].concat(nt(p[n]))),i.dataGroup=this.groupMap[n],i.dataGroup.options&&(i.options=i.dataGroup.options,h(i,i.dataGroup.options),delete i.dataLabels)):(i=t[r])||"undefined"==typeof o[r]||(t[r]=i=(new v).init(this,o[r],s[n])),i&&(i.index=r,l[n]=i);if(this.options.keys=f,t&&(c!==(a=t.length)||e))for(n=0;n<a;n++)n!==y||e||(n+=c),t[n]&&(t[n].destroyElements(),t[n].plotX=void 0);this.data=t;this.points=l;u(this,"afterGeneratePoints")},getXExtremes:function(n){return{min:y(n),max:s(n)}},getExtremes:function(n){var a=this.xAxis,o=this.yAxis,v=this.processedXData||this.xData,h=[],p=0,w=0,r=0,b=this.requireSorting?this.cropShoulder:0,k=o?o.positiveValuesOnly:!1,i;for(n=n||this.stackedYData||this.processedYData||[],o=n.length,a&&(r=a.getExtremes(),w=r.min,r=r.max),i=0;i<o;i++){var l=v[i],t=n[i],e=(f(t)||c(t))&&(t.length||0<t||!k);if(l=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!a||(v[i+b]||l)>=w&&(v[i-b]||l)<=r,e&&l)if(e=t.length)for(;e--;)f(t[e])&&(h[p++]=t[e]);else h[p++]=t}this.dataMin=y(h);this.dataMax=s(h);u(this,"afterGetExtremes")},getFirstValidPoint:function(n){for(var t=null,r=n.length,i=0;null===t&&i<r;)t=n[i],i++;return t},translate:function(){var d,a,g,rt;this.processedXData||this.processData();this.generatePoints();for(var y=this.options,ut=y.stacking,w=this.xAxis,nt=w.categories,st=this.enabledDataSorting,o=this.yAxis,ft=this.points,ht=ft.length,ct=!!this.modifyValue,tt=this.pointPlacementToXValue(),lt=f(tt),v=y.threshold,et=y.startFromThreshold?v:0,h,ot=this.zoneAxis||"y",it=Number.MAX_VALUE,b=0;b<ht;b++){var n=ft[b],l=n.x,t=n.y,s=n.low,k=ut&&o.stacks[(this.negStacks&&t<(et?0:v)?"-":"")+this.stackKey];o.positiveValuesOnly&&null!==t&&0>=t&&(n.isNull=!0);n.plotX=h=p(e(w.translate(l,0,0,0,1,tt,"flags"===this.type),-1e5,1e5));ut&&this.visible&&k&&k[l]&&(d=this.getStackIndicator(d,l,this.index),n.isNull||(a=k[l],g=a.points[d.key]));c(g)&&(s=g[0],t=g[1],s===et&&d.key===k[l].base&&(s=i(f(v)&&v,o.min)),o.positiveValuesOnly&&0>=s&&(s=null),n.total=n.stackTotal=a.total,n.percentage=a.total&&n.y/a.total*100,n.stackY=t,this.irregularWidths||a.setOffset(this.pointXOffset||0,this.barW||0));n.yBottom=r(s)?e(o.translate(s,0,1,0,1),-1e5,1e5):null;ct&&(t=this.modifyValue(t,n));n.plotY=t="number"==typeof t&&Infinity!==t?e(o.translate(t,0,1,0,1),-1e5,1e5):void 0;n.isInside="undefined"!=typeof t&&0<=t&&t<=o.len&&0<=h&&h<=w.len;n.clientX=lt?p(w.translate(l,0,0,0,1,tt)):h;n.negative=n[ot]<(y[ot+"Threshold"]||v||0);n.category=nt&&"undefined"!=typeof nt[n.x]?nt[n.x]:n.x;n.isNull||!1===n.visible||("undefined"!=typeof rt&&(it=Math.min(it,Math.abs(h-rt))),rt=h);n.zone=this.zones.length&&n.getZone();!n.graphic&&this.group&&st&&(n.isNew=!0)}this.closestPointRangePx=it;u(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:!1!==n.visible&&(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.chartHe
1ight,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=v(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();u(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var l=this.points,h=this.chart,e,t,f=this.options.marker,v=this[this.specialGroup]||this.markerGroup,o=this.xAxis,y=i(f.enabled,!o||o.isRadial?!0:null,this.closestPointRangePx>=f.enabledThreshold*f.radius),a,r,u;if(!1!==f.enabled||this._hasPointMarkers)for(e=0;e<l.length;e++){var n=l[e],c=(t=n.graphic)?"animate":"attr",s=n.marker||{},p=!!n.marker;(y&&"undefined"==typeof s.enabled||s.enabled)&&!n.isNull&&!1!==n.visible?(a=i(s.symbol,this.symbol),r=this.markerAttribs(n,n.selected&&"select"),this.enabledDataSorting&&(n.startXPos=o.reversed?-r.width:o.width),u=!1!==n.isInside,t?t[u?"show":"hide"](u).animate(r):u&&(0<r.width||n.hasImage)&&(n.graphic=t=h.renderer.symbol(a,r.x,r.y,r.width,r.height,p?s:f).add(v),this.enabledDataSorting&&h.hasRendered&&(t.attr({x:n.startXPos}),c="animate")),t&&"animate"===c&&t[u?"show":"hide"](u).animate(r),t&&!h.styledMode&&t[c](this.pointAttribs(n,n.selected&&"select")),t&&t.addClass(n.getClassName(),!0)):t&&(n.graphic=t.destroy())}},markerAttribs:function(n,t){var r=this.options.marker,f=n.marker||{},e=f.symbol||r.symbol,u=i(f.radius,r.radius);return t&&(r=r.states[t],t=f.states&&f.states[t],u=i(t&&t.radius,r&&r.radius,u+(r&&r.radiusPlus||0))),n.hasImage=e&&0===e.indexOf("url"),n.hasImage&&(u=0),n={x:Math.floor(n.plotX)-u,y:n.plotY-u},u&&(n.width=n.height=2*u),n},pointAttribs:function(n,t){var r=this.options.marker,u=n&&n.options,e=u&&u.marker||{},f=this.color,o=u&&u.color,h=n&&n.color,s;return u=i(e.lineWidth,r.lineWidth),s=n&&n.zone&&n.zone.color,n=1,f=o||s||h||f,o=e.fillColor||r.fillColor||f,f=e.lineColor||r.lineColor||f,t=t||"normal",r=r.states[t],t=e.states&&e.states[t]||{},u=i(t.lineWidth,r.lineWidth,u+i(t.lineWidthPlus,r.lineWidthPlus,0)),o=t.fillColor||r.fillColor||o,f=t.lineColor||r.lineColor||f,n=i(t.opacity,r.opacity,n),{stroke:f,"stroke-width":u,fill:o,opacity:n}},destroy:function(t){var i=this,f=i.chart,c=/AppleWebKit\/533/.test(rt.navigator.userAgent),s,e,h=i.data||[],o,r;for(u(i,"destroy"),this.removeEvents(t),(i.axisTypes||[]).forEach(function(n){(r=i[n])&&r.series&&(w(r.series,i),r.isDirty=r.forceRedraw=!0)}),i.legendItem&&i.chart.legend.destroyItem(i),e=h.length;e--;)(o=h[e])&&o.destroy&&o.destroy();i.points=null;n.clearTimeout(i.animationTimeout);l(i,function(n,t){n instanceof it&&!n.survive&&(s=c&&"group"===t?"hide":"destroy",n[s]())});f.hoverSeries===i&&(f.hoverSeries=null);w(f.series,i);f.orderSeries();l(i,function(n,r){t&&"hcEvents"===r||delete i[r]})},getGraphPath:function(n,t,i){var f=this,h=f.options,u=h.step,c,o=[],s=[],e;return n=n||f.points,(c=n.reversed)&&n.reverse(),(u={right:1,center:2}[u]||u&&3)&&c&&(u=4-u),n=this.getValidPoints(n,!1,!(h.connectNulls&&!t&&!i)),n.forEach(function(c,l){var v=c.plotX,y=c.plotY,a=n[l-1];(c.leftCliff||a&&a.rightCliff)&&!i&&(e=!0);c.isNull&&!r(t)&&0<l?e=!h.connectNulls:c.isNull&&!t?e=!0:(0===l||e?l=["M",c.plotX,c.plotY]:f.getPointSpline?l=f.getPointSpline(n,c,l):u?(l=1===u?["L",a.plotX,y]:2===u?["L",(a.plotX+v)/2,a.plotY,"L",(a.plotX+v)/2,y]:["L",v,a.plotY],l.push("L",v,y)):l=["L",v,y],s.push(c.x),u&&(s.push(c.x),2===u&&s.push(c.x)),o.push.apply(o,l),e=!1)}),o.xMap=s,f.graphPath=o},drawGraph:function(){var n=this,i=this.options,t=(this.gappedPath||this.getGraphPath).call(this),u=this.chart.styledMode,r=[["graph","highcharts-graph"]];u||r[0].push(i.lineColor||this.color||"#cccccc",i.dashStyle);
1r=n.getZonesGraphs(r);r.forEach(function(r,f){var o=r[0],e=n[o],s=e?"animate":"attr";e?(e.endX=n.preventGraphAnimation?null:t.xMap,e.animate({d:t})):t.length&&(n[o]=e=n.chart.renderer.path(t).addClass(r[1]).attr({zIndex:1}).add(n.group));e&&!u&&(o={stroke:r[2],"stroke-width":i.lineWidth,fill:n.fillGraph&&n.color||"none"},r[3]?o.dashstyle=r[3]:"square"!==i.linecap&&(o["stroke-linecap"]=o["stroke-linejoin"]="round"),e[s](o).shadow(2>f&&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 a=this,t=this.chart,d=t.renderer,g=this.zones,f,u,o=this.clips||[],n,s=this.graph,h=this.area,v=Math.max(t.chartWidth,t.chartHeight),r=this[(this.zoneAxis||"y")+"Axis"],w=t.inverted,b,y,p,nt=!1,k,c,l;g.length&&(s||h)&&r&&"undefined"!=typeof r.min?(k=r.reversed,c=r.horiz,s&&!this.showLine&&s.hide(),h&&h.hide(),l=r.getExtremes(),g.forEach(function(g,tt){f=k?c?t.plotWidth:0:c?0:r.toPixels(l.min)||0;f=e(i(u,f),0,v);u=e(Math.round(r.toPixels(i(g.value,l.max),!0)||0),0,v);nt&&(f=u=r.toPixels(l.max));b=Math.abs(f-u);y=Math.min(f,u);p=Math.max(f,u);r.isXAxis?(n={x:w?p:y,y:0,width:b,height:v},c||(n.x=t.plotHeight-n.x)):(n={x:0,y:w?p:y,width:v,height:b},c&&(n.y=t.plotWidth-n.y));w&&d.isVML&&(n=r.isXAxis?{x:0,y:k?y:p,height:n.width,width:t.chartWidth}:{x:n.y-t.plotLeft-t.spacingBox.x,y:0,width:n.height,height:t.chartHeight});o[tt]?o[tt].animate(n):o[tt]=d.clipRect(n);s&&a["zone-graph-"+tt].clip(o[tt]);h&&a["zone-area-"+tt].clip(o[tt]);nt=g.value>l.max;a.resetZones&&0===u&&(u=void 0)}),this.clips=o):a.visible&&(s&&s.show(!0),h&&h.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(t.isRadialSeries?!1:n))})}var t=this,r=t.chart;t.xAxis&&(t.eventsToUnbind.push(k(r,"resize",i)),i(),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}},removeEvents:function(n){n?this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(n){n()}),this.eventsToUnbind.length=0):d(this)},render:function(){var n=this,t=n.chart,i=n.options,r=!!n.animate&&t.renderer.isSVG&&v(i.animation).duration,e=n.visible?"inherit":"hidden",o=i.zIndex,s=n.hasRendered,h=t.seriesGroup,c=t.inverted,f;u(this,"render");f=n.plotGroup("group","series",e,o,h);n.markerGroup=n.plotGroup("markerGroup","markers",e,o,h);r&&n.animate(!0);f.inverted=n.isCartesian||n.invertable?c:!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(c);!1===i.clip||n.sharedClipKey||s||f.clip(t.clipRect);r&&n.animate();s||(n.animationTimeout=b(function(){n.afterAnimate()},r||0));n.isDirty=!1;n.hasRendered=!0;
1u(n,"afterRender")},redraw:function(){var n=this.chart,f=this.isDirty||this.isDirtyData,t=this.group,r=this.xAxis,u=this.yAxis;t&&(n.inverted&&t.attr({width:n.plotWidth,height:n.plotHeight}),t.animate({translateX:i(r&&r.left,n.plotLeft),translateY:i(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 f,e;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=-1<t.options.findNearestPointBy.indexOf("y")?2:1;delete t.kdTree;b(function(){t.kdTree=i(t.getValidPoints(null,!t.directTouch),r,r);t.buildingKdTree=!1},t.options.kdNow||n&&"touchstart"===n.type?0:1)},searchKDTree:function(n,t,i){function o(n,t,i,h){var l=t.point,a=s.kdAxisArray[i%h],v=l,y=r(n[f])&&r(l[f])?Math.pow(n[f]-l[f],2):null,c=r(n[e])&&r(l[e])?Math.pow(n[e]-l[e],2):null;return c=(y||0)+(c||0),l.dist=r(c)?Math.sqrt(c):Number.MAX_VALUE,l.distX=r(y)?Math.sqrt(y):Number.MAX_VALUE,a=n[a]-l[a],c=0>a?"left":"right",y=0>a?"right":"left",t[c]&&(c=o(n,t[c],i+1,h),v=c[u]<v[u]?c:l),t[y]&&Math.sqrt(a*a)<v[u]&&(n=o(n,t[y],i+1,h),v=n[u]<v[u]?n:v),v}var s=this,f=this.kdAxisArray[0],e=this.kdAxisArray[1],u=t?"distX":"dist";return t=-1<s.options.findNearestPointBy.indexOf("y")?2:1,this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree?o(n,this.kdTree,t,t):void 0},pointPlacementToXValue:function(){var t=this.xAxis,n=this.options.pointPlacement;return"between"===n&&(n=t.reversed?-.5:.5),f(n)&&(n*=i(this.options.pointRange||t.pointRange)),n}});""}),i(t,"parts/Stacking.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var f=t.correctFloat,e=t.defined,o=t.destroyObjectProperties,r=t.objectEach,i=t.pick;t=n.Axis;var s=n.Chart,h=n.format,u=n.Series;n.StackItem=function(n,t,i,r,u){var f=n.chart.inverted;this.axis=n;this.isNegative=i;this.options=t=t||{};this.x=r;this.total=null;this.points={};this.stack=u;this.rightCliff=this.leftCliff=0;this.alignOptions={align:t.align||(f?i?"left":"right":"center"),verticalAlign:t.verticalAlign||(f?"middle":i?"bottom":"top"),y:t.y,x:t.x};this.textAlign=t.textAlign||(f?i?"right":"left":"center")};n.StackItem.prototype={destroy:function(){o(this,this.axis)},render:function(n){var u=this.axis.chart,r=this.options,t=r.format;t=t?h(t,this,u):r.formatter.call(this);this.label?this.label.attr({text:t,visibility:"hidden"}):(this.label=u.renderer.label(t,null,null,r.shape,null,null,r.useHTML,!1,"stack-labels"),t={text:t,align:this.textAlign,rotation:r.rotation,padding:i(r.padding,0),visibility:"hidden"},this.label.attr(t),u.styledMode||this.label.css(r.style),this.label.added||this.label.add(n));this.label.labelrank=u.plotHeight},setOffset:function(n,t,r,f,o){var s=this.axis,h=s.chart,c,l;f=s.translate(s.usePercentage?100:f?f:this.total,0,0,0,1);r=s.translate(r?r:0);r=e(f)&&Math.abs(f-r);n=i(o,h.xAxis[0].translate(this.x))+n;s=e(f)&&this.getStackBox(h,this,n,f,t,r,s);t=this.label;n=this.isNegative;o="justify"===i(this.options.overflow,"justify");t&&s&&(r=t.getBBox(),c=h.inverted?n?r.width:0:r.width/2,l=h.inverted?r.height/2:n?-4:r.height+4,this.alignOptions.x=i(this.options.x,0),t.align(this.alignOptions,null,s),f=t.alignAttr,t.show(),f.y-=l,o&&(f.x-=c,u.prototype.justifyDataLabel.call(this.axis,t,this.alignOptions,f,r,s),f.x+=c),f.x=t.alignAttr.x,t.attr({x:f.x,y:f.y}),i(!o&&this.options.crop,!0)&&((h=h.isInsidePlot(t.x+(h.inverted?0:-r.width/2),t.y)&&h.isInsidePlot(t.x+(h.inverted?n?-r.width:r.width:r.width/2),t.y+r.height))||t.hide()))},getStackBox:function(n,t,i,r,u,f,e){var s=t.axis.reversed,o=n.inverted;return n=e.height+e.pos-(o?n.plotLeft:n.plotTop),t=t.isNegative&&!s||!t.isNegative&&s,{x:o?t?r:r-f:i,y:o?n-i-u:t?n-r-f:n-r,width:o?f:u,height:o?u:f}}};s.prototype.getStacks=function(){var n=this,t=n.inverted;n.yAxis.forEach(function(n){n.stacks&&n.hasVisibleSeries&&(n.oldStacks=n.stacks)});
1n.series.forEach(function(r){var u=r.xAxis&&r.xAxis.options||{};r.options.stacking&&(!0===r.visible||!1===n.options.chart.ignoreHiddenSeries)&&(r.stackKey=[r.type,i(r.options.stack,""),t?u.top:u.left,t?u.height:u.width].join())})};t.prototype.buildStacks=function(){var r=this.series,e=i(this.options.reversedStacks,!0),u=r.length,t,f;if(!this.isXAxis){for(this.usePercentage=!1,t=u;t--;)f=r[e?t:u-t-1],f.setStackedPoints();for(t=0;t<u;t++)r[t].modifyStacks();n.fireEvent(this,"afterBuildStacks")}};t.prototype.renderStackTotals=function(){var t=this.chart,i=t.renderer,u=this.stacks,n=this.stackTotalGroup;n||(this.stackTotalGroup=n=i.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());n.translate(t.plotLeft,t.plotTop);r(u,function(t){r(t,function(t){t.render(n)})})};t.prototype.resetStacks=function(){var n=this,t=n.stacks;n.isXAxis||r(t,function(t){r(t,function(i,r){i.touched<n.stacksTouched?(i.destroy(),delete t[r]):(i.total=null,i.cumulative=null)})})};t.prototype.cleanStacks=function(){if(!this.isXAxis){if(this.oldStacks)var n=this.stacks=this.oldStacks;r(n,function(n){r(n,function(n){n.cumulative=n.total})})}};u.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var tt=this.processedXData,b=this.processedYData,k=[],it=b.length,h=this.options,d=h.threshold,v=i(h.startFromThreshold&&d,0),rt=h.stack;h=h.stacking;var y=this.stackKey,g="-"+y,nt=this.negStacks,s=this.yAxis,u=s.stacks,p=s.oldStacks,o,l;for(s.stacksTouched+=1,l=0;l<it;l++){var r=tt[l],c=b[l],w=this.getStackIndicator(w,r,this.index),a=w.key,t=(o=nt&&c<(v?0:d))?g:y;u[t]||(u[t]={});u[t][r]||(p[t]&&p[t][r]?(u[t][r]=p[t][r],u[t][r].total=null):u[t][r]=new n.StackItem(s,s.options.stackLabels,o,r,rt));t=u[t][r];null!==c?(t.points[a]=t.points[this.index]=[i(t.cumulative,v)],e(t.cumulative)||(t.base=a),t.touched=s.stacksTouched,0<w.index&&!1===this.singleStacks&&(t.points[a][0]=t.points[this.index+","+r+",0"][0])):t.points[a]=t.points[this.index]=null;"percent"===h?(o=o?y:g,nt&&u[o]&&u[o][r]?(o=u[o][r],t.total=o.total=Math.max(o.total,t.total)+Math.abs(c)||0):t.total=f(t.total+(Math.abs(c)||0))):t.total=f(t.total+(c||0));t.cumulative=i(t.cumulative,v)+(c||0);null!==c&&(t.points[a].push(t.cumulative),k[l]=t.cumulative)}"percent"===h&&(s.usePercentage=!0);this.stackedYData=k;s.oldStacks={}}};u.prototype.modifyStacks=function(){var n=this,i=n.stackKey,r=n.yAxis.stacks,u=n.processedXData,t,f=n.options.stacking;n[f+"Stacker"]&&[i,"-"+i].forEach(function(i){for(var o=u.length,e,s;o--;)(e=u[o],t=n.getStackIndicator(t,e,n.index,i),s=(e=r[i]&&r[i][e])&&e.points[t.key])&&n[f+"Stacker"](s,e,o)})};u.prototype.percentStacker=function(n,t,i){t=t.total?100/t.total:0;n[0]=f(n[0]*t);n[1]=f(n[1]*t);this.stackedYData[i]=n[1]};u.prototype.getStackIndicator=function(n,t,i,r){return!e(n)||n.x!==t||r&&n.key!==r?n={x:t,index:0,key:r}:n.index++,n.key=[i,t,n.index].join(),n}}),i(t,"parts/Dynamics.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var w=t.defined,c=t.erase,r=t.extend,b=t.isArray,l=t.isNumber,e=t.isObject,k=t.isString,s=t.objectEach,i=t.pick,d=t.relativeLength,g=t.setAnimation,a=t.splat,nt=n.addEvent,v=n.animate,y=n.Axis;t=n.Chart;var p=n.createElement,o=n.css,u=n.fireEvent,f=n.merge,tt=n.Point,it=n.Series,h=n.seriesTypes;n.cleanRecursively=function(t,i){var r={};return s(t,function(u,f){e(t[f],!0)&&!t.nodeType&&i[f]?(u=n.cleanRecursively(t[f],i[f]),Object.keys(u).length&&(r[f]=u)):(e(t[f])||t[f]!==i[f])&&(r[f]=t[f])}),r};r(t.prototype,{addSeries:function(n,t,r){var e,f=this;return n&&(t=i(t,!0),u(f,"addSeries",{options:n},function(){e=f.initSeries(n);f.isDirtyLegend=!0;f.linkSeries();e.enabledDataSorting&&e.setData(n.data,!1);u(f,"afterAddSeries",{series:e});t&&f.redraw(r)})),e},addAxis:function(n,t,i,r){return this.createAxis(t?"xAxis":"yAxis",{axis:n,redraw:i,animation:r})},addColorAxis:function(n,t,i){return this.createAxis("colorAxis",{axis:n,redraw:t,animation:i})},createAxis:function(t,r){var u=this.options,e="colorAxis"===t,s=r.redraw,h=r.animation,o;return r=f(r.axis,{index:this[t].length,isX:"xAxis"===t}),o=e?new n.ColorAxis(this,r):new y(this,r),u[t]=a(u[t]||{}
1),u[t].push(r),e&&(this.isDirtyLegend=!0,this.axes.forEach(function(n){n.series=[]}),this.series.forEach(function(n){n.bindAxes();n.isDirtyData=!0})),i(s,!0)&&this.redraw(h),o},showLoading:function(n){var t=this,e=t.options,u=t.loadingDiv,f=e.loading,s=function(){u&&o(u,{left:t.plotLeft+"px",top:t.plotTop+"px",width:t.plotWidth+"px",height:t.plotHeight+"px"})};u||(t.loadingDiv=u=p("div",{className:"highcharts-loading highcharts-loading-hidden"},null,t.container),t.loadingSpan=p("span",{className:"highcharts-loading-inner"},null,u),nt(t,"redraw",s));u.className="highcharts-loading";t.loadingSpan.innerHTML=i(n,e.lang.loading,"");t.styledMode||(o(u,r(f.style,{zIndex:10})),o(t.loadingSpan,f.labelStyle),t.loadingShown||(o(u,{opacity:0,display:""}),v(u,{opacity:f.style.opacity||.5},{duration:f.showDuration||0})));t.loadingShown=!0;s()},hideLoading:function(){var t=this.options,n=this.loadingDiv;n&&(n.className="highcharts-loading highcharts-loading-hidden",this.styledMode||v(n,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){o(n,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroun
1dColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),collectionsWithUpdate:["xAxis","yAxis","zAxis","series"],update:function(t,r,e,o){var h=this,p={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},c,y,b,g=t.isResponsiveOptions,nt=[],v;u(h,"update",{options:t});g||h.setResponsive(!1,!0);t=n.cleanRecursively(t,h.options);f(!0,h.userOptions,t);(c=t.chart)&&(f(!0,h.options.chart,c),"className"in c&&h.setClassName(c.className),"reflow"in c&&h.setReflow(c.reflow),("inverted"in c||"polar"in c||"type"in c)&&(h.propFromSeries(),v=!0),"alignTicks"in c&&(v=!0),s(c,function(n,t){-1!==h.propsRequireUpdateSeries.indexOf("chart."+t)&&(y=!0);-1!==h.propsRequireDirtyBox.indexOf(t)&&(h.isDirtyBox=!0);g||-1===h.propsRequireReflow.indexOf(t)||(b=!0)}),!h.styledMode&&"style"in c&&h.renderer.setStyle(c.style));!h.styledMode&&t.colors&&(this.options.colors=t.colors);t.plotOptions&&f(!0,this.options.plotOptions,t.plotOptions);t.time&&this.time===n.time&&(this.time=new n.Time(t.time));s(t,function(n,t){h[t]&&"function"==typeof h[t].update?h[t].update(n,!1):"function"==typeof h[p[t]]&&h[p[t]](n);"chart"!==t&&-1!==h.propsRequireUpdateSeries.indexOf(t)&&(y=!0)});this.collectionsWithUpdate.forEach(function(n){if(t[n]){if("series"===n){var r=[];h[n].forEach(function(n,t){n.options.isInternal||r.push(i(n.options.index,t))})}a(t[n]).forEach(function(t,i){(i=w(t.id)&&h.get(t.id)||h[n][r?r[i]:i])&&i.coll===n&&(i.update(t,!1),e&&(i.touched=!0));!i&&e&&h.collectionsWithInit[n]&&(h.collectionsWithInit[n][0].apply(h,[t].concat(h.collectionsWithInit[n][1]||[]).concat([!1])).touched=!0)});e&&h[n].forEach(function(n){n.touched||n.options.isInternal?delete n.touched:nt.push(n)})}});nt.forEach(function(n){n.remove&&n.remove(!1)});v&&h.axes.forEach(function(n){n.update({},!1)});y&&h.getSeriesOrderByLinks().forEach(function(n){n.chart&&n.update({},!1)},this);t.loading&&f(!0,h.options.loading,t.loading);v=c&&c.width;c=c&&c.height;k(c)&&(c=d(c,v||h.chartWidth));b||l(v)&&v!==h.chartWidth||l(c)&&c!==h.chartHeight?h.setSize(v,c,o):i(r,!0)&&h.redraw(o);u(h,"afterUpdate",{options:t,redraw:r,animation:o})},setSubtitle:function(n,t){this.applyDescription("subtitle",n);this.layOutTitles(t)},setCaption:function(n,t){this.applyDescription("caption",n);this.layOutTitles(t)}});t.prototype.collectionsWithInit={xAxis:[t.prototype.addAxis,[!0]],yAxis:[t.prototype.addAxis,[!1]],series:[t.prototype.addSeries]};r(tt.prototype,{update:function(n,t,r,u){function a(){f.applyOptions(n);null===f.y&&s&&(f.graphic=s.destroy());e(n,!0)&&(s&&s.element&&n&&n.marker&&"undefined"!=typeof n.marker.symbol&&(f.graphic=s.destroy()),n&&n.dataLabels&&f.dataLabel&&(f.dataLabel=f.dataLabel.destroy()),f.connector&&(f.connector=f.connector.destroy()));h=f.index;o.updateParallelArrays(f,h);c.data[h]=e(c.data[h],!0)||e(n,!0)?f.options:i(n,c.data[h]);o.isDirty=o.isDirtyData=!0;!o.fixedBox&&o.hasCartesianSeries&&(l.isDirtyBox=!0);"point"===c.legendType&&(l.isDirtyLegend=!0);t&&l.redraw(r)}var f=this,o=f.series,s=f.graphic,h,l=o.chart,c=o.options;t=i(t,!0);!1===u?a():f.firePointEvent("update",{options:n},a)},remove:function(n,t){this.series.removePoint(this.series.data.indexOf(this),n,t)}});r(it.prototype,{addPoint:function(n,t,r,f,e){var y=this.options,c=this.data,w=this.chart,h=this.xAxis,v,l,p,o,a,s;if(h=h&&h.hasNames&&h.names,v=y.data,l=this.xData,t=i(t,!0),o={series:this},this.pointClass.prototype.applyOptions.apply(o,[n]),a=o.x,s=l.length,this.requireSorting&&a<l[s-1])for(p=!0;s&&l[s-1]>a;)s--;this.updateParallelArrays(o,"splice",s,0,0);this.updateParallelArrays(o,s);h&&o.name&&(h[a]=o.name);v.splice(s,0,n);p&&(this.data.splice(s,0,null),this.processData());"point"===y.legendType&&this.generatePoints();r&&(c[0]&&c[0].remove?c[0].remove(!1):(c.shift(),this.updateParallelArrays(o,"shift"),v.shift()));!1!==e&&u(this,"addPoint",{point:o});this.isDirtyData=this.isDirty=!0;t&&w.redraw(f)},removePoint:function(n,t,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;t&&s.redraw()};g(r,s);t=i(t,!0);f?f.firePointEvent("remove",null,h):h()},remove:function(n,t,r,f){function s(){e.destroy(f);e.remove=null;o.isDirtyLegend=o.isDirtyBox=!0;o.linkSeries();i(n,!0)&&o.redraw(t)}var e=this,o=e.chart;!1!==r?u(e,"remove",null,s):s()},update:function(t,e){var w;t=n.cleanRecursively(t,this.userOptions);u(this,"update",{options:t});var o=this,l=o.chart,a=o.userOptions,y=o.initialType||o.type,s=t.type||a.type||l.options.chart.type,p=!(this.hasDerivedData||t.dataGrouping||s&&s!==this.type||"undefined"!=typeof t.pointStart||t.pointInterval||t.pointIntervalUnit||t.keys),b=h[y].prototype,k,d=["group","markerGroup","dataLabelsGroup","transformGroup"],c=["eventOptions","navigatorSeries","baseSeries"],g=o.finishedAnimating&&{animation:!1},v={};p&&(c.push("data","isDirtyData","points","processedXData","processedYData","xIncrement","_hasPointMarkers","_hasPointLabels","mapMap","mapData","minY","maxY","minX","maxX"),!1!==t.visible&&c.push("area","graph"),o.parallelArrays.forEach(function(n){c.push(n+"Data")}),t.data&&(t.dataSorting&&r(o.options.dataSorting,t.dataSorting),this.setData(t.data,!1)));t=f(a,g,{index:"undefined"==typeof a.index?o.index:a.index,pointStart:i(a.pointStart,o.xData[0])},!p&&{data:o.options.data},t);p&&t.data&&(t.data=o.options.data);c=d.concat(c);
1c.forEach(function(n){c[n]=o[n];delete o[n]});o.remove(!1,null,!1,!0);for(k in b)o[k]=void 0;h[s||y]?r(o,h[s||y].prototype):n.error(17,!0,l,{missingModuleFor:s||y});c.forEach(function(n){o[n]=c[n]});o.init(l,t);p&&this.points&&(w=o.options,!1===w.visible?(v.graphic=1,v.dataLabel=1):o._hasPointLabels||(s=w.marker,b=w.dataLabels,s&&(!1===s.enabled||"symbol"in s)&&(v.graphic=1),b&&!1===b.enabled&&(v.dataLabel=1)),this.points.forEach(function(n){n&&n.series&&(n.resolveColor(),Object.keys(v).length&&n.destroyElements(v),!1===w.showInLegend&&n.legendItem&&l.legend.destroyItem(n))},this));t.zIndex!==a.zIndex&&d.forEach(function(n){o[n]&&o[n].attr({zIndex:t.zIndex})});o.initialType=y;l.linkSeries();u(this,"afterUpdate");i(e,!0)&&l.redraw(p?void 0:!1)},setName:function(n){this.name=this.options.name=this.userOptions.name=n;this.chart.isDirtyLegend=!0}});r(y.prototype,{update:function(n,t){var u=this.chart,e=n&&n.events||{};n=f(this.userOptions,n);u.options[this.coll].indexOf&&(u.options[this.coll][u.options[this.coll].indexOf(this.userOptions)]=n);s(u.options[this.coll].events,function(n,t){"undefined"==typeof e[t]&&(e[t]=void 0)});this.destroy(!0);this.init(u,r(n,{events:e}));u.isDirtyBox=!0;i(t,!0)&&u.redraw()},remove:function(n){for(var t=this.chart,r=this.coll,u=this.series,f=u.length;f--;)u[f]&&u[f].remove(!1);c(t.axes,this);c(t[r],this);b(t.options[r])?t.options[r].splice(this.options.index,1):delete t.options[r];t[r].forEach(function(n,t){n.options.index=n.userOptions.index=t});this.destroy();t.isDirtyBox=!0;i(n,!0)&&t.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"],t["parts/Utilities.js"]],function(n,t){var u=t.objectEach,i=t.pick,f=n.color,r=n.Series;t=n.seriesType;t("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(n){var s=[],f=[],y=this.xAxis,e=this.yAxis,o=e.stacks[this.stackKey],r={},h=this.index,c=e.series,l=c.length,a=i(e.options.reversedStacks,!0)?1:-1,t,v;if(n=n||this.points,this.options.stacking){for(t=0;t<n.length;t++)n[t].leftNull=n[t].rightNull=void 0,r[n[t].x]=n[t];u(o,function(n,t){null!==n.total&&f.push(t)});f.sort(function(n,t){return n-t});v=c.map(function(n){return n.visible});f.forEach(function(n,i){var u=0,c,p;if(r[n]&&!r[n].isNull)s.push(r[n]),[-1,1].forEach(function(u){var y=1===u?"rightNull":"leftNull",e=0,s=o[f[i+u]];if(s)for(t=h;0<=t&&t<l;)c=s.points[t],c||(t===h?r[n][y]=!0:v[t]&&(p=o[n].points[t])&&(e-=p[1]-p[0])),t+=a;r[n][1===u?"rightCliff":"leftCliff"]=e});else{for(t=h;0<=t&&t<l;){if(c=o[n].points[t]){u=c[1];break}t+=a}u=e.translate(u,0,1,0,1);s.push({isNull:!0,plotX:y.translate(n,0,0,0,1),x:n,plotY:u,yBottom:u})}})}return s},getGraphPath:function(n){var o=r.prototype.getGraphPath,u=this.options,e=u.stacking,s=this.yAxis,t,h=[],c=[],y=this.index,p=s.stacks[this.stackKey],w=u.threshold,l=Math.round(s.getThreshold(u.threshold)),a;for(u=i(u.connectNulls,"percent"===e),a=function(t,i,r){var u=n[t],o,f,a;t=e&&p[u.x].points[y];o=u[r+"Null"]||0;r=u[r+"Cliff"]||0;u=!0;r||o?(f=(o?t[0]:t[1])+r,a=t[0]+r,u=!!o):!e&&n[i]&&n[i].isNull&&(f=a=w);"undefined"!=typeof f&&(c.push({plotX:v,plotY:null===f?l:s.getThreshold(f),isNull:u,isCliff:!0}),h.push({plotX:v,plotY:null===a?l:s.getThreshold(a),doCurve:!1}))},n=n||this.points,e&&(n=this.getStackPoints(n)),t=0;t<n.length;t++){e||(n[t].leftCliff=n[t].rightCliff=n[t].leftNull=n[t].rightNull=void 0);var f=n[t].isNull,v=i(n[t].rectPlotX,n[t].plotX),b=i(n[t].yBottom,l);(!f||u)&&(u||a(t,t-1,"left"),f&&!e&&u||(c.push(n[t]),h.push({x:t,plotX:v,plotY:b})),u||a(t,t+1,"right"))}return t=o.call(this,c,!0,!0),h.reversed=!0,f=o.call(this,h,!0,!0),f.length&&(f[0]="L"),f=t.concat(f),o=o.call(this,c,!1,u),f.xMap=t.xMap,this.areaPath=f,o},drawGraph:function(){this.areaPath=[];r.prototype.drawGraph.apply(this);var n=this,t=this.areaPath,u=this.options,e=[["area","highcharts-area",this.color,u.fillColor]];this.zones.forEach(function(t,i){e.push(["zone-area-"+i,"highcharts-area highcharts-zone-area-"+i+" "+t.className,t.color||n.color,t.fillColor||u.fillColor])});e.forEach(function(r){var s=r[0],e=n[s],h=e?"animate":"attr",o={};e?(e.endX=n.preventGraphAnimation?null:t.xMap,e.animate({d:t})):(o.zIndex=0,e=n[s]=n.chart.renderer.path(t).addClass(r[1]).add(n.group),e.isArea=!0);n.chart.styledMode||(o.fill=i(r[3],f(r[2]).setOpacity(i(u.fillOpacity,.75)).get()));e[h](o);e.startX=t.xMap;e.shiftUnit=u.step?2:1})},drawLegendSymbol:n.LegendSymbolMixin.drawRectangle});""}),i(t,"parts/SplineSeries.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var i=t.pick;n=n.seriesType;n("spline","line",{},{getPointSpline:function(n,t,r){var h=t.plotX,u=t.plotY,o=n[r-1],s,f;
1if(r=n[r+1],o&&!o.isNull&&!1!==o.doCurve&&!t.isCliff&&r&&!r.isNull&&!1!==r.doCurve&&!t.isCliff){n=o.plotY;s=r.plotX;r=r.plotY;var c=0,l=(1.5*h+o.plotX)/2.5,e=(1.5*u+n)/2.5;s=(1.5*h+s)/2.5;f=(1.5*u+r)/2.5;s!==l&&(c=(f-e)*(s-h)/(s-l)+u-f);e+=c;f+=c;e>n&&e>u?(e=Math.max(n,u),f=2*u-e):e<n&&e<u&&(e=Math.min(n,u),f=2*u-e);f>r&&f>u?(f=Math.max(r,u),e=2*u-f):f<r&&f<u&&(f=Math.min(r,u),e=2*u-f);t.rightContX=s;t.rightContY=f}return t=["C",i(o.rightContX,o.plotX),i(o.rightContY,o.plotY),i(l,h),i(e,u),h,u],o.rightContX=o.rightContY=null,t}});""}),i(t,"parts/AreaSplineSeries.js",[t["parts/Globals.js"]],function(n){var t=n.seriesTypes.area.prototype,i=n.seriesType;i("areaspline","spline",n.defaultPlotOptions.area,{getStackPoints:t.getStackPoints,getGraphPath:t.getGraphPath,drawGraph:t.drawGraph,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle});""}),i(t,"parts/ColumnSeries.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var o=t.animObject,u=t.clamp,s=t.defined,h=t.extend,c=t.isNumber,i=t.pick,l=n.color,f=n.merge,r=n.Series,e;t=n.seriesType;e=n.svg;t("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group","dataLabelsGroup"],negStacks:!0,init:function(){r.prototype.init.apply(this,arguments);var n=this,t=n.chart;t.hasRendered&&t.series.forEach(function(t){t.type===n.type&&(t.isDirty=!0)})},getColumnMetrics:function(){var n=this,t=n.options,r=n.xAxis,c=n.yAxis,u=r.options.reversedStacks,e,o,f;u=r.reversed&&!u||!r.reversed&&u;o={};f=0;!1===t.grouping?f=1:n.chart.series.forEach(function(t){var r=t.yAxis,u=t.options,i;t.type===n.type&&(t.visible||!n.chart.options.chart.ignoreHiddenSeries)&&c.len===r.len&&c.pos===r.pos&&(u.stacking?(e=t.stackKey,"undefined"==typeof o[e]&&(o[e]=f++),i=o[e]):!1!==u.grouping&&(i=f++),t.columnIndex=i)});var s=Math.min(Math.abs(r.transA)*(r.ordinalSlope||t.pointRange||r.closestPointRange||r.tickInterval||1),r.len),l=s*t.groupPadding,h=(s-2*l)/(f||1);return t=Math.min(t.maxPointWidth||r.len,i(t.pointWidth,h*(1-2*t.pointPadding))),n.columnMetrics={width:t,offset:(h-t)/2+(l+((n.columnIndex||0)+(u?1:0))*h-s/2)*(u?-1:1)},n.columnMetrics},crispCol:function(n,t,i,r){var e=this.chart,u=this.borderWidth,f=-(u%2?.5:0);return u=u%2?.5:1,e.inverted&&e.renderer.isVML&&(u+=1),this.options.crisp&&(i=Math.round(n+i)+f,n=Math.round(n)+f,i-=n),r=Math.round(t+r)+u,f=.5>=Math.abs(t)&&.5<r,t=Math.round(t)+u,r-=t,f&&r&&(--t,r+=1),{x:n,y:t,width:i,height:r}},translate:function(){var n=this,o=n.chart,h=n.options,l=n.dense=2>n.closestPointRange*n.xAxis.transA;l=n.borderWidth=i(h.borderWidth,l?0:1);var t=n.yAxis,c=h.threshold,e=n.translatedThreshold=t.getThreshold(c),f=i(h.minPointLength,5),y=n.getColumnMetrics(),a=y.width,v=n.barW=Math.max(a,1+2*l),p=n.pointXOffset=y.offset,w=n.dataMin,b=n.dataMax;o.inverted&&(e-=.5);h.pointPadding&&(v=Math.ceil(v));r.prototype.translate.apply(n);n.points.forEach(function(r){var d=i(r.yBottom,e),h=999+Math.abs(d),tt=a,nt;h=u(r.plotY,-h,t.len+h);var l=r.plotX+p,y=v,g=Math.min(h,d),k=Math.max(h,d)-g;f&&Math.abs(k)<f&&(k=f,nt=!t.reversed&&!r.negative||t.reversed&&r.negative,r.y===c&&n.dataMax<=c&&t.min<c&&w!==b&&(nt=!nt),g=Math.abs(g-e)>f?d-f:e-(nt?f:0));s(r.options.pointWidth)&&(tt=y=Math.ceil(r.options.pointWidth),l-=Math.round((tt-a)/2));r.barX=l;r.pointWidth=tt;r.tooltipPos=o.inverted?[t.len+t.pos-o.plotLeft-h,n.xAxis.len-l-y/2,k]:[l+y/2,h+t.pos-o.plotTop,k];r.shapeType=n.pointClass.prototype.shapeType||"rect";r.shapeArgs=n.crispCol.apply(n,r.isNull?[l,e,y,0]:[l,g,y,k])})},getSymbol:n.noop,drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(n,t){var s=this.options,r=this.pointAttrToOptions||{},e=r.stroke||"borderColor",a=r["stroke-width"]||"borderWidth",o=n&&n.color||this.color,h=n&&n[e]||s[e]||this.color||o,c=n&&n[a]||s[a]||this[a]||0,v,u;return r=n&&n.options.dashStyle||s.dashStyle,v=i(n&&n.opacity,s.opacity,1),n&&this.zones.length&&(u=n.getZone(),o=n.options.color||u&&(u.color||n.nonZonedColor)||this.color,u&&(h=u.borderColor||h,r=u.dashStyle||r,c=u.borderWidth||c)),t&&n&&(n=f(s.states[t],n.options.states&&n.options.states[t]||{}),t=n.brightness,o=n.color||"undefined"!=typeof t&&l(o).brighten(n.brightness).get()||o,h=n[e]||h,c=n[a]||c,r=n.dashStyle||r,v=i(n.opacity,v)),e={fill:o,stroke:h,"stroke-width":c,opacity:v},r&&(e.dashstyle=r),e},drawPoints:function(){var n=this,i=this.chart,t=n.options,e=i.renderer,u=t.animationLimit||250,r;
1n.points.forEach(function(o){var s=o.graphic,l=!!s,h=s&&i.pointCount<u?"animate":"attr";c(o.plotY)&&null!==o.y?(r=o.shapeArgs,s&&o.hasNewShapeType()&&(s=s.destroy()),n.enabledDataSorting&&(o.startXPos=n.xAxis.reversed?-(r?r.width:0):n.xAxis.width),s||(o.graphic=s=e[o.shapeType](r).add(o.group||n.group))&&n.enabledDataSorting&&i.hasRendered&&i.pointCount<u&&(s.attr({x:o.startXPos}),l=!0,h="animate"),s&&l&&s[h](f(r)),t.borderRadius&&s[h]({r:t.borderRadius}),i.styledMode||s[h](n.pointAttribs(o,o.selected&&"select")).shadow(!1!==o.allowShadow&&t.shadow,null,t.stacking&&!t.borderRadius),s.addClass(o.getClassName(),!0)):s&&(o.graphic=s.destroy())})},animate:function(n){var t=this,i=this.yAxis,l=t.options,s=this.chart.inverted,r={},c=s?"translateX":"translateY",f;e&&(n?(r.scaleY=.001,n=u(i.toPixels(l.threshold),i.pos,i.pos+i.len),s?r.translateX=n-i.len:r.translateY=n,t.clipBox&&t.setClip(),t.group.attr(r)):(f=t.group.attr(c),t.group.animate({scaleY:1},h(o(t.options.animation),{step:function(n,u){r[c]=f+u.pos*(i.pos-f);t.group.attr(r)}})),t.animate=null))},remove:function(){var n=this,t=n.chart;t.hasRendered&&t.series.forEach(function(t){t.type===n.type&&(t.isDirty=!0)});r.prototype.remove.apply(n,arguments)}});""}),i(t,"parts/BarSeries.js",[t["parts/Globals.js"]],function(n){n=n.seriesType;n("bar","column",null,{inverted:!0});""}),i(t,"parts/ScatterSeries.js",[t["parts/Globals.js"]],function(n){var t=n.Series,i=n.seriesType;i("scatter","line",{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">â<\/span> <span style="font-size: 10px"> {series.name}<\/span><br/>',pointFormat:"x: <b>{point.x}<\/b><br/>y: <b>{point.y}<\/b><br/>"}},{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 s="plot"+f.toUpperCase(),o,h,c;n[f]&&!r.isNull&&(o=t[f+"Axis"],h=n[f]*o.transA,o&&!o.isLog&&(c=Math.max(0,r[s]-h),o=Math.min(o.len,r[s]+h),e=1e4*Math.sin(u+e*i),r[s]=c+(o-c)*(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"],t["parts/Utilities.js"]],function(n,t){var i=t.isNumber,r=t.pick,f=t.relativeLength,u=n.deg2rad;n.CenteredSeriesMixin={getCenter:function(){var i=this.options,u=this.chart,e=2*(i.slicedOffset||0),s=u.plotWidth-2*e,n,h,t,o;for(u=u.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,u),t=0;4>t;++t)o=n[t],i=2>t||2===t&&/%$/.test(o),n[t]=f(o,[s,u,h,n[2]][t])+(i?e:0);return n[3]>n[2]&&(n[3]=n[2]),n},getStartAndEndRadians:function(n,t){return n=i(n)?n:0,t=i(t)&&t>n&&360>t-n?t:n+360,{start:u*(n+-90),end:u*(t+-90)}}}}),i(t,"parts/PieSeries.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var o=t.clamp,s=t.defined,h=t.isNumber,i=t.pick,r=t.relativeLength,c=t.setAnimation,u=n.addEvent;t=n.CenteredSeriesMixin;var l=t.getStartAndEndRadians,f=n.merge,e=n.noop,a=n.Point,v=n.Series,y=n.seriesType,p=n.fireEvent;y("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"fixedOffset",crookDistance:"70%",distance:30,enabled:!0,formatter:function(){if(!this.point.isNull)return this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0,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,u=t.points,r=t.startAngleRad;n||(u.forEach(function(n){var f=n.graphic,u=n.shapeArgs;f&&u&&(f.attr({r:i(n.startR,t.center&&t.center[3]/2),start:r,end:r}),f.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,f=this.options.ignoreHiddenPoint,n,t=0;t<u;t++)n=r[t],i+=f&&!n.visible?0:n.isNull?0:n.y;for(this.total=i,t=0;t<u;t++)n=r[t],n.percentage=0<i&&(n.visible||!f)?n.y/i*100:0,n.total=i},generatePoints:function(){v.prototype.generatePoints.call(this);this.updateTotals()},getX:function(n,t,i){var r=this.center,u=this.radii?this.radii[i.index]:r[2]/2;return n=Math.asin(o((n-r[1])/(u+i.labelDistance),-1,1)),r[0]+(t?-1:1)*Math.cos(n)*(u+i.labelDistance)+(0<i.labelDistance?(t?-1:1)*this.options.dataLabels.padding:0)},translate:function(n){var w,b,c,k,t,e,u,s,h;this.generatePoints();var a=0,f=this.options,v=f.slicedOffset,d=v+(f.borderWidth||0),o=l(f.startAngle,f.endAngle),y=this.startAngleRad=o.start;for(o=(this.endAngleRad=o.end)-y,w=this.points,b=f.dataLabels.distance,f=f.ignoreHiddenPoint,k=w.length,n||(this.center=n=this.getCenter()),c=0;c<k;c++)t=w[c],e=y+a*o,(!f||t.visible)&&(a+=t.percentage/100),u=y+a*o,t.shapeType="arc",t.shapeArgs={x:n[0],y:n[1],r:n[2]/2,innerR:n[3]/2,start:Math.round(1e3*e)/1e3,end:Math.round(1e3*u)/1e3},t.labelDistance=i(t.options.dataLabels&&t.options.dataLabels.distance,b),t.labelDistance=r(t.labelDistance,t.shapeArgs.r),this.maxLabelDistance=Math.max(this.maxLabelDistance||0,t.labelDistance),u=(u+e)/2,u>1.5*Math.PI?u-=2*Math.PI:u<-Math.PI/2&&(u+=2*Math.PI),t.slicedTranslation={translateX:Math.round(Math.cos(u)*v),translateY:Math.round(Math.sin(u)*v)},s=Math.cos(u)*n[2]/2,h=Math.sin(u)*n[2]/2,t.tooltipPos=[n[0]+.7*s,n[1]+.7*h],t.half=u<-Math.PI/2||u>
1Math.PI/2?1:0,t.angle=u,e=Math.min(d,t.labelDistance/5),t.labelPosition={natural:{x:n[0]+s+Math.cos(u)*t.labelDistance,y:n[1]+h+Math.sin(u)*t.labelDistance},final:{},alignment:0>t.labelDistance?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:n[0]+s+Math.cos(u)*e,y:n[1]+h+Math.sin(u)*e},touchingSliceAt:{x:n[0]+s,y:n[1]+h}}};p(this,"afterTranslate")},drawEmpty:function(){var n=this.options,t,i;0===this.total?(t=this.center[0],i=this.center[1],this.graph||(this.graph=this.chart.renderer.circle(t,i,0).addClass("highcharts-graph").add(this.group)),this.graph.animate({"stroke-width":n.borderWidth,cx:t,cy:i,r:this.center[2]/2,fill:n.fillColor||"none",stroke:n.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())},redrawPoints:function(){var n=this,i=n.chart,s=i.renderer,r,t,u,e,o=n.options.shadow;this.drawEmpty();!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),u=n.pointAttribs(h,h.selected&&"select")),h.delayedRendering?(t.setRadialReference(n.center).attr(e).attr(r),i.styledMode||t.attr(u).attr({"stroke-linejoin":"round"}).shadow(o,c),h.delayedRendering=!1):(t.setRadialReference(n.center),i.styledMode||f(!0,l,u),f(!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:e,sortByAngle:function(n,t){n.sort(function(n,i){return"undefined"!=typeof n.angle&&(i.angle-n.angle)*t})},drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,getCenter:t.getCenter,getSymbol:e,drawGraph:null},{init:function(){var n,t;return a.prototype.init.apply(this,arguments),n=this,n.name=i(n.name,"Slice"),t=function(t){n.slice("select"===t.type)},u(n,"select",t),u(n,"unselect",t),n},isValid:function(){return h(this.y)&&0<=this.y},setVisible:function(n,t){var r=this,u=r.series,f=u.chart,e=u.options.ignoreHiddenPoint;t=i(t,e);n!==r.visible&&(r.visible=r.options.visible=n="undefined"==typeof n?!r.visible:n,u.o
1ptions.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),t&&f.redraw())},slice:function(n,t,r){var u=this.series;c(r,u.chart);i(t,!0);this.sliced=this.options.sliced=s(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:t.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(n,t,i){var e;t=t.touchingSliceAt;var u=this.series,f=u.center[0],s=u.chart.plotWidth,o=u.chart.plotLeft;return u=n.alignment,e=this.shapeArgs.r,i=r(i.crookDistance,1),i="left"===u?f+e+(s+o-f-e)*(1-i):o+(f-e)*i,f=["L",i,n.y],("left"===u?i>n.x||i<t.x:i<n.x||i>t.x)&&(f=[]),["M",n.x,n.y].concat(f).concat(["L",t.x,t.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"],t["parts/Utilities.js"]],function(n,t){var l=t.animObject,a=t.arrayMax,s=t.clamp,u=t.defined,c=t.extend,f=t.isArray,v=t.objectEach,i=t.pick,y=t.relativeLength,p=t.splat,w=n.format,e=n.merge;t=n.noop;var o=n.Series,r=n.seriesTypes,h=n.stableSort;n.distribute=function(t,r,u){function l(n,t){return n.target-t.target}for(var o=!0,e=t,a=[],c=0,v=e.reducedLen||r,f=t.length;f--;)c+=t[f].size;if(c>v){for(h(t,function(n,t){return(t.rank||0)-(n.rank||0)}),c=f=0;c<=v;)c+=t[f].size,f++;a=t.splice(f-1,t.length)}for(h(t,l),t=t.map(function(n){return{size:n.size,targets:[n.target],align:i(n.align,.5)}});o;){for(f=t.length;f--;)o=t[f],c=(Math.min.apply(0,o.targets)+Math.max.apply(0,o.targets))/2,o.pos=s(c-o.size*o.align,0,r-o.size);for(f=t.length,o=!1;f--;)0<f&&t[f-1].pos+t[f-1].size>t[f].pos&&(t[f-1].size+=t[f].size,t[f-1].targets=t[f-1].targets.concat(t[f].targets),t[f-1].align=.5,t[f-1].pos+t[f-1].size>r&&(t[f-1].pos=r-t[f-1].size),t.splice(f,1),o=!0)}e.push.apply(e,a);f=0;t.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});h(e,l)};o.prototype.drawDataLabels=function(){function nt(n,t){var i=t.filter;return i?(t=i.operator,n=n[i.property],i=i.value,">"===t&&n>i||"<"===t&&n<i||">="===t&&n>=i||"<="===t&&n<=i||"=="===t&&n==i||"==="===t&&n===i?!0:!1):!0}function c(n,t){var i=[],r;if(f(n)&&!f(t))i=n.map(function(n){return e(n,t)});else if(f(t)&&!f(n))i=t.map(function(t){return e(n,t)});else if(f(n)||f(t))for(r=Math.max(n.length,t.length);r--;)i[r]=e(n[r],t[r]);else i=e(n,t);return i}var t=this,r=t.chart,s=t.options,o=s.dataLabels,tt=t.points,k,a=t.hasRendered||0,d=l(s.animation).duration,y=Math.min(d,200),g=!r.renderer.forExport&&i(o.defer,0<y),b=r.renderer,h;o=c(c(r.options.plotOptions&&r.options.plotOptions.series&&r.options.plotOptions.series.dataLabels,r.options.plotOptions&&r.options.plotOptions[t.type]&&r.options.plotOptions[t.type].dataLabels),o);n.fireEvent(this,"drawDataLabels");(f(o)||o.enabled||t._hasPointLabels)&&(h=t.plotGroup("dataLabelsGroup","data-labels",g&&!a?"hidden":"inherit",o.zIndex||6),g&&(h.attr({opacity:+a}),a||setTimeout(function(){var n=t.dataLabelsGroup;n&&(t.visible&&h.show(!0),n[s.animation?"animate":"attr"]({opacity:1},{duration:y}))},d-y)),tt.forEach(function(n){k=p(c(o,n.dlOptions||n.options&&n.options.dataLabels));
1k.forEach(function(f,e){var y=f.enabled&&(!n.isNull||n.dataLabelOnNull)&&nt(n,f),o=n.dataLabels?n.dataLabels[e]:n.dataLabel,d=n.connectors?n.connectors[e]:n.connector,k=i(f.distance,n.labelDistance),g=!o,l,c,p,a;y&&(l=n.getLabelConfig(),c=i(f[n.formatPrefix+"Format"],f.format),l=u(c)?w(c,l,r):(f[n.formatPrefix+"Formatter"]||f.formatter).call(l,f),c=f.style,p=f.rotation,r.styledMode||(c.color=i(f.color,c.color,t.color,"#000000"),"contrast"===c.color?(n.contrastColor=b.getContrast(n.color||t.color),c.color=!u(k)&&f.inside||0>k||s.stacking?n.contrastColor:"#000000"):delete n.contrastColor,s.cursor&&(c.cursor=s.cursor)),a={r:f.borderRadius||0,rotation:p,padding:f.padding,zIndex:1},r.styledMode||(a.fill=f.backgroundColor,a.stroke=f.borderColor,a["stroke-width"]=f.borderWidth),v(a,function(n,t){"undefined"==typeof n&&delete a[t]}));!o||y&&u(l)?y&&u(l)&&(o?a.text=l:(n.dataLabels=n.dataLabels||[],o=n.dataLabels[e]=p?b.text(l,0,-9999).addClass("highcharts-data-label"):b.label(l,0,-9999,f.shape,null,null,f.useHTML,null,"data-label"),e||(n.dataLabel=o),o.addClass(" highcharts-data-label-color-"+n.colorIndex+" "+(f.className||"")+(f.useHTML?" highcharts-tracker":""))),o.options=f,o.attr(a),r.styledMode||o.css(c).shadow(f.shadow),o.added||o.add(h),f.textPath&&!f.useHTML&&(o.setTextPath(n.getDataLabelPath&&n.getDataLabelPath(o)||n.graphic,f.textPath),n.dataLabelPath&&!f.textPath.enabled&&(n.dataLabelPath=n.dataLabelPath.destroy())),t.alignDataLabel(n,o,f,null,g)):(n.dataLabel=n.dataLabel&&n.dataLabel.destroy(),n.dataLabels&&(1===n.dataLabels.length?delete n.dataLabels:delete n.dataLabels[e]),e||delete n.dataLabel,d&&(n.connector=n.connector.destroy(),n.connectors&&(1===n.connectors.length?delete n.connectors:delete n.connectors[e])))})}));n.fireEvent(this,"afterDrawDataLabels")};o.prototype.alignDataLabel=function(n,t,r,u,f){var k=this,o=this.chart,l=this.isCartesian&&o.inverted,a=this.enabledDataSorting,e=i(n.dlBox&&n.dlBox.centerX,n.plotX,-9999),w=i(n.plotY,-9999),s=t.getBBox(),y=r.rotation,p=r.align,d=o.isInsidePlot(e,Math.round(w),l),v="justify"===i(r.overflow,a?"none":"justify"),b=this.visible&&(n.series.forceDL||a&&!v||d||u&&o.isInsidePlot(e,l?u.x+1:u.y+u.height-1,l)),h=function(i){a&&k.xAxis&&!v&&k.setDataLabelStartPos(n,t,f,d,i)},g;b&&(g=o.renderer.fontMetrics(o.styledMode?void 0:r.style.fontSize,t).b,u=c({x:l?this.yAxis.len-w:e,y:Math.round(l?this.xAxis.len-e:w),width:0,height:0},u),c(r,{width:s.width,height:s.height}),y?(v=!1,e=o.renderer.rotCorr(g,y),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},h(e),t[f?"attr":"animate"](e).attr({align:p}),h=(y+720)%360,h=180<h&&360>h,"left"===p?e.y-=h?s.height:0:"center"===p?(e.x-=s.width/2,e.y-=s.height/2):"right"===p&&(e.x-=s.width,e.y-=h?0:s.height),t.placed=!0,t.alignAttr=e):(h(u),t.align(r,null,u),e=t.alignAttr),v&&0<=u.height?this.justifyDataLabel(t,r,e,s,u,f):i(r.crop,!0)&&(b=o.isInsidePlot(e.x,e.y)&&o.isInsidePlot(e.x+s.width,e.y+s.height)),r.shape&&!y&&t[f?"attr":"animate"]({anchorX:l?o.plotWidth-n.plotY:n.plotX,anchorY:l?o.plotHeight-n.plotX:n.plotY}));f&&a&&(t.placed=!1);b||a&&!v||(t.hide(!0),t.placed=!1)};o.prototype.setDataLabelStartPos=function(n,t,i,r,u){var s=this.chart,o=s.inverted,f=this.xAxis,h=f.reversed,e=o?t.height/2:t.width/2;n=(n=n.pointWidth)?n/2:0;f=o?u.x:h?-e-n:f.width-e+n;u=o?h?this.yAxis.height-e+n:-e-n:u.y;t.startXPos=f;t.startYPos=u;r?"hidden"===t.visibility&&(t.show(),t.attr({opacity:0}).animate({opacity:1})):t.attr({opacity:1}).animate({opacity:0}
1,void 0,t.hide);s.hasRendered&&(i&&t.attr({x:t.startXPos,y:t.startYPos}),t.placed=!0)};o.prototype.justifyDataLabel=function(n,t,i,r,u,f){var s=this.chart,c=t.align,l=t.verticalAlign,h=n.box?0:n.padding||0,e=i.x+h,o;return 0>e&&("right"===c?(t.align="left",t.inside=!0):t.x=-e,o=!0),e=i.x+r.width-h,e>s.plotWidth&&("left"===c?(t.align="right",t.inside=!0):t.x=s.plotWidth-e,o=!0),e=i.y+h,0>e&&("bottom"===l?(t.verticalAlign="top",t.inside=!0):t.y=-e,o=!0),e=i.y+r.height-h,e>s.plotHeight&&("top"===l?(t.verticalAlign="bottom",t.inside=!0):t.y=s.plotHeight-e,o=!0),o&&(n.placed=!f,n.align(t,null,u)),o};r.pie&&(r.pie.prototype.dataLabelPositioners={radialDistributionY:function(n){return n.top+n.distributeBox.pos},radialDistributionX:function(n,t,i,r){return n.getX(i<t.top+2||i>t.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}},r.pie.prototype.drawDataLabels=function(){var t=this,et=t.data,r,v=t.chart,h=t.options.dataLabels,p=h.connectorPadding,ot,tt=v.plotWidth,st=v.plotHeight,ht=v.plotLeft,ct=Math.round(v.chartWidth/3),y,ut=t.center,b=ut[2]/2,it=ut[1],c,k,w,d,lt=[[],[]],f,l,g,rt,s=[0,0,0,0],nt=t.dataLabelPositioners,ft;t.visible&&(h.enabled||t._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)}),o.prototype.drawDataLabels.apply(t),et.forEach(function(n){n.dataLabel&&(n.visible?(lt[n.half].push(n),n.dataLabel._pos=null,!u(h.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(e,o){var et=e.length,ft=[],y,a,ot;if(et)for(t.sortByAngle(e,o-.5),0<t.maxLabelDistance&&(a=Math.max(0,it-b-t.maxLabelDistance),ot=Math.min(it+b+t.maxLabelDistance,v.plotHeight),e.forEach(function(n){0<n.labelDistance&&n.dataLabel&&(n.top=Math.max(0,it-b-n.labelDistance),n.bottom=Math.min(it+b+n.labelDistance,v.plotHeight),y=n.dataLabel.getBBox().height||21,n.distributeBox={target:n.labelPosition.natural.y-n.top+y/2,size:y,rank:n.y},ft.push(n.distributeBox))}),a=ot+y-a,n.distribute(ft,a,a/5)),rt=0;rt<et;rt++){if(r=e[rt],w=r.labelPosition,c=r.dataLabel,g=!1===r.visible?"hidden":"inherit",l=a=w.natural.y,ft&&u(r.distributeBox)&&("undefined"==typeof r.distributeBox.pos?g="hidden":(d=r.distributeBox.size,l=nt.radialDistributionY(r))),delete r.positionIndex,h.justify)f=nt.justify(r,b,ut);else switch(h.alignTo){case"connectors":f=nt.alignToConnectors(e,o,tt,ht);break;case"plotEdges":f=nt.alignToPlotEdges(c,o,tt,ht);break;default:f=nt.radialDistributionX(t,r,l,a)}c._attr={visibility:g,align:w.alignment};c._pos={x:f+h.x+({left:p,right:-p}[w.alignment]||0),y:l+h.y-10};w.final.x=f;w.final.y=l;i(h.crop,!0)&&(k=c.getBBox().width,a=null,f-k<p&&1===o?(a=Math.round(k-f+p),s[3]=Math.max(a,s[3])):f+k>tt-p&&0===o&&(a=Math.round(f+k-tt+p),s[1]=Math.max(a,s[1])),0>l-d/2?s[0]=Math.max(Math.round(-l+d/2),s[0]):l+d/2>st&&(s[2]=Math.max(Math.round(l+d/2-st),s[2])),c.sideOverflow=a)}}),0===a(s)||this.verifyDataLabelOverflow(s))&&(this.placeDataLabels(),this.points.forEach(function(n){if(ft=e(h,n.options.dataLabels),ot=i(ft.connectorWidth,1)){var r;y=n.connector;(c=n.dataLabel)&&c._pos&&n.visible&&0<n.labelDistance?(g=c._attr.visibility,(r=!y)&&(n.connector=y=v.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+n.colorIndex+(n.className?" "+n.className:"")).add(t.dataLabelsGroup),v.styledMode||y.attr({"stroke-width":ot,stroke:ft.connectorColor||n.color||"#666666"})),y[r?"attr":"animate"]({d:n.getConnectorPath()}),y.attr("visibility",g)):y&&(n.connector=y.destroy())}}))}
1,r.pie.prototype.placeDataLabels=function(){this.points.forEach(function(n){var t=n.dataLabel,i;t&&n.visible&&((i=t._pos)?(t.sideOverflow&&(t._attr.width=Math.max(t.getBBox().width-t.sideOverflow,0),t.css({width:t._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(t._attr),t[t.moved?"animate":"attr"](i),t.moved=!0):t&&t.attr({y:-9999}));delete n.distributeBox},this)},r.pie.prototype.alignDataLabel=t,r.pie.prototype.verifyDataLabelOverflow=function(n){var t=this.center,r=this.options,e=r.center,u=r.minSize||80,f=null!==r.size,i;return f||(null!==e[0]?i=Math.max(t[2]-Math.max(n[1],n[3]),u):(i=Math.max(t[2]-n[1]-n[3],u),t[0]+=(n[3]-n[1])/2),null!==e[1]?i=s(i,u,t[2]-Math.max(n[0],n[2])):(i=s(i,u,t[2]-n[0]-n[2]),t[1]+=(n[0]-n[2])/2),i<t[2]?(t[2]=i,t[3]=Math.min(y(r.innerSize||0,i),i),this.translate(t),this.drawDataLabels&&this.drawDataLabels()):f=!0),f});r.column&&(r.column.prototype.alignDataLabel=function(n,t,r,u,f){var h=this.chart.inverted,c=n.series,s=n.dlBox||n.shapeArgs,l=i(n.below,n.plotY>i(this.translatedThreshold,c.yAxis.len)),a=i(r.inside,!!this.options.stacking);s&&(u=e(s),0>u.y&&(u.height+=u.y,u.y=0),s=u.y+u.height-c.yAxis.len,0<s&&(u.height-=s),h&&(u={x:c.yAxis.len-u.y-u.height,y:c.xAxis.len-u.x-u.width,width:u.height,height:u.width}),a||(h?(u.x+=l?0:u.width,u.width=0):(u.y+=l?u.height:0,u.height=0)));r.align=i(r.align,!h||a?"center":l?"right":"left");r.verticalAlign=i(r.verticalAlign,h||a?"middle":l?"top":"bottom");o.prototype.alignDataLabel.call(this,n,t,r,u,f);u&&(0>=u.height&&u.y===this.chart.plotHeight||0>=u.width&&0===u.x)&&(t.hide(!0),t.placed=!1);r.inside&&n.contrastColor&&t.css({color:n.contrastColor})})}),i(t,"modules/overlapping-datalabels.src.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var f=t.isArray,r=t.objectEach,e=t.pick,u,i;t=n.Chart;u=n.addEvent;i=n.fireEvent;u(t,"render",function(){var n=[];(this.labelCollectors||[]).forEach(function(t){n=n.concat(t())});(this.yAxis||[]).forEach(function(t){t.options.stackLabels&&!t.options.stackLabels.allowOverlap&&r(t.stacks,function(t){r(t,function(t){n.push(t.label)})})});(this.series||[]).forEach(function(t){var i=t.options.dataLabels;t.visible&&(!1!==i.enabled||t._hasPointLabels)&&t.points.forEach(function(t){t.visible&&(f(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[]).forEach(function(i){var r=i.options;i.labelrank=e(r.labelrank,t.labelrank,t.shapeArgs&&t.shapeArgs.height);r.allowOverlap||n.push(i)})})});this.hideOverlappingLabels(n)});t.prototype.hideOverlappingLabels=function(n){for(var s=this,h=n.length,l=s.renderer,t,o,c=!1,e=function(n){var i=n.box?0:n.padding||0,t=0,r,u;if(n&&(!n.alignAttr||n.placed))return r=n.alignAttr||{x:n.attr("x"),y:n.attr("y")},u=n.parentGroup,n.width||(t=n.getBBox(),n.width=t.width,n.height=t.height,t=l.fontMetrics(null,n.element).h),{x:r.x+(u.translateX||0)+i,y:r.y+(u.translateY||0)+i-t,width:n.width-2*i,height:n.height-2*i}},u,f,r=0;r<h;r++)(t=n[r])&&(t.oldOpacity=t.opacity,t.newOpacity=1,t.absoluteBox=e(t));for(n.sort(function(n,t){return(t.labelrank||0)-(n.labelrank||0)}),r=0;r<h;r++)for(u=(e=n[r])&&e.absoluteBox,t=r+1;t<h;++t)f=(o=n[t])&&o.absoluteBox,!u||!f||e===o||0===e.newOpacity||0===o.newOpacity||f.x>u.x+u.width||f.x+f.width<u.x||f.y>u.y+u.height||f.y+f.height<u.y||((e.labelrank<o.labelrank?e:o).newOpacity=0);n.forEach(function(n){var r,t;n&&(t=n.newOpacity,n.oldOpacity!==t&&(n.alignAttr&&n.placed?(t?n.show(!0):r=function(){n.hide(!0);n.placed=!1},c=!0,n.alignAttr.opacity=t,n[n.isOld?"animate":"attr"](n.alignAttr,null,r),i(s,"afterHideOverlappingLabel")):n.attr({opacity:t})),n.isOld=!0)});c&&i(s,"afterHideAllOverlappingLabels")}}),i(t,"parts/Interaction.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var a=t.defined,f=t.extend,v=t.isArray,y=t.isObject,p=t.objectEach,r=t.pick,o=n.addEvent;t=n.Chart;var w=n.createElement,s=n.css,b=n.defaultOptions,k=n.defaultPlotOptions,i=n.fireEvent,h=n.hasTouch,d=n.Legend,c=n.merge,l=n.Point,g=n.Series,u=n.seriesTypes,nt=n.svg,e=n.TrackerMixin={drawTrackerPoint:function(){var n=this,r=n.chart,t=r.pointer,u=function(n){var i=t.getPointFromEvent(n);"undefined"!=typeof i&&(t.isDirectTouch=!0,i.onMouseOver(n))},f;
1n.points.forEach(function(n){f=v(n.dataLabels)?n.dataLabels:n.dataLabel?[n.dataLabel]:[];n.graphic&&(n.graphic.element.point=n);f.forEach(function(t){t.div?t.div.point=n:t.element.point=n})});n._hasTracking||(n.trackerGroups.forEach(function(i){if(n[i]){n[i].addClass("highcharts-tracker").on("mouseover",u).on("mouseout",function(n){t.onTrackerMouseOut(n)});if(h)n[i].on("touchstart",u);!r.styledMode&&n.options.cursor&&n[i].css(s).css({cursor:n.options.cursor})}}),n._hasTracking=!0);i(this,"afterDrawTracker")},drawTrackerGraph:function(){var n=this,e=n.options,f=e.trackByArea,r=[].concat(f?n.areaPath:n.graphPath),o=r.length,u=n.chart,v=u.pointer,y=u.renderer,s=u.options.tooltip.snap,c=n.tracker,t,l=function(){u.hoverSeries!==n&&n.onMouseOver()},a="rgba(192,192,192,"+(nt?.0001:.002)+")";if(o&&!f)for(t=o+1;t--;)"M"===r[t]&&r.splice(t+1,0,r[t+1]-s,r[t+2],"L"),(t&&"M"===r[t]||t===o)&&r.splice(t,0,"L",r[t-2]+s,r[t-1]);c?c.attr({d:r}):n.graph&&(n.tracker=y.path(r).attr({visibility:n.visible?"visible":"hidden",zIndex:2}).addClass(f?"highcharts-tracker-area":"highcharts-tracker-line").add(n.group),u.styledMode||n.tracker.attr({"stroke-linejoin":"round",stroke:a,fill:f?a:"none","stroke-width":n.graph.strokeWidth()+(f?0:2*s)}),[n.tracker,n.markerGroup].forEach(function(n){n.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",function(n){v.onTrackerMouseOut(n)});if(e.cursor&&!u.styledMode&&n.css({cursor:e.cursor}),h)n.on("touchstart",l)}));i(this,"afterDrawTracker")}};u.column&&(u.column.prototype.drawTracker=e.drawTrackerPoint);u.pie&&(u.pie.prototype.drawTracker=e.drawTrackerPoint);u.scatter&&(u.scatter.prototype.drawTracker=e.drawTrackerPoint);f(d.prototype,{setItemEvents:function(n,t,r){var u=this,e=u.chart.renderer.boxWrapper,f=n instanceof l,o="highcharts-legend-"+(f?"point":"series")+"-active",s=u.chart.styledMode;(r?t:n.legendGroup).on("mouseover",function(){n.visible&&u.allItems.forEach(function(t){n!==t&&t.setState("inactive",!f)});n.setState("hover");n.visible&&e.addClass(o);s||t.css(u.options.itemHoverStyle)}).on("mouseout",function(){u.chart.styledMode||t.css(c(n.visible?u.itemStyle:u.itemHiddenStyle));u.allItems.forEach(function(t){n!==t&&t.setState("",!f)});e.removeClass(o);n.setState()}).on("click",function(t){var r=function(){n.setVisible&&n.setVisible();u.allItems.forEach(function(t){n!==t&&t.setState(n.visible?"inactive":"",!f)})};e.removeClass(o);t={browserEvent:t};n.firePointEvent?n.firePointEvent("legendItemClick",t,r):i(n,"legendItemClick",t,r)})},createCheckboxForItem:function(n){n.checkbox=w("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:n.selected,defaultChecked:n.selected},this.options.itemCheckboxStyle,this.chart.container);o(n.checkbox,"click",function(t){i(n.series||n,"checkboxClick",{checked:t.target.checked,item:n},function(){n.select()})})}});f(t.prototype,{showResetZoom:function(){function e(){t.zoomOut()}var t=this,r=b.lang,n=t.options.chart.resetZoomButton,u=n.theme,f=u.states,o="chart"===n.relativeTo||"spaceBox"===n.relativeTo?null:"plotBox";i(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(r.resetZoom,null,null,e,u,f&&f.hover).attr({align:n.position.align,title:r.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(n.position,!1,o)});i(this,"afterShowResetZoom")},zoomOut:function(){i(this,"selection",{resetSelection:!0}
1,this.zoom)},zoom:function(n){var t=this,f,i=t.pointer,e=!1,o=t.inverted?i.mouseDownX:i.mouseDownY,u;!n||n.resetSelection?(t.axes.forEach(function(n){f=n.zoom()}),i.initiated=!1):n.xAxis.concat(n.yAxis).forEach(function(n){var r=n.axis,u=t.inverted?r.left:r.top,c=t.inverted?u+r.width:u+r.height,s=r.isXAxis,h=!1;(!s&&o>=u&&o<=c||s||!a(o))&&(h=!0);i[s?"zoomX":"zoomY"]&&h&&(f=r.zoom(n.min,n.max),r.displayBtn&&(e=!0))});u=t.resetZoomButton;e&&!u?t.showResetZoom():!e&&y(u)&&(t.resetZoomButton=u.destroy());f&&t.redraw(r(t.options.chart.animation,n&&n.animation,100>t.pointCount))},pan:function(n,t){var r=this,e=r.hoverPoints,u=r.options.chart,o,f;t="object"==typeof t?t:{enabled:t,type:"x"};u&&u.panning&&(u.panning=t);f=t.type;i(this,"pan",{originalEvent:n},function(){e&&e.forEach(function(n){n.setState()});var t=[1];"xy"===f?t=[1,0]:"y"===f&&(t=[0]);t.forEach(function(t){var i=r[t?"xAxis":"yAxis"][0],h=i.options,l=i.horiz,a=n[l?"chartX":"chartY"],v;l=l?"mouseDownX":"mouseDownY";var f=r[l],c=(i.pointRange||0)/2,e=i.reversed&&!r.inverted||!i.reversed&&r.inverted?-1:1,s=i.getExtremes(),u=i.toValue(f-a,!0)+c*e;e=i.toValue(f+i.len-a,!0)-c*e;v=e<u;f=v?e:u;u=v?u:e;e=Math.min(s.dataMin,c?s.min:i.toValue(i.toPixels(s.min)-i.minPixelPadding));c=Math.max(s.dataMax,c?s.max:i.toValue(i.toPixels(s.max)+i.minPixelPadding));h.ordinal||(t&&(h=e-f,0<h&&(u+=h,f=e),h=u-c,0<h&&(u=c,f-=h)),(i.series.length&&f!==s.min&&u!==s.max&&t||i.panningState&&f>=i.panningState.startMin&&u<=i.panningState.startMax)&&(i.setExtremes(f,u,!1,!1,{trigger:"pan"}),o=!0),r[l]=a)});o&&r.redraw(!1);s(r.container,{cursor:"move"})})}});f(l.prototype,{select:function(n,t){var i=this,u=i.series,f=u.chart;this.selectedStaging=n=r(n,!i.selected);i.firePointEvent(n?"select":"unselect",{accumulate:t},function(){i.selected=i.options.selected=n;u.options.data[u.data.indexOf(i)]=i.options;i.setState(n&&"select");
1t||f.getSelectedPoints().forEach(function(n){var t=n.series;n.selected&&n!==i&&(n.selected=n.options.selected=!1,t.options.data[t.data.indexOf(n)]=n.options,n.setState(f.hoverPoints&&t.options.inactiveOtherPoints?"inactive":""),n.firePointEvent("unselect"))})});delete this.selectedStaging},onMouseOver:function(n){var i=this.series.chart,t=i.pointer;n=n?t.normalize(n):t.getChartCoordinatesFromPoint(this,i.inverted);t.runPointActions(n,this)},onMouseOut:function(){var n=this.series.chart;this.firePointEvent("mouseOut");this.series.options.inactiveOtherPoints||(n.hoverPoints||[]).forEach(function(n){n.setState()});n.hoverPoints=n.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var t=this,i=c(t.series.options.point,t.options).events;t.events=i;p(i,function(i,r){n.isFunction(i)&&o(t,r,i)});this.hasImportedEvents=!0}},setState:function(n,t){var e=this.series,h=this.state,a=e.options.states[n||"normal"]||{},c=k[e.type].marker&&e.options.marker,b=c&&!1===c.enabled,v=c&&c.states&&c.states[n||"normal"]||{},d=!1===v.enabled,u=e.stateMarkerGraphic,y=this.marker||{},l=e.chart,o=e.halo,s,g=c&&e.markerAttribs,p,w;n=n||"";n===this.state&&!t||this.selected&&"select"!==n||!1===a.enabled||n&&(d||b&&!1===v.enabled)||n&&y.states&&y.states[n]&&!1===y.states[n].enabled||(this.state=n,g&&(s=e.markerAttribs(this,n)),this.graphic?(h&&this.graphic.removeClass("highcharts-point-"+h),n&&this.graphic.addClass("highcharts-point-"+n),l.styledMode||(p=e.pointAttribs(this,n),w=r(l.options.chart.animation,a.animation),e.options.inactiveOtherPoints&&((this.dataLabels||[]).forEach(function(n){n&&n.animate({opacity:p.opacity},w)}),this.connector&&this.connector.animate({opacity:p.opacity},w)),this.graphic.animate(p,w)),s&&this.graphic.animate(s,r(l.options.chart.animation,v.animation,c.animation)),u&&u.hide()):(n&&v&&(h=y.symbol||e.symbol,u&&u.currentSymbol!==h&&(u=u.destroy()),s&&(u?u[t?"animate":"attr"]({x:s.x,y:s.y}):h&&(e.stateMarkerGraphic=u=l.renderer.symbol(h,s.x,s.y,s.width,s.height).add(e.markerGroup),u.currentSymbol=h)),!l.styledMode&&u&&u.attr(e.pointAttribs(this,n))),u&&(u[n&&this.isInside?"show":"hide"](),u.element.point=this)),n=a.halo,a=(u=this.graphic||u)&&u.visibility||"inherit",n&&n.size&&u&&"hidden"!==a&&!this.isCluster?(o||(e.halo=o=l.renderer.path().add(u.parentGroup)),o.show()[t?"animate":"attr"]({d:this.haloPath(n.size)}),o.attr({"class":"highcharts-halo highcharts-color-"+r(this.colorIndex,e.colorIndex)+(this.className?" "+this.className:""),visibility:a,zIndex:-1}),o.point=this,l.styledMode||o.attr(f({fill:this.color||e.color,"fill-opacity":n.opacity},n.attributes))):o&&o.point&&o.point.haloPath&&o.animate({d:o.point.haloPath(0)},null,o.hide),i(this,"afterSetState"))},haloPath:function(n){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-n,this.plotY-n,2*n,2*n)}});f(g.prototype,{onMouseOver:function(){var t=this.chart,n=t.hoverSeries;n&&n!==this&&n.onMouseOut();this.options.events.mouseOver&&i(this,"mouseOver");this.setState("hover");t.hoverSeries=this},onMouseOut:function(){var u=this.options,n=this.chart,t=n.tooltip,r=n.hoverPoint;n.hoverSeries=null;r&&r.onMouseOut();this&&u.events.mouseOut&&i(this,"mouseOut");!t||this.stickyTracking||t.shared&&!this.noSharedTooltip||t.hide();n.series.forEach(function(n){n.setState("",!0)})},setState:function(n,t){var i=this,f=i.options,e=i.graph,h=f.inactiveOtherPoints,u=f.states,o=f.lineWidth,s=f.opacity,c=r(u[n||"normal"]&&u[n||"normal"].animation,i.chart.options.chart.animation);if(f=0,n=n||"",i.state!==n&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(t){t&&(i.state&&t.removeClass("highcharts-series-"+i.state),n&&t.addClass("highcharts-series-"+n))}),i.state=n,!i.chart.styledMode)){if(u[n]&&!1===u[n].enabled)return;if(n&&(o=u[n].lineWidth||o+(u[n].lineWidthPlus||0),s=r(u[n].opacity,s)),e&&!e.dashstyle)for(u={"stroke-width":o},e.animate(u,c);i["zone-graph-"+f];)i["zone-graph-"+f].attr(u),f+=1;h||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(n){n&&n.animate({opacity:s},c)})}t&&h&&i.points&&i.setAllPointsToState(n)}
1,setAllPointsToState:function(n){this.points.forEach(function(t){t.setState&&t.setState(n)})},setVisible:function(n,t){var r=this,u=r.chart,e=r.legendItem,o=u.options.chart.ignoreHiddenSeries,s=r.visible,f=(r.visible=n=r.options.visible=r.userOptions.visible="undefined"==typeof n?!s:n)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(n){r[n]&&r[n][f]()});(u.hoverSeries===r||(u.hoverPoint&&u.hoverPoint.series)===r)&&r.onMouseOut();e&&u.legend.colorizeItem(r,n);r.isDirty=!0;r.options.stacking&&u.series.forEach(function(n){n.options.stacking&&n.visible&&(n.isDirty=!0)});r.linkedSeries.forEach(function(t){t.setVisible(n,!1)});o&&(u.isDirtyBox=!0);i(r,f);!1!==t&&u.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(n){this.selected=n=this.options.selected="undefined"==typeof n?!this.selected:n;this.checkbox&&(this.checkbox.checked=n);i(this,n?"select":"unselect")},drawTracker:e.drawTrackerGraph})}),i(t,"parts/Responsive.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.isArray,u=t.isObject,f=t.objectEach,i=t.pick,e=t.splat;t=n.Chart;t.prototype.setResponsive=function(t,i){var f=this.options.responsive,r=[],u=this.currentResponsive;
1!i&&f&&f.rules&&f.rules.forEach(function(t){"undefined"==typeof t._id&&(t._id=n.uniqueKey());this.matchResponsiveRule(t,r)},this);i=n.merge.apply(0,r.map(function(t){return n.find(f.rules,function(n){return n._id===t}).chartOptions}));i.isResponsiveOptions=!0;r=r.toString()||void 0;r!==(u&&u.ruleIds)&&(u&&this.update(u.undoOptions,t,!0),r?(u=this.currentOptions(i),u.isResponsiveOptions=!0,this.currentResponsive={ruleIds:r,mergedOptions:i,undoOptions:u},this.update(i,t,!0)):this.currentResponsive=void 0)};t.prototype.matchResponsiveRule=function(n,t){var r=n.condition;(r.callback||function(){return this.chartWidth<=i(r.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=i(r.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=i(r.minWidth,0)&&this.chartHeight>=i(r.minHeight,0)}).call(this)&&t.push(n._id)};t.prototype.currentOptions=function(n){function t(n,i,s,h){var c;f(n,function(n,f){if(!h&&-1<o.collectionsWithUpdate.indexOf(f))for(n=e(n),s[f]=[],c=0;c<n.length;c++)i[f][c]&&(s[f][c]={},t(n[c],i[f][c],s[f][c],h+1));else u(n)?(s[f]=r(n)?[]:{},t(n,i[f]||{},s[f],h+1)):s[f]="undefined"==typeof i[f]?null:i[f]})}var o=this,i={};return t(n,this.options,i,0),i}}),i(t,"masters/highcharts.src.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var i=t.extend;return i(n,{animObject:t.animObject,arrayMax:t.arrayMax,arrayMin:t.arrayMin,attr:t.attr,correctFloat:t.correctFloat,defined:t.defined,destroyObjectProperties:t.destroyObjectProperties,discardElement:t.discardElement,erase:t.erase,extend:t.extend,extendClass:t.extendClass,isArray:t.isArray,isClass:t.isClass,isDOMElement:t.isDOMElement,isNumber:t.isNumber,isObject:t.isObject,isString:t.isString,numberFormat:t.numberFormat,objectEach:t.objectEach,offset:t.offset,pad:t.pad,pick:t.pick,pInt:t.pInt,relativeLength:t.relativeLength,setAnimation:t.setAnimation,splat:t.splat,syncTimeout:t.syncTimeout,wrap:t.wrap}),n}),i(t,"parts/Scrollbar.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){function o(n,t,i){this.init(n,t,i)}var r=t.correctFloat,e=t.defined,a=t.destroyObjectProperties,i=t.pick,u=n.addEvent;t=n.Axis;var c=n.defaultOptions,f=n.fireEvent,v=n.hasTouch,s=n.merge,y=n.removeEvent,h,l={height:n.isTouchDevice?20:14,barBorderRadius:0,buttonBorderRadius:0,liveRedraw:void 0,margin:10,minWidth:6,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:1,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"#333333",trackBackgroundColor:"#f2f2f2",trackBorderColor:"#f2f2f2",trackBorderWidth:1};c.scrollbar=s(!0,l,c.scrollbar);n.swapXY=h=function(n,t){var r=n.length,i;if(t)for(t=0;t<r;t+=3)i=n[t+1],n[t+1]=n[t+2],n[t+2]=i;return n};o.prototype={init:function(n,t,r){this.scrollbarButtons=[];this.renderer=n;this.userOptions=t;this.options=s(l,t);this.chart=r;this.size=i(this.options.size,this.options.height);t.enabled&&(this.render(),this.initEvents(),this.addEvents())},render:function(){var i=this.renderer,n=this.options,t=this.size,u=this.chart.styledMode,r;this.group=r=i.g("scrollbar").attr({zIndex:n.zIndex,translateY:-99999}).add();this.track=i.rect().addClass("highcharts-scrollbar-track").attr({x:0,r:n.trackBorderRadius||0,height:t,width:t}).add(r);u||this.track.attr({fill:n.trackBackgroundColor,stroke:n.trackBorderColor,"stroke-width":n.trackBorderWidth});this.trackBorderWidth=this.track.strokeWidth();this.track.attr({y:-this.trackBorderWidth%2/2});this.scrollbarGroup=i.g().add(r);this.scrollbar=i.rect().addClass("highcharts-scrollbar-thumb").attr({height:t,width:t,r:n.barBorderRadius||0}).add(this.scrollbarGroup);this.scrollbarRifles=i.path(h(["M",-3,t/4,"L",-3,2*t/3,"M",0,t/4,"L",0,2*t/3,"M",3,t/4,"L",3,2*t/3],n.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup);u||(this.scrollbar.attr({fill:n.barBackgroundColor,stroke:n.barBorderColor,"stroke-width":n.barBorderWidth}),this.scrollbarRifles.attr({stroke:n.rifleColor,"stroke-width":1}));this.scrollbarStrokeWidth=this.scrollbar.strokeWidth();this.scrollbarGroup.translate(-this.scrollbarStrokeWidth%2/2,-this.scrollbarStrokeWidth%2/2);this.drawScrollbarButton(0);this.drawScrollbarButton(1)},position:function(n,t,i,r){var u=this.options.vertical,f=0,e=this.rendered?"animate":"attr";this.x=n;this.y=t+this.trackBorderWidth;this.width=i;this.xOffset=this.height=r;this.yOffset=f;u?(this.width=this.yOffset=i=f=this.size,this.xOffset=t=0,this.barWidth=r-2*i,this.x=n+=this.options.margin):(this.height=this.xOffset=r=t=this.size,this.barWidth=i-2*r,this.y+=this.options.margin);this.group[e]({translateX:n,translateY:this.y});this.track[e]({width:i,height:r});this.scrollbarButtons[1][e]({translateX:u?0:i-t,translateY:u?r-f:0})},drawScrollbarButton:function(n){var u=this.renderer,f=this.scrollbarButtons,r=this.options,i=this.size,t=u.g().add(this.group);f.push(t);t=u.rect().addClass("highcharts-scrollbar-button").add(t);this.chart.styledMode||t.attr({stroke:r.buttonBorderColor,"stroke-width":r.buttonBorderWidth,fill:r.buttonBackgroun
1dColor});t.attr(t.crisp({x:-.5,y:-.5,width:i+1,height:i+1,r:r.buttonBorderRadius},t.strokeWidth()));t=u.path(h(["M",i/2+(n?-1:1),i/2-3,"L",i/2+(n?-1:1),i/2+3,"L",i/2+(n?2:-2),i/2],r.vertical)).addClass("highcharts-scrollbar-arrow").add(f[n]);this.chart.styledMode||t.attr({fill:r.buttonArrowColor})},setRange:function(n,t){var h=this.options,c=h.vertical,i=h.minWidth,f=this.barWidth,u,o=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate",s;e(f)&&(n=Math.max(n,0),s=Math.ceil(f*n),this.calculatedWidth=u=r(f*Math.min(t,1)-s),u<i&&(s=(f-i+u)*n,u=i),i=Math.floor(s+this.xOffset+this.yOffset),f=u/2-.5,this.from=n,this.to=t,c?(this.scrollbarGroup[o]({translateY:i}),this.scrollbar[o]({height:u}),this.scrollbarRifles[o]({translateY:f}),this.scrollbarTop=i,this.scrollbarLeft=0):(this.scrollbarGroup[o]({translateX:i}),this.scrollbar[o]({width:u}),this.scrollbarRifles[o]({translateX:f}),this.scrollbarLeft=i,this.scrollbarTop=0),12>=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",u=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(u[0]+i,u[1]+i),n.hasDragged&&f(n,"changed",{from:n.from,to:n.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))};n.mouseUpHandler=function(t){n.hasDragged&&f(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 i=r(n.to-n.from)*n.options.step;n.updatePosition(r(n.from-i),r(n.to-i));f(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);f(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,u=n.y+n.scrollbarTop,e=n.x+n.scrollbarLeft;n.options.vertical&&r.chartY>u||!n.options.vertical&&r.chartX>e?n.updatePosition(n.from+i,n.to+i):n.updatePosition(n.from-i,n.to-i);f(n,"changed",{from:n.from,to:n.to,trigger:"scrollbar",DOMEvent:t})}},cursorToScrollbarPosition:function(n){var t=this.options;return t=t.minWidth>this.calculatedWidth?t.minWidth:0,{chartX:(n.chartX-this.x-this.xOffset)/(this.barWidth-t),chartY:(n.chartY-this.y-this.yOffset)/(this.barWidth-t)}},updatePosition:function(n,t){1<t&&(n=r(1-r(t-n)),t=1);0>n&&(t=r(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 n=this.options.inverted?[1,0]:[0,1],i=this.scrollbarButtons,t=this.scrollbarGroup.element,r=this.mouseDownHandler,f=this.mouseMoveHandler,e=this.mouseUpHandler;n=[[i[n[0]].element,"click",this.buttonToMinClick],[i[n[1]].element,"click",this.buttonToMaxClick],[this.track.element,"click",this.trackClick],[t,"mousedown",r],[t.ownerDocument,"mousemove",f],[t.ownerDocument,"mouseup",e]];v&&n.push([t,"touchstart",r],[t.ownerDocument,"touchmove",f],[t.ownerDocument,"touchend",e]);n.forEach(function(n){u.apply(null,n)});this._events=n},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||(u(t,"afterInit",function(){var t=this;t.options&&t.options.scrollbar&&t.options.scrollbar.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new o(t.chart.renderer,t.options.scrollbar,t.chart),u(t.scrollbar,"changed",function(r){var u=Math.min(i(t.options.min,t.min),t.min,t.dataMin),f=Math.max(i(t.o
1ptions.max,t.max),t.max,t.dataMax)-u,o;t.horiz&&!t.reversed||!t.horiz&&t.reversed?(o=u+f*this.to,u+=f*this.from):(o=u+f*(1-this.from),u+=f*(1-this.to));i(this.options.liveRedraw,n.svg&&!n.isTouchDevice&&!this.chart.isBoosting)||"mouseup"===r.DOMType||!e(r.DOMType)?t.setExtremes(u,o,!0,"mousemove"!==r.DOMType,r):this.setRange(this.from,this.to)}))}),u(t,"afterRender",function(){var t=Math.min(i(this.options.min,this.min),this.min,i(this.dataMin,this.min)),o=Math.max(i(this.options.max,this.max),this.max,i(this.dataMax,this.max)),r=this.scrollbar,u=this.axisTitleMargin+(this.titleOffset||0),n=this.chart.scrollbarsOffsets,f=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?f:0),this.width,this.height),this.opposite||(n[1]+=f),u=1):(this.opposite&&(n[0]+=u),r.position(this.left+this.width+2+n[0]-(this.opposite?0:f),this.top,this.width,this.height),this.opposite&&(n[0]+=f),u=0),n[u]+=r.size+r.options.margin,isNaN(t)||isNaN(o)||!e(this.min)||!e(this.max)||this.min===this.max?r.setRange(0,1):(n=(this.min-t)/(o-t),t=(this.max-t)/(o-t),this.horiz&&!this.reversed||!this.horiz&&this.reversed?r.setRange(n,t):r.setRange(1-t,1-n)))}),u(t,"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=o)}),i(t,"parts/Navigator.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){function l(n){this.init(n)}var p=t.clamp,o=t.correctFloat,u=t.defined,k=t.destroyObjectProperties,s=t.erase,w=t.extend,b=t.isArray,f=t.isNumber,r=t.pick,d=t.splat,i=n.addEvent,h=n.Axis;t=n.Chart;var g=n.color,a=n.defaultOptions,nt=n.hasTouch,c=n.isTouchDevice,e=n.merge,y=n.removeEvent,tt=n.Scrollbar,it=n.Series,v=function(n){for(var t=[],i=1;i<arguments.length;i++)t[i-1]=arguments[i];return t=[].filter.call(t,f),t.length?Math[n].apply(0,t):void 0},rt="undefined"==typeof n.seriesTypes.areaspline?"line":"areaspline";w(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:g("#6685c2").setOpacity(.3).get(),outlineColor:"#cccccc",outlineWidth:1,series:{type:rt,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},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]};h.prototype.toFixedRange=function(n,t,i,e){var s=this.chart&&this.chart.fixedRange,c=(this.pointRange||0)/2,h;return n=r(i,this.translate(n,!0,!this.horiz)),t=r(e,this.translate(t,!0,!this.horiz)),h=s&&(t-n)/s,u(i)||(n=o(n+c)),u(e)||(t=o(t-c)),.7<h&&1.3>h&&(e?n=t-s:t=n+s),f(n)&&f(t)||(n=t=void 0),{min:n,max:t}};l.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,e=this.outline.strokeWidth(),s=e/2;e=e%2/2;var o=this.outlineHeight,h=this.scrollbarHeight,l=this.size,u=this.left-h,f=this.top;i?(u-=s,i=f+t+e,t=f+n+e,n=["M",u+o,f-h-e,"L",u+o,i,"L",u,i,"L",u,t,"L",u+o,t,"L",u+o,f+l+h].concat(c?["M",u+o,i-s,"L",u+o,t+s]:[])):(n+=u+h-e,t+=u+h-e,f+=s,n=["M",u,f,"L",n,f,"L",n,f+o,"L",t,f+o,"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;if(i)var o=[u,u,u],s=[f,f+n,f+t],h=[e,e,e],c=[n,t-n,this.size-t];else o=[u,u+n,u+t],s=[f,f,f],h=[n,t-n,this.size-t],c=[e,e,e];
1this.shades.forEach(function(n,t){n[r]({x:o[t],y:s[t],width:h[t],height:c[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();e(!0,this.chart.options.navigator,this.options,n);this.init(this.chart)},render:function(n,t,i,e){var h=this.chart,c=this.scrollbarHeight,b,s=this.xAxis,a=s.pointRange||0,v=s.fake?h.xAxis[0]:s,d=this.navigatorEnabled,y,w=this.rendered,l=h.inverted,g=h.xAxis[0].minRange,k=h.xAxis[0].options.maxRange,nt;if(!this.hasDragged||u(i)){if(n=o(n-a/2),t=o(t+a/2),!f(n)||!f(t))if(w)i=0,e=r(s.width,v.width);else return;this.left=r(s.left,h.plotLeft+c+(l?h.plotWidth:0));this.size=y=b=r(s.len,(l?h.plotHeight:h.plotWidth)-2*c);h=l?c:b+2*c;i=r(i,s.toPixels(n,!0));e=r(e,s.toPixels(t,!0));f(i)&&Infinity!==Math.abs(i)||(i=0,e=h);n=s.toValue(i,!0);t=s.toValue(e,!0);nt=Math.abs(o(t-n));nt<g?this.grabbedLeft?i=s.toPixels(t-g-a,!0):this.grabbedRight&&(e=s.toPixels(n+g+a,!0)):u(k)&&o(nt-a)>k&&(this.grabbedLeft?i=s.toPixels(t-k-a,!0):this.grabbedRight&&(e=s.toPixels(n+k+a,!0)));this.zoomedMax=p(Math.max(i,e),0,y);this.zoomedMin=p(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,e),0,y);this.range=this.zoomedMax-this.zoomedMin;y=Math.round(this.zoomedMax);i=Math.round(this.zoomedMin);d&&(this.navigatorGroup.attr({visibility:"visible"}),w=w&&!this.hasDragged?"animate":"attr",this.drawMasks(i,y,l,w),this.drawOutline(i,y,l,w),this.navigatorOptions.handles.enabled&&(this.drawHandle(i,0,l,w),this.drawHandle(y,1,l,w)));this.scrollbar&&(l?(l=this.top-c,v=this.left-c+(d||!v.opposite?0:(v.titleOffset||0)+v.axisTitleMargin),c=b+2*c):(l=this.top+(d?this.height:-c),v=this.left-c),this.scrollbar.position(v,l,h,c),this.scrollbar.setRange(this.zoomedMin/(b||1),this.zoomedMax/(b||1)));this.rendered=!0}},addMouseEvents:function(){var n=this,r=n.chart,e=r.container,t=[],u,f;n.mouseMoveHandler=u=function(t){n.onMouseMove(t)};n.mouseUpHandler=f=function(t){n.onMouseUp(t)};t=n.getPartsEvents("mousedown");t.push(i(r.renderTo,"mousemove",u),i(e.ownerDocument,"mouseup",f));nt&&(t.push(i(r.renderTo,"touchmove",u),i(e.ownerDocument,"touchend",f)),t.concat(n.getPartsEvents("touchstart")));n.eventsToUnbind=t;n.series&&n.series[0]&&t.push(i(n.series[0].xAxis,"foundExtremes",function(){r.navigator.modifyNavigatorAxisExtremes()}))},getPartsEvents:function(n){var t=this,r=[];return["shades","handles"].forEach(function(u){t[u].forEach(function(f,e){r.push(i(f.element,n,function(n){t[u+"Mousedown"](n,e)}))})}),r},shadesMousedown:function(n,t){var h,c;n=this.chart.pointer.normalize(n);var f=this.chart,l=this.xAxis,e=this.zoomedMin,o=this.left,s=this.size,i=this.range,r=n.chartX;f.inverted&&(r=n.chartY,o=this.top);1===t?(this.grabbedCenter=r,this.fixedWidth=i,this.dragOffset=r-e):(n=r-o-i/2,0===t?n=Math.max(0,n):2===t&&n+i>=s&&((n=s-i,this.reversedExtremes)?(n-=i,h=this.getUnionExtremes().dataMin):c=this.getUnionExtremes().dataMax),n!==e&&(this.fixedWidth=i,t=l.toFixedRange(n,n+i,h,c),u(t.min)&&f.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 i=this,u=i.chart,e=i.left,s=i.navigatorSize,o=i.range,f=i.dragOffset,h=u.inverted;t.touches&&0===t.touches[0].pageX||(t=u.pointer.normalize(t),u=t.chartX,h&&(e=i.top,u=t.chartY),i.grabbedLeft?(i.hasDragged=!0,i.render(0,0,u-e,i.otherHandlePos)):i.grabbedRight?(i.hasDragged=!0,i.render(0,0,i.otherHandlePos,u-e)):i.grabbedCenter&&(i.hasDragged=!0,u<f?u=f:u>
1s+f-o&&(u=s+f-o),i.render(0,0,u-f,u-f+o)),i.hasDragged&&i.scrollbar&&r(i.scrollbar.options.liveRedraw,n.svg&&!c&&!this.chart.isBoosting)&&(t.DOMType=t.type,setTimeout(function(){i.onMouseUp(t)},0)))},onMouseUp:function(n){var e=this.chart,t=this.xAxis,i=this.scrollbar,o=n.DOMEvent||n,r,f;(!this.hasDragged||i&&i.hasDragged)&&"scrollbar"!==n.trigger||(i=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(f=this.fixedExtreme),this.zoomedMax===this.size&&(f=this.reversedExtremes?i.dataMin:i.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?i.dataMax:i.dataMin),t=t.toFixedRange(this.zoomedMin,this.zoomedMax,r,f),u(t.min)&&e.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&&"touchmove"!==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){y(n,"updatedData",this.updatedDataHandler)},this),n[0].xAxis&&y(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))},init:function(n){var u=n.options,s=u.navigator,f=s.enabled,c=u.scrollbar,l=c.enabled,o,t,a;u=f?s.height:0;o=l?c.height:0;this.handles=[];this.shades=[];this.chart=n;this.setBaseSeries();this.height=u;this.scrollbarHeight=o;this.scrollbarEnabled=l;this.navigatorEnabled=f;this.navigatorOptions=s;this.scrollbarOptions=c;this.outlineHeight=u+o;this.opposite=r(s.opposite,!(f||!n.inverted));t=this;f=t.baseSeries;c=n.xAxis.length;l=n.yAxis.length;a=f&&f[0]&&f[0].xAxis||n.xAxis[0]||{options:{}};n.isDirtyBox=!0;t.navigatorEnabled?(t.xAxis=new h(n,e({breaks:a.options.breaks,ordinal:a.options.ordinal},s.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:[o,0,-o,0],width:u}:{offsets:[0,-o,0,o],height:u})),t.yAxis=new h(n,e(s.yAxis,{id:"navigator-y-axis",alignTicks:!1,offset:0,index:l,isInternal:!0,zoomEnabled:!1},n.inverted?{width:u}:{height:u})),f||s.series.data?t.updateNavigatorSeries(!1):0===n.series.length&&(t.unbindRedraw=i(n,"beforeRedraw",function(){0<n.series.length&&!t.series&&(t.setBaseSeries(),t.unbindRedraw())})),t.reversedExtremes=n.inverted&&!t.xAxis.reversed||!n.inverted&&t.xAxis.reversed,t.renderElements(),t.addMouseEvents()):t.xAxis={translate:function(t,i){var r=n.xAxis[0],f=r.getExtremes(),e=r.len-2*o,u=v("min",r.options.min,f.dataMin);return r=v("max",r.options.max,f.dataMax)-u,i?t*r/e+u:e*(t-u)/r},toPixels:function(n){return this.translate(n)},toValue:function(n){return this.translate(n,!0)},toFixedRange:h.prototype.toFixedRange,fake:!0};n.options.scrollbar.enabled&&(n.scrollbar=t.scrollbar=new tt(n.renderer,e(n.options.scrollbar,{margin:t.navigatorEnabled?0:10,vertical:n.inverted}),n),i(t.scrollbar,"changed",function(i){var r=t.size,u=r*this.to;r*=this.from;t.hasDragged=t.scrollbar.hasDragged;t.render(0,0,r,u);(n.options.scrollbar.liveRedraw||"mousemove"!==i.DOMType&&"touchmove"!==i.DOMType)&&setTimeout(function(){t.onMouseUp(i)})}));t.addBaseSeriesEvents();t.addChartEvents()},getUnionExtremes:function(n){var i=this.chart.xAxis[0],t=this.xAxis,u=t.options,f=i.options,e;return n&&null===i.dataMin||(e={dataMin:r(u&&u.min,v("min",f.min,i.dataMin,t.dataMin,t.min)),dataMax:r(u&&u.max,v("max",f.max,i.dataMax,t.dataMax,t.max))}),e},setBaseSeries:function(t,i){var r=this.chart,u=this.baseSeries=[];t=t||r.options&&r.options.navigator.baseSeries||(r.series.length?n.find(r.series,function(n){return!n.options.isInternal}).index:0);(r.series||[]).forEach(function(n,i){n.options.isInternal||!n.options.showInNavigator&&(i!==t&&n.options.id!==t||!1===n.options.showInNavigator)||u.push(n)});this.xAxis&&!this.xAxis.fake&&this.updateNavigatorSeries(!0,i)},updateNavigatorSeries:function(n,t){var i=this,f=i.chart,o=i.baseSeries,h,u,s=i.navigatorOptions.series,c,l={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:"navigator-x-axis",yAxis:"navigator-y-axis",showInLegend:!1,stacking:!1,isInternal:!0,states:{inactive:{opacity:1}}},v=i.series=(i.series||[]).filter(function(n){var t=n.baseSeries;return 0>o.indexOf(t)?(t&&(y(t,"updatedData",i.updatedDataHandler),delete t.navigatorSeries),n.chart&&n.destroy(),!1):!0});o&&o.length&&o.forEach(function(n){var p=n.navigatorSeries,y=w({color:n.color,visible:n.visible},b(s)?a.navigator.series:s);p&&!1===i.navigatorOptions.adaptToUpdatedData||(l.name="Navigator "+o.length,h=n.options||{},c=h.navigatorOptions||{},u=e(h,l,y,c),u.pointRange=r(y.pointRange,c.pointRange,a.plotOptions[u.type||"line"].pointRange),y=c.data||y.data,i.hasNavigatorData=i.hasNavigatorData||!!y,u.data=y||h.data&&h.data.slice(0),p&&p.options?p.update(u,t):(n.navigatorSeries=f.initSeries(u),n.navigatorSeries.baseSeries=n,v.push(n.navigatorSeries)))});(s.data&&(!o||!o.length)||b(s))&&(i.hasNavigatorData=!1,s=d(s),s.forEac
1h(function(n,t){l.name="Navigator "+(v.length+1);u=e(a.navigator.series,{color:f.series[t]&&!f.series[t].options.isInternal&&f.series[t].color||f.options.colors[t]||f.options.colors[0]},l,n);u.data=n.data;u.data&&(i.hasNavigatorData=!0,v.push(f.initSeries(u)))}));n&&this.addBaseSeriesEvents()},addBaseSeriesEvents:function(){var t=this,n=t.baseSeries||[];n[0]&&n[0].xAxis&&i(n[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes);n.forEach(function(n){i(n,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)});i(n,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)});!1!==this.navigatorOptions.adaptToUpdatedData&&n.xAxis&&i(n,"updatedData",this.updatedDataHandler);i(n,"remove",function(){this.navigatorSeries&&(s(t.series,this.navigatorSeries),u(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;"undefined"!=typeof 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,i,u;t=t.max-t.min;var e=n.stickToMin,s=n.stickToMax,l=r(this.options.overscroll,0),o=n.series&&n.series[0],a=!!this.setExtremes;this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger||(e&&(i=h,u=i+t),s&&(u=c+l,e||(i=Math.max(u-t,n.getBaseSeriesMin(o&&o.xData?o.xData[0]:-Number.MAX_VALUE)))),a&&(e||s)&&f(i)&&(this.min=this.userMin=i,this.max=this.userMax=u));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=f(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(i(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)}),i(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=l,i(h,"zoom",function(n){var t=this.chart.options,i=t.chart.zoomType,f=t.chart.pinchType,r=t.navigator;t=t.rangeSelector;this.isXAxis&&(r&&r.enabled||t&&t.enabled)&&("y"===i?n.zoomed=!1:(!c&&"xy"===i||c&&"xy"===f)&&this.options.range&&(i=this.previousZoom,u(n.newMin)?this.previousZoom=[this.min,this.max]:i&&(n.newMin=i[0],n.newMax=i[1],delete this.previousZoom)));"undefined"!=typeof n.zoomed&&n.preventDefault()}),i(t,"beforeShowResetZoom",function(){var n=this.options,t=n.navigator,i=n.rangeSelector;if((t&&t.enabled||i&&i.enabled)&&(!c&&"x"===n.chart.zoomType||c&&"x"===n.chart.pinchType))return!1}),i(t,"beforeRender",function(){var n=this.options;(n.navigator.enabled||n.scrollbar.enabled)&&(this.scroller=this.navigator=new l(this))}),i(t,"afterSetChartSize",function(){var e=this.legend,n=this.navigator;if(n){var t=e&&e.options,u=n.xAxis,f=n.yAxis,i=n.scrollbarHeight;this.inverted?(n.left=n.opposite?this.chartWidth-i-n.height:this.spacing[3]+i,n.top=this.plotTop+i):(n.left=this.plotLeft+i,n.top=n.navigatorOptions.top||this.chartHe
1ight-n.height-i-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?e.legendHeight+r(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]: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())}}),i(t,"update",function(n){var t=n.options.navigator||{},i=n.options.scrollbar||{};this.navigator||this.scroller||!t.enabled&&!i.enabled||(e(!0,this.options.navigator,t),e(!0,this.options.scrollbar,i),delete n.options.navigator,delete n.options.scrollbar)}),i(t,"afterUpdate",function(n){this.navigator||this.scroller||!this.options.navigator.enabled&&!this.options.scrollbar.enabled||(this.scroller=this.navigator=new l(this),r(n.redraw,!0)&&this.redraw(n.animation))}),i(t,"afterAddSeries",function(){this.navigator&&this.navigator.setBaseSeries(null,!1)}),i(it,"afterUpdate",function(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}),t.prototype.callbacks.push(function(n){var t=n.navigator;t&&n.xAxis[0]&&(n=n.xAxis[0].getExtremes(),t.render(n.min,n.max))}))}),i(t,"parts/OrdinalAxis.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var r=t.defined,f=t.extend,u=t.pick;t=n.addEvent;var i=n.Axis,e=n.Chart,o=n.css,s=n.noop,h=n.timeUnits;t(n.Series,"updatedData",function(){var n=this.xAxis;n&&n.options.ordinal&&delete n.ordinalIndex});i.prototype.getTimeTicks=function(n,t,i,u,f,e,o){var c=0,s,v,w={},l=[],k=-Number.MAX_VALUE,d=this.options.tickPixelInterval,a=this.chart.time,y=[],g,nt,b,p;if(!this.options.ordinal&&!this.options.breaks||!f||3>f.length||"undefined"==typeof t)return a.getTimeTicks.apply(a,arguments);for(g=f.length,s=0;s<g;s++){if(nt=s&&f[s-1]>i,f[s]<t&&(c=s),s===g-1||f[s+1]-f[s]>5*e||nt){if(f[s]>k){for(v=a.getTimeTicks(n,f[c],f[s],u);v.length&&v[0]<=k;)v.shift();v.length&&(k=v[v.length-1]);y.push(l.length);l=l.concat(v)}c=s+1}if(nt)break}if(v=v.info,o&&v.unitRange<=h.hour){for(s=l.length-1,c=1;c<s;c++)a.dateFormat("%d",l[c])!==a.dateFormat("%d",l[c-1])&&(w[l[c]]="day",b=!0);b&&(w[l[0]]="day");v.higherRanks=w}if(v.segmentStarts=y,l.info=v,o&&r(d)){for(c=y=l.length,b=[],a=[];c--;)s=this.translate(l[c]),p&&(a[c]=p-s),b[c]=p=s;for(a.sort(),a=a[Math.floor(a.length/2)],a<.6*d&&(a=null),c=l[y-1]>i?y-1:y,p=void 0;c--;)s=b[c],y=Math.abs(p-s),p&&y<.8*d&&(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};f(i.prototype,{beforeSetTickPositions:function(){var n=[],e,o=!1,s=this.getExtremes(),c=s.min,h=s.max,f,l=this.isXAxis&&!!this.options.breaks,t,a,v,i,r;if(s=this.options.ordinal,t=Number.MAX_VALUE,a=this.chart.options.chart.ignoreHiddenSeries,s||l){if(this.series.forEach(function(r,f){if(e=[],!(a&&!1===r.visible||!1===r.takeOrdinalPosition&&!l)&&(n=n.concat(r.processedXData),i=n.length,n.sort(function(n,t){return n-t}),t=Math.min(t,u(r.closestPointRange,t)),i)){for(f=0;f<i-1;)n[f]!==n[f+1]&&e.push(n[f+1]),f++;e[0]!==n[0]&&e.unshift(n[0]);n=e}r.isSeriesBoosting&&(v=!0)}),v&&(n.length=0),i=n.length,2<i){for(r=n[1]-n[0],f=i-1;f--&&!o;)n[f+1]-n[f]!==r&&(o=!0);!this.options.keepOrdinalPadding&&(n[0]-c>r||h-n[n.length-1]>r)&&(o=!0)}else this.options.overscroll&&(2===i?t=n[1]-n[0]:1===i?(t=this.options.overscroll,n=[n[0],n[0]+t]):t=this.overscrollPointsRange);o?(this.options.overscroll&&(this.overscrollPointsRange=t,n=n.concat(this.getOverscrollPositions())),this.ordinalPositions=n,r=this.ordinal2lin(Math.max(c,n[0]),!0),f=Math.max(this.ordinal2lin(Math.min(h,n[n.length-1]),!0),1),this.ordinalSlope=h=(h-c)/(f-r),this.ordinalOffset=c-r*h):(this.overscrollPointsRange=u(this.closestPointRange,this.overscrollPointsRange),this.ordinalPositions=this.ordinalSlope=this.ordinalOffset=void 0)}this.isOrdinal=s&&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,u;if(r){var f=this.ordinalSlope,e=this.ordinalOffset,i=r.length-1;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"undefined"!=typeof u&&"undefined"!=typeof r[i]?r[i]+(u?u*(r[i+1]-r[i]):0):n}return n},getExtendedPositions:function(){var n=this,o=n.chart,t=n.series[0].currentDataGrouping,u=n.ordinalIndex,e=t?t.count+t.unitName:"raw",c=n.options.overscroll,h=n.getExtremes(),r,f;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:i.prototype.val2lin,ordinal2lin:i.prototype.ordinal2lin}
1,n.series.forEach(function(i){r={xAxis:f,xData:i.xData.slice(),chart:o,destroyGroupedData:s};r.xData=r.xData.concat(n.getOverscrollPositions());r.options={dataGrouping:t?{enabled:!0,forced:!0,approximation:"open",units:[[t.unitName,[t.count]]]}:{enabled:!1}};i.processData.apply(r);f.series.push(r)}),n.beforeSetTickPositions.apply(f),u[e]=f.ordinalPositions),u[e]},getOverscrollPositions:function(){var u=this.options.overscroll,i=this.overscrollPointsRange,t=[],n=this.dataMax;if(r(i))for(t.push(n);n<=this.dataMax+u;)n+=i,t.push(n);return t},getGroupIntervalFactor:function(n,t,i){i=i.processedXData;var f=i.length,u=[],r=this.groupIntervalFactor;if(!r){for(r=0;r<f-1;r++)u[r]=i[r+1]-i[r];u.sort(function(n,t){return n-t});u=u[Math.floor(f/2)];n=Math.max(n,i[0]);t=Math.min(t,i[f-1]);this.groupIntervalFactor=r=f*u/(t-n)}return r},postProcessTickInterval:function(n){var t=this.ordinalSlope;return t?this.options.breaks?this.closestPointRange||n:n/(t/this.closestPointRange):n}});i.prototype.ordinal2lin=i.prototype.val2lin;t(e,"pan",function(n){var t=this.xAxis[0],c=t.options.overscroll,w=n.originalEvent.chartX,e=this.options.chart&&this.options.chart.panning,l=!1,r,p,f;if(e&&"y"!==e.type&&t.options.ordinal&&t.series.length){var i=this.mouseDownX,s=t.getExtremes(),a=s.dataMax,v=s.min,y=s.max,u=this.hoverPoints,h=t.closestPointRange||t.overscrollPointsRange;i=(i-w)/(t.translationSlope*(t.ordinalSlope||h));r={ordinalPositions:t.getExtendedPositions()};h=t.lin2val;p=t.val2lin;r.ordinalPositions?1<Math.abs(i)&&(u&&u.forEach(function(n){n.setState()}),0>i?(u=r,f=t.ordinalPositions?t:r):(u=t.ordinalPositions?t:r,f=r),r=f.ordinalPositions,a>r[r.length-1]&&r.push(a),this.fixedRange=y-v,i=t.toFixedRange(null,null,h.apply(u,[p.apply(u,[v,!0])+i,!0]),h.apply(f,[p.apply(f,[y,!0])+i,!0])),i.min>=Math.min(s.dataMin,v)&&i.max<=Math.max(a,y)+c&&t.setExtremes(i.min,i.max,!0,!1,{trigger:"pan"}),this.mouseDownX=w,o(this.container,{cursor:"move"})):l=!0}else l=!0;l||e&&/y/.test(e.type)?c&&(t.max=t.dataMax+c):n.preventDefault()});t(i,"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))});t(i,"afterSetScale",function(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)})}),i(t,"modules/broken-axis.src.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var o=t.extend,s=t.isArray,r=t.pick;t=n.addEvent;var h=n.find,u=n.fireEvent,i=n.Axis,f=n.Series,e=function(n,t){return h(t,function(t){return t.from<n&&n<t.to})};o(i.prototype,{isInBreak:function(n,t){var i=n.repeat||Infinity,r=n.from,u=n.to-n.from;return t=t>=r?(t-r)%i:i-(r-t)%i,n.inclusive?t<=u:t<u&&0!==t},isInAnyBreak:function(n,t){var i=this.options.breaks,u=i&&i.length,e,f,o;if(u){for(;u--;)this.isInBreak(i[u],n)&&(f=!0,e||(e=r(i[u].showPoints,!this.isXAxis)));o=f&&t?f&&!e:f}return o}});t(i,"afterInit",function(){"function"==typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});t(i,"afterSetTickPositions",function(){if(this.isBroken){for(var t=this.tickPositions,r=this.tickPositions.info,i=[],n=0;n<t.length;n++)this.isInAnyBreak(t[n])||i.push(t[n]);this.tickPositions=i;this.tickPositions.info=r}});t(i,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});i.prototype.setBreaks=function(n,t){function h(n){for(var r=n,t,i=0;i<f.breakArray.length;i++)if(t=f.breakArray[i],t.to<=n)r-=t.len;else if(t.from>=n)break;else if(f.isInBreak(t,n)){r-=n-t.from;break}return r}function c(n){for(var t,i=0;i<f.breakArray.length;i++)if(t=f.breakArray[i],t.from>=n)break;else t.to<n?n+=t.len:f.isInBreak(t,n)&&(n+=t.len);return n}var f=this,o=s(n)&&!!n.length;f.isDirty=f.isBroken!==o;f.isBroken=o;f.options.breaks=f.userOptions.breaks=n;f.forceRedraw=!0;f.series.forEach(function(n){n.isDirty=!0});o||f.val2lin!==h||(delete f.val2lin,delete f.lin2val);o&&(f.userOptions.ordinal=!1,f.val2lin=h,f.lin2val=c,f.setExtremes=function(n,t,r,u,f){if(this.isBroken){for(var o,s=this.options.breaks;o=e(n,s);)n=o.to;for(;o=e(t,s);)t=o.from;t<n&&(t=n)}i.prototype.setExtremes.call(this,n,t,r,u,f)},f.setAxisTranslation=function(n){var l,t;if(i.prototype.setAxisTranslation.call(this,n),this.unitLength=null,this.isBroken){n=f.options.breaks;var c=[],v=[],y=0,e,o=f.userMin||f.min,s=f.userMax||f.max,a=r(f.pointRangePadding,0),h;
1n.forEach(function(n){e=n.repeat||Infinity;f.isInBreak(n,o)&&(o+=n.to%e-o%e);f.isInBreak(n,s)&&(s-=s%e-n.from%e)});n.forEach(function(n){for(t=n.from,e=n.repeat||Infinity;t-e>o;)t-=e;for(;t<o;)t+=e;for(h=t;h<s;h+=e)c.push({value:h,move:"in"}),c.push({value:h+(n.to-n.from),move:"out",size:n.breakSize})});c.sort(function(n,t){return n.value===t.value?("in"===n.move?0:1)-("in"===t.move?0:1):n.value-t.value});l=0;t=o;c.forEach(function(n){l+="in"===n.move?1:-1;1===l&&"in"===n.move&&(t=n.value);0===l&&(v.push({from:t,to:n.value,len:n.value-t-(n.size||0)}),y+=n.value-t-(n.size||0))});f.breakArray=v;f.unitLength=s-o-y+a;u(f,"afterBreaks");f.staticScale?f.transA=f.staticScale:f.unitLength&&(f.transA*=(s-f.min+a)/f.unitLength);a&&(f.minPixelPadding=f.transA*f.minPointOffset);f.min=o;f.max=s}});r(t,!0)&&this.chart.redraw()};t(f,"afterGeneratePoints",function(){var e=this.options.connectNulls,i=this.points,r=this.xAxis,u=this.yAxis,t,n,f;if(this.isDirty)for(t=i.length;t--;)n=i[t],f=!(null===n.y&&!1===e)&&(r&&r.isInAnyBreak(n.x,!0)||u&&u.isInAnyBreak(n.y,!0)),n.visible=f?!1:!1!==n.options.visible});t(f,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,r(this.pointArrayMap,["y"]))});n.Series.prototype.drawBreaks=function(n,t){var o=this,h=o.points,s,f,e,i;n&&t.forEach(function(t){s=n.breakArray||[];f=n.isXAxis?n.min:r(o.options.threshold,n.min);h.forEach(function(o){i=r(o["stack"+t.toUpperCase()],o[t]);s.forEach(function(t){e=!1;f<t.from&&i>t.to||f>t.from&&i<t.from?e="pointBreak":(f<t.from&&i>t.from&&i<t.to||f>t.from&&i>t.to&&i<t.from)&&(e="pointInBreak");e&&u(n,e,{point:o,brk:t})})})})};n.Series.prototype.gappedPath=function(){var r=this.currentDataGrouping,i=r&&r.gapSize;r=this.options.gapSize;var u=this.points.slice(),f=u.length-1,e=this.yAxis,t;if(r&&0<f)for("value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i),t=void 0;f--;)t&&!1!==t.visible||(t=u[f+1]),i=u[f],!1!==t.visible&&!1!==i.visible&&(t.x-i.x>r&&(t=(i.x+t.x)/2,u.splice(f+1,0,{isNull:!0,x:t}),this.options.stacking&&(t=e.stacks[this.stackKey][t]=new n.StackItem(e,e.options.stackLabels,!1,t,this.stack),t.total=0)),t=i);return this.getGraphPath(u)}}),i(t,"masters/modules/broken-axis.src.js",[],function(){}),i(t,"parts/DataGrouping.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var y=t.arrayMax,p=t.arrayMin,w=t.correctFloat,o=t.defined,b=t.extend,r=t.isNumber,s=t.pick;t=n.addEvent;var f=n.Axis,k=n.defaultPlotOptions,d=n.format,h=n.merge,g=n.Point,c=n.Series,nt=n.Tooltip,i=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 t=n.length;return n=i.sum(n),r(n)&&t&&(n=w(n/t)),n},averages:function(){var n=[];return[].forEach.call(arguments,function(t){n.push(i.average(t))}),"undefined"==typeof n[0]?void 0:n},open:function(n){return n.length?n[0]:n.hasNulls?null:void 0},high:function(n){return n.length?y(n):n.hasNulls?null:void 0},low:function(n){return n.length?p(n):n.hasNulls?null:void 0},close:function(n){return n.length?n[n.length-1]:n.hasNulls?null:void 0},ohlc:function(n,t,u,f){return n=i.open(n),t=i.high(t),u=i.low(u),f=i.close(f),r(n)||r(t)||r(u)||r(f)?[n,t,u,f]:void 0},range:function(n,t){return(n=i.low(n),t=i.high(t),r(n)||r(t))?[n,t]:null===n&&null===t?null:void 0}},l=function(n,t,u,f){var e=this,d=e.data,rt=e.options&&e.options.data,g=[],nt=[],tt=[],v=n.length,ut=!!t,l=[],a=e.pointArrayMap,b=a&&a.length,ft=["x"].concat(a||["y"]),p=0,k=0,c,it,s,y,w;for(f="function"==typeof f?f:i[f]?i[f]:i[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(;"undefined"!=typeof u[p+1]&&n[c]>=u[p+1]||c===v;){for(s=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=h(e.pointClass.prototype.optionsToObject.call({series:e},e.options.data[e.cropStart+k])),ft.forEach(function(n){delete e.dataGroupInfo.options[n]})),"undefined"!=typeof y&&(g.push(s),nt.push(y),tt.push(e.dataGroupInfo)),k=c,s=0;s<it;s++)l[s].length=0,l[s].hasNulls=!1;if(p+=1,c===v)break}if(c===v)break;if(a)for(s=e.cropStart+c,y=d&&d[s]||e.pointClass.prototype.applyOptions.apply({series:e},[rt[s]]),s=0;s<b;s++)w=y[a[s]],r(w)?l[s].push(w):null===w&&(l[s].hasNulls=!0);else s=ut?t[c]:null,r(s)?l[0].push(s):null===s&&(l[0].hasNulls=!0)}return{groupedXData:g,groupedYData:nt,groupMap:tt}},a={approximations:i,groupData:l},u=c.prototype,tt=u.processData,it=u.generatePoints,e={groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %b %e, %H:%M:%S.%L","%A, %b %e, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %b %e, %H:%M:%S","%A, %b %e, %H:%M:%S","-%H:%M:%S"],minute:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],hour:["%A, %b %e, %H:%M","%A, %b %e, %H:%M","-%H:%M"],day:["%A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],week:["Week from %A, %b %e, %Y","%A, %b %e","-%A, %b %e, %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},v={line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5}},rt=n.defaultDataGroupingUnits=[["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]],["week",[1]],["month",[1,3,6]],["year",null]];return u.getDGApproximation=function(){return n.seriesTypes.arearange&&this instanceof n.seriesTypes.arearange?"range":n.seriesTypes.ohlc&&this instanceof n.seriesTypes.ohlc?"ohlc":n.seriesTypes.column&&this instanceof n.seriesTypes.column?"sum":"average"},u.groupData=l,u.processData=function(){var t=this.chart,r=this.options.dataGrouping,n=!1!==this.allowDG&&r&&s(r.enabled,t.options.isStock),w=this.visible||!t.options.chart.ignoreHiddenSeries,y,p=this.currentDataGrouping,e=!1,l,f,c,a,h,v,i;if(this.forceCrop=n,this.groupPixelWidth=null,this.hasProcessed=!0,n&&!this.requireSorting&&(this.requireSorting=e=!0),n=!1===tt.apply(this,arguments)||!n,e&&(this.requireSorting=!1),!n){if(this.destroyGroupedData(),n=r.groupAll?this.xData:this.processedXData,l=r.groupAll?this.yData:this.processedYData,f=t.plotSizeX,t=this.xAxis,c=t.options.ordinal,a=this.groupPixelWidth=t.getGroupPixelWidth&&t.getGroupPixelWidth(),a){if(this.isDirty=y=!0,this.points=null,e=t.getExtremes(),h=e.min,e=e.max,c=c&&t.getGroupIntervalFactor(h,e,this)||1,a=a*(e-h)/f*c,f=t.getTimeTicks(t.normalizeTimeTickInterval(a,r.units||rt),Math.min(h,n[0]),Math.max(e,n[n.length-1]),t.options.startOfWeek,n,this.closestPointRange),l=u.groupData.apply(this,[n,l,f,r.approximation]),n=l.groupedXData,c=l.groupedYData,v=0,r.smoothed&&n.length){for(i=n.length-1,n[i]=Math.min(n[i],e);i--&&0<i;)n[i]+=a/2;n[0]=Math.max(n[0],h)}for(i=1;i<f.length;i++)f.info.segmentStarts&&-1!==f.info.segmentStarts.indexOf(i)||(v=Math.max(f[i]-f[i-1],v));h=f.info;h.gapSize=v;this.closestPointRange=f.info.totalRange;this.groupMap=l.groupMap;o(n[0])&&n[0]<t.min&&w&&((!o(t.options.min)&&t.min<=t.dataMin||t.min===t.dataMin)&&(t.min=Math.min(n[0],t.min)),t.dataMin=Math.min(n[0],t.dataMin));r.groupAll&&(r=this.cropData(n,c,t.min,t.max,1),n=r.xData,c=r.yData);this.processedXData=n;this.processedYData=c}else this.groupMap=null;this.hasGroupedData=y;this.currentDataGrouping=h;this.preventGraphAnimation=(p&&p.totalRange)!==(h&&h.totalRange)}},u.destroyGroupedData=function(){this.groupedData&&(this.groupedData.forEach(function(n,t){n&&(this.groupedData[t]=n.destroy?n.destroy():null)},this),this.groupedData.length=0)},u.generatePoints=function(){it.apply(this);this.destroyGroupedData();this.groupedData=this.hasGroupedData?this.points:null},t(g,"update",function(){if(this.dataGroup)return n.error(24,!1,this.series.chart),!1}),t(nt,"headerFormatter",function(n){var a=this.chart,v=a.time,u=n.labelConfig,f=u.series,i=f.tooltipOptions,o=f.options.dataGrouping,t=i.xDateFormat,h=f.xAxis,c=i[(n.isFooter?"footer":"header")+"Format"],s,l;
1h&&"datetime"===h.options.type&&o&&r(u.key)&&(s=f.currentDataGrouping,o=o.dateTimeLabelFormats||e.dateTimeLabelFormats,s?(i=o[s.unitName],1===s.count)?t=i[0]:(t=i[1],l=i[2]):!t&&o&&(t=this.getXDateFormat(u,i,h)),t=v.dateFormat(t,u.key),l&&(t+=v.dateFormat(l,u.key+s.totalRange-1)),f.chart.styledMode&&(c=this.styledModeFormat(c)),n.text=d(c,{point:b(u.point,{key:t}),series:f},a),n.preventDefault())}),t(c,"destroy",u.destroyGroupedData),t(c,"afterSetOptions",function(n){n=n.options;var t=this.type,i=this.chart.options.plotOptions,r=k[t].dataGrouping,u=this.useCommonDataGrouping&&e;(v[t]||u)&&(r||(r=h(e,v[t])),n.dataGrouping=h(u,r,i.series&&i.series.dataGrouping,i[t].dataGrouping,this.userOptions.dataGrouping))}),t(f,"afterSetScale",function(){this.series.forEach(function(n){n.hasProcessed=!1})}),f.prototype.getGroupPixelWidth=function(){for(var t=this.series,i=t.length,r=0,f=!1,u,n=i;n--;)(u=t[n].options.dataGrouping)&&(r=Math.max(r,s(u.groupPixelWidth,e.groupPixelWidth)));for(n=i;n--;)(u=t[n].options.dataGrouping)&&t[n].hasProcessed&&(i=(t[n].processedXData||t[n].data).length,t[n].groupPixelWidth||i>this.chart.plotSizeX/r||i&&u.forced)&&(f=!0);return f?r:0},f.prototype.setDataGrouping=function(n,t){var i;if(t=s(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=a,a}),i(t,"parts/OHLCSeries.js",[t["parts/Globals.js"]],function(n){var i=n.Point,r=n.seriesType,t=n.seriesTypes;r("ohlc","column",{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span> <b> {series.name}<\/b><br/>Open: {point.open}<br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},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.open<n.close&&(i.stroke=r.upColor),i},translate:function(){var n=this,i=n.yAxis,r=!!n.modifyValue,u=["plotOpen","plotHigh","plotLow","plotClose","yBottom"];t.column.prototype.translate.apply(n);n.points.forEach(function(t){[t.open,t.high,t.low,t.close,t.low].forEach(function(f,e){null!==f&&(r&&(f=n.modifyValue(f)),t[u[e]]=i.toPixels(f,!0))});t.tooltipPos[1]=t.plotHigh+i.pos-n.chart.plotTop})},drawPoints:function(){var n=this,t=n.chart;n.points.forEach(function(i){var r=i.graphic,h=!r,f;if("undefined"!=typeof i.plotY){r||(i.graphic=r=t.renderer.path().add(n.group));t.styledMode||r.attr(n.pointAttribs(i,i.selected&&"select"));var e=r.strokeWidth()%2/2,u=Math.round(i.plotX)-e,s=Math.round(i.shapeArgs.width/2),o=["M",u,Math.round(i.yBottom),"L",u,Math.round(i.plotHigh)];null!==i.open&&(f=Math.round(i.plotOpen)+e,o.push("M",u,f,"L",u-s,f));null!==i.close&&(f=Math.round(i.plotClose)+e,o.push("M",u,f,"L",u+s,f));r[h?"attr":"animate"]({d:o}).addClass(i.getClassName(),!0)}})},animate:null},{getClassName:function(){return i.prototype.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}});""}),i(t,"parts/CandlestickSeries.js",[t["parts/Globals.js"]],function(n){var t=n.defaultPlotOptions,i=n.merge,r=n.seriesType,u=n.seriesTypes;r("candlestick","ohlc",i(t.column,{states:{hover:{lineWidth:2}},tooltip:t.ohlc.tooltip,threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}),{pointAttribs:function(n,t){var i=u.column.prototype.pointAttribs.call(this,n,t),r=this.options,f=n.open<n.close,e=r.lineColor||this.color;return i["stroke-width"]=r.lineWidth,i.fill=n.options.color||(f?r.upColor||this.color:this.color),i.stroke=n.options.lineColor||(f?r.upLineColor||e:e),t&&(n=r.states[t],i.fill=n.color||i.fill,i.stroke=n.lineColor||i.stroke,i["stroke-width"]=n.lineWidth||i["stroke-width"]),i},drawPoints:function(){var n=this,i=n.chart,t=n.yAxis.reversed;
1n.points.forEach(function(r){var o=r.graphic,a=!o,h,l;if("undefined"!=typeof r.plotY){o||(r.graphic=o=i.renderer.path().add(n.group));n.chart.styledMode||o.attr(n.pointAttribs(r,r.selected&&"select")).shadow(n.options.shadow);var s=o.strokeWidth()%2/2,f=Math.round(r.plotX)-s,u=r.plotOpen,c=r.plotClose,e=Math.min(u,c);u=Math.max(u,c);h=Math.round(r.shapeArgs.width/2);c=t?u!==r.yBottom:Math.round(e)!==Math.round(r.plotHigh);l=t?Math.round(e)!==Math.round(r.plotHigh):u!==r.yBottom;e=Math.round(e)+s;u=Math.round(u)+s;s=[];s.push("M",f-h,u,"L",f-h,e,"L",f+h,e,"L",f+h,u,"Z","M",f,e,"L",f,c?Math.round(t?r.yBottom:r.plotHigh):e,"M",f,u,"L",f,l?Math.round(t?r.plotHigh:r.yBottom):u);o[a?"attr":"animate"]({d:s}).addClass(r.getClassName(),!0)}})}});""}),i(t,"mixins/on-series.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var i=t.defined,r=n.seriesTypes,u=n.stableSort;return{getPlotBox:function(){return n.Series.prototype.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this)},translate:function(){var k,e,p;r.column.prototype.translate.apply(this);var o=this,f=o.options,n=o.chart,s=o.points,v=s.length-1,c,t=f.onSeries;t=t&&n.get(t);f=f.onKey||"y";var d=t&&t.options.step,l=t&&t.points,h=l&&l.length,w=n.inverted,y=o.xAxis,g=o.yAxis,b=0,a;if(t&&t.visible&&h)for(b=(t.pointXOffset||0)+(t.barW||0)/2,n=t.currentDataGrouping,k=l[h-1].x+(n?n.totalRange:0),u(s,function(n,t){return n.x-t.x}),f="plot"+f[0].toUpperCase()+f.substr(1);h--&&s[v];)if(e=l[h],n=s[v],n.y=e.y,e.x<=n.x&&"undefined"!=typeof e[f]&&(n.x<=k&&(n.plotY=e[f],e.x<n.x&&!d&&(a=l[h+1])&&"undefined"!=typeof a[f])&&(p=(n.x-e.x)/(a.x-e.x),n.plotY+=p*(a[f]-e[f]),n.y+=p*(a.y-e.y)),v--,h++,0>v))break;s.forEach(function(n,t){if(n.plotX+=b,("undefined"==typeof n.plotY||w)&&(0<=n.plotX&&n.plotX<=y.len?w?(n.plotY=y.translate(n.x,0,1,0,1),n.plotX=i(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[t-1])&&c.plotX===n.plotX){"undefined"==typeof c.stackIndex&&(c.stackIndex=0);var r=c.stackIndex+1}n.stackIndex=r});this.onSeries=t}}}),i(t,"parts/FlagsSeries.js",[t["parts/Globals.js"],t["parts/Utilities.js"],t["mixins/on-series.js"]],function(n,t,i){function u(n){r[n+"pin"]=function(t,i,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=r[n](t,i,u,f),s&&e&&(o.push("M","circle"===n?t+u/2:o[1]+o[4]/2,i>e?i:i+f,"L",s,e),o=o.concat(r.circle(s-1,e-1,2,2))),o}}var o=t.defined,s=t.isNumber,h=t.objectEach,c=t.wrap,l=n.addEvent,a=n.merge;t=n.noop;var v=n.Renderer,f=n.Series,y=n.seriesType,p=n.TrackerMixin,e=n.VMLRenderer,r=n.SVGRenderer.prototype.symbols;y("flags","column",{pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}<br/>"},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:i.translate,getPlotBox:i.getPlotBox,drawPoints:function(){for(var v=this.points,s=this.chart,g=s.renderer,w=s.inverted,r=this.options,nt=r.y,b=this.yAxis,f={},k=[],d,p,y=v.length;y--;){var t=v[y],tt=(w?t.plotY:t.plotX)>this.xAxis.len,u=t.plotX,i=t.stackIndex,e=t.options.shape||r.shape,l=t.plotY;"undefined"!=typeof l&&(l=t.plotY+nt-("undefined"!=typeof i&&i*r.stackDistance));t.anchorX=i?void 0:t.plotX;d=i?void 0:t.plotY;p="flag"!==e;i=t.graphic;"undefined"!=typeof l&&0<=u&&!tt?(i||(i=t.graphic=g.label("",null,null,e,null,null,r.useHTML),s.styledMode||i.attr(this.pointAttribs(t)).css(a(r.style,t.style)),i.attr({align:p?"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),s.styledMode||i.shadow(r.shadow),i.isNew=!0),0<u&&(u-=i.strokeWidth()%2),e={y:l,anchorY:d},r.allowOverlapX&&(e.x=u,e.anchorX=t.anchorX),i.attr({text:t.options.title||r.title||"A"})[i.isNew?"attr":"animate"](e),r.allowOverlapX||(f[t.plotX]?f[t.plotX].size=Math.max(f[t.plotX].size,i.width):f[t.plotX]={align:p?.5:0,size:i.width,target:u,anchorX:u}),t.tooltipPos=[u,l+b.pos-s.plotTop]):i&&(t.graphic=i.destroy())}r.allowOverlapX||(h(f,function(n){n.plotX=n.anchorX;k.push(n)}),n.distribute(k,w?b.len:this.xAxis.len,100),v.forEach(function(n){var t=n.graphic&&f[n.plotX];t&&(n.graphic[n.graphic.isNew?"attr":"animate"]({x:t.pos+t.align*t.size,anchorX:n.anchorX}),o(t.pos)?n.graphic.isNew=!1:(n.graphic.attr({x:-9999,anchorX:-9999}),n.graphic.isNew=!0))}));r.useHTML&&c(this.markerGroup,"on",function(t){return n.SVGElement.prototype.on.apply(t.apply(this,[].slice.call(arguments,1
1)),[].slice.call(arguments,1))})},drawTracker:function(){var n=this.points;p.drawTrackerPoint.apply(this);n.forEach(function(t){var i=t.graphic;i&&l(i.element,"mouseover",function(){0<t.stackIndex&&!t.raised&&(t._y=i.y,i.attr({y:t._y-8}),t.raised=!0);n.forEach(function(n){n!==t&&n.raised&&n.graphic&&(n.graphic.attr({y:n._y}),n.raised=!1)})})})},animate:function(n){n?this.setClip():this.animate=null},setClip:function(){f.prototype.setClip.apply(this,arguments);!1!==this.options.clip&&this.sharedClipKey&&this.markerGroup.clip(this.chart[this.sharedClipKey])},buildKDTree:t,invertGroups:t},{isValid:function(){return s(this.y)||"undefined"==typeof this.y}});r.flag=function(n,t,i,u,f){var e=f&&f.anchorX||n;return f=f&&f.anchorY||t,r.circle(e-1,f-1,2,2).concat(["M",e,f,"L",n,t+u,n,t,n+i,t,n+i,t+u,n,t+u,"Z"])};u("circle");u("square");v===e&&["circlepin","flag","squarepin"].forEach(function(n){e.prototype.symbols[n]=r[n]});""}),i(t,"parts/RangeSelector.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){function f(n){this.init(n)}var c=t.defined,p=t.destroyObjectProperties,w=t.discardElement,l=t.extend,u=t.isNumber,b=t.objectEach,r=t.pick,s=t.pInt,k=t.splat,i=n.addEvent,a=n.Axis;t=n.Chart;var h=n.css,v=n.createElement,e=n.defaultOptions,y=n.fireEvent,o=n.merge;l(e,{rangeSelector:{verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputPosition:{align:"right",x:0,y:0},buttonPosition:{align:"left",x:0,y:0},labelStyle:{color:"#666666"}}});e.lang=o(e.lang,{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"From",rangeSelectorTo:"To"});f.prototype={clickButton:function(n,t){var s=this.chart,h=this.buttonOptions[n],f=s.xAxis[0],c=s.scroller&&s.scroller.getUnionExtremes()||f||{},l=c.dataMin,o=c.dataMax,e=f&&Math.round(Math.min(f.max,r(o,f.max))),v=h.type,b,w,y,p,d,g;if(c=h._range,w=h.dataGrouping,null!==l&&null!==o){if(s.fixedRange=c,w&&(this.forcedDataGrouping=!0,a.prototype.setDataGrouping.call(f||{chart:this.chart},w,!1),this.frozenStates=h.preserveDataGrouping),"month"===v||"year"===v)f?(v={range:h,max:e,chart:s,dataMin:l,dataMax:o},y=f.minFromRange.call(v),u(v.newMax)&&(e=v.newMax)):c=h;else if(c)y=Math.max(e-c,l),e=Math.min(y+c,o);else if("ytd"===v)if(f)"undefined"==typeof o&&(l=Number.MAX_VALUE,o=Number.MIN_VALUE,s.series.forEach(function(n){n=n.xData;l=Math.min(n[0],l);o=Math.max(n[n.length-1],o)}),t=!1),e=this.getYTDExtremes(o,l,s.time.useUTC),y=b=e.min,e=e.max;else{this.deferredYTDClick=n;return}else"all"===v&&f&&(y=l,e=o);y+=h._offsetMin;e+=h._offsetMax;this.setSelected(n);f?f.setExtremes(y,e,r(t,1),null,{trigger:"rangeSelectorButton",rangeSelectorButton:h}):(p=k(s.options.xAxis)[0],d=p.range,p.range=c,g=p.min,p.min=b,i(s,"load",function(){p.range=d;p.min=g}))}},setSelected:function(n){this.selected=this.options.selected=n},defaultButtons:[{type:"month",count:1,text:"1m"},{type:"month",count:3,text:"3m"},{type:"month",count:6,text:"6m"},{type:"ytd",text:"YTD"},{type:"year",count:1,text:"1y"},{type:"all",text:"All"}],init:function(n){var t=this,r=n.options.rangeSelector,u=r.buttons||[].concat(t.defaultButtons),f=r.selected,e=function(){var n=t.minInput,i=t.maxInput;n&&n.blur&&y(n,"blur");i&&i.blur&&y(i,"blur")};t.chart=n;t.options=r;t.buttons=[];t.buttonOptions=u;this.unMouseDown=i(n.container,"mousedown",e);this.unResize=i(n,"resize",e);u.forEach(t.computeButtonRange);"undefined"!=typeof f&&u[f]&&this.clickButton(f,!1);i(n,"load",function(){n.xAxis&&n.xAxis[0]&&i(n.xAxis[0],"setExtremes",function(i){this.max-this.min!==n.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&t.forcedDataGrouping&&!t.frozenStates&&this.setDataGrouping(!1,!1)})})},updateButtonStates:function(){var n=this,t=this.chart,i=t.xAxis[0],r=M
1ath.round(i.max-i.min),c=!i.hasVisibleSeries,h=t.scroller&&t.scroller.getUnionExtremes()||i,f=h.dataMin,e=h.dataMax;t=n.getYTDExtremes(e,f,t.time.useUTC);var l=t.min,a=t.max,o=n.selected,s=u(o),v=n.options.allButtonsEnabled,y=n.buttons;n.buttonOptions.forEach(function(t,u){var h=t._range,p=t.type,b=t.count||1,d=y[u],w=0,k=t._offsetMax-t._offsetMin;t=u===o;var tt=h>e-f,it=h<i.minRange,g=!1,nt=!1;h=h===r;("month"===p||"year"===p)&&r+36e5>=864e5*{month:28,year:365}[p]*b-k&&r-36e5<=864e5*{month:31,year:366}[p]*b+k?h=!0:"ytd"===p?(h=a-l+k===r,g=!t):"all"===p&&(h=i.max-i.min>=e-f,nt=!t&&s&&h);p=!v&&(tt||it||nt||c);b=t&&h||h&&!s&&!g||t&&n.frozenStates;p?w=3:b&&(s=!0,w=2);d.state!==w&&(d.setState(w),0===w&&o===u&&n.setSelected(null))})},computeButtonRange:function(n){var t=n.type,i=n.count||1,u={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};u[t]?n._range=u[t]*i:("month"===t||"year"===t)&&(n._range=864e5*{month:30,year:365}[t]*i);n._offsetMin=r(n.offsetMin,0);n._offsetMax=r(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"];c(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"];h(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){h(this[n+"Input"],{border:0,width:"1px",height:"1px"});this.setInputValue(n)},drawInput:function(t){function b(){var o=r.value,n=(a.inputDateParser||Date.parse)(o),e=i.xAxis[0],t=i.scroller&&i.scroller.xAxis?i.scroller.xAxis:e,h=t.dataMin;t=t.dataMax;n!==r.previousValue&&(r.previousValue=n,u(n)||(n=o.split("-"),n=Date.UTC(s(n[0]),s(n[1])-1,s(n[2]))),u(n)&&(i.time.useUTC||(n+=6e4*(new Date).getTimezoneOffset()),y?n>f.maxInput.HCTime?n=void 0:n<h&&(n=h):n<f.minInput.HCTime?n=void 0:n>t&&(n=t),"undefined"!=typeof n&&e.setExtremes(y?n:e.min,y?e.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,r,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"]=r=v("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)),h(r,l({position:"absolute",border:0,width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:w.fontSize,fontFamily:w.fontFamily,top:"-9999em"},a.inputStyle)));r.onfocus=function(){f.showInput(t)};r.onblur=function(){r===n.doc.activeElement&&b();f.hideInput(t);r.blur()};r.onchange=b;r.onkeypress=function(n){13===n.keyCode&&b()}},getPosition:function(){var n=this.chart,t=n.options.rangeSelector;return n="top"===t.verticalAlign?n.plotTop-n.axisOffset[0]:0,{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 i=this,u=i.chart,nt=u.renderer,tt=u.container,h=u.options,a=h.exporting&&!1!==h.exporting.enabled&&h.navigation&&h.navigation.buttonOptions,ot=e.lang,f=i.div,s=h.rangeSelector,vt=r(h.chart.style&&h.chart.style.zIndex,0)+1,st,lt;h=s.floating;st=i.buttons;f=i.inputGroup;var it=s.buttonTheme,o=s.buttonPosition,l=s.inputPosition,ct=s.inputEnabled,b=it&&it.states,k=u.plotLeft,c=i.buttonGroup,rt=i.rendered,d=i.options.verticalAlign,ut=u.legend,ft=ut&&ut.options,et=o.y,g=l.y,ht=rt||!1,at=ht?"animate":"attr",w=0,y=0,p;!1!==s.enabled&&(rt||(i.group=rt=nt.g("range-selector-group").attr({zIndex:7}).add(),i.buttonGroup=c=nt.g("range-selector-buttons").add(rt),i.zoomText=nt.text(
1ot.rangeSelectorZoom,0,15).add(c),u.styledMode||(i.zoomText.css(s.labelStyle),it["stroke-width"]=r(it["stroke-width"],0)),i.buttonOptions.forEach(function(n,t){st[t]=nt.button(n.text,0,0,function(r){var u=n.events&&n.events.click,f;u&&(f=u.call(n,r));!1!==f&&i.clickButton(t);i.isActive=!0},it,b&&b.hover,b&&b.select,b&&b.disabled).attr({"text-align":"center"}).add(c)}),!1!==ct&&(i.div=f=v("div",null,{position:"relative",height:0,zIndex:vt}),tt.parentNode.insertBefore(f,tt),i.inputGroup=f=nt.g("input-group").add(rt),f.offset=0,i.drawInput("min"),i.drawInput("max"))),i.zoomText[at]({x:r(k+o.x,k)}),lt=r(k+o.x,k)+i.zoomText.getBBox().width+5,i.buttonOptions.forEach(function(n,t){st[t][at]({x:lt});lt+=st[t].width+r(s.buttonSpacing,5)}),k=u.plotLeft-u.spacing[3],i.updateButtonStates(),a&&this.titleCollision(u)&&"top"===d&&"right"===o.align&&o.y+c.getBBox().height-12<(a.y||0)+a.height&&(w=-40),"left"===o.align?p=o.x-u.spacing[3]:"right"===o.align&&(p=o.x+w-u.spacing[1]),c.align({y:o.y,width:c.getBBox().width,align:o.align,x:p},!0,u.spacingBox),i.group.placed=ht,i.buttonGroup.placed=ht,!1!==ct&&(w=a&&this.titleCollision(u)&&"top"===d&&"right"===l.align&&l.y-f.getBBox().height-12<(a.y||0)+a.height+u.spacing[0]?-40:0,"left"===l.align?p=k:"right"===l.align&&(p=-Math.max(u.axisOffset[1],-w)),f.align({y:l.y,width:f.getBBox().width,align:l.align,x:l.x+p-2},!0,u.spacingBox),tt=f.alignAttr.translateX+f.alignOptions.x-w+f.getBBox().x+2,a=f.alignOptions.width,ot=c.alignAttr.translateX+c.getBBox().x,p=c.getBBox().width+20,(l.align===o.align||ot+p>tt&&tt+a>ot&&et<g+f.getBBox().height)&&f.attr({translateX:f.alignAttr.translateX+(u.axisOffset[1]>=-w?0:-w),translateY:f.alignAttr.translateY+c.getBBox().height+10}),i.setInputValue("min",n),i.setInputValue("max",t),i.inputGroup.placed=ht),i.group.align({verticalAlign:d},!0,u.spacingBox),n=i.group.getBBox().height+20,t=i.group.alignAttr.translateY,"bottom"===d&&(ut=ft&&"bottom"===ft.verticalAlign&&ft.enabled&&!ft.floating?ut.legendHeight+r(ft.margin,10):0,n=n+ut-20,y=t-n-(h?0:s.y)-(u.titleOffset?u.titleOffset[2]:0)-10),"top"===d?(h&&(y=0),u.titleOffset&&u.titleOffset[0]&&(y=u.titleOffset[0]),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)),i.group.translate(s.x,s.y+Math.floor(y)),!1!==ct&&(i.minInput.style.marginTop=i.group.translateY+"px",i.maxInput.style.marginTop=i.group.translateY+"px"),i.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||0<r&&0<i)&&(n+=Math.abs(t)),n)},titleCollision:function(n){return!(n.options.title.text||n.options.subtitle.text)},update:function(n){var t=this.chart;o(!0,t.options.rangeSelector,n);this.destroy();this.init(t);t.rangeSelector.render()},destroy:function(){var n=this,t=n.minInput,i=n.maxInput;n.unMouseDown();n.unResize();p(n.buttons);t&&(t.onfocus=t.onblur=t.onchange=null);i&&(i.onfocus=i.onblur=i.onchange=null);b(n,function(t,i){t&&"chart"!==i&&(t.destroy?t.destroy():t.nodeType&&w(this[i]));t!==f.prototype[i]&&(n[i]=null)},this)}};a.prototype.minFromRange=function(){var t=this.range,s={month:"Month",year:"FullYear"}[t.type],i=this.max,f=this.chart.time,h=function(n,t){var i=new f.Date(n),r=f.get(s,i);return f.set(s,i,r+t),r===f.get(s,i)&&f.set("Date",i,0),i.getTime()-n},n,e,o;return u(t)?(n=i-t,e=t):(n=i+h(i,-t.count),this.chart&&(this.chart.fixedRange=i-n)),o=r(this.dataMin,Number.MIN_VALUE),u(n)||(n=o),n<=o&&(n=o,"undefined"==typeof e&&(e=h(n,t.count)),this.newMax=Math.min(n+e,this.dataMax)),u(i)||(n=void 0),n};n.RangeSelector||(i(t,"afterGetContainer",function(){this.options.rangeSelector.enabled&&(this.rangeSelector=new f(this))}),i(t,"beforeRender",function(){var t=this.axes,n=this.rangeSelector;n&&(u(n.deferredYTDClick)&&(n.clickButton(n.deferredYTDClick),delete n.deferredYTDClick),t.forEach(function(n){n.updateNames();n.setScale()}),this.getAxisMargins(),n.render(),t=n.options.verticalAlign,n.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)))}),i(t,"update",function(n){var t=n.options.rangeSelector,i,r;n=this.rangeSelector;i=this.extraBottomMargin;r=this.extraTopMargin;t&&t.enabled&&!c(n)&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=new f(this));this.extraTopMargin=this.extraBottomMargin=!1;n&&(n.render(),t=t&&t.verticalAlign||n.options&&n.options.verticalAlign,n.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"!==t&&(this.extraTopMargin=!0)),this.extraBottomMargin!==i||this.extraTopMargin!==r)&&(this.isDirtyBox=!0)}),i(t,"render",function(){var n=this.rangeSelector;n&&!n.options.floating&&(n.render(),n=n.options.verticalAlign,"bottom"===n?this.extraBottomMargin=!0:"middle"!==n&&(this.extraTopMargin=!0))}),i(t,"getMargins",function(){var n=this.rangeSelector;n&&(n=n.getHeight(),this.extraTopMargin&&(this.plotTop+=n),this.extraBottomMargin&&(this.marginBottom+=n))}),t.prototype.callbacks.push(function(n){function f(){t=n.xAxis[0].getExtremes();u(t.min)&&r.render(t.min,t.max)}var t,r=n.rangeSelector,e,o;r&&(e=i(n.xAxis[0],"afterSetExtremes",function(n){r.render(n.min,n.max)}),o=i(n,"redraw",f),f());i(n,"destroy",function(){r&&(o(),e())})}),n.RangeSelector=f)}),i(t,"parts/StockChart.js",[t["parts/Globals.js"],t["parts/Utilities.js"]],function(n,t){var w=t.arrayMax,b=t.arrayMin,c=t.clamp,e=t.defined,k=t.extend,s=t.isNumber,l=t.isString,i=t.pick,a=t.splat;t=n.addEvent;
1var r=n.Axis,h=n.Chart,d=n.format,u=n.merge,v=n.Point,g=n.Renderer,o=n.Series,y=n.SVGRenderer,p=n.VMLRenderer,f=o.prototype,nt=f.init,tt=f.processData,it=v.prototype.tooltipFormatter;n.StockChart=n.stockChart=function(t,r,f){var s=l(t)||t.nodeName,e=arguments[s?1:0],w=e,b=e.series,o=n.getOptions(),c,v=e.chart&&e.chart.panning,y=i(e.navigator&&e.navigator.enabled,o.navigator.enabled,!0),k=v&&/y/.test(v.type),p={startOnTick:!1,endOnTick:!1};return e.xAxis=a(e.xAxis||{}).map(function(n,t){return u({minPadding:0,maxPadding:0,overscroll:0,ordinal:!0,title:{text:null},labels:{overflow:"justify"},showLastLabel:!0},o.xAxis,o.xAxis&&o.xAxis[t],n,{type:"datetime",categories:null},y?p:null)}),e.yAxis=a(e.yAxis||{}).map(function(n,t){return c=i(n.opposite,!0),u({labels:{y:-2},opposite:c,showLastLabel:!(!n.categories&&"category"!==n.type),title:{text:null}},o.yAxis,o.yAxis&&o.yAxis[t],n,k?p:null)}),e.series=null,e=u({chart:{panning:{enabled:!0,type:"x"},pinchType:"x"},navigator:{enabled:y},scrollbar:{enabled:i(o.scrollbar.enabled,!0)},rangeSelector:{enabled:i(o.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:i(o.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},e,{isStock:!0}),e.series=w.series=b,s?new h(t,e,f):new h(e,r)};t(o,"setOptions",function(t){function i(t){return n.seriesTypes[t]&&f instanceof n.seriesTypes[t]}var f=this,r;this.chart.options.isStock&&(i("column")||i("columnrange")?r={borderWidth:0,shadow:!1}:!i("line")||i("scatter")||i("sma")||(r={marker:{enabled:!1,radius:2}}),r&&(t.plotOptions[this.type]=u(t.plotOptions[this.type],r)))});t(r,"autoLabelAlign",function(n){var i=this.chart,r=this.options,t;i=i._labelPanes=i._labelPanes||{};t=this.options.labels;this.chart.options.isStock&&"yAxis"===this.coll&&(r=r.top+","+r.height,!i[r]&&t.enabled&&(15===t.x&&(t.x=0),"undefined"==typeof t.align&&(t.align="right"),i[r]=this,n.align="right",n.preventDefault()))});t(r,"destroy",function(){var n=this.chart,t=this.options&&this.options.top+","+this.options.height;t&&n._labelPanes&&n._labelPanes[t]===this&&delete n._labelPanes[t]});t(r,"getPlotLinePath",function(t){function nt(n){var t="xAxis"===n?"yAxis":"xAxis";return n=r.options[t],s(n)?[u[t][n]]:l(n)?[u.get(n)]:tt.map(function(n){return n[t]})}var r=this,tt=this.isLinked&&!this.series?this.linkedParent.series:this.series,u=r.chart,it=u.renderer,p=r.left,a=r.top,f,o,v,y,w=[],b=[],rt=t.translatedValue,ut=t.value,k=t.force,g,h,d;(u.options.isStock&&!1!==t.acrossPanes&&"xAxis"===r.coll||"yAxis"===r.coll)&&(t.preventDefault(),b=nt(r.coll),g=r.isXAxis?u.yAxis:u.xAxis,g.forEach(function(n){if(e(n.options.id)?-1===n.options.id.indexOf("navigator"):1){var t=n.isXAxis?"yAxis":"xAxis";t=e(n.options[t])?u[t][n.options[t]]:u[t][0];r===t&&b.push(n)}}),h=b.length?[]:[r.isXAxis?u.yAxis[0]:u.xAxis[0]],b.forEach(function(t){-1!==h.indexOf(t)||n.find(h,function(n){return n.pos===t.pos&&n.len===t.len})||h.push(t)}),d=i(rt,r.translate(ut,null,null,t.old)),s(d)&&(r.horiz?h.forEach(function(n){var t;o=n.pos;y=o+n.len;f=v=Math.round(d+r.transB);"pass"!==k&&(f<p||f>p+r.width)&&(k?f=v=c(f,p,p+r.width):t=!0);t||w.push("M",f,o,"L",v,y)}):h.forEach(function(n){var t;f=n.pos;v=f+n.len;o=y=Math.round(a+r.height-d);"pass"!==k&&(o<a||o>a+r.height)&&(k?o=y=c(o,a,a+r.height):t=!0);t||w.push("M",f,o,"L",v,y)})),t.path=0<w.length?it.crispPolyLine(w,t.lineWidth||1):null)});y.prototype.crispPolyLine=function(n,t){for(var i=0;i<n.length;
1i+=6)n[i+1]===n[i+4]&&(n[i+1]=n[i+4]=Math.round(n[i+1])-t%2/2),n[i+2]===n[i+5]&&(n[i+2]=n[i+5]=Math.round(n[i+2])+t%2/2);return n};g===p&&(p.prototype.crispPolyLine=y.prototype.crispPolyLine);t(r,"afterHideCrosshair",function(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())});t(r,"afterDrawCrosshair",function(n){var a,v,nt;if(e(this.crosshair.label)&&this.crosshair.label.enabled&&this.cross){var h=this.chart,t=this.options.crosshair.label,s=this.horiz,l=this.opposite,c=this.left,f=this.top,r=this.crossLabel,y=t.format,o="",tt="inside"===this.options.tickPosition,w=!1!==this.crosshair.snap,b=0,p=n.e||this.cross&&this.cross.e,g=n.point,u=this.lin2log;this.isLog?(n=u(this.min),nt=u(this.max)):(n=this.min,nt=this.max);u=s?"center":l?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";r||(r=this.crossLabel=h.renderer.label(null,null,null,t.shape||"callout").addClass("highcharts-crosshair-label"+(this.series[0]&&" highcharts-color-"+this.series[0].colorIndex)).attr({align:t.align||u,padding:i(t.padding,8),r:i(t.borderRadius,3),zIndex:2}).add(this.labelGroup),h.styledMode||r.attr({fill:t.backgroundColor||this.series[0]&&this.series[0].color||"#666666",stroke:t.borderColor||"","stroke-width":t.borderWidth||0}).css(k({color:"#ffffff",fontWeight:"normal",fontSize:"11px",textAlign:"center"},t.style)));s?(u=w?g.plotX+c:p.chartX,f+=l?0:this.height):(u=l?this.width+c:0,f=w?g.plotY+f:p.chartY);y||t.formatter||(this.isDatetimeAxis&&(o="%b %d, %Y"),y="{value"+(o?":"+o:"")+"}");o=w?g[this.isXAxis?"x":"y"]:this.toValue(s?p.chartX:p.chartY);r.attr({text:y?d(y,{value:o},h):t.formatter.call(this,o),x:u,y:f,visibility:o<n||o>nt?"hidden":"visible"});t=r.getBBox();s?(tt&&!l||!tt&&l)&&(f=r.y-t.height):f=r.y-t.height/2;s?(a=c-t.x,v=c+this.width-t.x):(a="left"===this.labelAlign?c:0,v="right"===this.labelAlign?c+this.width:h.chartWidth);r.translateX<a&&(b=a-r.translateX);r.translateX+t.width>=v&&(b=-(r.translateX+t.width-v));r.attr({x:u+b,y:f,anchorX:s?u:this.opposite?0:h.chartWidth,anchorY:s?this.opposite?h.chartHeight:0:f+t.height/2})}});f.init=function(){nt.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;return"undefined"!=typeof t&&"undefined"!=typeof r?(t="value"===n?t-r:t/r*100-(100===this.options.compareBase?0:100),i&&(i.change=t),t):0}:null;this.userOptions.compare=n;this.chart.hasRendered&&(this.isDirty=!0)};f.processData=function(){var n,r=-1,u=!0===this.options.compareStart?0:1,i;if(tt.apply(this,arguments),this.xAxis&&this.processedYData){var f=this.processedXData,t=this.processedYData,e=t.length;for(this.pointArrayMap&&(r=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),n=0;n<e-u;n++)if(i=t[n]&&-1<r?t[n][r]:t[n],s(i)&&f[n+u]>=this.xAxis.min&&0!==i){this.compareValue=i;break}}};t(o,"afterGetExtremes",function(){if(this.modifyValue){var n=[this.modifyValue(this.dataMin),this.modifyValue(this.dataMax)];this.dataMin=b(n);this.dataMax=w(n)}});r.prototype.setCompare=function(n,t){this.isXAxis||(this.series.forEach(function(t){t.setCompare(n)}),i(t,!0)&&this.chart.redraw())};v.prototype.tooltipFormatter=function(n){var t=this.series.chart.numberFormatter;return n=n.replace("{point.change}",(0<this.change?"+":"")+t(this.change,i(this.series.tooltipOptions.changeDecimals,2))),it.apply(this,[n])};t(o,"render",function(){var n=this.chart,t,i,r;n.is3d&&n.is3d()||n.polar||!this.xAxis||this.xAxis.isRadial||(t=this.yAxis.len,this.xAxis.axisLine&&(i=n.plotTop+n.plotHeight-this.yAxis.pos-this.yAxis.len,r=Math.floor(this.xAxis.axisLine.strokeWidth()/2),0<=i&&(t-=Math.max(r-i,0))),!this.clipBox&&this.animate?(this.clipBox=u(n.clipBox),this.clipBox.width=this.xAxis.len,this.clipBox.height=t):n[this.sharedClipKey]&&(n[this.sharedClipKey].animate({width:this.xAxis.len,height:t}),n[this.sharedClipKey+"m"]&&n[this.sharedClipKey+"m"].animate({width:this.xAxis.len})))});t(h,"update",function(n){n=n.options;"scrollbar"in n&&this.navigator&&(u(!0,this.options.scrollbar,n.scrollbar),this.navigator.update({},!1),delete n.scrollbar)});t(r,"afterSetScale",function(){var t=this,u=t.chart.options.chart&&t.chart.options.chart.panning,i,r;!u||"y"!==u.type&&"xy"!==u.type||t.isXAxis||e(t.panningState)||(i=Number.MAX_VALUE,r=Number.MIN_VALUE,t.series.forEac
1h(function(u){i=Math.min(n.arrayMin(u.yData),i)-(t.min&&t.dataMin?t.dataMin-t.min:0);r=Math.max(n.arrayMax(u.yData),r)+(t.max&&t.dataMax?t.max-t.dataMax:0)}),t.panningState={startMin:i,startMax:r})})}),i(t,"masters/modules/stock.src.js",[],function(){}),i(t,"masters/highstock.src.js",[t["masters/highcharts.src.js"]],function(n){return n.product="Highstock",n}),t["masters/highstock.src.js"]._modules=t,t["masters/highstock.src.js"]}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/highcharts-more",["highcharts"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"parts-more/Pane.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function r(n,t){this.init(n,t)}var u=t.extend,f=t.splat,e=n.CenteredSeriesMixin,i=n.merge;n.Chart.prototype.collectionsWithUpdate.push("pane");u(r.prototype,{coll:"pane",init:function(n,t){this.chart=t;this.background=[];t.pane.push(this);this.setOptions(n)},setOptions:function(n){this.options=i(this.defaultOptions,this.chart.angular?{background:{}}:void 0,n)},render:function(){var r=this.options,t=this.options.background,n=this.chart.renderer;if(this.group||(this.group=n.g("pane-group").attr({zIndex:r.zIndex||0}).add()),this.updateCenter(),t)for(t=f(t),r=Math.max(t.length,this.background.length||0),n=0;n<r;n++)t[n]&&this.axis?this.renderBackground(i(this.defaultBackgroundOptions,t[n]),n):this.background[n]&&(this.background[n]=this.background[n].destroy(),this.background.splice(n,1))},renderBackground:function(n,t){var i="animate",r={"class":"highcharts-pane "+(n.className||"")};this.chart.styledMode||u(r,{fill:n.backgroundColor,stroke:n.borderColor,"stroke-width":n.borderWidth});this.background[t]||(this.background[t]=this.chart.renderer.path().add(this.group),i="attr");this.background[t][i]({d:this.axis.getPlotBandPath(n.from,n.to,n)}).attr(r)},defaultOptions:{center:["50%","50%"],size:"85%",startAngle:0},defaultBackgroundOptions:{shape:"circle",borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"},updateCenter:function(n){this.center=(n||this.axis||{}).center=e.getCenter.call(this)},update:function(n,t){i(!0,this.options,n);i(!0,this.chart.options.pane,n);this.setOptions(this.options);this.render();this.chart.axes.forEach(function(n){n.pane===this&&(n.pane=null,n.update({},t))},this)}});n.Pane=r});t(n,"parts-more/RadialAxis.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var l=t.correctFloat,f=t.defined,o=t.extend,i=t.pick,y=t.pInt,s=t.relativeLength;t=t.wrap;var r=n.addEvent,u=n.Axis,a=n.merge,e=n.noop,h=n.Tick,c=u.prototype,p=h.prototype,w={getOffset:e,redraw:function(){this.isDirty=!1},render:function(){this.isDirty=!1},createLabelCollector:function(){return!1},setScale:e,setCategories:e,setTitle:e},v={defaultRadialGaugeOptions:{labels:{align:"center",x:0,y:null},minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,tickLength:10,tickPosition:"inside",tickWidth:2,title:{rotation:0},zIndex:2},defaultCircularOptions:{gridLineWidth:1,labels:{align:null,distance:15,x:0,y:null,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},defaultRadialOptions:{gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},setOptions:function(t){t=this.options=a(this.defaultOptions,this.defaultPolarOptions,t);t.plotBands||(t.plotBands=[]);n.fireEvent(this,"afterSetOptions")},getOffset:function(){c.getOffset.call(this);this.chart.axisOffset[this.side]=0},getLinePath:function(n,t){n=this.center;var u=this.chart,r=i(t,n[2]/2-this.offset);return this.isCircular||"undefined"!=typeof t?(t=this.chart.renderer.symbols.arc(this.left+n[0],this.top+n[1],r,r,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0}),t.xBounds=[this.left+n[0]],t.yBounds=[this.top+n[1]-r]):(t=this.postTranslate(this.angleRad,r),t=["M",n[0]+u.plotLeft,n[1]+u.plotTop,"L",t.x,t.y]),t},setAxisTranslation:function(){c.setAxisTranslation.call(this);this.center&&(this.transA=this.isCircular?(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.center[2]/2/(this.max-this.min||1),this.minPixelPadding=this.isXAxis?this.transA*this.minPointOffset:0)},beforeSetTickPositions:function(){this.autoConnect=this.isCircular&&"undefined"==typeof i(this.userMax,this.options.max)&&l(this.endAngleRad-this.startAngleRad)===l(2*Math.PI);!this.isCircular&&this.chart.inverted&&this.max++;this.autoConnect&&(this.max+=this.categories&&1||this.pointRange||this.closestPointRange||0)},setAxisSize:function(){c.setAxisSize.call(this);this.isRadial&&(this.pane.updateCenter(this),this.isCircular&&(this.sector=this.endAngleRad-this.startAngleRad),this.len=this.width=this.height=this.center[2]*i(this.sector,1)/2)},getPosition:function(n,t){return n=this.translate(n),this.postTranslate(this.isCircular?n:this.angleRad,i(this.isCircular?t:0>
1n?0:n,this.center[2]/2)-this.offset)},postTranslate:function(n,t){var i=this.chart,r=this.center;return n=this.startAngleRad+n,{x:i.plotLeft+r[0]+Math.cos(n)*t,y:i.plotTop+r[1]+Math.sin(n)*t}},getPlotBandPath:function(n,t,r){var e=this.center,s=this.startAngleRad,c=e[2]/2,u=[i(r.outerRadius,"100%"),r.innerRadius,i(r.thickness,10)],o=Math.min(this.offset,0),l=/%$/,f=this.isCircular,h;return"polygon"===this.options.gridLineInterpolation?u=this.getPlotLinePath({value:n}).concat(this.getPlotLinePath({value:t,reverse:!0})):(n=Math.max(n,this.min),t=Math.min(t,this.max),f||(u[0]=this.translate(n),u[1]=this.translate(t)),u=u.map(function(n){return l.test(n)&&(n=y(n,10)*c/100),n}),"circle"!==r.shape&&f?(n=s+this.translate(n),t=s+this.translate(t)):(n=-Math.PI/2,t=1.5*Math.PI,h=!0),u[0]-=o,u[2]-=o,u=this.chart.renderer.symbols.arc(this.left+e[0],this.top+e[1],u[0],u[0],{start:Math.min(n,t),end:Math.max(n,t),innerR:i(u[1],u[0]-u[2]),open:h}),f&&(f=(t+n)/2,o=this.left+e[0]+e[2]/2*Math.cos(f),u.xBounds=f>-Math.PI/2&&f<Math.PI/2?[o,this.chart.plotWidth]:[0,o],u.yBounds=[this.top+e[1]+e[2]/2*Math.sin(f)],u.yBounds[0]+=f>-Math.PI&&0>f||f>Math.PI?-10:10)),u},getCrosshairPosition:function(n,t,i){var u=n.value,r,e;return this.isCircular?(f(u)?n.point&&(r=n.point.shapeArgs||{},r.start&&(u=this.translate(n.point.rectPlotY,!0))):(r=n.chartX||0,e=n.chartY||0,u=this.translate(Math.atan2(e-i,r-t)-this.startAngleRad,!0)),n=this.getPosition(u),r=n.x,e=n.y):(f(u)||(r=n.chartX,e=n.chartY),f(r)&&f(e)&&(u=this.translate(Math.min(Math.sqrt(Math.pow(r-t,2)+Math.pow(e-i,2)),this.len),!0))),[u,r||0,e||0]},getPlotLinePath:function(n){var r=this,u=r.center,h=r.chart,p=h.inverted,f=n.value,c=n.reverse,i=r.getPosition(f),t=r.pane.options.background?r.pane.options.background[0]||r.pane.options.background:{},a=t.innerRadius||"0%",v=t.outerRadius||"100%",e,l,y,o;return t=u[0]+h.plotLeft,u=u[1]+h.plotTop,e=i.x,i=i.y,n.isCrosshair&&(i=this.getCrosshairPosition(n,t,u),f=i[0],e=i[1],i=i[2]),r.isCircular?(c="string"==typeof a?s(a,1):a/Math.sqrt(Math.pow(e-t,2)+Math.pow(i-u,2)),n="string"==typeof v?s(v,1):v/Math.sqrt(Math.pow(e-t,2)+Math.pow(i-u,2)),o=["M",t+c*(e-t),u-c*(u-i),"L",e-(1-n)*(e-t),i+(1-n)*(u-i)]):(f=r.translate(f),!n.isCrosshair&&(0>f||f>r.height)&&p&&(f=0),"circle"===r.options.gridLineInterpolation?o=r.getLinePath(0,f):(h[p?"yAxis":"xAxis"].forEach(function(n){n.pane===r.pane&&(l=n)}),o=[],t=l.tickPositions,l.autoConnect&&(t=t.concat([t[0]])),c&&(t=[].concat(t).reverse()),t.forEach(function(n,t){y=l.getPosition(n,f);o.push(t?"L":"M",y.x,y.y)}))),o},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)}},createLabelCollector:function(){var n=this;return function(){if(n.isRadial&&n.tickPositions&&!0!==n.options.labels.allowOverlap)return n.tickPositions.map(function(t){return n.ticks[t]&&n.ticks[t].label}).filter(function(n){return!!n})}}};r(u,"init",function(n){var t=this.chart,s=t.inverted,r=t.angular,f=t.polar,e=this.isXAxis,u=this.coll,h=r&&e,i,c=t.options;n=n.userOptions.pane||0;n=this.pane=t.pane&&t.pane[n];"colorAxis"===u?this.isRadial=!1:(r?(o(this,h?w:v),i=!e)&&(this.defaultPolarOptions=this.defaultRadialGaugeOptions):f&&(o(this,v),this.defaultPolarOptions=(i=this.horiz)?this.defaultCircularOptions:a("xAxis"===u?this.defaultOptions:this.defaultYAxisOptions,this.defaultRadialOptions),s&&"yAxis"===u&&(this.defaultPolarOptions.stackLabels=this.defaultYAxisOptions.stackLabels)),r||f?(this.isRadial=!0,c.chart.zoomType=null,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&t.labelCollectors.push(this.labelCollector)):this.isRadial=!1,n&&i&&(n.axis=this),this.isCircular=i)});r(u,"afterInit",function(){var n=this.chart,u=this.options,t=this.pane,r=t&&t.options;(!n.angular||!this.isXAxis)&&t&&(n.angular||n.polar)&&(this.angleRad=(u.angle||0)*Math.PI/180,this.startAngleRad=(r.startAngle-90)*Math.PI/180,this.endAngleRad=(i(r.endAngle,r.startAngle+360)-90)*Math.PI/180,this.offset=u.offset||0)});r(u,"autoLabelAlign",function(n){this.isRadial&&(n.align=void 0,n.preventDefault())});r(u,"destroy",function(){if(this.chart&&this.chart.labelCollectors){var n=this.chart.labelCollectors.indexOf(this.labelCollector);0<=n&&this.chart.labelCollectors.splice(n,1)}});r(h,"afterGetPosition",function(n){this.axis.getPosition&&o(n.pos,this.axis.getPosition(this.pos))});r(h,"afterGetLabelPosition",function(n){var r=this.axis,c=this.label,u=c.getBBox(),l=r.options.labels,p=l.y,y=20,h=l.align,a=(r.translate(this.pos)+r.startAngleRad+Math.PI/2)/Math.PI*180%360,f=Math.round(a),e="end",t=0>f?f+360:f,o=t,v=0,w=0,k=null===l.y?.3*-u.height:0,b;r.isRadial&&(b=r.getPosition(this.pos,r.center[2]/2+s(i(l.distance,-25),r.center[2]/2,-r.center[2]/2)),"auto"===l.rotation?c.attr({rotation:a}):null===p&&(p=r.chart.renderer.fontMetrics(c.styles&&c.styles.fontSize).b-u.height/2),null===h&&
1(r.isCircular?(u.width>r.len*r.tickInterval/(r.max-r.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===r.tickPositions.length&&r.isCircular&&(90<t&&180>t?t=180-t:270<t&&360>=t&&(t=540-t),180<o&&360>=o&&(o=360-o),(r.pane.options.startAngle===f||r.pane.options.startAngle===f+360||r.pane.options.startAngle===f-360)&&(e="start"),h=-90<=f&&90>=f||-360<=f&&-270>=f||270<=f&&360>=f?"start"===e?"right":"left":"start"===e?"left":"right",70<o&&110>o&&(h="center"),15>t||180<=t&&195>t?v=.3*u.height:15<=t&&35>=t?v="start"===e?0:.75*u.height:195<=t&&215>=t?v="start"===e?.75*u.height:0:35<t&&90>=t?v="start"===e?.25*-u.height:u.height:215<t&&270>=t&&(v="start"===e?u.height:.25*-u.height),15>o?w="start"===e?.15*-u.height:.15*u.height:165<o&&180>=o&&(w="start"===e?.15*u.height:.15*-u.height),c.attr({align:h}),c.translate(w,v+k)),n.pos.x=b.x+l.x,n.pos.y=b.y+p)});t(p,"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"],n["parts/Utilities.js"]],function(n,t){var u=t.defined,f=t.extend,s=t.isArray,o=t.isNumber,h=t.pick;t=n.seriesType;var e=n.seriesTypes,i=n.Series.prototype,r=n.Point.prototype;t("arearange","area",{lineWidth:1,threshold:null,tooltip:{pointFormat:'<span style="color:{series.color}">â<\/span> {series.name}: <b>{point.low}<\/b> - <b>{point.high}<\/b><br/>'},trackByArea:!0,dataLabels:{align:null,verticalAlign:null,xLow:0,xHigh:0,yLow:0,yHigh:0}},{pointArrayMap:["low","high"],pointValKey:"low",deferTranslatePolar:!0,toYData:function(n){return[n.low,n.high]},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;e.area.prototype.translate.apply(n);n.points.forEach(function(r){var u=r.high,f=r.plotY;r.isNull?r.plotY=null:(r.plotLow=f,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 o=[],r=[],u,s=e.area.prototype.getGraphPath,i=this.options,l=this.chart.polar&&!1!==i.connectEnds,a=i.connectNulls,f=i.step,t,c;for(n=n||this.points,u=n.length;u--;)t=n[u],t.isNull||l||a||n[u+1]&&!n[u+1].isNull||r.push({plotX:t.plotX,plotY:t.plotY,doCurve:!1}),c={polarPlotY:t.polarPlotY,rectPlotX:t.rectPlotX,yBottom:t.yBottom,plotX:h(t.plotHighX,t.plotX),plotY:t.plotHigh,isNull:t.isNull},r.push(c),o.push(c),t.isNull||l||a||n[u-1]&&!n[u-1].isNull||r.push({plotX:t.plotX,plotY:t.plotY,doCurve:!1});return n=s.call(this,n),f&&(!0===f&&(f="left"),i.step={left:"right",center:"center",right:"left"}[f]),o=s.call(this,o),r=s.call(this,r),i.step=f,i=[].concat(n,o),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,t,l=[],u=this.options.dataLabels,n,a=this.chart.inverted,r,e,o;if(s(u)?1<u.length?(r=u[0],e=u[1]):(r=u[0],e={enabled:!1}):(r=f({},u),r.x=u.xHigh,r.y=u.yHigh,e=f({},u),e.x=u.xLow,e.y=u.yLow),r.enabled||this._hasPointLabels){for(t=c;t--;)(n=h[t])&&(o=r.inside?n.plotHigh<n.plotLow:n.plotHigh>n.plotLow,n.y=n.high,n._plotY=n.plotY,n.plotY=n.plotHigh,l[t]=n.dataLabel,n.dataLabel=n.dataLabelUpper,n.below=o,a?r.align||(r.align=o?"right":"left"):r.verticalAlign||(r.verticalAlign=o?"top":"bottom"));for(this.options.dataLabels=r,i.drawDataLabels&&i.drawDataLabels.apply(this,arguments),t=c;t--;)(n=h[t])&&(n.dataLabelUpper=n.dataLabel,n.dataLabel=l[t],delete n.dataLabels,n.y=n.low,n.plotY=n._plotY)}if(e.enabled||this._hasPointLabels){for(t=c;t--;)(n=h[t])&&(o=e.inside?n.plotHigh<n.plotLow:n.plotHigh>n.plotLow,n.below=!o,a?e.align||(e.align=o?"left":"right"):e.verticalAlign||(e.verticalAlign=o?"bottom":"top"));this.options.dataLabels=e;i.drawDataLabels&&i.drawDataLabels.apply(this,arguments)}if(r.enabled)for(t=c;t--;)(n=h[t])&&(n.dataLabels=[n.dataLabelUpper,n.dataLabel].filter(function(n){return!!n}));this.options.dataLabels=u},alignDataLabel:function(){e.column.prototype.alignDataLabel.apply(this,arguments)},drawPoints:function(){var r=this.points.length,t,n;for(i.drawPoints.apply(this,arguments),t=0;t<r;)n=this.points[t],n.origProps={plotY:n.plotY,plotX:n.plotX,isInside:n.isInside,negative:n.negative,zone
1:n.zone,y:n.y},n.lowerGraphic=n.graphic,n.graphic=n.upperGraphic,n.plotY=n.plotHigh,u(n.plotHighX)&&(n.plotX=n.plotHighX),n.y=n.high,n.negative=n.high<(this.options.threshold||0),n.zone=this.zones.length&&n.getZone(),this.chart.polar||(n.isInside=n.isTopInside="undefined"!=typeof n.plotY&&0<=n.plotY&&n.plotY<=this.yAxis.len&&0<=n.plotX&&n.plotX<=this.xAxis.len),t++;for(i.drawPoints.apply(this,arguments),t=0;t<r;)n=this.points[t],n.upperGraphic=n.graphic,n.graphic=n.lowerGraphic,f(n,n.origProps),delete n.origProps,t++},setStackedPoints:n.noop},{setState:function(){var i=this.state,n=this.series,t=n.chart.polar;u(this.plotHigh)||(this.plotHigh=n.yAxis.toPixels(this.high,!0));u(this.plotLow)||(this.plotLow=this.plotY=n.yAxis.toPixels(this.low,!0));n.stateMarkerGraphic&&(n.lowerStateMarkerGraphic=n.stateMarkerGraphic,n.stateMarkerGraphic=n.upperStateMarkerGraphic);this.graphic=this.upperGraphic;this.plotY=this.plotHigh;t&&(this.plotX=this.plotHighX);r.setState.apply(this,arguments);this.state=i;this.plotY=this.plotLow;this.graphic=this.lowerGraphic;t&&(this.plotX=this.plotLowX);n.stateMarkerGraphic&&(n.upperStateMarkerGraphic=n.stateMarkerGraphic,n.stateMarkerGraphic=n.lowerStateMarkerGraphic,n.lowerStateMarkerGraphic=void 0);r.setState.apply(this,arguments)},haloPath:function(){var t=this.series.chart.polar,n=[];return this.plotY=this.plotLow,t&&(this.plotX=this.plotLowX),this.isInside&&(n=r.haloPath.apply(this,arguments)),this.plotY=this.plotHigh,t&&(this.plotX=this.plotHighX),this.isTopInside&&(n=n.concat(r.haloPath.apply(this,arguments))),n},destroyElements:function(){return["lowerGraphic","upperGraphic"].forEach(function(n){this[n]&&(this[n]=this[n].destroy())},this),this.graphic=null,r.destroyElements.apply(this,arguments)},isValid:function(){return o(this.low)&&o(this.high)}});""});t(n,"parts-more/AreaSplineRangeSeries.js",[n["parts/Globals.js"]],function(n){var t=n.seriesType;t("areasplinerange","arearange",null,{getPointSpline:n.seriesTypes.spline.prototype.getPointSpline});""});t(n,"parts-more/ColumnRangeSeries.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var r=t.clamp,f=t.pick;t=n.defaultPlotOptions;var e=n.merge,u=n.noop,o=n.seriesType,i=n.seriesTypes.column.prototype;o("columnrange","arearange",e(t.column,t.arearange,{pointRange:null,marker:null,states:{hover:{halo:!1}}}),{translate:function(){var n=this,u=n.yAxis,e=n.xAxis,c=e.startAngleRad,s,t=n.chart,l=n.xAxis.isRadial,o=Math.max(t.chartWidth,t.chartHeight)+999,h;i.translate.apply(n);n.points.forEach(function(i){var y=i.shapeArgs,p=n.options.minPointLength,v,a;i.plotHigh=h=r(u.translate(i.high,0,1,0,1),-o,o);
1i.plotLow=r(i.plotY,-o,o);v=h;a=f(i.rectPlotY,i.plotY)-h;Math.abs(a)<p?(p-=a,a+=p,v-=p/2):0>a&&(a*=-1,v-=a);l?(s=i.barX+c,i.shapeType="path",i.shapeArgs={d:n.polarArc(v+a,v,s,s+i.pointWidth)}):(y.height=a,y.y=v,i.tooltipPos=t.inverted?[u.len+u.pos-t.plotLeft-v-a/2,e.len+e.pos-t.plotTop-y.x-y.width/2,a]:[e.left-t.plotLeft+y.x+y.width/2,u.pos-t.plotTop+v+a/2,a])})},directTouch:!0,trackerGroups:["group","dataLabelsGroup"],drawGraph:u,getSymbol:u,crispCol:function(){return i.crispCol.apply(this,arguments)},drawPoints:function(){return i.drawPoints.apply(this,arguments)},drawTracker:function(){return i.drawTracker.apply(this,arguments)},getColumnMetrics:function(){return i.getColumnMetrics.apply(this,arguments)},pointAttribs:function(){return i.pointAttribs.apply(this,arguments)},animate:function(){return i.animate.apply(this,arguments)},polarArc:function(){return i.polarArc.apply(this,arguments)},translate3dPoints:function(){return i.translate3dPoints.apply(this,arguments)},translate3dShapes:function(){return i.translate3dShapes.apply(this,arguments)}},{setState:i.pointClass.prototype.setState});""});t(n,"parts-more/ColumnPyramidSeries.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var u=t.clamp,i=t.pick,r;t=n.seriesType;r=n.seriesTypes.column.prototype;t("columnpyramid","column",{},{translate:function(){var n=this,t=n.chart,e=n.options,h=n.dense=2>n.closestPointRange*n.xAxis.transA;h=n.borderWidth=i(e.borderWidth,h?0:1);var f=n.yAxis,c=e.threshold,o=n.translatedThreshold=f.getThreshold(c),s=i(e.minPointLength,5),a=n.getColumnMetrics(),v=a.width,l=n.barW=Math.max(v,1+2*h),y=n.pointXOffset=a.offset;t.inverted&&(o-=.5);e.pointPadding&&(l=Math.ceil(l));r.translate.apply(n);n.points.forEach(function(r){var p=i(r.yBottom,o),w=999+Math.abs(p),h=u(r.plotY,-w,f.len+w),a,b,nt,tt,it;w=r.plotX+y;a=l/2;b=Math.min(h,p);p=Math.max(h,p)-b;r.barX=w;r.pointWidth=v;r.tooltipPos=t.inverted?[f.len+f.pos-t.plotLeft-h,n.xAxis.len-w-a,p]:[w+a,h+f.pos-t.plotTop,p];h=c+(r.total||r.y);"percent"===e.stacking&&(h=c+(0>r.y)?-100:100);h=f.toPixels(h,!0);var k=t.plotHeight-h-(t.plotHeight-o),d=a*(b-h)/k,g=a*(b+p-h)/k;k=w-d+a;d=w+d+a;nt=w+g+a;g=w-g+a;tt=b-s;it=b+p;0>r.y&&(tt=b,it=b+p+s);t.inverted&&(nt=t.plotWidth-b,k=h-(t.plotWidth-o),d=a*(h-nt)/k,g=a*(h-(nt-p))/k,k=w+a+d,d=k-2*d,nt=w-g+a,g=w+g+a,tt=b,it=b+p-s,0>r.y&&(it=b+p+s));r.shapeType="path";r.shapeArgs={x:k,y:tt,width:d-k,height:p,d:["M",k,tt,"L",d,tt,nt,it,g,it,"Z"]}})}});""});t(n,"parts-more/GaugeSeries.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var s=t.clamp,f=t.isNumber,i=t.pick,r=t.pInt,e=n.merge,o=n.Series,u;t=n.seriesType;u=n.TrackerMixin;t("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,u=this.options,t=n.center;this.generatePoints();this.points.forEach(function(o){var h=e(u.dial,o.dial),a=r(i(h.radius,"80%"))*t[2]/200,y=r(i(h.baseLength,"70%"))*a/100,p=r(i(h.rearLength,"10%"))*a/100,v=h.baseWidth||3,w=h.topWidth||1,c=u.overshoot,l=n.startAngleRad+n.translate(o.y,null,null,null,!0);(f(c)||!1===u.wrap)&&(c=f(c)?c/180*Math.PI:0,l=s(l,n.startAngleRad-c,n.endAngleRad+c));l=180*l/Math.PI;o.shapeType="path";o.shapeArgs={d:h.path||["M",-p,-v/2,"L",y,-v/2,a,-w/2,a,w/2,y,v/2,-p,v/2,"z"],translateX:t[0],translateY:t[1],rotation:l};o.plotX=t[0];o.plotY=t[1]})},drawPoints:function(){var n=this,u=n.chart,t=n.yAxis.center,f=n.pivot,o=n.options,r=o.pivot,s=u.renderer;n.points.forEach(function(t){var r=t.graphic,i=t.shapeArgs,h=i.d,f=e(o.dial,t.dial);r?(r.animate(i),i.d=h):t.graphic=s[t.shapeType](i).attr({rotation:i.rotation,zIndex:1}).addClass("highcharts-dial").add(n.group);u.styledMode||t.graphic[r?"animate":"attr"]({stroke:f.borderColor||"none","stroke-width":f.borderWidth||0,fill:f.backgroundColor||"#000000"})});f?f.animate({translateX:t[0],translateY:t[1]}):(n.pivot=s.circle(0,0,i(r.radius,5)).attr({zIndex:2}).addClass("highcharts-pivot").translate(t[0],t[1]).add(n.group),u.styledMode||n.pivot.attr({"stroke-width":r.borderWidth||0,stroke:r.borderColor||"#cccccc",fill:r.backgroundColor||"#000000"}))},animate:function(n){var t=this;
1n||(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);o.prototype.render.call(this);this.group.clip(this.chart.clipRect)},setData:function(n,t){o.prototype.setData.call(this,n,!1);this.processData();this.generatePoints();i(t,!0)&&this.chart.redraw()},hasData:function(){return!!this.points.length},drawTracker:u&&u.drawTrackerPoint},{setState:function(n){this.state=n}});""});t(n,"parts-more/BoxPlotSeries.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.pick,r,u;t=n.noop;r=n.seriesType;u=n.seriesTypes;r("boxplot","column",{threshold:null,tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span> <b> {series.name}<\/b><br/>Maximum: {point.high}<br/>Upper quartile: {point.q3}<br/>Median: {point.median}<br/>Lower quartile: {point.q1}<br/>Minimum: {point.low}<br/>'},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:t,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,t,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;"undefined"!=typeof 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"]=i(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"]=i(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"]=i(d.medianWidth,n.medianWidth,n.lineWidth),d.medianShape.attr(ft)),t=d.stem.strokeWidth()%2/2,r=u+b+t,d.stem[tt]({d:["M",r,e,"L",r,c,"M",r,o,"L",r,l]}),v&&(t=d.box.strokeWidth()%2/2,o=Math.floor(o)+t,e=Math.floor(e)+t,u+=t,a+=t,d.box[tt]({d:["M",u,e,"L",u,o,"L",a,o,"L",a,e,"L",u,e,"z"]})),s&&(t=d.whiskers.strokeWidth()%2/2,c+=t,l+=t,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),t=d.medianShape.strokeWidth()%2/2,p+=t,d.medianShape[tt]({d:["M",u,p,"L",a,p]}))})},setStackedPoints:t});""});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 style="color:{point.color}">â<\/span> {series.name}: <b>{point.low}<\/b> - <b>{point.high}<\/b><br/>'},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"],n["parts/Utilities.js"]],function(n,t){var s=t.arrayMax,h=t.arrayMin,u=t.correctFloat,l=t.isNumber,i=t.objectEach,f=t.pick;t=n.addEvent;var r=n.Axis,a=n.Chart,v=n.Point,e=n.Series,c=n.StackItem,y=n.seriesType,o=n.seriesTypes;t(r,"afterInit",function(){this.isXAxis||(this.waterfallStacks={changed:!1})});t(r,"afterBuildStacks",function(){this.waterfallStacks.changed=!1;delete this.waterfallStacks.alreadyChanged});t(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)});
1t(r,"afterRender",function(){var n=this.options.stackLabels;n&&n.enabled&&this.waterfallStacks&&this.renderWaterfallStackTotals()});r.prototype.renderWaterfallStackTotals=function(){var t=this.waterfallStacks,r=this.stackTotalGroup,n=new c(this,this.options.stackLabels,!1,0,void 0);this.dummyStackItem=n;i(t,function(t){i(t,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 i,n,t,r;for(o.column.prototype.generatePoints.apply(this),n=0,i=this.points.length;n<i;n++)t=this.points[n],r=this.processedYData[n],(t.isIntermediateSum||t.isSum)&&(t.y=u(r))},translate:function(){var a=this.options,u=this.yAxis,l,v=f(a.minPointLength,5),y=v/2,p=a.threshold,b=a.stacking,w=u.waterfallStacks[this.stackKey],s;o.column.prototype.translate.apply(this);var c=l=p,k=this.points,h=0;for(a=k.length;h<a;h++){var r=k[h],e=this.processedYData[h],t=r.shapeArgs,n=[0,e],i=r.y;b?(w&&(n=w[h],"overlap"===b?(s=n.stackState[n.stateIndex--],s=0<=i?s:s-i,Object.hasOwnProperty.call(n,"absolutePos")&&delete n.absolutePos,Object.hasOwnProperty.call(n,"absoluteNeg")&&delete n.absoluteNeg):(0<=i?(s=n.threshold+n.posTotal,n.posTotal-=i):(s=n.threshold+n.negTotal,n.negTotal-=i,s-=i),!n.posTotal&&Object.hasOwnProperty.call(n,"absolutePos")&&(n.posTotal=n.absolutePos,delete n.absolutePos),!n.negTotal&&Object.hasOwnProperty.call(n,"absoluteNeg")&&(n.negTotal=n.absoluteNeg,delete n.absoluteNeg)),r.isSum||(n.connectorThreshold=n.threshold+n.stackTotal),u.reversed?(e=0<=i?s-i:s+i,i=s):(e=s,i=s-i),r.below=e<=f(p,0),t.y=u.translate(e,0,1,0,1),t.height=Math.abs(t.y-u.translate(i,0,1,0,1))),(i=u.dummyStackItem)&&(i.x=h,i.label=w[h].label,i.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[h],this.stackedYPos[h]))):(s=Math.max(c,c+i)+n[0],t.y=u.translate(s,0,1,0,1),r.isSum?(t.y=u.translate(n[1],0,1,0,1),t.height=Math.min(u.translate(n[0],0,1,0,1),u.len)-t.y):r.isIntermediateSum?(0<=i?(e=n[1]+l,i=l):(e=l,i=n[1]+l),u.reversed&&(e^=i,i^=e,e^=i),t.y=u.translate(e,0,1,0,1),t.height=Math.abs(t.y-Math.min(u.translate(i,0,1,0,1),u.len)),l+=n[1]):(t.height=0<e?u.translate(c,0,1,0,1)-t.y:u.translate(c,0,1,0,1)-u.translate(c-e,0,1,0,1),c+=e,r.below=c<f(p,0)),0>t.height&&(t.y+=t.height,t.height*=-1));r.plotY=t.y=Math.round(t.y)-this.borderWidth%2/2;t.height=Math.max(Math.round(t.height),.001);r.yBottom=t.y+t.height;t.height<=v&&!r.isNull?(t.height=v,t.y-=y,r.plotY=t.y,r.minPointLengthOffset=0>r.y?-y:y):(r.isNull&&(t.width=0),r.minPointLengthOffset=0);t=r.plotY+(r.negative?t.height:0);this.chart.inverted?r.tooltipPos[0]=u.len-t:r.tooltipPos[1]=t}},processData:function(n){for(var c=this.options,f=this.yData,l=c.data,v=f.length,y=c.threshold||0,o,i,s,h,r,a,t=i=o=s=h=0;t<v;t++)r=f[t],a=l&&l[t]?l[t]:{},"sum"===r||a.isSum?f[t]=u(i):"intermediateSum"===r||a.isIntermediateSum?(f[t]=u(o),o=0):(i+=r,o+=r),s=Math.min(i,s),h=Math.max(i,h);e.prototype.processData.call(this,n);c.stacking||(this.dataMin=s+y,this.dataMax=h)},toYData:function(n){return n.isSum?"sum":n.isIntermediateSum?"intermediateSum":n.y},updateParallelArrays:function(n,t){e.prototype.updateParallelArrays.call(this,n,t);("sum"===this.yData[0]||"intermediateSum"===this.yData[0])&&(this.yData[0]=null)},pointAttribs:function(n,t){var i=this.options.upColor;return i&&!n.options.color&&(n.color=0<n.y?i:null),n=o.column.prototype.pointAttribs.call(this,n,t),delete n.dashstyle,n},getGraphPath:function(){return["M",0,0]},getCrispPath:function(){for(var f=this.data,h=this.yAxis,y=f.length,c=Math.round(this.graph.strokeWidth())%2/2,p=Math.round(this.borderWidth)%2/2,l=this.xAxis.reversed,o=this.yAxis.reversed,a=this.options.stacking,s=[],u,n=1;n<y;n++){var v=f[n].shapeArgs,e=f[n-1],t=f[n-1].shapeArgs,i=h.waterfallStacks[this.stackKey],r=0<e.y?-t.height:0;i&&(i=i[n-1],a?(i=i.connectorThreshold,r=Math.round(h.translate(i,0,1,0,1)+(o?r:0))-c):r=t.y+e.minPointLengthOffset+p-c,u=["M",t.x+(l?0:t.width),r,"L",v.x+(l?v.width:0),r]);(!a&&u&&0>e.y&&!o||0<e.y&&o)&&(u[2]+=t.height,u[5]+=t.height);s=s.concat(u)}return s},drawGraph:function(){e.prototype.drawGraph.call(this);this.graph.attr({d:this.getCrispPath()})},setStackedPoints:function(){function p(t,i,r,u){if(s)for(r;r<s;r++)n.stackState[r]+=u;else n.stackState[0]=t,s=n.stackState.length;n.stackState.push(n.stackState[s-1]+i)}var b=this.options,t=this.yAxis.waterfallStacks,l=b.threshold,i=l||0,w=i,h=this.stackKey,k=this.xData,g=k.length,r,c,a,v,y,e,u,n,f,o,d,s;if(this.yAxis.usePercentage=!1,v=c=a=i,this.visible||!this.chart.options.chart.ignoreHiddenSeries){for(y=t.changed,(r=t.alreadyChanged)&&0>
1r.indexOf(h)&&(y=!0),t[h]||(t[h]={}),r=t[h],e=0;e<g;e++)u=k[e],(!r[u]||y)&&(r[u]={negTotal:0,posTotal:0,stackTotal:0,threshold:0,stateIndex:0,stackState:[],label:y&&r[u]?r[u].label:void 0}),n=r[u],f=this.yData[e],0<=f?n.posTotal+=f:n.negTotal+=f,o=b.data[e],u=n.absolutePos=n.posTotal,d=n.absoluteNeg=n.negTotal,n.stackTotal=u+d,s=n.stackState.length,o&&o.isIntermediateSum?(p(a,c,0,a),a=c,c=l,i^=w,w^=i,i^=w):o&&o.isSum?(p(l,v,s),i=l):(p(i,f,0,v),o&&(v+=f,c+=f)),n.stateIndex++,n.threshold=i,i+=n.stackTotal;t.changed=!1;t.alreadyChanged||(t.alreadyChanged=[]);t.alreadyChanged.push(h)}},getExtremes:function(){var u=this.options.stacking,n,t,r;u&&(n=this.yAxis,n=n.waterfallStacks,t=this.stackedYNeg=[],r=this.stackedYPos=[],"overlap"===u?i(n[this.stackKey],function(n){t.push(h(n.stackState));r.push(s(n.stackState))}):i(n[this.stackKey],function(n){t.push(n.negTotal+n.threshold);r.push(n.posTotal+n.threshold)}),this.dataMin=h(t),this.dataMax=s(r))}},{getClassName:function(){var n=v.prototype.getClassName.call(this);return this.isSum?n+=" highcharts-sum":this.isIntermediateSum&&(n+=" highcharts-intermediate-sum"),n},isValid:function(){return l(this.y)||this.isSum||this.isIntermediateSum}});""});t(n,"parts-more/PolygonSeries.js",[n["parts/Globals.js"]],function(n){var t=n.Series,i=n.seriesType,r=n.seriesTypes;i("polygon","scatter",{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0},{type:"polygon",getGraphPath:function(){for(var n=t.prototype.getGraphPath.call(this),i=n.length+1;i--;)(i===n.length||"M"===n[i])&&0<i&&n.splice(i,0,"z");return this.areaPath=n},drawGraph:function(){this.options.fillColor=this.color;r.area.prototype.drawGraph.call(this)},drawLegendSymbol:n.LegendSymbolMixin.drawRectangle,drawTracker:t.prototype.drawTracker,setStackedPoints:n.noop});""});t(n,"parts-more/BubbleLegend.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var h=t.arrayMax,c=t.arrayMin,u=t.isNumber,f=t.objectEach,i=t.pick;t=t.wrap;var l=n.Series,e=n.Legend,o=n.Chart,s=n.addEvent,a=n.color,r=n.merge,v=n.noop,y=n.stableSort,p=n.setOptions;p({legend:{bubbleLegend:{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:10,color:void 0},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}}});n.BubbleLegend=function(n,t){this.init(n,t)};n.BubbleLegend.prototype={init:function(n,t){this.options=n;this.visible=!0;this.chart=t.chart;this.legend=t},setState:v,addToLegend:function(n){n.splice(this.options.legendIndex,0,this)},drawLegendSymbol:function(n){var f=this.chart,e=this.options,o=i(n.options.itemDistance,20),t=e.ranges,r=e.connectorDistance;this.fontMetrics=f.renderer.fontMetrics(e.labels.style.fontSize.toString()+"px");t&&t.length&&u(t[0].value)?(y(t,function(n,t){return t.value-n.value}),this.ranges=t,this.setOptions(),this.render(),f=this.getMaxLabelSize(),t=this.ranges[0].radius,n=2*t,r=r-t+f.width,r=0<r?r:0,this.maxLabel=f,this.movementX="left"===e.labels.align?r:0,this.legendItemWidth=n+r+o,this.legendItemHeight=n+this.fontMetrics.h/2):n.options.bubbleLegend.autoRanges=!0},setOptions:function(){var t=this.ranges,n=this.options,u=this.chart.series[n.seriesIndex],h=this.legend.baseline,f={"z-index":n.zIndex,"stroke-width":n.borderWidth},e={"z-index":n.zIndex,"stroke-width":n.connectorWidth},c=this.getLabelStyles(),o=u.options.marker.fillOpacity,s=this.chart.styledMode;t.forEach(function(l,v){s||(f.stroke=i(l.borderColor,n.borderColor,u.color),f.fill=i(l.color,n.color,1!==o?a(u.color).setOpacity(o).get("rgba"):u.color),e.stroke=i(l.connectorColor,n.connectorColor,u.color));t[v].radius=this.getRangeRadius(l.value);t[v]=r(t[v],{center:t[0].radius-t[v].radius+h});s||r(!0,t[v],{bubbleStyle:r(!1,f),connectorStyle:r(!1,e),labelStyle:c})},this)},getLabelStyles:function(){var n=this.options,t={}
1,u="left"===n.labels.align,e=this.legend.options.rtl;return f(n.labels.style,function(n,i){"color"!==i&&"fontSize"!==i&&"z-index"!==i&&(t[i]=n)}),r(!1,t,{"font-size":n.labels.style.fontSize,fill:i(n.labels.style.color,"#000000"),"z-index":n.zIndex,align:e||u?"right":"left"})},getRangeRadius:function(n){var t=this.options;return this.chart.series[this.options.seriesIndex].getRadius.call(this,t.ranges[t.ranges.length-1].value,t.ranges[0].value,t.minSize,t.maxSize,n)},render:function(){var n=this.chart.renderer,t=this.options.zThreshold;this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]});this.legendSymbol=n.g("bubble-legend");this.legendItem=n.g("bubble-legend-item");this.legendSymbol.translateX=0;this.legendSymbol.translateY=0;this.ranges.forEach(function(n){n.value>=t&&this.renderRange(n)},this);this.legendSymbol.add(this.legendItem);this.legendItem.add(this.legendGroup);this.hideOverlappingLabels()},renderRange:function(n){var t=this.options,u=t.labels,f=this.chart.renderer,c=this.symbols,y=c.labels,a=n.center,v=Math.abs(n.radius),i=t.connectorDistance,e=u.align,o=u.style.fontSize,s,h,r,l;i=this.legend.options.rtl||"left"===e?-i:i;u=t.connectorWidth;s=this.ranges[0].radius;h=a-v-t.borderWidth/2+u/2;o=o/2-(this.fontMetrics.h-o)/2;r=f.styledMode;"center"===e&&(i=0,t.connectorDistance=0,n.labelStyle.align="center");e=h+t.labels.y;l=s+i+t.labels.x;c.bubbleItems.push(f.circle(s,a+((h%1?1:.5)-(u%2?0:.5)),v).attr(r?{}:n.bubbleStyle).addClass((r?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-symbol "+(t.className||"")).add(this.legendSymbol));c.connectors.push(f.path(f.crispLine(["M",s,h,"L",s+i,h],t.connectorWidth)).attr(r?{}:n.connectorStyle).addClass((r?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(t.connectorClassName||"")).add(this.legendSymbol));n=f.text(this.formatLabel(n),l,e+o).attr(r?{}:n.labelStyle).addClass("highcharts-bubble-legend-labels "+(t.labels.className||"")).add(this.legendSymbol);y.push(n);n.placed=!0;n.alignAttr={x:l,y:e+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,u;return i=i.labels.format,u=this.chart.numberFormatter,i?n.format(i,t):r?r.call(t):u(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,t=s.options.ranges,o,f=Number.MAX_VALUE,n=-Number.MAX_VALUE,e;return s.chart.series.forEach(function(t){t.isBubble&&!t.ignoreSeries&&(o=t.zData.filter(u),o.length&&(f=i(t.options.zMin,Math.min(f,Math.max(c(o),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),n=i(t.options.zMax,Math.max(n,h(o)))))}),e=f===n?[{value:n}]:[{value:f},{value:(f+n)/2},{value:n,autoRanges:!0}],t.length&&t[0].radius&&e.reverse(),e.forEach(function(n,i){t&&t[i]&&(e[i]=r(!1,t[i],n))}),e},predictBubbleSizes:function(){var t=this.chart,i=this.fontMetrics,o=t.legend.options,r="horizontal"===o.layout,h=r?t.legend.lastLineHeight:0,u=t.plotSizeX,f=t.plotSizeY,n=t.series[this.options.seriesIndex],e,s;return t=Math.ceil(n.minPxSize),e=Math.ceil(n.maxPxSize),n=n.options.maxSize,s=Math.min(f,u),o.floating||!/%$/.test(n)?i=e:(n=parseFloat(n),i=(s+h-i.h/2)*n/100/(n/100+1),r&&f-i>=u||!r&&u-i>=f)&&(i=e),[t,Math.ceil(i)]},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];1<Math.abs(Math.ceil(n.maxPxSize)-this.options.maxSize)&&(this.updateRanges(this.options.minSize,n.maxPxSize),t.render())}};s(n.Legend,"afterGetAllItems",function(t){var r=this.bubbleLegend,u=this.options,i=u.bubbleLegend,f=this.chart.getVisibleBubbleSeriesIndex();r&&r.ranges&&r.ranges.length&&(i.ranges.length&&(i.autoRanges=!!i.ranges[0].autoRanges),this.destroyItem(r));0<=f&&u.enabled&&i.enabled&&(i.seriesIndex=f,this.bubbleLegend=new n.BubbleLegend(i,this),this.bubbleLegend.addToLegend(t.allItems))});o.prototype.getVisibleBubbleSeriesIndex=function(){for(var t=this.series,n=0;n<t.length;){if(t[n]&&t[n].isBubble&&t[n].visible&&t[n].zData.length)return n;n++}return-1};e.prototype.getLinesHeights=function(){for(var t=this.allItems,r=[],f=t.length,i=0,u,n=0;n<f;n++)if(t[n].legendItemHeight&&(t[n].itemHeight=t[n].legendItemHeight),t[n]===t[f-1]||t[n+1]&&t[n]._legendItemPos[1]!==t[n+1]._legendItemPos[1]){for(r.push({height:0}),u=r[r.length-1],i;i<=n;i++)t[i].itemHeight>u.height&&(u.height=t[i].itemHeight);u.step=n}return r};e.prototype.retranslateItems=function(n){var r,u,t,f=this.options.rtl,i=0;
1this.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})};s(l,"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)});t(o.prototype,"drawChartBox",function(n,t,i){var r=this.legend,u=0<=this.getVisibleBubbleSeriesIndex(),e;r&&r.options.enabled&&r.bubbleLegend&&r.options.bubbleLegend.autoRanges&&u?(e=r.bubbleLegend.options,u=r.bubbleLegend.predictBubbleSizes(),r.bubbleLegend.updateRanges(u[0],u[1]),e.placed||(r.group.placed=!1,r.allItems.forEach(function(n){n.legendGroup.translateY=null})),r.render(),this.getMargins(),this.axes.forEach(function(n){n.visible&&n.render();e.placed||(n.setScale(),n.updateNames(),f(n.ticks,function(n){n.isNew=!0;n.isNewLabel=!0}))}),e.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"],n["parts/Utilities.js"]],function(n,t){var e=t.arrayMax,o=t.arrayMin,s=t.clamp,h=t.extend,i=t.isNumber,r=t.pick,c=t.pInt;t=n.Axis;var l=n.color,u=n.noop,a=n.Point,v=n.Series,y=n.seriesType,f=n.seriesTypes;y("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=v.prototype.pointAttribs.call(this,n,t),1!==i&&(n.fill=l(n.fill).setOpacity(i).get("rgba")),n},getRadii:function(n,t,i){var u=this.zData,o=this.yData,s=i.minPxSize,h=i.maxPxSize,f=[],r=0,e;for(i=u.length;r<i;r++)e=u[r],f.push(this.getRadius(n,t,s,h,e,o[r]));this.radii=f},getRadius:function(n,t,r,u,f,e){var s=this.options,l="width"!==s.sizeBy,h=s.zThreshold,c=t-n,o=.5;if(null===e||null===f)return null;if(i(f)){if(s.sizeByAbsoluteValue&&(f=Math.abs(f-h),c=Math.max(t-h,Math.abs(n-h)),n=0),f<n)return r/2-1;0<c&&(o=(f-n)/c)}return l&&0<=o&&(o=Math.sqrt(o)),Math.ceil(r+o*(u-r))/2},animate:function(n){!n&&this.points.length<this.options.animationLimit&&(this.points.forEach(function(n){var t=n.graphic,i;t&&t.width&&(i={x:t.x,y:t.y,width:t.width,height:t.height},t.attr({x:n.plotX,y:n.plotY,width:1,height:1}),t.animate(i,this.options.animation))},this),this.animate=null)},hasData:function(){return!!this.processedXData.length},translate:function(){var r,u=this.data,e=this.radii,t,n;for(f.scatter.prototype.translate.call(this),r=u.length;r--;)t=u[r],n=e?e[r]:0,i(n)&&n>=this.minPxSize/2?(t.marker=h(t.marker,{radius:n,width:2*n,height:2*n}),t.dlBox={x:t.plotX-n,y:t.plotY-n,width:2*n,height:2*n}):t.shapeArgs=t.plotY=t.dlBox=void 0},alignDataLabel:f.column.prototype.alignDataLabel,buildKDTree:u,applyZones:u},{haloPath:function(n){return a.prototype.haloPath.call(this,0===n?0:(this.marker?this.marker.radius||0:0)+n)},ttBelow:!1});t.prototype.beforePadding=function(){var n=this,t=this.len,a=this.chart,f=0,u=t,v=this.isXAxis,d=v?"xData":"yData",y=this.min,h={},g=Math.min(a.plotWidth,a.plotHeight),p=Number.MAX_VALUE,w=-Number.MAX_VALUE,b=this.max-y,l=t/b,k=[];this.series.forEach(function(t){var u=t.options;t.bubblePadding&&(t.visible||!a.options.chart.ignoreHiddenSeries)&&(n.allowZoomOutside=!0,k.push(t),v&&(["minSize","maxSize"].forEach(function(n){var t=u[n],i=/%$/.test(t);t=c(t);h[n]=i?g*t/100:t}),t.minPxSize=h.minSize,t.maxPxSize=Math.max(h.maxSize,h.minSize),t=t.zData.filter(i),t.length&&(p=r(u.zMin,s(o(t),!1===u.displayNegative?u.zThreshold:-Number.MAX_VALUE,p)),w=r(u.zMax,Math.max(w,e(t))))))});
1k.forEach(function(t){var e=t[d],r=e.length,o;if(v&&t.getRadii(p,w,t),0<b)for(;r--;)i(e[r])&&n.dataMin<=e[r]&&e[r]<=n.max&&(o=t.radii?t.radii[r]:0,f=Math.min((e[r]-y)*l-o,f),u=Math.max((e[r]-y)*l+o,u))});k.length&&0<b&&!this.isLog&&(u-=t,l*=(t+Math.max(0,f)-Math.min(u,t))/t,[["min","userMin",f],["max","userMax",u]].forEach(function(t){"undefined"==typeof r(n.options[t[0]],n[t[1]])&&(n[t[0]]+=t[2]/l)}))};""});t(n,"modules/networkgraph/integrations.js",[n["parts/Globals.js"]],function(n){n.networkgraphIntegrations={verlet:{attractiveForceFunction:function(n,t){return(t-n)/n},repulsiveForceFunction:function(n,t){return(t-n)/n*(t>n?1:0)},barycenter:function(){var i=this.options.gravitationalConstant,n=this.barycenter.xFactor,t=this.barycenter.yFactor;n=(n-(this.box.left+this.box.width)/2)*i;t=(t-(this.box.top+this.box.height)/2)*i;this.nodes.forEach(function(i){i.fixedPosition||(i.plotX-=n/i.mass/i.degree,i.plotY-=t/i.mass/i.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,u,e;i*=t.plotY+t.dispY-t.prevY;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*=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){t.dispX+=t.dispX*n.options.friction;t.dispY+=t.dispY*n.options.friction;var 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"],n["parts/Utilities.js"]],function(n,t){t=t.extend;var i=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};t(i.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)):(t=new i({top:n.plotX,left:n.plotY,width:.1,height:.1}),t.body=n,t.isInternal=!1,this.nodes.push(t)):(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,t=this.box.height/2;this.nodes[0]=new i({left:this.box.left,top:this.box.top,width:n,height:t});this.nodes[1]=new i({left:this.box.left+n,top:this.box.top,width:n,height:t});this.nodes[2]=new i({left:this.box.left+n,top:this.box.top+t,width:n,height:t});this.nodes[3]=new i({left:this.box.left,top:this.box.top+t,width:n,height:t})},getBoxPosition:function(n){var t=n.plotY<this.box.top+this.box.height/2;return n.plotX<this.box.left+this.box.width/2?t?0:3:t?1:2}});n=n.QuadTree=function(n,t,r,u){this.box={left:n,top:t,width:r,height:u};this.maxDepth=25;this.root=new i(this.box,"0");this.root.isInternal=!0;this.root.isRoot=!0;this.root.divideBox()};
1t(n.prototype,{insertNodes:function(n){n.forEach(function(n){this.root.insert(n,this.maxDepth)},this)},visitNodeRecursive:function(n,t,i){var r;n||(n=this.root);n===this.root&&t&&(r=t(n));!1!==r&&(n.nodes.forEach(function(n){if(n.isInternal){if(t&&(r=t(n)),!1===r)return;this.visitNodeRecursive(n,t,i)}else n.body&&t&&t(n.body);i&&i(n)},this),n===this.root&&i&&i(n))},calculateMassAndCenter:function(){this.visitNodeRecursive(null,null,function(n){n.updateMassAndCenter()})}})});t(n,"modules/networkgraph/layouts.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var u=t.clamp,f=t.defined,e=t.extend,i=t.pick,o=t.setAnimation,r;t=n.addEvent;r=n.Chart;n.layouts={"reingold-fruchterman":function(){}};e(n.layouts["reingold-fruchterman"].prototype,{init:function(t){this.options=t;this.nodes=[];this.links=[];this.series=[];this.box={x:0,y:0,width:0,height:0};this.setInitialRendering(!0);this.integration=n.networkgraphIntegrations[t.integration];this.attractiveForce=i(t.attractiveForce,this.integration.attractiveForceFunction);this.repulsiveForce=i(t.repulsiveForce,this.integration.repulsiveForceFunction);this.approximation=t.approximation},start:function(){var n=this.series,t=this.options;this.currentStep=0;this.forces=n[0]&&n[0].forces||[];this.initialRendering&&(this.initPositions(),n.forEach(function(n){n.render()}));this.setK();this.resetSimulation(t);t.enableSimulation&&this.step()},step:function(){var t=this,i=this.series,r=this.options;t.currentStep++;"barnes-hut"===t.approximation&&(t.createQuadTree(),t.quadTree.calculateMassAndCenter());t.forces.forEach(function(n){t[n+"Forces"](t.temperature)});t.applyLimits(t.temperature);t.temperature=t.coolDown(t.startTemperature,t.diffTemperature,t.currentStep);t.prevSystemTemperature=t.systemTemperature;t.systemTemperature=t.getSystemTemperature();r.enableSimulation&&(i.forEach(function(n){n.chart&&n.render()}),t.maxIterations--&&isFinite(t.temperature)&&!t.isStable()?(t.simulation&&n.win.cancelAnimationFrame(t.simulation),t.simulation=n.win.requestAnimationFrame(function(){t.step()})):t.simulation=!1)},stop:function(){this.simulation&&n.win.cancelAnimationFrame(this.simulation)},setArea:function(n,t,i,r){this.box={left:n,top:t,width:i,height:r}},setK:function(){this.k=this.options.linkLength||this.integration.getK(this)},addElementsToCollection:function(n,t){n.forEach(function(n){-1===t.indexOf(n)&&t.push(n)})},removeElementFromCollection:function(n,t){n=t.indexOf(n);-1!==n&&t.splice(n,1)},clear:function(){this.nodes.length=0;this.links.length=0;this.series.length=0;this.resetSimulation()},resetSimulation:function(){this.forcedStop=!1;this.systemTemperature=0;this.setMaxIterations();this.setTemperature();this.setDiffTemperature()},setMaxIterations:function(n){this.maxIterations=i(n,this.options.maxIterations)},setTemperature:function(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)},setDiffTemperature:function(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)},setInitialRendering:function(n){this.initialRendering=n},createQuadTree:function(){this.quadTree=new n.QuadTree(this.box.left,this.box.top,this.box.width,this.box.height);this.quadTree.insertNodes(this.nodes)},initPositions:function(){var t=this.options.initialPositions;n.isFunction(t)?(t.call(this),this.nodes.forEach(function(n){f(n.prevX)||(n.prevX=n.plotX);f(n.prevY)||(n.prevY=n.plotY);n.dispX=0;n.dispY=0})):"circle"===t?this.setCircularPositions():this.setRandomPositions()},setCircularPositions:function(){function r(t){t.linksFrom.forEach(function(t){e[t.toNode.id]||(e[t.toNode.id]=!0,n.push(t.toNode),r(t.toNode))})}var u=this.box,t=this.nodes,f=2*Math.PI/(t.length+1),s=t.filter(function(n){return 0===n.linksTo.length}),n=[],e={},o=this.options.initialPositionRadius;s.forEach(function(t){n.push(t);r(t)});n.length?t.forEach(function(t){-1===n.indexOf(t)&&n.push(t)}):n=t;
1n.forEach(function(n,t){n.plotX=n.prevX=i(n.plotX,u.width/2+o*Math.cos(t*f));n.plotY=n.prevY=i(n.plotY,u.height/2+o*Math.sin(t*f));n.dispX=0;n.dispY=0})},setRandomPositions:function(){function n(n){return n=n*n/Math.PI,n-Math.floor(n)}var t=this.box,r=this.nodes,u=r.length+1;r.forEach(function(r,f){r.plotX=r.prevX=i(r.plotX,t.width*n(f));r.plotY=r.prevY=i(r.plotY,t.height*n(u+f));r.dispX=0;r.dispY=0})},force:function(n){this.integration[n].apply(this,Array.prototype.slice.call(arguments,1))},barycenterForces:function(){this.getBarycenter();this.force("barycenter")},getBarycenter:function(){var n=0,t=0,i=0;return this.nodes.forEach(function(r){t+=r.plotX*r.mass;i+=r.plotY*r.mass;n+=r.mass}),this.barycenter={x:t,y:i,xFactor:t/n,yFactor:i/n}},barnesHutApproximation:function(n,t){var u=this.getDistXY(n,t),i=this.vectorLength(u),r,f;return n!==t&&0!==i&&(t.isInternal?t.boxSize/i<this.options.theta&&0!==i?(r=this.repulsiveForce(i,this.k),this.force("repulsive",n,r*t.mass,u,i),f=!1):f=!0:(r=this.repulsiveForce(i,this.k),this.force("repulsive",n,r*t.mass,u,i))),f},repulsiveForces:function(){var n=this;"barnes-hut"===n.approximation?n.nodes.forEach(function(t){n.quadTree.visitNodeRecursive(null,function(i){return n.barnesHutApproximation(t,i)})}):n.nodes.forEach(function(t){n.nodes.forEach(function(i){var u,r,f;t===i||t.fixedPosition||(u=n.getDistXY(t,i),r=n.vectorLength(u),0!==r&&(f=n.repulsiveForce(r,n.k),n.force("repulsive",t,f*i.mass,u,r)))})})},attractiveForces:function(){var n=this,i,t,r;n.links.forEach(function(u){u.fromNode&&u.toNode&&(i=n.getDistXY(u.fromNode,u.toNode),t=n.vectorLength(i),0!==t&&(r=n.attractiveForce(t,n.k),n.force("attractive",u,r,i,t)))})},applyLimits:function(){var n=this;n.nodes.forEach(function(t){t.fixedPosition||(n.integration.integrate(n,t),n.applyLimitBox(t,n.box),t.dispX=0,t.dispY=0)})},applyLimitBox:function(n,t){var i=n.radius;n.plotX=u(n.plotX,t.left+i,t.width-i);n.plotY=u(n.plotY,t.top+i,t.height-i)},coolDown:function(n,t,i){return n-t*i},isStable:function(){return 1e-5>Math.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)}}});t(r,"predraw",function(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach(function(n){n.stop()})});t(r,"render",function(){function i(i){i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.options.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),n=!1,t=!0)}var t=!1,n;if(this.graphLayoutsLookup){for(o(!1,this),this.graphLayoutsLookup.forEach(function(n){n.start()});!n;)n=!0,this.graphLayoutsLookup.forEach(i);t&&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;(5<Math.abs(t)||5<Math.abs(i))&&(t=n.fixedPosition.plotX-t,i=n.fixedPosition.plotY-i,r.isInsidePlot(t,i)&&(n.plotX=t,n.plotY=i,n.hasDragged=!0,this.redrawHalo(n),this.layout.simulation?this.layout.resetSimulation():(this.layout.setInitialRendering(!1),this.layout.enableSimulation?this.layout.start():this.layout.setMaxIterations(1),this.chart.redraw(),this.layout.setInitialRendering(!0))))}},onMouseUp:function(n){n.fixedPosition&&n.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw(),n.inDragMode=n.hasDragged=!1,this.options.fixedDraggable||delete n.fixedPosition)},redrawHalo:function(n){n&&this.halo&&this.halo.attr({d:n.haloPath(this.options.states.hover.halo.size)})}};t(i,"load",function(){var n=this,i,r,u;n.container&&(i=t(n.container,"mousedown",function(i){var f=n.hoverPoint;f&&f.series&&f.series.hasDraggableNodes&&f.series.options.draggable&&(f.
1series.onMouseDown(f,i),r=t(n.container,"mousemove",function(n){return f&&f.series&&f.series.onMouseMove(f,n)}),u=t(n.container.ownerDocument,"mouseup",function(n){return r(),u(),f&&f.series&&f.series.onMouseUp(f,n)}))}));t(n,"destroy",function(){i()})})});t(n,"parts-more/PackedBubbleSeries.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var e=t.clamp,i=t.defined,h=t.extend,c=t.extendClass,l=t.isArray,a=t.isNumber,u=t.pick;t=n.seriesType;var r=n.Series,v=n.Point,o=n.addEvent,y=n.fireEvent,p=n.Chart,w=n.Color,s=n.layouts["reingold-fruchterman"],b=n.seriesTypes.bubble.prototype.pointClass,f=n.dragNodesMixin;n.networkgraphIntegrations.packedbubble={repulsiveForceFunction:function(n,t,i,r){return Math.min(n,(i.marker.radius+r.marker.radius)/2)},barycenter:function(){var n=this,u=n.options.gravitationalConstant,f=n.box,t=n.nodes,i,r;t.forEach(function(e){n.options.splitSeries&&!e.isParentNode?(i=e.series.parentNode.plotX,r=e.series.parentNode.plotY):(i=f.width/2,r=f.height/2);e.fixedPosition||(e.plotX-=(e.plotX-i)*u/(e.mass*Math.sqrt(t.length)),e.plotY-=(e.plotY-r)*u/(e.mass*Math.sqrt(t.length)))})},repulsive:function(n,t,i,r){var u=t*this.diffTemperature/n.mass/n.degree;t=i.x*u;i=i.y*u;n.fixedPosition||(n.plotX+=t,n.plotY+=i);r.fixedPosition||(r.plotX-=t,r.plotY-=i)},integrate:n.networkgraphIntegrations.verlet.integrate,getK:n.noop};n.layouts.packedbubble=c(s,{beforeStep:function(){this.options.marker&&this.series.forEach(function(n){n&&n.calculateParentRadius()})},setCircularPositions:function(){var n=this,r=n.box,f=n.nodes,e=2*Math.PI/(f.length+1),t,i,o=n.options.initialPositionRadius;f.forEach(function(f,s){n.options.splitSeries&&!f.isParentNode?(t=f.series.parentNode.plotX,i=f.series.parentNode.plotY):(t=r.width/2,i=r.height/2);f.plotX=f.prevX=u(f.plotX,t+o*Math.cos(f.index||s*e));f.plotY=f.prevY=u(f.plotY,i+o*Math.sin(f.index||s*e));f.dispX=0;f.dispY=0})},repulsiveForces:function(){var n=this,i,t,r,u=n.options.bubblePadding;n.nodes.forEach(function(f){f.degree=f.mass;f.neighbours=0;n.nodes.forEach(function(e){i=0;f===e||f.fixedPosition||!n.options.seriesInteraction&&f.series!==e.series||(r=n.getDistXY(f,e),t=n.vectorLength(r)-(f.marker.radius+e.marker.radius+u),0>t&&(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){if(this.options.splitSeries&&!n.isParentNode&&this.options.parentNodeLimit){var 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)}s.prototype.applyLimitBox.apply(this,arguments)},isStable:function(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||0>=this.temperature||0<this.systemTemperature&&.02>this.systemTemperature/this.nodes.length&&this.enableSimulation}});t("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,requireSorting:!1,directTouch:!0,axisTypes:[],noSharedTooltip:!0,searchPoint:n.noop,accumulateAllPoints:function(n){for(var r=n.chart,u=[],t,i=0;i<r.series.length;i++)if(n=r.series[i],n.visible||!r.options.chart.ignoreHiddenSeries)for(t=0;t<n.yData.length;t++)u.push([null,null,n.yData[t],n.index,t,{id:t,marker:{radius:0}}]);return u}
1,init:function(){return r.prototype.init.apply(this,arguments),o(this,"updatedData",function(){this.chart.series.forEach(function(n){n.type===this.type&&(n.isDirty=!0)},this)}),this},render:function(){var n=[];r.prototype.render.apply(this,arguments);this.options.dataLabels.allowOverlap||(this.data.forEach(function(t){l(t.dataLabels)&&t.dataLabels.forEach(function(t){n.push(t)})}),this.chart.hideOverlappingLabels(n))},setVisible:function(){var n=this;r.prototype.setVisible.apply(n,arguments);n.parentNodeLayout&&n.graph?n.visible?(n.graph.show(),n.parentNode.dataLabel&&n.parentNode.dataLabel.show()):(n.graph.hide(),n.parentNodeLayout.removeElementFromCollection(n.parentNode,n.parentNodeLayout.nodes),n.parentNode.dataLabel&&n.parentNode.dataLabel.hide()):n.layout&&(n.visible?n.layout.addElementsToCollection(n.points,n.layout.nodes):n.points.forEach(function(t){n.layout.removeElementFromCollection(t,n.layout.nodes)}))},drawDataLabels:function(){var n=this.options.dataLabels.textPath,t=this.points;r.prototype.drawDataLabels.apply(this,arguments);this.parentNode&&(this.parentNode.formatPrefix="parentNode",this.points=[this.parentNode],this.options.dataLabels.textPath=this.options.dataLabels.parentNodeTextPath,r.prototype.drawDataLabels.apply(this,arguments),this.points=t,this.options.dataLabels.textPath=n)},seriesBox:function(){var t=this.chart,u=Math.max,f=Math.min,r,n=[t.plotLeft,t.plotLeft+t.plotWidth,t.plotTop,t.plotTop+t.plotHeight];return this.data.forEach(function(t){i(t.plotX)&&i(t.plotY)&&t.marker.radius&&(r=t.marker.radius,n[0]=f(n[0],t.plotX-r),n[1]=u(n[1],t.plotX+r),n[2]=f(n[2],t.plotY-r),n[3]=u(n[3],t.plotY+r))}),a(n.width/n.height)?n:null},calculateParentRadius:function(){var n=this.seriesBox();this.parentNodeRadius=e(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,n?Math.max(Math.sqrt(Math.pow(n.width,2)+Math.pow(n.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20);this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)},drawGraph:function(){var r,t,i;this.layout&&this.layout.options.splitSeries&&(r=this.chart,t=this.layout.options.parentNodeOptions.marker,t={fill:t.fillColor||w(this.color).brighten(.4).get(),opacity:t.fillOpacity,stroke:t.lineColor||this.color,"stroke-width":t.lineWidth},i=this.visible?"inherit":"hidden",this.parentNodesGroup||(this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",i,.1,r.seriesGroup),this.group.attr({zIndex:2})),this.calculateParentRadius(),i=n.merge({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},t),this.parentNode.graphic||(this.graph=this.parentNode.graphic=r.renderer.symbol(t.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(i))},createParentNodes:function(){var n=this,r=n.chart,t=n.parentNodeLayout,u,i=n.parentNode;n.parentNodeMass=0;n.points.forEach(function(t){n.parentNodeMass+=Math.PI*Math.pow(t.marker.radius,2)});n.calculateParentRadius();t.nodes.forEach(function(t){t.seriesIndex===n.index&&(u=!0)});t.setArea(0,0,r.plotWidth,r.plotHeight);u||(i||(i=(new b).init(this,{mass:n.parentNodeRadius/2,marker:{radius:n.parentNodeRadius},dataLabels:{inside:!1},dataLabelOnNull:!0,degree:n.parentNodeRadius,isParentNode:!0,seriesIndex:n.index})),n.parentNode&&(i.plotX=n.parentNode.plotX,i.plotY=n.parentNode.plotY),n.parentNode=i,t.addElementsToCollection([n],t.series),t.addElementsToCollection([i],t.nodes))},addSeriesLayout:function(){var i=this.options.layoutAlgorithm,r=this.chart.graphLayoutsStorage,u=this.chart.graphLayoutsLookup,f=n.merge(i,i.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),t=r[i.type+"-series"];t||(r[i.type+"-series"]=t=new n.layouts[i.type],t.init(f),u.splice(t.index,0,t));this.parentNodeLayout=t;this.createParentNodes()},addLayout:function(){var r=this.options.layoutAlgorithm,u=this.chart.graphLayoutsStorage,f=this.chart.graphLayoutsLookup,e=this.chart.options.chart,t;u||(this.chart.graphLayoutsStorage=u={},this.chart.graphLayoutsLookup=f=[]);t=u[r.type];t||(r.enableSimulation=i(e.forExport)?!e.forExport:r.enableSimulation,u[r.type]=t=new n.layouts[r.type],t.init(r),f.splice(t.index,0,t));this.layout=t;
1this.points.forEach(function(n){n.mass=2;n.degree=1;n.collisionNmb=1});t.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight);t.addElementsToCollection([this],t.series);t.addElementsToCollection(this.points,t.nodes)},deferLayout:function(){var n=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),n.splitSeries&&this.addSeriesLayout())},translate:function(){var n=this.chart,o=this.data,s=this.index,t,e=this.options.useSimulation,r,u,f;for(this.processedXData=this.xData,this.generatePoints(),i(n.allDataPoints)||(n.allDataPoints=this.accumulateAllPoints(this),this.getPointRadius()),e?r=n.allDataPoints:(r=this.placeBubbles(n.allDataPoints),this.options.draggable=!1),t=0;t<r.length;t++)r[t][3]===s&&(u=o[r[t][4]],f=r[t][2],e||(u.plotX=r[t][0]-n.plotLeft+n.diffX,u.plotY=r[t][1]-n.plotTop+n.diffY),u.marker=h(u.marker,{radius:f,width:2*f,height:2*f}),u.radius=f);e&&this.deferLayout();y(this,"afterTranslate")},checkOverlap:function(n,t){var i=n[0]-t[0],r=n[1]-t[1];return-.001>Math.sqrt(i*i+r*r)-Math.abs(n[2]+t[2])},positionBubble:function(n,t,i){var r=Math.sqrt,f=Math.asin,e=Math.acos,u=Math.pow,o=Math.abs;return r=r(u(n[0]-t[0],2)+u(n[1]-t[1],2)),e=e((u(r,2)+u(i[2]+t[2],2)-u(i[2]+n[2],2))/(2*(i[2]+t[2])*r)),f=f(o(n[0]-t[0])/r),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,u=0,f=0,e=[],r;if(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]]]),1<n.length)for(t.push([[0,0-n[1][2]-n[0][2],n[1][2],n[1][3],n[1][4]]]),r=2;r<n.length;r++)n[r][2]=n[r][2]||1,e=o(t[i][u],t[i-1][f],n[r]),s(e,t[i][0])?(t.push([]),f=0,t[i+1].push(o(t[i][u],t[i][0],n[r])),i++,u=0):1<i&&t[i-1][f+1]&&s(e,t[i-1][f+1])?(f++,t[i].push(o(t[i][u],t[i-1][f],n[r])),u++):(u++,t[i].push(e));this.chart.stages=t;this.chart.rawPositions=[].concat.apply([],t);this.resizeRadius();e=this.chart.rawPositions}return e},resizeRadius:function(){for(var i=this.chart,t=i.rawPositions,r=Math.min,h=Math.max,c=i.plotLeft,l=i.plotTop,a=i.plotHeight,v=i.plotWidth,u,f,e=u=Number.POSITIVE_INFINITY,s=f=Number.NEGATIVE_INFINITY,o,n=0;n<t.length;n++)o=t[n][2],e=r(e,t[n][0]-o),s=h(s,t[n][0]+o),u=r(u,t[n][1]-o),f=h(f,t[n][1]+o);if(n=[s-e,f-u],r=r.apply([],[(v-c)/n[0],(a-l)/n[1]]),1e-10<Math.abs(r-1)){for(n=0;n<t.length;n++)t[n][2]*=r;this.placeBubbles(t)}else i.diffY=a/2+l-u-(f-u)/2,i.diffX=v/2+c-e-(s-e)/2},calculateZExtremes:function(){var n=this.options.zMin,t=this.options.zMax,r=Infinity,f=-Infinity;return n&&t?[n,t]:(this.chart.series.forEach(function(n){n.yData.forEach(function(n){i(n)&&(n>f&&(f=n),n<r&&(r=n))})}),n=u(n,r),t=u(t,f),[n,t])},getPointRadius:function(){var n=this,t=n.chart,f=n.options,c=f.useSimulation,v=Math.min(t.plotWidth,t.plotHeight),o={},l=[],i=t.allDataPoints,s,h,a,r,u;["minSize","maxSize"].forEach(function(n){var t=parseInt(f[n],10),r=/%$/.test(f[n]);o[n]=r?v*t/100:t*Math.sqrt(i.length)});t.minRadius=s=o.minSize/Math.sqrt(i.length);t.maxRadius=h=o.maxSize/Math.sqrt(i.length);u=c?n.calculateZExtremes():[s,h];(i||[]).forEach(function(t,f){a=c?e(t[2],u[0],u[1]):t[2];r=n.getRadius(u[0],u[1],s,h,a);0===r&&(r=null);i[f][2]=r;l.push(r)});n.radii=l},redrawHalo:f.redrawHalo,onMouseDown:f.onMouseDown,onMouseMove:f.onMouseMove,onMouseUp:function(t){if(t.fixedPosition&&!t.removed){var r,u,i=this.layout,e=this.parentNodeLayout;e&&i.options.dragBetweenSeries&&e.nodes.forEach(function(f){t&&t.marker&&f!==t.series.parentNode&&(r=i.getDistXY(t,f),u=i.vectorLength(r)-f.marker.radius-t.marker.radius,0>u&&(f.series.addPoint(n.merge(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),i.removeElementFromCollection(t,i.nodes),t.remove()))});f.onMouseUp.apply(this,arguments)}},destroy:function(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach(function(n){n.removeElementFromCollection(this,n.series)},this);this.parentNode&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),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.removeElementFromCollection(this,this.series.layout.nodes),v.prototype.destroy.apply(this,arguments)}});o(p,"beforeRedraw",function(){this.allDataPoints&&delete this.allDataPoints});""});t(n,"parts-more/Polar.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var o=t.defined,e=t.pick,h=t.splat,i=t.wrap,r=n.Series,u=n.seriesTypes,f=r.prototype,c=n.Pointer.prototype,s;f.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)})};f.getConnectors=function(n,t,i,r){var u=r?1:0,f=0<=t&&t<=n.length-1?t:0>t?n.length-1+t:0,o,s,h,c,e,l;return 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=
1Math.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};f.toXY=function(n){var t=this.chart,f=this.xAxis,i=this.yAxis,r=n.plotX,u=n.plotY,e=n.series,o=t.inverted,s=n.y;o&&e&&!e.isRadialBar&&(n.plotY=u="number"==typeof s?i.translate(s)||0:0);n.rectPlotX=r;n.rectPlotY=u;i=o?f.postTranslate(u,r):f.postTranslate(r,i.len-u);n.plotX=n.polarPlotX=i.x-t.plotLeft;n.plotY=n.polarPlotY=i.y-t.plotTop;this.kdByAngle?(t=(r/Math.PI*180+f.pane.options.startAngle)%360,0>t&&(t+=360),n.clientX=t):n.clientX=n.plotX};u.spline&&(i(u.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}),u.areasplinerange&&(u.areasplinerange.prototype.getPointSpline=u.spline.prototype.getPointSpline));n.addEvent(r,"afterTranslate",function(){var t=this.chart,i,r;if(t.polar&&this.xAxis){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].y<this.yAxis.min&&(i[r].isNull=!0);this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(n.addEvent(this,"afterRender",function(){if(t.polar){var i=this.yAxis.center;this.clipCircle?this.clipCircle.animate({x:i[0],y:i[1],r:i[2]/2}):this.clipCircle=t.renderer.clipCircle(i[0],i[1],i[2]/2);this.group.clip(this.clipCircle);this.setClip=n.noop}})))}},{order:2});i(f,"getGraphPath",function(n,t){var f=this,i,r,u;if(this.chart.polar){for(t=t||this.points,i=0;i<t.length;i++)if(!t[i].isNull){r=i;break}!1!==this.options.connectEnds&&"undefined"!=typeof r&&(this.connectEnds=!0,t.splice(t.length,0,t[r]),u=!0);t.forEach(function(n){"undefined"==typeof n.polarPlotY&&f.toXY(n)})}return i=n.apply(this,[].slice.call(arguments,1)),u&&t.pop(),i});s=function(t,i){var r=this.chart,u=this.options.animation,o=this.group,f=this.markerGroup,s=this.xAxis.center,h=r.plotLeft,c=r.plotTop;r.polar?this.isRadialBar?i||(this.startAngleRad=e(this.translatedThreshold,this.xAxis.startAngleRad),n.seriesTypes.pie.prototype.animate.call(this,i)):r.renderer.isSVG&&(u=n.animObject(u),i?(t={translateX:s[0]+h,translateY:s[1]+c,scaleX:.001,scaleY:.001},o.attr(t),f&&f.attr(t)):(t={translateX:h,translateY:c,scaleX:1,scaleY:1},o.animate(t,u),f&&f.animate(t,u),this.animate=null)):t.call(this,i)};i(f,"animate",s);u.column&&(r=u.column.prototype,r.polarArc=function(n,t,i,r){var f=this.xAxis.center,u=this.yAxis.len;return this.chart.renderer.symbols.arc(f[0],f[1],u-t,null,{start:i,end:r,innerR:u-e(n,u)})},i(r,"animate",s),i(r,"translate",function(i){var r=this.options,nt=r.stacking,y=this.chart,p=this.xAxis,e=this.yAxis,d=e.reversed,k=p.center,c=p.startAngleRad,w=p.endAngleRad-c,s,f,u;if(this.preventPostTranslate=!0,i.call(this),p.isRadial){i=this.points;var g=i.length,l=e.translate(e.min),a=e.translate(e.max);for(r=r.threshold||0,y.inverted&&n.isNumber(r)&&(s=e.translate(r),o(s)&&(0>s?s=0:s>w&&(s=w),this.translatedThreshold=s+c));g--;){r=i[g];var h=r.barX,b=r.x,v=r.y;y.inverted?(r.shapeType="arc",r.plotY=e.translate(v),nt?(v=e.stacks[(0>v?"-":"")+this.stackKey],this.visible&&v&&v[b]&&!r.isNull)&&(f=v[b].points[this.getStackIndicator(void 0,b,this.index).key],u=e.translate(f[0]),f=e.translate(f[1]),o(u)&&(u=t.clamp(u,0,w))):(u=s,f=r.plotY),u>f&&(f=[u,u=f][0]),d?f>l?f=l:u<a?u=a:(u>l||f<a)&&(u=f=w):u<l?u=l:f>a?f=a:(f<l||u>a)&&(u=f=0),e.min>e.max&&(u=f=d?w:0),u+=c,f+=c,b=Math.max(h,0),h=Math.max(h+r.pointWidth,0),r.shapeArgs={x:k[0],y:k[1],r:h,innerR:b,start:u,end:f},r.opacity=u===f?0:void 0,r.plotY=(o(this.translatedThreshold)&&(u<this.translatedThreshold?u:f))-c):(r.shapeType="path",u=h+c,r.shapeArgs={d:this.polarArc(r.yBottom,r.plotY,u,u+r.pointWidth)});this.toXY(r);y.inverted?(h=p.postTranslate(r.rectPlotY,r.barX+r.pointWidth/2),r.tooltipPos=[h.x-y.plotLeft,h.y-y.plotTop]):r.tooltipPos=[r.plotX,r.plotY];r.ttBelow=r.plotY>k[1]}}}),r.findAlignments=function(n,t){return null===t.align&&(t.align=20<n&&160>
1n?"left":200<n&&340>n?"right":"center"),null===t.verticalAlign&&(t.verticalAlign=45>n||315<n?"bottom":135<n&&225>n?"top":"middle"),t},i(r,"alignDataLabel",function(n,t,i,r,u,o){var s=this.chart,h=e(r.inside,!!this.options.stacking);s.polar?(n=t.rectPlotX/Math.PI*180,s.inverted?(this.forceDL=s.isInsidePlot(t.plotX,Math.round(t.plotY),!1),h&&t.shapeArgs?(u=t.shapeArgs,u=this.xAxis.postTranslate((u.start+u.end)/2-this.xAxis.startAngleRad,t.barX+t.pointWidth/2),u={x:u.x-s.plotLeft,y:u.y-s.plotTop}):t.tooltipPos&&(u={x:t.tooltipPos[0],y:t.tooltipPos[1]}),r.align=e(r.align,"center"),r.verticalAlign=e(r.verticalAlign,"middle")):r=this.findAlignments(n,r),f.alignDataLabel.call(this,t,i,r,u,o),this.isRadialBar&&t.shapeArgs&&t.shapeArgs.start===t.shapeArgs.end&&i.hide(!0)):n.call(this,t,i,r,u,o)}));i(c,"getCoordinates",function(n,t){var i=this.chart,r={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach(function(n){var e=n.isXAxis,u=n.center,f;"colorAxis"!==n.coll&&(f=t.chartX-u[0]-i.plotLeft,u=t.chartY-u[1]-i.plotTop,r[e?"xAxis":"yAxis"].push({axis:n,value:n.translate(e?Math.PI-Math.atan2(f,u):Math.sqrt(Math.pow(f,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=[]);h(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()})});n.addEvent(n.Series,"afterInit",function(){var n=this.chart;n.inverted&&n.polar&&(this.isRadialSeries=!0,this instanceof u.column&&(this.isRadialBar=!0))});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(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"mixins/ajax.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.objectEach;n.ajax=function(t){var r=n.merge(!0,{url:!1,type:"get",dataType:"json",success:!1,error:!1,data:!1,headers:{}},t),u;if(t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},u=new XMLHttpRequest,!r.url)return!1;u.open(r.type.toUpperCase(),r.url,!0);r.headers["Content-Type"]||u.setRequestHeader("Content-Type",t[r.dataType]||t.text);i(r.headers,function(n,t){u.setRequestHeader(t,n)});u.onreadystatechange=function(){if(4===u.readyState){if(200===u.status){var n=u.responseText;if("json"===r.dataType)try{n=JSON.parse(n)}catch(t){r.error&&r.error(u,t);return}return r.success&&r.success(n)}r.error&&r.error(u,u.responseText)}};try{r.data=JSON.stringify(r.data)}catch(f){}u.send(r.data||!0)};n.getJSON=function(t,i){n.ajax({url:t,success:i,dataType:"json",headers:{"Content-Type":"text/plain"}})}});t(n,"modules/data.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var o=t.defined,f=t.extend,e=t.isNumber,s=t.objectEach,h=t.pick,
1c=t.splat,i;t=n.addEvent;var l=n.Chart,a=n.win.document,r=n.merge,v=n.fireEvent,u=function(n,t,i){this.init(n,t,i)};f(u.prototype,{init:function(n,t,i){var u=n.decimalPoint,r;t&&(this.chartOptions=t);i&&(this.chart=i);"."!==u&&","!==u&&(u=void 0);this.options=n;this.columns=n.columns||this.rowsToColumns(n.rows)||[];this.firstRowAsNames=h(n.firstRowAsNames,this.firstRowAsNames,!0);this.decimalRegex=u&&new RegExp("^(-?[0-9]+)"+u+"([0-9]+)$");this.rawColumns=[];this.columns.length&&(this.dataFound(),r=!0);this.hasURLOption(n)&&(clearTimeout(this.liveDataTimeout),r=!1);r||(r=this.fetchLiveData());r||(r=!!this.parseCSV().length);r||(r=!!this.parseTable().length);r||(r=this.parseGoogleSpreadsheet());!r&&n.afterComplete&&n.afterComplete()},hasURLOption:function(n){return!(!n||!(n.rowsURL||n.csvURL||n.columnsURL))},getColumnDistribution:function(){var t=this.chartOptions,r=this.options,e=[],h=function(t){return(n.seriesTypes[t||"line"].prototype.pointArrayMap||[0]).length},u=t&&t.chart&&t.chart.type,c=[],a=[],l=0,f;r=r&&r.seriesMapping||t&&t.series&&t.series.map(function(){return{x:0}})||[];(t&&t.series||[]).forEach(function(n){c.push(h(n.type||u))});r.forEach(function(n){e.push(n.x||0)});0===e.length&&e.push(0);r.forEach(function(r){var e=new i,w=c[l]||h(u),v=(t&&t.series||[])[l]||{},y=n.seriesTypes[v.type||u||"line"].prototype.pointArrayMap,p=y||["y"];for((o(r.x)||v.isCartesian||!y)&&e.addColumnReader(r.x,"x"),s(r,function(n,t){"x"!==t&&e.addColumnReader(n,t)}),f=0;f<w;f++)e.hasReader(p[f])||e.addColumnReader(void 0,p[f]);a.push(e);l++});r=n.seriesTypes[u||"line"].prototype.pointArrayMap;"undefined"==typeof r&&(r=["y"]);this.valueCount={global:h(u),xColumns:e,individual:c,seriesBuilders:a,globalPointArrayMap:r}},dataFound:function(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns));this.getColumnDistribution();this.parseTypes();!1!==this.parsed()&&this.complete()},parseCSV:function(n){function l(n,t,i,u){function v(t){o=n[t];b=n[t-1];k=n[t+1]}function y(n){r.length<h+1&&r.push([n]);r[h][r[h].length-1]!==n&&r[h].push(n)}function l(){p>a||a>w?(++a,f=""):(!isNaN(parseFloat(f))&&isFinite(f)?(f=parseFloat(f),y("number")):isNaN(Date.parse(f))?y("string"):(f=f.replace(/\//g,"-"),y("date")),e.length<h+1&&e.push([]),i||(e[h][t]=f),f="",++h,++a)}var c=0,o="",b="",k="",f="",a=0,h=0;if(n.trim().length&&"#"!==n.trim()[0]){for(;c<n.length;c++){if(v(c),"#"===o){l();return}if('"'===o)for(v(++c);c<n.length&&('"'!==o||'"'===b||'"'===k);)('"'!==o||'"'===o&&'"'!==b)&&(f+=o),v(++c);else u&&u[o]?u[o](o,f)&&l():o===s?l():f+=o}l()}}function a(n){var i=0,r=0,f=!1;return n.some(function(n,t){var s=!1,e="",f,o,h;if(13<t)return!0;for(f=0;f<n.length;f++){if(t=n[f],o=n[f+1],h=n[f-1],"#"===t)break;if('"'===t)if(s){if('"'!==h&&'"'!==o){for(;" "===o&&f<n.length;)o=n[++f];"undefined"!=typeof u[o]&&u[o]++;s=!1}}else s=!0;else"undefined"!=typeof u[t]?(e=e.trim(),isNaN(Date.parse(e))?!isNaN(e)&&isFinite(e)||u[t]++:u[t]++,e=""):e+=t;","===t&&r++;"."===t&&i++}}),f=u[";"]>u[","]?";":",",t.decimalPoint||(t.decimalPoint=i>r?".":",",c.decimalRegex=new RegExp("^(-?[0-9]+)"+t.decimalPoint+"([0-9]+)$")),f}function y(n,i){var u=[],e=0,h=!1,o=[],s=[],r,f;for((!i||i>n.length)&&(i=n.length);e<i;e++)if("undefined"!=typeof n[e]&&n[e]&&n[e].length)for(f=n[e].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),u=["","",""],r=0;r<f.length;r++)r<u.length&&(f[r]=parseInt(f[r],10),f[r]&&(s[r]=!s[r]||s[r]<f[r]?f[r]:s[r],"undefined"!=typeof o[r]?o[r]!==f[r]&&(o[r]=!1):o[r]=f[r],31<f[r]?u[r]=100>f[r]?"YY":"YYYY":12<f[r]&&31>=f[r]?(u[r]="dd",h=!0):u[r].length||(u[r]="mm")));if(h){for(r=0;r<o.length;r++)!1!==o[r]?12<s[r]&&"YY"!==u[r]&&"YYYY"!==u[r]&&(u[r]="YY"):12<s[r]&&"mm"===u[r]&&(u[r]="dd");return 3===u.length&&"dd"===u[1]&&"dd"===u[2]&&(u[2]="YY"),n=u.join("/"),(t.dateFormats||c.dateFormats)[n]?n:(v("deduceDateFailed"),"YYYY/mm/dd")}return"YYYY/mm/dd"}var c=this,t=n||this.options,i=t.csv,s,h;n="undefined"!=typeof t.startRow&&t.startRow?t.startRow:0;var o=t.endRow||Number.MAX_VALUE,p="undefined"!=typeof t.startColumn&&t.startColumn?t.startColumn:0,w=t.endColumn||Number.MAX_VALUE,f=0,r=[],u={",":0,";":0,"\t":0},e=this.columns=[];if(i&&t.beforeParse&&(i=t.beforeParse.call(this,i)),i){for(i=i.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(t.lineDelimiter||"\n"),(!n||0>n)&&(n=0),(!o||o>=i.length)&&(o=i.length-1),t.itemDelimiter?s=t.itemDelimiter:(s=null,s=a(i)),h=0,f=n;f<=o;f++)"#"===i[f][0]?h++:l(i[f],f-n-h);t.columnTypes&&0!==t.columnTypes.length||!r.length||!r[0].length||"date"!==r[0][1]||t.dateFormat||(t.dateFormat=y(e[0]));this.dataFound()}return e},parseTable:function(){var n=this.options,t=n.table,i=this.columns,u=n.startRow||0,f=n.endRow||Number.MAX_VALUE,r=n.startColumn||0,e=n.endColumn||Number.MAX_VALUE;return t&&("string"==typeof t&&(t=a.getElementById(t)),[].forEach.call(t.getElementsByTagName("tr"),function(n,t){t>=u&&t<=f&&[].forEach.call(n.children,function(n,f){("TD"===n.tagName||"TH"===n.tagName)&&f>=r&&f<=e&&(i[f-r]||(i[f-r]=[]),i[f-r][t-u]=n.innerHTML)})}),this.dataFound()),i},fetchLiveData:function(){function e(r){function c(f,c,l){function a(){h&&i.liveDataURL===f&&(o.liveDataTimeout=setTimeout(e,u))}return!f||0!==f.indexOf("http")?(f&&t.error&&t.error("Invalid URL"),!1):(r&&(clearTimeout(o.liveDataTimeout),i.liveDataURL=f),n.ajax({url:f,dataType:l||"json",success:function(n){i&&i.series&&c(n);a()},error:function(n,i){return 3>++s&&a(),t.error&&t.error(i,n)}}),!0)}c(f.csvURL,function(n){i.update({data:{csv:n}})},"text")||c(f.rowsURL,function(n){i.update({data:{rows:n}})})||c(f.columnsURL,function(n){i.update({data:{columns:n}})})}var o=this,i=this.chart,t=this.options,s=0,h=t.enablePolling,u=1e3*(t.dataRefreshRate||2),f=r(t);return this.hasURLOption(t)?(1e3>u&&(u=1e3),delete t.csvURL,delete t.rowsURL,delete t.columnsURL,e(!0),this.hasURLOption(t)):!1},parseGoogleSpreadsheet:function(){function u(i){var r=["https://spreadsheets.google.com/feeds/cells",e,c,"public/values?alt=json"].join("/");n.ajax({url:r,dataType:"json",success:function(n){i(n);t.enablePolling&&setTimeout(function(){u(i)},1e3*(t.dataRefreshRate||2))},error:function(n,i){return t.error&&t.error(i,n)}})}var f=this,t=this.options,e=t.googleSpreadsheetKey,r=this.chart,c=t.googleSpreadsheetWorksheet||1,o=t.startRow||0,l=t.endRow||Number.MAX_VALUE,i=t.startColumn||0,s=t.endColumn||Number.MAX_VALUE,h=1e3*(t.dataRefreshRate||2);return 4e3>h&&(h=4e3),e&&(delete t.googleSpreadsheetKey,u(function(n){var c=[],v,h,t,u,a,e;if(n=n.feed.entry,v=(n||[]).length,h=0,!n||0===n.length)return!1;for(t=0;t<v;t++)u=n[t],h=Math.max(h,u.gs$cell.col);for(t=0;t<h;t++)t>=i&&t<=s&&(c[t-i]=[]);for(t=0;t<v;t++)u=n[t],h=u.gs$cell.row-1,a=u.gs$cell.col-1,a>=i&&a<=s&&h>=o&&h<=l&&(e=u.gs$cell||u.content,u=null,e.numericValue?u=0<=e.$t.indexOf("/")||0<=e.$t.indexOf("-")?e.$t:0<e.$t.indexOf("%")?100*parseFloat(e.numericValue):parseFloat(e.numericValue):e.$t&&e.$t.length&&(u=e.$t),c[a-i][h-o]=u);
1c.forEach(function(n){for(t=0;t<n.length;t++)"undefined"==typeof n[t]&&(n[t]=null)});r&&r.series?r.update({data:{columns:c}}):(f.columns=c,f.dataFound())})),!1},trim:function(n,t){return"string"==typeof n&&(n=n.replace(/^\s+|\s+$/g,""),t&&/^[0-9\s]+$/.test(n)&&(n=n.replace(/\s/g,"")),this.decimalRegex&&(n=n.replace(this.decimalRegex,"$1.$2"))),n},parseTypes:function(){for(var t=this.columns,n=t.length;n--;)this.parseColumn(t[n],n)},parseColumn:function(n,t){var f=this.rawColumns,o=this.columns,i=n.length,p=this.firstRowAsNames,l=-1!==this.valueCount.xColumns.indexOf(t),a,w=[],s=this.chartOptions,h,y=(this.options.columnTypes||[])[t];for(s=l&&(s&&s.xAxis&&"category"===c(s.xAxis)[0].type||"string"===y),f[t]||(f[t]=[]);i--;){var r=w[i]||n[i],u=this.trim(r),b=this.trim(r,!0),v=parseFloat(b);"undefined"==typeof f[t][i]&&(f[t][i]=u);s||0===i&&p?n[i]=""+u:+b===v?(n[i]=v,31536e6<v&&"float"!==y?n.isDatetime=!0:n.isNumeric=!0,"undefined"!=typeof n[i+1]&&(h=v>n[i+1])):(u&&u.length&&(a=this.parseDate(r)),l&&e(a)&&"float"!==y?(w[i]=r,n[i]=a,n.isDatetime=!0,"undefined"!=typeof n[i+1]&&(r=a>n[i+1],r!==h&&"undefined"!=typeof h&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,i=n.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):n.unsorted=!0),h=r)):(n[i]=""===u?null:u,0!==i&&(n.isDatetime||n.isNumeric)&&(n.mixed=!0)))}if(l&&n.mixed&&(o[t]=f[t]),l&&h&&this.options.sort)for(t=0;t<o.length;t++)o[t].reverse(),p&&o[t].unshift(o[t].pop())},dateFormats:{"YYYY/mm/dd":{regex:/^([0-9]{4})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{1,2})$/,parser:function(n){return Date.UTC(+n[1],n[2]-1,+n[3])}},"dd/mm/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(n){return Date.UTC(+n[3],n[2]-1,+n[1])},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{4})$/,parser:function(n){return Date.UTC(+n[3],n[1]-1,+n[2])}},"dd/mm/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(n){var t=+n[3];return t=t>(new Date).getFullYear()-2e3?t+1900:t+2e3,Date.UTC(t,n[2]-1,+n[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^([0-9]{1,2})[\-\/\.]([0-9]{1,2})[\-\/\.]([0-9]{2})$/,parser:function(n){return Date.UTC(+n[3]+2e3,n[1]-1,+n[2])}}},parseDate:function(n){var i=this.options.parseDate,u,f=this.options.dateFormat||this.dateFormat,t,r;if(i)r=i(n);else if("string"==typeof n){if(f)(i=this.dateFormats[f])||(i=this.dateFormats["YYYY/mm/dd"]),(t=n.match(i.regex))&&(r=i.parser(t));else for(u in this.dateFormats)if(i=this.dateFormats[u],t=n.match(i.regex)){this.dateFormat=u;this.alternativeFormat=i.alternative;r=i.parser(t);break}t||(t=Date.parse(n),"object"==typeof t&&null!==t&&t.getTime?r=t.getTime()-6e4*t.getTimezoneOffset():e(t)&&(r=t-6e4*new Date(t).getTimezoneOffset()))}return r},rowsToColumns:function(n){var i,t,r,u,f;if(n)for(r=[],u=n.length,i=0;i<u;i++)for(f=n[i].length,t=0;t<f;t++)r[t]||(r[t]=[]),r[t][i]=n[i][t];return r},getData:function(){if(this.columns)return this.rowsToColumns(this.columns).slice(1)},parsed:function(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)},getFreeIndexes:function(n,t){for(var r=[],f=[],u,i=0;i<n;i+=1)r.push(!0);for(n=0;n<t.length;n+=1)for(u=t[n].getReferencedColumnIndexes(),i=0;i<u.length;i+=1)r[u[i]]=!1;for(i=0;i<r.length;i+=1)r[i]&&f.push(i);return f},complete:function(){var u=this.columns,e,o=this.options,n,s,f=[],h,r,t;if(o.complete||o.afterComplete){if(this.firstRowAsNames)for(n=0;n<u.length;
1n++)u[n].name=u[n].shift();for(h=[],r=this.getFreeIndexes(u.length,this.valueCount.seriesBuilders),n=0;n<this.valueCount.seriesBuilders.length;n++)t=this.valueCount.seriesBuilders[n],t.populateColumns(r)&&f.push(t);for(;0<r.length;){for(t=new i,t.addColumnReader(0,"x"),n=r.indexOf(0),-1!==n&&r.splice(n,1),n=0;n<this.valueCount.global;n++)t.addColumnReader(void 0,this.valueCount.globalPointArrayMap[n]);t.populateColumns(r)&&f.push(t)}if(0<f.length&&0<f[0].readers.length&&(t=u[f[0].readers[0].columnIndex],"undefined"!=typeof t&&(t.isDatetime?e="datetime":t.isNumeric||(e="category"))),"category"===e)for(n=0;n<f.length;n++)for(t=f[n],r=0;r<t.readers.length;r++)"x"===t.readers[r].configName&&(t.readers[r].configName="name");for(n=0;n<f.length;n++){for(t=f[n],r=[],s=0;s<u[0].length;s++)r[s]=t.read(u,s);h[n]={data:r};t.name&&(h[n].name=t.name);"category"===e&&(h[n].turboThreshold=0)}u={series:h};e&&(u.xAxis={type:e},"category"===e&&(u.xAxis.uniqueNames=!1));o.complete&&o.complete(u);o.afterComplete&&o.afterComplete(u)}},update:function(n,t){var i=this.chart;n&&(n.afterComplete=function(n){n&&(n.xAxis&&i.xAxis[0]&&n.xAxis.type===i.xAxis[0].options.type&&delete n.xAxis,i.update(n,t,!0))},r(!0,i.options.data,n),this.init(i.options.data))}});n.Data=u;n.data=function(n,t,i){return new u(n,t,i)};t(l,"init",function(n){var i=this,t=n.args[0]||{},e=n.args[1];t&&t.data&&!i.hasDataDef&&(i.hasDataDef=!0,i.data=new u(f(t.data,{afterComplete:function(n){var u,f;if(Object.hasOwnProperty.call(t,"series"))if("object"==typeof t.series)for(u=Math.max(t.series.length,n&&n.series?n.series.length:0);u--;)f=t.series[u]||{},t.series[u]=r(f,n&&n.series?n.series[u]:{});else delete t.series;t=r(n,t);i.init(t,e)}}),t,i),n.preventDefault())});i=function(){this.readers=[];this.pointIsArray=!0};i.prototype.populateColumns=function(n){var t=!0;return this.readers.forEach(function(t){"undefined"==typeof t.columnIndex&&(t.columnIndex=n.shift())}),this.readers.forEach(function(n){"undefined"==typeof n.columnIndex&&(t=!1)}),t};i.prototype.read=function(t,i){var f=this.pointIsArray,u=f?[]:{},r;return this.readers.forEach(function(r){var e=t[r.columnIndex][i];f?u.push(e):0<r.configName.indexOf(".")?n.Point.prototype.setNestedProperty(u,e,r.configName):u[r.configName]=e}),"undefined"==typeof this.name&&2<=this.readers.length&&(r=this.getReferencedColumnIndexes(),2<=r.length&&(r.shift(),r.sort(function(n,t){return n-t}),this.name=t[r.shift()].name)),u};i.prototype.addColumnReader=function(n,t){this.readers.push({columnIndex:n,configName:t});"x"!==t&&"y"!==t&&"undefined"!=typeof t&&(this.pointIsArray=!1)};i.prototype.getReferencedColumnIndexes=function(){for(var i=[],t,n=0;n<this.readers.length;n+=1)t=this.readers[n],"undefined"!=typeof t.columnIndex&&i.push(t.columnIndex);return i};i.prototype.hasReader=function(n){for(var i,t=0;t<this.readers.length;t+=1)if(i=this.readers[t],i.configName===n)return!0}});t(n,"masters/modules/data.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/exporting",["highcharts"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"modules/full-screen.src.js",[n["parts/Globals.js"]],function(n){(n.FullScreen=function(n){this.init(n.parentNode)}).prototype={init:function(n){var t;n.requestFullscreen?t=n.requestFullscreen():n.mozRequestFullScreen?t=n.mozRequestFullScreen():n.webkitRequestFullscreen?t=n.webkitRequestFullscreen():n.msRequestFullscreen&&(t=n.msRequestFullscreen());t&&t["catch"](function(){alert("Full screen is not supported inside a frame")})}}});t(n,"mixins/navigation.js",[],function(){return{initUpdate:function(n){n.navigation||(n.navigation={updates:[],update:function(n,t){this.updates.forEach(function(i){i.update.call(i.context,n,t)})}})},addUpdate:function(n,t){t.navigation||this.initUpdate(t);t.navigation.updates.push({update:n,context:t})}}});t(n,"modules/exporting.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/navigation.js"]],function(n,t,i){var v=t.discardElement,e=t.extend,k=t.isObject,y=t.objectEach,u=t.pick;t=n.defaultOptions;var c=n.doc,l=n.Chart,o=n.addEvent,d=n.removeEvent,a=n.fireEvent,s=n.
1createElement,f=n.css,r=n.merge,g=n.isTouchDevice,h=n.win,w=h.navigator.userAgent,p=n.SVGRenderer,b=n.Renderer.prototype.symbols,nt=/Edge\/|Trident\/|MSIE /.test(w),tt=/firefox/i.test(w);e(t.lang,{viewFullscreen:"View in full screen",printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"});t.navigation||(t.navigation={});r(!0,t.navigation,{buttonOptions:{theme:{},symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24}});r(!0,t.navigation,{menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"},menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:g?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"},buttonOptions:{symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}}});t.exporting={type:"image/png",url:"https://export.highcharts.com/",printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen=new n.FullScreen(this.container)}},printChart:{textKey:"printChart",onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}};n.post=function(n,t,i){var u=s("form",r({method:"post",action:n,enctype:"multipart/form-data"},i),{display:"none"},c.body);y(t,function(n,t){s("input",{type:"hidden",name:t,value:n},null,u)});u.submit();v(u)};n.isSafari&&n.win.matchMedia("print").addListener(function(t){n.printingChart&&(t.matches?n.printingChart.beforePrint():n.printingChart.afterPrint())});e(l.prototype,{sanitizeSVG:function(n,t){var r=n.indexOf("<\/svg>")+6,i=n.substr(r);return n=n.substr(0,r),t&&t.exporting&&t.exporting.allowHTML&&i&&(i='<foreignObject x="0" y="0" width="'+t.chart.width+'" height="'+t.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+i+"<\/body><\/foreignObject>",n=n.replace("<\/svg>",i+"<\/svg>")),n=n.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|");?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (|NS[0-9]+:)href=/g," xlink:href=").replace(/\n/," ").replace(/(fill|stroke)="rgba\(([ 0-9]+,[ 0-9]+,[ 0-9]+),([ 0-9\.]+)\)"/g,'$1="rgb($2)" $1-opacity="$3"').replace(/ /g,"Â ").replace(/­/g,"Â"),this.ieSanitizeSVG&&(n=this.ieSanitizeSVG(n)),n},getChartHTML:function(){return this.styledMode&&this.inlineStyles(),this.container.innerHTML},getSVG:function(t){var h,i=r(this.options,t),f;i.plotOptions=r(this.userOptions.plotOptions,t&&t.plotOptions);i.time=r(this.userOptions.time,t&&t.time);var l=s("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},c.body),u=this.renderTo.style.width,o=this.renderTo.style.height;return u=i.exporting.sourceWidth||i.chart.width||/px$/.test(u)&&parseInt(u,10)||(i.isGantt?800:600),o=i.exporting.sourceHeight||i.chart.height||/px$/.test(o)&&parseInt(o,10)||400,e(i.chart,{animation:!1,renderTo:l,forExport:!0,renderer:"SVGRenderer",width:u,height:o}),i.exporting.enabled=!1,delete i.data,i.series=[],this.series.forEach(function(n){h=r(n.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:n.visible});h.isInternal||i.series.push(h)}
1),this.axes.forEach(function(t){t.userOptions.internalKey||(t.userOptions.internalKey=n.uniqueKey())}),f=new n.Chart(i,this.callback),t&&["xAxis","yAxis","series"].forEach(function(n){var i={};t[n]&&(i[n]=t[n],f.update(i))}),this.axes.forEach(function(t){var r=n.find(f.axes,function(n){return n.options.internalKey===t.userOptions.internalKey}),i=t.getExtremes(),u=i.userMin;i=i.userMax;r&&("undefined"!=typeof u&&u!==r.min||"undefined"!=typeof i&&i!==r.max)&&r.setExtremes(u,i,!0,!1)}),u=f.getChartHTML(),a(this,"getSVG",{chartCopy:f}),u=this.sanitizeSVG(u,i),i=null,f.destroy(),v(l),u},getSVGForExport:function(n,t){var i=this.options.exporting;return this.getSVG(r({chart:{borderRadius:0}},i.chartOptions,t,{exporting:{sourceWidth:n&&n.sourceWidth||i.sourceWidth,sourceHeight:n&&n.sourceHeight||i.sourceHeight}}))},getFilename:function(){var t=this.userOptions.title&&this.userOptions.title.text,n=this.options.exporting.filename;return n?n.replace(/\//g,"-"):("string"==typeof t&&(n=t.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!n||5>n.length)&&(n="chart"),n)},exportChart:function(t,i){i=this.getSVGForExport(t,i);t=r(this.options.exporting,t);n.post(t.url,{filename:t.filename?t.filename.replace(/\//g,"-"):this.getFilename(),type:t.type,width:t.width||0,scale:t.scale,svg:i},t.formAttributes)},moveContainers:function(n){(this.fixedDiv?[this.fixedDiv,this.scrollingContainer]:[this.container]).forEach(function(t){n.appendChild(t)})},beforePrint:function(){var i=c.body,t=this.options.exporting.printMaxWidth,n={childNodes:i.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0;this.pointer.reset(null,0);a(this,"beforePrint");t&&this.chartWidth>t&&(n.resetParams=[this.options.chart.width,void 0,!1],this.setSize(t,void 0,!1));[].forEach.call(n.childNodes,function(t,i){1===t.nodeType&&(n.origDisplay[i]=t.style.display,t.style.display="none")});this.moveContainers(i);this.printReverseInfo=n},afterPrint:function(){if(this.printReverseInfo){var i=this.printReverseInfo.childNodes,r=this.printReverseInfo.origDisplay,t=this.printReverseInfo.resetParams;this.moveContainers(this.renderTo);[].forEach.call(i,function(n,t){1===n.nodeType&&(n.style.display=r[t]||"")});this.isPrinting=!1;t&&this.setSize.apply(this,t);delete this.printReverseInfo;delete n.printingChart;a(this,"afterPrint")}},print:function(){var t=this;t.isPrinting||(n.printingChart=t,n.isSafari||t.beforePrint(),setTimeout(function(){h.focus();h.print();n.isSafari||setTimeout(function(){t.afterPrint()},1e3)},1))},contextMenu:function(t,i,r,u,l,v,y){var p=this,g=p.options.navigation,nt=p.chartWidth,tt=p.chartHeight,it="cache-"+t,w=p[it],b=Math.max(l,v),d;w||(p.exportContextMenu=p[it]=w=s("div",{className:t},{position:"absolute",zIndex:1e3,padding:b+"px",pointerEvents:"auto"},p.fixedDiv||p.container),d=s("ul",{className:"highcharts-menu"},{listStyle:"none",margin:0,padding:0},w),p.styledMode||f(d,e({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},g.menuStyle)),w.hideMenu=function(){f(w,{display:"none"});y&&y.setState(0);p.openMenu=!1;f(p.renderTo,{overflow:"hidden"});n.clearTimeout(w.hideTimer);a(p,"exportMenuHidden")},p.exportEvents.push(o(w,"mouseleave",function(){w.hideTimer=h.setTimeout(w.hideMenu,500)}),o(w,"mouseenter",function(){n.clearTimeout(w.hideTimer)}),o(c,"mouseup",function(n){p.pointer.inClass(n.target,t)||w.hideMenu()}),o(w,"click",function(){p.openMenu&&w.hideMenu()})),i.forEach(function(n){if("string"==typeof n&&(n=p.options.exporting.menuItemDefinitions[n]),k(n,!0)){if(n.separator)var t=s("hr",null,null,d);else t=s("li",{className:"highcharts-menu-item",onclick:function(t){t&&t.stopPropagation();w.hideMenu();n.onclick&&n.onclick.apply(p,arguments)},innerHTML:n.text||p.options.lang[n.textKey]},null,d),p.styledMode||(t.onmouseover=function(){f(this,g.menuItemHoverStyle)},t.onmouseout=function(){f(this,g.menuItemStyle)},f(t,e({cursor:"pointer"},g.menuItemStyle)));p.exportDivElements.push(t)}}),p.exportDivElements.push(d,w),p.exportMenuWidth=w.offsetWidth,p.exportMenuHeight=w.offsetHeight);i={display:"block"};r+p.exportMenuWidth>nt?i.right=nt-r-l-b+"px":i.left=r-b+"px";u+v+p.exportMenuHeight>tt&&"top"!==y.alignOptions.verticalAlign?i.bottom=tt-u-b+"px":i.top=u+v-b+"px";f(w,i);f(p.renderTo,{overflow:""});p.openMenu=!0;a(p,"exportMenuShown")},addButton:function(n){var i=this,a=i.renderer,t=r(i.options.navigation.buttonOptions,n),v=t.onclick,y=t.menuItems,s=t.symbolSize||12,c,o,l;if(i.btnCount||(i.btnCount=0),i.exportDivElements||(i.exportDivElements=[],i.exportSVGElements=[]),!1!==t.enabled){var f=t.theme,h=f.states,p=h&&h.hover;h=h&&h.select;i.styledMode||(f.fill=u(f.fill,"#ffffff"),f.stroke=u(f.stroke,"none"));delete f.states;v?c=function(n){n&&n.stopPropagation();v.call(i,n)}:y&&(c=function(n){n&&n.stopPropagation();i.contextMenu(o.menuClassName,y,o.translateX,o.translateY,o.width,o.height,o);o.setState(2)});t.text&&t.symbol?f.paddingLeft=u(f.paddingLeft,25):t.text||e(f,{width:t.width,height:t.height,padding:0});i.styledMode||(f["stroke-linecap"]="round",f.fill=u(f.fill,"#ffffff"),f.stroke=u(f.stroke,"none"));o=a.button(t.text,0,0,c,f,p,h).addClass(n.className).attr({title:u(i.options.lang[t._titleKey||t.titleKey],"")});o.menuClassName=n.menuClassName||"highcharts-menu-"+i.btnCount++;
1t.symbol&&(l=a.symbol(t.symbol,t.symbolX-s/2,t.symbolY-s/2,s,s,{width:s,height:s}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(o),i.styledMode||l.attr({stroke:t.symbolStroke,fill:t.symbolFill,"stroke-width":t.symbolStrokeWidth||1}));o.add(i.exportingGroup).align(e(t,{width:o.width,x:u(t.x,i.buttonOffset)}),!0,"spacingBox");i.buttonOffset+=(o.width+t.buttonSpacing)*("right"===t.align?-1:1);i.exportSVGElements.push(o,l)}},destroyExport:function(t){var i=t?t.target:this,r,u,f;t=i.exportSVGElements;r=i.exportDivElements;u=i.exportEvents;t&&(t.forEach(function(n,t){n&&(n.onclick=n.ontouchstart=null,f="cache-"+n.menuClassName,i[f]&&delete i[f],i.exportSVGElements[t]=n.destroy())}),t.length=0);i.exportingGroup&&(i.exportingGroup.destroy(),delete i.exportingGroup);r&&(r.forEach(function(t,r){n.clearTimeout(t.hideTimer);d(t,"mouseleave");i.exportDivElements[r]=t.onmouseout=t.onmouseover=t.ontouchstart=t.onclick=null;v(t)}),r.length=0);u&&(u.forEach(function(n){n()}),u.length=0)}});p.prototype.inlineToAttributes="fill stroke strokeLinecap strokeLinejoin strokeWidth textAnchor x y".split(" ");p.prototype.inlineBlacklist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/];p.prototype.unstyledElements=["clipPath","defs","desc"];l.prototype.inlineStyles=function(){function o(n){return n.replace(/([A-Z])/g,function(n,t){return"-"+t.toLowerCase()})}function s(n){function g(t,i){if(c=w=!1,e){for(p=e.length;p--&&!w;)w=e[p].test(i);c=!w}for("transform"===i&&"none"===t&&(c=!0),p=l.length;p--&&!c;)c=l[p].test(i)||"function"==typeof t;c||it[i]===t&&"svg"!==n.nodeName||u[n.nodeName][i]===t||(-1!==a.indexOf(i)?n.setAttribute(o(i),t):k+=o(i)+":"+t+";")}var k="",c,w,p,f,it,b,d;if(1===n.nodeType&&-1===v.indexOf(n.nodeName)){if(f=h.getComputedStyle(n,null),it="svg"===n.nodeName?{}:h.getComputedStyle(n.parentNode,null),u[n.nodeName]||(i=t.getElementsByTagName("svg")[0],b=t.createElementNS(n.namespaceURI,n.nodeName),i.appendChild(b),u[n.nodeName]=r(h.getComputedStyle(b,null)),"text"===n.nodeName&&delete u.text.fill,i.removeChild(b)),tt||nt)for(d in f)g(f[d],d);else y(f,g);k&&(f=n.getAttribute("style"),n.setAttribute("style",(f?f+";":"")+k));"svg"===n.nodeName&&n.setAttribute("stroke-width","1px");"text"!==n.nodeName&&[].forEach.call(n.children||n.childNodes,s)}}var n=this.renderer,a=n.inlineToAttributes,l=n.inlineBlacklist,e=n.inlineWhitelist,v=n.unstyledElements,u={},i,t;n=c.createElement("iframe");f(n,{width:"1px",height:"1px",visibility:"hidden"});c.body.appendChild(n);t=n.contentWindow.document;t.open();t.write('<svg xmlns="http://www.w3.org/2000/svg"><\/svg>');t.close();s(this.container.querySelector("svg"));i.parentNode.removeChild(i)};b.menu=function(n,t,i,r){return["M",n,t+2.5,"L",n+i,t+2.5,"M",n,t+r/2+.5,"L",n+i,t+r/2+.5,"M",n,t+r-1.5,"L",n+i,t+r-1.5]};b.menuball=function(n,t,i,r){return n=[],r=r/3-2,n.concat(this.circle(i-r,t,r,r),this.circle(i-r,t+r+4,r,r),this.circle(i-r,t+2*(r+4),r,r))};l.prototype.renderExporting=function(){var n=this,t=n.options.exporting,i=t.buttons,r=n.isDirtyExporting||!n.exportSVGElements;n.buttonOffset=0;n.isDirtyExporting&&n.destroyExport();r&&!1!==t.enabled&&(n.exportEvents=[],n.exportingGroup=n.exportingGroup||n.renderer.g("exporting-group").attr({zIndex:3}).add(),y(i,function(t){n.addButton(t)}),n.isDirtyExporting=!1);o(n,"destroy",n.destroyExport)};o(l,"init",function(){var n=this;n.exporting={update:function(t,i){n.isDirtyExporting=!0;r(!0,n.options.exporting,t);u(i,!0)&&n.redraw()}};i.addUpdate(function(t,i){n.isDirtyExporting=!0;r(!0,n.options.navigation,t);u(i,!0)&&n.redraw()},n)});l.prototype.callbacks.push(function(n){n.renderExporting();o(n,"redraw",n.renderExporting)})});t(n,"masters/modules/exporting.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/export-data",["highcharts","highcharts/modules/exporting"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"mixins/ajax.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.objectEach;n.ajax=function(t){var r=n.merge(!0,{url:!1,type:"get",dataType:"json",success:!1,error:!1,data:!1,headers:{}},t),u;if(t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},u=new XMLHttpRequest,!r.url)return!1;u.open(r.type.toUpperCase(),r.url,!0);r.headers["Content-Type"]||u.setRequestHeader("Content-Type",t[r.dataType]||t.text);i(r.headers,function(n,t){u.setRequestHeader(t,n)});u.onreadystatechange=function(){if(4===u.readyState){if(200===u.status){var n=u.responseText;if("json"===r.dataType)try{n=JSON.parse(n)}catch(t){r.error&&r.error(u,t);return}return r.success&&r.success(n)}r.error&&r.error(u,u.responseText)}};try{r.data=JSON.stringify(r.data)}catch(f){}u.send(r.data||!0)};n.getJSON=function(t,i){n.ajax({url:t,success:i,dataType:"json",headers:{"Content-Type":"text/plain"}})}});t(n,"mixins/download-url.js",[n["parts/Globals.js"]],function(n){var t=n.win,i=t.navigator,r=t.document,u=t.URL||t.webkitURL||t,f=/Edge\/\d+/.test(i.userAgent);n.dataURLtoBlob=function(n){var f,i,r;if((n=n.match(/data:([^;]*)(;base64)?,([0-9A-Za-z+/]+)/))&&3<n.length&&t.atob&&t.ArrayBuffer&&t.Uint8Array&&t.Blob&&u.createObjectURL){for(f=t.atob(n[3]),i=new t.ArrayBuffer(f.length),i=new t.Uint8Array(i),r=0;r<i.length;++r)i[r]=f.charCodeAt(r);return n=new t.Blob([i],{type:n[1]}),u.createObjectURL(n)}};n.downloadURL=function(u,e){var o=r.createElement("a"),s;if("string"==typeof u||u instanceof String||!i.msSaveOrOpenBlob){if((f||2e6<u.length)&&(u=n.dataURLtoBlob(u),!u))throw Error("Failed to convert to blob");if("undefined"!=typeof o.download)o.href=u,o.download=e,r.body.appendChild(o),o.click(),r.body.removeChild(o);else try{if(s=t.open(u,"chart"),"undefined"==typeof s||null===s)throw Error("Failed to open window");}catch(h){t.location.href=u}}else i.msSaveOrOpenBlob(u,e)}});t(n,"modules/export-data.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function o(n,t){var i=r.navigator,f=-1<i.userAgent.indexOf("WebKit")&&0>i.userAgent.indexOf("Chrome"),e=r.URL||r.webkitURL||r,u;
1try{if(i.msSaveOrOpenBlob&&r.MSBlobBuilder)return u=new r.MSBlobBuilder,u.append(n),u.getBlob("image/svg+xml");if(!f)return e.createObjectURL(new r.Blob([""+n],{type:t}))}catch(o){}}var h=t.defined,c=t.extend,l=t.isObject,u=t.pick,r=n.win,f=r.document,i=n.seriesTypes,s=n.downloadURL,e=n.fireEvent;n.setOptions({exporting:{csv:{columnHeaderFormatter:null,dateFormat:"%Y-%m-%d %H:%M:%S",decimalPoint:null,itemDelimiter:null,lineDelimiter:"\n"},showTable:!1,useMultiLevelHeaders:!0,useRowspanHeaders:!0},lang:{downloadCSV:"Download CSV",downloadXLS:"Download XLS",openInCloud:"Open in Highcharts Cloud",viewData:"View data table"}});n.addEvent(n.Chart,"render",function(){this.options&&this.options.exporting&&this.options.exporting.showTable&&!this.options.chart.forExport&&this.viewData()});n.Chart.prototype.setUpKeyToAxis=function(){i.arearange&&(i.arearange.prototype.keyToAxis={low:"y",high:"y"});i.gantt&&(i.gantt.prototype.keyToAxis={start:"x",end:"x"})};n.Chart.prototype.getDataRows=function(t){var tt=this.hasParallelCoordinates,b=this.time,l=this.options.exporting&&this.options.exporting.csv||{},k=this.xAxis,r={},a=[],d=[],v=[],s,g=function(i,r,u){if(l.columnHeaderFormatter){var f=l.columnHeaderFormatter(i,r,u);if(!1!==f)return f}return i?i instanceof n.Axis?i.options.title&&i.options.title.text||(i.isDatetimeAxis?"DateTime":"Category"):t?{columnTitle:1<u?r:i.name,topLevelColumnTitle:i.name}:i.name+(1<u?" ("+r+")":""):"Category"},nt=function(t,i,r){var u={},f={};return i.forEach(function(i){var e=(t.keyToAxis&&t.keyToAxis[i]||i)+"Axis";e=n.isNumber(r)?t.chart[e][r]:t[e];u[i]=e&&e.categories||[];f[i]=e&&e.isDatetimeAxis}),{categoryMap:u,dateTimeValueAxisMap:f}},c=[],f=0,i,w;this.setUpKeyToAxis();this.series.forEach(function(i){var o=i.options.keys||i.pointArrayMap||["y"],p=o.length,h=!i.requireSorting&&{},a=k.indexOf(i.xAxis),y=nt(i,o),e,w;if(!1!==i.options.includeInDataExport&&!i.options.isInternal&&!1!==i.visible){for(n.find(c,function(n){return n[0]===a})||c.push([a,f]),e=0;e<p;)s=g(i,o[e],o.length),v.push(s.columnTitle||s),t&&d.push(s.topLevelColumnTitle||s),e++;w={chart:i.chart,autoIncrement:i.autoIncrement,options:i.options,pointArrayMap:i.pointArrayMap};i.options.data.forEach(function(n,t){var c,s;for(tt&&(y=nt(i,o,t)),c={series:w},i.pointClass.prototype.applyOptions.apply(c,[n]),n=c.x,s=i.data[t]&&i.data[t].name,e=0,i.xAxis&&"name"!==i.exportKey||(n=s),h&&(h[n]&&(n+="|"+t),h[n]=!0),r[n]||(r[n]=[],r[n].xValues=[]),r[n].x=c.x,r[n].name=s,r[n].xValues[a]=c.x;e<p;)t=o[e],s=c[t],r[n][f+e]=u(y.categoryMap[t][s],y.dateTimeValueAxisMap[t]?b.dateFormat(l.dateFormat,s):null,s),e++});f+=e}});for(i in r)Object.hasOwnProperty.call(r,i)&&a.push(r[i]);for(i=t?[d,v]:[v],f=c.length;f--;){var y=c[f][0],p=c[f][1],o=k[y];a.sort(function(n,t){return n.xValues[y]-t.xValues[y]});w=g(o);i[0].splice(p,0,w);t&&i[1]&&i[1].splice(p,0,w);a.forEach(function(n){var t=n.name;o&&!h(t)&&(o.isDatetimeAxis?(n.x instanceof Date&&(n.x=n.x.getTime()),t=b.dateFormat(l.dateFormat,n.x)):t=o.categories?u(o.names[n.x],o.categories[n.x],n.x):n.x);n.splice(p,0,t)})}return i=i.concat(a),e(this,"exportData",{dataRows:i}),i};n.Chart.prototype.getCSV=function(n){var i="",f=this.getDataRows(),t=this.options.exporting.csv,r=u(t.decimalPoint,","!==t.itemDelimiter&&n?1.1.toLocaleString()[1]:"."),e=u(t.itemDelimiter,","===r?";":","),o=t.lineDelimiter;return f.forEach(function(n,t){for(var u,s=n.length;s--;)u=n[s],"string"==typeof u&&(u='"'+u+'"'),"number"==typeof u&&"."!==r&&(u=u.toString().replace(".",r)),n[s]=u;i+=n.join(e);t<f.length-1&&(i+=o)}),i};n.Chart.prototype.getTable=function(n){var t='<table id="highcharts-data-table-'+this.index+'">',i=this.options,h=n?1.1.toLocaleString()[1]:".",s=u(i.exporting.useMultiLevelHeaders,!0),r,l;n=this.getDataRows(s);var f=0,a=s?n.shift():null,c=n.shift(),o=function(n,t,i,r){var f=u(r,"");return t="text"+(t?" "+t:""),"number"==typeof f?(f=f.toString(),","===h&&(f=f.replace(".",h)),t="number"):r||(t="empty"),"<"+n+(i?" "+i:"")+' class="'+t+'">'+f+"<\/"+n+">"};for(!1!==i.exporting.tableCaption&&(t+='<caption class="highcharts-table-caption">'+u(i.exporting.tableCaption,i.title.text?i.title.text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/"):"Chart")+"<\/caption>"),r=0,l=n.length;r<l;++r)n[r].length>f&&(f=n[r].length);return t+=function(n,t,r){var e="<thead>",f=0,u,c,h;if(r=r||t&&t.length,c=0,u=s&&n&&t){n:if(u=n.length,t.length===u){for(;u--;)if(n[u]!==t[u]){u=!1;break n}u=!0}else u=!1;u=!u}if(u){for(e+="<tr>";f<r;++f)u=n[f],h=n[f+1],u===h?++c:c?(e+=o("th","highcharts-table-topheading",'scope="col" colspan="'+(c+1)+'"',u),c=0):(u===t[f]?i.exporting.useRowspanHeaders?(h=2,delete t[f]):(h=1,t[f]=""):h=1,e+=o("th","highcharts-table-topheading",'scope="col"'+(1<h?' valign="top" rowspan="'+h+'"':""),u));e+="<\/tr>"}if(t){for(e+="<tr>",f=0,r=t.length;f<r;++f)"undefined"!=typeof t[f]&&(e+=o("th",null,'scope="col"',t[f]));e+="<\/tr>"}return e+"<\/thead>"}(a,c,Math.max(f,c.length)),t+="<tbody>
1",n.forEach(function(n){t+="<tr>";for(var i=0;i<f;i++)t+=o(i?"td":"th",null,i?"":'scope="row"',n[i]);t+="<\/tr>"}),t+="<\/tbody><\/table>",n={html:t},e(this,"afterGetTable",n),n.html};n.Chart.prototype.downloadCSV=function(){var n=this.getCSV(!0);s(o(n,"text/csv")||"data:text/csv,"+encodeURIComponent(n),this.getFilename()+".csv")};n.Chart.prototype.downloadXLS=function(){var n='<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>Ark1<\/x:Name><x:WorksheetOptions><x:DisplayGridlines/><\/x:WorksheetOptions><\/x:ExcelWorksheet><\/x:ExcelWorksheets><\/x:ExcelWorkbook><\/xml><![endif]--><style>td{border:none;font-family: Calibri, sans-serif;} .number{mso-number-format:"0.00";} .text{ mso-number-format:"@";}<\/style><meta name=ProgId content=Excel.Sheet><meta charset=UTF-8><\/head><body>'+this.getTable(!0)+"<\/body><\/html>";s(o(n,"application/vnd.ms-excel")||"data:application/vnd.ms-excel;base64,"+r.btoa(unescape(encodeURIComponent(n))),this.getFilename()+".xls")};n.Chart.prototype.viewData=function(){this.dataTableDiv||(this.dataTableDiv=f.createElement("div"),this.dataTableDiv.className="highcharts-data-table",this.renderTo.parentNode.insertBefore(this.dataTableDiv,this.renderTo.nextSibling));this.dataTableDiv.innerHTML=this.getTable();e(this,"afterViewData",this.dataTableDiv)};n.Chart.prototype.openInCloud=function(){function i(n){Object.keys(n).forEach(function(t){"function"==typeof n[t]&&delete n[t];l(n[t])&&i(n[t])})}var t=n.merge(this.userOptions),r;i(t);t={name:t.title&&t.title.text||"Chart title",options:t,settings:{constructor:"Chart",dataProvider:{csv:this.getCSV()}}};r=JSON.stringify(t),function(){var n=f.createElement("form"),t;f.body.appendChild(n);n.method="post";n.action="https://cloud-api.highcharts.com/openincloud";n.target="_blank";t=f.createElement("input");t.type="hidden";t.name="chart";t.value=r;n.appendChild(t);n.submit();f.body.removeChild(n)}()};(t=n.getOptions().exporting)&&(c(t.menuItemDefinitions,{downloadCSV:{textKey:"downloadCSV",onclick:function(){this.downloadCSV()}},downloadXLS:{textKey:"downloadXLS",onclick:function(){this.downloadXLS()}},viewData:{textKey:"viewData",onclick:function(){this.viewData()}},openInCloud:{textKey:"openInCloud",onclick:function(){this.openInCloud()}}}),t.buttons&&t.buttons.contextButton.menuItems.push("separator","downloadCSV","downloadXLS","viewData","openInCloud"));i.map&&(i.map.prototype.exportKey="name");i.mapbubble&&(i.mapbubble.prototype.exportKey="name");i.treemap&&(i.treemap.prototype.exportKey="name")});t(n,"masters/modules/export-data.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/indicators/indicators-all",["highcharts","highcharts/modules/stock"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"mixins/indicator-required.js",[n["parts/Globals.js"]],function(n){var t=n.error;return{isParentLoaded:function(n,i,r,u,f){return n?u?u(n):!0:(t(f||this.generateMessage(r,i)),!1)},generateMessage:function(n,t){return'Error: "'+n+'" indicator type requires "'+t+'" indicator loaded before. Please read docs: https://api.highcharts.com/highstock/plotOptions.'+n}}});t(n,"indicators/indicators.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/indicator-required.js"]],function(n,t,i){var s=t.extend,h=t.isArray,c=t.pick,l=t.splat,e=n.error,r=n.Series,u=n.addEvent;t=n.seriesType;var o=n.seriesTypes,f=n.seriesTypes.ohlc.prototype,a=i.generateMessage;u(n.Series,"init",function(n){n=n.options;n.useOhlcData&&"highcharts-navigator-series"!==n.id&&s(this,{pointValKey:f.pointValKey,keys:f.keys,pointArrayMap:f.pointArrayMap,toYData:f.toYData})});u(r,"afterSetOptions",function(n){n=n.options;var t=n.dataGrouping;t&&n.useOhlcData&&"highcharts-navigator-series"!==n.id&&(t.approximation="ohlc")});t("sma","line",{name:void 0,tooltip:{valueDecimals:4},linkedTo:void 0,compareToMain:!1,params:{index:0,period:14}},{processData:function(){var t=this.options.compareToMain,n=this.linkedParent;r.prototype.processData.apply(this,arguments);n&&n.compareValue&&t&&(this.compareValue=n.compareValue)},bindTo:{series:!0,eventName:"updatedData"},hasDerivedData:!0,useCommonDataGrouping:!0,nameComponents:["period"],nameSuffixes:[],calculateOn:"init",requiredIndicators:[],requireIndicators:function(){var n={allLoaded:!0};
1return this.requiredIndicators.forEach(function(t){o[t]?o[t].prototype.requireIndicators():(n.allLoaded=!1,n.needed=t)}),n},init:function(n,t){function f(){var o=i.points||[],t=(i.xData||[]).length,n=i.getValues(i.linkedParent,i.options.params)||{values:[],xData:[],yData:[]},u=[],f=!0,r,e;if(t&&!i.hasGroupedData&&i.visible&&i.points)if(i.cropped){for(i.xAxis&&(r=i.xAxis.min,e=i.xAxis.max),t=i.cropData(n.xData,n.yData,r,e),r=0;r<t.xData.length;r++)u.push([t.xData[r]].concat(l(t.yData[r])));t=n.xData.indexOf(i.xData[0]);r=n.xData.indexOf(i.xData[i.xData.length-1]);-1===t&&r===n.xData.length-2&&u[0][0]===o[0].x&&u.shift();i.updateData(u)}else n.xData.length!==t-1&&n.xData.length!==t+1&&(f=!1,i.updateData(n.values));f&&(i.xData=n.xData,i.yData=n.yData,i.options.data=n.values);!1===i.bindTo.series&&(delete i.processedXData,i.isDirty=!0,i.redraw());i.isDirtyData=!1}var i=this,o=i.requireIndicators(),s;return o.allLoaded?(r.prototype.init.call(i,n,t),n.linkSeries(),i.dataEventsToUnbind=[],!i.linkedParent)?e("Series "+i.options.linkedTo+" not found! Check `linkedTo`.",!1,n):(i.dataEventsToUnbind.push(u(i.bindTo.series?i.linkedParent:i.linkedParent.xAxis,i.bindTo.eventName,f)),"init"===i.calculateOn?f():s=u(i.chart,i.calculateOn,function(){f();s()}),i):e(a(i.type,o.needed))},getName:function(){var n=this.name,t=[];return n||((this.nameComponents||[]).forEach(function(n,i){t.push(this.options.params[n]+c(this.nameSuffixes[i],""))},this),n=(this.nameBase||this.type.toUpperCase())+(this.nameComponents?" ("+t.join(", ")+")":"")),n},getValues:function(n,t){var e=t.period,o=n.xData,f;n=n.yData;var a=n.length,i=0,u=0,s=[],c=[],l=[],r=-1;if(!(o.length<e)){for(h(n[0])&&(r=t.index?t.index:0);i<e-1;)u+=0>r?n[i]:n[i][r],i++;for(t=i;t<a;t++)u+=0>r?n[t]:n[t][r],f=[o[t],u/e],s.push(f),c.push(f[0]),l.push(f[1]),u-=0>r?n[t-i]:n[t-i][r];return{values:s,xData:c,yData:l}}},destroy:function(){this.dataEventsToUnbind.forEach(function(n){n()});r.prototype.destroy.apply(this,arguments)}});""});t(n,"indicators/accumulation-distribution.src.js",[n["parts/Globals.js"]],function(n){var t=n.seriesType;t("ad","sma",{params:{volumeSeriesID:"volume"}},{nameComponents:!1,nameBase:"Accumulation/Distribution",getValues:function(t,i){var u=i.period,h=t.xData,e=t.yData,r=i.volumeSeriesID,f=t.chart.get(r),s,v;i=f&&f.yData;var c=e?e.length:0,o=[],l=[],a=[];if(!(h.length<=u&&c&&4!==e[0].length)){if(f){for(;u<c;u++)t=o.length,r=e[u][1],f=e[u][2],s=e[u][3],v=i[u],r=[h[u],s===r&&s===f||r===f?0:(2*s-f-r)/(r-f)*v],0<t&&(r[1]+=o[t-1][1]),o.push(r),l.push(r[0]),a.push(r[1]);return{values:o,xData:l,yData:a}}n.error("Series "+r+" not found! Check `volumeSeriesID`.",!0,t.chart)}}});""});t(n,"indicators/ao.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.correctFloat,r=t.isArray;n.seriesType("ao","sma",{greaterBarColor:"#06B535",lowerBarColor:"#F21313",threshold:0,groupPadding:.2,pointPadding:.2,states:{hover:{halo:{size:0}}}},{nameBase:"AO",nameComponents:!1,markerAttribs:n.noop,getColumnMetrics:n.seriesTypes.column.prototype.getColumnMetrics,crispCol:n.seriesTypes.column.prototype.crispCol,translate:n.seriesTypes.column.prototype.translate,drawPoints:n.seriesTypes.column.prototype.drawPoints,drawGraph:function(){var i=this.options,t=this.points,r=i.greaterBarColor,n;if(i=i.lowerBarColor,n=t[0],!this.userOptions.color&&n)for(n.color=r,n=1;n<t.length;n++)t[n].color=t[n].y>t[n-1].y?r:t[n].y<t[n-1].y?i:t[n-1].color},getValues:function(n){var s=n.xData||[],u,o;n=n.yData||[];var a=n.length,h=[],c=[],l=[],f=0,e=0,t;if(!(34>=s.length)&&r(n[0])&&4===n[0].length){for(t=0;33>t;t++)u=(n[t][1]+n[t][2])/2,29<=t&&(f=i(f+u)),e=i(e+u);for(t=33;t<a;t++)u=(n[t][1]+n[t][2])/2,f=i(f+u),e=i(e+u),u=f/5,o=e/34,u=i(u-o),h.push([s[t],u]),c.push(s[t]),l.push(u),u=t+1-5,o=t+1-34,f=i(f-(n[u][1]+n[u][2])/2),e=i(e-(n[o][1]+n[o][2])/2);return{values:h,xData:c,yData:l}}}});""});t(n,"mixins/multipe-lines.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var f=t.defined,i=n.each,e=n.merge,u=n.error,r=n.seriesTypes.sma;return{pointArrayMap:["top","bottom"],pointValKey:"top",linesApiNames:["bottomLine"],getTranslatedLinesNames:function(n){var t=[];return i(this.pointArrayMap,function(i){i!==n&&t.push("plot"+i.charAt(0).toUpperCase()+i.slice(1))}),t},toYData:function(n){var t=[];return i(this.pointArrayMap,function(i){t.push(n[i])}),t},translate:function(){var n=this,f=n.pointArrayMap,u=[],t;u=n.getTranslatedLinesNames();r.prototype.translate.apply(n,arguments);i(n.points,function(r){i(f,function(i,f){t=r[i];null!==t&&(r[u[f]]=n.yAxis.toPixels(t,!0))})})},drawGraph:function(){var n=this,l=n.linesApiNames,o=n.points,c=o.length,s=n.options,a=n.graph,v={options:{gapSize:s.gapSize}}
1,h=[],y=n.getTranslatedLinesNames(n.pointValKey),t;i(y,function(n,i){for(h[i]=[];c--;)t=o[c],h[i].push({x:t.x,plotX:t.plotX,plotY:t[n],isNull:!f(t[n])});c=o.length});i(l,function(t,i){h[i]?(n.points=h[i],s[t]?n.options=e(s[t].styles,v):u('Error: "There is no '+t+' in DOCS options declared. Check if linesApiNames are consistent with your DOCS line names." at mixin/multiple-line.js:34'),n.graph=n["graph"+t],r.prototype.drawGraph.call(n),n["graph"+t]=n.graph):u('Error: "'+t+" doesn't have equivalent in pointArrayMap. To many elements in linesApiNames relative to pointArrayMap.\"")});n.points=o;n.options=s;n.graph=a;r.prototype.drawGraph.call(n)}}});t(n,"indicators/aroon.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/multipe-lines.js"]],function(n,t,i){function r(n,t){for(var r=n[0],u=0,i=1;i<n.length;i++)("max"===t&&n[i]>=r||"min"===t&&n[i]<=r)&&(r=n[i],u=i);return u}var u=t.pick;n.seriesType("aroon","sma",{params:{period:25},marker:{enabled:!1},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span><b> {series.name}<\/b><br/>Aroon Up: {point.y}<br/>Aroon Down: {point.aroonDown}<br/>'},aroonDown:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}},n.merge(i,{nameBase:"Aroon",pointArrayMap:["y","aroonDown"],pointValKey:"y",linesApiNames:["aroonDown"],getValues:function(n,t){var f,e;t=t.period;for(var o=n.xData,l=(n=n.yData)?n.length:0,s=[],h=[],c=[],i=t-1;i<l;i++)f=n.slice(i-t+1,i+2),e=r(f.map(function(n){return u(n[2],n)}),"min"),f=r(f.map(function(n){return u(n[1],n)}),"max"),f=f/t*100,e=e/t*100,o[i+1]&&(s.push([o[i+1],f,e]),h.push(o[i+1]),c.push([f,e]));return{values:s,xData:h,yData:c}}}));""});t(n,"indicators/aroon-oscillator.src.js",[n["parts/Globals.js"],n["mixins/multipe-lines.js"],n["mixins/indicator-required.js"]],function(n,t,i){var r=n.seriesTypes.aroon;n.seriesType("aroonoscillator","aroon",{params:{period:25},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span><b> {series.name}<\/b>: {point.y}'}},n.merge(t,{nameBase:"Aroon Oscillator",pointArrayMap:["y"],pointValKey:"y",linesApiNames:[],init:function(){var t=arguments,n=this;i.isParentLoaded(r,"aroon",n.type,function(i){i.prototype.init.apply(n,t)})},getValues:function(n,t){var u=[],f=[],e=[],i,o;for(n=r.prototype.getValues.call(this,n,t),t=0;t<n.yData.length;t++)i=n.yData[t][0],o=n.yData[t][1],i-=o,u.push([n.xData[t],i]),f.push(n.xData[t]),e.push(i);return{values:u,xData:f,yData:e}}}));""});t(n,"indicators/atr.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function i(n,t){return Math.max(n[1]-n[2],t===r?0:Math.abs(n[1]-t[3]),t===r?0:Math.abs(n[2]-t[3]))}var u=t.isArray,r;n=n.seriesType;n("atr","sma",{params:{period:14}},{getValues:function(n,t){t=t.period;var e=n.xData,v=(n=n.yData)?n.length:0,s=1,o=0,a=0,h=[],c=[],l=[],r,y=[[e[0],n[0]]];if(!(e.length<=t)&&u(n[0])&&4===n[0].length){for(r=1;r<=v;r++)if(y.push([e[r],n[r]]),t<s){var f=t,p=e[r-1],w=i(n[r-1],n[r-2]);f=[p,(o*(f-1)+w)/f];o=f[1];h.push(f);c.push(f[0]);l.push(f[1])}else t===s?(o=a/(r-1),h.push([e[r-1],o]),c.push(e[r-1]),l.push(o)):a+=i(n[r-1],n[r-2]),s++;return{values:h,xData:c,yData:l}}}});""});t(n,"indicators/bollinger-bands.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/multipe-lines.js"]],function(n,t,i){var u=t.isArray,f=n.merge,r=n.seriesTypes.sma;n.seriesType("bb","sma",{params:{period:20,standardDeviation:2,index:3},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1,lineColor:void 0}},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span><b> {series.name}<\/b><br/>Top: {point.top}<br/>Middle: {point.middle}<br/>Bottom: {point.bottom}<br/>'},marker:{enabled:!1},dataGrouping:{approximation:"averages"}},n.merge(i,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameComponents:["period","standardDeviation"],linesApiNames:["topLine","bottomLine"],init:function(){r.prototype.init.apply(this,arguments);this.options=f({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)},getValues:function(n,t){var s=t.period,l=t.standardDeviation,a=n.xData,d=(n=n.yData)?n.length:0,v=[],y=[],p=[],e,w,i;if(!(a.length<s)){for(w=u(n[0]),e=s;e<=d;e++){var h=a.slice(e-s,e),o=n.slice(e-s,e),f=r.prototype.getValues.call(this,{xData:h,yData:o},t);h=f.xData[0];f=f.yData[0];for(var b=0,k=o.length,c=0;c<k;c++)i=(w?o[c][t.index]:o[c])-f,b+=i*i;i=Math.sqrt(b/(k-1));o=f+l*i;i=f-l*i;v.push([h,o,f,i]);y.push(h);p.push([o,f,i])}return{values:v,xData:y,yData:p}}}}));""});t(n,"indicators/cci.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function i(n){return n.reduce(function(n,t){return n+t},0)}var r=t.isArray;n=n.seriesType;n("cci","sma",{params:{period:14}},{getValues:function(n,t){var u,o,e,s,p,l;t=t.period;var h=n.xData,w=(n=n.yData)?n.length:0,c=[],f=1,a=[],v=[],y=[];if(!(h.length<=t)&&r(n[0])&&4===n[0].length){for(;f<t;)u=n[f-1],c.push((u[1]+u[2]+u[3])/3),f++;for(f=t;f<=w;f++){for(u=n[f-1],u=(u[1]+u[2]+u[3])/3,o=c.push(u),e=c.slice(o-t),o=i(e)/t,p=e.length,l=0,s=0;s<p;s++)l+=Math.abs(o-e[s]);e=l/t;u=(u-o)/(.015*e);a.push([h[f-1],u]);v.push(h[f-1]);y.push(u)}return{values:a,xData:v,yData:y}}}});""});t(n,"indicators/cmf.src.js",[n["parts/Globals.js"]],function(n){n.seriesType("cmf","sma",{params:{period:14,volumeSeriesID:"volume"}},{nameBase:"Chaikin Money Flow",isValid:function(){var t=this.chart,i=this.options,n=this.linkedParent,r;return t=this.volumeSeries||(this.volumeSeries=t.get(i.params.volumeSeriesID)),r=n&&n.yData&&4===n.yData[0].length,!!(n&&t&&n.xData&&n.xData.length>=i.params.period&&t.xData&&t.xData.length>=i.params.period&&r)},getValues:function(n,t){if(this.isValid())return this.getMoneyFlow(n.xData,n.yData,this.volumeSeries.yData,t.period)},getMoneyFlow:function(n,t,i,r){function v(n,t){var i=n[1],r=n[2];return n=n[3],null!==t&&null!==i&&null!==r&&null!==n&&i!==r?(n-r-(i-n))/(i-r)*t:(a=u,null)}var y=t.length,e=[],f=0,o=0,h=[],c=[],l=[],u,a=-1,s;if(0<r&&r<=y){for(u=0;
1u<r;u++)e[u]=v(t[u],i[u]),f+=i[u],o+=e[u];for(h.push(n[u-1]),c.push(u-a>=r&&0!==f?o/f:null),l.push([h[0],c[0]]);u<y;u++)e[u]=v(t[u],i[u]),f-=i[u-r],f+=i[u],o-=e[u-r],o+=e[u],s=[n[u],u-a>=r?o/f:null],h.push(s[0]),c.push(s[1]),l.push([s[0],s[1]])}return{values:l,xData:h,yData:c}}});""});t(n,"indicators/dpo.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function i(n,t,i,f,e){return t=u(t[i][f],t[i]),e?r(n-t):r(n+t)}var r=t.correctFloat,u=t.pick;n.seriesType("dpo","sma",{params:{period:21}},{nameBase:"DPO",getValues:function(n,t){var s=t.period,h,c,o;t=t.index;h=s+Math.floor(s/2+1);c=n.xData||[];n=n.yData||[];var y=n.length,l=[],a=[],v=[],f=0,r,e;if(!(c.length<=h)){for(r=0;r<s-1;r++)f=i(f,n,r,t);for(e=0;e<=y-h;e++)o=e+s-1,r=e+h-1,f=i(f,n,o,t),o=u(n[r][t],n[r]),o-=f/s,f=i(f,n,e,t,!0),l.push([c[r],o]),a.push(c[r]),v.push(o);return{values:l,xData:a,yData:v}}}});""});t(n,"indicators/ema.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.correctFloat,r=t.isArray;n=n.seriesType;n("ema","sma",{params:{index:3,period:9}},{accumulatePeriodPoints:function(n,t,i){for(var u=0,r=0,f;r<n;)f=0>t?i[r]:i[r][t],u+=f,r++;return u},calculateEma:function(n,t,r,u,f,e,o){return n=n[r-1],t=0>e?t[r-1]:t[r-1][e],u="undefined"==typeof f?o:i(t*u+f*(1-u)),[n,u]},getValues:function(n,t){var i=t.period,c=n.xData,e=(n=n.yData)?n.length:0,l=2/(i+1),o=[],s=[],h=[],f=-1,u;if(!(e<i)){for(r(n[0])&&(f=t.index?t.index:0),t=this.accumulatePeriodPoints(i,f,n),t/=i;i<e+1;i++)u=this.calculateEma(c,n,i,l,u,f,t),o.push(u),s.push(u[0]),h.push(u[1]),u=u[1];return{values:o,xData:s,yData:h}}}});""});t(n,"indicators/chaikin.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/indicator-required.js"]],function(n,t,i){var u=t.correctFloat,r=n.seriesTypes.ema,f=n.seriesTypes.ad,e=n.error;n.seriesType("chaikin","ema",{params:{volumeSeriesID:"volume",periods:[3,10]}},{nameBase:"Chaikin Osc",nameComponents:["periods"],init:function(){var t=arguments,n=this;i.isParentLoaded(r,"ema",n.type,function(i){i.prototype.init.apply(n,t)})},getValues:function(n,t){var i=t.periods,s=t.period,h=[],c=[],l=[],o;if(2!==i.length||i[1]<=i[0])e('Error: "Chaikin requires two periods. Notice, first period should be lower than the second one."');else if((t=f.prototype.getValues.call(this,n,{volumeSeriesID:t.volumeSeriesID,period:s}))&&(n=r.prototype.getValues.call(this,t,{period:i[0]}),t=r.prototype.getValues.call(this,t,{period:i[1]}),n&&t)){for(i=i[1]-i[0],o=0;o<t.yData.length;o++)s=u(n.yData[o+i]-t.yData[o]),h.push([t.xData[o],s]),c.push(t.xData[o]),l.push(s);return{values:h,xData:c,yData:l}}}});""});t(n,"indicators/dema.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/indicator-required.js"]],function(n,t,i){var u=t.correctFloat,f=t.isArray,r=n.seriesTypes.ema;n.seriesType("dema","ema",{},{init:function(){var t=arguments,n=this;i.isParentLoaded(r,"ema",n.type,function(i){i.prototype.init.apply(n,t)})},getEMA:function(n,t,i,u,f,e){return r.prototype.calculateEma(e||[],n,"undefined"==typeof f?1:f,this.chart.series[0].EMApercent,t,"undefined"==typeof u?-1:u,i)},getValues:function(n,t){var e=t.period,v=2*e,d=n.xData,s=n.yData,c=s?s.length:0,l=-1,y=[],p=[],w=[],o=0,b=[],i,k,a,h;if(n.EMApercent=2/(e+1),!(c<2*e-1)){for(f(s[0])&&(l=t.index?t.index:0),n=r.prototype.accumulatePeriodPoints(e,l,s),t=n/e,n=0,i=e;i<c+2;i++)i<c+1&&(o=this.getEMA(s,k,t,l,i)[1],b.push(o)),k=o,i<v?n+=o:(i===v&&(t=n/e),o=b[i-e-1],a=this.getEMA([o],a,t)[1],h=[d[i-2],u(2*o-a)],y.push(h),p.push(h[0]),w.push(h[1]));return{values:y,xData:p,yData:w}}}});""});t(n,"indicators/tema.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/indicator-required.js"]],function(n,t,i){var u=t.correctFloat,f=t.isArray,r=n.seriesTypes.ema;n.seriesType("tema","ema",{},{init:function(){var t=arguments,n=this;i.isParentLoaded(r,"ema",n.type,function(i){i.prototype.init.apply(n,t)})},getEMA:function(n,t,i,u,f,e){return r.prototype.calculateEma(e||[],n,"undefined"==typeof f?1:f,this.chart.series[0].EMApercent,t,"undefined"==typeof u?-1:u,i)},getTemaPoint:function(n,t,i,r){return[n[r-3],u(3*i.level1-3*i.level2+i.level3)]},getValues:function(n,t){var e=t.period,p=2*e,l=3*e,g=n.xData,o=n.yData,s=o?o.length:0,a=-1,w=[],b=[],k=[],h=[],v=[],u,c,i={},d,y;if(n.EMApercent=2/(e+1),!(s<3*e-2)){for(f(o[0])&&(a=t.index?t.index:0),n=r.prototype.accumulatePerio
1dPoints(e,a,o),t=n/e,n=0,u=e;u<s+3;u++)u<s+1&&(i.level1=this.getEMA(o,d,t,a,u)[1],h.push(i.level1)),d=i.level1,u<p?n+=i.level1:(u===p&&(t=n/e,n=0),i.level1=h[u-e-1],i.level2=this.getEMA([i.level1],y,t)[1],v.push(i.level2),y=i.level2,u<l?n+=i.level2:(u===l&&(t=n/e),u===s+1&&(i.level1=h[u-e-1],i.level2=this.getEMA([i.level1],y,t)[1],v.push(i.level2)),i.level1=h[u-e-2],i.level2=v[u-2*e-1],i.level3=this.getEMA([i.level2],i.prevLevel3,t)[1],(c=this.getTemaPoint(g,l,i,u))&&(w.push(c),b.push(c[0]),k.push(c[1])),i.prevLevel3=i.level3));return{values:w,xData:b,yData:k}}}});""});t(n,"indicators/trix.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/indicator-required.js"]],function(n,t,i){var r=t.correctFloat,u=n.seriesTypes.tema;n.seriesType("trix","tema",{},{init:function(){var t=arguments,n=this;i.isParentLoaded(u,"tema",n.type,function(i){i.prototype.init.apply(n,t)})},getTemaPoint:function(n,t,i,u){if(u>t)var f=[n[u-3],0!==i.prevLevel3?r(i.level3-i.prevLevel3)/i.prevLevel3*100:null];return f}});""});t(n,"indicators/apo.src.js",[n["parts/Globals.js"],n["mixins/indicator-required.js"]],function(n,t){var i=n.seriesTypes.ema,r=n.error;n.seriesType("apo","ema",{params:{periods:[10,20]}},{nameBase:"APO",nameComponents:["periods"],init:function(){var r=arguments,n=this;t.isParentLoaded(i,"ema",n.type,function(t){t.prototype.init.apply(n,r)})},getValues:function(n,t){var u=t.periods,e=t.index,o,s,f,h;if(t=[],o=[],s=[],2!==u.length||u[1]<=u[0])r('Error: "APO requires two periods. Notice, first period should be lower than the second one."');else if(h=i.prototype.getValues.call(this,n,{index:e,period:u[0]}),n=i.prototype.getValues.call(this,n,{index:e,period:u[1]}),h&&n){for(u=u[1]-u[0],f=0;f<n.yData.length;f++)e=h.yData[f+u]-n.yData[f],t.push([n.xData[f],e]),o.push(n.xData[f]),s.push(e);return{values:t,xData:o,yData:s}}}});""});t(n,"indicators/ichimoku-kinko-hyo.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function h(n){return n.reduce(function(n,t){return Math.max(n,t[1])},-Infinity)}function c(n){return n.reduce(function(n,t){return Math.min(n,t[2])},Infinity)}function u(n){return{high:h(n),low:c(n)}}function l(n){var r,e,f,u,t;return n.series.forEach(function(n){if(n.xData)for(u=n.xData,t=e=n.xIncrement?1:u.length-1;0<t;t--)(f=u[t]-u[t-1],r===i||f<r)&&(r=f)}),r}function a(n,t,i,r){var f,u,e,o;return n&&t&&i&&r&&(f=t.plotX-n.plotX,t=t.plotY-n.plotY,u=r.plotX-i.plotX,r=r.plotY-i.plotY,e=n.plotX-i.plotX,o=n.plotY-i.plotY,i=(-t*e+f*o)/(-u*t+f*r),u=(u*o-r*e)/(-u*t+f*r),0<=i&&1>=i&&0<=u&&1>=u)?{plotX:n.plotX+u*f,plotY:n.plotY+u*t}:!1}function o(n){var t=n.indicator;t.points=n.points;t.nextPoints=n.nextPoints;t.color=n.color;t.options=f(n.options.senkouSpan.styles,n.gap);t.graph=n.graph;t.fillGraph=!0;r.prototype.drawGraph.call(t)}var s=t.defined,v=t.isArray,y=t.objectEach,i;t=n.seriesType;var f=n.merge,e=n.color,r=n.seriesTypes.sma;n.approximations["ichimoku-averages"]=function(){var t=[],i;return[].forEach.call(arguments,function(r,u){t.push(n.approximations.average(r));i=!i&&"undefined"==typeof t[u]}),i?void 0:t};t("ikh","sma",{params:{period:26,periodTenkan:9,periodSenkouSpanB:52},marker:{enabled:!1},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span> <b> {series.name}<\/b><br/>TENKAN SEN: {point.tenkanSen:.3f}<br/>KIJUN SEN: {point.kijunSen:.3f}<br/>CHIKOU SPAN: {point.chikouSpan:.3f}<br/>SENKOU SPAN A: {point.senkouSpanA:.3f}<br/>SENKOU SPAN B: {point.senkouSpanB:.3f}<br/>'},tenkanLine:{styles:{lineWidth:1,lineColor:void 0}},kijunLine:{styles:{lineWidth:1,lineColor:void 0}},chikouLine:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanA:{styles:{lineWidth:1,lineColor:void 0}},senkouSpanB:{styles:{lineWidth:1,lineColor:void 0}},senkouSpan:{styles:{fill:"rgba(255, 0, 0, 0.5)"}},dataGrouping:{approximation:"ichimoku-averages"}},{pointArrayMap:["tenkanSen","kijunSen","chikouSpan","senkouSpanA","senkouSpanB"],pointValKey:"tenkanSen",nameComponents:["periodSenkouSpanB","period","periodTenkan"],init:function(){r.prototype.init.apply(this,arguments);this.options=f({tenkanLine:{styles:{lineColor:this.color}},kijunLine:{styles:{lineColor:this.color}},chikouLine:{styles:{lineColor:this.color}},senkouSpanA:{styles:{lineColor:this.color,fill:e(this.color).setOpacity(.5).get()}},senkouSpanB:{styles:{lineColor:this.color,fill:e(this.color).setOpacity(.5).get()}},senkouSpan:{styles:{fill:e(this.color).setOpacity(.2).get()}}},this.options)},toYData:function(n){return[n.tenkanSen,n.kijunSen,n.chikouSpan,n.senkouSpanA,n.senkouSpanB]},translate:function(){var n=this;r.prototype.translate.apply(n);
1n.points.forEach(function(t){n.pointArrayMap.forEach(function(i){s(t[i])&&(t["plot"+i]=n.yAxis.toPixels(t[i],!0),t.plotY=t["plot"+i],t.tooltipPos=[t.plotX,t["plot"+i]],t.isNull=!1)})})},drawGraph:function(){var n=this,b=n.points,e=b.length,l=n.options,ut=n.graph,ft=n.color,g={options:{gapSize:l.gapSize}},v=n.pointArrayMap.length,c=[[],[],[],[],[],[]],u={tenkanLine:c[0],kijunLine:c[1],chikouLine:c[2],senkouSpanA:c[3],senkouSpanB:c[4],senkouSpan:c[5]},p=[],i=n.options.senkouSpan,tt=i.color||i.styles.fill,nt=i.negativeColor,k=[[],[]],d=[[],[]],it=0,h,rt,w,t;for(n.ikhMap=u;e--;){for(t=b[e],h=0;h<v;h++)i=n.pointArrayMap[h],s(t[i])&&c[h].push({plotX:t.plotX,plotY:t["plot"+i],isNull:!1});nt&&e!==b.length-1&&(i=u.senkouSpanB.length-1,t=a(u.senkouSpanA[i-1],u.senkouSpanA[i],u.senkouSpanB[i-1],u.senkouSpanB[i]),h={plotX:t.plotX,plotY:t.plotY,isNull:!1,intersectPoint:!0},t&&(u.senkouSpanA.splice(i,0,h),u.senkouSpanB.splice(i,0,h),p.push(i)))}if(y(u,function(t,i){l[i]&&"senkouSpan"!==i&&(n.points=c[it],n.options=f(l[i].styles,g),n.graph=n["graph"+i],n.fillGraph=!1,n.color=ft,r.prototype.drawGraph.call(n),n["graph"+i]=n.graph);it++}),n.graphCollection&&n.graphCollection.forEach(function(t){n[t].destroy();delete n[t]}),n.graphCollection=[],nt&&u.senkouSpanA[0]&&u.senkouSpanB[0]){for(p.unshift(0),p.push(u.senkouSpanA.length-1),v=0;v<p.length-1;v++){if(i=p[v],t=p[v+1],e=u.senkouSpanB.slice(i,t+1),i=u.senkouSpanA.slice(i,t+1),1<=Math.floor(e.length/2))if(t=Math.floor(e.length/2),e[t].plotY===i[t].plotY){for(w=h=t=0;w<e.length;w++)t+=e[w].plotY,h+=i[w].plotY;t=t>h?0:1}else t=e[t].plotY>i[t].plotY?0:1;else t=e[0].plotY>i[0].plotY?0:1;k[t]=k[t].concat(e);d[t]=d[t].concat(i)}["graphsenkouSpanColor","graphsenkouSpanNegativeColor"].forEach(function(t,i){k[i].length&&d[i].length&&(rt=0===i?tt:nt,o({indicator:n,points:k[i],nextPoints:d[i],color:rt,options:l,gap:g,graph:n[t]}),n[t]=n.graph,n.graphCollection.push(t))})}else o({indicator:n,points:u.senkouSpanB,nextPoints:u.senkouSpanA,color:tt,options:l,gap:g,graph:n.graphsenkouSpan}),n.graphsenkouSpan=n.graph;delete n.nextPoints;delete n.fillGraph;n.points=b;n.options=l;n.graph=ut},getGraphPath:function(n){var f=[],t,i,u;if(n=n||this.points,this.fillGraph&&this.nextPoints){for(t=r.prototype.getGraphPath.call(this,this.nextPoints),t[0]="L",i=r.prototype.getGraphPath.call(this,n),t=t.slice(0,i.length),u=t.length-1;0<u;u-=3)f.push(t[u-2],t[u-1],t[u]);i=i.concat(f)}else i=r.prototype.getGraphPath.apply(this,arguments);return i},getValues:function(n,t){var f=t.period,b=t.periodTenkan,e,a,r,y,s,h,k,c,w;t=t.periodSenkouSpanB;var p=n.xData,o=n.yData,d=o&&o.length||0;if(n=l(n.xAxis),e=[],a=[],!(p.length<=f)&&v(o[0])&&4===o[0].length){for(y=p[0]-f*n,r=0;r<f;r++)a.push(y+r*n);for(r=0;r<d;r++)r>=b&&(s=o.slice(r-b,r),s=u(s),s=(s.high+s.low)/2),r>=f&&(h=o.slice(r-f,r),h=u(h),h=(h.high+h.low)/2,k=(s+h)/2),r>=t&&(c=o.slice(r-t,r),c=u(c),c=(c.high+c.low)/2),y=o[r][3],w=p[r],e[r]===i&&(e[r]=[]),e[r+f]===i&&(e[r+f]=[]),e[r+f][0]=s,e[r+f][1]=h,e[r+f][2]=i,e[r][2]=y,r<=f&&(e[r+f][3]=i,e[r+f][4]=i),e[r+2*f]===i&&(e[r+2*f]=[]),e[r+2*f][3]=k,e[r+2*f][4]=c,a.push(w);for(r=1;r<=f;r++)a.push(w+r*n);return{values:e,xData:a,yData:e}}}});""});t(n,"indicators/keltner-channels.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/multipe-lines.js"]],function(n,t,i){var r=t.correctFloat,f=n.seriesTypes.sma,e=n.seriesTypes.ema,o=n.seriesTypes.atr,u=n.merge;n.seriesType("keltnerchannels","sma",{params:{period:20,periodATR:10,multiplierATR:2},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1,lineColor:void 0}},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span><b> {series.name}<\/b><br/>Upper Channel: {point.top}<br/>EMA({series.options.params.period}): {point.middle}<br/>Lower Channel: {point.bottom}<br/>'},marker:{enabled:!1},dataGrouping:{approximation:"averages"},lineWidth:1},u(i,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameBase:"Keltner Channels",nameComponents:["period","periodATR","multiplierATR"],linesApiNames:["topLine","bottomLine"],requiredIndicators:["ema","atr"],init:function(){f.prototype.init.a
1pply(this,arguments);this.options=u({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)},getValues:function(n,t){var h=t.period,l=t.periodATR,a=t.multiplierATR,u=n.yData,c;u=u?u.length:0;c=[];t=e.prototype.getValues(n,{period:h,index:t.index});var w=o.prototype.getValues(n,{period:l}),v=[],y=[],f;if(!(u<h)){for(f=h;f<=u;f++){var i=t.values[f-h],s=w.values[f-l],p=i[0];n=r(i[1]+a*s[1]);s=r(i[1]-a*s[1]);i=i[1];c.push([p,n,i,s]);v.push(p);y.push([n,i,s])}return{values:c,xData:v,yData:y}}}}));""});t(n,"indicators/macd.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var f=t.correctFloat,i=t.defined;t=n.seriesType;var e=n.merge,r=n.seriesTypes.sma,u=n.seriesTypes.ema;t("macd","sma",{params:{shortPeriod:12,longPeriod:26,signalPeriod:9,period:26},signalLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}},macdLine:{zones:[],styles:{lineWidth:1,lineColor:void 0}},threshold:0,groupPadding:.1,pointPadding:.1,states:{hover:{halo:{size:0}}},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span> <b> {series.name}<\/b><br/>Value: {point.MACD}<br/>Signal: {point.signal}<br/>Histogram: {point.y}<br/>'},dataGrouping:{approximation:"averages"},minPointLength:0},{nameComponents:["longPeriod","shortPeriod","signalPeriod"],requiredIndicators:["ema"],pointArrayMap:["y","signal","MACD"],parallelArrays:["x","y","signal","MACD"],pointValKey:"y",markerAttribs:n.noop,getColumnMetrics:n.seriesTypes.column.prototype.getColumnMetrics,crispCol:n.seriesTypes.column.prototype.crispCol,init:function(){r.prototype.init.apply(this,arguments);this.options&&(this.options=e({signalLine:{styles:{lineColor:this.color}},macdLine:{styles:{color:this.color}}},this.options),this.macdZones={zones:this.options.macdLine.zones,startIndex:0},this.signalZones={zones:this.macdZones.zones.concat(this.options.signalLine.zones),startIndex:this.macdZones.zones.length},this.resetZones=!0)},toYData:function(n){return[n.y,n.signal,n.MACD]},translate:function(){var t=this,i=["plotSignal","plotMACD"];n.seriesTypes.column.prototype.translate.apply(t);t.points.forEach(function(n){[n.signal,n.MACD].forEach(function(r,u){null!==r&&(n[i[u]]=t.yAxis.toPixels(r,!0))})})},destroy:function(){this.graph=null;this.graphmacd=this.graphmacd&&this.graphmacd.destroy();this.graphsignal=this.graphsignal&&this.graphsignal.destroy();r.prototype.destroy.apply(this,arguments)},drawPoints:n.seriesTypes.column.prototype.drawPoints,drawGraph:function(){for(var n=this,u=n.points,s=u.length,f=n.options,h=n.zones,c={options:{gapSize:f.gapSize}},o=[[],[]],t;s--;)t=u[s],i(t.plotMACD)&&o[0].push({plotX:t.plotX,plotY:t.plotMACD,isNull:!i(t.plotMACD)}),i(t.plotSignal)&&o[1].push({plotX:t.plotX,plotY:t.plotSignal,isNull:!i(t.plotMACD)});["macd","signal"].forEach(function(t,i){n.points=o[i];n.options=e(f[t+"Line"].styles,c);n.graph=n["graph"+t];n.currentLineZone=t+"Zones";n.zones=n[n.currentLineZone].zones;r.prototype.drawGraph.call(n);n["graph"+t]=n.graph});n.points=u;n.options=f;n.zones=h;n.currentLineZone=null},getZonesGraphs:function(n){var i=r.prototype.getZonesGraphs.call(this,n),t=i;return this.currentLineZone&&(t=i.splice(this[this.currentLineZone].startIndex+1),t.length?t.splice(0,0,n[0]):t=[n[0]]),t},applyZones:function(){var n=this.zones;this.zones=this.signalZones.zones;r.prototype.applyZones.call(this);this.graphmacd&&this.options.macdLine.zones.length&&this.graphmacd.hide();this.zones=n},getValues:function(n,t){var h=0,r=[],c=[],o=[],e,s;if(!(n.xData.length<t.longPeriod+t.signalPeriod)){for(e=u.prototype.getValues(n,{period:t.shortPeriod}),s=u.prototype.getValues(n,{period:t.longPeriod}),e=e.values,s=s.values,n=1;n<=e.length;n++)i(s[n-1])&&i(s[n-1][1])&&i(e[n+t.shortPeriod+1])&&i(e[n+t.shortPeriod+1][0])&&r.push([e[n+t.shortPeriod+1][0],0,null,e[n+t.shortPeriod+1][1]-s[n-1][1]]);for(n=0;n<r.length;n++)c.push(r[n][0]),o.push([0,null,r[n][3]]);for(t=u.prototype.getValues({xData:c,yData:o},{period:t.signalPeriod,index:2}),t=t.values,n=0;n<r.length;n++)r[n][0]>=t[0][0]&&(r[n][2]=t[h][1],o[n]=[0,t[h][1],r[n][3]],null===r[n][3]?(r[n][1]=0,o[n][0]=0):(r[n][1]=f(r[n][3]-t[h][1]),o[n][0]=f(r[n][3]-t[h][1])),h++);return{values:r,xData:c,yData:o}}}});""});t(n,"indicators/mfi.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function r(n){return n.reduce(function(n,t){return n+t})}function i(n){return(n[1]+n[2]+n[3])/3}var u=t.isArray;n.seriesType("mfi","sma",{params:{period:14,volumeSeriesID:"volume",decimals:4}},{nameBase:"Money Flow Index",getValues:function(t,f){var o=f.period,a=t.xData,s=t.yData,b=s?s.length:0,k=f.decimals,h=1,e=t.chart.get(f.volumeSeriesID),v=e&&e.yData,y=[],p=[],w=[],c=[],l=[];
1if(e){if(!(a.length<=o)&&u(s[0])&&4===s[0].length&&v){for(t=i(s[h]);h<o+1;)f=t,t=i(s[h]),f=t>=f,e=t*v[h],c.push(f?e:0),l.push(f?0:e),h++;for(o=h-1;o<b;o++)o>h-1&&(c.shift(),l.shift(),f=t,t=i(s[o]),f=t>f,e=t*v[o],c.push(f?e:0),l.push(f?0:e)),f=r(l),e=r(c),f=e/f,f=parseFloat((100-100/(1+f)).toFixed(k)),y.push([a[o],f]),p.push(a[o]),w.push(f);return{values:y,xData:p,yData:w}}}else n.error("Series "+f.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,t.chart)}});""});t(n,"indicators/momentum.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function i(n,t,i,r,u){return i=i[r-1][3]-i[r-u-1][3],t=t[r-1],n.shift(),[t,i]}var r=t.isArray;n=n.seriesType;n("momentum","sma",{params:{period:14}},{nameBase:"Momentum",getValues:function(n,t){var e,u;t=t.period;var o=n.xData,l=(n=n.yData)?n.length:0,f=o[0],s=[],h=[],c=[];if(!(o.length<=t)&&r(n[0])){for(e=n[0][3],e=[[f,e]],f=t+1;f<l;f++)u=i(e,o,n,f,t,void 0),s.push(u),h.push(u[0]),c.push(u[1]);return u=i(e,o,n,f,t,void 0),s.push(u),h.push(u[0]),c.push(u[1]),{values:s,xData:h,yData:c}}}});""});t(n,"indicators/natr.src.js",[n["parts/Globals.js"]],function(n){var t=n.seriesTypes.atr;n.seriesType("natr","sma",{tooltip:{valueSuffix:"%"}},{requiredIndicators:["atr"],getValues:function(n,i){var r=t.prototype.getValues.apply(this,arguments),e=r.values.length,f=i.period-1,o=n.yData,u=0;if(r){for(;u<e;u++)r.yData[u]=r.values[u][1]/o[f][3]*100,r.values[u][1]=r.yData[u],f++;return r}}});""});t(n,"indicators/pivot-points.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function r(n,t){var r=n.series.pointArrayMap,u=r.length;for(i.prototype.pointClass.prototype[t].call(n);u--;)t="dataLabel"+r[u],n[t]&&n[t].element&&n[t].destroy(),n[t]=null}var u=t.defined,f=t.isArray,i=n.seriesTypes.sma;n.seriesType("pivotpoints","sma",{params:{period:28,algorithm:"standard"},marker:{enabled:!1},enableMouseTracking:!1,dataLabels:{enabled:!0,format:"{point.pivotLine}"},dataGrouping:{approximation:"averages"}},{nameBase:"Pivot Points",pointArrayMap:"R4 R3 R2 R1 P S1 S2 S3 S4".split(" "),pointValKey:"P",toYData:function(n){return[n.P]},translate:function(){var n=this;i.prototype.translate.apply(n);n.points.forEach(function(t){n.pointArrayMap.forEach(function(i){u(t[i])&&(t["plot"+i]=n.yAxis.toPixels(t[i],!0))})});n.plotEndPoint=n.xAxis.toPixels(n.endPoint,!0)},getGraphPath:function(n){for(var f=this,h=n.length,c=[[],[],[],[],[],[],[],[],[]],o=[],s=f.plotEndPoint,l=f.pointArrayMap.length,e,t,r;h--;){for(t=n[h],r=0;r<l;r++)e=f.pointArrayMap[r],u(t[e])&&c[r].push({plotX:t.plotX,plotY:t["plot"+e],isNull:!1},{plotX:s,plotY:t["plot"+e],isNull:!1},{plotX:s,plotY:null,isNull:!0});s=t.plotX}return c.forEach(function(n){o=o.concat(i.prototype.getGraphPath.call(f,n))}),o},drawDataLabels:function(){var t=this,u=t.pointArrayMap,r,n,f,e;t.options.dataLabels.enabled&&(e=t.points.length,u.concat([!1]).forEach(function(o,s){for(f=e;f--;)n=t.points[f],o?(n.y=n[o],n.pivotLine=o,n.plotY=n["plot"+o],r=n["dataLabel"+o],s&&(n["dataLabel"+u[s-1]]=n.dataLabel),n.dataLabels||(n.dataLabels=[]),n.dataLabels[0]=n.dataLabel=r=r&&r.element?r:null):n["dataLabel"+u[s-1]]=n.dataLabel;i.prototype.drawDataLabels.apply(t,arguments)}))},getValues:function(n,t){var i=t.period,h=n.xData,v=(n=n.yData)?n.length:0;t=this[t.algorithm+"Placement"];var o=[],c=[],l=[],r;if(!(h.length<i)&&f(n[0])&&4===n[0].length){for(r=i+1;r<=v+i;r+=i){var e=h.slice(r-i-1,r),u=n.slice(r-i-1,r),a=e.length,s=e[a-1];u=this.getPivotAndHLC(u);u=t(u);u=o.push([s].concat(u));c.push(s);l.push(o[u-1].slice(1))}return this.endPoint=e[0]+(s-e[0])/a*i,{values:o,xData:c,yData:l}}},getPivotAndHLC:function(n){var t=-Infinity,i=Infinity,r=n[n.length-1][3];return n.forEach(function(n){t=Math.max(t,n[1]);i=Math.min(i,n[2])}),[(t+i+r)/3,t,i,r]},standardPlacement:function(n){var t=n[1]-n[2];return[null,null,n[0]+t,2*n[0]-n[2],n[0],2*n[0]-n[1],n[0]-t,null,null]},camarillaPlacement:function(n){var t=n[1]-n[2];return[n[3]+1.5*t,n[3]+1.25*t,n[3]+1.1666*t,n[3]+1.0833*t,n[0],n[3]-1.0833*t,n[3]-1.1666*t,n[3]-1.25*t,n[3]-1.5*t]},fibonacciPlacement:function(n){var t=n[1]-n[2];
1return[null,n[0]+t,n[0]+.618*t,n[0]+.382*t,n[0],n[0]-.382*t,n[0]-.618*t,n[0]-t,null]}},{destroyElements:function(){r(this,"destroyElements")},destroy:function(){r(this,"destroyElements")}});""});t(n,"indicators/ppo.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/indicator-required.js"]],function(n,t,i){var u=t.correctFloat,r=n.seriesTypes.ema,f=n.error;n.seriesType("ppo","ema",{params:{periods:[12,26]}},{nameBase:"PPO",nameComponents:["periods"],init:function(){var t=arguments,n=this;i.isParentLoaded(r,"ema",n.type,function(i){i.prototype.init.apply(n,t)})},getValues:function(n,t){var i=t.periods,o=t.index,s,h,e,c;if(t=[],s=[],h=[],2!==i.length||i[1]<=i[0])f('Error: "PPO requires two periods. Notice, first period should be lower than the second one."');else if(c=r.prototype.getValues.call(this,n,{index:o,period:i[0]}),n=r.prototype.getValues.call(this,n,{index:o,period:i[1]}),c&&n){for(i=i[1]-i[0],e=0;e<n.yData.length;e++)o=u((c.yData[e+i]-n.yData[e])/n.yData[e]*100),t.push([n.xData[e],o]),s.push(n.xData[e]),h.push(o);return{values:t,xData:s,yData:h}}}});""});t(n,"mixins/reduce-array.js",[n["parts/Globals.js"]],function(n){var t=n.reduce;return{minInArray:function(n,i){return t(n,function(n,t){return Math.min(n,t[i])},Number.MAX_VALUE)},maxInArray:function(n,i){return t(n,function(n,t){return Math.max(n,t[i])},-Number.MAX_VALUE)},getArrayExtremes:function(n,i,r){return t(n,function(n,t){return[Math.min(n[0],t[i]),Math.max(n[1],t[r])]},[Number.MAX_VALUE,-Number.MAX_VALUE])}}});t(n,"indicators/price-channel.src.js",[n["parts/Globals.js"],n["mixins/reduce-array.js"],n["mixins/multipe-lines.js"]],function(n,t,i){var r=t.getArrayExtremes;t=n.merge;n.seriesType("pc","sma",{params:{period:20},lineWidth:1,topLine:{styles:{lineColor:"#90ed7d",lineWidth:1}},bottomLine:{styles:{lineColor:"#f45b5b",lineWidth:1}},dataGrouping:{approximation:"averages"}},t(i,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameBase:"Price Channel",nameComponents:["period"],linesApiNames:["topLine","bottomLine"],getValues:function(n,t){var e;t=t.period;var a=n.xData,o=(n=n.yData)?n.length:0,s=[],h=[],c=[],i;if(!(o<t)){for(i=t;i<=o;i++){var l=a[i-1],u=n.slice(i-t,i),f=r(u,2,1);u=f[1];e=f[0];f=(u+e)/2;s.push([l,u,f,e]);h.push(l);c.push([u,f,e])}return{values:s,xData:h,yData:c}}}}));""});t(n,"indicators/price-envelopes.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var u=t.isArray,r=n.merge,i=n.seriesTypes.sma;n.seriesType("priceenvelopes","sma",{marker:{enabled:!1},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span><b> {series.name}<\/b><br/>Top: {point.top}<br/>Middle: {point.middle}<br/>Bottom: {point.bottom}<br/>'},params:{period:20,topBand:.1,bottomBand:.1},bottomLine:{styles:{lineWidth:1,lineColor:void 0}},topLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}},{nameComponents:["period","topBand","bottomBand"],nameBase:"Price envelopes",pointArrayMap:["top","middle","bottom"],parallelArrays:["x","y","top","bottom"],pointValKey:"middle",init:function(){i.prototype.init.apply(this,arguments);this.options=r({topLine:{styles:{lineColor:this.color}},bottomLine:{styles:{lineColor:this.color}}},this.options)},toYData:function(n){return[n.top,n.middle,n.bottom]},translate:function(){var n=this,t=["plotTop","plotMiddle","plotBottom"];i.prototype.translate.apply(n);n.points.forEach(function(i){[i.top,i.middle,i.bottom].forEach(function(r,u){null!==r&&(i[t[u]]=n.yAxis.toPixels(r,!0))})})},drawGraph:function(){for(var n=this,u=n.points,o=u.length,f=n.options,s=n.graph,h={options:{gapSize:f.gapSize}},e=[[],[]],t;o--;)t=u[o],e[0].push({plotX:t.plotX,plotY:t.plotTop,isNull:t.isNull}),e[1].push({plotX:t.plotX,plotY:t.plotBottom,isNull:t.isNull});["topLine","bottomLine"].forEach(function(t,u){n.points=e[u];n.options=r(f[t].styles,h);n.graph=n["graph"+t];i.prototype.drawGraph.call(n);n["graph"+t]=n.graph});n.points=u;n.options=f;n.graph=s;i.prototype.drawGraph.call(n)},getValues:function(n,t){var o=t.period,y=t.topBand,p=t.bottomBand,c=n.xData,w=(n=n.yData)?n.length:0,l=[],a=[],v=[],f,e,r,s,h;if(!(c.length<o)&&u(n[0])&&4===n[0].length){for(f=o;f<=w;f++)e=c.slice(f-o,f),r=n.slice(f-o,f),r=i.prototype.getValues.call(this,{xData:e,yData:r},t),e=r.xData[0],r=r.yData[0],s=r*(1+y),h=r*(1-p),l.push([e,s,r,h]
1),a.push(e),v.push([s,r,h]);return{values:l,xData:a,yData:v}}}});""});t(n,"indicators/psar.src.js",[n["parts/Globals.js"]],function(n){n.seriesType("psar","sma",{lineWidth:0,marker:{enabled:!0},states:{hover:{lineWidthPlus:0}},params:{initialAccelerationFactor:.02,maxAccelerationFactor:.2,increment:.02,index:2,decimals:4}},{nameComponents:!1,getValues:function(n,t){var v=n.xData,h,e;n=n.yData;var u=n[0][1],d=t.maxAccelerationFactor,g=t.increment,nt=t.initialAccelerationFactor,r=n[0][2],y=t.decimals,f=t.index,p=[],w=[],b=[],o=1,i;if(!(f>=n.length)){for(i=0;i<f;i++)u=Math.max(n[i][1],u),r=Math.min(n[i][2],parseFloat(r.toFixed(y)));for(h=n[i][1]>r?1:-1,t=t.initialAccelerationFactor,e=t*(u-r),p.push([v[f],r]),w.push(v[f]),b.push(parseFloat(r.toFixed(y))),i=f+1;i<n.length;i++){f=n[i-1][2];var s=n[i-2][2],a=n[i-1][1],k=n[i-2][1],c=n[i][1],l=n[i][2];null!==s&&null!==k&&null!==f&&null!==a&&null!==c&&null!==l&&(r=h===o?1===h?r+e<Math.min(s,f)?r+e:Math.min(s,f):r+e>Math.max(k,a)?r+e:Math.max(k,a):u,f=1===h?c>u?c:u:l<u?l:u,c=1===o&&l>r||-1===o&&c>r?1:-1,o=c,e=f,l=g,s=d,a=nt,t=o===h?1===o&&e>u?t===s?s:parseFloat((t+l).toFixed(2)):-1===o&&e<u?t===s?s:parseFloat((t+l).toFixed(2)):t:a,u=f-r,e=t*u,p.push([v[i],parseFloat(r.toFixed(y))]),w.push(v[i]),b.push(parseFloat(r.toFixed(y))),o=h,h=c,u=f)}return{values:p,xData:w,yData:b}}}});""});t(n,"indicators/roc.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.isArray;n=n.seriesType;n("roc","sma",{params:{index:3,period:9}},{nameBase:"Rate of Change",getValues:function(n,t){var u=t.period,e=n.xData,c=(n=n.yData)?n.length:0,o=[],s=[],h=[],f=-1,r;if(!(e.length<=u)){for(i(n[0])&&(f=t.index),t=u;t<c;t++)r=0>f?(r=n[t-u])?(n[t]-r)/r*100:null:(r=n[t-u][f])?(n[t][f]-r)/r*100:null,r=[e[t],r],o.push(r),s.push(r[0]),h.push(r[1]);return{values:o,xData:s,yData:h}}}});""});t(n,"indicators/rsi.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.isArray;n.seriesType("rsi","sma",{params:{period:14,decimals:4}},{getValues:function(n,t){var u=t.period,c=n.xData,y=(n=n.yData)?n.length:0,e,h;t=t.decimals;var r=1,l=[],a=[],v=[],f=0,o=0,s;if(!(c.length<u)&&i(n[0])&&4===n[0].length){for(;r<u;)e=parseFloat((n[r][3]-n[r-1][3]).toFixed(t)),0<e?f+=e:o+=Math.abs(e),r++;for(h=parseFloat((f/(u-1)).toFixed(t)),s=parseFloat((o/(u-1)).toFixed(t));r<y;r++)e=parseFloat((n[r][3]-n[r-1][3]).toFixed(t)),0<e?(f=e,o=0):(f=0,o=Math.abs(e)),h=parseFloat(((h*(u-1)+f)/u).toFixed(t)),s=parseFloat(((s*(u-1)+o)/u).toFixed(t)),f=0===s?100:0===h?0:parseFloat((100-100/(1+h/s)).toFixed(t)),l.push([c[r],f]),a.push(c[r]),v.push(f);return{values:l,xData:a,yData:v}}}});""});t(n,"indicators/stochastic.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/reduce-array.js"],n["mixins/multipe-lines.js"]],function(n,t,i,r){var f=t.isArray,e=n.merge,u=n.seriesTypes.sma,o=i.getArrayExtremes;n.seriesType("stochastic","sma",{params:{periods:[14,3]},marker:{enabled:!1},tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span><b> {series.name}<\/b><br/>%K: {point.y}<br/>%D: {point.smoothed}<br/>'},smoothedLine:{styles:{lineWidth:1,lineColor:void 0}},dataGrouping:{approximation:"averages"}},n.merge(r,{nameComponents:["periods"],nameBase:"Stochastic",pointArrayMap:["y","smoothed"],parallelArrays:["x","y","smoothed"],pointValKey:"y",linesApiNames:["smoothedLine"],init:function(){u.prototype.init.apply(this,arguments);this.options=e({smoothedLine:{styles:{lineColor:this.color}}},this.options)},getValues:function(n,t){var h=t.periods[0];t=t.periods[1];var a=n.xData,v=(n=n.yData)?n.length:0,y=[],l=[],e=[],s=null,i;if(!(v<h)&&f(n[0])&&4===n[0].length){for(i=h-1;i<v;i++){var r=n.slice(i-h+1,i+1),p=o(r,2,1),c=p[0];r=n[i][3]-c;c=p[1]-c;r=r/c*100;l.push(a[i]);e.push([r,null]);i>=h-1+(t-1)&&(s=u.prototype.getValues.call(this,{xData:l.slice(-t),yData:e.slice(-t)},{period:t}),s=s.yData[0]);y.push([a[i],r,s]);e[e.length-1][1]=s}return{values:y,xData:l,yData:e}}}}));""});t(n,"indicators/slow-stochastic.src.js",[n["parts/Globals.js"],n["mixins/indicator-required.js"]],function(n,t){var i=n.seriesTypes;
1n.seriesType("slowstochastic","stochastic",{params:{periods:[14,3,3]}},{nameBase:"Slow Stochastic",init:function(){var r=arguments,i=this;t.isParentLoaded(n.seriesTypes.stochastic,"stochastic",i.type,function(n){n.prototype.init.apply(i,r)})},getValues:function(n,t){var u=t.periods,r=i.stochastic.prototype.getValues.call(this,n,t),f,e;if(n={values:[],xData:[],yData:[]},t=0,r&&(n.xData=r.xData.slice(u[1]-1),r=r.yData.slice(u[1]-1),f=i.sma.prototype.getValues.call(this,{xData:n.xData,yData:r},{index:1,period:u[2]}),f)){for(e=n.xData.length;t<e;t++)n.yData[t]=[r[t][1],f.yData[t-u[2]+1]||null],n.values[t]=[n.xData[t],r[t][1],f.yData[t-u[2]+1]||null];return n}}});""});t(n,"indicators/supertrend.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function i(n,t,i){return{index:t,close:n.yData[t][i],x:n.xData[t]}}var u=t.correctFloat,e=t.isArray,o=t.objectEach,s=n.seriesTypes.atr,f=n.seriesTypes.sma,r=n.merge;n.seriesType("supertrend","sma",{params:{multiplier:3,period:10},risingTrendColor:"#06B535",fallingTrendColor:"#F21313",changeTrendLine:{styles:{lineWidth:1,lineColor:"#333333",dashStyle:"LongDash"}}},{nameBase:"Supertrend",nameComponents:["multiplier","period"],requiredIndicators:["atr"],init:function(){f.prototype.init.apply(this,arguments);var n=this.options;n.cropThreshold=this.linkedParent.options.cropThreshold-(n.params.period-1)},drawGraph:function(){var h=this,n=h.options,c=h.linkedParent,k=c?c.points:[],d=h.points,g=h.graph,y=d.length,w=k.length-y;w=0<w?w:0;for(var nt={options:{gapSize:n.gapSize}},l={top:[],bottom:[],intersect:[]},tt={top:{styles:{lineWidth:n.lineWidth,lineColor:n.fallingTrendColor||n.color,dashStyle:n.dashStyle}},bottom:{styles:{lineWidth:n.lineWidth,lineColor:n.risingTrendColor||n.color,dashStyle:n.dashStyle}},intersect:n.changeTrendLine},u,a,t,e,s,b,v,p;y--;)u=d[y],a=d[y-1],t=k[y-1+w],e=k[y-2+w],s=k[y+w],b=k[y+w+1],v=u.options.color,p={x:u.x,plotX:u.plotX,plotY:u.plotY,isNull:!1},!e&&t&&c.yData[t.index-1]&&(e=i(c,t.index-1,3)),!b&&s&&c.yData[s.index+1]&&(b=i(c,s.index+1,3)),!t&&e&&c.yData[e.index+1]?t=i(c,e.index+1,3):!t&&s&&c.yData[s.index-1]&&(t=i(c,s.index-1,3)),u&&t&&s&&e&&u.x!==t.x&&(u.x===s.x?(e=t,t=s):u.x===e.x?(t=e,e={close:c.yData[t.index-1][3],x:c.xData[t.index-1]}):b&&u.x===b.x&&(t=b,e=s)),a&&e&&t?(s={x:a.x,plotX:a.plotX,plotY:a.plotY,isNull:!1},u.y>=t.close&&a.y>=e.close?(u.color=v||n.fallingTrendColor||n.color,l.top.push(p)):u.y<t.close&&a.y<e.close?(u.color=v||n.risingTrendColor||n.color,l.bottom.push(p)):(l.intersect.push(p),l.intersect.push(s),l.intersect.push(r(s,{isNull:!0})),u.y>=t.close&&a.y<e.close?(u.color=v||n.fallingTrendColor||n.color,a.color=v||n.risingTrendColor||n.color,l.top.push(p),l.top.push(r(s,{isNull:!0}))):u.y<t.close&&a.y>=e.close&&(u.color=v||n.risingTrendColor||n.color,a.color=v||n.fallingTrendColor||n.color,l.bottom.push(p),l.bottom.push(r(s,{isNull:!0}))))):t&&(u.y>=t.close?(u.color=v||n.fallingTrendColor||n.color,l.top.push(p)):(u.color=v||n.risingTrendColor||n.color,l.bottom.push(p)));o(l,function(n,t){h.points=n;h.options=r(tt[t].styles,nt);h.graph=h["graph"+t+"Line"];f.prototype.drawGraph.call(h);h["graph"+t+"Line"]=h.graph});h.points=d;h.options=n;h.graph=g},getValues:function(n,t){var r=t.period,k,p;t=t.multiplier;var w=n.xData,v=n.yData,d=[],g=[],b=[],y=0===r?0:r-1,c=[],l=[],i;if(!(w.length<=r||!e(v[0])||4!==v[0].length||0>r)){for(n=s.prototype.getValues.call(this,n,{period:r}).yData,i=0;i<n.length;i++){var f=v[y+i],nt=v[y+i-1]||[],o=c[i-1],h=l[i-1],a=b[i-1];0===i&&(o=h=a=0);r=u((f[1]+f[2])/2+t*n[i]);k=u((f[1]+f[2])/2-t*n[i]);c[i]=r<o||nt[3]>o?r:o;l[i]=k>h||nt[3]<h?k:h;a===o&&f[3]<c[i]||a===h&&f[3]<l[i]?p=c[i]:(a===o&&f[3]>c[i]||a===h&&f[3]>l[i])&&(p=l[i]);d.push([w[y+i],p]);g.push(w[y+i]);b.push(p)}return{values:d,xData:g,yData:b}}}});""});t(n,"indicators/volume-by-price.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var o=t.animObject,f=t.arrayMax,s=t.arrayMin,u=t.correctFloat,h=t.extend,c=t.isArray,i=Math.abs;t=n.noop;var e=n.addEvent,l=n.seriesType,r=n.seriesTypes.column.prototype;l("vbp","sma",{params:{ranges:12,volumeSeriesID:"volume"},zoneLines:{enabled:!0,styles:{color:"#0A9AC9",dashStyle:"LongDash",lineWidth:1}},volumeDivision:{enabled:!0,styles:{positiveColor:"rgba(144, 237, 125, 0.8)",
1negativeColor:"rgba(244, 91, 91, 0.8)"}},animationLimit:1e3,enableMouseTracking:!1,pointPadding:0,zIndex:-1,crisp:!0,dataGrouping:{enabled:!1},dataLabels:{allowOverlap:!0,enabled:!0,format:"P: {point.volumePos:.2f} | N: {point.volumeNeg:.2f}",padding:0,style:{fontSize:"7px"},verticalAlign:"top"}},{nameBase:"Volume by Price",bindTo:{series:!1,eventName:"afterSetExtremes"},calculateOn:"render",markerAttribs:t,drawGraph:t,getColumnMetrics:r.getColumnMetrics,crispCol:r.crispCol,init:function(t){n.seriesTypes.sma.prototype.init.apply(this,arguments);var i=this.options.params,r=this.linkedParent;return i=t.get(i.volumeSeriesID),this.addCustomEvents(r,i),this},addCustomEvents:function(n,t){function r(){i.chart.redraw();i.setData([]);i.zoneStarts=[];i.zoneLinesSVG&&(i.zoneLinesSVG.destroy(),delete i.zoneLinesSVG)}var i=this;return i.dataEventsToUnbind.push(e(n,"remove",function(){r()})),t&&i.dataEventsToUnbind.push(e(t,"remove",function(){r()})),i},animate:function(t){var i=this,r={};n.svg&&!t&&(r.translateX=i.yAxis.pos,i.group.animate(r,h(o(i.options.animation),{step:function(n,t){i.group.attr({scaleX:Math.max(.001,t.pos)})}})),i.animate=null)},drawPoints:function(){this.options.volumeDivision.enabled&&(this.posNegVolume(!0,!0),r.drawPoints.apply(this,arguments),this.posNegVolume(!1,!1));r.drawPoints.apply(this,arguments)},posNegVolume:function(n,t){var h=t?["positive","negative"]:["negative","positive"],c=this.options.volumeDivision,l=this.points.length,u=[],f=[],r=0,o,i,s,e;for(n?(this.posWidths=u,this.negWidths=f):(u=this.posWidths,f=this.negWidths);r<l;r++)i=this.points[r],i[h[0]+"Graphic"]=i.graphic,i.graphic=i[h[1]+"Graphic"],n&&(s=i.shapeArgs.width,e=this.priceZones[r],(o=e.wholeVolumeData)?(u.push(s/o*e.positiveVolumeData),f.push(s/o*e.negativeVolumeData)):(u.push(0),f.push(0))),i.color=t?c.styles.positiveColor:c.styles.negativeColor,i.shapeArgs.width=t?this.posWidths[r]:this.negWidths[r],i.shapeArgs.x=t?i.shapeArgs.x:this.posWidths[r]},translate:function(){var n=this,h=n.options,c=n.chart,t=n.yAxis,e=t.min,y=n.options.zoneLines,s=n.priceZones,p=0,l,w,b,a,v;if(r.translate.apply(n),a=n.points,a.length){v=.5>h.pointPadding?h.pointPadding:.1;h=n.volumeDataArray;var k=f(h),d=c.plotWidth/2,g=c.plotTop,o=i(t.toPixels(e)-t.toPixels(e+n.rangeStep)),nt=i(t.toPixels(e)-t.toPixels(e+n.rangeStep));v&&(e=i(o*(1-2*v)),p=i((o-e)/2),o=i(e));a.forEach(function(i,r){w=i.barX=i.plotX=0;b=i.plotY=t.toPixels(s[r].start)-g-(t.reversed?o-nt:o)-p;l=u(d*s[r].wholeVolumeData/k);i.pointWidth=l;i.shapeArgs=n.crispCol.apply(n,[w,b,l,o]);i.volumeNeg=s[r].negativeVolumeData;i.volumePos=s[r].positiveVolumeData;i.volumeAll=s[r].wholeVolumeData});y.enabled&&n.drawZones(c,t,n.zoneStarts,y.styles)}},getValues:function(t,i){var h=t.processedXData,f=t.processedYData,r=this.chart,l=i.ranges,u=[],e=[],o=[],s;if(t.chart)if(s=r.get(i.volumeSeriesID))if((i=c(f[0]))&&4!==f[0].length)n.error("Type of "+t.name+" series is different than line, OHLC or candlestick.",!0,r);else return(this.priceZones=this.specifyZones(i,h,f,l,s)).forEach(function(n,t){u.push([n.x,n.end]);e.push(u[t][0]);o.push(u[t][1])}),{values:u,xData:e,yData:o};else n.error("Series "+i.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,r);else n.error("Base series not found! In case it has been removed, add a new one.",!0,r)},specifyZones:function(n,t,i,r,e){var h,v,y;if(n){h=i.length;for(var o=i[0][3],a=o,c=1,l;c<h;c++)l=i[c][3],l<o&&(o=l),l>a&&(a=l);h={min:o,max:a}}else h=!1;if(h=(o=h)?o.min:s(i),l=o?o.max:f(i),o=this.zoneStarts=[],a=[],v=0,c=1,!h||!l)return this.points.length&&(this.setData([]),this.zoneStarts=[],this.zoneLinesSVG.destroy()),[];for(y=this.rangeStep=u(l-h)/r,o.push(h);v<r-1;v++)o.push(u(o[v]+y));for(o.push(l),r=o.length;c<r;c++)a.push({index:c-1,x:t[0],start:o[c-1],end:o[c]});return this.volumePerZone(n,a,e,t,i)},volumePerZone:function(n,t,r,u,f){var a=this,v=r.processedXData,s=r.processedYData,p=t.length-1,h=f.length,y,c,l,o,e;return r=s.length,i(h-r)&&(u[0]!==v[0]&&s.unshift(0),u[h-1]!==v[r-1]&&s.push(0)),a.volumeDataArray=[],t.forEach(function(t){for(t.wholeVolumeData=0,t.positiveVolumeData=0,e=t.negativeVolumeData=0;e<h;e++)l=c=!1,o=n?f[e][3]:f[e],y=e?n?f[e-1][3]:f[e-1]:o,o<=t.start&&0===t.index&&(c=!0),o>=t.end&&t.index===p&&(l=!0),(o>t.start||c)&&(o<t.end||l)&&(t.wholeVolumeData+=s[e],y>o?t.negativeVolumeData+=s[e]:t.positiveVolumeData+=s[e]);a.volumeDataArray.push(t.wholeVolumeData)}),t},drawZones:function(n,t,i,r){var o=n.renderer,f=this.zoneLinesSVG,u=[],s=n.plotWidth,h=n.plotTop,e;
1i.forEach(function(i){e=t.toPixels(i)-h;u=u.concat(n.renderer.crispLine(["M",0,e,"L",s,e],r.lineWidth))});f?f.animate({d:u}):f=this.zoneLinesSVG=o.path(u).attr({"stroke-width":r.lineWidth,stroke:r.color,dashstyle:r.dashStyle,zIndex:this.group.zIndex+.1}).add(this.group)}},{destroy:function(){return this.negativeGraphic&&(this.negativeGraphic=this.negativeGraphic.destroy()),n.Point.prototype.destroy.apply(this,arguments)}});""});t(n,"indicators/vwap.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.isArray;t=n.seriesType;t("vwap","sma",{params:{period:30,volumeSeriesID:"volume"}},{getValues:function(t,r){var f=t.chart,s=t.xData,e,u,o;if(t=t.yData,e=r.period,u=!0,o=f.get(r.volumeSeriesID))return i(t[0])||(u=!1),this.calculateVWAPValues(u,s,t,o,e);n.error("Series "+r.volumeSeriesID+" not found! Check `volumeSeriesID`.",!0,f)},calculateVWAPValues:function(n,t,i,r,u){var c=r.yData,s=r.xData.length,f=t.length,e,l;r=[];var a=[],v=[],y=[],h=[],o;for(s=f<=s?f:s,o=f=0;f<s;f++)e=n?(i[f][1]+i[f][2]+i[f][3])/3:i[f],e*=c[f],e=o?r[f-1]+e:e,l=o?a[f-1]+c[f]:c[f],r.push(e),a.push(l),h.push([t[f],e/l]),v.push(h[f][0]),y.push(h[f][1]),o++,o===u&&(o=0);return{values:h,xData:v,yData:y}}});""});t(n,"indicators/williams-r.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/reduce-array.js"]],function(n,t,i){var r=t.isArray,u=i.getArrayExtremes;n.seriesType("williamsr","sma",{params:{period:14}},{nameBase:"Williams %R",getValues:function(n,t){var f,e,l;t=t.period;var o=n.xData,a=(n=n.yData)?n.length:0,s=[],h=[],c=[],i;if(!(o.length<t)&&r(n[0])&&4===n[0].length){for(i=t-1;i<a;i++)f=n.slice(i-t+1,i+1),e=u(f,2,1),f=e[0],e=e[1],l=n[i][3],f=(e-l)/(e-f)*-100,o[i]&&(s.push([o[i],f]),h.push(o[i]),c.push(f));return{values:s,xData:h,yData:c}}}});""});t(n,"indicators/wma.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function r(n,t){return t*=(t+1)/2,n.reduce(function(n,t,i){return[null,n[1]+t[1]*(i+1)]})[1]/t}function i(n,t,i,u){return i=r(n,n.length),t=t[u-1],n.shift(),[t,i]}var u=t.isArray;n=n.seriesType;n("wma","sma",{params:{index:3,period:9}},{getValues:function(n,t){var f=t.period,e=n.xData,a=(n=n.yData)?n.length:0,r=1,v=e[0],l=n[0],s=[],h=[],c=[],o=-1;if(!(e.length<f)){for(u(n[0])&&(o=t.index,l=n[0][o]),t=[[v,l]];r!==f;)t.push([e[r],0>o?n[r]:n[r][o]]),r++;for(f=r;f<a;f++)r=i(t,e,n,f),s.push(r),h.push(r[0]),c.push(r[1]),t.push([e[f],0>o?n[f]:n[f][o]]);return r=i(t,e,n,f),s.push(r),h.push(r[0]),c.push(r[1]),{values:s,xData:h,yData:c}}}});""});t(n,"indicators/zigzag.src.js",[n["parts/Globals.js"]],function(n){n=n.seriesType;n("zigzag","sma",{params:{lowIndex:2,highIndex:1,deviation:1}},{nameComponents:["deviation"],nameSuffixes:["%"],nameBase:"Zig Zag",getValues:function(n,t){var e=t.lowIndex,s=t.highIndex,f=t.deviation/100,v,r,p,w,u,b;t=1+f;v=1-f;f=n.xData;r=n.yData;n=r?r.length:0;var o=[],l=[],a=[],i,h,y=!1,c=!1;if(!(!f||1>=f.length||n&&(void 0===r[0][e]||void 0===r[0][s]))){for(p=r[0][e],w=r[0][s],i=1;i<n;i++)r[i][e]<=w*v?(o.push([f[0],w]),u=[f[i],r[i][e]],y=h=!0):r[i][s]>=p*t&&(o.push([f[0],p]),u=[f[i],r[i][s]],h=!1,y=!0),y&&(l.push(o[0][0]),a.push(o[0][1]),b=i++,i=n);for(i=b;i<n;i++)h?(r[i][e]<=u[1]&&(u=[f[i],r[i][e]]),r[i][s]>=u[1]*t&&(c=s)):(r[i][s]>=u[1]&&(u=[f[i],r[i][s]]),r[i][e]<=u[1]*v&&(c=e)),!1!==c&&(o.push(u),l.push(u[0]),a.push(u[1]),u=[f[i],r[i][c]],h=!h,c=!1);return e=o.length,0!==e&&o[e-1][0]<f[n-1]&&(o.push(u),l.push(u[0]),a.push(u[1])),{values:o,xData:l,yData:a}}}});""});t(n,"indicators/regressions.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.isArray;n=n.seriesType;n("linearRegression","sma",{params:{xAxisUnit:void 0},tooltip:{valueDecimals:4}},{nameBase:"Linear Regression Indicator",getRegressionLineParameters:function(n,t){var h=this.options.params.index,c=function(n,t){return i(n)?n[t]:n},f=n.reduce(function(n,t){return t+n},0),e=t.reduce(function(n,t){return c(t,h)+n},0),o,u,r,s,l;for(f/=n.length,e/=t.length,o=0,u=0,r=0;r<n.length;r++)s=n[r]-f,l=c(t[r],h)-e,o+=s*l,u+=Math.pow(s,2);return n=u?o/u:0,{slope:n,intercept:e-n*f}},getEndPointY:function(n,t){return n.slope*t+n.intercept},transformXData:function(n,t){var i=n[0];return n.map(function(n){return(n-i)/t})},findClosestDistance:function(n){for(var i,r,t=1;t<n.length-1;t++)r=n[t]-n[t-1],0<r&&("undefined"==typeof i||r<i)&&(i=r);return i},getValues:function(n,t){var e=n.xData,r,f,s;for(n=n.yData,t=t.period,f={xData:[],yData:[],values:[]},s=this.options.params.xAxisUnit||this.findClosestDistance(e),r=t-1;r<=e.length-1;r++){var i=r-t+1,u=r+1,h=e[r],o=e.slice(i,u);i=n.slice(i,u);u=this.transformXData(o,s);o=this.getRegressionLineParameters(u,i);i=this.getEndPointY(o,u[u.length-1]);f.values.push({regressionLineParameters:o,x:h,y:i});f.xData.push(h);f.yData.push(i)}return f}});n("linearRegressionSlope","linearRegression",{},{nameBase:"Linear Regression Slope Indicator",getEndPointY:function(n){return n.slope}});n("linearRegressionIntercept","linearRegression",{},{nameBase:"Linear Regression Intercept Indicator",getEndPointY:function(n){return n.intercept}});n("linearRegressionAngle","linearRegression",{tooltip:{pointFormat:'<span style="color:{point.color}">â<\/span>{series.name}: <b>{point.y}°<\/b><br/>'}},{nameBase:"Linear Regression Angle Indicator",slopeToAngle:function(n){return 180/Math.PI*Math.atan(n)},getEndPointY:function(n){return this.slopeToAngle(n.slope)}});""});t(n,"indicators/acceleration-bands.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/multipe-lines.js"]],function(n,t,i){var r=t.correctFloat,u=n.seriesTypes.sma;t=n.merge;n.seriesType("abands","sma",{params:{period:20,factor:.001,index:3},lineWidth:1,topLine:{styles:{lineWidth:1}},bottomLine:{styles:{lineWidth:1}},dataGrouping:{approximation:"averages"}}
1,t(i,{pointArrayMap:["top","middle","bottom"],pointValKey:"middle",nameBase:"Acceleration Bands",nameComponents:["period","factor"],linesApiNames:["topLine","bottomLine"],getValues:function(n,t){var e=t.period,w=t.factor,o;t=t.index;var b=n.xData,c=(n=n.yData)?n.length:0,l=[],a=[],v=[],y=[],p=[],i;if(!(c<e)){for(i=0;i<=c;i++){if(i<c){var f=n[i][2],s=n[i][1],h=w;f=r(s-f)/(r(s+f)/2)*1e3*h;l.push(n[i][1]*r(1+2*f));a.push(n[i][2]*r(1-2*f))}i>=e&&(f=b.slice(i-e,i),o=n.slice(i-e,i),h=u.prototype.getValues.call(this,{xData:f,yData:l.slice(i-e,i)},{period:e}),s=u.prototype.getValues.call(this,{xData:f,yData:a.slice(i-e,i)},{period:e}),o=u.prototype.getValues.call(this,{xData:f,yData:o},{period:e,index:t}),f=o.xData[0],h=h.yData[0],s=s.yData[0],o=o.yData[0],v.push([f,h,o,s]),y.push(f),p.push([h,o,s]))}return{values:v,xData:y,yData:p}}}}));""});t(n,"indicators/trendline.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var i=t.isArray;n=n.seriesType;n("trendline","sma",{params:{index:3}},{nameBase:"Trendline",nameComponents:!1,getValues:function(n,t){var s=n.xData,u=n.yData,r,e;n=[];var c=[],l=[],f=0,h=0,a=0,v=0,o=s.length,y=t.index;for(t=0;t<o;t++)r=s[t],e=i(u[t])?u[t][y]:u[t],f+=r,h+=e,a+=r*e,v+=r*r;for(u=(o*a-f*h)/(o*v-f*f),isNaN(u)&&(u=0),f=(h-u*f)/o,t=0;t<o;t++)r=s[t],e=u*r+f,n[t]=[r,e],c[t]=r,l[t]=e;return{xData:c,yData:l,values:n}}});""});t(n,"masters/indicators/indicators-all.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/drag-panes",["highcharts","highcharts/modules/stock"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"modules/drag-panes.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var r=t.clamp,o=t.isNumber,s=t.objectEach,f=t.relativeLength;t=t.wrap;var h=n.hasTouch,c=n.merge,i=n.addEvent,u=n.Axis,e=n.Pointer;c(!0,u.prototype.defaultYAxisOptions,{minLength:"10%",maxLength:"100%",resize:{controlledAxis:{next:[],prev:[]},enabled:!1,cursor:"ns-resize",lineColor:"#cccccc",lineDashStyle:"Solid",lineWidth:4,x:0,y:0}});n.AxisResizer=function(n){this.init(n)};n.AxisResizer.prototype={init:function(n,t){this.axis=n;this.options=n.options.resize;this.render();t||this.addMouseEvents()},render:function(){var t=this.axis,i=t.chart,n=this.options,e=n.x,o=n.y,u=r(t.top+t.height+o,i.plotTop,i.plotTop+i.plotHeight),f={};i.styledMode||(f={cursor:n.cursor,stroke:n.lineColor,"stroke-width":n.lineWidth,dashstyle:n.lineDashStyle});this.lastPos=u-o;this.controlLine||(this.controlLine=i.renderer.path().addClass("highcharts-axis-resizer"));this.controlLine.add(t.axisGroup);n=i.styledMode?this.controlLine.strokeWidth():n.lineWidth;f.d=i.renderer.crispLine(["M",t.left+e,u,"L",t.left+t.width+e,u],n);this.controlLine.attr(f)},addMouseEvents:function(){var n=this,o=n.controlLine.element,t=n.axis.chart.container,r=[],u,f,e;n.mouseMoveHandler=u=function(t){n.onMouseMove(t)};n.mouseUpHandler=f=function(t){n.onMouseUp(t)};n.mouseDownHandler=e=function(t){n.onMouseDown(t)};r.push(i(t,"mousemove",u),i(t.ownerDocument,"mouseup",f),i(o,"mousedown",e));h&&r.push(i(t,"touchmove",u),i(t.ownerDocument,"touchend",f),i(o,"touchstart",e));n.eventsToUnbind=r},onMouseMove:function(n){n.touches&&0===n.touches[0].pageX||!this.grabbed||(this.hasDragged=!0,this.updateAxes(this.axis.chart.pointer.normalize(n).chartY-this.options.y))},onMouseUp:function(n){this.hasDragged&&this.updateAxes(this.axis.chart.pointer.normalize(n).chartY-this.options.y);this.grabbed=this.hasDragged=this.axis.chart.activeResizer=null},onMouseDown:function(){this.axis.chart.pointer.reset(!1,0);this.grabbed=this.axis.chart.activeResizer=!0},updateAxes:function(n){var i=this,u=i.axis.chart,s=i.options.controlledAxis,v=0===s.next.length?[u.yAxis.indexOf(i.axis)+1]:s.next,e;s=[i.axis].concat(s.prev);var l=[],a=!1,h=u.plotTop,t=u.plotHeight,c=h+t;n=r(n,h,c);e=n-i.lastPos;1>
1e*e||([s,v].forEach(function(s,v){s.forEach(function(s,y){var p=(s=o(s)?u.yAxis[s]:v||y?u.get(s):s)&&s.options,b,w;p&&"navigator-y-axis"!==p.id&&(y=s.top,b=Math.round(f(p.minLength,t)),w=Math.round(f(p.maxLength,t)),v?(e=n-i.lastPos,p=Math.round(r(s.len-e,b,w)),y=s.top+e,y+p>c&&(w=c-p-y,n+=w,y+=w),y<h&&(y=h,y+p>c&&(p=t)),p===b&&(a=!0),l.push({axis:s,options:{top:100*(y-h)/t+"%",height:100*p/t+"%"}})):(p=Math.round(r(n-y,b,w)),p===w&&(a=!0),n=y+p,l.push({axis:s,options:{height:100*p/t+"%"}})))})}),a||(l.forEach(function(n){n.axis.update(n.options,!1)}),u.redraw(!1)))},destroy:function(){var n=this;delete n.axis.resizer;this.eventsToUnbind&&this.eventsToUnbind.forEach(function(n){n()});n.controlLine.destroy();s(n,function(t,i){n[i]=null})}};u.prototype.keepProps.push("resizer");i(u,"afterRender",function(){var i=this.resizer,t=this.options.resize;t&&(t=!1!==t.enabled,i?t?i.init(this,!0):i.destroy():t&&(this.resizer=new n.AxisResizer(this)))});i(u,"destroy",function(n){!n.keepEvents&&this.resizer&&this.resizer.destroy()});t(e.prototype,"runPointActions",function(n){this.chart.activeResizer||n.apply(this,Array.prototype.slice.call(arguments,1))});t(e.prototype,"drag",function(n){this.chart.activeResizer||n.apply(this,Array.prototype.slice.call(arguments,1))})});t(n,"masters/modules/drag-panes.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/annotations-advanced",["highcharts"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"annotations/eventEmitterMixin.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var r=t.objectEach,u=t.pick,i=n.fireEvent;return{addEvents:function(){var t=this;n.addEvent(t.graphic.element,"mousedown",function(n){t.onMouseDown(n)});r(t.options.events,function(i,r){var u=function(n){"click"===r&&t.cancelClick||i.call(t,t.chart.pointer.normalize(n),t.target)};if(-1===n.inArray(r,t.nonDOMEvents||[]))t.graphic.on(r,u);else n.addEvent(t,r,u)});t.options.draggable&&(n.addEvent(t,"drag",t.onDrag),t.graphic.renderer.styledMode||t.graphic.css({cursor:{x:"ew-resize",y:"ns-resize",xy:"move"}[t.options.draggable]}));t.isUpdating||i(t,"add")},removeDocEvents:function(){this.removeDrag&&(this.removeDrag=this.removeDrag());this.removeMouseUp&&(this.removeMouseUp=this.removeMouseUp())},onMouseDown:function(t){var r=this,o=r.chart.pointer,f,e;t.preventDefault&&t.preventDefault();2!==t.button&&(t=o.normalize(t),f=t.chartX,e=t.chartY,r.cancelClick=!1,r.chart.hasDraggedAnnotation=!0,r.removeDrag=n.addEvent(n.doc,"mousemove",function(n){r.hasDragged=!0;n=o.normalize(n);n.prevChartX=f;n.prevChartY=e;i(r,"drag",n);f=n.chartX;e=n.chartY}),r.removeMouseUp=n.addEvent(n.doc,"mouseup",function(n){r.cancelClick=r.hasDragged;r.hasDragged=!1;r.chart.hasDraggedAnnotation=!1;i(u(r.target,r),"afterUpdate");r.onMouseUp(n)}))},onMouseUp:function(){var n=this.chart,t=this.target||this,i=n.options.annotations;n=n.annotations.indexOf(t);this.removeDocEvents();i[n]=t.options},onDrag:function(n){if(this.chart.isInsidePlot(n.chartX-this.chart.plotLeft,n.chartY-this.chart.plotTop)){var t=this.mouseMoveToTranslation(n);"x"===this.options.draggable&&(t.y=0);"y"===this.options.draggable&&(t.x=0);this.points.length?this.translate(t.x,t.y):(this.shapes.forEach(function(n){n.translate(t.x,t.y)}),this.labels.forEach(function(n){n.translate(t.x,t.y)}));this.redraw(!1)}},mouseMoveToRadians:function(n,t,i){var r=n.prevChartY-i,u=n.prevChartX-t;return i=n.chartY-i,n=n.chartX-t,this.chart.inverted&&(t=u,u=r,r=t,t=n,n=i,i=t),Math.atan2(i,n)-Math.atan2(r,u)},mouseMoveToTranslation:function(n){var t=n.chartX-n.prevChartX,i;return n=n.chartY-n.prevChartY,this.chart.inverted&&(i=n,n=t,t=i),{x:t,y:n}},mouseMoveToScale:function(n,t,i){return t=(n.chartX-t||1)/(n.prevChartX-t||1),n=(n.chartY-i||1)/(n.prevChartY-i||1),this.chart.inverted&&(i=n,n=t,t=i),{x:t,y:n}},destroy:function(){this.removeDocEvents();n.removeEvent(this);this.hcEvents=null}}});t(n,"annotations/ControlPoint.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["annotations/eventEmitterMixin.js"]],function(n,t,i){function r(n,t,i,r){this.chart=n;this.target=t;this.options=i;this.index=f(i.index,r)}var u=t.extend,f=t.pick;
1return u(r.prototype,i),r.prototype.nonDOMEvents=["drag"],r.prototype.setVisibility=function(n){this.graphic.attr("visibility",n?"visible":"hidden");this.options.visible=n},r.prototype.render=function(){var t=this.chart,n=this.options;this.graphic=t.renderer.symbol(n.symbol,0,0,n.width,n.height).add(t.controlPointsGroup).css(n.style);this.setVisibility(n.visible);this.addEvents()},r.prototype.redraw=function(n){this.graphic[n?"animate":"attr"](this.options.positioner.call(this,this.target))},r.prototype.destroy=function(){i.destroy.call(this);this.graphic&&(this.graphic=this.graphic.destroy());this.options=this.target=this.chart=null},r.prototype.update=function(t){var i=this.chart,r=this.target,u=this.index;t=n.merge(!0,this.options,t);this.destroy();this.constructor(i,r,t,u);this.render(i.controlPointsGroup);this.redraw()},r});t(n,"annotations/MockPoint.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function i(t,i,r){this.series={visible:!0,chart:t,getPlotBox:n.Series.prototype.getPlotBox};this.target=i||null;this.options=r;this.applyOptions(this.getOptions())}var r=t.defined;return t=t.extend,i.fromPoint=function(n){return new i(n.series.chart,null,{x:n.x,y:n.y,xAxis:n.series.xAxis,yAxis:n.series.yAxis})},i.pointToPixels=function(n,t){var u=n.series,f=u.chart,i=n.plotX,r=n.plotY;return f.inverted&&(n.mock?(i=n.plotY,r=n.plotX):(i=f.plotWidth-n.plotY,r=f.plotHeight-n.plotX)),u&&!t&&(n=u.getPlotBox(),i+=n.translateX,r+=n.translateY),{x:i,y:r}},i.pointToOptions=function(n){return{x:n.x,y:n.y,xAxis:n.series.xAxis,yAxis:n.series.yAxis}},t(i.prototype,{mock:!0,hasDynamicOptions:function(){return"function"==typeof this.options},getOptions:function(){return this.hasDynamicOptions()?this.options(this.target):this.options},applyOptions:function(n){this.command=n.command;this.setAxis(n,"x");this.setAxis(n,"y");this.refresh()},setAxis:function(t,i){i+="Axis";t=t[i];var u=this.series.chart;this.series[i]=t instanceof n.Axis?t:r(t)?u[i][t]||u.get(t):null},toAnchor:function(){var n=[this.plotX,this.plotY,0,0];return this.series.chart.inverted&&(n[0]=this.plotY,n[1]=this.plotX),n},getLabelConfig:function(){return{x:this.x,y:this.y,point:this}},isInsidePane:function(){var t=this.plotX,i=this.plotY,u=this.series.xAxis,f=this.series.yAxis,n=!0;return u&&(n=r(t)&&0<=t&&t<=u.len),f&&(n=n&&r(i)&&0<=i&&i<=f.len),n},refresh:function(){var t=this.series,i=t.xAxis,n;t=t.yAxis;n=this.getOptions();i?(this.x=n.x,this.plotX=i.toPixels(n.x,!0)):(this.x=null,this.plotX=n.x);t?(this.y=n.y,this.plotY=t.toPixels(n.y,!0)):(this.y=null,this.plotY=n.y);this.isInside=this.isInsidePane()},translate:function(n,t,i,r){this.hasDynamicOptions()||(this.plotX+=i,this.plotY+=r,this.refreshOptions())},scale:function(n,t,i,r){if(!this.hasDynamicOptions()){var u=this.plotY*r;this.plotX=(1-i)*n+this.plotX*i;this.plotY=(1-r)*t+u;this.refreshOptions()}},rotate:function(n,t,i){var f,r,u;this.hasDynamicOptions()||(f=Math.cos(i),i=Math.sin(i),r=this.plotX,u=this.plotY,r-=n,u-=t,this.plotX=r*f-u*i+n,this.plotY=r*i+u*f+t,this.refreshOptions())},refreshOptions:function(){var n=this.series,t=n.xAxis;n=n.yAxis;this.x=this.options.x=t?this.options.x=t.toValue(this.plotX,!0):this.plotX;this.y=this.options.y=n?n.toValue(this.plotY,!0):this.plotY}}),i});t(n,"annotations/controllable/controllableMixin.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["annotations/ControlPoint.js"],n["annotations/MockPoint.js"]],function(n,t,i,r){var u=t.isObject,f=t.isString,e=t.splat;return{init:function(n,t,i){this.annotation=n;this.chart=n.chart;this.options=t;this.points=[];this.controlPoints=[];this.index=i;this.linkPoints();this.addControlPoints()},attr:function(){this.graphic.attr.apply(this.graphic,arguments)},getPointsOptions:function(){var n=this.options;return n.points||n.point&&e(n.point)},attrsFromOptions:function(n){var u=this.constructor.attrsMap,r={},i,f=this.chart.styledMode,t;for(i in n)t=u[i],!t||f&&-1!==["fill","stroke","stroke-width"].indexOf(t)||(r[t]=n[i]);return r},anchor:function(t){var i=t.series.getPlotBox();return t=t.mock?t.toAnchor():n.Tooltip.prototype.getAnchor.call({chart:t.series.chart},t),t={x:t[0]+(this.options.x||0),y:t[1]+(this.options.y||0),height:t[2]||0,width:t[3]||0}
1,{relativePosition:t,absolutePosition:n.merge(t,{x:t.x+i.translateX,y:t.y+i.translateY})}},point:function(n,t){return n&&n.series?n:(t&&null!==t.series||(u(n)?t=new r(this.chart,this,n):f(n)?t=this.chart.get(n)||null:"function"==typeof n&&(t=n.call(t,this),t=t.series?t:new r(this.chart,this,n))),t)},linkPoints:function(){for(var r=this.getPointsOptions(),i=this.points,u=r&&r.length||0,t,n=0;n<u;n++){if(t=this.point(r[n],i[n]),!t){i.length=0;return}t.mock&&t.refresh();i[n]=t}return i},addControlPoints:function(){var t=this.options.controlPoints;(t||[]).forEach(function(r,u){r=n.merge(this.options.controlPointOptions,r);r.index||(r.index=u);t[u]=r;this.controlPoints.push(new i(this.chart,this,r))},this)},shouldBeDrawn:function(){return!!this.points.length},render:function(){this.controlPoints.forEach(function(n){n.render()})},redraw:function(n){this.controlPoints.forEach(function(t){t.redraw(n)})},transform:function(n,t,i,r,u){if(this.chart.inverted){var f=t;t=i;i=f}this.points.forEach(function(f,e){this.transformPoint(n,t,i,r,u,e)},this)},transformPoint:function(n,t,i,u,f,e){var o=this.points[e];o.mock||(o=this.points[e]=r.fromPoint(o));o[n](t,i,u,f)},translate:function(n,t){this.transform("translate",null,null,n,t)},translatePoint:function(n,t,i){this.transformPoint("translate",null,null,n,t,i)},translateShape:function(n,t){var i=this.annotation.chart,r=this.annotation.userOptions,u=i.annotations.indexOf(this.annotation);i=i.options.annotations[u];this.translatePoint(n,t,0);i[this.collection][this.index].point=this.options.point;r[this.collection][this.index].point=this.options.point},rotate:function(n,t,i){this.transform("rotate",n,t,i)},scale:function(n,t,i,r){this.transform("scale",n,t,i,r)},setControlPointsVisibility:function(n){this.controlPoints.forEach(function(t){t.setVisibility(n)})},destroy:function(){this.graphic&&(this.graphic=this.graphic.destroy());this.tracker&&(this.tracker=this.tracker.destroy());this.controlPoints.forEach(function(n){n.destroy()});this.options=this.controlPoints=this.points=this.chart=null;this.annotation&&(this.annotation=null)},update:function(t){var r=this.annotation,i;t=n.merge(!0,this.options,t);i=this.graphic.parentGroup;this.destroy();this.constructor(r,t);this.render(i);this.redraw()}}});t(n,"annotations/controllable/markerMixin.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var r=t.defined,i=t.objectEach,u=t.splat,f={arrow:{tagName:"marker",render:!1,id:"arrow",refY:5,refX:9,markerWidth:10,markerHeight:10,children:[{tagName:"path",d:"M 0 0 L 10 5 L 0 10 Z",strokeWidth:0}]},"reverse-arrow":{tagName:"marker",render:!1,id:"reverse-arrow",refY:5,refX:1,markerWidth:10,markerHeight:10,children:[{tagName:"path",d:"M 0 5 L 10 0 L 10 10 Z",strokeWidth:0}]}};return n.SVGRenderer.prototype.addMarker=function(t,i){var r={id:t},u={stroke:i.color||"none",fill:i.color||"rgba(0, 0, 0, 0.75)"};return r.children=i.children.map(function(t){return n.merge(u,t)}),i=this.definition(n.merge(!0,{markerWidth:20,markerHeight:20,refX:0,refY:0,orient:"auto"},i,r)),i.id=t,i},t=function(n){return function(t){this.attr(n,"url(#"+t+")")}},t={markerEndSetter:t("marker-end"),markerStartSetter:t("marker-start"),setItemMarkers:function(t){var i=t.options,f=t.chart,e=f.options.defs,u=i.fill,o=r(u)&&"none"!==u?u:i.stroke;["markerStart","markerEnd"].forEach(function(r){var u=i[r],c,s,h;if(u){for(c in e)if(s=e[c],u===s.id&&"marker"===s.tagName){h=s;break}h&&(u=t[r]=f.renderer.addMarker((i.id||n.uniqueKey())+"-"+h.id,n.merge(h,{color:o})),t.attr(r,u.attr("id")))}})}},n.SVGRenderer.prototype.definition=function(t){function r(t,e){var o;return u(t).forEach(function(t){var u=f.createElement(t.tagName),s={};i(t,function(n,t){"tagName"!==t&&"children"!==t&&"textContent"!==t&&(s[t]=n)});u.attr(s);u.add(e||f.defs);t.textContent&&u.element.appendChild(n.doc.createTextNode(t.textContent));r(t.children||[],u);o=u}),o}var f=this;return r(t)},n.addEvent(n.Chart,"afterGetContainer",function(){this.options.defs=n.merge(f,this.options.defs||{});i(this.options.defs,function(n){"marker"===n.tagName&&!1!==n.render&&this.renderer.addMarker(n.id,n)},this)}),t});t(n,"annotations/controllable/ControllablePath.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["annotations/controllable/controllableMixin.js"],n["annotations/controllable/markerMixin.js"]],function(n,t,i,r){function u(n,t,i){this.init(n,t,i);this.collection="shapes"}var e=t.extend,f="rgba(192,192,192,"+(n.svg?.0001:.002)+")";return u.attrsMap={dashStyle:"dashstyle",strokeWidth:"stroke-width",stroke:"stroke",fill:"fill",zIndex:"zIndex"},n.merge(!0,u.prototype,i,{type:"path",setMarkers:r.setItemMarkers,toD:function(){var n=this.options.d;if(n)return"function"==typeof n?n.call(this):n;var u=this.points,o=u.length,t=o,r=u[0],i=t&&this.anchor(r).absolutePosition,e=0,f=2;for(n=i&&["M",i.x,i.y];++e<o&&t;)r=u[e],t=r.command||"L",i=this.anchor(r).absolutePosition,"Z"===t?n[++f]=t:(t!==u[e-1].command&&(n[++f]=t),n[++f]=i.x,n[++f]=i.y),t=r.series.visible;return t?this.chart.renderer.crispLine(n,this.graphic.strokeWidth()):null},shouldBeDrawn:function(){return i.shouldBeDrawn.call(this)||!!this.options.d},render:function(n){var t=this.options,u=this.attrsFromOptions(t);this.graphic=this.annotation.chart.renderer.path(["M",0,0]).attr(u).add(n);t.className&&this.graphic.addClass(t.className);this.tracker=this.annotation.chart.renderer.path(["M",0,0]).addClass("highcharts-tracker-line").attr({zIndex:2}).add(n);this.annotation.chart.styledMode||this.tracker.attr({"stroke-linejoin":"round",stroke:f,fill:f,"stroke-width":this.graphic.strokeWidth()+2*t.snap});i.render.call(this);e(this.graphic,{markerStartSetter:r.markerStartSetter,markerEndSetter:r.markerEndSetter});this.setMarkers(this)},redraw:function(n){var t=this.toD(),r=n?"animate":"attr";t?(this.graphic[r]({d:t}),this.tracker[r]({d:t})):(this.graphic.attr({d:"M 0 -9000000000"}),this.tracker.attr({d:"M 0 -9000000000"}));this.graphic.placed=this.tracker.placed=!!t;i.redraw.call(this,n)}}),u});t(n,"annotations/controllable/ControllableRect.js",[n["parts/Globals.js"],n["annotations/controllable/controllableMixin.js"],n["annotations/controllable/ControllablePath.js"]],function(n,t,i){function r(n,t,i
1){this.init(n,t,i);this.collection="shapes"}return r.attrsMap=n.merge(i.attrsMap,{width:"width",height:"height"}),n.merge(!0,r.prototype,t,{type:"rect",translate:t.translateShape,render:function(n){var i=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.rect(0,-9e9,0,0).attr(i).add(n);t.render.call(this)},redraw:function(n){var i=this.anchor(this.points[0]).absolutePosition;i?this.graphic[n?"animate":"attr"]({x:i.x,y:i.y,width:this.options.width,height:this.options.height}):this.attr({x:0,y:-9e9});this.graphic.placed=!!i;t.redraw.call(this,n)}}),r});t(n,"annotations/controllable/ControllableCircle.js",[n["parts/Globals.js"],n["annotations/controllable/controllableMixin.js"],n["annotations/controllable/ControllablePath.js"]],function(n,t,i){function r(n,t,i){this.init(n,t,i);this.collection="shapes"}return r.attrsMap=n.merge(i.attrsMap,{r:"r"}),n.merge(!0,r.prototype,t,{type:"circle",translate:t.translateShape,render:function(n){var i=this.attrsFromOptions(this.options);this.graphic=this.annotation.chart.renderer.circle(0,-9e9,0).attr(i).add(n);t.render.call(this)},redraw:function(n){var i=this.anchor(this.points[0]).absolutePosition;i?this.graphic[n?"animate":"attr"]({x:i.x,y:i.y,r:this.options.r}):this.graphic.attr({x:0,y:-9e9});this.graphic.placed=!!i;t.redraw.call(this,n)},setRadius:function(n){this.options.r=n}}),r});t(n,"annotations/controllable/ControllableLabel.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["annotations/controllable/controllableMixin.js"],n["annotations/MockPoint.js"]],function(n,t,i,r){function u(n,t,i){this.init(n,t,i);this.collection="labels"}var e=t.extend,f=t.isNumber,o=t.pick;return u.shapesWithoutBackground=["connector"],u.alignedPosition=function(n,t){var u=n.align,f=n.verticalAlign,e=(t.x||0)+(n.x||0),o=(t.y||0)+(n.y||0),i,r;return"right"===u?i=1:"center"===u&&(i=2),i&&(e+=(t.width-(n.width||0))/i),"bottom"===f?r=1:"middle"===f&&(r=2),r&&(o+=(t.height-(n.height||0))/r),{x:Math.round(e),y:Math.round(o)}},u.justifiedOptions=function(n,t,i,r){var f=i.align,e=i.verticalAlign,u=t.box?0:t.padding||0,s=t.getBBox(),o;return t={align:f,verticalAlign:e,x:i.x,y:i.y,width:t.width,height:t.height},i=r.x-n.plotLeft,o=r.y-n.plotTop,r=i+u,0>r&&("right"===f?t.align="left":t.x=-r),r=i+s.width-u,r>n.plotWidth&&("left"===f?t.align="right":t.x=n.plotWidth-r),r=o+u,0>r&&("bottom"===e?t.verticalAlign="top":t.y=-r),r=o+s.height-u,r>n.plotHeight&&("top"===e?t.verticalAlign="bottom":t.y=n.plotHeight-r),t},u.attrsMap={backgroundColor:"fill",borderColor:"stroke",borderWidth:"stroke-width",zIndex:"zIndex",borderRadius:"r",padding:"padding"},n.merge(!0,u.prototype,i,{translatePoint:function(n,t){i.translatePoint.call(this,n,t,0)},translate:function(n,t){var i=this.annotation.chart,u=this.annotation.userOptions,r=i.annotations.indexOf(this.annotation);r=i.options.annotations[r];i.inverted&&(i=n,n=t,t=i);this.options.x+=n;this.options.y+=t;r[this.collection][this.index].x=this.options.x;r[this.collection][this.index].y=this.options.y;u[this.collection][this.index].x=this.options.x;u[this.collection][this.index].y=this.options.y},render:function(n){var t=this.options,f=this.attrsFromOptions(t),r=t.style;this.graphic=this.annotation.chart.renderer.label("",0,-9999,t.shape,null,null,t.useHTML,null,"annotation-label").attr(f).add(n);this.annotation.chart.styledMode||("contrast"===r.color&&(r.color=this.annotation.chart.renderer.getContrast(-1<u.shapesWithoutBackground.indexOf(t.shape)?"#FFFFFF":t.backgroundColor)),this.graphic.css(t.style).shadow(t.shadow));t.className&&this.graphic.addClass(t.className);this.graphic.labelrank=t.labelrank;i.render.call(this)},redraw:function(t){var u=this.options,r=this.text||u.format||u.text,f=this.graphic,e=this.points[0];f.attr({text:r?n.format(r,e.getLabelConfig(),this.annotation.chart):u.formatter.call(e,this)});u=this.anchor(e);(r=this.position(u))?(f.alignAttr=r,r.anchorX=u.absolutePosition.x,r.anchorY=u.absolutePosition.y,f[t?"animate":"attr"](r)):f.attr({x:0,y:-9999});f.placed=!!r;i.redraw.call(this,t)},anchor:function(){var n=i.anchor.apply(this,arguments),t=this.options.x||0,r=this.options.y||0;return n.absolutePosition.x-=t,n.absolutePosition.y-=r,n.relativePosition.x-=t,n.relativePosition.y-=r,n},position:function(t){var h=this.graphic,c=this.annotation.chart,i=this.points[0],f=this.options,a=t.absolutePosition,l=t.relativePosition,s;return(t=i.series.visible&&r.prototype.isInsidePane.call(i))&&(f.distance?s=n.Tooltip.prototype.getPosition.call({chart:c,distance:o(f.distance,16)},h.width,h.height,{plotX:l.x,plotY:l.y,negative:i.negative,ttBelow:i.ttBelow,h:l.height||l.width}):f.positioner?s=f.positioner.call(this):(i={x:a.x,y:a.y,width:0,height:0},s=u.alignedPosition(e(f,{width:h.width,height:h.height}),i),"justify"===this.options.overflow&&(s=u.alignedPosition(u.justifiedOptions(c,h,f,s),i))),f.crop&&(f=s.x-c.plotLeft,i=s.y-c.plotTop,t=c.isInsidePlot(f,i)&&c.isInsidePlot(f+h.width,i+h.height))),t?s:null}}),n.SVGRenderer.prototype.symbols.connector=function(n,t,i,r,u){var s=u&&u.anchorX,h,o,e;return u=u&&u.anchorY,h=i/2,f(s)&&f(u)&&(o=["M",s,u],e=t-u,0>e&&(e=-r-e),e<i&&(h=s<n+i/2?e:i-e),u>t+r?o.push("L",n+h,t+r):u<t?o.push("L",n+h,t):s<n?o.push("L",n,t+r/2):s>n+i&&o.push("L",n+i,t+r/2)),o||[]},u});t(n,"annotations/controllable/ControllableImage.js",[n["parts/Globals.js"],n["annotations/controllable/controllableMixin.js"],n["annotations/controllable/ControllableLabel.js"]],function(n,t,i){function r(n,t,i
1){this.init(n,t,i);this.collection="shapes"}return r.attrsMap={width:"width",height:"height",zIndex:"zIndex"},n.merge(!0,r.prototype,t,{type:"image",translate:t.translateShape,render:function(n){var r=this.attrsFromOptions(this.options),i=this.options;this.graphic=this.annotation.chart.renderer.image(i.src,0,-9e9,i.width,i.height).attr(r).add(n);this.graphic.width=i.width;this.graphic.height=i.height;t.render.call(this)},redraw:function(n){var r=this.anchor(this.points[0]);(r=i.prototype.position.call(this,r))?this.graphic[n?"animate":"attr"]({x:r.x,y:r.y}):this.graphic.attr({x:0,y:-9e9});this.graphic.placed=!!r;t.redraw.call(this,n)}}),r});t(n,"annotations/annotations.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["annotations/controllable/controllableMixin.js"],n["annotations/controllable/ControllableRect.js"],n["annotations/controllable/ControllableCircle.js"],n["annotations/controllable/ControllablePath.js"],n["annotations/controllable/ControllableImage.js"],n["annotations/controllable/ControllableLabel.js"],n["annotations/eventEmitterMixin.js"],n["annotations/MockPoint.js"],n["annotations/ControlPoint.js"]],function(n,t,i,r,u,f,e,o,s,h,c){var k=t.defined,d=t.destroyObjectProperties,y=t.erase,g=t.extend,p=t.pick,nt=t.splat;t=t.wrap;var l=n.merge,w=n.addEvent,b=n.fireEvent,tt=n.find,it=n.reduce,v=n.Chart.prototype,a=n.Annotation=function(n,t){this.chart=n;this.points=[];this.controlPoints=[];this.coll="annotations";this.labels=[];this.shapes=[];this.options=l(this.defaultOptions,t);this.userOptions=t;t=this.getLabelsAndShapesOptions(this.options,t);this.options.labels=t.labels;this.options.shapes=t.shapes;this.init(n,this.options)};l(!0,a.prototype,i,s,{nonDOMEvents:["add","afterUpdate","drag","remove"],defaultOptions:{visible:!0,draggable:"xy",labelOptions:{align:"center",allowOverlap:!1,backgroundColor:"rgba(0, 0, 0, 0.75)",borderColor:"black",borderRadius:3,borderWidth:1,className:"",crop:!1,formatter:function(){return k(this.y)?this.y:"Annotation label"},overflow:"justify",padding:5,shadow:!1,shape:"callout",style:{fontSize:"11px",fontWeight:"normal",color:"contrast"},useHTML:!1,verticalAlign:"bottom",x:0,y:-16},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1,fill:"rgba(0, 0, 0, 0.75)",r:0,snap:2},controlPointOptions:{symbol:"circle",width:10,height:10,style:{stroke:"black","stroke-width":2,fill:"white"},visible:!1,events:{}},events:{},zIndex:6},init:function(){this.linkPoints();this.addControlPoints();this.addShapes();this.addLabels();this.addClipPaths();this.setLabelCollector()},getLabelsAndShapesOptions:function(n,t){var i={};return["labels","shapes"].forEach(function(r){n[r]&&(i[r]=nt(t[r]).map(function(t,i){return l(n[r][i],t)}))}),i},addShapes:function(){(this.options.shapes||[]).forEach(function(n,t){n=this.initShape(n,t);l(!0,this.options.shapes[t],n.options)},this)},addLabels:function(){(this.options.labels||[]).forEach(function(n,t){n=this.initLabel(n,t);l(!0,this.options.labels[t],n.options)},this)},addClipPaths:function(){this.setClipAxes();this.clipXAxis&&this.clipYAxis&&(this.clipRect=this.chart.renderer.clipRect(this.getClipBox()))},setClipAxes:function(){var t=this.chart.xAxis,i=this.chart.yAxis,n=it((this.options.labels||[]).concat(this.options.shapes||[]),function(n,r){return[t[r&&r.point&&r.point.xAxis]||n[0],i[r&&r.point&&r.point.yAxis]||n[1]]},[]);this.clipXAxis=n[0];this.clipYAxis=n[1]},getClipBox:function(){return{x:this.clipXAxis.left,y:this.clipYAxis.top,width:this.clipXAxis.width,height:this.clipYAxis.height}},setLabelCollector:function(){var n=this;n.labelCollector=function(){return n.labels.reduce(function(n,t){return t.options.allowOverlap||n.push(t.graphic),n},[])};n.chart.labelCollectors.push(n.labelCollector)},setOptions:function(n){this.options=l(this.defaultOptions,n)},redraw:function(n){this.linkPoints();this.graphic||this.render();this.clipRect&&this.clipRect.animate(this.getClipBox());this.redrawItems(this.shapes,n);this.redrawItems(this.labels,n);i.redraw.call(this,n)},redrawItems:function(n,t){for(var i=n.length;i--;)this.redrawItem(n[i],t)},render:function(){var n=this.chart.renderer;this.graphic=n.g("annotation").attr({zIndex:this.options.zIndex,visibility:this.options.visible?"visible":"hidden"}).add();this.shapesGroup=n.g("annotation-shapes").add(this.graphic).clip(this.chart.plotBoxClip);this.labelsGroup=n.g("annotation-labels").attr({translateX:0,translateY:0}
1).add(this.graphic);this.clipRect&&this.graphic.clip(this.clipRect);this.addEvents();i.render.call(this)},setVisibility:function(n){var t=this.options;n=p(n,!t.visible);this.graphic.attr("visibility",n?"visible":"hidden");n||this.setControlPointsVisibility(!1);t.visible=n},setControlPointsVisibility:function(n){var t=function(t){t.setControlPointsVisibility(n)};i.setControlPointsVisibility.call(this,n);this.shapes.forEach(t);this.labels.forEach(t)},destroy:function(){var n=this.chart,t=function(n){n.destroy()};this.labels.forEach(t);this.shapes.forEach(t);this.clipYAxis=this.clipXAxis=null;y(n.labelCollectors,this.labelCollector);s.destroy.call(this);i.destroy.call(this);d(this,n)},remove:function(){return this.chart.removeAnnotation(this)},update:function(t){var i=this.chart,r=this.getLabelsAndShapesOptions(this.userOptions,t),u=i.annotations.indexOf(this);t=n.merge(!0,this.userOptions,t);t.labels=r.labels;t.shapes=r.shapes;this.destroy();this.constructor(i,t);i.options.annotations[u]=t;this.isUpdating=!0;this.redraw();this.isUpdating=!1;b(this,"afterUpdate")},initShape:function(n,t){return n=l(this.options.shapeOptions,{controlPointOptions:this.options.controlPointOptions},n),t=new a.shapesMap[n.type](this,n,t),t.itemType="shape",this.shapes.push(t),t},initLabel:function(n,t){return n=l(this.options.labelOptions,{controlPointOptions:this.options.controlPointOptions},n),t=new o(this,n,t),t.itemType="label",this.labels.push(t),t},redrawItem:function(n,t){n.linkPoints();n.shouldBeDrawn()?(n.graphic||this.renderItem(n),n.redraw(p(t,!0)&&n.graphic.placed),n.points.length&&this.adjustVisibility(n)):this.destroyItem(n)},adjustVisibility:function(n){var i=!1,t=n.graphic;n.points.forEach(function(n){!1!==n.series.visible&&!1!==n.visible&&(i=!0)});i?"hidden"===t.visibility&&t.show():t.hide()},destroyItem:function(n){y(this[n.itemType+"s"],n);n.destroy()},renderItem:function(n){n.render("label"===n.itemType?this.labelsGroup:this.shapesGroup)}});a.shapesMap={rect:r,circle:u,path:f,image:e};a.types={};a.MockPoint=h;a.ControlPoint=c;n.extendAnnotation=function(n,t,i,r){t=t||a;l(!0,n.prototype,t.prototype,i);n.prototype.defaultOptions=l(n.prototype.defaultOptions,r||{})};g(v,{initAnnotation:function(n){return n=new(a.types[n.type]||a)(this,n),this.annotations.push(n),n},addAnnotation:function(n,t){return n=this.initAnnotation(n),this.options.annotations.push(n.options),p(t,!0)&&n.redraw(),n},removeAnnotation:function(n){var i=this.annotations,t="annotations"===n.coll?n:tt(i,function(t){return t.options.id===n});t&&(b(t,"remove"),y(this.options.annotations,t.options),y(i,t),t.destroy())},drawAnnotations:function(){this.plotBoxClip.attr(this.plotBox);this.annotations.forEach(function(n){n.redraw()})}});v.collectionsWithUpdate.push("annotations");v.collectionsWithInit.annotations=[v.addAnnotation];v.callbacks.push(function(n){n.annotations=[];n.options.annotations||(n.options.annotations=[]);n.plotBoxClip=this.renderer.clipRect(this.plotBox);n.controlPointsGroup=n.renderer.g("control-points").attr({zIndex:99}).clip(n.plotBoxClip).add();n.options.annotations.forEach(function(t,i){t=n.initAnnotation(t);n.options.annotations[i]=t.options});n.drawAnnotations();w(n,"redraw",n.drawAnnotations);w(n,"destroy",function(){n.plotBoxClip.destroy();n.controlPointsGroup.destroy()})});t(n.Pointer.prototype,"onContainerMouseDown",function(n){this.chart.hasDraggedAnnotation||n.apply(this,Array.prototype.slice.call(arguments,1))})});t(n,"annotations/types/CrookedLine.js",[n["parts/Globals.js"]],function(n){function i(){t.apply(this,arguments)}var t=n.Annotation,r=t.MockPoint,u=t.ControlPoint;return n.extendAnnotation(i,null,{setClipAxes:function(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis];this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]},getPointsOptions:function(){var n=this.options.typeOptions;return n.points.map(function(t){return t.xAxis=n.xAxis,t.yAxis=n.yAxis,t})},getControlPointsOptions:function(){return this.getPointsOptions()},addControlPoints:function(){this.getControlPointsOptions().forEach(function(t,i){i=new u(this.chart,this,n.merge(this.options.controlPointOptions,t.controlPoint),i);this.controlPoints.push(i);t.controlPoint=i.options},this)},addShapes:function(){var t=this.options.typeOptions,i=this.initShape(n.merge(t.line,{type:"path",points:this.points.map(function(n,t){return function(n){return n.annotation.points[t]}})}),!1);t.line=i.options}},{typeOptions:{xAxis:0,yAxis:0,line:{fill:"none"}},controlPointOptions:{positioner:function(n){var t=this.graphic;return n=r.pointToPixels(n.points[this.index]),{x:n.x-t.width/2,y:n.y-t.height/2}},events:{drag:function(n,t){t.chart.isInsidePlot(n.chartX-t.chart.plotLeft,n.chartY-t.chart.plotTop)&&(n=this.mouseMoveToTranslation(n),t.translatePoint(n.x,n.y,this.index),t.options.typeOptions.points[this.index].x=t.points[this.index].x,t.options.typeOptions.points[this.index].y=t.points[this.index].y,t.redraw(!1))}}}}),t.types.crookedLine=i});t(n,"annotations/types/ElliottWave.js",[n["parts/Globals.js"]],function(n){function t(){r.apply(this,arguments)}var i=n.Annotation,r=i.types.crookedLine;return n.extendAnnotation(t,r,{addLabels:function(){this.getPointsOptions().forEac
1h(function(t,i){var r=this.initLabel(n.merge(t.label,{text:this.options.typeOptions.labels[i],point:function(n){return n.annotation.points[i]}}),!1);t.label=r.options},this)}},{typeOptions:{labels:"(0) (A) (B) (C) (D) (E)".split(" "),line:{strokeWidth:1}},labelOptions:{align:"center",allowOverlap:!0,crop:!0,overflow:"none",type:"rect",backgroundColor:"none",borderWidth:0,y:-5}}),i.types.elliottWave=t});t(n,"annotations/types/Tunnel.js",[n["parts/Globals.js"]],function(n){function u(){i.apply(this,arguments)}var t=n.Annotation,i=t.types.crookedLine,f=t.ControlPoint,r=t.MockPoint;return n.extendAnnotation(u,i,{getPointsOptions:function(){var n=i.prototype.getPointsOptions.call(this);return n[2]=this.heightPointOptions(n[1]),n[3]=this.heightPointOptions(n[0]),n},getControlPointsOptions:function(){return this.getPointsOptions().slice(0,2)},heightPointOptions:function(t){return t=n.merge(t),t.y+=this.options.typeOptions.height,t},addControlPoints:function(){i.prototype.addControlPoints.call(this);var t=this.options,r=new f(this.chart,this,n.merge(t.controlPointOptions,t.typeOptions.heightControlPoint),2);this.controlPoints.push(r);t.typeOptions.heightControlPoint=r.options},addShapes:function(){this.addLine();this.addBackground()},addLine:function(){var t=this.initShape(n.merge(this.options.typeOptions.line,{type:"path",points:[this.points[0],this.points[1],function(n){return n=r.pointToOptions(n.annotation.points[2]),n.command="M",n},this.points[3]]}),!1);this.options.typeOptions.line=t.options},addBackground:function(){var t=this.initShape(n.merge(this.options.typeOptions.background,{type:"path",points:this.points.slice()}));this.options.typeOptions.background=t.options},translateSide:function(n,t,i){i=Number(i);var r=0===i?3:2;this.translatePoint(n,t,i);this.translatePoint(n,t,r)},translateHeight:function(n){this.translatePoint(0,n,2);this.translatePoint(0,n,3);this.options.typeOptions.height=this.points[3].y-this.points[0].y}},{typeOptions:{xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},line:{strokeWidth:1},height:-2,heightControlPoint:{positioner:function(n){var t=r.pointToPixels(n.points[2]),i;return n=r.pointToPixels(n.points[3]),i=(t.x+n.x)/2,{x:i-this.graphic.width/2,y:(n.y-t.y)/(n.x-t.x)*(i-t.x)+t.y-this.graphic.height/2}},events:{drag:function(n,t){t.chart.isInsidePlot(n.chartX-t.chart.plotLeft,n.chartY-t.chart.plotTop)&&(t.translateHeight(this.mouseMoveToTranslation(n).y),t.redraw(!1))}}}},controlPointOptions:{events:{drag:function(n,t){t.chart.isInsidePlot(n.chartX-t.chart.plotLeft,n.chartY-t.chart.plotTop)&&(n=this.mouseMoveToTranslation(n),t.translateSide(n.x,n.y,this.index),t.redraw(!1))}}}}),t.types.tunnel=u});t(n,"annotations/types/InfinityLine.js",[n["parts/Globals.js"]],function(n){function t(){f.apply(this,arguments)}var r=n.Annotation,i=r.MockPoint,f=r.types.crookedLine,u;return t.findEdgeCoordinate=function(n,t,i,r){var u="x"===i?"y":"x";return(t[i]-n[i])*(r-n[u])/(t[u]-n[u])+n[i]},t.findEdgePoint=function(n,r){var e=n.series.xAxis,s=r.series.yAxis,f=i.pointToPixels(n),h=i.pointToPixels(r),o=h.x-f.x,a=h.y-f.y,u,c,l;return r=e.left,u=r+e.width,e=s.top,s=e+s.height,c=0>o?r:u,l=0>a?e:s,u={x:0===o?f.x:c,y:0===a?f.y:l},0!==o&&0!==a&&(o=t.findEdgeCoordinate(f,h,"y",c),f=t.findEdgeCoordinate(f,h,"x",l),o>=e&&o<=s?(u.x=c,u.y=o):(u.x=f,u.y=l)),u.x-=r,u.y-=e,n.series.chart.inverted&&(n=u.x,u.x=u.y,u.y=n),u},u=function(n,r){return function(u){u=u.annotation;var f=u.points,e=u.options.typeOptions.type;return"horizontalLine"===e?f=[f[0],new i(u.chart,f[0].target,{x:f[0].x+1,y:f[0].y,xAxis:f[0].options.xAxis,yAxis:f[0].options.yAxis})]:"verticalLine"===e&&(f=[f[0],new i(u.chart,f[0].target,{x:f[0].x,y:f[0].y+1,xAxis:f[0].options.xAxis,yAxis:f[0].options.yAxis})]),t.findEdgePoint(f[n],f[r])}},t.endEdgePoint=u(0,1),t.startEdgePoint=u(1,0),n.extendAnnotation(t,f,{addShapes:function(){var r=this.options.typeOptions,i=[this.points[0],t.endEdgePoint];r.type.match(/Line/g)&&(i[0]=t.startEdgePoint);i=this.initShape(n.merge(r.line,{type:"path",points:i}),!1);r.line=i.options}}),r.types.infinityLine=t});t(n,"annotations/types/Fibonacci.js",[n["parts/Globals.js"]],function(n){function t(){this.startRetracements=[];this.endRetracements=[];r.apply(this,arguments)}var i=n.Annotation,u=i.MockPoint,r=i.types.tunnel,f=function(n,t){return function(){var i=this.annotation,r=this.anchor(i.startRetracements[n]).absolutePosition,u=this.anchor(i.endRetracements[n]).absolutePosition;return r=["M",Math.round(r.x),Math.round(r.y),"L",Math.round(u.x),Math.round(u.y)],t&&(u=this.anchor(i.endRetracements[n-1]).absolutePosition,i=this.anchor(i.startRetracements[n-1]).absolutePosition,r.push("L",Math.round(u.x),Math.round(u.y),"L",Math.round(i.x),Math.round(i.y))),r}};return t.levels=[0,.236,.382,.5,.618,.786,1],n.extendAnnotation(t,r,{linkPoints:function(){r.prototype.linkPoints.call(this);this.linkRetracementsPoints()},linkRetracementsPoints:function(){var n=this.points,i=n[0].y-n[3].y,r=n[1].y-n[2].y,u=n[0].x,f=n[1].x;
1t.levels.forEach(function(t,e){var o=n[1].y-r*t;this.linkRetracementPoint(e,u,n[0].y-i*t,this.startRetracements);this.linkRetracementPoint(e,f,o,this.endRetracements)},this)},linkRetracementPoint:function(n,t,i,r){var f=r[n],e=this.options.typeOptions;f?(f.options.x=t,f.options.y=i,f.refresh()):r[n]=new u(this.chart,this,{x:t,y:i,xAxis:e.xAxis,yAxis:e.yAxis})},addShapes:function(){t.levels.forEach(function(n,t){this.initShape({type:"path",d:f(t)},!1);0<t&&this.initShape({type:"path",fill:this.options.typeOptions.backgroundColors[t-1],strokeWidth:0,d:f(t,!0)})},this)},addLabels:function(){t.levels.forEach(function(t,i){var r=this.options.typeOptions;t=this.initLabel(n.merge(r.labels[i],{point:function(n){return u.pointToOptions(n.annotation.startRetracements[i])},text:t.toString()}));r.labels[i]=t.options},this)}},{typeOptions:{height:2,backgroundColors:"rgba(130, 170, 255, 0.4);rgba(139, 191, 216, 0.4);rgba(150, 216, 192, 0.4);rgba(156, 229, 161, 0.4);rgba(162, 241, 130, 0.4);rgba(169, 255, 101, 0.4)".split(";"),lineColor:"grey",lineColors:[],labels:[]},labelOptions:{allowOverlap:!0,align:"right",backgroundColor:"none",borderWidth:0,crop:!1,overflow:"none",shape:"rect",style:{color:"grey"},verticalAlign:"middle",y:0}}),i.types.fibonacci=t});t(n,"annotations/types/Pitchfork.js",[n["parts/Globals.js"]],function(n){function t(){r.apply(this,arguments)}var i=n.Annotation,f=i.MockPoint,r=i.types.infinityLine,u;return t.findEdgePoint=function(n,t,i){return t=Math.atan2(i.plotY-t.plotY,i.plotX-t.plotX),{x:n.plotX+1e7*Math.cos(t),y:n.plotY+1e7*Math.sin(t)}},t.middleLineEdgePoint=function(n){var t=n.annotation;return r.findEdgePoint(t.points[0],new f(t.chart,n,t.midPointOptions()))},u=function(n){return function(i){var r=i.annotation,u=r.points;return t.findEdgePoint(u[n],u[0],new f(r.chart,i,r.midPointOptions()))}},t.topLineEdgePoint=u(1),t.bottomLineEdgePoint=u(0),n.extendAnnotation(t,r,{midPointOptions:function(){var n=this.points;return{x:(n[1].x+n[2].x)/2,y:(n[1].y+n[2].y)/2,xAxis:n[0].series.xAxis,yAxis:n[0].series.yAxis}},addShapes:function(){this.addLines();this.addBackgrounds()},addLines:function(){this.initShape({type:"path",points:[this.points[0],t.middleLineEdgePoint]},!1);this.initShape({type:"path",points:[this.points[1],t.topLineEdgePoint]},!1);this.initShape({type:"path",points:[this.points[2],t.bottomLineEdgePoint]},!1)},addBackgrounds:function(){var t=this.shapes,i=this.options.typeOptions,r=this.initShape(n.merge(i.innerBackground,{type:"path",points:[function(n){var t=n.annotation;return n=t.points,t=t.midPointOptions(),{x:(n[1].x+t.x)/2,y:(n[1].y+t.y)/2,xAxis:t.xAxis,yAxis:t.yAxis}},t[1].points[1],t[2].points[1],function(n){var t=n.annotation;return n=t.points,t=t.midPointOptions(),{x:(t.x+n[2].x)/2,y:(t.y+n[2].y)/2,xAxis:t.xAxis,yAxis:t.yAxis}}]}));t=this.initShape(n.merge(i.outerBackground,{type:"path",points:[this.points[1],t[1].points[1],t[2].points[1],this.points[2]]}));i.innerBackground=r.options;i.outerBackground=t.options}},{typeOptions:{innerBackground:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0},outerBackground:{fill:"rgba(156, 229, 161, 0.4)",strokeWidth:0}}}),i.types.pitchfork=t});t(n,"annotations/types/VerticalLine.js",[n["parts/Globals.js"]],function(n){function t(){n.Annotation.apply(this,arguments)}var i=n.Annotation,r=i.MockPoint;return t.connectorFirstPoint=function(n){n=n.annotation;var t=n.points[0],i=r.pointToPixels(t,!0),u=i.y,f=n.options.typeOptions.label.offset;return n.chart.inverted&&(u=i.x),{x:t.x,xAxis:t.series.xAxis,y:u+f}},t.connectorSecondPoint=function(n){var t=n.annotation,i,u;return n=t.options.typeOptions,i=t.points[0],u=n.yOffset,t=r.pointToPixels(i,!0)[t.chart.inverted?"x":"y"],0>n.label.offset&&(u*=-1),{x:i.x,xAxis:i.series.xAxis,y:t+u}},n.extendAnnotation(t,null,{getPointsOptions:function(){return[this.options.typeOptions.point]},addShapes:function(){var i=this.options.typeOptions,r=this.initShape(n.merge(i.connector,{type:"path",points:[t.connectorFirstPoint,t.connectorSecondPoint]}),!1);i.connector=r.options},addLabels:function(){var i=this.options.typeOptions,t=i.label,r=0,u=t.offset,f=0>t.offset?"bottom":"top",e="center";this.chart.inverted&&(r=t.offset,u=0,f="middle",e=0>t.offset?"right":"left");t=this.initLabel(n.merge(t,{verticalAlign:f,align:e,x:r,y:u}));i.label=t.options}},{typeOptions:{yOffset:10,label:{offset:-40,point:function(n){return n.annotation.points[0]},allowOverlap:!0,backgroundColor:"none",borderWidth:0,crop:!0,overflow:"none",shape:"rect",text:"{y:.2f}"},connector:{strokeWidth:1,markerEnd:"arrow"}}}),i.types.verticalLine=t});t(n,"annotations/types/Measure.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){function u(){i.apply(this,arguments)}var r=t.extend,f=t.isNumber,i=n.Annotation,e=i.ControlPoint,o=n.merge;return i.types.measure=u,n.extendAnnotation(u,null,{init:function(){i.prototype.init.a
1pply(this,arguments);this.resizeY=this.resizeX=this.offsetY=this.offsetX=0;this.calculations.init.call(this);this.addValues();this.addShapes()},setClipAxes:function(){this.clipXAxis=this.chart.xAxis[this.options.typeOptions.xAxis];this.clipYAxis=this.chart.yAxis[this.options.typeOptions.yAxis]},pointsOptions:function(){return this.options.options.points},shapePointsOptions:function(){var n=this.options.typeOptions,t=n.xAxis;return n=n.yAxis,[{x:this.xAxisMin,y:this.yAxisMin,xAxis:t,yAxis:n},{x:this.xAxisMax,y:this.yAxisMin,xAxis:t,yAxis:n},{x:this.xAxisMax,y:this.yAxisMax,xAxis:t,yAxis:n},{x:this.xAxisMin,y:this.yAxisMax,xAxis:t,yAxis:n}]},addControlPoints:function(){var t=this.options.typeOptions.selectType,n=new e(this.chart,this,this.options.controlPointOptions,0);this.controlPoints.push(n);"xy"!==t&&(n=new e(this.chart,this,this.options.controlPointOptions,1),this.controlPoints.push(n))},addValues:function(n){var t=this.options.typeOptions,i=t.label.formatter;this.calculations.recalculate.call(this,n);t.label.enabled&&(0<this.labels.length?this.labels[0].text=i&&i.call(this)||this.calculations.defaultFormatter.call(this):this.initLabel(r({shape:"rect",backgroundColor:"none",color:"black",borderWidth:0,dashStyle:"dash",overflow:"none",align:"left",vertical:"top",crop:!0,point:function(n){n=n.annotation;var i=n.chart,r=i.inverted,f=i.yAxis[t.yAxis],u=i.plotTop,e=i.plotLeft;return{x:(r?u:10)+i.xAxis[t.xAxis].toPixels(n.xAxisMin,!r),y:(r?-e+10:u)+f.toPixels(n.yAxisMin)}},text:i&&i.call(this)||this.calculations.defaultFormatter.call(this)},t.label)))},addShapes:function(){this.addCrosshairs();this.addBackground()},addBackground:function(){"undefined"!=typeof this.shapePointsOptions()[0].x&&this.initShape(r({type:"path",points:this.shapePointsOptions()},this.options.typeOptions.background),!1)},addCrosshairs:function(){var n=this.chart,t=this.options.typeOptions,e=this.options.typeOptions.point,i=n.xAxis[t.xAxis],f=n.yAxis[t.yAxis],s=n.inverted;n=i.toPixels(this.xAxisMin);i=i.toPixels(this.xAxisMax);var u=f.toPixels(this.yAxisMin),h=f.toPixels(this.yAxisMax),c={point:e,type:"path"};e=[];f=[];s&&(s=n,n=u,u=s,s=i,i=h,h=s);t.crosshairX.enabled&&(e=["M",n,u+(h-u)/2,"L",i,u+(h-u)/2]);t.crosshairY.enabled&&(f=["M",n+(i-n)/2,u,"L",n+(i-n)/2,h]);0<this.shapes.length?(this.shapes[0].options.d=e,this.shapes[1].options.d=f):(n=o(c,t.crosshairX),t=o(c,t.crosshairY),this.initShape(r({d:e},n),!1),this.initShape(r({d:f},t),!1))},onDrag:function(n){var t=this.mouseMoveToTranslation(n),i=this.options.typeOptions.selectType;n="y"===i?0:t.x;t="x"===i?0:t.y;this.translate(n,t);this.offsetX+=n;this.offsetY+=t;this.redraw(!1,!1,!0)},resize:function(n,t,i,r){var u=this.shapes[2];"x"===r?0===i?(u.translatePoint(n,0,0),u.translatePoint(n,t,3)):(u.translatePoint(n,0,1),u.translatePoint(n,t,2)):"y"===r?0===i?(u.translatePoint(0,t,0),u.translatePoint(0,t,1)):(u.translatePoint(0,t,2),u.translatePoint(0,t,3)):(u.translatePoint(n,0,1),u.translatePoint(n,t,2),u.translatePoint(0,t,3));this.calculations.updateStartPoints.call(this,!1,!0,i,n,t);this.options.typeOptions.background.height=Math.abs(this.startYMax-this.startYMin);this.options.typeOptions.background.width=Math.abs(this.startXMax-this.startXMin)},redraw:function(n,t,i){this.linkPoints();this.graphic||this.render();i&&this.calculations.updateStartPoints.call(this,!0,!1);this.clipRect&&this.clipRect.animate(this.getClipBox());this.addValues(t);this.addCrosshairs();this.redrawItems(this.shapes,n);this.redrawItems(this.labels,n);this.controlPoints.forEach(function(n){n.redraw()})},translate:function(n,t){this.shapes.forEach(function(i){i.translate(n,t)});this.options.typeOptions.point.x=this.startXMin;this.options.typeOptions.point.y=this.startYMin},calculations:{init:function(){var i=this.options.typeOptions,n=this.chart,c=this.calculations.getPointPos,r=n.inverted,u=n.xAxis[i.xAxis],e=n.yAxis[i.yAxis],t=i.background,o=r?t.height:t.width,s,h;t=r?t.width:t.height;s=i.selectType;h=r?n.plotLeft:n.plotTop;n=r?n.plotTop:n.plotLeft;this.startXMin=i.point.x;this.startYMin=i.point.y;this.startXMax=f(o)?this.startXMin+o:c(u,this.startXMin,parseFloat(o));this.startYMax=f(t)?this.startYMin-t:c(e,this.startYMin,parseFloat(t));"x"===s?(this.startYMin=e.toValue(h),this.startYMax=e.toValue(h+e.len)):"y"===s&&(this.startXMin=u.toValue(n),this.startXMax=u.toValue(n+u.len))},recalculate:function(n){var i=this.calculations,t=this.options.typeOptions,u=this.chart.xAxis[t.xAxis];t=this.chart.yAxis[t.yAxis];var r=this.calculations.getPointPos,f=this.offsetX,e=this.offsetY;this.xAxisMin=r(u,this.startXMin,f);this.xAxisMax=r(u,this.startXMax,f);this.yAxisMin=r(t,this.startYMin,e);this.yAxisMax=r(t,this.startYMax,e);this.min=i.min.call(this);this.max=i.max.call(this);this.average=i.average.call(this);this.bins=i.bins.call(this);n&&this.resize(0,0)},getPointPos:function(n,t,i){return n.toValue(n.toPixels(t)+i)},updateStartPoints:function(n,t,i,r,u){var e=this.options.typeOptions,c=e.selectType,o=this.chart.xAxis[e.xAxis];e=this.chart.yAxis[e.yAxis];var f=this.calculations.getPointPos,l=this.startXMin,s=this.startXMax,a=this.startYMin,h=this.startYMax,v=this.offsetX,y=this.offsetY;t&&("x"===c?0===i?this.startXMin=f(o,l,r):this.startXMax=f(o,s,r):"y"===c?0===i?this.startYMin=f(e,a,u):this.startYMax=f(e,h,u):(this.startXMax=f(o,s,r),this.startYMax=f(e,h,u)));n&&(this.startXMin=f(o,l,v),this.startXMax=f(o,s,v),this.startYMin=f(e,a,y),this.startYMax=f(e,h,y),this.offsetY=this.offsetX=0)},defaultFormatter:function(){return"Min: "+this.min+"<br>Max: "+this.max+"<br>Average: "+this.average+"<br>Bins: "+this.bins},getExtremes:function(n,t,i,r){return{xAxisMin:Math.min(t,n),xAxisMax:Math.max(t,n),yAxisMin:Math.min(r,i),yAxisMax:Math.max(r,
1i)}},min:function(){var n=Infinity,r=this.chart.series,t=this.calculations.getExtremes(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),i=!1;return r.forEach(function(r){r.visible&&"highcharts-navigator-series"!==r.options.id&&r.points.forEach(function(r){!r.isNull&&r.y<n&&r.x>t.xAxisMin&&r.x<=t.xAxisMax&&r.y>t.yAxisMin&&r.y<=t.yAxisMax&&(n=r.y,i=!0)})}),i||(n=""),n},max:function(){var n=-Infinity,r=this.chart.series,t=this.calculations.getExtremes(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),i=!1;return r.forEach(function(r){r.visible&&"highcharts-navigator-series"!==r.options.id&&r.points.forEach(function(r){!r.isNull&&r.y>n&&r.x>t.xAxisMin&&r.x<=t.xAxisMax&&r.y>t.yAxisMin&&r.y<=t.yAxisMax&&(n=r.y,i=!0)})}),i||(n=""),n},average:function(){var n="";return""!==this.max&&""!==this.min&&(n=(this.max+this.min)/2),n},bins:function(){var t=0,r=this.chart.series,n=this.calculations.getExtremes(this.xAxisMin,this.xAxisMax,this.yAxisMin,this.yAxisMax),i=!1;return r.forEach(function(r){r.visible&&"highcharts-navigator-series"!==r.options.id&&r.points.forEach(function(r){!r.isNull&&r.x>n.xAxisMin&&r.x<=n.xAxisMax&&r.y>n.yAxisMin&&r.y<=n.yAxisMax&&(t++,i=!0)})}),i||(t=""),t}}},{typeOptions:{selectType:"xy",xAxis:0,yAxis:0,background:{fill:"rgba(130, 170, 255, 0.4)",strokeWidth:0,stroke:void 0},crosshairX:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},crosshairY:{enabled:!0,zIndex:6,dashStyle:"Dash",markerEnd:"arrow"},label:{enabled:!0,style:{fontSize:"11px",color:"#666666"},formatter:void 0}},controlPointOptions:{positioner:function(n){var u=this.index,i=n.chart,f=n.options,t=f.typeOptions,s=t.selectType,h,o,e,r;return f=f.controlPointOptions,h=i.inverted,o=i.xAxis[t.xAxis],i=i.yAxis[t.yAxis],t=n.xAxisMax,e=n.yAxisMax,r=n.calculations.getExtremes(n.xAxisMin,n.xAxisMax,n.yAxisMin,n.yAxisMax),"x"===s&&(e=(r.yAxisMax-r.yAxisMin)/2,0===u&&(t=n.xAxisMin)),"y"===s&&(t=r.xAxisMin+(r.xAxisMax-r.xAxisMin)/2,0===u&&(e=n.yAxisMin)),h?(n=i.toPixels(e),u=o.toPixels(t)):(n=o.toPixels(t),u=i.toPixels(e)),{x:n-f.width/2,y:u-f.height/2}},events:{drag:function(n,t){var i=this.mouseMoveToTranslation(n),r;n=t.options.typeOptions.selectType;r="y"===n?0:i.x;i="x"===n?0:i.y;t.resize(r,i,this.index,n);t.resizeX+=r;t.resizeY+=i;t.redraw(!1,!0)}}}}),i.types.measure=u});t(n,"mixins/navigation.js",[],function(){return{initUpdate:function(n){n.navigation||(n.navigation={updates:[],update:function(n,t){this.updates.forEach(function(i){i.update.call(i.context,n,t)})}})},addUpdate:function(n,t){t.navigation||this.initUpdate(t);t.navigation.updates.push({update:n,context:t})}}});t(n,"annotations/navigationBindings.js",[n["parts/Globals.js"],n["parts/Utilities.js"],n["mixins/navigation.js"]],function(n,t,i){function s(t){var i=t.prototype.defaultOptions.events&&t.prototype.defaultOptions.events.click;n.merge(!0,t.prototype.defaultOptions.events,{click:function(n){var r=this,t=r.chart.navigationBindings,u=t.activeAnnotation;i&&i.click.call(r,n);u!==r?(t.deselectAnnotation(),t.activeAnnotation=r,r.setControlPointsVisibility(!0),f(t,"showPopup",{annotation:r,formType:"annotation-toolbar",options:t.annotationToFields(r),onSubmit:function(n){var i={};"remove"===n.actionType?(t.activeAnnotation=!1,t.chart.removeAnnotation(r)):(t.fieldsToOptions(n.fields,i),t.deselectAnnotation(),n=i.typeOptions,"measure"===r.options.type&&(n.crosshairY.enabled=0!==n.crosshairY.strokeWidth,n.crosshairX.enabled=0!==n.crosshairX.strokeWidth),r.update(i))}})):(t.deselectAnnotation(),f(t,"closePopup"));n.activeAnnotation=!0}})}var l=t.attr,a=t.extend,o=t.isArray,v=t.isNumber,h=t.isObject,r=t.objectEach,c=t.pick,y=n.doc,p=n.win,u=n.addEvent,e=n.merge,f=n.fireEvent;n.NavigationBindings=function(n,t){this.chart=n;this.options=t;this.eventsToUnbind=[];this.container=y.getElementsByClassName(this.options.bindingsClassName)};n.NavigationBindings.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackgroun
1d:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[]};n.NavigationBindings.annotationsNonEditable={rectangle:["crosshairX","crosshairY","label"]};a(n.NavigationBindings.prototype,{initEvents:function(){var t=this,i=t.chart,f=t.container,e=t.options;t.boundClassNames={};r(e.bindings,function(n){t.boundClassNames[n.className]=n});[].forEach.call(f,function(n){t.eventsToUnbind.push(u(n,"click",function(n){var i=t.getButtonEvents(f,n);i&&t.bindingsButtonClick(i.button,i.events,n)}))});r(e.events||{},function(i,r){n.isFunction(i)&&t.eventsToUnbind.push(u(t,r,i))});t.eventsToUnbind.push(u(i.container,"click",function(n){!i.cancelClick&&i.isInsidePlot(n.chartX-i.plotLeft,n.chartY-i.plotTop)&&t.bindingsChartClick(this,n)}));t.eventsToUnbind.push(u(i.container,"mousemove",function(n){t.bindingsContainerMouseMove(this,n)}))},initUpdate:function(){var n=this;i.addUpdate(function(t){n.update(t)},this.chart)},bindingsButtonClick:function(n,t,i){var r=this.chart;this.selectedButtonElement&&(f(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&r.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1));this.selectedButton=t;this.selectedButtonElement=n;f(this,"selectButton",{button:n});t.init&&t.init.call(this,n,i);(t.start||t.steps)&&r.renderer.boxWrapper.addClass("highcharts-draw-mode")},bindingsChartClick:function(n,t){var u,i;if(n=this.selectedButton,u=this.chart.renderer.boxWrapper,i=this.activeAnnotation&&!t.activeAnnotation&&t.target.parentNode){n:{i=t.target;var r=p.Element.prototype,o=r.matches||r.msMatchesSelector||r.webkitMatchesSelector,e=null;if(r.closest)e=r.closest.call(i,".highcharts-popup");else do{if(o.call(i,".highcharts-popup"))break n;i=i.parentElement||i.parentNode}while(null!==i&&1===i.nodeType);i=e}i=!i}i&&(f(this,"closePopup"),this.deselectAnnotation());n&&n.start&&(this.nextEvent?(this.nextEvent(t,this.currentUserDetails),this.steps&&(this.stepIndex++,n.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]:(f(this,"deselectButton",{button:this.selectedButtonElement}),u.removeClass("highcharts-draw-mode"),n.end&&n.end.call(this,t,this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1,this.selectedButton=null))):(this.currentUserDetails=n.start.call(this,t),n.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=n.steps[this.stepIndex]):(f(this,"deselectButton",{button:this.selectedButtonElement}),u.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,n.end&&n.end.call(this,t,this.currentUserDetails))))},bindingsContainerMouseMove:function(n,t){this.mouseMoveEvent&&this.mouseMoveEvent(t,this.currentUserDetails)},fieldsToOptions:function(n,t){return r(n,function(n,i){var f=parseFloat(n),u=i.split("."),r=t,e=u.length-1;!v(f)||n.match(/px/g)||i.match(/format/g)||(n=f);""!==n&&"undefined"!==n&&u.forEach(function(t,i){var f=c(u[i+1],"");e===i?r[t]=n:(r[t]||(r[t]=f.match(/\d/g)?[]:{}),r=r[t])})}),t},deselectAnnotation:function(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)},annotationToFields:function(t){function u(i,e,s,c){if(s&&-1===v.indexOf(e)&&(0<=(s.indexOf&&s.indexOf(e))||s[e]||!0===s))if(o(i))c[e]=[],i.forEach(function(n,t){h(n)?(c[e][t]={},r(n,function(n,i){u(n,i,f[e],c[e][t])})):u(n,0,f[e],c[e])});else if(h(i)){var a={};o(c)?(c.push(a),a[e]={},a=a[e]):c[e]=a;r(i,function(n,t){u(n,t,0===e?s:f[e],a)})}else"format"===e?c[e]=[n.format(i,t.labels[0].points[0]).toString(),"text"]:o(c)?c.push([i,l(i)]):c[e]=[i,l(i)]}
1var i=t.options,s=n.NavigationBindings.annotationsEditable,f=s.nestedOptions,l=this.utils.getFieldType,a=c(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].itemType,"label"),v=n.NavigationBindings.annotationsNonEditable[i.langKey]||[],e={langKey:i.langKey,type:a};return r(i,function(n,t){"typeOptions"===t?(e[t]={},r(i[t],function(n,i){u(n,i,f,e[t],!0)})):u(n,t,s[a],e)}),e},getClickedClassNames:function(n,t){var i=t.target,r;for(t=[];i&&((r=l(i,"class"))&&(t=t.concat(r.split(" ").map(function(n){return[n,i]}))),i=i.parentNode,i!==n););return t},getButtonEvents:function(n,t){var r=this,i;return this.getClickedClassNames(n,t).forEach(function(n){r.boundClassNames[n[0]]&&!i&&(i={events:r.boundClassNames[n[0]],button:n[1]})}),i},update:function(n){this.options=e(!0,this.options,n);this.removeEvents();this.initEvents()},removeEvents:function(){this.eventsToUnbind.forEach(function(n){n()})},destroy:function(){this.removeEvents()},utils:{updateRectSize:function(n,t){var r=t.chart,i=t.options.typeOptions,u=r.pointer.getCoordinates(n);n=u.xAxis[0].value-i.point.x;i=i.point.y-u.yAxis[0].value;t.update({typeOptions:{background:{width:r.inverted?i:n,height:r.inverted?n:i}}})},getFieldType:function(n){return{string:"text",number:"number",boolean:"checkbox"}[typeof n]}}});n.Chart.prototype.initNavigationBindings=function(){var t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new n.NavigationBindings(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())};u(n.Chart,"load",function(){this.initNavigationBindings()});u(n.Chart,"destroy",function(){this.navigationBindings&&this.navigationBindings.destroy()});u(n.NavigationBindings,"deselectButton",function(){this.selectedButtonElement=null});u(n.Annotation,"remove",function(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()});n.Annotation&&(s(n.Annotation),r(n.Annotation.types,function(n){s(n)}));n.setOptions({lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Backgroun
1d colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){t=this.chart.pointer.getCoordinates(t);var i=this.chart.options.navigation;return this.chart.addAnnotation(e({langKey:"circle",shapes:[{type:"circle",point:{xAxis:0,yAxis:0,x:t.xAxis[0].value,y:t.yAxis[0].value},r:5,controlPoints:[{positioner:function(t){var i=n.Annotation.MockPoint.pointToPixels(t.points[0]);return t=t.options.r,{x:i.x+t*Math.cos(Math.PI/4)-this.graphic.width/2,y:i.y+t*Math.sin(Math.PI/4)-this.graphic.height/2}},events:{drag:function(n,t){var i=t.annotation;n=this.mouseMoveToTranslation(n);t.setRadius(Math.max(t.options.r+n.y/Math.sin(Math.PI/4),5));i.options.shapes[0]=i.userOptions.shapes[0]=t.options;t.redraw(!1)}}}]}]},i.annotationsOptions,i.bindings.circleAnnotation.annotationsOptions))},steps:[function(n,t){var i=t.options.shapes[0].point,u=this.chart.xAxis[0].toPixels(i.x),r;i=this.chart.yAxis[0].toPixels(i.y);r=this.chart.inverted;t.update({shapes:[{r:Math.max(Math.sqrt(Math.pow(r?i-n.chartX:u-n.chartX,2)+Math.pow(r?u-n.chartY:i-n.chartY,2)),5)}]})}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){var i=this.chart.pointer.getCoordinates(t),r;return t=this.chart.options.navigation,r=i.xAxis[0].value,i=i.yAxis[0].value,this.chart.addAnnotation(e({langKey:"rectangle",shapes:[{type:"path",points:[{xAxis:0,yAxis:0,x:r,y:i},{xAxis:0,yAxis:0,x:r,y:i},{xAxis:0,yAxis:0,x:r,y:i},{xAxis:0,yAxis:0,x:r,y:i}]}],controlPoints:[{positioner:function(t){return t=n.Annotation.MockPoint.pointToPixels(t.shapes[0].points[2]),{x:t.x-4,y:t.y-4}},events:{drag:function(n,t){var r=this.chart.pointer.getCoordinates(n),i;n=r.xAxis[0].value;r=r.yAxis[0].value;i=t.options.shapes[0].points;i[1].x=n;i[2].x=n;i[2].y=r;i[3].y=r;t.options.shapes[0].points=i;t.redraw(!1)}}}]},t.annotationsOptions,t.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(n,t){var i=t.options.shapes[0].points,r=this.chart.pointer.getCoordinates(n);n=r.xAxis[0].value;r=r.yAxis[0].value;i[1].x=n;i[2].x=n;i[2].y=r;i[3].y=r;t.update({shapes:[{points:i}]})}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){t=this.chart.pointer.getCoordinates(t);var i=this.chart.options.navigation;return this.chart.addAnnotation(e({langKey:"label",labelOptions:{format:"{y:.2f}"},labels:[{point:{xAxis:0,yAxis:0,x:t.xAxis[0].value,y:t.yAxis[0].value},overflow:"none",crop:!0,controlPoints:[{symbol:"triangle-down",positioner:function(t){return t.graphic.placed?(t=n.Annotation.MockPoint.pointToPixels(t.points[0]),{x:t.x-this.graphic.width/2,y:t.y-this.graphic.height/2}):{x:0,y:-9e7}},events:{drag:function(n,t){n=this.mouseMoveToTranslation(n);t.translatePoint(n.x,n.y);t.annotation.labels[0].options=t.options;t.redraw(!1)}}},{symbol:"square",positioner:function(n){return n.graphic.placed?{x:n.graphic.alignAttr.x-this.graphic.width/2,y:n.graphic.alignAttr.y-this.graphic.height/2}:{x:0,y:-9e7}},events:{drag:function(n,t){n=this.mouseMoveToTranslation(n);t.translate(n.x,n.y);t.annotation.labels[0].options=t.options;t.redraw(!1)}}}]}]},i.annotationsOptions,i.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{}}})});t(n,"annotations/popup.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var s=t.defined,e=t.isArray,f=t.isObject,h=t.isString,u=t.objectEach,c=t.pick;t=t.wrap;var r=n.addEvent,i=n.createElement,o=/\d/g;t(n.Pointer.prototype,"onContainerMouseDown",function(n,t){var i=t.target&&t.target.className;h(i)&&0<=i.indexOf("highcharts-popup-field")||n.apply(this,Array.prototype.slice.call(arguments,1))});n.Popup=function(n,t){this.init(n,t)};n.Popup.prototype={init:function(n,t){this.container=i("div",{className:"highcharts-popup"},null,n);this.lang=this.getLangpack();this.iconsURL=t;this.addCloseBtn()},addCloseBtn:function(){var t=this,n=i("div",{className:"highcharts-popup-close"},null,this.container);n.style["background-image"]="url("+this.iconsURL+"close.svg)";["click","touchstart"].forEach(function(i){r(n,i,function(){t.closePopup()})})},addColsContainer:function(n){var t=i("div",{className:"highcharts-popup-lhs-col"}
1,null,n);return n=i("div",{className:"highcharts-popup-rhs-col"},null,n),i("div",{className:"highcharts-popup-rhs-col-wrapper"},null,n),{lhsCol:t,rhsCol:n}},addInput:function(n,t,r,u){var f=n.split("."),e;f=f[f.length-1];e=this.lang;t="highcharts-"+t+"-"+f;t.match(o)||i("label",{innerHTML:e[f]||f,htmlFor:t},null,r);i("input",{name:t,value:u[0],type:u[1],className:"highcharts-popup-field"},null,r).setAttribute("highcharts-data-name",n)},addButton:function(n,t,u,f,e){var s=this,h=this.closePopup,c=this.getFields,o=i("button",{innerHTML:t},null,n);return["click","touchstart"].forEach(function(n){r(o,n,function(){return h.call(s),f(c(e,u))})}),o},getFields:function(n,t){var f=n.querySelectorAll("input"),u=n.querySelectorAll("#highcharts-select-series > option:checked")[0],e,r,i;return n=n.querySelectorAll("#highcharts-select-volume > option:checked")[0],i={actionType:t,linkedTo:u&&u.getAttribute("value"),fields:{}},[].forEach.call(f,function(n){r=n.getAttribute("highcharts-data-name");(e=n.getAttribute("highcharts-data-series-id"))?i.seriesId=n.value:r?i.fields[r]=n.value:i.type=n.value}),n&&(i.fields["params.volumeSeriesID"]=n.getAttribute("value")),i},showPopup:function(){var n=this.container,t=n.querySelectorAll(".highcharts-popup-close")[0];n.innerHTML="";0<=n.className.indexOf("highcharts-annotation-toolbar")&&(n.classList.remove("highcharts-annotation-toolbar"),n.removeAttribute("style"));n.appendChild(t);n.style.display="block"},closePopup:function(){this.popup.container.style.display="none"},showForm:function(n,t,i,r){this.popup=t.navigationBindings.popup;this.showPopup();"indicators"===n&&this.indicators.addForm.call(this,t,i,r);"annotation-toolbar"===n&&this.annotations.addToolbar.call(this,t,i,r);"annotation-edit"===n&&this.annotations.addForm.call(this,t,i,r);"flag"===n&&this.annotations.addForm.call(this,t,i,r,!0)},getLangpack:function(){return n.getOptions().lang.navigation.popup},annotations:{addToolbar:function(n,t,r){var o=this,e=this.lang,u=this.popup.container,s=this.showForm,f;-1===u.className.indexOf("highcharts-annotation-toolbar")&&(u.className+=" highcharts-annotation-toolbar");u.style.top=n.plotTop+10+"px";i("span",{innerHTML:c(e[t.langKey]||t.langKey,t.shapes&&t.shapes[0].type)},null,u);f=this.addButton(u,e.removeButton||"remove","remove",r,u);f.className+=" highcharts-annotation-remove-button";f.style["background-image"]="url("+this.iconsURL+"destroy.svg)";f=this.addButton(u,e.editButton||"edit","edit",function(){s.call(o,"annotation-edit",n,t,r)},u);f.className+=" highcharts-annotation-edit-button";f.style["background-image"]="url("+this.iconsURL+"edit.svg)"},addForm:function(n,t,r,u){var f=this.popup.container,e=this.lang,o,s;i("h2",{innerHTML:e[t.langKey]||t.langKey,className:"highcharts-popup-main-title"},null,f);o=i("div",{className:"highcharts-popup-lhs-col highcharts-popup-lhs-full"},null,f);s=i("div",{className:"highcharts-popup-bottom-row"},null,f);this.annotations.addFormFields.call(this,o,n,"",t,[],!0);this.addButton(s,u?e.addButton||"add":e.saveButton||"save",u?"add":"save",r,f)},addFormFields:function(n,t,r,s,h,c){var v=this,y=this.annotations.addFormFields,p=this.addInput,w=this.lang,l,a;u(s,function(i,u){l=""!==r?r+"."+u:u;f(i)&&(!e(i)||e(i)&&f(i[0])?(a=w[u]||u,a.match(o)||h.push([!0,a,n]),y.call(v,n,t,l,i,h,!1)):h.push([v,l,"annotation",n,i]))});c&&(h=h.sort(function(n){return n[1].match(/format/g)?-1:1}),h.forEach(function(n){!0===n[0]?i("span",{className:"highcharts-annotation-title",innerHTML:n[1]},null,n[2]):p.apply(n[0],n.splice(1))}))}},indicators:{addForm:function(n,t,i){var f=this.indicators,u=this.lang,r;this.tabs.init.call(this,n);t=this.popup.container.querySelectorAll(".highcharts-tab-item-content");this.addColsContainer(t[0]);f.addIndicatorList.call(this,n,t[0],"add");r=t[0].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(r,u.addButton||"add","add",i,r);this.addColsContainer(t[1]);f.addIndicatorList.call(this,n,t[1],"edit");r=t[1].querySelectorAll(".highcharts-popup-rhs-col")[0];this.addButton(r,u.saveButton||"save","edit",i,r);this.addButton(r,u.removeButton||"remove","remove",i,r)},addIndicatorList:function(n,t,f){var s=this,a=t.querySelectorAll(".highcharts-popup-lhs-col")[0];t=t.querySelectorAll(".highcharts-popup-rhs-col")[0];var e="edit"===f,h=e?n.series:n.options.plotOptions,v=this.indicators.addFormFields,c,o=i("ul",{className:"highcharts-indicator-list"},null,a),l=t.querySelectorAll(".highcharts-popup-rhs-col-wrapper")[0];u(h,function(t,u){var y=t.options,f,a;(t.params||y&&y.params)&&(f=s.indicators.getNameType(t,u),a=f.type,c=i("li",{className:"highcharts-indicator-list",innerHTML:f.name},null,o),["click","touchstart"].forEach(function(u){r(c,u,function(){v.call(s,n,e?t:h[a],f.type,l);e&&t.options&&i("input",{type:"hidden",name:"highcharts-id-"+a,value:t.options.id},null,l).setAttribute("highcharts-data-series-id",t.options.id)})}))});0<o.childNodes.length&&o.childNodes[0].click()},getNameType:function(t,i){var u=t.options,r=n.seriesTypes;return r=r[i]&&r[i].prototype.nameBase||i.toUpperCase(),u&&u.type&&(i=t.options.type,r=t.name),{name:r,type:i}},listAllSeries:function(n,t,r,u,f){var e,o;n="highcharts-"+t+"-type-"+n;i("label",{innerHTML:this.lang[t]||t,htmlFor:n},null,u);o=i("select",{name:n,className:"highcharts-popup-field"},null,u);o.setAttribute("id","highcharts-select-"+t);
1r.series.forEach(function(n){e=n.options;!e.params&&e.id&&"highcharts-navigator-series"!==e.id&&i("option",{innerHTML:e.name||e.id,value:e.id},null,o)});s(f)&&(o.value=f)},addFormFields:function(n,t,r,u){var f=t.params||t.options.params,e=this.indicators.getNameType;u.innerHTML="";i("h3",{className:"highcharts-indicator-title",innerHTML:e(t,r).name},null,u);i("input",{type:"hidden",name:"highcharts-type-"+r,value:r},null,u);this.indicators.listAllSeries.call(this,r,"series",n,u,t.linkedParent&&f.volumeSeriesID);f.volumeSeriesID&&this.indicators.listAllSeries.call(this,r,"volume",n,u,t.linkedParent&&t.linkedParent.options.id);this.indicators.addParamInputs.call(this,n,"params",f,r,u)},addParamInputs:function(n,t,i,r,e){var s=this,h=this.indicators.addParamInputs,c=this.addInput,o;u(i,function(i,u){o=t+"."+u;f(i)?h.call(s,n,o,i,r,e):"params.volumeSeriesID"!==o&&c.call(s,o,r,e,[i,"text"])})},getAmount:function(){var n=0;return u(this.series,function(t){var i=t.options;(t.params||i&&i.params)&&n++}),n}},tabs:{init:function(n){var t=this.tabs,i;n=this.indicators.getAmount.call(n);i=t.addMenuItem.call(this,"add");t.addMenuItem.call(this,"edit",n);t.addContentItem.call(this,"add");t.addContentItem.call(this,"edit");t.switchTabs.call(this,n);t.selectTab.call(this,i,0)},addMenuItem:function(n,t){var u=this.popup.container,r="highcharts-tab-item",f=this.lang;return 0===t&&(r+=" highcharts-tab-disabled"),t=i("span",{innerHTML:f[n+"Button"]||n,className:r},null,u),t.setAttribute("highcharts-data-tab-type",n),t},addContentItem:function(){return i("div",{className:"highcharts-tab-item-content"},null,this.popup.container)},switchTabs:function(n){var t=this,i;this.popup.container.querySelectorAll(".highcharts-tab-item").forEach(function(u,f){i=u.getAttribute("highcharts-data-tab-type");"edit"===i&&0===n||["click","touchstart"].forEach(function(n){r(u,n,function(){t.tabs.deselectAll.call(t);t.tabs.selectTab.call(t,this,f)})})})},selectTab:function(n,t){var i=this.popup.container.querySelectorAll(".highcharts-tab-item-content");n.className+=" highcharts-tab-item-active";i[t].className+=" highcharts-tab-item-show"},deselectAll:function(){for(var t=this.popup.container,i=t.querySelectorAll(".highcharts-tab-item"),t=t.querySelectorAll(".highcharts-tab-item-content"),n=0;n<i.length;n++)i[n].classList.remove("highcharts-tab-item-active"),t[n].classList.remove("highcharts-tab-item-show")}}};r(n.NavigationBindings,"showPopup",function(t){this.popup||(this.popup=new n.Popup(this.chart.container,this.chart.options.navigation.iconsURL||this.chart.options.stockTools&&this.chart.options.stockTools.gui.iconsURL||"https://code.highcharts.com/8.0.0/gfx/stock-icons/"));this.popup.showForm(t.formType,this.chart,t.options,t.onSubmit)});r(n.NavigationBindings,"closePopup",function(){this.popup&&this.popup.closePopup()})});t(n,"masters/modules/annotations-advanced.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/price-indicator",["highcharts","highcharts/modules/stock"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"modules/price-indicator.src.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var r=t.isArray,i;t=n.addEvent;i=n.merge;t(n.Series,"afterRender",function(){var t=this.options,f=t.pointRange,e=t.lastVisiblePrice,u=t.lastPrice;if((e||u)&&"highcharts-navigator-series"!==t.id){var l=this.xAxis,n=this.yAxis,a=n.crosshair,v=n.cross,y=n.crossLabel,o=this.points,s=o.length,h=this.xData[this.xData.length-1],c=this.yData[this.yData.length-1];u&&u.enabled&&(n.crosshair=n.options.crosshair=t.lastPrice,n.cross=this.lastPrice,u=r(c)?c[3]:c,n.drawCrosshair(null,{x:h,y:u,plotX:l.toPixels(h,!0),plotY:n.toPixels(u,!0)}),this.yAxis.cross&&(this.lastPrice=this.yAxis.cross,this.lastPrice.y=u));e&&e.enabled&&0<s&&(f=o[s-1].x===h||null===f?1:2,n.crosshair=n.options.crosshair=i({color:"transparent"},t.lastVisiblePrice),n.cross=this.lastVisiblePrice,t=o[s-f],n.drawCrosshair(null,t),n.cross&&(this.lastVisiblePrice=n.cross,this.lastVisiblePrice.y=t.y),this.crossLabel&&this.crossLabel.destroy(),this.crossLabel=n.crossLabel);n.crosshair=a;n.cross=v;n.crossLabel=y}})});t(n,"masters/modules/price-indicator.src.js",[],function(){})}),function(n){"object"==typeof module&&module.exports?(n["default"]=n,module.exports=n):"function"==typeof define&&define.amd?define("highcharts/modules/stock-tools",["highcharts","highcharts/modules/stock"],function(t){return n(t),n.Highcharts=t,n}):n("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(n){function t(n,t,i,r){n.hasOwnProperty(t)||(n[t]=r.apply(null,i))}n=n?n._modules:{};t(n,"modules/stock-tools-bindings.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var f=t.correctFloat,e=t.defined,s=t.extend,o=t.isNumber,h=t.pick,u=n.fireEvent,r=n.merge,i=n.NavigationBindings.prototype.utils;i.addFlagFromForm=function(n){return function(t){var r=this,f=r.chart,s=f.stockTools,e=i.getFieldType,o;t=i.attractToPoint(t,f);o={type:"flags",onSeries:t.series.id,shape:n,data:[{x:t.x,y:t.y}],point:{events:{click:function(){var n=this,t=n.options;u(r,"showPopup",{point:n,formType:"annotation-toolbar",options:{langKey:"flags",type:"flags",title:[t.title,e(t.title)],name:[t.name,e(t.name)]},onSubmit:function(t){"remove"===t.actionType?n.remove():n.update(r.fieldsToOptions(t.fields,{}))}})}}}};s&&s.guiEnabled||f.addSeries(o);u(r,"showPopup",{formType:"flag",options:{langKey:"flags",type:"flags",title:["A",e("A")],name:["Flag A",e("Flag A")]},onSubmit:function(n){r.fieldsToOptions(n.fields,o.data[0]);f.addSeries(o)}})}};i.manageIndicators=function(t){var r=this.chart,i={linkedTo:t.linkedTo,type:t.type},e="ad atr cci cmf macd mfi roc rsi ao aroon aroonoscillator trix apo dpo ppo natr williamsr stochastic slowstochastic linearRegression linearRegressionSlope linearRegressionIntercept linearRegressionAngle".split(" "),f;"edit"===t.actionType?(this.fieldsToOptions(t.fields,i),(t=r.get(t.seriesId))&&t.update(i,!1)):"remove"===t.actionType?(t=r.get(t.seriesId))&&(f=t.yAxis,t.linkedSeries&&t.linkedSeries.forEac
1h(function(n){n.remove(!1)}),t.remove(!1),0<=e.indexOf(t.type)&&(f.remove(!1),this.resizeYAxes())):(i.id=n.uniqueKey(),this.fieldsToOptions(t.fields,i),0<=e.indexOf(t.type)?(f=r.addAxis({id:n.uniqueKey(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),i.yAxis=f.options.id,this.resizeYAxes()):i.yAxis=r.get(t.linkedTo).options.yAxis,0<=["ad","cmf","mfi","vbp","vwap"].indexOf(t.type)&&(i.params.volumeSeriesID=r.series.filter(function(n){return"column"===n.options.type})[0].options.id),r.addSeries(i,!1));u(this,"deselectButton",{button:this.selectedButtonElement});r.redraw()};i.updateHeight=function(n,t){t.update({typeOptions:{height:this.chart.pointer.getCoordinates(n).yAxis[0].value-t.options.typeOptions.points[1].y}})};i.attractToPoint=function(n,t){var r,u,i;return n=t.pointer.getCoordinates(n),r=n.xAxis[0].value,n=n.yAxis[0].value,u=Number.MAX_VALUE,t.series.forEach(function(n){n.points.forEach(function(n){n&&u>Math.abs(n.x-r)&&(u=Math.abs(n.x-r),i=n)})}),{x:i.x,y:i.y,below:n<i.y,series:i.series,xAxis:i.series.xAxis.index||0,yAxis:i.series.yAxis.index||0}};i.isNotNavigatorYAxis=function(n){return"highcharts-navigator-yaxis"!==n.userOptions.className};i.updateNthPoint=function(n){return function(t,i){var r=i.options.typeOptions,u,f;t=this.chart.pointer.getCoordinates(t);u=t.xAxis[0].value;f=t.yAxis[0].value;r.points.forEach(function(t,i){i>=n&&(t.x=u,t.y=f)});i.update({typeOptions:{points:r.points}})}};s(n.NavigationBindings.prototype,{getYAxisPositions:function(n,t,i){function u(n){return e(n)&&!o(n)&&n.match("%")}var r=0;return n=n.map(function(n){var e=u(n.options.height)?parseFloat(n.options.height)/100:n.height/t;return n=u(n.options.top)?parseFloat(n.options.top)/100:f(n.top-n.chart.plotTop)/t,o(e)||(e=i/100),r=f(r+e),{height:100*e,top:100*n}}),n.allAxesHeight=r,n},getYAxisResizers:function(n){var t=[];return n.forEach(function(i,r){i=n[r+1];t[r]=i?{enabled:!0,controlledAxis:{next:[h(i.options.id,i.options.index)]}}:{enabled:!1}}),t},resizeYAxes:function(n){n=n||20;var t=this.chart,u=t.yAxis.filter(this.utils.isNotNavigatorYAxis),i=u.length;t=this.getYAxisPositions(u,t.plotHeight,n);var o=this.getYAxisResizers(u),e=t.allAxesHeight,r=n;1<e?(6>i?(t[0].height=f(t[0].height-r),t=this.recalculateYAxisPositions(t,r)):(n=100/i,t=this.recalculateYAxisPositions(t,n/(i-1),!0,-1)),t[i-1]={top:f(100-n),height:n}):(r=100*f(1-e),5>i?(t[0].height=f(t[0].height+r),t=this.recalculateYAxisPositions(t,r)):t=this.recalculateYAxisPositions(t,r/i,!0,1));t.forEach(function(n,t){u[t].update({height:n.height+"%",top:n.top+"%",resize:o[t]},!1)})},recalculateYAxisPositions:function(n,t,i,r){return n.forEach(function(u,e){e=n[e-1];u.top=e?f(e.height+e.top):0;i&&(u.height=f(u.height+r*t))}),n}});t={segment:{className:"highcharts-segment",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"segment",type:"crookedLine",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.segment.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.arrowSegment.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1)]},ray:{className:"highcharts-ray",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"ray",type:"crookedLine",typeOptions:{type:"ray",points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.ray.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.arrowRay.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.infinityLine.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.arrowInfinityLine.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;n=r({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",points:[{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.horizontalLine.annotationsOptions);this.chart.addAnnotation(n)}},verticalLine:{className:"highcharts-vertical-line",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;n=r({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",points:[{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.verticalLine.annotationsOptions);this.chart.addAnnotation(n)}},crooked3:{className:"highcharts-crooked3",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"crooked3",type:"crookedLine",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.crooked3.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1),i.updateNthPoint(2)]},crooked5:{className:"highcharts-crooked5",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"crookedLine",type:"crookedLine",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.crooked5.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1),i.updateNthPoint(2),i.updateNthPoint(3),i.updateNthPoint(4)]},elliott3:{className:"highcharts-elliott3",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"elliott3",type:"elliottWave",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]},labelOptions:{style:{color:"#666666"}}},t.annotationsOptions,t.bindings.elliott3.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1),i.updateNthPoint(2),i.updateNthPoint(3)]},elliott5:{className:"highcharts-elliott5",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"elliott5",type:"elliottWave",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]},labelOptions:{style:{color:"#666666"}}},t.annotationsOptions,t.bindings.elliott5.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1),i.updateNthPoint(2),i.updateNthPoint(3),i.updateNthPoint(4),i.updateNthPoint(5)]},measureX:{className:"highcharts-measure-x",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"measure",type:"measure",typeOptions:{selectType:"x",point:{x:n.xAxis[0].value,y:n.yAxis[0].value,xAxis:0,yAxis:0},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},t.annotationsOptions,t.bindings.measureX.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateRectSize]},measureY:{className:"highcharts-measure-y",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"measure",type:"measure",typeOptions:{selectType:"y",point:{x:n.xAxis[0].value,y:n.yAxis[0].value,xAxis:0,yAxis:0},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},t.annotationsOptions,t.bindings.measureY.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateRectSize]},measureXY:{className:"highcharts-measure-xy",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",point:{x:n.xAxis[0].value,y:n.yAxis[0].value,xAxis:0,yAxis:0},background:{width:0,height:0,strokeWidth:10},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},t.annotationsOptions,t.bindings.measureXY.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateRectSize]},fibonacci:{className:"highcharts-fibonacci",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"fibonacci",type:"fibonacci",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]},labelOptions:{style:{color:"#666666"}}},t.annotationsOptions,t.bindings.fibonacci.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1),i.updateHeight]},parallelChannel:{className:"highcharts-parallel-channel",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"parallelChannel",type:"tunnel",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}]}},t.annotationsOptions,t.bindings.parallelChannel.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1),i.updateHeight]},pitchfork:{className:"highcharts-pitchfork",start:function(n){n=this.chart.pointer.getCoordinates(n);var t=this.chart.options.navigation;return n=r({langKey:"pitchfork",type:"pitchfork",typeOptions:{points:[{x:n.xAxis[0].value,y:n.yAxis[0].value,controlPoint:{style:{fill:"red"}}},{x:n.xAxis[0].value,y:n.yAxis[0].value},{x:n.xAxis[0].value,y:n.yAxis[0].value}
1],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},t.annotationsOptions,t.bindings.pitchfork.annotationsOptions),this.chart.addAnnotation(n)},steps:[i.updateNthPoint(1),i.updateNthPoint(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(n){n=i.attractToPoint(n,this.chart);var t=this.chart.options.navigation,u=e(this.verticalCounter)?this.verticalCounter:0;n=r({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:n.x,y:n.y,xAxis:n.xAxis,yAxis:n.yAxis},label:{offset:n.below?40:-40,text:u.toString()}},labelOptions:{style:{color:"#666666",fontSize:"11px"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalCounter.annotationsOptions);n=this.chart.addAnnotation(n);n.options.events.click.call(n,{})}},verticalLabel:{className:"highcharts-vertical-label",start:function(n){n=i.attractToPoint(n,this.chart);var t=this.chart.options.navigation;n=r({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:n.x,y:n.y,xAxis:n.xAxis,yAxis:n.yAxis},label:{offset:n.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"11px"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalLabel.annotationsOptions);n=this.chart.addAnnotation(n);n.options.events.click.call(n,{})}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(n){n=i.attractToPoint(n,this.chart);var t=this.chart.options.navigation;n=r({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:n.x,y:n.y,xAxis:n.xAxis,yAxis:n.yAxis},label:{offset:n.below?40:-40,format:" "},connector:{fill:"none",stroke:n.below?"red":"green"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},t.annotationsOptions,t.bindings.verticalArrow.annotationsOptions);n=this.chart.addAnnotation(n);n.options.events.click.call(n,{})}},flagCirclepin:{className:"highcharts-flag-circlepin",start:i.addFlagFromForm("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:i.addFlagFromForm("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:i.addFlagFromForm("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:i.addFlagFromForm("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(n){this.chart.update({chart:{zoomType:"x"}});u(this,"deselectButton",{button:n})}},zoomY:{className:"highcharts-zoom-y",init:function(n){this.chart.update({chart:{zoomType:"y"}});u(this,"deselectButton",{button:n})}},zoomXY:{className:"highcharts-zoom-xy",init:function(n){this.chart.update({chart:{zoomType:"xy"}});u(this,"deselectButton",{button:n})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(n){this.chart.series[0].update({type:"line",useOhlcData:!0});u(this,"deselectButton",{button:n})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(n){this.chart.series[0].update({type:"ohlc"});u(this,"deselectButton",{button:n})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(n){this.chart.series[0].update({type:"candlestick"});u(this,"deselectButton",{button:n})}},fullScreen:{className:"highcharts-full-screen",init:function(t){var i=this.chart;i.fullScreen=new n.FullScreen(i.container);u(this,"deselectButton",{button:t})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(n){var i=this.chart,f=i.series[0],t=f.options,e=t.lastVisiblePrice&&t.lastVisiblePrice.enabled,r;t=t.lastPrice&&t.lastPrice.enabled;i=i.stockTools;r=i.getIconsURL();i&&i.guiEnabled&&(n.firstChild.style["background-image"]=t?'url("'+r+'current-price-show.svg")':'url("'+r+'current-price-hide.svg")');f.update({lastPrice:{enabled:!t,color:"red"},lastVisiblePrice:{enabled:!e,label:{enabled:!0}}});u(this,"deselectButton",{button:n})}},indicators:{className:"highcharts-indicators",init:function(){var n=this;u(n,"showPopup",{formType:"indicators",options:{},onSubmit:function(t){n.utils.manageIndicators.call(n,t)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(n){var i=this.chart,t=i.stockTools,r=t.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations;
1(i.annotations||[]).forEach(function(n){n.setVisibility(!this.toggledAnnotations)},this);t&&t.guiEnabled&&(n.firstChild.style["background-image"]=this.toggledAnnotations?'url("'+r+'annotations-hidden.svg")':'url("'+r+'annotations-visible.svg")');u(this,"deselectButton",{button:n})}},saveChart:{className:"highcharts-save-chart",init:function(t){var r=this,i=r.chart,f=[],e=[],o=[],s=[];i.annotations.forEach(function(n,t){f[t]=n.userOptions});i.series.forEach(function(t){t instanceof n.seriesTypes.sma?e.push(t.userOptions):"flags"===t.type&&o.push(t.userOptions)});i.yAxis.forEach(function(n){r.utils.isNotNavigatorYAxis(n)&&s.push(n.options)});n.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:f,indicators:e,flags:o,yAxes:s}));u(this,"deselectButton",{button:t})}}};n.setOptions({navigation:{bindings:t}})});t(n,"modules/stock-tools-gui.js",[n["parts/Globals.js"],n["parts/Utilities.js"]],function(n,t){var o=t.extend,s=t.isArray,u=t.pick,i=n.addEvent,r=n.createElement,h=n.fireEvent,c=n.getStyle,f=n.merge,l=n.css,e=n.win;n.setOptions({lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",circle:"Circle",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",pitchfork:"Pitchfork",parallelChannel:"Parallel channel"}},navigation:{popup:{circle:"Circle",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",flags:"Flags",addButton:"add",saveButton:"save",editButton:"edit",removeButton:"remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Backgroun
1d"}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:"indicators separator simpleShapes lines crookedLines measure advanced toggleAnnotations separator verticalLabels flags separator zoomChange fullScreen typeChange separator currentPriceIndicator saveChart".split(" "),definitions:{separator:{symbol:"separator.svg"},simpleShapes:{items:["label","circle","rectangle"],circle:{symbol:"circle.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:"segment arrowSegment ray arrowRay line arrowLine horizontalLine verticalLine".split(" "),segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter","verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","pitchfork","parallelChannel"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},parallelChannel:{symbol:"parallel-channel.svg"}},measure:{items:["measureXY","measureX","measureY"],measureX:{symbol
1:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:["typeOHLC","typeLine","typeCandlestick"],typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}}}}});i(n.Chart,"afterGetContainer",function(){this.setStockTools()});i(n.Chart,"getMargins",function(){var t=this.stockTools&&this.stockTools.listWrapper;(t=t&&(t.startWidth+n.getStyle(t,"padding-left")+n.getStyle(t,"padding-right")||t.offsetWidth))&&t<this.plotWidth&&(this.plotLeft+=t)});i(n.Chart,"destroy",function(){this.stockTools&&this.stockTools.destroy()});i(n.Chart,"redraw",function(){this.stockTools&&this.stockTools.guiEnabled&&this.stockTools.redraw()});n.Toolbar=function(n,t,i){this.chart=i;this.options=n;this.lang=t;this.iconsURL=this.getIconsURL();this.guiEnabled=n.enabled;this.visible=u(n.visible,!0);this.placed=u(n.placed,!1);this.eventsToUnbind=[];this.guiEnabled&&(this.createHTML(),this.init(),this.showHideNavigatorion());h(this,"afterInit")};o(n.Chart.prototype,{setStockTools:function(t){var i=this.options,r=i.lang;t=f(i.stockTools&&i.stockTools.gui,t&&t.gui);this.stockTools=new n.Toolbar(t,r.stockTools&&r.stockTools.gui,this);this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}});n.Toolbar.prototype={init:function(){var n=this,e=this.lang,u=this.options,f=this.toolbar,o=n.addSubmenu,h=u.buttons,r=u.definitions,c=f.childNodes,l=this.inIframe(),t;h.forEach(function(u){t=n.addButton(f,r,u,e);l&&"fullScreen"===u&&(t.buttonWrapper.className+=" highcharts-disabled-btn");n.eventsToUnbind.push(i(t.buttonWrapper,"click",function(){n.eraseActiveButtons(c,t.buttonWrapper)}));s(r[u].items)&&o.call(n,t,r[u])})},addSubmenu:function(t,u){var h=this,v=t.submenuArrow,f=t.buttonWrapper,y=c(f,"width"),a=this.wrapper,o=this.listWrapper,p=this.toolbar.childNodes,s=0,e;this.submenu=e=r("ul",{className:"highcharts-submenu-wrapper"},null,f);this.addSubmenuItems(f,u);h.eventsToUnbind.push(i(v,"click",function(t){t.stopPropagation();h.eraseActiveButtons(p,f);0<=f.className.indexOf("highcharts-current")?(o.style.width=o.startWidth+"px",f.classList.remove("highcharts-current"),e.style.display="none"):(e.style.display="block",s=e.offsetHeight-f.offsetHeight-3,e.offsetHeight+f.offsetTop>a.offsetHeight&&f.offsetTop>s||(s=0),l(e,{top:-s+"px",left:y+3+"px"}),f.className+=" highcharts-current",o.startWidth=a.offsetWidth,o.style.width=o.startWidth+n.getStyle(o,"padding-left")+e.offsetWidth+3+"px")}))},addSubmenuItems:function(n,t){var r=this,u=this.submenu,s=this.lang,f=this.listWrapper,e,o;t.items.forEach(function(o){e=r.addButton(u,t,o,s);r.eventsToUnbind.push(i(e.mainButton,"click",function(){r.switchSymbol(this,n,!0);f.style.width=f.startWidth+"px";u.style.display="none"}))});o=u.querySelectorAll("li > .highcharts-menu-item-btn")[0];r.switchSymbol(o,!1)},eraseActiveButtons:function(n,t,i){[].forEach.call(n,function(n){n!==t&&(n.classList.remove("highcharts-current"),n.classList.remove("highcharts-active"),i=n.querySelectorAll(".highcharts-submenu-wrapper"),0<i.length&&(i[0].style.display="none"))})},addButton:function(t,i,f,e){var o,h,s;return i=i[f],o=i.items,h=i.className||"",f=r("li",{className:u(n.Toolbar.prototype.classMapping[f],"")+" "+h,title:e[f]||f},null,t),t=r("span",{className:"highcharts-menu-item-btn"},null,f),o&&o.length?(s=r("span",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},null,f),s.style["background-image"]="url("+this.iconsURL+"arrow-bottom.svg)"):t.style["background-image"]="url("+this.iconsURL+i.symbol+")",{buttonWrapper:f,mainButton:t,submenuArrow:s}},addNavigation:function(){var n=this.wrapper;this.arrowWrapper=r("div",{className:"highcharts-arrow-wrapper"});this.arrowUp=r("div",{className:"highcharts-arrow-up"},null,this.arrowWrapper);this.arrowUp.style["background-image"]="url("+this.iconsURL+"arrow-right.svg)";this.arrowDown=r("div",{className:"highcharts-arrow-down"},null,this.arrowWrapper);this.arrowDown.style["background-image"]="url("+this.iconsURL+"arrow-right.svg)";n.insertBefore(this.arrowWrapper,n.childNodes[0]);this.scrollButtons()},scrollButtons:function(){var n=0,u=this.wrapper,t=this.toolbar,r=.1*u.offsetHeight;this.eventsToUnbind.push(i(this.arrowUp,"click",function(){0<n&&(n-=r,t.style["margin-top"]=-n+"px")}));this.eventsToUnbind.push(i(this.arrowDown,"click",function(){u.offsetHeight+n<=t.offsetHeight+r&&(n+=r,t.style["margin-top"]=-n+"px")}))},createHTML:function(){var n=this.chart,t=this.options,i=n.container;n=n.options.navigation;this.wrapper=n=r("div",{className:"highcharts-stocktools-wrapper "+t.className+" "+(n&&n.bindingsClassName)});i.parentNode.insertBefore(n,i);this.toolbar=i=r("ul",{className:"highcharts-stocktools-toolbar "+t.toolbarClassName});this.listWrapper=t=r("div",{className:"highcharts-menu-wrapper"});n.insertBefore(t,n.childNodes[0]);t.insertBefore(i,t.childNodes[0]);this.showHideToolbar();this.addNavigation()},showHideNavigatorion:function(){this.visible&&this.toolbar.offsetHeight>this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")},showHideToolbar:function(){var s=this.chart,u=this.wrapper,f=this.listWrapper,o=this.submenu,e=this.visible,t;this.showhideBtn=t=r("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},null,u);t.style["background-image"]="url("+this.iconsURL+"arrow-right.svg)";e?(u.style.height="100%",t.style.top=n.getStyle(f,"padding-top")+"px",t.style.left=u.offsetWidth+n.getStyle(f,"padding-left")+"px"):(o&&(o.style.display="none"),t.style.left="0px",this.visible=e=!1,f.classList.add("highcharts-hide"),t.classList.toggle("highcharts-arrow-right"),u.style.height=t.offsetHeight+"px");this.eventsToUnbind.push(i(t,"click",function(){s.update({stockTools:{gui:{visible:!e,placed:!0}}})}))},switchSymbol:function(n,t){var i=n.parentNode,r=i.classList.value;i=i.parentNode.parentNode;i.className="";r&&i.classList.add(r.trim());i.querySelectorAll(".highcharts-menu-item-btn")[0].style["background-image"]=n.style["background-image"];t&&this.selectButton(i)},selectButton:function(n){0<=n.className.indexOf("highcharts-active")?n.classList.remove("highcharts-active"):n.classList.add("highcharts-active")},unselectAllButtons:function(n){var t=n.parentNode.querySelectorAll(".highcharts-active");[].forEach.call(t,function(t){t!==n&&t.classList.remove("highcharts-active")})},inIframe:function(){try{return e.self!==e.top}catch(n){return!0}},update:function(n){f(!0,this.chart.options.stockTools,n);this.destroy();this.chart.setStockTools(n);this.chart.navigationBindings&&this.chart.navigationBindings.update()},destroy:function(){var n=this.wrapper,t=n&&n.parentNode;
1this.eventsToUnbind.forEach(function(n){n()});t&&t.removeChild(n);this.chart.isDirtyBox=!0;this.chart.redraw()},redraw:function(){this.showHideNavigatorion()},getIconsURL:function(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||"https://code.highcharts.com/8.0.0/gfx/stock-icons/"},classMapping:{circle:"highcharts-circle-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeCandlestick:"highcharts-series-type-candlestick",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"}};i(n.NavigationBindings,"selectButton",function(n){var t=n.button,i=this.chart.stockTools;i&&i.guiEnabled&&(i.unselectAllButtons(n.button),0<=t.parentNode.className.indexOf("highcharts-submenu-wrapper")&&(t=t.parentNode.parentNode),i.selectButton(t))});i(n.NavigationBindings,"deselectButton",function(n){n=n.button;var t=this.chart.stockTools;t&&t.guiEnabled&&(0<=n.parentNode.className.indexOf("highcharts-submenu-wrapper")&&(n=n.parentNode.parentNode),t.selectButton(n))})});t(n,"masters/modules/stock-tools.src.js",[],function(){})})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.