PageSourceSearch

https://www.bitpanda.com/_next/static/chunks/highcharts-vendor-080d02979aa12a64.js

js bitpanda.com collected 2026-09-24 08:26:04 UTC 1,387,310 bytes, 6 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4583],{10212:(t,e,i)=>{"use strict";let s;var o,r,n,a,l=i(27655),h={};h.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return h.d(e,{a:e}),e},h.d=(t,e)=>{for(var i in e)h.o(e,i)&&!h.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},h.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let d=l.A;var c=h.n(d);let{doc:p,win:u}=c();function g(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;c().Point&&t instanceof c().Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!c().supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){z(t,e,i)}}function f(t,e,i){let s,o=L(e)&&!v(i),r=(e,i)=>{v(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return L(e)?r(i,e):B(e,r),s}function m(t,e,i){return t>e?t<i?t:i:e}function x(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}function y(t,e=0,i){let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o}function b(t,e){M(t.style,e)}function v(t){return null!=t}function k(t,e,i){B(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})}function w(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}}function M(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function S(t,e,i,s){if(i=i||{},p?.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==c())){let s=p.createEvent("Events");s.initEvent(e,!0,!0),i=M(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||M(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],o=t,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[e])),o=Object.getPrototypeOf(o);r&&s.sort((t,e)=>t.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i,t)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}function C(t,e){let i=t.split(".");for(;i.length&&v(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return D(e)&&(t=e["@this"]),t??e}let s=e[t.replace(/[\\'"]/g,"")];if(!v(s)||"function"==typeof s||"number"==typeof s.nodeType||s===u)return;e=s}return e}let A=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function T(t){v(t)&&clearTimeout(t)}function P(t){return D(t)&&"number"==typeof t.nodeType}function O(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function L(t){return"string"==typeof t}function E(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function D(t,e){return!!t&&"object"==typeof t&&(!e||!E(t))}function I(t,...e){let i,s=[t,...e],o={},r=function(t,e){return"object"!=typeof t&&(t={}),B(e,function(i,s){if("__proto__"!==s&&"constructor"!==s){let o;!D(i,!0)||(o=i?.constructor,D(i,!0)&&!P(i)&&o?.name&&"Object"!==o.name)||P(i)?t[s]=e[s]:t[s]=r(t[s]||{},i)}}),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));let n=s.length;for(i=0;i<n;i++)o=r(o,s[i]);return o}function B(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function N(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function R(t,e){return 0>t.indexOf(e)&&!!t.push(e)}function z(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,B(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function W(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)}let{doc:H,win:F}=c(),G=F.EventTarget&&new F.EventTarget||"none";function j(t){if("function"==typeof F.MouseEvent)return new F.MouseEvent(t.type,t);if(H?.createEvent){let e=H.createEvent("MouseEvent");
1if(e.initMouseEvent)return e.initMouseEvent(t.type,t.bubbles,t.cancelable,t.view||F,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),e}return X(t.type)}function X(t,e,i){let s=e||{x:0,y:0};if("function"==typeof F.MouseEvent)return new F.MouseEvent(t,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:i||G,view:F,detail:+("click"===t),screenX:s.x,screenY:s.y,clientX:s.x,clientY:s.y});if(H?.createEvent){let e=H.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t,!0,!0,F,+("click"===t),s.x,s.y,s.x,s.y,!1,!1,!1,!1,0,null),e}return{type:t}}let Y={addClass:function(t,e){t.classList?t.classList.add(e):0>t.className.indexOf(e)&&(t.className+=" "+e)},cloneMouseEvent:j,cloneTouchEvent:function(t){let e=t=>{let e=[];for(let i=0;i<t.length;++i){let s=t.item(i);s&&e.push(s)}return e};if("function"==typeof F.TouchEvent){let i=new F.TouchEvent(t.type,{touches:e(t.touches),targetTouches:e(t.targetTouches),changedTouches:e(t.changedTouches),ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,altKey:t.altKey,metaKey:t.metaKey,bubbles:t.bubbles,cancelable:t.cancelable,composed:t.composed,detail:t.detail,view:t.view});return t.defaultPrevented&&i.preventDefault(),i}let i=j(t);return i.touches=t.touches,i.changedTouches=t.changedTouches,i.targetTouches=t.targetTouches,i},escapeStringForHTML:function(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")},getElement:function(t){return H.getElementById(t)},getFakeMouseEvent:X,getHeadingTagNameForElement:function(t){let e=t=>"h"+Math.min(6,parseInt(t.slice(1),10)+1),i=t=>/^H[1-6]$/i.test(t),s=t=>{let o=(t=>{let e=t;for(;e=e.previousSibling;){let t=e.tagName||"";if(i(t))return t}return""})(t);if(o)return e(o);let r=t.parentElement;if(!r)return"h6";let n=r.tagName;return i(n)?e(n):s(r)};return s(t)},removeChildNodes:function(t){for(;t.lastChild;)t.removeChild(t.lastChild)},removeClass:function(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(RegExp(e,"g"),"")},removeElement:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},reverseChildNodes:function(t){let e=t.childNodes.length;for(;e--;)t.appendChild(t.childNodes[e])},simulatedEventTarget:G,stripHTMLTagsFromString:function(t,e=!1){return"string"==typeof t?e?t.replace(/<\/?[^>]+(>|$)/g,""):t.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):t},visuallyHideElement:function(t){b(t,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",filter:"alpha(opacity=1)",opacity:.01})}},U=l.A.Templating;var V=h.n(U);let{format:$}=V();var _=o||(o={});function K(t,e,i){let s=(t,e)=>{let i=t.slice(e||0),s=i.indexOf("{"),o=i.indexOf("}");if(s>-1&&o>s)return{statement:i.substring(s+1,o),begin:e+s+1,end:e+o}},o=[],r,n,a=0;do r=s(t,a),(n=t.substring(a,r&&r.begin-1)).length&&o.push({value:n,type:"constant"}),r&&o.push({value:r.statement,type:"statement"}),a=r?r.end+1:a+1;while(r);return o.forEach(t=>{"statement"===t.type&&(t.value=function(t,e){let i,s,o=t.indexOf("#each("),r=t.indexOf("#plural("),n=t.indexOf("["),a=t.indexOf("]");if(o>-1){let r=t.slice(o).indexOf(")")+o,n=t.substring(0,o),a=t.substring(r+1),l=t.substring(o+6,r).split(","),h=Number(l[1]),d;if(s="",i=C(l[0],e)){d=(h=isNaN(h)?i.length:h)<0?i.length+h:Math.min(h,i.length);for(let t=0;t<d;++t)s+=n+i[t]+a}return s.length?s:""}if(r>-1){var l;let i=t.slice(r).indexOf(")")+r,o=t.substring(r+8,i).split(",");switch(Number(C(o[0],e))){case 0:s=N(o[4],o[1]);break;case 1:s=N(o[2],o[1]);break;case 2:s=N(o[3],o[1]);break;default:s=o[1]}return s?(l=s).trim&&l.trim()||l.replace(/^\s+|\s+$/g,""):""}if(n>-1){let s,o=t.substring(0,n),r=Number(t.substring(n+1,a));return i=C(o,e),!isNaN(r)&&i&&(r<0?void 0===(s=i[i.length+r])&&(s=i[0]):void 0===(s=i[r])&&(s=i[i.length-1])),void 0!==s?s:""}return"{"+t+"}"}(t.value,e))}),$(o.reduce((t,e)=>t+e.value,""),e,i)}function q(t,e){let i=t.split("."),s=this.options.lang,o=0;for(;o<i.length;++o)s=s&&s[i[o]];return"string"==typeof s?K(s,e,this):""}_.compose=function(t){let e=t.prototype;e.langFormat||(e.langFormat=q)}
1,_.i18nFormat=K;let Z=o,{doc:J}=c(),{stripHTMLTagsFromString:Q}=Y;function tt(t){if(t.points&&t.points.length){let e=A(t.points,t=>!!t.graphic);return e&&e.graphic&&e.graphic.element}}function te(t){let e=tt(t);return e&&e.parentNode||t.graph&&t.graph.element||t.group&&t.group.element}let ti={fireEventOnWrappedOrUnwrappedElement:function t(e,i){let s=i.type,o=e.hcEvents;J?.createEvent&&(e.dispatchEvent||e.fireEvent)?e.dispatchEvent?e.dispatchEvent(i):e.fireEvent(s,i):o&&o[s]?S(e,s,i):e.element&&t(e.element,i)},getChartTitle:function(t){return Q(t.options.title.text||t.langFormat("accessibility.defaultChartTitle",{chart:t}),t.renderer.forExport)},getAxisDescription:function(t){return t&&(t.options.accessibility?.description||t.axisTitle?.textStr||t.options.id||t.categories&&t.chart.langFormat("accessibility.axis.defaultAxisNames.categories",{})||t.dateTime&&t.chart.langFormat("accessibility.axis.defaultAxisNames.time",{})||t.chart.langFormat("accessibility.axis.defaultAxisNames.values",{}))},getAxisRangeDescription:function(t){let e,i,s,o,r,n,a,l,h,d,c,p,u=t.options||{};return u.accessibility&&void 0!==u.accessibility.rangeDescription?u.accessibility.rangeDescription:t.categories?(e=t.chart,t.dataMax&&t.dataMin?e.langFormat("accessibility.axis.rangeCategories",{chart:e,axis:t,numCategories:t.dataMax-t.dataMin+1}):""):t.dateTime&&(0===t.min||0===t.dataMin)?(i=t.chart,s={},o=t.dataMin||t.min||0,r=t.dataMax||t.max||0,n="Seconds",s.Seconds=(r-o)/1e3,s.Minutes=s.Seconds/60,s.Hours=s.Minutes/60,s.Days=s.Hours/24,["Minutes","Hours","Days"].forEach(function(t){s[t]>2&&(n=t)}),a=s[n].toFixed(+("Seconds"!==n&&"Minutes"!==n)),i.langFormat("accessibility.axis.timeRange"+n,{chart:i,axis:t,range:a.replace(".0","")})):(d=(h=(l=t.chart).options)&&h.accessibility&&h.accessibility.screenReaderSection.axisRangeDateFormat||"",c={min:t.dataMin||t.min||0,max:t.dataMax||t.max||0},p=function(e){return t.dateTime?l.time.dateFormat(d,c[e]):c[e].toString()},l.langFormat("accessibility.axis.rangeFromTo",{chart:l,axis:t,rangeFrom
1:p("min"),rangeTo:p("max")}))},getPointFromXY:function(t,e,i){let s=t.length,o;for(;s--;)if(o=A(t[s].points||[],function(t){return t.x===e&&t.y===i}))return o},getSeriesFirstPointElement:tt,getSeriesFromName:function(t,e){return e?(t.series||[]).filter(function(t){return t.name===e}):t.series},getSeriesA11yElement:te,unhideChartElementFromAT:function t(e,i){i.setAttribute("aria-hidden",!1),i!==e.renderTo&&i.parentNode&&i.parentNode!==J.body&&(Array.prototype.forEach.call(i.parentNode.childNodes,function(t){t.hasAttribute("aria-hidden")||t.setAttribute("aria-hidden",!0)}),t(e,i.parentNode))},hideSeriesFromAT:function(t){let e=te(t);e&&e.setAttribute("aria-hidden",!0)},scrollAxisToPoint:function(t){let e=t.series.xAxis,i=t.series.yAxis,s=e&&e.scrollbar?e:i,o=s&&s.scrollbar;if(o&&v(o.to)&&v(o.from)){let e=o.to-o.from,i=function(t,e){if(!v(t.dataMin)||!v(t.dataMax))return 0;let i=t.toPixels(t.dataMin),s=t.toPixels(t.dataMax),o="xAxis"===t.coll?"x":"y";return(t.toPixels(e[o]||0)-i)/(s-i)}(s,t);o.updatePosition(i-e/2,i+e/2),S(o,"changed",{from:o.from,to:o.to,trigger:"scrollbar",DOMEvent:null})}}},{doc:ts}=c(),{removeElement:to}=Y,tr=class{constructor(){this.elements=[]}createElement(){let t=ts.createElement.apply(ts,arguments);return this.elements.push(t),t}removeElement(t){to(t),this.elements.splice(this.elements.indexOf(t),1)}destroyCreatedElements(){this.elements.forEach(function(t){to(t)}),this.elements=[]}},tn=class{constructor(){this.eventRemovers=[]}addEvent(){let t=g.apply(c(),arguments);return this.eventRemovers.push({element:arguments[0],remover:t}),t}removeEvent(t){let e=this.eventRemovers.map(t=>t.remover).indexOf(t);this.eventRemovers[e].remover(),this.eventRemovers.splice(e,1)}removeAddedEvents(){this.eventRemovers.map(t=>t.remover).forEach(t=>t()),this.eventRemovers=[]}},{fireEventOnWrappedOrUnwrappedElement:ta}=ti,{getFakeMouseEvent:tl}=Y,th=class{destroy(){}getKeyboardNavigation(){return[]}init(){}onChartRender(){}onChartUpdate(){}initBase(t,e){this.chart=t,this.eventProvider=new tn,this.domElementProvider=new tr,this.proxyProvider=e,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(t,e,i,s){return this.eventProvider.addEvent(t,e,i,s)}createElement(t,e){return this.domElementProvider.createElement(t,e)}fakeClickEvent(t){ta(t,tl("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}},td=class{constructor(t,e){this.chart=t,this.keyCodeMap=e.keyCodeMap||[],this.validate=e.validate,this.init=e.init,this.terminate=e.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(t){let e=t.which||t.keyCode,i=this.response.noHandler,s=A(this.keyCodeMap,function(t){return t[0].indexOf(e)>-1});return s?i=s[1].call(this,e,t):9===e&&(i=this.response[t.shiftKey?"prev":"next"]),i}},{unhideChartElementFromAT:tc,getChartTitle:tp}=ti,{doc:tu}=c(),{stripHTMLTagsFromString:tg}=Y,tf=class extends th{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let t=this.chart,e="highcharts-title-"+t.index,i=tg(t.langFormat("accessibility.svgContainerTitle",{chartTitle:tp(t)}));if(i.length){let s=this.svgTitleElement=this.svgTitleElement||tu.createElementNS("http://www.w3.org/2000/svg","title");s.textContent=i,s.id=e,t.renderTo.insertBefore(s,t.renderTo.firstChild)}}setSVGContainerLabel(){let t=this.chart,e=t.langFormat("accessibility.svgContainerLabel",{chartTitle:tp(t)});t.renderer.box&&e.length&&t.renderer.box.setAttribute("aria-label",e)}setGraphicContainerAttrs(){let t=this.chart,e=t.langFormat("accessibility.graphicContainerLabel",{chartTitle:tp(t)});e.length&&t.container.setAttribute("aria-label",e)}setRenderToAttrs(){let t=this.chart,e="disabled"!==t.options.accessibility.landmarkVerbosity,i=t.langFormat("accessibility.chartContainerLabel",{title:tp(t),chart:t});i&&(t.renderTo.setAttribute("role",e?"region":"group"),t.renderTo.setAttribute("aria-label",i))}makeCreditsAccessible(){let t=this.chart,e=t.credits;e&&(e.textStr&&e.element.setAttribute("aria-label",t.langFormat("accessibility.credits",{creditsStr:tg(e.textStr,t.renderer.forExport)})),tc(t,e.element))}getKeyboardNavigation(){let t=this.chart;return new td(t,{keyCodeMap:[],validate:function(){return!0},init:function(){let e=t.accessibility;e&&e.keyboardNavigation.tabindexContainer.focus()}})}destroy(){this.chart.renderTo.setAttribute("aria-hidden",!0)}};!function(t){let e=["x","y","transform","width","height","r","d","stroke-width"];function i(){let t=this.focusElement,e=this.options.accessibility.keyboardNavigation.focusBorder;t&&(t.removeFocusBorder(),e.enabled&&t.addFocusBorder(e.margin,{stroke:e.style.color,strokeWidth:e.style.lineWidth,r:e.style.borderRadius}))}function s(t,e){let i=this.options.accessibility.keyboardNavigation.focusBorder,s=e||t.element;
1s&&s.focus&&(s.hcEvents&&s.hcEvents.focusin||g(s,"focusin",function(){}),s.focus(),i.hideBrowserFocusOutline&&(s.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=t,g(this,"endResize",function(){this.renderFocusBorder()}),this.renderFocusBorder()}function o(t,i){this.focusBorder&&this.removeFocusBorder();let s=this.getBBox(),o=N(t,3),r=this.parentGroup,n=this.scaleX||r&&r.scaleX,a=this.scaleY||r&&r.scaleY,l=(n?!a:a)?Math.abs(n||a||1):(Math.abs(n||1)+Math.abs(a||1))/2,h=this.renderer.fontMetrics(this).h;s.x+=this.translateX?this.translateX:0,s.y+=this.translateY?this.translateY:0;let d=s.x-o,c=s.y-o,p=s.width+2*o,u=s.height+2*o,g=!!this.text;if("text"===this.element.nodeName||g){let t,e,i=!!this.rotation,r=g?{x:+!!i,y:0}:(t=0,e=0,"middle"===this.attr("text-anchor")?t=e=.5:this.rotation?t=.25:e=.75,{x:t,y:e}),n=+this.attr("x"),a=+this.attr("y");if(isNaN(n)||(d=n-s.width*r.x-o),isNaN(a)||(c=a-("start"===this.attr("text-anchor")?h:s.height)*r.y-o),g&&i){let t=p;p=u,u=t,isNaN(n)||(d=n-s.height*r.x-o),isNaN(a)||(c=a-s.width*r.y-o)}}this.focusBorder=this.renderer.rect(d,c,p,u,parseInt((i&&i.r||0).toString(),10)/l).addClass("highcharts-focus-border").attr({zIndex:99}).add(r),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,"stroke-width":(i&&i.strokeWidth||0)/l}),function(t,...i){t.focusBorderUpdateHooks||(t.focusBorderUpdateHooks={},e.forEach(e=>{let s=e+"Setter",o=t[s]||t._defaultSetter;t.focusBorderUpdateHooks[s]=o,t[s]=function(){let e=o.apply(t,arguments);return t.addFocusBorder.apply(t,i),e}}))}(this,t,i),function(t){if(t.focusBorderDestroyHook)return;let e=t.destroy;t.destroy=function(){return t.focusBorder&&t.focusBorder.destroy&&t.focu
1sBorder.destroy(),e.apply(t,arguments)},t.focusBorderDestroyHook=e}(this)}function r(){var t;t=this,t.focusBorderUpdateHooks&&(Object.keys(t.focusBorderUpdateHooks).forEach(e=>{let i=t.focusBorderUpdateHooks[e];i===t._defaultSetter?delete t[e]:t[e]=i}),delete t.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}t.compose=function(t,e){let n=t.prototype,a=e.prototype;n.renderFocusBorder||(n.renderFocusBorder=i,n.setFocusToElement=s),a.addFocusBorder||(a.addFocusBorder=o,a.removeFocusBorder=r)}}(r||(r={}));let tm=r,tx=l.A.AST;var ty=h.n(tx);let{doc:tb}=c(),{addClass:tv,visuallyHideElement:tk}=Y,tw=class{constructor(t,e){this.chart=t,this.domElementProvider=new tr,this.announceRegion=this.addAnnounceRegion(e)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(t){ty().setElementHTML(this.announceRegion,t),this.clearAnnouncementRegionTimer&&T(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=ty().emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(t){let e=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return f(i,{"aria-hidden":!1,"aria-live":t,"aria-atomic":!0}),this.chart.styledMode?tv(i,"highcharts-visually-hidden"):tk(i),e.appendChild(i),i}createAnnouncerContainer(){let t=this.chart,e=tb.createElement("div");return f(e,{"aria-hidden":!1,class:"highcharts-announcer-container"}),e.style.position="relative",t.renderTo.insertBefore(e,t.renderTo.firstChild),t.announcerContainer=e,e}},{escapeStringForHTML:tM,stripHTMLTagsFromString:tS}=Y;function tC(t){return(t.annotations||[]).reduce((t,e)=>(e.options&&!1!==e.options.visible&&(t=t.concat(e.labels)),t),[])}function tA(t){return t.options&&t.options.accessibility&&t.options.accessibility.description||t.graphic&&t.graphic.text&&t.graphic.text.textStr||""}function tT(t){let e=t.options&&t.options.accessibility&&t.options.accessibility.description;if(e)return e;let i=t.chart,s=tA(t),o=t.points.filter(t=>!!t.graphic).map(t=>{let e=t.accessibility&&t.accessibility.valueDescription||t.graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||"",i=t&&t.series.name||"";return(i?i+", ":"")+"data point "+e}).filter(t=>!!t),r=o.length,n=r>1?"MultiplePoints":r?"SinglePoint":"NoPoints",a={annotationText:s,annotation:t,numPoints:r,annotationPoint:o[0],additionalAnnotationPoints:o.slice(1)};return i.langFormat("accessibility.screenReaderSection.annotations.description"+n,a)}function tP(t){return tC(t).map(e=>{let i=tM(tS(tT(e),t.renderer.forExport));return i?`<li>${i}</li>`:""})}let tO={getAnnotationsInfoHTML:function(t){let e=t.annotations;if(!(e&&e.length))return"";let i=tP(t);return`<ul style="list-style-type: none">${i.join(" ")}</ul>`},getAnnotationLabelDescription:tT,getAnnotationListItems:tP,getPointAnnotationTexts:function(t){let e=tC(t.series.chart).filter(e=>e.points.indexOf(t)>-1);return e.length?e.map(t=>`${tA(t)}`):[]}},{getAnnotationsInfoHTML:tL}=tO,{getAxisDescription:tE,getAxisRangeDescription:tD,getChartTitle:tI,unhideChartElementFromAT:tB}=ti,{format:tN}=V(),{doc:tR}=c(),{addClass:tz,getElement:tW,getHeadingTagNameForElement:tH,stripHTMLTagsFromString:tF,visuallyHideElement:tG}=Y;function tj(t){return function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t}(t,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}let tX=class extends th{constructor(){super(...arguments),this.screenReaderSections={}}init(){let t=this.chart,e=this;this.initRegionsDefinitions(),this.addEvent(t,"afterGetTableAST",function(t){e.onDataTableCreated(t)}),this.addEvent(t,"afterViewData",function(t){t.wasHidden&&(e.dataTableDiv=t.element,setTimeout(function(){e.focusDataTable()},300))}),this.addEvent(t,"afterHideData",function(){e.viewDataTableButton&&e.viewDataTableButton.setAttribute("aria-expanded","false")}),t.exporting&&this.addEvent(t,"afterPrint",function(){e.updateAllScreenReaderSections()}),this.announcer=new tw(t,"assertive")}initRegionsDefinitions(){let t=this,e=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(i){let s=e.screenReaderSection.beforeChartFormatter;return s?s(i,t):t.defaultBeforeChartFormatter()},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.renderTo.firstChild)},afterInserted:function(){void 0!==t.sonifyButtonId&&t.initSonifyButton(t.sonifyButtonId),void 0!==t.dataTableButtonId&&t.initDataTableButton(t.dataTableButtonId)}},after:{element:null,buildContent:function(i){let s=e.screenReaderSection.afterChartFormatter;return s?s(i,t):t.defaultAfterChartFormatter()},insertIntoDOM:function(t,e){e.renderTo.insertBefore(t,e.container.nextSibling)},afterInserted:function(){t.chart.accessibility&&e.keyboardNavigation.enabled&&t.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),this.updateAllScreenReaderSections()}updateAllScreenReaderSections(){let t=this;
1Object.keys(this.screenReaderSections).forEach(function(e){t.updateScreenReaderSection(e)})}getLinkedDescriptionElement(){let t=this.chart.options.accessibility.linkedDescription;if(!t)return;if("string"!=typeof t)return t;let e=tN(t,this.chart),i=tR.querySelectorAll(e);if(1===i.length)return i[0]}setLinkedDescriptionAttrs(){let t=this.linkedDescriptionElement;t&&(t.setAttribute("aria-hidden","true"),tz(t,"highcharts-linked-description"))}updateScreenReaderSection(t){let e=this.chart,i=this.screenReaderSections[t],s=i.buildContent(e),o=i.element=i.element||this.createElement("div"),r=o.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(o,t),ty().setElementHTML(r,s),o.appendChild(r),i.insertIntoDOM(o,e),e.styledMode?tz(r,"highcharts-visually-hidden"):tG(r),tB(e,r),i.afterInserted&&i.afterInserted()):(o.parentNode&&o.parentNode.removeChild(o),i.element=null)}setScreenReaderSectionAttribs(t,e){let i=this.chart,s=i.langFormat("accessibility.screenReaderSection."+e+"RegionLabel",{chart:i,chartTitle:tI(i)});f(t,{id:`highcharts-screen-reader-region-${e}-${i.index}`,"aria-label":s||void 0}),t.style.position="relative",s&&t.setAttribute("role","all"===i.options.accessibility.landmarkVerbosity?"region":"group")}defaultBeforeChartFormatter(){let t=this.chart,e=t.options.accessibility.screenReaderSection.beforeChartFormat;if(!e)return"";let i=this.getAxesDescription(),s=t.sonify&&t.options.sonification&&t.options.sonification.enabled,o="highcharts-a11y-sonify-data-btn-"+t.index,r="hc-linkto-highcharts-data-table-"+t.index,n=tL(t),a=t.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:t}),l={headingTagName:tH(t.renderTo),chartTitle:tI(t),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:i.xAxis,yAxisDescription:i.yAxis,playAsSoundButton:s?this.getSonifyButtonText(o):"",viewTableButton:t.exporting?.getCSV?this.getDataTableButtonText(r):"",annotationsTitle:n?a:"",annotationsList:n},h=Z.i18nFormat(e,l,t);return this.dataTableButtonId=r,this.sonifyButtonId=o,tj(h)}defaultAfterChartFormatter(){let t=this.chart,e=t.options.accessibility.screenReaderSection.afterChartFormat;if(!e)return"";let i={endOfChartMarker:this.getEndOfChartMarkerText()};return tj(Z.i18nFormat(e,i,t))}getLinkedDescription(){let t=this.linkedDescriptionElement;return tF(t&&t.innerHTML||"",this.chart.renderer.forExport)}getLongdescText(){let t=this.chart.options,e=t.caption,i=e&&e.text,s=this.getLinkedDescription();return t.accessibility.description||s||i||""}getTypeDescriptionText(){var t;let e,i,s,o,r,n,a,l=this.chart;return l.types?l.options.accessibility.typeDescription||(o=(t=l.types)[0],r=l.series&&l.series[0]||{},n=l.mapView&&l.mapView.geoMap&&l.mapView.geoMap.title,a={numSeries:l.series.length,numPoints:r.points&&r.points.length,chart:l,mapTitle:n},o?"map"===o||"tiledwebmap"===o?a.mapTitle?l.langFormat("accessibility.chartTypes.mapTypeDescription",a):l.langFormat("accessibility.chartTypes.unknownMap",a):l.types.length>1?l.langFormat("accessibility.chartTypes.combinationChart",a):(e=t[0],i=l.langFormat("accessibility.seriesTypeDescriptions."+e,a),s=l.series&&l.series.length<2?"Single":"Multiple",(l.langFormat("accessibility.chartTypes."+e+s,a)||l.langFormat("accessibility.chartTypes.default"+s,a))+(i?" "+i:"")):l.langFormat("accessibility.chartTypes.emptyChart",a)):""}getDataTableButtonText(t){let e=this.chart;return'<button id="'+t+'">'+e.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:e,chartTitle:tI(e)})+"</button>"}getSonifyButtonText(t){let e=this.chart;return e.options.sonification&&!1===e.options.sonification.enabled?"":'<button id="'+t+'">'+e.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:e,chartTitle:tI(e)})+"</button>"}getSubtitleText(){let t=this.chart.options.subtitle;return tF(t&&t.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let t=tW(`highcharts-end-of-chart-marker-${this.chart.index}`);if(t)return t.outerHTML;let e=this.chart,i=e.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:e});return'<div id="highcharts-end-of-chart-marker-'+e.index+'">'+i+"</div>"}onDataTableCreated(t){let e=this.chart;if(e.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");let i=t.tree.attributes||{};i.tabindex=-1,i.summary=e.langFormat("accessibility.table.tableSummary",{chart:e}),t.tree.attributes=i}}focusDataTable(){let t=this.dataTableDiv,e=t&&t.getElementsByTagName("table")[0];e&&e.focus&&e.focus()}initSonifyButton(t){let e=this.sonifyButton=tW(t),i=this.chart,s=t=>{e&&(e.setAttribute("aria-hidden","true"),e.setAttribute("aria-label","")),t.preventDefault(),t.stopPropagation();let s=i.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:i});this.announcer.announce(s),setTimeout(()=>{e&&(e.removeAttribute("aria-hidden"),e.removeAttribute("aria-label")),i.sonify&&i.sonify()},1e3)};e&&i&&(e.setAttribute("tabindex",-1),e.onclick=function(t){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||s).call(this,t,i,this)})}initDataTableButton(t){let e=this.viewDataTableButton=tW(t),i=this.chart,s=t.replace("hc-linkto-","");e&&(f(e,{tabindex:-1,"aria-expanded":!!tW(s)}),e.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.exporting?.viewData()})}getAxesDescription(){let t=this.chart,e=function(e,i){let s=t[e];return s.length>1||s[0]&&N(s[0].options.accessibility&&s[0].options.accessibility.enabled,i)},i=!!t.types&&0>t.types.indexOf("map")&&0>t.types.indexOf("treemap")&&0>t.types.indexOf("tilemap"),s=!!t.hasCartesianSeries,o=e("xAxis",!t.angular&&s&&i),r=e("yAxis",s&&i),n={};return o&&(n.xAxis=this.getAxisDescriptionText("xAxis")),r&&(n.yAxis=this.getAxisDescriptionText("yAxis")),n}getAxisDescriptionText(t){let e=this.chart,i=e[t];return e.langFormat("accessibility.axis."+t+"Description"+(i.length>1?"Plural":"Singular"),{chart:e,names:i.map(function(t){return tE(t)}),ranges:i.map(function(t){return tD(t)}),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}},{getChartTitle:tY,unhideChartElementFromAT:tU}=ti,{getFakeMouseEvent:tV}=Y;function t$(t){return t.exporting?.svgElements?.[0]}class t_ extends th{init(){let t=this.chart,e=this;this.addEvent(t,"exportMenuShown",function(){e.onMenuShown()}),this.addEvent(t,"exportMenuHidden",function(){e.onMenuHidden()}),this.createProxyGroup()}onMenuHidden(){let t=this.chart.exporting?.contextMenuEl;t&&t.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}
1onMenuShown(){let t=this.chart,e=t.exporting?.contextMenuEl;e&&(this.addAccessibleContextMenuAttribs(),tU(t,e)),this.setExportButtonExpandedState("true")}setExportButtonExpandedState(t){this.exportButtonProxy&&this.exportButtonProxy.innerElement.setAttribute("aria-expanded",t)}onChartRender(){let t=this.chart,e=t.focusElement,i=t.accessibility;this.proxyProvider.clearGroup("chartMenu"),this.proxyMenuButton(),this.exportButtonProxy&&e&&e===t.exporting?.group&&(e.focusBorder?t.setFocusToElement(e,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){let t,e,i=this.chart,s=this.proxyProvider,o=t$(i);t=i.options.exporting,e=t$(i),t&&!1!==t.enabled&&t.accessibility&&t.accessibility.enabled&&e&&e.element&&o&&(this.exportButtonProxy=s.addProxyElement("chartMenu",{click:o},"button",{"aria-label":i.langFormat("accessibility.exporting.menuButtonLabel",{chart:i,chartTitle:tY(i)}),"aria-expanded":!1,title:i.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){let t=this.chart,e=t.exporting?.divElements;if(e&&e.length){e.forEach(t=>{t&&("LI"!==t.tagName||t.children&&t.children.length?t.setAttribute("aria-hidden","true"):t.setAttribute("tabindex",-1))});let i=e[0]&&e[0].parentNode;i&&f(i,{"aria-hidden":void 0,"aria-label":t.langFormat("accessibility.exporting.chartMenuLabel",{chart:t}),role:"list"})}}getKeyboardNavigation(){let t=this.keyCodes,e=this.chart,i=this;return new td(e,{keyCodeMap:[[[t.left,t.up],function(){return i.onKbdPrevious(this)}],[[t.right,t.down],function(){return i.onKbdNext(this)}],[[t.enter,t.space],function(){return i.onKbdClick(this)}]],validate:function(){return!!e.exporting&&e.options.exporting?.buttons?.contextButton.enabled!==!1&&!1!==e.options.exporting.enabled&&!1!==(e.options.exporting.accessibility?.enabled||!1)},init:function(){let t=i.exportButtonProxy,s=i.chart.exporting?.group;t&&s&&e.setFocusToElement(s,t.innerElement)},terminate:function(){e.hideExportMenu()}})}onKbdPrevious(t){let e=this.chart,i=e.options.accessibility,s=t.response,o=e.highlightedExportItemIx||0;for(;o--;)if(e.highlightExportItem(o))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightLastExportItem(),s.success):s.prev}onKbdNext(t){let e=this.chart,i=e.options.accessibility,s=t.response;for(let t=(e.highlightedExportItemIx||0)+1;t<(e.exporting?.divElements?.length||0);++t)if(e.highlightExportItem(t))return s.success;return i.keyboardNavigation.wrapAround?(e.highlightExportItem(0),s.success):s.next}onKbdClick(t){let e=this.chart,i=void 0!==e.highlightedExportItemIx&&e.exporting?.divElements?.[e.highlightedExportItemIx],s=t$(e)?.element;return e.exporting?.openMenu?i&&this.fakeClickEvent(i):(s&&this.fakeClickEvent(s),e.highlightExportItem(0)),t.response.success}}!function(t){function e(){let t=t$(this);if(t){let e=t.element;e.onclick&&(e.onclick=function(){tV("click")})}}function i(){let t=this.exporting?.divElements;t&&this.exporting?.contextMenuEl&&this.exporting?.openMenu&&(t.forEach(t=>{t&&"highcharts-menu-item"===t.className&&t.onmouseout&&t.onmouseout(tV("mouseout"))}),this.highlightedExportItemIx=0,this.exporting.contextMenuEl.hideMenu(),this.container.focus())}function s(t){let e=this.exporting?.divElements?.[t],i=void 0!==this.highlightedExportItemIx&&this.exporting?.divElements?.[this.highlightedExportItemIx];if(e&&"LI"===e.tagName&&!(e.children&&e.children.length)){let s=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus;return e.focus&&s&&e.focus(),i&&i.onmouseout&&i.onmouseout(tV("mouseout")),e.onmouseover&&e.onmouseover(tV("mouseover")),this.highlightedExportItemIx=t,!0}return!1}function o(){if(this.exporting?.divElements){let t=this.exporting?.divElements.length;for(;t--;)if(this.highlightExportItem(t))return!0}return!1}t.compose=function(t){let r=t.prototype;r.hideExportMenu||(r.hideExportMenu=i,r.highlightExportItem=s,r.highlightLastExportItem=o,r.showExportMenu=e)}}(t_||(t_={}));let tK=t_,{doc:tq,win:tZ}=c(),{getElement:tJ,simulatedEventTarget:tQ}=Y;class t0{constructor(t,e){this.currentModuleIx=NaN,this.modules=[],this.init(t,e)}init(t,e){let i=this.eventProvider=new tn;this.chart=t,this.components=e,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,"keydown",t=>this.onKeydown(t)),i.addEvent(this.tabindexContainer,"focus",t=>this.onFocus(t)),["mouseup","touchend"].forEach(t=>i.addEvent(tq,t,t=>
1this.onMouseUp(t))),["mousedown","touchstart"].forEach(e=>i.addEvent(t.renderTo,e,()=>{this.isClickingChart=!0}))}update(t){let e=this.chart.options.accessibility,i=e&&e.keyboardNavigation,s=this.components;this.updateContainerTabindex(),i&&i.enabled&&t&&t.length?(this.modules=t.reduce(function(t,e){let i=s[e].getKeyboardNavigation();return t.concat(i)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){let t=tJ(`highcharts-end-of-chart-marker-${this.chart.index}`);this.removeExitAnchor(),t?(this.makeElementAnExitAnchor(t),this.exitAnchor=t):this.createExitAnchor()}move(t){let e=this.modules&&this.modules[this.currentModuleIx];e&&e.terminate&&e.terminate(t),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=t;let i=this.modules&&this.modules[this.currentModuleIx];if(i){if(i.validate&&!i.validate())return this.move(t);if(i.init)return i.init(t),!0}return this.currentModuleIx=0,this.exiting=!0,t>0?this.exitAnchor&&this.exitAnchor.focus():this.tabindexContainer.focus(),!1}onFocus(t){let e=this.chart,i=t.relatedTarget&&e.container.contains(t.relatedTarget),s=e.options.accessibility,o=s&&s.keyboardNavigation;if(o&&o.enabled&&!this.exiting&&!this.tabbingInBackwards&&!this.isClickingChart&&!i){let t=this.getFirstValidModuleIx();null!==t&&(this.currentModuleIx=t,this.modules[t].init(1))}this.keyboardReset=!1,this.exiting=!1}onMouseUp(t){if(delete this.isClickingChart,!this.keyboardReset&&t.relatedTarget!==tQ){let e=this.chart;if(!t.target||!e.container.contains(t.target)){let t=this.modules&&this.modules[this.currentModuleIx||0];t&&t.terminate&&t.terminate(),this.currentModuleIx=0}e.focusElement&&(e.focusElement.removeFocusBorder(),delete e.focusElement),this.keyboardReset=!0}}onKeydown(t){let e,i=t||tZ.event,s=this.modules&&this.modules.length&&this.modules[this.currentModuleIx],o=i.target;if((!o||"INPUT"!==o.nodeName||o.classList.contains("highcharts-a11y-proxy-element"))&&(this.keyboardReset=!1,this.exiting=!1,s)){let t=s.run(i);t===s.response.success?e=!0:t===s.response.prev?e=this.move(-1):t===s.response.next&&(e=this.move(1)),e&&(i.preventDefault(),i.stopPropagation())}}updateContainerTabindex(){let t,e=this.chart.options.accessibility,i=e&&e.keyboardNavigation,s=!(i&&!1===i.enabled),o=this.chart,r=o.container;o.renderTo.hasAttribute("tabindex")?(r.removeAttribute("tabindex"),t=o.renderTo):t=r,this.tabindexContainer=t;let n=t.getAttribute("tabindex");s&&!n?t.setAttribute("tabindex","0"):s||o.container.removeAttribute("tabindex")}createExitAnchor(){let t=this.chart,e=this.exitAnchor=tq.createElement("div");t.renderTo.appendChild(e),this.makeElementAnExitAnchor(e)}makeElementAnExitAnchor(t){let e=this.tabindexContainer.getAttribute("tabindex")||0;t.setAttribute("class","highcharts-exit-anchor"),t.setAttribute("tabindex",e),t.setAttribute("aria-hidden",!1),this.addExitAnchorEventsToEl(t)}removeExitAnchor(){if(this.exitAnchor){let t=this.eventProvider.eventRemovers.find(t=>t.element===this.exitAnchor);t&&v(t.remover)&&this.eventProvider.removeEvent(t.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor}}addExitAnchorEventsToEl(t){let e=this.chart,i=this;this.eventProvider.addEvent(t,"focus",function(t){let s=t||tZ.event,o=!(s.relatedTarget&&e.container.contains(s.relatedTarget)||i.exiting);if(e.focusElement&&delete e.focusElement,o){if(i.tabbingInBackwards=!0,i.tabindexContainer.focus(),delete i.tabbingInBackwards,s.preventDefault(),i.modules&&i.modules.length){i.currentModuleIx=i.modules.length-1;let t=i.modules[i.currentModuleIx];t&&t.validate&&!t.validate()?i.move(-1):t&&t.init(-1)}}else i.exiting=!1})}getFirstValidModuleIx(){let t=this.modules.length;for(let e=0;e<t;++e){let t=this.modules[e];if(!t.validate||t.validate())return e}return null}destroy(){this.removeExitAnchor(),this.eventProvider.removeAddedEvents(),this.chart.container.removeAttribute("tabindex")}}function t1(){let t=this;S(this,"dismissPopupContent",{},function(){t.tooltip&&t.tooltip.hide(0),t.hideExportMenu()})}function t2(t){27===(t.which||t.keyCode)&&c().charts&&c().charts.forEac
1h(t=>{t&&t.dismissPopupContent&&t.dismissPopupContent()})}(t0||(t0={})).compose=function(t){tK.compose(t);let e=t.prototype;return!e.dismissPopupContent&&(e.dismissPopupContent=t1,tq&&g(tq,"keydown",t2)),t};let t3=t0,t5=l.A.Legend;var t6=h.n(t5);let{animObject:t9}=c(),{doc:t4}=c(),{getChartTitle:t8}=ti,{stripHTMLTagsFromString:t7,addClass:et,removeClass:ee}=Y;function ei(t){let e=t.legend&&t.legend.allItems,i=t.options.legend.accessibility||{},s=t.colorAxis&&t.colorAxis.some(t=>!t.dataClasses||!t.dataClasses.length);return!!(e&&e.length&&!s&&!1!==i.enabled)}function es(t,e){let i=e.legendItem||{};for(let s of(e.setState(t?"hover":"",!0),["group","label","symbol"])){let e=i[s],o=e&&e.element||e;o&&S(o,t?"mouseover":"mouseout")}}class eo extends th{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let t=this;this.recreateProxies(),this.addEvent(t6(),"afterScroll",function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),t.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(t.highlightedLegendItemIx))}),this.addEvent(t6(),"afterPositionItem",function(e){this.chart===t.chart&&this.chart.renderer&&t.updateProxyPositionForItem(e.item)}),this.addEvent(t6(),"afterRender",function(){this.chart===t.chart&&this.chart.renderer&&t.recreateProxies()&&W(()=>t.proxyProvider.updateGroupProxyElementPositions("legend"),t9(N(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let t,e=this.chart,i=e.legend,s=i.allItems||[],o=i.currentPage||1,r=i.clipHeight||0;s.forEach(s=>{if(s.a11yProxyElement){let n=i.pages&&i.pages.length,a=s.a11yProxyElement.element,l=!1;if(t=s.legendItem||{},n){let e=t.pageIx||0;l=(t.y||0)+(t.label?Math.round(t.label.getBBox().height):0)-i.pages[e]>r||e!==o-1}l?e.styledMode?et(a,"highcharts-a11y-invisible"):a.style.visibility="hidden":(ee(a,"highcharts-a11y-invisible"),a.style.visibility="")}})}onChartRender(){ei(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(t){let e=this.chart,i=e.legend,s=(i.currentPage||1)+t,o=i.pages||[];if(s>0&&s<=o.length){let t=0;for(let o of i.allItems)((o.legendItem||{}).pageIx||0)+1===s&&e.highlightLegendItem(t)&&(this.highlightedLegendItemIx=t),++t}}updateProxyPositionForItem(t){t.a11yProxyElement&&t.a11yProxyElement.refreshPosition()}recreateProxies(){let t=t4.activeElement,e=this.proxyGroup,i=t&&e&&e.contains(t);return this.removeProxies(),!!ei(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility(),this.updateLegendTitle(),i&&this.chart.highlightLegendItem(this.highlightedLegendItemIx),!0)}removeProxies(){this.proxyProvider.removeGroup("legend")}updateLegendTitle(){let t=this.chart,e=t7((t.legend&&t.legend.options.title&&t.legend.options.title.text||"").replace(/<br ?\/?>/g," "),t.renderer.forExport),i=t.langFormat("accessibility.legend.legendLabel"+(e?"":"NoTitle"),{chart:t,legendTitle:e,chartTitle:t8(t)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":i})}addLegendProxyGroup(){let t="all"===this.chart.options.accessibility.landmarkVerbosity?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:t})}proxyLegendItems(){let t,e=this;((this.chart.legend||{}).allItems||[]).forEach(i=>{(t=i.legendItem||{}).label&&t.label.element&&e.proxyLegendItem(i)})}proxyLegendItem(t){let e=t.legendItem||{},i=t.legendItem?.label,s=i?.element,o=e.label?.styles?.textOverflow==="ellipsis";if(!e.label||!e.group)return;let r=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:t7(t.name,this.chart.renderer.forExport),item:t}),n={tabindex:-1,"aria-pressed":t.visible,"aria-label":r,title:""};o&&-1!==(s.textContent||"").indexOf("…")&&(n.title=i?.textStr);let a=e.group.div?e.label:e.group;t.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:e.label,visual:a.element},"button",n)}getKeyboardNavigation(){let t=this.keyCodes,e=this,i=this.chart;return new td(i,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(t){return e.onKbdArrowKey(this,t)}
1],[[t.enter,t.space],function(){return e.onKbdClick(this)}],[[t.pageDown,t.pageUp],function(i){let s=i===t.pageDown?1:-1;return e.highlightAdjacentLegendPage(s),this.response.success}]],validate:function(){return e.shouldHaveLegendNavigation()},init:function(){i.highlightLegendItem(0),e.highlightedLegendItemIx=0},terminate:function(){e.highlightedLegendItemIx=-1,i.legend.allItems.forEach(t=>es(!1,t))}})}onKbdArrowKey(t,e){let{keyCodes:{left:i,up:s},highlightedLegendItemIx:o,chart:r}=this,n=r.legend.allItems.length,a=r.options.accessibility.keyboardNavigation.wrapAround,l=e===i||e===s?-1:1;return r.highlightLegendItem(o+l)?this.highlightedLegendItemIx+=l:a&&n>1&&(this.highlightedLegendItemIx=l>0?0:n-1,r.highlightLegendItem(this.highlightedLegendItemIx)),t.response.success}onKbdClick(t){let e=this.chart.legend.allItems[this.highlightedLegendItemIx];return e&&e.a11yProxyElement&&e.a11yProxyElement.click(),t.response.success}shouldHaveLegendNavigation(){if(!ei(this.chart))return!1;let t=this.chart,e=(t.options.legend||{}).accessibility||{};return!!(t.legend.display&&e.keyboardNavigation&&e.keyboardNavigation.enabled)}destroy(){this.removeProxies()}}function er(t){let e=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,s=e[t],o=s?.legendItem||{};if(s){var r;let n,a;O(i)&&e[i]&&es(!1,e[i]),n=((r=this.legend).allItems[t].legendItem||{}).pageIx,a=r.currentPage,void 0!==n&&n+1!==a&&r.scroll(1+n-a);let l=o.label,h=s.a11yProxyElement&&s.a11yProxyElement.innerElement;return l&&l.element&&h&&this.setFocusToElement(l,h),es(!0,s),!0}return!1}function en(t){let e=this.chart.options.accessibility,i=t.item;e.enabled&&i&&i.a11yProxyElement&&i.a11yProxyElement.innerElement.setAttribute("aria-pressed",t.visible?"true":"false")}(eo||(eo={})).compose=function(t,e){let i=t.prototype;i.highlightLegendItem||(i.highlightLegendItem=er,g(e,"afterColorizeItem",en))};let ea=eo,el=l.A.Axis;var eh=h.n(el);let{isTouchDevice:ed}=c(),ec=[];function ep(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function eu(){let t,e,i,s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:n}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+n):(o.left=N(e.left,this.plotLeft+n),o.top=o.navigatorOptions.top||this.chartHeight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+N(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function eg(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new s(this),N(t.redraw,!0)&&this.redraw(t.animation))}function ef(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new s(this))}function em(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!ed&&"x"===this.zooming.type||ed&&"x"===this.zooming.pinchType))return!1}function ex(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function ey(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(I(!0,this.options.navigator,e),I(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let eb=function(t,e){if(R(ec,t)){let i=t.prototype;s=e,i.callbacks.push(ex),g(t,"afterAddSeries",ep),g(t,"afterSetChartSize",eu),g(t,"afterUpdate",eg),g(t,"beforeRender",ef),g(t,"beforeShowResetZoom",em),g(t,"update",ey)}},{isTouchDevice:ev}=c();function ek(){this.navigatorAxis||(this.navigatorAxis=new eM(this))}function ew(t){let e,i=this.chart,s=i.options,o=s.navigator,r=this.navigatorAxis,n=i.zooming.pinchType,a=s.rangeSelector,l=i.zooming.type;if(this.isXAxis&&(o?.enabled||a?.enabled)){if("y"===l&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===l||ev&&"xy"===n)&&this.options.range){let e=r.previousZoom;v(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class eM{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),g(t,"init",ek),g(t,"setExtremes",ew))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let o=this.axis,r=(o.pointRange||0)/2,n=N(i,o.translate(t,!0,!o.horiz)),a=N(s,o.translate(e,!0,!o.horiz));return v(i)||(n=x(n+r)),v(s)||(a=x(a-r)),O(n)&&O(a)||(n=a=void 0),{min:n,max:a}}}let eS=l.A.Color;var eC=h.n(eS);let eA=l.A.SeriesRegistry;var eT=h.n(eA);let{parse:eP}=eC(),{seriesTypes:eO}=eT(),eL={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:eP("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===eO.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}}
vendor: 16,306 bytes, line 1
1,eE={"navigator-handle":function(t,e,i,s,o={}){var r,n,a,l,h,d;let c,p=o.width?o.width/2:i,u=(r=o.borderRadius||0,n=Math.min(2*p,s),/%$/.test(r)?n*parseFloat(r)/100+0:parseFloat(r));return[["M",-1.5,(s=o.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...(a=-p-1,l=2*p+1,h=s,d={r:u},d?.r?[["M",a+(c=d?.r||0),.5],["L",a+l-c,.5],["A",c,c,0,0,1,a+l,.5+c],["L",a+l,.5+h-c],["A",c,c,0,0,1,a+l-c,.5+h],["L",a+c,.5+h],["A",c,c,0,0,1,a,.5+h-c],["L",a,.5+c],["A",c,c,0,0,1,a+c,.5],["Z"]]:[["M",a,.5],["L",a+l,.5],["L",a+l,.5+h],["L",a,.5+h],["Z"]])]}},eD=l.A.RendererRegistry;var eI=h.n(eD);let{defaultOptions:eB}=c(),{composed:eN}=c(),{getRendererType:eR}=eI(),{setFixedRange:ez}={setFixedRange:function(t){let e=this.xAxis[0];v(e.dataMax)&&v(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}};function eW(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let eH=function(t,e,i){eM.compose(e),R(eN,"Navigator")&&(t.prototype.setFixedRange=ez,M(eR().prototype.symbols,eE),M(eB,{navigator:eL}),g(i,"afterUpdate",eW))},{composed:eF}=c();!function(t){let e;function i(t){let e=N(t.options?.min,t.min),i=N(t.options?.max,t.max);return{axisMin:e,axisMax:i,scrollMin:v(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??(v(t.dataMax)?Math.max(i,t.max??-1/0,t.dataMax,t.threshold??-1/0):i)}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function o(){let t=this;t.options?.scrollbar?.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),g(t.scrollbar,"changed",function(e){let s,o,{axisMin:r,axisMax:n,scrollMin:a,scrollMax:l}=i(t),h=t.toPixels(a),d=t.toPixels(l)-h;if(v(r)&&v(n))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=Math.min(l,t.toValue(h+d*this.to)),o=Math.max(a,t.toValue(h+d*this.from))):(s=Math.min(l,t.toValue(h+d*(1-this.from))),o=Math.max(a,t.toValue(h+d*(1-this.to)))),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(x(o),x(s),!0,i,e)}else this.setRange(this.from,this.to)}))}function r(){let t,e,s,{scrollMin:o,scrollMax:r}=i(this),n=this.scrollbar,a=(this.axisTitleMargin||0)+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,h=this.options.margin||0;if(n&&l){if(this.horiz)this.opposite||(l[1]+=a),n.position(this.left,this.top+this.height+2+l[1]-(this.opposite?h:0),this.width,this.height),this.opposite||(l[1]+=h),t=1;else{let e;this.opposite&&(l[0]+=a),e=n.options.opposite?this.left+this.width+2+l[0]-(this.opposite?0:h):this.opposite?0:h,n.position(e,this.top,this.width,this.height),this.opposite&&(l[0]+=h),t=0}if(l[t]+=n.size+(n.options.margin||0),isNaN(o)||isNaN(r)||!v(this.min)||!v(this.max)||v(this.dataMin)&&this.dataMin===this.dataMax)n.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),n.setRange(e,s)}else e=(this.toPixels(this.min)-this.toPixels(o))/(this.toPixels(r)-this.toPixels(o)),s=(this.toPixels(this.max)-this.toPixels(o))/(this.toPixels(r)-this.toPixels(o)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?n.setRange(e,s):n.setRange(1-s,1-e)}}t.compose=function(t,i){R(eF,"Axis.Scrollbar")&&(e=i,g(t,"afterGetOffset",s),g(t,"afterInit",o),g(t,"afterRender",r))}}(n||(n={}));let eG=n,ej={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:eX}=c(),{composed:eY}=c();class eU{static compose(t){eG.compose(t,eU),R(eY,"Scrollbar")&&M(eX,{scrollbar:ej})}static swapXY(t,e){return e&&t.forEach(t=>{let e,i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,o=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),n=this.mouseUpHandler.bind(this),a=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",o],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",n],[i,"touchstart",o],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",n]];a.forEach(function(t){g.apply(null,t)}),this._events=a}buttonToMaxClick(t){let e=(this.to-this.from)*N(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),S(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=x(this.to-this.from)*N(this.options.step,.2);this.updatePosition(x(this.from-e),x(this.to-e)),S(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,k(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(eU.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=I(ej,eX.scrollbar,e),this.options.margin=N(this.options.margin,10),this.chart=i,this.size=N(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e,i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&S(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&S(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,n?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-l,translateY:n?s-h:0})}removeEvents(){this._events.forEach(function(t){z.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-y(0,r),y:-y(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(eU.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-y(0,this.scrollbarStrokeWidth),-y(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,o=this.options,r=o.vertical,n=o.minWidth,a=this.barWidth,l=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!v(a))return;let h=a*Math.min(e,1);i=Math.ceil(a*(t=Math.max(t,0))),this.calculatedWidth=s=x(h-i),s<n&&(i=(a-n+s)*t,s=n);let d=Math.floor(i+this.xOffset+this.yOffset),c=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[l]({translateY:d}),this.scrollbar[l]({height:s}),this.scrollbarRifles[l]({translateY:c}),this.scrollbarTop=d,this.scrollbarLeft=0):(this.scrollbarGroup[l]({translateX:d}),this.scrollbar[l]({width:s}),this.scrollbarRifles[l]({translateX:c}),this.scrollbarLeft=d,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===o.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return N(this.options.liveRedraw,c().svg&&!c().isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!v(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),S(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,I(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=x(1-x(e-t)),e=1),t<0&&(e=x(e-t),t=0),this.from=t,this.to=e}}eU.defaultOptions=ej;let{defaultOptions:eV}=c(),{isTouchDevice:e$}=c();function e_(t,...e){let i=[].filter.call(e,O);if(i.length)return Math[t].apply(0,i)}class eK{static compose(t,e,i){eb(t,eK),eH(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),n=r/2,a=r%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,c=this.height,p=d-n,u=d+c,g=this.left,f,m;i?(f=d+e+a,e=d+t+a,m=[["M",g+c,d-l-a],["L",g+c,f],["L",g,f],["M",g,e],["L",g+c,e],["L",g+c,d+h+l]],o&&m.push(["M",g+c,f-n],["L",g+c,e+n])):(g-=l,t+=g+l-a,e+=g+l-a,m=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+h+2*l,p]],o&&m.push(["M",t-n,p],["L",e+n,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,n,a,l=this.left,h=this.top,d=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],r=[d,d,d],o=[t,e-t,this.size-e]):(n=[l,l+t,l+e],a=[h,h,h],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(n))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=!1,o=e.handles,{height:l,width:h}=o;[0,1].forEach(e=>{let d=o.symbols[e];(i=i||t.handles[e]?.symbolName!==d)&&(t.handles[e]?.destroy(),t.handles[e]=r.symbol(d,-h/2-1,0,h,l,o),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a)),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-h/2),rotationOriginY:(l+h)/2}),s.styledMode||t.handles[e].attr({fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.lineWidth,width:o.width,height:o.height,x:-h/2-1,y:0}).css(n)}),i&&(t.partsEventsToUnbind?.forEach(t=>{t()}),t.partsEventsToUnbind=[...t.getPartsEvents("mousedown"),...t.getPartsEvents("touchstart")])}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(I(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),v(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{z(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(g(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,n=r.pointRange||0,a=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,u=this.scrollButtonSize,g,f,y,b=this.scrollbarHeight,k,w;if(this.hasDragged&&!v(i))return;if(this.isDirty&&this.renderElements(),t=x(t-n/2),e=x(e+n/2),!O(t)||!O(e))if(!h)return;else i=0,s=N(r.width,a.width);this.left=N(r.left,o.plotLeft+u+(d?o.plotWidth:0));let M=this.size=k=N(r.len,(d?o.plotHeight:o.plotWidth)-2*u);g=d?b:k+2*u,i=N(i,r.toPixels(t,!0)),s=N(s,r.toPixels(e,!0)),O(i)&&Math.abs(i)!==1/0||(i=0,s=g);let C=r.toValue(i,!0),A=r.toValue(s,!0),T=Math.abs(x(A-C));v(c)&&T<c?this.grabbedLeft?i=r.toPixels(A-c-n,!0):this.grabbedRight&&(s=r.toPixels(C+c+n,!0)):v(p)&&x(T-n)>p&&(this.grabbedLeft?i=r.toPixels(A-p-n,!0):this.grabbedRight&&(s=r.toPixels(C+p+n,!0))),this.zoomedMax=m(Math.max(i,s),0,M),this.zoomedMin=m(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax);let P=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"inherit"}),w=h&&!this.hasDragged?"animate":"attr",this.drawMasks(P,M,d,w),this.drawOutline(P,M,d,w),this.navigatorOptions.handles?.enabled&&(this.drawHandle(P,0,d,w),this.drawHandle(M,1,d,w))),this.scrollbar&&(d?(y=this.top-u,f=this.left-b+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),b=k+2*u):(y=this.top+(l?this.height:-b),f=this.left-u),this.scrollbar.position(f,y,g,b),this.scrollbar.setRange(this.zoomedMin/(k||1),this.zoomedMax/(k||1))),this.rendered=!0,this.isDirty=!1,S(this,"afterRe
1nder")}addMouseEvents(){let t,e,i=this,s=i.chart,o=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},r.push(g(s.renderTo,"mousemove",t),g(o.ownerDocument,"mouseup",e),g(s.renderTo,"touchmove",t),g(o.ownerDocument,"touchend",e)),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push(g(i.series[0].xAxis,"foundExtremes",function(){s.navigator?.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(s=>{e[s].forEach(function(o,r){i.push(g(o.element,t,function(t){e[`${s}Mousedown`](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,n=this.range,a=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,a=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=n,this.dragOffset=l-o):(p=l-a-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=r&&(p=r-n,this.reversedExtremes?(p-=n,d=this.getUnionExtremes()?.dataMin):h=this.getUnionExtremes()?.dataMax),p!==o&&(this.fixedWidth=n,v((c=s.navigatorAxis.toFixedRange(p,p+n,d,h)).min)&&S(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,n=i.inverted,a=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,n&&(a=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-a)):e.grabbedCenter&&r&&(e.hasDragged=!0,l<r?l=r:l>s+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&N(e.scrollbarOptions?.liveRedraw,!e$&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n,a=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),v((n=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&S(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&O(this.zoomedMin)&&O(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles?.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}removeEvents(){this.eventsToUnbind?.forEach(t=>{t()}),this.eventsToUnbind=void 0,this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){z(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&z(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,o=e.scrollbar||{},r=o.enabled,n=s&&i.height||0,a=r&&o.height||0,l=o.buttonsEnabled&&a||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=n,this.scrollbarHeight=a,this.scrollButtonSize=l,this.scrollbarEnabled=r,this.navigatorEnabled=!!s,this.navigatorOptions=i,this.scrollbarOptions=o,this.setOpposite();let h=this,d=h.baseSeries,c=t.xAxis.length,p=t.yAxis.length,u=d&&d[0]&&d[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,h.navigatorEnabled){let e=this.getXAxisOffsets();h.xAxis=new(eh())(t,I({breaks:u.options.breaks,ordinal:u.options.ordinal,overscroll:u.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:c,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:u.options.ordinal?0:u.options.minPadding,maxPadding:u.options.ordinal?0:u.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:n}:{offsets:e,height:n}),"xAxis"),h.yAxis=new(eh())(t,I(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:N(i.yAxis&&i.yAxis.reversed,t.yAxis[0]&&t.yAxis[0].reversed,!1),zoomEnabled:!1},t.inverted?{width:n}:{height:n}),"yAxis"),d||i.series?.data?h.updateNavigatorSeries(!1):0===t.series.length&&(h.unbindRedraw=g(t,"beforeRedraw",function(){t.series.length>0&&!h.series&&(h.setBaseSeries(),h.unbindRedraw?.())})),h.reversedExtremes=t.inverted&&!h.xAxis.reversed||!t.inverted&&h.xAxis.reversed,h.renderElements(),h.addMouseEvents()}else h.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],o=s.getExtremes(),r=s.len-2*l,n=e_("min",s.options.min,o.dataMin),a=e_("max",s.options.max,o.dataMax)-n;return i?e*a/r+n:r*(e-n)/a},toPixels:function(t){return this.translate(t)}
vendor: 5,485 bytes, line 1
1,toValue:function(t){return this.translate(t,!0)}},h.xAxis.navigatorAxis.axis=h.xAxis,h.xAxis.navigatorAxis.toFixedRange=eM.prototype.toFixedRange.bind(h.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let e=I(t.options.scrollbar,{vertical:t.inverted});O(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=h.scrollbar=new eU(t.renderer,e,t),g(h.scrollbar,"changed",function(t){let e=h.size,i=e*this.to,s=e*this.from;h.hasDragged=h.scrollbar?.hasDragged,h.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){h.onMouseUp(t)})})}h.addBaseSeriesEvents(),h.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=N(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,o=this.xAxis,r=o.options,n=i.options;return t&&null===i.dataMin||(e={dataMin:N(s.parse(r?.min),e_("min",s.parse(n.min),i.dataMin,o.dataMin,o.min)),dataMax:N(s.parse(r?.max),e_("max",s.parse(n.max),i.dataMax,o.dataMax,o.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?A(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(e&&0>o.indexOf(e))||(e&&(z(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,l,h=i.navigatorOptions.series,d;if(o&&o.length&&o.forEach(t=>{var c;let p=t.navigatorSeries,u=M({color:t.color,visible:t.visible},E(h)?eV.navigator.series:h);if(p&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,d=(a=t.options||{}).navigatorOptions||{},u.dataLabels=E(c=u.dataLabels)?c:[c],(l=I(a,r,u,d)).pointRange=N(u.pointRange,d.pointRange,eV.plotOptions[l.type||"line"]?.pointRange);let g=d.data||u.data;i.hasNavigatorData=i.hasNavigatorData||!!g,l.data=g||a.data?.slice(0),p&&p.options?p.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),h?.data&&!(o&&o.length)||E(h)){var c;i.hasNavigatorData=!1,(h=E(c=h)?c:[c]).forEach((t,e)=>{r.name="Navigator "+(n.length+1),(l=I(eV.navigator?.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors?.[e]||s.options.colors?.[0]},r,t)).data=t.data,l.data&&(i.hasNavigatorData=!0,n.push(s.initSeries(l)))})}t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(g(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(g(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(g(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(g(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(g(i,"remove",function(){e&&w(e,i),this.navigatorSeries&&t.series&&(w(t.series,this.navigatorSeries),v(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,l=r-o,h=i?.stickToMin,d=i?.stickToMax,c=N(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=n)+l),d&&(t=a+c,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&O(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=N(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data,!1,void 0,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!!(O(o)&&O(r))&&(n&&o-i>0?o-i<n:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(g(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),g(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.he
1ight+(this.scrollbar?.options.margin||0)+t.scrollbarHeight:0)+(t.navigatorOptions.margin||0)}),g(this,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(w(this.chart.xAxis,this.xAxis),w(this.chart.axes,this.xAxis)),this.yAxis&&(w(this.chart.yAxis,this.yAxis),w(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{k(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}let{animObject:eq}=c(),{format:eZ}=V(),{getFakeMouseEvent:eJ}=Y,{getAxisRangeDescription:eQ,fireEventOnWrappedOrUnwrappedElement:e0}=ti,e1=class extends th{init(){let t=this.chart,e=this;this.announcer=new tw(t,"polite"),this.addEvent(eK,"afterRender",function(){this.chart===e.chart&&this.chart.renderer&&W(()=>{e.proxyProvider.updateGroupProxyElementPositions("navigator"),e.updateHandleValues()},eq(N(this.chart.renderer.globalAnimation,!0)).duration)})}onChartUpdate(){let t=this.chart,e=t.options,i=e.navigator;if(i.enabled&&i.accessibility?.enabled){let i=e.accessibility.landmarkVerbosity,s=e.lang.accessibility?.navigator.groupLabel;this.proxyProvider.removeGroup("navigator"),this.proxyProvider.addGroup("navigator","div",{role:"all"===i?"region":"group","aria-label":eZ(s,{chart:t},t)});let o=e.lang.accessibility?.navigator.handleLabel;[0,1].forEach(e=>{let i=this.getHandleByIx(e);if(i){let s=this.proxyProvider.addProxyElement("navigator",{click:i},"input",{type:"range","aria-label":eZ(o,{handleIx:e,chart:t},t)});this[e?"maxHandleProxy":"minHandleProxy"]=s.innerElement,s.innerElement.style.pointerEvents="none",s.innerElement.oninput=()=>this.updateNavigator()}}),this.updateHandleValues()}else this.proxyProvider.removeGroup("navigator")}getNavigatorHandleNavigation(t){let e=this,i=this.chart,s=t?this.maxHandleProxy:this.minHandleProxy,o=this.keyCodes;return new td(i,{keyCodeMap:[[[o.left,o.right,o.up,o.down],function(r){if(s){let n=r===o.left||r===o.up?-1:1;s.value=""+m(parseFloat(s.value)+n,0,100),e.updateNavigator(()=>{let o=e.getHandleByIx(t);o&&i.setFocusToElement(o,s)})}return this.response.success}]],init:()=>{i.setFocusToElement(this.getHandleByIx(t),s)},validate:()=>!!(this.getHandleByIx(t)&&s&&i.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&T(this.updateNavigatorThrottleTimer),this.proxyProvider.removeGroup("navigator"),this.announcer&&this.announcer.destroy()}updateHandleValues(){let t=this.chart.navigator;if(t&&this.minHandleProxy&&this.maxHandleProxy){let e=t.size;this.minHandleProxy.value=""+Math.round(t.zoomedMin/e*100),this.maxHandleProxy.value=""+Math.round(t.zoomedMax/e*100)}}getHandleByIx(t){let e=this.chart.navigator;return e&&e.handles&&e.handles[t]}updateNavigator(t){let e=t=>{let e=this.chart,{navigator:i,pointer:s}=e,o=this.chart.accessibility?.keyboardNavigation;if(i&&s&&this.minHandleProxy&&this.maxHandleProxy){let r=s.getChartPosition(),n=parseFloat(this.minHandleProxy.value)/100*i.size,a=parseFloat(this.maxHandleProxy.value)/100*i.size;[[0,"mousedown",i.zoomedMin],[0,"mousemove",n],[0,"mouseup",n],[1,"mousedown",i.zoomedMax],[1,"mousemove",a],[1,"mouseup",a]].forEach(([t,e,s])=>{let o=this.getHandleByIx(t)?.element;o&&e0(o,eJ(e,{x:r.left+i.left+s,y:r.top+i.top},o))}),o&&(o.keyboardReset=!1),t&&t();let l=e.options.lang.accessibility?.navigator.changeAnnouncement,h=eQ(e.xAxis[0]);this.announcer.announce(eZ(l,{axisRangeDescription:h,chart:e},e))}};this.updateNavigatorThrottleTimer&&T(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout(e.bind(this,t),20)}},{getPointAnnotationTexts:e2}=tO,{getAxisDescription:e3,getSeriesFirstPointElement:e5,getSeriesA11yElement:e6,unhideChartElementFromAT:e9}=ti,{format:e4,numberFormat:e8}=V(),{reverseChildNodes:e7,stripHTMLTagsFromString:it}=Y;function ie(t){let e=t.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==e&&t.points&&t.points.length>=+e)}function ii(t,e){let i=t.series,s=i.chart,o=s.options.accessibility.point||{},r=i.options.accessibility&&i.options.accessibility.point||{},n=i.tooltipOptions||{},a=s.options.lang;return O(e)?e8(e,r.valueDecimals||o.valueDecimals||n.valueDecimals||-1,a.decimalPoint,a.accessibility.thousandsSep||a.thousandsSep):e}function is(t,e){let i=t[e];return t.chart.langFormat("accessibility.series."+e+"Description",{name:e3(i),series:t})}function io(t){let e,i,s,o,r,n,a,l,h,d,c,p,u=t.series,g=u.chart.series.length>
11||u.options.name,f=(n=(r=t.series).chart,l=(a=r.options.accessibility)&&a.point&&a.point.valueDescriptionFormat||n.options.accessibility.point.valueDescriptionFormat,d=(h=N(r.xAxis&&r.xAxis.options.accessibility&&r.xAxis.options.accessibility.enabled,!n.angular&&"flowmap"!==r.type))?(e=function(t){let e=t.series,i=e.chart,s=e.options.accessibility&&e.options.accessibility.point||{},o=i.options.accessibility.point||{},r=e.xAxis&&e.xAxis.dateTime;if(r){let e=r.getXDateFormat(t.x||0,i.options.tooltip.dateTimeLabelFormats),n=s.dateFormatter&&s.dateFormatter(t)||o.dateFormatter?.(t)||s.dateFormat||o.dateFormat||e;return i.time.dateFormat(n,t.x||0,void 0)}}(t),i=(t.series.xAxis||{}).categories&&v(t.category)&&(""+t.category).replace("<br/>"," "),s=v(t.id)&&0>(""+t.id).indexOf("highcharts-"),o="x, "+t.x,t.name||e||i||(s?t.id:o)):"",e4(l,{point:t,index:v(t.index)?t.index+1:"",xDescription:d,value:function(t){let e=t.series,i=e.chart.options.accessibility.point||{},s=e.chart.options.accessibility&&e.chart.options.accessibility.point||{},o=e.tooltipOptions||{},r=s.valuePrefix||i.valuePrefix||o.valuePrefix||"",n=s.valueSuffix||i.valueSuffix||o.valueSuffix||"",a=void 0!==t.value?"value":"y",l=ii(t,t[a]);if(t.isNull)return e.chart.langFormat("accessibility.series.nullPointValue",{point:t});if(e.pointArrayMap){let e,i,s;return e=r||"",i=n||"",s=function(s){let o=ii(t,N(t[s],t.options[s]));return void 0!==o?s+": "+e+o+i:o},t.series.pointArrayMap.reduce(function(t,e){let i=s(e);return i?t+(t.length?", ":"")+i:t},"")}return r+l+n}(t),separator:h?", ":""},n)),m=t.options&&t.options.accessibility&&t.options.accessibility.description,x=g?" "+u.name+".":"",y=(c=t.series.chart,(p=e2(t)).length?c.langFormat("accessibility.series.pointAnnotationsDescription",{point:t,annotations:p}):"");return t.accessibility=t.accessibility||{},t.accessibility.valueDescription=f,f+(m?" "+m:"")+x+(y?" "+y:"")}function ir(t){let e,i=t.chart,s=i.types||[],o=(e=(t.options.accessibility||{}).description)&&t.chart.langFormat("accessibility.series.description",{description:e,series:t})||"",r=function(e){return i[e]&&i[e].length>1&&t[e]},n=t.index+1,a=is(t,"xAxis"),l=is(t,"yAxis"),h={seriesNumber:n,series:t,chart:i},d=s.length>1?"Combination":"",c=i.langFormat("accessibility.series.summary."+t.type+d,h)||i.langFormat("accessibility.series.summary.default"+d,h),p=(r("yAxis")?" "+l+".":"")+(r("xAxis")?" "+a+".":"");return e4(N(t.options.accessibility&&t.options.accessibility.descriptionFormat,i.options.accessibility.series.descriptionFormat,""),{seriesDescription:c,authorDescription:o?" "+o:"",axisDescription:p,series:t,chart:i,seriesNumber:n},void 0)}let ia={defaultPointDescriptionFormatter:io,defaultSeriesDescriptionFormatter:ir,describeSeries:function(t){let e=t.chart,i=e5(t),s=e6(t),o=e.is3d&&e.is3d();if(s){let r,n,a,l,h,d,c,p,u,g,f;if(s.lastChild!==i||o||e7(s),r=t.options.accessibility||{},a=!ie(t)&&!r.exposeAsGroupOnly,n=t.chart.options.accessibility.keyboardNavigation.seriesNavigation,l=!!(t.points&&(t.points.length<+n.pointNavigationEnabledThreshold||!1===n.pointNavigationEnabledThreshold)),h=t.chart.options.accessibility.point.describeNull,(a||l)&&t.points.forEach(e=>{let i,s,o,r,n,l=e.graphic&&e.graphic.element||(s=(i=e.series)&&i.chart,o=i&&i.is("sunburst"),r=e.isNull,n=s&&s.options.accessibility.point.describeNull,r&&!o&&n&&function(t){let e,i=t.series,s=function(t){let e=t.index;if(!t.series||!t.series.data||!v(e))return null;let i=t.series.options?.nullInteraction;return A(t.series.data,function(t){return!!(t&&void 0!==t.index&&(i||t.index>e)&&t.graphic&&t.graphic.element)})||null}(t),o=s&&s.graphic,r=o?o.parentGroup:i.graph||i.group,n=s?{x:N(t.plotX,s.plotX,0),y:N(t.plotY,s.plotY,0)}:{x:N(t.plotX,0),y:N(t.plotY,0)},a=((e=t.series.chart.renderer.rect(n.x,n.y,1,1)).attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),e);if(r&&r.element)return t.graphic=a,t.hasMockGraphic=!0,a.add(r),r.element.insertBefore(a.element,o?o.element:null),a.element}(e)),d=e.options&&e.options.accessibility&&!1===e.options.accessibility.enabled;if(l){if(e.isNull&&!h)return void l.setAttribute("aria-hidden",!0);if(l.setAttribute("tabindex","-1"),t.chart.styledMode||(l.style.outline="none"),a&&!d){let t,i,s,o;
1t=e.series,i=t.options.accessibility?.point||{},s=t.chart.options.accessibility.point||{},o=it(L(i.descriptionFormat)&&e4(i.descriptionFormat,e,t.chart)||i.descriptionFormatter?.(e)||L(s.descriptionFormat)&&e4(s.descriptionFormat,e,t.chart)||s.descriptionFormatter?.(e)||io(e),t.chart.renderer.forExport),l.setAttribute("role","img"),l.setAttribute("aria-label",o)}else l.setAttribute("aria-hidden",!0)}}),e9(e,s),p=(c=(d=t.chart).options.chart).options3d&&c.options3d.enabled,u=d.series.length>1,g=d.options.accessibility.series.describeSingleSeries,f=(t.options.accessibility||{}).exposeAsGroupOnly,!(p&&u)&&(u||g||f||ie(t))){let e,i,o;e=t.options.accessibility||{},o=(i=t.chart.options.accessibility).landmarkVerbosity,e.exposeAsGroupOnly?s.setAttribute("role","img"):"all"===o?s.setAttribute("role","region"):s.setAttribute("role","group"),s.setAttribute("tabindex","-1"),t.chart.styledMode||(s.style.outline="none"),s.setAttribute("aria-label",it(i.series.descriptionFormatter&&i.series.descriptionFormatter(t)||ir(t),t.chart.renderer.forExport))}else s.removeAttribute("aria-label")}}},{composed:il}=c(),{getChartTitle:ih}=ti,{defaultPointDescriptionFormatter:id,defaultSeriesDescriptionFormatter:ic}=ia;function ip(t){return!!t.options.accessibility.announceNewData.enabled}class iu{constructor(t){this.dirty={allSeries:{}},this.lastAnnouncementTime=0,this.chart=t}init(){let t=this.chart,e=t.options.accessibility.announceNewData.interruptUser?"assertive":"polite";this.lastAnnouncementTime=0,this.dirty={allSeries:{}},this.eventProvider=new tn,this.announcer=new tw(t,e),this.addEventListeners()}destroy(){this.eventProvider.removeAddedEvents(),this.announcer.destroy()}addEventListeners(){let t=this,e=this.chart,i=this.eventProvider;i.addEvent(e,"afterApplyDrilldown",function(){t.lastAnnouncementTime=0}),i.addEvent(e,"afterAddSeries",function(e){t.onSeriesAdded(e.series)}),i.addEvent(e,"redraw",function(){t.announceDirtyData()})}onSeriesAdded(t){ip(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[t.name+t.index]=t,this.dirty.newSeries=v(this.dirty.newSeries)?void 0:t)}announceDirtyData(){let t=this.chart,e=this;if(t.options.accessibility.announceNewData&&this.dirty.hasDirty){var i;let t,s=this.dirty.newPoint;s&&(s=1===(t=(i=s).series.data.filter(t=>i.x===t.x&&i.y===t.y)).length?t[0]:i),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map(t=>e.dirty.allSeries[t]),this.dirty.newSeries,s),this.dirty={allSeries:{}}}}queueAnnouncement(t,e,i){let s=this.chart.options.accessibility.announceNewData;if(s.enabled){let o,r=+new Date,n=r-this.lastAnnouncementTime,a=Math.max(0,s.minAnnounceInterval-n),l=Object.keys(o=(this.queuedAnnouncement&&this.queuedAnnouncement.series||[]).concat(t||[]).reduce((t,e)=>(t[e.name+e.index]=e,t),{})).map(t=>o[t]),h=this.buildAnnouncementMessage(l,e,i);h&&(this.queuedAnnouncement&&T(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:r,message:h,series:l},this.queuedAnnouncementTimer=setTimeout(()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)},a))}}buildAnnouncementMessage(t,e,i){let s=this.chart,o=s.options.accessibility.announceNewData;if(o.announcementFormatter){let s=o.announcementFormatter(t,e,i,this);if(!1!==s)return s.length?s:null}let r=c().charts&&c().charts.length>1?"Multiple":"Single",n=e?"newSeriesAnnounce"+r:i?"newPointAnnounce"+r:"newDataAnnounce",a=ih(s);return s.langFormat("accessibility.announceNewData."+n,{chartTitle:a,seriesDesc:e?ic(e):null,pointDesc:i?id(i):null,point:i,series:e})}}function ig(t){let e=this.chart,i=e.accessibility?.components.series.newDataAnnouncer;i&&i.chart===e&&ip(e)&&(i.dirty.newPoint=v(i.dirty.newPoint)?void 0:t.point)}function im(){let t=this.chart,e=t.accessibility?.components.series.newDataAnnouncer;e&&e.chart===t&&ip(t)&&(e.dirty.hasDirty=!0,e.dirty.allSeries[this.name+this.index]=this)}(iu||(iu={})).compose=function(t){R(il,"A11y.NDA")&&(g(t,"addPoint",ig),g(t,"updatedData",im))};let ix=iu,{doc:iy,win:ib}=c(),{fireEventOnWrappedOrUnwrappedElement:iv}=ti,{cloneMouseEvent:ik,cloneTouchEvent:iw,getFakeMouseEvent:iM,removeElement:iS}=Y,iC=class{constructor(t,e,i="button",s,o){this.chart=t,this.target=e,this.eventProvider=new tn;let r=this.innerElement=iy.createElement(i),n=this.element=s?iy.createElement(s):r;t.styledMode||this.hideElementVisually(r),s&&("li"!==s||t.styledMode||(n.style.listStyle="none"),n.appendChild(r),this.element=n),this.updateTarget(e,o)}click(){let t=this.getTargetPosition();t.x+=t.width/2,t.y+=t.height/2;let e=iM("click",t);iv(this.target.click,e)}updateTarget(t,e){this.target=t,this.updateCSSClassName();let i=e||{};
1Object.keys(i).forEach(t=>{null===i[t]&&delete i[t]});let s=this.getTargetAttr(t.click,"aria-label");f(this.innerElement,I(s?{"aria-label":s}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,t.click),this.refreshPosition()}refreshPosition(){let t=this.getTargetPosition();b(this.innerElement,{width:(t.width||1)+"px",height:(t.height||1)+"px",left:(Math.round(t.x)||0)+"px",top:(Math.round(t.y)||0)+"px"})}remove(){this.eventProvider.removeAddedEvents(),iS(this.element)}updateCSSClassName(){let t=t=>t.indexOf("highcharts-no-tooltip")>-1,e=t(this.chart.legend?.group?.div?.className||""),i=t(this.getTargetAttr(this.target.click,"class")||"");this.innerElement.className=e||i?"highcharts-a11y-proxy-element highcharts-no-tooltip":"highcharts-a11y-proxy-element"}addProxyEventsToElement(t,e){["click","touchstart","touchend","touchcancel","touchmove","mouseover","mouseenter","mouseleave","mouseout"].forEach(i=>{let s=0===i.indexOf("touch");this.eventProvider.addEvent(t,i,t=>{let i=s?iw(t):ik(t);e&&iv(e,i),t.stopPropagation(),s||t.preventDefault()},{passive:!1})})}hideElementVisually(t){b(t,{borderWidth:0,backgroundColor:"transparent",cursor:"pointer",outline:"none",opacity:.001,filter:"alpha(opacity=1)",zIndex:999,overflow:"hidden",padding:0,margin:0,display:"block",position:"absolute","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"})}getTargetPosition(){let t=this.target.click,e=t.element?t.element:t,i=this.target.visual||e,s=this.chart.renderTo,o=this.chart.pointer;if(s&&i?.getBoundingClientRect&&o){let t=ib.scrollY||iy.documentElement.scrollTop,e=i.getBoundingClientRect(),s=o.getChartPosition();return{x:(e.left-s.left)/s.scaleX,y:(e.top+t-s.top)/s.scaleY,width:e.right/s.scaleX-e.left/s.scaleX,height:e.bottom/s.scaleY-e.top/s.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(t,e){return t.element?t.element.getAttribute(e):t.getAttribute(e)}},{doc:iA}=c(),{unhideChartElementFromAT:iT}=ti,{removeChildNodes:iP}=Y,iO=class{constructor(t){this.chart=t,this.domElementProvider=new tr,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(t,e,i="button",s){let o=this.groups[t];if(!o)throw Error("ProxyProvider.addProxyElement: Invalid group key "+t);let r="ul"===o.type||"ol"===o.type?"li":void 0,n=new iC(this.chart,e,i,r,s);return o.proxyContainerElement.appendChild(n.element),o.proxyElements.push(n),n}addGroup(t,e="div",i){let s,o=this.groups[t];if(o)return o.groupElement;let r=this.domElementProvider.createElement(e);return i&&i.role&&"div"!==e?(s=this.domElementProvider.createElement("div")).appendChild(r):s=r,s.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+t.replace(/\W/g,"-"),this.groups[t]={proxyContainerElement:r,groupElement:s,type:e,proxyElements:[]},f(s,i||{}),"ul"===e&&r.setAttribute("role","list"),this.afterChartProxyPosContainer.appendChild(s),this.updateGroupOrder(this.groupOrder),s}updateGroupAttrs(t,e){let i=this.groups[t];if(!i)throw Error("ProxyProvider.updateGroupAttrs: Invalid group key "+t);f(i.groupElement,e)}updateGroupOrder(t){if(this.groupOrder=t.slice(),this.isDOMOrderGroupOrder())return;let e=t.indexOf("series"),i=e>-1?t.slice(0,e):t,s=e>-1?t.slice(e+1):[],o=iA.activeElement;["before","after"].forEach(t=>{let e=this["before"===t?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];
1iP(e),("before"===t?i:s).forEach(t=>{let i=this.groups[t];i&&e.appendChild(i.groupElement)})}),(this.beforeChartProxyPosContainer.contains(o)||this.afterChartProxyPosContainer.contains(o))&&o&&o.focus&&o.focus()}clearGroup(t){let e=this.groups[t];if(!e)throw Error("ProxyProvider.clearGroup: Invalid group key "+t);iP(e.proxyContainerElement)}removeGroup(t){let e=this.groups[t];e&&(this.domElementProvider.removeElement(e.groupElement),e.groupElement!==e.proxyContainerElement&&this.domElementProvider.removeElement(e.proxyContainerElement),delete this.groups[t])}update(){this.updatePosContainerPositions(),this.updateGroupOrder(this.groupOrder),this.updateProxyElementPositions()}updateProxyElementPositions(){Object.keys(this.groups).forEach(this.updateGroupProxyElementPositions.bind(this))}updateGroupProxyElementPositions(t){let e=this.groups[t];e&&e.proxyElements.forEach(t=>t.refreshPosition())}destroy(){this.domElementProvider.destroyCreatedElements()}createProxyPosContainer(t){let e=this.domElementProvider.createElement("div");return e.setAttribute("aria-hidden","false"),e.className="highcharts-a11y-proxy-container"+(t?"-"+t:""),b(e,{top:"0",left:"0"}),this.chart.styledMode||(e.style.whiteSpace="nowrap",e.style.position="absolute"),e}getCurrentGroupOrderInDOM(){let t=t=>{let e=Object.keys(this.groups),i=e.length;for(;i--;){let s=e[i],o=this.groups[s];if(o&&t===o.groupElement)return s}},e=e=>{let i=[],s=e.children;for(let e=0;e<s.length;++e){let o=t(s[e]);o&&i.push(o)}return i},i=e(this.beforeChartProxyPosContainer),s=e(this.afterChartProxyPosContainer);return i.push("series"),i.concat(s)}isDOMOrderGroupOrder(){let t=this.getCurrentGroupOrderInDOM(),e=this.groupOrder.filter(t=>"series"===t||!!this.groups[t]),i=t.length;if(i!==e.length)return!1;for(;i--;)if(t[i]!==e[i])return!1;return!0}updatePosContainerPositions(){let t=this.chart;if(t.renderer.forExport)return;let e=t.renderer.box;t.container.insertBefore(this.afterChartProxyPosContainer,e.nextSibling),t.container.insertBefore(this.beforeChartProxyPosContainer,e),iT(this.chart,this.afterChartProxyPosContainer),iT(this.chart,this.beforeChartProxyPosContainer)}},{unhideChartElementFromAT:iL,getAxisRangeDescription:iE}=ti;class iD extends th{init(){let t=this.chart;this.announcer=new tw(t,"polite")}onChartUpdate(){let t=this.chart,e=this,i=t.rangeSelector;i&&(this.updateSelectorVisibility(),this.setDropdownAttrs(),i.buttons&&i.buttons.length&&i.buttons.forEach(t=>{e.setRangeButtonAttrs(t)}),i.maxInput&&i.minInput&&["minInput","maxInput"].forEach(function(s,o){let r=i[s];r&&(iL(t,r),e.setRangeInputAttrs(r,"accessibility.rangeSelector."+(o?"max":"min")+"InputLabel"))}))}updateSelectorVisibility(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[];e&&e.hasVisibleDropdown&&i?(iL(t,i),s.forEach(t=>t.element.setAttribute("aria-hidden",!0))):(i&&i.setAttribute("aria-hidden",!0),s.forEac
1h(e=>iL(t,e.element)))}setDropdownAttrs(){let t=this.chart,e=t.rangeSelector&&t.rangeSelector.dropdown;if(e){let i=t.langFormat("accessibility.rangeSelector.dropdownLabel",{rangeTitle:t.options.lang.rangeSelectorZoom});e.setAttribute("aria-label",i),e.setAttribute("tabindex",-1)}}setRangeButtonAttrs(t){f(t.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(t,e){let i=this.chart;f(t,{tabindex:-1,"aria-label":i.langFormat(e,{chart:i})})}onButtonNavKbdArrowKey(t,e){let i=t.response,s=this.keyCodes,o=this.chart,r=o.options.accessibility.keyboardNavigation.wrapAround,n=e===s.left||e===s.up?-1:1;return o.highlightRangeSelectorButton(o.highlightedRangeSelectorItemIx+n)?i.success:r?(t.init(n),i.success):i[n>0?"next":"prev"]}onButtonNavKbdClick(t){let e=t.response,i=this.chart;return 3!==i.oldRangeSelectorItemState&&this.fakeClickEvent(i.rangeSelector.buttons[i.highlightedRangeSelectorItemIx].element),e.success}onAfterBtnClick(){let t=this.chart,e=iE(t.xAxis[0]),i=t.langFormat("accessibility.rangeSelector.clickButtonAnnouncement",{chart:t,axisRangeDescription:e});i&&this.announcer.announce(i)}onInputKbdMove(t){let e=this.chart,i=e.rangeSelector,s=e.highlightedInputRangeIx=(e.highlightedInputRangeIx||0)+t;if(s>1||s<0){if(e.accessibility)return e.accessibility.keyboardNavigation.exiting=!0,e.accessibility.keyboardNavigation.tabindexContainer.focus(),e.accessibility.keyboardNavigation.move(t)}else if(i){let t=i[s?"maxDateBox":"minDateBox"],o=i[s?"maxInput":"minInput"];t&&o&&e.setFocusToElement(t,o)}return!0}onInputNavInit(t){let e=this,i=this.chart,s=t>0?0:1,o=i.rangeSelector,r=o&&o[s?"maxDateBox":"minDateBox"],n=o&&o.minInput,a=o&&o.maxInput;if(i.highlightedInputRangeIx=s,r&&n&&a){i.setFocusToElement(r,s?a:n),this.removeInputKeydownHandler&&this.removeInputKeydownHandler();let t=t=>{(t.which||t.keyCode)===this.keyCodes.tab&&e.onInputKbdMove(t.shiftKey?-1:1)&&(t.preventDefault(),t.stopPropagation())},o=g(n,"keydown",t),l=g(a,"keydown",t);this.removeInputKeydownHandler=()=>{o(),l()}}}onInputNavTerminate(){let t=this.chart.rangeSelector||{};t.maxInput&&t.hideInput("max"),t.minInput&&t.hideInput("min"),this.removeInputKeydownHandler&&(this.removeInputKeydownHandler(),delete this.removeInputKeydownHandler)}initDropdownNav(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown;e&&i&&(t.setFocusToElement(e.buttonGroup,i),this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeDropdownKeydownHandler=g(i,"keydown",e=>{let i=(e.which||e.keyCode)===this.keyCodes.tab,s=t.accessibility;i&&(e.preventDefault(),e.stopPropagation(),s&&s.keyboardNavigation.move(e.shiftKey?-1:1))}))}getRangeSelectorButtonNavigation(){let t=this.chart,e=this.keyCodes,i=this;return new td(t,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(t){return i.onButtonNavKbdArrowKey(this,t)}],[[e.enter,e.space],function(){return i.onButtonNavKbdClick(this)}]],validate:function(){return!!(t.rangeSelector&&t.rangeSelector.buttons&&t.rangeSelector.buttons.length)},init:function(e){let s=t.rangeSelector;if(s&&s.hasVisibleDropdown)i.initDropdownNav();else if(s){let i=s.buttons.length-1;t.highlightRangeSelectorButton(e>0?0:i)}},terminate:function(){i.removeDropdownKeydownHandler&&(i.removeDropdownKeydownHandler(),delete i.removeDropdownKeydownHandler)}})}getRangeSelectorInputNavigation(){let t=this.chart,e=this;return new td(t,{keyCodeMap:[],validate:function(){return!!(t.rangeSelector&&t.rangeSelector.inputGroup&&"hidden"!==t.rangeSelector.inputGroup.element.style.visibility&&!1!==t.options.rangeSelector.inputEnabled&&t.rangeSelector.minInput&&t.rangeSelector.maxInput)},init:function(t){e.onInputNavInit(t)},terminate:function(){e.onInputNavTerminate()}})}getKeyboardNavigation(){return[this.getRangeSelectorButtonNavigation(),this.getRangeSelectorInputNavigation()]}destroy(){this.removeDropdownKeydownHandler&&this.removeDropdownKeydownHandler(),this.removeInputKeydownHandler&&this.removeInputKeydownHandler(),this.announcer&&this.announcer.destroy()}}function iI(t){let e=this.rangeSelector&&this.rangeSelector.buttons||[],i=this.highlightedRangeSelectorItemIx,s=this.rangeSelector&&this.rangeSelector.selected;return void 0!==i&&e[i]&&i!==s&&e[i].setState(this.oldRangeSelectorItemState||0),this.highlightedRangeSelectorItemIx=t,!!e[t]&&(this.setFocusToElement(e[t].box,e[t].element),t!==s&&(this.oldRangeSelectorItemState=e[t].state,e[t].setState(1)),!0)}function iB(){let t=this.chart.accessibility;if(t&&t.components.rangeSelector)return t.components.rangeSelector.onAfterBtnClick()}(iD||(iD={})).compose=function(t,e){let i=t.prototype;i.highlightRangeSelectorButton||(i.highlightRangeSelectorButton=iI,g(e,"afterBtnClick",iB))};let iN=iD,{composed:iR}=c();!function(t){function e(t){I(!0,t,{marker:{enabled:!0,states:{normal:{opacity:0}
1}}})}function i(t){return t.marker.states&&t.marker.states.normal&&t.marker.states.normal.opacity}function s(t){return!!(t._hasPointMarkers&&t.points&&t.points.length)}function o(){this.chart.styledMode&&(this.markerGroup&&this.markerGroup[this.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden"),s(this)&&this.points.forEach(t=>{t.graphic&&(t.graphic[t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-hidden"),t.graphic[!1===t.hasForcedA11yMarker?"addClass":"removeClass"]("highcharts-a11y-marker-visible"))}))}function r(t){this.resetA11yMarkerOptions=I(t.options.marker||{},this.userOptions.marker||{})}function n(){let t,o,r,n=this.options;(o=this.chart.options.accessibility.enabled,r=!1!==(this.options.accessibility&&this.options.accessibility.enabled),o&&r&&(t=this.chart.options.accessibility,this.points.length<t.series.pointDescriptionEnabledThreshold||!1===t.series.pointDescriptionEnabledThreshold))?(n.marker?.enabled===!1&&(this.a11yMarkersForced=!0,e(this.options)),s(this)&&function(t){let s=t.points.length;for(;s--;){let o=t.points[s],r=o.options,n=o.hasForcedA11yMarker;if(delete o.hasForcedA11yMarker,r.marker){let t=n&&0===i(r);r.marker.enabled&&!t?(I(!0,r.marker,{states:{normal:{opacity:i(r)||1}}}),o.hasForcedA11yMarker=!1):!1===r.marker.enabled&&(e(r),o.hasForcedA11yMarker=!0)}}}(this)):this.a11yMarkersForced?(delete this.a11yMarkersForced,this.isDirty=!0,function(t){let e=t.resetA11yMarkerOptions;if(e){let i=e.states&&e.states.normal&&e.states.normal.opacity;t.chart.styledMode&&!1===e.enabled&&a(t),t.userOptions&&t.userOptions.marker&&(t.userOptions.marker.enabled=!0),t.update({marker:{enabled:e.enabled,states:{normal:{opacity:i}}}})}}(this),n.marker?.enabled===!1&&delete this.resetA11yMarkerOptions):this.chart.styledMode&&n.marker?.enabled===!1&&!s(this)&&a(this)}function a(t){t.points?.forEach(t=>{t.graphic&&(t.graphic=t.graphic.destroy())})}function l(){this.boosted&&this.a11yMarkersForced&&(I(!0,this.options,{marker:{enabled:!1}}),delete this.a11yMarkersForced)}t.compose=function(t){R(iR,"A11y.FM")&&(g(t,"afterSetOptions",r),g(t,"render",n),g(t,"afterRender",o),g(t,"renderCanvas",l))}}(a||(a={}));let iz=a,iW=l.A.Point;var iH=h.n(iW);let iF=l.A.Series;var iG=h.n(iF);let{seriesTypes:ij}=eT(),{doc:iX}=c(),{getPointFromXY:iY,getSeriesFromName:iU,scrollAxisToPoint:iV}=ti;function i$(t){let e=t.index,i=t.series.points,s=i.length;if(i[e]===t)return e;for(;s--;)if(i[s]===t)return s}function i_(t){let e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation,i=t.options.accessibility||{},s=i.keyboardNavigation;return s&&!1===s.enabled||!1===i.enabled||!1===t.options.enableMouseTracking||!t.visible||e.pointNavigationEnabledThreshold&&+e.pointNavigationEnabledThreshold<=t.points.length}function iK(t){let e=t.series,i=e.options.nullInteraction,s=t.options.accessibility,o=e.chart.options.accessibility,r=s?.enabled===!1;return o.keyboardNavigation.seriesNavigation.skipNullPoints??(!(!t.isNull||i)&&!1===t.visible||!1===t.isInside||r||i_(e))}function iq(t){let e=t.series||[],i=e.length;for(let t=0;t<i;++t)if(!i_(e[t])){let i=function(t){let e=t.points||[],i=e.length;for(let t=0;t<i;++t)if(!iK(e[t]))return e[t];return null}(e[t]);if(i)return i}return null}function iZ(t){let e=t.series.length,i=!1;for(;e--&&(t.highlightedPoint=t.series[e].points[t.series[e].points.length-1],!(i=t.series[e].highlightNextValidPoint())););return i}function iJ(t){delete t.highlightedPoint;let e=iq(t);return!!e&&e.highlight()}class iQ{constructor(t,e){this.keyCodes=e,this.chart=t}init(){let t=this,e=this.chart,i=this.eventProvider=new tn;i.addEvent(iG(),"destroy",function(){return t.onSeriesDestroy(this)}),i.addEvent(e,"afterApplyDrilldown",function(){let t;(t=iq(this))&&t.highlight(!1)}),i.addEvent(e,"drilldown",function(e){let i=e.point,s=i.series;t.lastDrilledDownPoint={x:i.x,y:i.y,seriesName:s?s.name:""}}),i.addEvent(e,"drillupall",function(){setTimeout(function(){t.onDrillupAll()},10)}),i.addEvent(iH(),"afterSetState",function(){let t=this.graphic&&this.graphic.element,i=iX.activeElement,s=i&&i.getAttribute("class"),o=s&&s.indexOf("highcharts-a11y-proxy-element")>-1;
1e.highlightedPoint===this&&i!==t&&!o&&t&&t.focus&&t.focus()})}onDrillupAll(){let t,e=this.lastDrilledDownPoint,i=this.chart,s=e&&iU(i,e.seriesName);e&&s&&v(e.x)&&v(e.y)&&(t=iY(s,e.x,e.y)),t=t||iq(i),i.container&&i.container.focus(),t&&t.highlight&&t.highlight(!1)}getKeyboardNavigationHandler(){let t=this,e=this.keyCodes,i=this.chart,s=i.inverted;return new td(i,{keyCodeMap:[[s?[e.up,e.down]:[e.left,e.right],function(e){return t.onKbdSideways(this,e)}],[s?[e.left,e.right]:[e.up,e.down],function(e){return t.onKbdVertical(this,e)}],[[e.enter,e.space],function(t,e){let s=i.highlightedPoint;if(s){let{plotLeft:t,plotTop:i}=this.chart,{plotX:o=0,plotY:r=0}=s;e={...e,chartX:t+o,chartY:i+r,point:s,target:s.graphic?.element||e.target},S(s.series,"click",e),s.firePointEvent("click",e)}return this.response.success}],[[e.home],function(){return iJ(i),this.response.success}],[[e.end],function(){return iZ(i),this.response.success}],[[e.pageDown,e.pageUp],function(t){return i.highlightAdjacentSeries(t===e.pageDown),this.response.success}]],init:function(){return t.onHandlerInit(this)},validate:function(){return!!iq(i)},terminate:function(){return t.onHandlerTerminate()}})}onKbdSideways(t,e){let i=this.keyCodes,s=e===i.right||e===i.down;return this.attemptHighlightAdjacentPoint(t,s)}onHandlerInit(t){let e=this.chart;return e.options.accessibility.keyboardNavigation.seriesNavigation.rememberPointFocus&&e.highlightedPoint?e.highlightedPoint.highlight():iJ(e),t.response.success}onKbdVertical(t,e){let i=this.chart,s=this.keyCodes,o=e===s.down||e===s.right,r=i.options.accessibility.keyboardNavigation.seriesNavigation;if(r.mode&&"serialize"===r.mode)return this.attemptHighlightAdjacentPoint(t,o);let n=i.highlightedPoint&&i.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries";return i[n](o),t.response.success}onHandlerTerminate(){let t=this.chart,e=t.options.accessibility.keyboardNavigation;t.tooltip&&t.tooltip.hide(0);let i=t.highlightedPoint&&t.highlightedPoint.series;i&&i.onMouseOut&&i.onMouseOut(),t.highlightedPoint&&t.highlightedPoint.onMouseOut&&t.highlightedPoint.onMouseOut(),e.seriesNavigation.rememberPointFocus||delete t.highlightedPoint}attemptHighlightAdjacentPoint(t,e){let i=this.chart,s=i.options.accessibility.keyboardNavigation.wrapAround;return i.highlightAdjacentPoint(e)||s&&(e?iJ(i):iZ(i))?t.response.success:t.response[e?"next":"prev"]}onSeriesDestroy(t){let e=this.chart;e.highlightedPoint&&e.highlightedPoint.series===t&&(delete e.highlightedPoint,e.focusElement&&e.focusElement.removeFocusBorder())}destroy(){this.eventProvider.removeAddedEvents()}}!function(t){function e(t){let e,i,s=this.series,o=this.highlightedPoint,r=o&&i$(o)||0,n=o&&o.series.points||[],a=this.series&&this.series[this.series.length-1],l=a&&a.points&&a.points[a.points.length-1];if(!s[0]||!s[0].points)return!1;if(o){if(e=s[o.series.index+(t?1:-1)],(i=n[r+(t?1:-1)])||!e||(i=e.points[t?0:e.points.length-1]),!i)return!1}else i=t?s[0].points[0]:l;return iK(i)?(i_(e=i.series)?this.highlightedPoint=t?e.points[e.points.length-1]:e.points[0]:this.highlightedPoint=i,this.highlightAdjacentPoint(t)):i.highlight()}function i(t){let e=this.highlightedPoint,i=1/0,s;return!!v(e.plotX)&&!!v(e.plotY)&&(this.series.forEach(o=>{i_(o)||o.points.forEach(r=>{if(!v(r.plotY)||!v(r.plotX)||r===e)return;let n=r.plotY-e.plotY,a=Math.abs(r.plotX-e.plotX),l=Math.abs(n)*Math.abs(n)+a*a*4;o.yAxis&&o.yAxis.reversed&&(n*=-1),!(n<=0&&t||n>=0&&!t||l<5||iK(r))&&l<i&&(i=l,s=r)})}),!!s&&s.highlight())}function s(t){let e,i,s,o=this.highlightedPoint,r=this.series&&this.series[this.series.length-1],n=r&&r.points&&r.points[r.points.length-1];return this.highlightedPoint?!!(e=this.series[o.series.index+(t?-1:1)])&&!!(i=function(t,e){let i=1/0,s,o,r,n=e.points.length,a=t=>!(v(t.plotX)&&v(t.plotY));if(!a(t)){for(;n--;)!a(s=e.points[n])&&(r=(t.plotX-s.plotX)*(t.plotX-s.plotX)*4+(t.plotY-s.plotY)*(t.plotY-s.plotY)*1)<i&&(i=r,o=n);return v(o)?e.points[o]:void 0}}(o,e))&&(i_(e)?(i.highlight(),s=this.highlightAdjacentSeries(t))?s:(o.highlight(),!1):(i.highlight(),i.series.highlightNextValidPoint())):(e=t?this.series&&this.series[0]:r,!!(i=t?e&&e.points&&e.points[0]:n)&&i.highlight())}function o(t=!0){let e=this.series.chart,i=e.tooltip?.label?.element;(!this.isNull||this.series.options?.nullInteraction)&&t?this.onMouseOver():e.tooltip&&e.tooltip.hide(0),iV(this),this.graphic&&(e.setFocusToElement(this.graphic),!t&&e.focusElement&&e.focusElement.removeFocusBorder()),e.highlightedPoint=this;let s=i?.getBoundingClientRect().top;if(i&&s&&s<0){let t=window.scrollY;window.scrollTo({behavior:"smooth",top:t+s})}return this}function r(){let t=this.chart.highlightedPoint,e=(t&&t.series)===this?i$(t):0,i=this.points,s=i.length;if(i&&s){for(let t=e;t<s;++t)if(!iK(i[t]))return i[t].highlight();for(let t=e;t>=0;--t)if(!iK(i[t]))return i[t].highlight()}return!1}t.compose=function(t,n,a){let l=t.prototype,h=n.prototype,d=a.prototype;l.highlightAdjacentPoint||(l.highlightAdjacentPoint=e,l.highlightAdjacentPointVertical=i,l.highlightAdjacentSeries=s,h.highlight=o,d.keyboardMoveVertical=!0,["column","gantt","pie"].forEach(t=>{ij[t]&&(ij[t].prototype.keyboardMoveVertical=!1)}),d.highlightNextValidPoint=r)}}(iQ||(iQ={}));let i0=iQ,{hideSeriesFromAT:i1}=ti,{describeSeries:i2}=ia,i3=class extends th{static compose(t,e,i){ix.compose(i),iz.compose(i),i0.compose(t,e,i)}init(){this.newDataAnnouncer=new ix(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new i0(this.chart,this.keyCodes),this.keyboardNavigation.init(),this.hideTooltipFromATWhenShown(),this.hideSeriesLabelsFromATWhenShown()}hideTooltipFromATWhenShown(){let t=this;this.chart.tooltip&&this.addEvent(this.chart.tooltip.constructor,"refresh",function(){this.chart===t.chart&&this.label&&this.label.element&&this.label.element.setAttribute("aria-hidden",!0)})}hideSeriesLabelsFromATWhenShown(){this.addEvent(this.chart,"afterDrawSeriesLabels",function(){this.series.forEac
1h(function(t){t.labelBySeries&&t.labelBySeries.attr("aria-hidden",!0)})})}onChartRender(){this.chart.series.forEach(function(t){!1!==(t.options.accessibility&&t.options.accessibility.enabled)&&t.visible&&0!==t.getPointsCollection().length?i2(t):i1(t)})}getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}},{unhideChartElementFromAT:i5}=ti,{getFakeMouseEvent:i6}=Y,i9=class extends th{constructor(){super(...arguments),this.focusedMapNavButtonIx=-1}init(){let t=this,e=this.chart;this.proxyProvider.addGroup("zoom","div"),["afterShowResetZoom","afterApplyDrilldown","drillupall"].forEach(i=>{t.addEvent(e,i,function(){t.updateProxyOverlays()})})}onChartUpdate(){let t=this.chart,e=this;t.mapNavigation&&t.mapNavigation.navButtons.forEach((i,s)=>{i5(t,i.element),e.setMapNavButtonAttrs(i.element,"accessibility.zoom.mapZoom"+(s?"Out":"In"))})}setMapNavButtonAttrs(t,e){let i=this.chart;f(t,{tabindex:-1,role:"button","aria-label":i.langFormat(e,{chart:i})})}onChartRender(){this.updateProxyOverlays()}updateProxyOverlays(){let t=this.chart;if(this.proxyProvider.clearGroup("zoom"),t.resetZoomButton&&this.createZoomProxyButton(t.resetZoomButton,"resetZoomProxyButton",t.langFormat("accessibility.zoom.resetZoomButton",{chart:t})),t.drillUpButton&&t.breadcrumbs&&t.breadcrumbs.list){let e=t.breadcrumbs.list[t.breadcrumbs.list.length-1];this.createZoomProxyButton(t.drillUpButton,"drillUpProxyButton",t.langFormat("accessibility.drillUpButton",{chart:t,buttonText:t.breadcrumbs.getButtonText(e)}))}}createZoomProxyButton(t,e,i){this[e]=this.proxyProvider.addProxyElement("zoom",{click:t},"button",{"aria-label":i,tabindex:-1})}getMapZoomNavigation(){let t=this.keyCodes,e=this.chart,i=this;return new td(e,{keyCodeMap:[[[t.up,t.down,t.left,t.right],function(t){return i.onMapKbdArrow(this,t)}],[[t.tab],function(t,e){return i.onMapKbdTab(this,e)}],[[t.space,t.enter],function(){return i.onMapKbdClick(this)}]],validate:function(){return!!(e.mapView&&e.mapNavigation&&e.mapNavigation.navButtons.length)},init:function(t){return i.onMapNavInit(t)}})}onMapKbdArrow(t,e){let i=this.chart,s=this.keyCodes,o=i.container,r=e===s.up||e===s.down,n=e===s.left||e===s.up?1:-1,a=(r?i.plotHeight:i.plotWidth)/10*n,l=10*Math.random(),h={x:o.offsetLeft+i.plotLeft+i.plotWidth/2+l,y:o.offsetTop+i.plotTop+i.plotHeight/2+l},d=r?{x:h.x,y:h.y+a}:{x:h.x+a,y:h.y};return[i6("mousedown",h),i6("mousemove",d),i6("mouseup",d)].forEach(t=>o.dispatchEvent(t)),t.response.success}onMapKbdTab(t,e){let i=this.chart,s=t.response,o=e.shiftKey,r=o&&!this.focusedMapNavButtonIx||!o&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),r)return i.mapView&&i.mapView.zoomBy(),s[o?"prev":"next"];this.focusedMapNavButtonIx+=o?-1:1;let n=i.mapNavigation.navButtons[this.focusedMapNavButtonIx];return i.setFocusToElement(n.box,n.element),n.setState(2),s.success}onMapKbdClick(t){let e=this.chart.mapNavigation.navButtons[this.focusedMapNavButtonIx].element;return this.fakeClickEvent(e),t.response.success}onMapNavInit(t){let e=this.chart,i=e.mapNavigation.navButtons[0],s=e.mapNavigation.navButtons[1],o=t>0?i:s;e.setFocusToElement(o.box,o.element),o.setState(2),this.focusedMapNavButtonIx=t>0?0:1}simpleButtonNavigation(t,e,i){let s=this.keyCodes,o=this,r=this.chart;return new td(r,{keyCodeMap:[[[s.tab,s.up,s.down,s.left,s.right],function(t,e){let i=t===s.tab&&e.shiftKey||t===s.left||t===s.up;return this.response[i?"prev":"next"]}],[[s.space,s.enter],function(){return N(i(this,r),this.response.success)}]],validate:function(){return r[t]&&r[t].box&&o[e].innerElement},init:function(){r.setFocusToElement(r[t].box,o[e].innerElement)}})}getKeyboardNavigation(){return[this.simpleButtonNavigation("resetZoomButton","resetZoomProxyButton",function(t,e){e.zoomOut()}),this.simpleButtonNavigation("drillUpButton","drillUpProxyButton",function(t,e){return e.drillUp(),t.response.prev}),this.getMapZoomNavigation()]}},{doc:i4,isMS:i8,win:i7}=c(),st=function(){if(i8&&i7.getComputedStyle){let t=i4.createElement("div");t.style.backgroundImage="url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)",i4.body.appendChild(t);let e=(t.currentStyle||i7.getComputedStyle(t)).backgroundImage;return i4.body.removeChild(t),"none"===e}return i7.matchMedia&&i7.matchMedia("(forced-colors: active)").matches},se=function(t){t.highContrastModeActive=!0;let e=t.options.accessibility.highContrastTheme;t.update(e,!1);let i=e.colors?.length>1;
1t.series.forEach(function(t){let s=e.plotOptions[t.type]||{},o=i&&void 0!==t.colorIndex?e.colors[t.colorIndex]:s.color||"window",r={color:s.color||"windowText",colors:i?e.colors:[s.color||"windowText"],borderColor:s.borderColor||"window",fillColor:o};t.update(r,!1),t.points&&t.points.forEach(function(t){t.options&&t.options.color&&t.update({color:s.color||"windowText",borderColor:s.borderColor||"window"},!1)})}),t.redraw()},si={chart:{backgroundColor:"window"},title:{style:{color:"windowText"}},subtitle:{style:{color:"windowText"}},colorAxis:{minColor:"windowText",maxColor:"windowText",stops:[],dataClasses:[]},colors:["windowText"],xAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},yAxis:{gridLineColor:"windowText",labels:{style:{color:"windowText"}},lineColor:"windowText",minorGridLineColor:"windowText",tickColor:"windowText",title:{style:{color:"windowText"}}},tooltip:{backgroundColor:"window",borderColor:"windowText",style:{color:"windowText"}},plotOptions:{series:{lineColor:"windowText",fillColor:"window",borderColor:"windowText",edgeColor:"windowText",borderWidth:1,dataLabels:{connectorColor:"windowText",color:"windowText",style:{color:"windowText",textOutline:"none"}},marker:{lineColor:"windowText",fillColor:"windowText"}},pie:{color:"window",colors:["window"],borderColor:"windowText",borderWidth:1},boxplot:{fillColor:"window"},candlestick:{lineColor:"windowText",fillColor:"window"},errorbar:{fillColor:"window"}},legend:{backgroundColor:"window",itemStyle:{color:"windowText"},itemHoverStyle:{color:"windowText"},itemHiddenStyle:{color:"#555"},title:{style:{color:"windowText"}}},credits:{style:{color:"windowText"}},drilldown:{activeAxisLabelStyle:{color:"windowText"},activeDataLabelStyle:{color:"windowText"}},navigation:{buttonOptions:{symbolStroke:"windowText",theme:{fill:"window"}}},rangeSelector:{buttonTheme:{fill:"window",stroke:"windowText",style:{color:"windowText"},states:{hover:{fill:"window",stroke:"windowText",style:{color:"windowText"}},select:{fill:"#444",stroke:"windowText",style:{color:"windowText"}}}},inputBoxBorderColor:"windowText",inputStyle:{backgroundColor:"window",color:"windowText"},labelStyle:{color:"windowText"}},navigator:{handles:{backgroundColor:"window",borderColor:"windowText"},outlineColor:"windowText",maskFill:"transparent",series:{color:"windowText",lineColor:"windowText"},xAxis:{gridLineColor:"windowText"}},scrollbar:{barBackgroundColor:"#444",barBorderColor:"windowText",buttonArrowColor:"windowText",buttonBackgroundColor:"window",buttonBorderColor:"windowText",rifleColor:"windowText",trackBackgroundColor:"window",trackBorderColor:"windowText"}};
1function ss(t,e,i){let s=t,o,r=0;for(;r<e.length-1;++r)s=s[o=e[r]]=N(s[o],{});s[e[e.length-1]]=i}function so(t,e,i,s){function o(t,e){return e.reduce(function(t,e){return t[e]},t)}let r=o(t.options,e),n=o(t.options,i);Object.keys(s).forEach(function(o){let a=r[o];void 0!==a&&(ss(n,s[o],a),(0,d.error)(32,!1,t,{[e.join(".")+"."+o]:i.join(".")+"."+s[o].join(".")}))})}let sr=function(t){let e,i,s;e=t.options.chart,i=t.options.accessibility||{},["description","typeDescription"].forEach(function(s){e[s]&&(i[s]=e[s],(0,d.error)(32,!1,t,{[`chart.${s}`]:`use accessibility.${s}`}))}),t.axes.forEach(function(e){let i=e.options;i&&i.description&&(i.accessibility=i.accessibility||{},i.accessibility.description=i.description,(0,d.error)(32,!1,t,{"axis.description":"use axis.accessibility.description"}))}),t.series&&(s={description:["accessibility","description"],exposeElementToA11y:["accessibility","exposeAsGroupOnly"],pointDescriptionFormat:["accessibility","point","descriptionFormat"],pointDescriptionFormatter:["accessibility","point","descriptionFormatter"],skipKeyboardNavigation:["accessibility","keyboardNavigation","enabled"],"accessibility.pointDescriptionFormatter":["accessibility","point","descriptionFormatter"]},t.series.forEach(function(e){Object.keys(s).forEach(function(i){let o=e.options[i];"accessibility.pointDescriptionFormatter"===i&&(o=e.options.accessibility&&e.options.accessibility.pointDescriptionFormatter),void 0!==o&&(ss(e.options,s[i],"skipKeyboardNavigation"===i?!o:o),(0,d.error)(32,!1,t,{[`series.${i}`]:"series."+s[i].join(".")}))})})),so(t,["accessibility"],["accessibility"],{pointDateFormat:["point","dateFormat"],pointDateFormatter:["point","dateFormatter"],pointDescriptionFormatter:["point","descriptionFormatter"],pointDescriptionThreshold:["series","pointDescriptionEnabledThreshold"],pointNavigationThreshold:["keyboardNavigation","seriesNavigation","pointNavigationEnabledThreshold"],pointValueDecimals:["point","valueDecimals"],pointValuePrefix:["point","valuePrefix"],pointValueSuffix:["point","valueSuffix"],screenReaderSectionFormatter:["screenReaderSection","beforeChartFormatter"],describeSingleSeries:["series","describeSingleSeries"],seriesDescriptionFormatter:["series","descriptionFormatter"],onTableAnchorClick:["screenReaderSection","onViewDataTableClick"],axisRangeDateFormat:["screenReaderSection","axisRangeDateFormat"]}),so(t,["accessibility","keyboardNavigation"],["accessibility","keyboardNavigation","seriesNavigation"],{skipNullPoints:["skipNullPoints"],mode:["mode"]}),so(t,["lang","accessibility"],["lang","accessibility"],{legendItem:["legend","legendItem"],legendLabel:["legend","legendLabel"],mapZoomIn:["zoom","mapZoomIn"],mapZoomOut:["zoom","mapZoomOut"],resetZoomButton:["zoom","resetZoomButton"],screenReaderRegionLabel:["screenReaderSection","beforeRegionLabel"],rangeSelectorButton:["rangeSelector","buttonText"],rangeSelectorMaxInput:["rangeSelector","maxInputLabel"],rangeSelectorMinInput:["rangeSelector","minInputLabel"],svgContainerEnd:["screenReaderSection","endOfChartMarker"],viewAsDataTable:["table","viewAsDataTableButtonText"],tableSummary:["table","tableSummary"]})},{defaultOptions:sn}=c(),{doc:sa}=c(),{removeElement:sl}=Y;class sh{constructor(t){this.init(t)}init(t){if(this.chart=t,!sa?.addEventListener){this.zombie=!0,this.components={},t.renderTo.setAttribute("aria-hidden",!0);return}sr(t),this.proxyProvider=new iO(this.chart),this.initComponents(),this.keyboardNavigation=new t3(t,this.components)}initComponents(){let t=this.chart,e=this.proxyProvider,i=t.options.accessibility;this.components={container:new tf,infoRegions:new tX,legend:new ea,chartMenu:new tK,rangeSelector:new iN,series:new i3,zoom:new i9,navigator:new e1},i.customComponents&&M(this.components,i.customComponents);let s=this.components;this.getComponentOrder().forEach(function(i){s[i].initBase(t,e),s[i].init()})}getComponentOrder(){return this.components?this.components.series?["series"].concat(Object.keys(this.components).filter(t=>"series"!==t)):Object.keys(this.components):[]}update(){let t=this.components,e=this.chart,i=e.options.accessibility;S(e,"beforeA11yUpdate"),e.types=this.getChartTypes();let s=i.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEac
1h(function(i){t[i].onChartUpdate(),S(e,"afterA11yComponentUpdate",{name:i,component:t[i]})}),this.keyboardNavigation.update(s),!e.highContrastModeActive&&!1!==i.highContrastMode&&(st()||!0===i.highContrastMode)&&se(e),S(e,"afterA11yUpdate",{accessibility:this})}destroy(){let t=this.chart||{},e=this.components;Object.keys(e).forEach(function(t){e[t].destroy(),e[t].destroyBase()}),this.proxyProvider&&this.proxyProvider.destroy(),t.announcerContainer&&sl(t.announcerContainer),this.keyboardNavigation&&this.keyboardNavigation.destroy(),t.renderTo&&t.renderTo.setAttribute("aria-hidden",!0),t.focusElement&&t.focusElement.removeFocusBorder()}getChartTypes(){let t={};return this.chart.series.forEach(function(e){t[e.type]=1}),Object.keys(t)}}!function(t){function e(){this.accessibility&&this.accessibility.destroy()}function i(){this.a11yDirty&&this.renderTo&&(delete this.a11yDirty,this.updateA11yEnabled());let t=this.accessibility;t&&!t.zombie&&(t.proxyProvider.updateProxyElementPositions(),t.getComponentOrder().forEach(function(e){t.components[e].onChartRender()}))}function s(t){let e=t.options.accessibility;e&&(e.customComponents&&(this.options.accessibility.customComponents=e.customComponents,delete e.customComponents),I(!0,this.options.accessibility,e),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function o(){let e=this.accessibility,i=this.options.accessibility,s=this.renderer.boxWrapper.element,o=this.title;if(i&&i.enabled)e&&!e.zombie?e.update():(this.accessibility=e=new t(this),e&&!e.zombie&&e.update(),"img"===s.getAttribute("role")&&s.removeAttribute("role"));else if(e)e.destroy&&e.destroy(),delete this.accessibility;else{this.renderTo.setAttribute("role","img"),this.renderTo.setAttribute("aria-hidden",!1),this.renderTo.setAttribute("aria-label",(o&&o.element.textContent||"").replace(/</g,"&lt;")),s.setAttribute("aria-hidden",!0);let t=document.getElementsByClassName("highcharts-description")[0];t&&(t.setAttribute("aria-hidden",!1),t.classList.remove("highcharts-linked-description"))}}function r(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}t.i18nFormat=Z.i18nFormat,t.compose=function(t,n,a,l,h,d){t3.compose(t),ix.compose(l),ea.compose(t,n),tK.compose(t),i3.compose(t,a,l),Z.compose(t),tm.compose(t,h),d&&iN.compose(t,d);let c=t.prototype;c.updateA11yEnabled||(c.updateA11yEnabled=o,g(t,"destroy",e),g(t,"render",i),g(t,"update",s),["addSeries","init"].forEach(e=>{g(t,e,function(){this.a11yDirty=!0})}),["afterApplyDrilldown","drillupall"].forEach(e=>{g(t,e,function(){let t=this.accessibility;t&&!t.zombie&&t.update()})}),g(a,"update",r),["update","updatedData","remove"].forEach(t=>{g(l,t,function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)})}))}}(sh||(sh={})),I(!0,sn,{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<{headingTagName}>{chartTitle}</{headingTagName}><div>{typeDescription}</div><div>{chartSubtitle}</div><div>{chartLongdesc}</div><div>{playAsSoundButton}</div><div>{viewTableButton}</div><div>{xAxisDescription}</div><div>{yAxisDescription}</div><div>{annotationsTitle}{annotationsList}</div>",afterChartFormat:"{endOfChartMarker}",axisRangeDateFormat:"%Y-%m-%d %H:%M:%S"},series:{descriptionFormat:"{seriesDescription}{authorDescription}{axisDescription}",describeSingleSeries:!1,pointDescriptionEnabledThreshold:200},point:{valueDescriptionFormat:"{xDescription}{separator}{value}.",describeNull:!0},landmarkVerbosity:"all",linkedDescription:'*[data-highcharts-chart="{index}"] + .highcharts-description',highContrastMode:"auto",keyboardNavigation:{enabled:!0,focusBorder:{enabled:!0,hideBrowserFocusOutline:!0,style:{color:"#334eff",lineWidth:2,borderRadius:3},margin:2},order:["series","zoom","rangeSelector","navigator","legend","chartMenu"],wrapAround:!0,seriesNavigation:{skipNullPoints:void 0,pointNavigationEnabledThreshold:!1,rememberPointFocus:!1}},announceNewData:{enabled:!1,minAnnounceInterval:5e3,interruptUser:!1}},legend:{accessibility:{enabled:!0,keyboardNavigation:{enabled:!0}}},exporting:{accessibility:{enabled:!0}},navigator:{accessibility:{enabled:!0}}},{accessibility:{highContrastTheme:si},lang:{accessibility:{defaultChartTitle:"Chart",chartContainerLabel:"{title}. Highcharts interactive chart.",svgContainerLabel:"Interactive chart",drillUpButton:"{buttonText}",credits:"Chart credits: {creditsStr}",thousandsSep:",",svgContainerTitle:"",graphicContainerLabel:"",screenReaderSection:{beforeRegionLabel:"",afterRegionLabel:"",annotations:{heading:"Chart annotations summary",descriptionSinglePoint:"{annotationText}. Related to {annotationPoint}",descriptionMultiplePoints:"{annotationText}. Related to {annotationPoint}{#each additionalAnnotationPoints}, also related to {this}{/each}",descriptionNoPoints:"{annotationText}"},endOfChartMarker:"End of interactive chart."},sonification:{playAsSoundButtonText:"Play as sound, {chartTitle}",playAsSoundClickAnnouncement:"Play"},legend:{legendLabelNoTitle:"Toggle series visibility, {chartTitle}",legendLabel:"Chart legend: {legendTitle}",legendItem:"Show {itemName}"}
1,zoom:{mapZoomIn:"Zoom chart",mapZoomOut:"Zoom out chart",resetZoomButton:"Reset zoom"},rangeSelector:{dropdownLabel:"{rangeTitle}",minInputLabel:"Select start date.",maxInputLabel:"Select end date.",clickButtonAnnouncement:"Viewing {axisRangeDescription}"},navigator:{handleLabel:"{#eq handleIx 0}Start, percent{else}End, percent{/eq}",groupLabel:"Axis zoom",changeAnnouncement:"{axisRangeDescription}"},stockTools:{groupLabel:"Stock chart tools",arrowLabel:"Toggle submenu"},table:{viewAsDataTableButtonText:"View as data table, {chartTitle}",tableSummary:"Table representation of chart."},announceNewData:{newDataAnnounce:"Updated data for chart {chartTitle}",newSeriesAnnounceSingle:"New data series: {seriesDesc}",newPointAnnounceSingle:"New data point: {pointDesc}",newSeriesAnnounceMultiple:"New data series in chart {chartTitle}: {seriesDesc}",newPointAnnounceMultiple:"New data point in chart {chartTitle}: {pointDesc}"},seriesTypeDescriptions:{boxplot:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum.",arearange:"Arearange charts are line charts displaying a range between a lower and higher value for each point.",areasplinerange:"These charts are line charts displaying a range between a lower and higher value for each point.",bubble:"Bubble charts are scatter charts where each data point also has a size value.",columnrange:"Columnrange charts are column charts displaying a range between a lower and higher value for each point.",errorbar:"Errorbar series are used to display the variability of the data.",funnel:"Funnel charts are used to display reduction of data in stages.",pyramid:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value.",waterfall:"A waterfall chart is a column chart where each column contributes towards a total end value."},chartTypes:{emptyChart:"Empty chart",mapTypeDescription:"Map of {mapTitle} with {numSeries} data series.",unknownMap:"Map of unspecified region with {numSeries} data series.",combinationChart:"Combination chart with {numSeries} data series.",defaultSingle:"Chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",defaultMultiple:"Chart with {numSeries} data series.",splineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",splineMultiple:"Line chart with {numSeries} lines.",lineSingle:"Line chart with {numPoints} data {#eq numPoints 1}point{else}points{/eq}.",lineMultiple:"Line chart with {numSeries} lines.",columnSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",columnMultiple:"Bar chart with {numSeries} data series.",barSingle:"Bar chart with {numPoints} {#eq numPoints 1}bar{else}bars{/eq}.",barMultiple:"Bar chart with {numSeries} data series.",pieSingle:"Pie chart with {numPoints} {#eq numPoints 1}slice{else}slices{/eq}.",pieMultiple:"Pie chart with {numSeries} pies.",scatterSingle:"Scatter chart with {numPoints} {#eq numPoints 1}point{else}points{/eq}.",scatterMultiple:"Scatter chart with {numSeries} data series.",boxplotSingle:"Boxplot with {numPoints} {#eq numPoints 1}box{else}boxes{/eq}.",boxplotMultiple:"Boxplot with {numSeries} data series.",bubbleSingle:"Bubble chart with {numPoints} {#eq numPoints 1}bubbles{else}bubble{/eq}.",bubbleMultiple:"Bubble chart with {numSeries} data series."},axis:{xAxisDescriptionSingular:"The chart has 1 X axis displaying {names[0]}. {ranges[0]}",xAxisDescriptionPlural:"The chart has {numAxes} X axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",yAxisDescriptionSingular:"The chart has 1 Y axis displaying {names[0]}. {ranges[0]}",yAxisDescriptionPlural:"The chart has {numAxes} Y axes displaying {#each names}{#unless @first},{/unless}{#if @last} and{/if} {this}{/each}.",timeRangeDays:"Data range: {range} days.",timeRangeHours:"Data range: {range} hours.",timeRangeMinutes:"Data range: {range} minutes.",timeRangeSeconds:"Data range: {range} seconds.",rangeFromTo:"Data ranges from {rangeFrom} to {rangeTo}.",rangeCategories:"Data range: {numCategories}
1 categories.",defaultAxisNames:{categories:"categories",time:"Time",values:"values"}},exporting:{chartMenuLabel:"Chart menu",menuButtonLabel:"View chart menu, {chartTitle}"},series:{summary:{default:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",defaultCombination:"{series.name}, series {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",line:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",lineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",spline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",splineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",column:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",columnCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",bar:"{series.name}, bar series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",barCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bar series with {series.points.length} {#eq series.points.length 1}bar{else}bars{/eq}.",pie:"{series.name}, pie {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",pieCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Pie with {series.points.length} {#eq series.points.length 1}slice{else}slices{/eq}.",scatter:"{series.name}, scatter plot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",scatterCombination:"{series.name}, series {seriesNumber} of {chart.series.length}, scatter plot with {series.points.length} {#eq series.points.length 1}point{else}points{/eq}.",boxplot:"{series.name}, boxplot {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",boxplotCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Boxplot with {series.points.length} {#eq series.points.length 1}box{else}boxes{/eq}.",bubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",bubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",map:"{series.name}, map {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Map with {series.points.length} {#eq series.points.length 1}area{else}areas{/eq}.",mapline:"{series.name}, line {seriesNumber} of {chart.series.length} with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",maplineCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Line with {series.points.length} data {#eq series.points.length 1}point{else}points{/eq}.",mapbubble:"{series.name}, bubble series {seriesNumber} of {chart.series.length} with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}.",mapbubbleCombination:"{series.name}, series {seriesNumber} of {chart.series.length}. Bubble series with {series.points.length} {#eq series.points.length 1}bubble{else}bubbles{/eq}."},description:"{description}",xAxisDescription:"X axis, {name}",yAxisDescription:"Y axis, {name}",nullPointValue:"No value",pointAnnotationsDescription:"{#each annotations}Annotation: {this}{/each}"}}}});let sd=sh,sc=c();sc.i18nFormat=sd.i18nFormat,sc.A11yChartUtilities=ti,sc.A11yHTMLUtilities=Y,sc.AccessibilityComponent=th,sc.KeyboardNavigationHandler=td,sc.SeriesAccessibilityDescriber=ia,sd.compose(sc.Chart,sc.Legend,sc.Point,sc.Series,sc.SVGElement,sc.RangeSelector),c()},27655:(t,e,i)=>{"use strict";let s,o,r,n,a,l;i.d(e,{A:()=>
vendor: 10,996 bytes, lines 1-2
1oh});var h,d,c,p,u,g,f,m,x,y,b,v,k,w,M,S,C,A,T,P,O,L,E,D,I,B,N={};N.d=(t,e)=>{for(var i in e)N.o(e,i)&&!N.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},N.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(h=y||(y={})).SVG_NS="http://www.w3.org/2000/svg",h.product="Highcharts",h.version="12.6.0",h.win="u">typeof window?window:{},h.doc=h.win.document,h.svg=!!h.doc?.createElementNS?.(h.SVG_NS,"svg")?.createSVGRect,h.pageLang=h.doc?.documentElement?.closest("[lang]")?.lang,h.userAgent=h.win.navigator?.userAgent||"",h.isChrome=h.win.chrome,h.isFirefox=-1!==h.userAgent.indexOf("Firefox"),h.isMS=/(edge|msie|trident)/i.test(h.userAgent)&&!h.win.opera,h.isSafari=!h.isChrome&&-1!==h.userAgent.indexOf("Safari"),h.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(h.userAgent),h.isWebKit=-1!==h.userAgent.indexOf("AppleWebKit"),h.deg2rad=2*Math.PI/360,h.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],h.noop=function(){},h.supportsPassiveEvents=function(){let t=!1;if(!h.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});h.win.addEventListener&&h.win.removeEventListener&&(h.win.addEventListener("testPassive",h.noop,e),h.win.removeEventListener("testPassive",h.noop,e))}return t}(),h.charts=[],h.composed=[],h.dateFormats={},h.seriesTypes={},h.symbolSizes={},h.chartCount=0;let R=y,{doc:z,win:W}=R;function H(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;R.Point&&t instanceof R.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!R.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){tA(t,e,i)}}function F(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i}function G(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i}function j(t,e,i){let s,o=tp(e)&&!_(i),r=(e,i)=>{_(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return tp(e)?r(i,e):ty(e,r),s}function X(t,e,i){return t>e?t<i?t:i:e}function Y(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}function U(t,e,i,s,o){let r=z.createElement(t);return e&&Q(r,e),o&&$(r,{padding:"0",border:"none",margin:"0"}),i&&$(r,i),s&&s.appendChild(r),r}function V(t,e=0,i){let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o}function $(t,e){Q(t.style,e)}function _(t){return null!=t}function K(t,e,i){ty(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})}function q(t){t?.parentElement?.removeChild(t)}function Z(t,e,i,s){let o={};return!function t(e,o,r,n){let a=i?o:e;ty(e,function(i,l){if(!n&&s&&s.indexOf(l)>-1&&o[l]){i=tT(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],n+1)))}else tf(i,!0)&&!i.nodeType?(r[l]=tu(i)?[]:{},t(i,o[l]||{},r[l],n+1),0===Object.keys(r[l]).length&&("colorAxis"!==l||0!==n)&&delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=a[l])})}(t,e,o,0),o}function J(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}}function Q(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function tt(t,e){let i=function(){};return i.prototype=new t,Q(i.prototype,e),i}function te(t,e,i,s){if(i=i||{},z?.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==R)){let s=z.createEvent("Events");s.initEvent(e,!0,!0),i=Q(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||Q(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],o=t,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[e])),o=Object.getPrototypeOf(o);r&&s.sort((t,e)=>t.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i,t)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let ti=(t="")=>({center:.5,right:1,middle:.5,bottom:1})[t]||0;function ts(t,e){let i,s,o,r,n=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!n?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)}),i}function to(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function tr(t,e){let i=t.split(".");for(;i.length&&_(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return tf(e)&&(t=e["@this"]),t??e}let s=e[t.replace(/[\\'"]/g,"")];if(!_(s)||"function"==typeof s||"number"==typeof s.nodeType||s===W)return;e=s}return e}function tn(t,e,i){let s;if("width"===e){let e=Math.min(t.offsetWidth,t.scrollWidth),i=t.getBoundingClientRect?.().width;return i<e&&i>=e-1&&(e=Math.floor(i)),Math.max(0,e-(tn(t,"padding-left",!0)||0)-(tn(t,"padding-right",!0)||0))}if("height"===e)return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(tn(t,"padding-top",!0)||0)-(tn(t,"padding-bottom",!0)||0));let o=W.getComputedStyle(t,void 0);return o&&(s=o.getPropertyValue(e),tk(i,"opacity"!==e)&&(s=tw(s))),s}let ta=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function tl(t){_(t)&&clearTimeout(t)}function th(t){return tf(t)&&"number"==typeof t.nodeType}function td(t){let e=t?.constructor;return!!(tf(t,!0)&&!th(t)&&e?.name&&"Object"!==e.name)}function tc(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function tp(t){return"string"==typeof t}function tu(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function tg(t){return"function"==typeof t}function tf(t,e){return!!t&&"object"==typeof t&&(!e||!tu(t))}function tm(t,...e){let i,s=[t,...e],o={},r=function(t,e){return"object"!=typeof t&&(t={}),ty(e,function(i,s){"__proto__"!==s&&"constructor"!==s&&(!tf(i,!0)||td(i)||th(i)?t[s]=e[s]:t[s]=r(t[s]||{},i))}),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));let n=s.length;for(i=0;i<n;i++)o=r(o,s[i]);return o}function tx(t,e,i,s,o){let r,n=t;i=tk(i,to(t));let a=t/i;for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(n=e[r],(!o||!(n*i>=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return Y(n*i,-Math.round(Math.log(.001)/Math.LN10))}function ty(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function tb(t){let e=z.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(W.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(W.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}}function tv(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t}function tk(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function tw(t,e){return parseInt(t,e||10)}function tM(t,e){return 0>t.indexOf(e)&&!!t.push(e)}function tS(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)}function tC(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t}function tA(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,ty(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function tT(t){return tu(t)?t:[t]}function tP(t,e){let i,s,o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI}function tO(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)}function tL(t){return tp(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)}let{charts:tE,win:tD}=R;function tI(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=tc(t),n=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(n+="?"),ty(s,function(e,i){t+=`
2 - ${i}: ${e}`,r&&(n+=encodeURI(i)+"="+encodeURI(e))}),n+=t}te(R,"displayError",{chart:i,code:t,message:n,params:s},function(){if(e)throw Error(n);tD.console&&-1===tI.messages.indexOf(n)&&console.warn(n)}),tI.messages.push(n)}function tB(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||tc(s)&&s<tk(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i}(tI||(tI={})).messages=[];let tN={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let tR=(r=Math.random().toString(36).substring(2,9)+"-",n=0,function(){return"highcharts-"+(s?"":r)+n++});tD.jQuery&&(tD.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new R[tp(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):tE[j(this[0],"data-highcharts-chart")]});let{pageLang:tz,win:tW}=R,tH=R.isSafari&&tW.Intl&&!tW.Intl.DateTimeFormat.prototype.formatRange,tF=class{constructor(t,e){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=tW.Date,this.update(t),this.lang=e}update(t={}){this.dTLCache={},this.options=t=tm(!0,this.options,t);let{timezoneOffset:e,useUTC:i,locale:s}=t;this.Date=t.Date||tW.Date||Date;let o=t.timezone;_(i)&&(o=i?"UTC":void 0),e&&e%60==0&&(o="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==o&&o?.indexOf("Etc/GMT")!==0,this.timezone=o,this.lang&&s&&(this.lang.locale=s),["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,n,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, | |\/|:)/g);return[o,s-1,i,r,n,a,Math.floor(Number(t)||0)%1e3,"DLMXJVS".indexOf(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||tz){let s=JSON.stringify(t)+i;tp(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(tI(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):tI(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};
vendor: 8,584 bytes, line 2
2return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&Q(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,n){let a=this.Date.UTC(t,e,i,s,o||0,r||0,n||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(a);if(a+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(a);t!==e?a+=e-t:t-36e5!==this.getTimezoneOffset(a-36e5)||tH||(a-=36e5)}}return a}parse(t){if(!tp(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(tc(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),n=-(60*(s+r/60)*6e4);if(tc(n))return n}return 0}dateFormat(t,e,i){let s=this.lang;if(!_(e)||isNaN(e))return s?.invalidDate||"";if(tp(t=t??"%Y-%m-%d %H:%M:%S")){let i,o=/%\[([a-zA-Z]+)\]/g;for(;i=o.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e,s?.locale))}if(tp(t)&&-1!==t.indexOf("%")){let i=this,[o,r,n,a,l,h,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;ty(Q({a:u?u[c]:p[c].substr(0,3),A:p[c],d:tv(n),e:tv(n,2," "),w:c,v:s?.weekFrom??"",b:f[r],B:g[r],m:tv(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:tv(a),k:a,I:tv(a%12||12),l:a%12||12,M:tv(l),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:tv(h),L:tv(d,3)},R.dateFormats),function(s,o){if(tp(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e,i):s)})}else if(tf(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(Q({timeZone:s},t),e)+r}return i?tL(t):t}resolveDTLFormat(t){return tf(t,!0)?tf(t,!0)&&void 0===t.main?{main:t}:t:{main:(t=tT(t))[0],from:t[1],to:t[2]}}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in tN){if(t&&t===tN.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){a="week";break}if(t&&tN[a]>t){a=l;break}if(n[a]&&o.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}},tG=class extends tF{getTimeTicks(t,e,i,s){let o=this,r=[],n={},{count:a=1,unitRange:l}=t,[h,d,c,p,u,g]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),_(e)){if(f=l>=tN.second?0:a*Math.floor(f/a),l>=tN.second&&(g=l>=tN.minute?0:a*Math.floor(g/a)),l>=tN.minute&&(u=l>=tN.hour?0:a*Math.floor(u/a)),l>=tN.hour&&(p=l>=tN.day?0:a*Math.floor(p/a)),l>=tN.day&&(c=l>=tN.month?1:Math.max(1,a*Math.floor(c/a))),l>=tN.month&&(d=l>=tN.year?0:a*Math.floor(d/a)),l>=tN.year&&(h-=h%a),l===tN.week){a&&(e=o.makeTime(h,d,c,p,u,g,f));let t=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"),i="DLMXJVS".indexOf(t);c+=-i+s+(i<s?-7:0)}e=o.makeTime(h,d,c,p,u,g,f),o.variableTimezone&&_(i)&&(m=i-e>4*tN.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t<i;)r.push(t),l===tN.year?t=o.makeTime(h+x*a,0):l===tN.month?t=o.makeTime(h,d+x*a):m&&(l===tN.day||l===tN.week)?t=o.makeTime(h,d,c+x*a*(l===tN.day?1:7)):m&&l===tN.hour&&a>1?t=o.makeTime(h,d,c,p+x*a):t+=l*a,x++;r.push(t),l<=tN.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(n[t]="day")})}return r.info=Q(t,{higherRanks:n,totalRange:l*a}),r}},{isTouchDevice:tj}=R,tX={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{color:"#333333",fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,showDelay:0,padding:8,position:{x:0,y:3},shared:!1,snap:tj?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tY=new tG(tX.time,tX.lang),tU={defaultOptions:tX,defaultTime:tY,getOptions:function(){return tX},setOptions:function(t){return te(R,"setOptions",{options:t}),tm(!0,tX,t),t.time&&tY.update(tX.time),t.lang&&"locale"in t.lang&&tY.update({locale:t.lang.locale}),t.lang?.chartTitle&&(tX.title={...tX.title,text:t.lang.chartTitle}),tX}},{win:tV}=R,t$=(t,e,i)=>`color-mix(in srgb,${t},${e} ${100*i}%)`,t_=t=>tp(t)&&!!t&&"none"!==t;class tK{static parse(t){return t?new tK(t):tK.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;let r=R.Color;if(r&&r!==tK)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tK(t[1]));else if("string"==typeof t)for(this.input=t=tK.names[t.toLowerCase()]||t,s=tK.parsers.length;s--&&!i;)(e=(o=tK.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if(this.output)return this.output;if("object"==typeof e&&void 0!==this.stops){let i=tm(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tc(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tc(t)&&0!==t)if(tc(e[0]))for(let i=0;i<3;i++)e[i]+=tw(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else tK.useColorMix&&t_(this.input)&&(this.output=t$(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tc(i[0])||!tc(s[0]))return tK.useColorMix&&t_(this.input)&&t_(t.input)&&e<.99?t$(this.input,t.input,e):t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),n=s.slice(0,3).map(r).map(Math.round);
2return o&&n.push(r(s[3],3)),(o?"rgba(":"rgb(")+n.join(",")+")"}}tK.names={white:"#ffffff",black:"#000000"},tK.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tw(t[1]),tw(t[2]),tw(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tw(t[1]),tw(t[2]),tw(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tw(t[1]+t[1],16),tw(t[2]+t[2],16),tw(t[3]+t[3],16),_(t[4])?tw(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tw(t[1],16),tw(t[2],16),tw(t[3],16),_(t[4])?tw(t[4],16)/255:1]}}],tK.useColorMix=tV.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),tK.None=new tK("");let{parse:tq}=tK,{win:tZ}=R;class tJ{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t?.[0],i=t?.[1],s=this.now||0,o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let r=e[t],n=i[t],a=[];for(let t=0;t<n.length;t++){let e=r[t],i=n[t];tc(e)&&tc(i)&&("A"!==n[0]||4!==t&&5!==t)?a[t]=e+s*(i-e):a[t]=i}o.push(a)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,o=s.options,r=function(t){return!r.stopped&&s.step(t)},n=tZ.requestAnimationFrame||function(t){setTimeout(t,13)},a=function(){for(let t=0;t<tJ.timers.length;t++)tJ.timers[t]()||tJ.timers.splice(t--,1);tJ.timers.length&&n(a)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===tJ.timers.push(r)&&n(a)):(delete o.curAnim[this.prop],o.complete&&0===Object.keys(o.curAnim).length&&o.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,n=o.complete,a=o.duration,l=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,ty(l,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),n=t.isArea,a=n?2:1,l=e&&i.length>e.length&&i.hasStackedCliffs,h,d,c,p,u=e?.slice();if(!u||l)return[r,r];function g(t,e){for(;t.length<d;){let i=t[0],s=e[d-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),n){let e=t.pop();t.push(t[t.length-1],e)}}}function f(t){for(;t.length<d;){let e=t[Math.floor(t.length/a)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),n){let i=t[Math.floor(t.length/a)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(c=0;c<s.length;c++)if(s[c]===o[0]){h=c;break}else if(s[0]===o[o.length-s.length+c]){h=c,p=!0;break}else if(s[s.length-1]===o[o.length-s.length+c]){h=s.length-c;break}void 0===h&&(u=[])}return u.length&&tc(h)&&(d=r.length+h*a,p?(g(u,r),f(r)):(g(r,u),f(u))),[u,r]}fillSetter(){tJ.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,tq(this.start).tweenTo(tq(this.end),this.pos),void 0,!0)}}function tQ(t){return tf(t)?tm({duration:500,defer:0},t):{duration:500*!!t,defer:0}}function t0(t,e){let i=tJ.timers.length;for(;i--;)tJ.timers[i].elem!==t||e&&e!==tJ.timers[i].prop||(tJ.timers[i].stopped=!0)}tJ.timers=[];let t1={animate:function(t,e,i){let s,o="",r,n,a;tf(i)||(a=arguments,i={duration:a[2],easing:a[3],complete:a[4]}),tc(i.duration)||(i.duration=400),i.easing="function"==typeof i.easing?i.easing:Math[i.easing]||Math.easeInOutSine,i.curAnim=tm(e),ty(e,function(a,l){t0(t,l),n=new tJ(t,i,l),r=void 0,"d"===l&&tu(e.d)?(n.paths=n.initPath(t,t.pathArray,e.d),n.toD=e.d,s=0,r=1):t.attr?s=t.attr(l):(s=parseFloat(tn(t,l))||0,"opacity"!==l&&(o="px")),r||(r=a),"string"==typeof r&&r.match("px")&&(r=r.replace(/px/g,"")),n.run(s,r,o)})}
vendor: 4,083 bytes, line 2
2,animObject:tQ,getDeferredAnimation:function(t,e,i){let s=tQ(e),o=i?[i]:t.series,r=0,n=0;return o.forEach(t=>{let i=tQ(t.options.animation);r=tf(e)&&_(e.defer)?s.defer:Math.max(r,i.duration+i.defer),n=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-n),duration:Math.min(r,n)}},setAnimation:function(t,e){e.renderer.globalAnimation=tk(t,e.options.chart.animation,!0)},stop:t0},{SVG_NS:t2,win:t3}=R,{trustedTypes:t5}=t3,t6=t5&&tg(t5.createPolicy)&&t5.createPolicy("highcharts",{createHTML:t=>t}),t9=t6?t6.createHTML(""):"";class t4{static filterUserAttributes(t){return ty(t,(e,i)=>{let s=!0;-1===t4.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tp(e)&&t4.allowedReferences.some(t=>0===e.indexOf(t))),s||(tI(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tp(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t4.emptyHTML,e&&new t4(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tT(e).forEach(function(e){let o,r=e.tagName,n=e.textContent?R.doc.createTextNode(e.textContent):void 0,a=t4.bypassHTMLFiltering;if(r)if("#text"===r)o=n;else if(-1!==t4.allowedTags.indexOf(r)||a){let s="svg"===r?t2:i.namespaceURI||t2,l=R.doc.createElementNS(s,r),h=e.attributes||{};ty(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(h[e]=t)}),j(l,a?h:t4.filterUserAttributes(h)),e.style&&$(l,e.style),n&&l.appendChild(n),t(e.children||[],l),o=l}else tI(33,!1,void 0,{"Invalid tagName in config":r});o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t6?t6.createHTML(t):t,"text/html")}catch{}if(!e){let i=U("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t4.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t4.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","disabled","dx","dy","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","stroke-linecap","stroke-width","stroke","style","summary","tabindex","tableValues","target","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t4.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t4.allowedTags=["#text","a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","tbody","td","text","textPath","th","thead","title","tr","tspan","u","ul"],t4.emptyHTML=t9,t4.bypassHTMLFiltering=!1;let{defaultOptions:t8,defaultTime:t7}=tU,{pageLang:et}=R,ee={add:(t,e)=>
vendor: 4,301 bytes, line 2
2t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!tu(t)&&t.map((i,s)=>es(e.body,Q(tf(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:tL,unless:t=>!t},ei={};function es(t="",e,i){let s=RegExp("\\{([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+\"'’= #\\(\\)]+)\\}","gu"),o=RegExp("\\(([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+\"'= ]+)\\)","gu"),r=[],n=/f$/,a=/\.(\d)/,l=i?.options?.lang||t8.lang,h=i?.time||t7,d=i?.numberFormatter||eo.bind(i),c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:/^["'].+["']$/.test(t)?t.slice(1,-1):tr(t,e))},p,u,g=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),u?.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let n=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");ee[n]&&(u.isBlock&&n===u.fn&&g++,u.fn||(u.fn=n));let a="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||a))if(g)!a&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],a||(r.push(u),u=void 0)}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p,{body:u,elseBody:g,expression:f,fn:m}=s;if(m){let t=[s],o=[],n=f.length,a=0,l;for(p=0;p<=n;p++){let t=f.charAt(p);l||'"'!==t&&"'"!==t?l===t&&(l=""):l=t,l||" "!==t&&p!==n||(o.push(f.substr(a,p-a)),a=p+1)}for(p=ee[m].length;p--;)t.unshift(c(o[p+1]));r=ee[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=es(r?u:g,e,i))}else{let t=/^["'].+["']$/.test(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(n.test(e)){let t=parseInt((e.match(a)||["","-1"])[1],10);null!==r&&(r=d(r,t,l.decimalPoint,e.indexOf(",")>-1?l.thousandsSep:""))}else r=h.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&tp(r)&&(r=`"${r}"`)}t=t.replace(s.find,tk(r,""))}),f?es(t,e,i):t}function eo(t,e,i,s){e*=1;let o,r,[n,a]=(t=+t||0).toString().split("e").map(Number),l=this?.options?.lang||t8.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=l.decimalPoint),s??(s=l.thousandsSep),-1===e?e=Math.min(h,20):tc(e)?e&&a<0&&((r=e+a)>=0?(n=+n.toExponential(r).split("e")[0],e=r):(n=Math.floor(n),t=e<20?+(n*Math.pow(10,a)).toFixed(e):0,a=0)):e=2,a&&(e??(e=2),t=n),tc(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||l.locale||et,g=JSON.stringify(c)+u;return o=(ei[g]??(ei[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(a<0)||d)||(o="0"),a&&0!=+o&&(o+="e"+(a<0?"":"+")+a),o}let er={dateFormat:function(t,e,i){return t7.dateFormat(t,e,i)},format:es,helpers:ee,numberFormat:eo};(d=b||(b={})).rendererTypes={},d.getRendererType=function(t=a){return d.rendererTypes[t]||d.rendererTypes[a]},d.registerRendererType=function(t,e,i){d.rendererTypes[t]=e,(!a||i)&&(a=t,R.Renderer=e)};let en=b;(v||(v={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,n=(t,e)=>t.target-e.target,a=[],l=e.length,h=[],d=a.push,c,p=!0,u,g,f=0;for(c=l;c--;)f+=e[c].size;if(f>r){if(tP(e,(t,e)=>(e.rank||0)-(t.rank||0)),e[0].rank===e[e.length-1].rank){let t=[[0,l-1]];for(;t.length&&f>r;){let i=t.shift();if(!i)break;u=e[c=Math.floor((i[0]+i[1])/2)],tM(h,c)&&(f-=u.size),i[0]<c&&t.push([i[0],c-1]),c<i[1]&&t.push([c+1,i[1]])}}else for(c=l-1;f>r&&c>=0;)u=e[c],tM(h,c)&&(f-=u.size),c--;h.sort((t,e)=>e-t).forEach(t=>d.apply(a,e.splice(t,1)))}for(tP(e,n),e=e.map(t=>({size:t.size,targets:[t.target],align:tk(t.align,.5)}));p;){for(c=e.length;c--;)u=e[c],g=(Math.min.apply(0,u.targets)+Math.max.apply(0,u.targets))/2,u.pos=X(g-u.size*u.align,0,i-u.size);for(c=e.length,p=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),p=!0)}return d.apply(o,a),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>
vendor: 10,743 bytes, line 2
2s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),tP(o,n),o};let ea=v,{animate:el,animObject:eh,stop:ed}=t1,{deg2rad:ec,doc:ep,svg:eu,SVG_NS:eg,win:ef,isFirefox:em}=R;class ex{_defaultGetter(t){let e=tk(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let a=!i||tp(i)?i||"renderer":void 0;a&&(n&&tM(r,this),i=void 0);let l=tk(i,o[a],o),h=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*ti(t.align),d=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*ti(t.verticalAlign),c={};return t.align&&(c["text-align"]=t.align),c[e?"translateX":"x"]=Math.round(h),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=eh(tk(e,this.renderer.globalAnimation,!0)),o=s.defer;return ep.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),tO(()=>{this.element&&el(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),ty(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.indexOf(" "),s=t.substring(i+1),o=t.substring(0,i);if(o&&"none"!==o&&R.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=ep.createElementNS(eg,"tspan");j(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let n=ep.createElementNS(eg,"tspan");n.textContent="​",j(n,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(n),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=ex.symbolCustomAttribs,n,a,l=this,h;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(ty(t,function(e,i){h=!1,s||ed(this,i),this.symbolName&&-1!==r.indexOf(i)&&(a||(this.symbolAttr(t),a=!0),h=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),h||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=tR()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);Q(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=V(i,e),a=V(s,e);return Q(t,{x:n,y:a,width:V(o,e)-n,height:V(r,e)-a}),_(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,n,a,l,h,d,c,p,u,g=[],f;te(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],l=s.gradients,h=t.stops,p=i.radialReference,tu(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!_(n.gradientUnits)&&(a=n,n=tm(n,s.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),ty(n,function(t,e){"id"!==e&&g.push(e,t)}),ty(h,function(t){g.push(t)}),l[g=g.join(",")])u=l[g].attr("id");else{n.id=u=tR();let t=l[g]=s.createElement(r).attr(n).add(s.defs);t.radAttr=a,t.stops=[],h.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tK.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&ty(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=Q(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=tw(t.width)),Q(this.styles,t),o&&!eu&&this.renderer.forExport&&delete t.width;let r=em&&t.fontSize||null;r&&(tc(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let n=tm(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>n&&delete n[t]),n.color&&(n.fill=n.color,delete n.color)),$(s,n)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t){let s=(t=t.toLowerCase()).replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+tw(s[e])*tk(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,{element:e={},renderer:i,stops:s}=t,o=e.ownerSVGElement,r="SPAN"===e.nodeName&&t.parentGroup||void 0,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ed(t),t.clipPath&&o){let e=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(s){for(let t of s)t.destroy();s.length=0}for(t.safeRemoveChild(e);r?.div&&0===r.div.childNodes.length;)n=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=n;t.alignOptions&&J(i.alignedObjects,t),ty(t,(e,i)=>{(t[i]?.parentGroup===t||-1!==["connector","foreignObject"].indexOf(i))&&t[i]?.destroy?.(),delete t[i]})}dSetter(t,e,i){tu(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e?.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,{element:r,renderer:n,styles:a,textStr:l}=this,{cache:h,cacheKeys:d}=n,c=r.namespaceURI===this.SVG_NS,p=tk(e,this.rotation,0),u=n.styledMode?r&&ex.prototype.getStyle.call(r,"font-size"):a.fontSize,g=this.getBBoxCacheKey([n.rootFontSize,this.textWidth,this.alignValue,a.fontWeight,a.lineClamp,a.textOverflow,u,p]);if(g&&!t&&(i=h[g]),!i||i.polygon){if(c||n.forExport){try{o=this.fakeTS&&function(t){let e=r.querySelector(".highcharts-text-outline");e&&$(e,{display:t})},tg(o)&&o("none"),i=r.getBBox?Q({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},tg(o)&&o("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,c&&(i.height=s=({"11px,17":14,"13px,20":16})[`${u||""},${Math.round(s)}`]||s),p&&(i=this.getRotatedBox(i,p));let t={bBox:i};te(this,"afterGetBBox",t),i=t.bBox}if(g&&(""===l||i.height>0)){for(;d.length>250;)delete h[d.shift()];h[g]||d.push(g),h[g]=i}return i}getBBoxCacheKey(t){if(_(this.textStr)){let e=""+this.textStr;return -1===e.indexOf("<")&&(e=e.replace(/\d/g,"0")),[e,...t].join(",")}}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:l=0,rotationOriginY:h=0}=this,d=ti(n),c=Number(this.element.getAttribute("y")||0)-(a?0:s),p=e*ec,u=(e-90)*ec,g=Math.cos(p),f=Math.sin(p),m=o*g,x=o*f,y=Math.cos(u),b=Math.sin(u),[[v,k],[w,M]]=[l,h].map(t=>[t-t*g,t*f]),S=i+d*(o-m)+v+M+c*y,C=S+m,A=C-r*y,T=A-m,P=s+c-d*x-k+w+c*b,O=P+x,L=O-r*b,E=L-x,D=Math.min(S,C,A,T),I=Math.min(P,O,L,E),B=Math.max(S,C,A,T)-D,N=Math.max(P,O,L,E)-I;return{x:D,y:I,width:B,height:N,polygon:[[S,P],[C,O],[A,L],[T,E]]}}getStyle(t){return ef.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=eg,this.element="span"===e||"body"===e?U(e):ep.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},te(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=H(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(tp(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=tm(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},tf(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=tw(t):""!==t&&(j(i=ep.createElementNS(eg,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
vendor: 7,252 bytes, line 2
2ex.symbolCustomAttribs.forEach(function(i){e[i]=tk(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ep.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=tC(tk(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,foreignObject:i,matrix:s,padding:o,rotation:r=0,rotationOriginX:n,rotationOriginY:a,scaleX:l,scaleY:h,text:d,translateX:c=0,translateY:p=0}=this,u=[`translate(${c},${p})`];_(s)&&u.push("matrix("+s.join(",")+")"),r&&(u.push("rotate("+r+" "+(n??e.getAttribute("x")??this.x??0)+" "+(a??e.getAttribute("y")??this.y??0)+")"),d?.element.tagName!=="SPAN"||d?.foreignObject||d.attr({rotation:r,rotationOriginX:(n||0)-o,rotationOriginY:(a||0)-o})),(_(l)||_(h))&&u.push(`scale(${l??1} ${h??1})`),u.length&&!(d||this).textPath&&(i?.element||e).setAttribute(t,u.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,n=o===i.box,a,l,h,d=!1,c,p=this.added,u;if(_(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(p=!1)):_(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(a=o.childNodes).length-1;u>=0&&!d;u--)c=!_(h=(l=a[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!n&&!u?(o.insertBefore(r,a[u]),d=!0):(tw(h)<=t||c&&(!_(t)||t>=0))&&(o.insertBefore(r,a[u+1]),d=!0));d||(o.insertBefore(r,a[3*!!n]),d=!0)}return d}}ex.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],ex.prototype.strokeSetter=ex.prototype.fillSetter,ex.prototype.yGetter=ex.prototype.xGetter,ex.prototype.matrixSetter=ex.prototype.rotationOriginXSetter=ex.prototype.rotationOriginYSetter=ex.prototype.rotationSetter=ex.prototype.scaleXSetter=ex.prototype.scaleYSetter=ex.prototype.translateXSetter=ex.prototype.translateYSetter=ex.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let ey=ex;class eb extends ey{constructor(t,e,i,s,o,r,n,a,l,h){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=l,this.className=h,this.addClass("button"===h?"highcharts-no-tooltip":"highcharts-label"),h&&this.addClass("highcharts-"+h),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=eb.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=ti(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&tc(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=tm(t),eb.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e||"width"in e?this.updateTextPadding():"textOverflow"in e&&this.updateBoxSize()}return ey.prototype.css.call(this,t)}destroy(){tA(this.element,"mouseenter"),tA(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),ey.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){(this.textStr&&0===this.bBox.width&&0===this.bBox.height||this.rotation)&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,a=tk(this.paddingLeft,i),l=e??(this.rotation||0),h={width:n,height:s,x:o+this.bBox.x-a,y:r+this.bBox.y-i+this.baselineOffset};return l&&(h=this.getRotatedBox(h,l)),h}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:tk(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&_(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){tc(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=(!tc(this.widthSetting)||!tc(this.heightSetting)||this.textAlign)&&_(e.textStr)?e.getBBox(void 0,0):eb.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}i.x=t=this.getCrispAdjust(),i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(Q(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+ti(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=tc(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=tk(this.paddingLeft,t),i=tk(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.anchorX&&(this["forceAnimate:anchorX"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.anchorY&&(this["forceAnimate:anchorY"]=!0),this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}function ev(t,e,i,s,o){let r=[];if(o){let n=o.start||0,a=o.end||0,l=tk(o.r,i),h=tk(o.r,s||i),d=1e-4>Math.abs(a-n-2*Math.PI);
vendor: 4,641 bytes, line 2
2d&&(n=Math.PI/2,a=2.5*Math.PI-1e-4);let c=o.innerR,p=tk(o.open,d),u=d?0:Math.cos(n),g=d?1:Math.sin(n),f=d?0:Math.cos(a),m=d?1:Math.sin(a),x=tk(o.longArc,a-n-Math.PI<1e-4?0:1),y=["A",l,h,0,x,tk(o.clockwise,1),t+(d?.001:l*f),e+h*m];y.params={start:n,end:a,cx:t,cy:e},r.push(["M",t+l*u,e+h*g],y),_(c)&&((y=["A",c,c,0,x,_(o.clockwise)?1-o.clockwise:0,t+(d?-.001:c*u),e+c*g]).params={start:a,end:n,cx:t,cy:e},r.push(p?["M",t+c*f,e+c*m]:["L",t+c*f,e+c*m],y)),p||r.push(["Z"])}return r}function ek(t,e,i,s,o){return o?.r?ew(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function ew(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}eb.emptyBBox={width:0,height:0,x:0,y:0},eb.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let eM={arc:ev,callout:function(t,e,i,s,o){let r=Math.min(o?.r||0,i,s),n=r+6,a=o?.anchorX,l=o?.anchorY||0,h=ew(t,e,i,s,{r});if(!tc(a)||a<i&&a>0&&l<s&&l>0)return h;if(t+a>i-n)if(l>e+n&&l<e+s-n)h.splice(3,1,["L",t+i,l-6],["L",t+i+6,l],["L",t+i,l+6],["L",t+i,e+s-r]);else if(a<i){let o=l<e+n,d=o?e:e+s;h.splice(o?2:5,0,["L",a,l],["L",t+i-r,d])}else h.splice(3,1,["L",t+i,s/2],["L",a,l],["L",t+i,s/2],["L",t+i,e+s-r]);else if(t+a<n)if(l>e+n&&l<e+s-n)h.splice(7,1,["L",t,l+6],["L",t-6,l],["L",t,l-6],["L",t,e+r]);else if(a>0){let i=l<e+n,o=i?e:e+s;h.splice(i?1:6,0,["L",a,l],["L",t+r,o])}else h.splice(7,1,["L",t,s/2],["L",a,l],["L",t,s/2],["L",t,e+r]);else l>s&&a<i-n?h.splice(5,1,["L",a+6,e+s],["L",a,e+s+6],["L",a-6,e+s],["L",t+r,e+s]):l<0&&a>n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-r,e]);return h},circle:function(t,e,i,s){return ev(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:ek,roundedRect:ew,square:ek,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:eS,SVG_NS:eC,win:eA}=R,eT=(t,e)=>t.substring(0,e)+"…",eP=class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e?.lineHeight,this.textOutline=e?.textOutline,this.ellipsis=e?.textOverflow==="ellipsis",this.lineClamp=e?.lineClamp,this.noWrap=e?.whiteSpace==="nowrap"}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=tk(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,n=!t.added&&i.box,a=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(a!==t.textCache){t.textCache=a,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))){if(""!==s){n&&n.appendChild(e);let i=new t4(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),n&&n.removeChild(e)}}else e.appendChild(eS.createTextNode(this.unescapeEntities(s)));tp(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=j(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),j(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",n=r.replace(/([^\^])-/g,"$1- ").split(" "),a=!this.noWrap&&(n.length>1||e.element.childNodes.length>1),l=this.getLineHeight(o),h=Math.max(0,s-.8*l),d=0,c=e.actualWidth;if(a){let r=[],a=[];for(;o.firstChild&&o.firstChild!==t;)a.push(o.firstChild),o.removeChild(o.firstChild);for(;n.length;)if(n.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=n.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,n,0===d&&c||0,s,h,(t,e)=>n.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){n.length&&(this.truncate(t,t.textContent||"",void 0,0,s,h,eT),t.textContent=t.textContent?.replace("…","")+"…");break}
vendor: 4,580 bytes, line 2
2a.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(eS.createTextNode(e),t);let s=eS.createElementNS(eC,"tspan");s.textContent="​",j(s,{dy:l,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,h,eT)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===eA.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===eA.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:n={},tagName:a}=i,l=this.renderer.styledMode;if("b"===a||"strong"===a?l?o.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(l?o.class="highcharts-emphasized":n.fontStyle="italic"),n?.color&&(n.fill=n.color),"br"===a){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e?.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(i.tagName="tspan"),Q(i,{attributes:o,style:n}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),te(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,n){let a,l,h=this.svgElement,{rotation:d}=h,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=s+n.getSubStringLength(0,i?r+1:r)}catch{}return c[r]};if(h.rotation=0,s+(l=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(a=n(i,g)),l=f(g,a&&a.length-1),p===u?p=u+1:l>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=a||n(e||i,g)),this.ellipsis&&l>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,eT)}i&&i.splice(0,g),h.actualWidth=l,h.rotation=d}unescapeEntities(t,e){return ty(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:eO}=tU,{charts:eL,deg2rad:eE,doc:eD,isFirefox:eI,isMS:eB,isWebKit:eN,noop:eR,SVG_NS:ez,symbolSizes:eW,win:eH}=R;class eF{constructor(t,e,i,s,o,r,n){let a,l;this.x=0,this.y=0;let h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;n||h.css(this.getStyle(s||{})),t.appendChild(d),j(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&j(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(eD.createTextNode("Created with Highcharts 12.6.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),eI&&t.getBoundingClientRect&&((a=function(){$(t,{left:0,top:0}),l=t.getBoundingClientRect(),$(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=H(eH,"resize",a))}definition(t){return new t4([t]).addToDOM(this.defs.element)}getReferenceURL(){if((eI||eN)&&eD.getElementsByTagName("base").length){if(!_(o)){let t=tR(),e=new t4([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(eD.body);$(e,{position:"fixed",top:0,left:0,zIndex:9e5});let i=eD.elementFromPoint(6,6);o=i?.id==="hitme",eD.body.removeChild(e)}if(o)return tC(eH.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=Q({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),K(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}
2`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=tm({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new eP(t).buildSVG()}getContrast(t){if("transparent"===t)return"#000000";let e=tK.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(tc(e[0])||!tK.useColorMix){let t=e.map(t=>{let e=t/255;return e<=.04?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*t[0]+.7152*t[1]+.0722*t[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},r,n,a,l,h){let d=this.label(t,e,i,l,void 0,void 0,h,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=tm(eO.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t4.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(tm(m[0],t4.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),H(d.element,eB?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),H(d.element,eB?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];tf(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(Q({cursor:"default"},f)),h&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s?.call(d,t)})}crispLine(t,e){let[i,s]=t;return _(i[1])&&i[1]===s[1]&&(i[1]=s[1]=V(i[1],e)),_(i[2])&&i[2]===s[2]&&(i[2]=s[2]=V(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return tu(t)?e.d=t:tf(t)&&Q(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=tf(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let n;tf(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=tf(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,Q(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,j(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:tk(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};tc(e)&&(n.x=e),tc(i)&&(n.y=i),tc(s)&&(n.width=s),tc(o)&&(n.height=o);let a=this.createElement("image").attr(n),l=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new eH.Image;H(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,l,h,d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(a=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),d.styledMode||n.attr("fill","none"),Q(n,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&Q(n,r);else if(p){l=t.match(c)[1];let s=n=this.image(l);s.imgwidth=tk(r?.width,eW[l]?.width),s.imgheight=tk(r?.height,eW[l]?.height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:n,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,d=1;r&&"within"===r.backgroundSize&&o&&n&&a&&l?(d=Math.min(o/a,n/l),j(s,{width:Math.round(a*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((o||0)-a*d)/2,((n||0)-l*d)/2)}}),_(e)&&s.attr({x:e,y:i}),s.isImg=!0,_(s.imgwidth)&&_(s.imgheight)?h(s):(s.attr({width:0,height:0}),U("img",{onload:function(){let t=eL[d.chartIndex];0===this.width&&($(this,{position:"absolute",top:"-999em"}),eD.body.appendChild(this)),eW[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.asyncCounter--,d.asyncCounter||!t||t.hasLoaded||t.onload()},src:l}),this.asyncCounter++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),_(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,
2i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;i<s.length;i++)(r=s[i]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=tc(t)?t:tw(ey.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*eE),4)),{x:-t/3*Math.sin(e*eE),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)tp(i[0])&&tc(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,a,l){return new eb(this,t,e,i,s,o,r,n,a,l)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}Q(eF.prototype,{Element:ey,SVG_NS:ez,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:eM,draw:eR}),en.registerRendererType("svg",eF,!0);let{composed:eG,isFirefox:ej}=R;function eX(t,e,i){let s=this.div?.style;ey.prototype[`${e}Setter`].call(this,t,e,i),s&&(i.style[e]=s[e]=t)}let eY=(t,e)=>{if(!t.div){let i=j(t.element,"class"),s=t.css,o=U("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.scaleXSetter=t.scaleYSetter=(e,i)=>{t[i]=e,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=eX,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return ey.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class eU extends ey{static compose(t){tM(eG,this.compose)&&(t.prototype.html=function(t,e,i){return new eU(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),eU.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=tw(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),tc(Number(t?.fontSize))&&(t.fontSize+="px"),Q(this.styles,t),$(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:o,rotationOriginX:r,rotationOriginY:n,scaleX:a,scaleY:l,styles:{display:h="inline-block",whiteSpace:d},textAlign:c="left",textWidth:p,translateX:u=0,translateY:g=0,x:f=0,y:m=0}=this,x=()=>this.textPxLength?this.textPxLength:($(t,{width:"",whiteSpace:d||"nowrap"}),t.offsetWidth);if(e||$(t,{marginLeft:`${u}px`,marginTop:`${g}px`}),"SPAN"===t.tagName){let u,g=[o,c,t.innerHTML,p,this.textAlign].join(","),y=-(this.parentGroup?.padding*1)||0;if(p!==i){let e=x(),r=p||0,n=!s.styledMode&&""===t.style.textOverflow&&t.style.webkitLineClamp;(r>i||e>r||n)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&($(t,{width:(o||a||e>r)&&tc(p)?p+"px":n?Math.min(e+1,r)+"px":"auto",display:h,whiteSpace:d||"normal"}),this.oldTextWidth=p)}e&&($(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),g!==this.cTT&&(u=s.fontMetrics(t).b,_(o)&&!e&&(o!==(this.oldRotation||0)||c!==this.oldAlign)&&$(t,{transform:`rotate(${o}deg)`,transformOrigin:`${y}% ${y}px`}
2),this.getSpanCorrection(!_(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,u,ti(c)));let{xCorr:b=0,yCorr:v=0}=this,k={left:`${f+b}px`,top:`${m+v}px`,textAlign:c,transformOrigin:`${(r??f)-b-f-y}px ${(n??m)-v-m-y}px`};(a||l)&&(k.transform=`scale(${a??1},${l??1})`),e?(super.updateTransform(),tc(f)&&tc(m)?(e.attr({x:f+b,y:m+v,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),$(t,{display:h,textAlign:c})):ej&&e.attr({width:0,height:0})):$(t,k),this.cTT=g,this.oldRotation=o,this.oldAlign=c}}add(t){let{foreignObject:e,renderer:i}=this,s=i.box.parentNode,o=[];if(e)e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e));else{let e;if(this.parentGroup=t,t&&!(e=t.div)){let i=t;for(;i;)o.push(i),i=i.parentGroup;for(let t of o.reverse())e=eY(t,s)}(e||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t4.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let eV=eU.prototype;eV.visibilitySetter=eV.opacitySetter=eX,eV.ySetter=eV.rotationSetter=eV.rotationOriginXSetter=eV.rotationOriginYSetter=eV.xSetter,(c=k||(k={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},c.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return this.axis.chart.numberFormatter(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};let e$=k;(w||(w={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},ty(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(tA(t,i,t.eventOptions[i]),delete t.eventOptions[i]),tg(e)&&(t.eventOptions[i]=e,H(t,i,e,{order:0})))})};let e_=w,{deg2rad:eK}=R,eq=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,te(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,n=e.names,a=t.pos,l=tk(t.options?.labels,i.labels),h=e.tickPositions,d=a===h[0],c=a===h[h.length-1],p=(!l.step||1===l.step)&&1===e.tickInterval,u=h.info,g=t.label,f,m,x,y=this.parameters.category||(o?tk(o[a],n[a],a):a);r&&tc(y)&&(y=Y(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid?.enabled&&u.higherRanks[a]||u.unitName])).main:tc(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:a,tick:t,tickPositionInfo:u,value:y};te(this,"labelFormat",b);let v=t=>l.formatter?l.formatter.call(t,t):l.format?(t.text=e.defaultLabelFormatter.call(t),er.format(l.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),w=m?.list;w?t.shortenLabel=function(){for(x=0;x<w.length;x++)if(Q(b,{dateTimeLabelFormat:w[x]}),g.attr({text:v.call(b,b)}),g.getBBox().width<e.getSlotWidth(t)-2*(l.padding||0))return;g.attr({text:""})}:t.shortenLabel=void 0,p&&e._addedPlotLB&&t.moveLabel(k,l),_(g)||t.movedLabel?g&&g.textStr!==k&&!p&&(!g.textWidth||l.style.width||g.styles.width||g.css({width:null}),g.attr({text:k}),g.textPxLength=g.getBBox().width):(t.label=g=t.createLabel(k,l),t.rotation=0)}createLabel(t,e,i){let s=this.axis,{renderer:o,styledMode:r}=s.chart,n=e.style.whiteSpace,a=_(t)&&e.enabled?o.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return a&&(r||a.css(tm(e.style)),a.textPxLength=a.getBBox().width,!r&&n&&a.css({whiteSpace:n})),a}destroy(){K(this,this.axis)}
2getPosition(t,e,i,s){let o=this.axis,r=o.chart,n=s&&r.oldChartHeight||r.chartHeight,a={x:t?Y(o.translate(e+i,void 0,void 0,s)+o.transB):o.left+o.offset+(o.opposite?(s&&r.oldChartWidth||r.chartWidth)-o.right-o.left:0),y:t?n-o.bottom+o.offset-(o.opposite?o.height:0):Y(n-o.translate(e+i,void 0,void 0,s)-o.transB)};return a.y=X(a.y,-1e9,1e9),te(this,"afterGetPosition",{pos:a}),a}getLabelPosition(t,e,i,s,o,r,n,a){let l,h,d=this.axis,c=d.transA,p=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,u=d.staggerLines,g=d.tickRotCorr||{x:0,y:0},f=s||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),m=o.distance,x={};return l=0===d.side?i.rotation?-m:-i.getBBox().height:2===d.side?g.y+m:Math.cos(i.rotation*eK)*(g.y-i.getBBox(!1,0).height/2),_(o.y)&&(l=0===d.side&&d.horiz?o.y+l:o.y),t=t+tk(o.x,[0,1,0,-1][d.side]*m)+f+g.x-(r&&s?r*c*(p?-1:1):0),e=e+l-(r&&!s?r*c*(p?1:-1):0),u&&(h=n/(a||1)%u,d.opposite&&(h=u-h-1),e+=h*(d.labelOffset/u)),x.x=t,x.y=Math.round(e),te(this,"afterGetLabelPosition",{pos:x,tickmarkOffset:r,index:n}),x}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e=this.axis,i=e.options.labels,s=t.x,o=e.chart.chartWidth,r=e.chart.spacing,n=tk(e.labelLeft,Math.min(e.pos,r[3])),a=tk(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,o-r[1])),l=this.label,h=this.rotation,d=ti(e.labelAlign||l.attr("align")),c=l.getBBox().width,p=e.getSlotWidth(this),u=p,g=1,f;h||"justify"!==i.overflow?h<0&&s-d*c<n?f=Math.round(s/Math.cos(h*eK)-n):h>0&&s+d*c>a&&(f=Math.round((o-s)/Math.cos(h*eK))):(s-d*c<n?u=t.x+u*(1-d)-n:s+(1-d)*c>a&&(u=a-t.x+u*d,g=-1),(u=Math.min(p,u))<p&&"center"===e.labelAlign&&(t.x+=g*(p-u-d*(p-Math.min(c,u)))),(c>u||e.autoRotation&&l?.styles?.width)&&(f=u)),f&&l&&(this.shortenLabel?this.shortenLabel():l.css(Q({},{width:Math.floor(f)+"px",lineClamp:+!e.isRadial})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,n;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):ty(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(n=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,n),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,n=tk(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(o,r,n,e),l=a.x,h=a.y,d=s.pos,c=d+s.len,p=o?l:h,u=tk(i,this.label?.newOpacity,1);!s.chart.polar&&(Y(p)<d||p>c)&&(i=0),i??(i=1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(a,i),this.renderLabel(a,e,u,t),this.isNew=!1,te(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,n=this.type,a=tk(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),n||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+a,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,n=i.tickSize(r?r+"Tick":"tick"),a=t.x,l=t.y,h=tk(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;n&&(i.opposite&&(n[0]=-n[0]),!c&&(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(a,l,n[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,n=o.options,a=this.label,l=n.labels,h=l.step,d=tk(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;a&&tc(c)&&(a.xy=t=this.getLabelPosition(c,p,a,r,l,d,s,h),(!this.isFirst||this.isLast||n.showFirstLabel)&&(!this.isLast||this.isFirst||n.showLastLabel)?r&&!e&&0!==i&&this.handleOverflow(t):u=!1,h&&s%h&&(u=!1),u&&tc(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0}
2,void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:eZ}=t1,{xAxis:eJ,yAxis:eQ}=e$,{defaultOptions:e0}=tU,{registerEventOptions:e1}=e_,{deg2rad:e2}=R,e3=(t,e)=>tx(e,void 0,void 0,tk(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);Q(e0,{xAxis:eJ,yAxis:tm(eJ,eQ)});class e5{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,te(this,"init",{userOptions:e}),this.opposite=tk(e.opposite,this.opposite),this.side=tk(e.side,this.side,o?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),te(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=tk(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=tu(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=_(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let a=tk(r.crosshair,tT(t.options.tooltip.crosshairs)[+!s]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),tB(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!_(this.reversed)&&(this.reversed=!0),this.labelRotation=tc(n.rotation)?n.rotation:void 0,e1(this,r),te(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=tm(e,"yAxis"===this.coll?{title:{text:this.chart.options.lang.yAxisTitle}}:{},e0[this.coll],t),te(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:i}=e,s=tc(this.value)?this.value:NaN,o=t.chart.time,r=t.categories,n=this.dateTimeLabelFormat,a=e0.lang,l=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,d=t.logarithmic?Math.abs(s):t.tickInterval,c=l?.length,p,u;if(r)u=`${this.value}`;else if(n)u=o.dateFormat(n,s,!0);else if(c&&l&&d>=1e3)for(;c--&&void 0===u;)d>=(p=Math.pow(h,c+1))&&10*s%p==0&&null!==l[c]&&0!==s&&(u=i(s/p,-1,void 0,void 0,e)+l[c]);return u??(u=i(s,-1,void 0,1e4>Math.abs(s)?"":void 0,e)),u}getSeriesExtremes(){let t,e=this;te(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,n,a;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,n=(t=i.getXExtremes(o)).min,a=t.max,tc(n)||n instanceof Date||(o=o.filter(tc),n=(t=i.getXExtremes(o)).min,a=t.max),o.length&&(e.dataMin=Math.min(tk(e.dataMin,n),n),e.dataMax=Math.max(tk(e.dataMax,a),a)));else{let t=i.applyExtremes();tc(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(tk(e.dataMin,n),n)),tc(t.dataMax)&&(a=t.dataMax,e.dataMax=Math.max(tk(e.dataMax,a),a)),_(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),te(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!tc(a))return NaN;let l=n.minPixelPadding,h=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&!!n.lin2val,d=1,c=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(d*=-1,c=n.len),n.reversed&&(d*=-1,c-=d*(n.sector||n.len)),e?(u=(t=t*d+c-l)/p+a,h&&(u=n.lin2val(u))):(h&&(t=n.val2lin(t)),u=d*(t-a)*p+c+d*l+(tc(r)?p*r:0),n.isRadial||(u=Y(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,n=t.value,a=t.lineWidth,l=r&&i.oldCh
vendor: 6,248 bytes, line 2
2artHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,m,x;function y(t,e,i){return"pass"!==p&&(t<e||t>i)&&(p?t=X(t,e,i):x=!0),t}let b={value:n,lineWidth:a,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return te(this,"getPlotLinePath",b,function(t){u=f=(c=X(c=tk(c,e.translate(n,void 0,void 0,r)),-1e9,1e9))+d,g=m=l-c-d,tc(c)?e.horiz?(g=o,m=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=y(u,s,s+e.width)):(u=s,f=h-e.right+(i.scrollablePixelsX||0),g=m=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,m]],a||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r,n=Y(Math.floor(e/t)*t),a=Y(Math.ceil(i/t)*t),l=[];if(Y(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(l.push(s),(s=Y(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?tk(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,n=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,a=[],l;if(n&&n/i<this.len/3){let s=this.logarithmic;if(s)this.paddedTicks.forEach(function(t,e,o){e&&a.push.apply(a,s.getLogTickPositions(i,o[e-1],o[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())a=a.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==a[0];l+=i)a.push(l)}return 0!==a.length&&this.trimTicks(a),a}adjustForMinRange(){let t=this.options,e=this.logarithmic,i=this.chart.time,{max:s,min:o,minRange:r}=this,n,a,l,h;this.isXAxis&&void 0===r&&!e&&(r=_(t.min)||_(t.max)||_(t.floor)||_(t.ceiling)?null:Math.min(5*(ts(this.series.map(t=>{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),tc(s)&&tc(o)&&tc(r)&&s-o<r&&(a=this.dataMax-this.dataMin>=r,n=(r-s+o)/2,l=[o-n,i.parse(t.min)??o-n],a&&(l[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(o=G(l))+r,i.parse(t.max)??o+r],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=F(h))-o<r&&(l[0]=s-r,l[1]=i.parse(t.min)??s-r,o=G(l))),this.minRange=r,this.min=o,this.max=s}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange,o=t.getColumn("x");1===o.length?i.push(o[0]):t.sorted&&_(s)&&t.reserveSpace()&&(e=_(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=ts([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=tu(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,_(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):tk(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):tc(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,n,a=0,l=0,h,d=t.transA;(o||s||r)&&(n=t.getClosest(),i?(a=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?tk(e.options.pointRange,n,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;a=Math.max(a,t&&tp(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal?.slope&&n?t.ordinal.slope/n:1,t.minPointOffset=a*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&(t.closestPointRange=n)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*a,te(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return tc(t)&&tc(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:n,logarithmic:a,options:l,softThreshold:h}=this,d=i.time,c=tc(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:f,softMax:m,softMin:x}=l,y=tc(f)&&i[this.coll]?.[f],b=l.tickPixelInterval,v=l.maxPadding,k=l.minPadding,w=0,M,S=tc(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,C,A,T,P;if(r||e||y||this.getTickAmount(),T=tk(this.userMin,d.parse(l.min)),P=tk(this.userMax,d.parse(l.max)),y?(this.linkedParent=y,M=y.getExtremes(),this.min=tk(M.min,M.dataMin),this.max=tk(M.max,M.dataMax),this.type!==y.type&&tI(11,!0,i)):(h&&_(c)&&tc(s)&&tc(o)&&(o>=c?(C=c,k=0):s<=c&&(A=c,v=0)),this.min=tk(T,C,o),this.max=tk(P,A,s)),tc(this.max)&&tc(this.min)&&(a&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,tk(o,this.min))&&tI(10,!0,i),this.min=Y(a.log2lin(this.min),16),this.max=Y(a.log2lin(this.max),16)),this.range&&tc(o)&&(this.userMin=this.min=T=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),te(this,"foundExtremes"),this.adjustForMinRange(),tc(this.min)&&tc(this.max)){if(!tc(this.userMin)&&tc(x)&&x<this.min&&(this.min=T=x),!tc(this.userMax)&&tc(m)&&m>this.max&&(this.max=P=m),e||this.axisPointRange||this.stacking?.usePercentage||y||(w=this.max-this.min)&&(!_(T)&&k&&(this.min-=w*k),!_(P)&&v&&(this.max+=w*v)),!tc(this.userMin)&&tc(g)&&(this.min=Math.max(this.min,g)),!tc(this.userMax)&&tc(u)&&(this.max=Math.min(this.max,u)),h&&tc(o)&&tc(s)){let t=c||0;!_(T)&&this.min<t&&o>=t?this.min=l.minRange?Math.min(t,this.max-p):t:!_(P)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(_(l.min)?this.max=this.min:_(l.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&tc(this.min)&&tc(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=tk(S,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*b/Math.max(this.len,b)):this.tickInterval=1,n&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;
vendor: 8,866 bytes, line 2
2this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),te(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),te(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=tk(l.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&O&&this.tickInterval<O&&(this.tickInterval=O),r||a||S||(this.tickInterval=e3(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,n=o&&t.endOnTick,a=[],l;if(this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&_(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==t.allowDecimals),e)a=e.slice();else if(tc(this.min)&&tc(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))a=[this.min,this.max],tI(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount)this.tickInterval=e3(this,e*=1.1);else break}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),i&&(this.tickPositions=a,(l=i.apply(this,[this.min,this.max,this]))&&(a=l))}this.isDirty||a.length===this.tickPositions?.length||(this.isDirty=!0),this.tickPositions=a,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=a.slice(0),this.trimTicks(a,r,n),!this.isLinked&&tc(this.min)&&tc(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),te(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(te(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&_(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,n="yAxis"===this.coll&&r.alignThresholds,a=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||n)&&!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:n}=i;n.length&&n.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&n){s.forEach(t=>{let i=t.getThresholdAlignment(e);tc(i)&&a.push(i)});let t=a.length>1?a.reduce((t,e)=>t+=e,0)/a.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!tc(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData||t.xAxis?.isDirty))&&this.getSeriesExtremes(),tc(this.threshold)){let t=X((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;_(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:n,thresholdAlignment:a}=t,l=r?.length,h=tk(t.threshold,t.softThreshold?0:null),d,c,p=t.tickInterval,u,g=()=>r.push(Y(r[r.length-1]+p)),f=()=>r.unshift(Y(r[0]-p));if(tc(a)&&(u=0===a?0:1===a?n-1:Math.round(X(a*(n-1),1,n-2)),o.reversed&&(u=n-1-u)),t.hasData()&&tc(s)&&tc(i)){let a=()=>{t.transA*=(l-1)/(n-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(tc(u)&&tc(t.threshold)){for(;r[u]!==h||r.length!==n||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<n;)void 0===r[u]||r[u]>t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}a()}else if(l<n){for(;r.length<n;)r.length%2||s===h?g():f();a()}if(_(e)){for(c=d=r.length;c--;)(3===e&&c%2==1||e<=2&&c>0&&c<d-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis?.isDirty||!1}),this.setAxisSize();let o=this.len!==this.old?.len;o||i||s||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,te(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),te(this,"setExtremes",o=Q(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(tS(tk(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(tS(tk(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(tS(tk(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(tS(tk(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:r,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?Y(t.lin2log(this.min)):this.min,max:t?Y(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=((t-90*this.side)%360+360)%360,i={align:"center"};return te(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=tk(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return te(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/((+!!this.categories+this.max-this.min)/s),r=t.rotation,n=Y(.8*this.labelMetrics().h),a=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>a&&t!==1/0&&o!==1/0&&a&&(i=Math.ceil(a/s)),Y(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(tc(r)?p=[r]:o<t.autoRotationLimit&&(p=t.autoRotation)),p){let t,e;for(let i of p)(i===r||i&&i>=-90&&i<=90)&&(e=(t=l(Math.abs(n/Math.sin(e2*i))))+Math.abs(i/360))<c&&(c=e,d=i,h=t)}}else h=l(.75*n);return this.autoRotation=p,this.labelRotation=tk(d,tc(r)?r:0),t.step?s:h}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&tc(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(!this.opposite&&r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,n=this.horiz,a=this.getSlotWidth(),l=Math.max(1,Math.round(a-(n?2*(o.padding||0):o.distance||0))),h={},d=this.labelMetrics(),c=r.lineClamp,p,u=c??(Math.floor(this.len/(i.length*d.h))||1),g=0;tp(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){let e=s[t];e.movedLabel&&e.replaceMovedLabel();let i=e.label?.textPxLength||0;i>g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0:a&&(p=l),h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(h.align=this.labelAlign),i.forEac
2h(function(t){let e=s[t],i=e?.label,o=r.width,n={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(Q(n,{width:`${p}px`,lineClamp:u})):!i.styles.width||n.width||o||i.css({width:"auto"}),e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&_(this.min)&&_(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,n=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),n||this.axisTitle.css(tm(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),n||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new eq(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,n)=>o.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:n,coll:a}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=tc(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,w;if(t.showAxis=m=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(n.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,tk(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&n.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):ty(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=_(y=d.offset)?0:tk(d.margin,i?5:10))),t.renderLine(),t.offset=f*tk(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},w=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=w,k+=f*(i?tk(c.y,t.tickRotCorr.y+f*c.distance):tk(c.x,f*c.distance))),t.axisTitleMargin=tk(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,n)),"colorAxis"!==a&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,k,n?.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}te(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,n=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?n:this.top],["L",o?e.chartWidth-this.right:r,o?n:e.chartHeight-this.bottom]],t)}renderLine(){!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(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,n=e?i:s,a=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:n+(e?0:o),middle:n+o/2,high:n+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+d-(a?this.height:0)+l:u+d};return te(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new eq(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
2renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid?.isColumn)&&(o[t]||(o[t]=new eq(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,r=s.renderer,n=i.options,a=i.isLinked,l=i.tickPositions,h=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=n.stackLabels,g=n.alternateGridColor,f=n.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=eZ(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){ty(t,function(t){t.isActive=!1})}),tc(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||a){let r=i.chart.hasRendered&&i.old&&tc(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),l.length&&(l.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new eq(i,-1,null,!0)),d[-1].render(-1))),g&&l.forEach(function(r,n){e=void 0!==l[n+1]?l[n+1]+m:i.max-m,n%2==0&&r<i.max&&e<=i.max+(s.polar?-m:m)&&(p[r]||(p[r]=new R.PlotLineOrBand(i,{})),t=r+m,p[r].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:g,className:"highcharts-alternate-grid"},p[r].render(),p[r].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(n.plotLines||[]).concat(n.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[d,c,p].forEach(function(t){let e=[],i=b.duration;ty(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),tO(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==p&&s.hasRendered&&i?i:0)}),x&&(x[x.isPlaced?"animate":"attr"]({d:this.getLinePath(x.strokeWidth())}),x.isPlaced=!0,x[y?"show":"hide"](y)),h&&y&&(h[h.isNew?"attr":"animate"](i.getTitlePosition(h)),h.isNew=!1),u?.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,te(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||e5.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(te(this,"destroy",{keepEvents:t}),t||tA(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){K(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();ty(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let i,s,o,r,n=this.crosshair,a=n?.snap??!0,l=this.chart,h=this.cross;if(te(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),n&&!1!==(_(e)||!a)){if(clearTimeout(this.crossShowTimer),a?_(e)&&(s=tk("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):s=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),_(s)&&(r={value:e&&(this.isXAxis?e.x:tk(e.stackY,e.y)),translatedValue:s},l.polar&&Q(r,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),i=this.getPlotLinePath(r)||null),!_(i))return void this.hideCrosshair();o=this.categories&&!this.isRadial,this.crossShowTimer=tO(()=>{let e=this.cross;e||(this.cross=e=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(n.className||"")).attr({zIndex:tk(n.zIndex,2)}).add(),!l.styledMode&&(e.attr({stroke:n.color||(o?tK.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":tk(n.width,1)}).css({"pointer-events":"none"}),n.dashStyle&&e.attr({dashstyle:n.dashStyle}))),e.show().animate({d:i},eZ(n?.animation)),o&&!n.width&&e.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=t)},(!h||"hidden"===h.attr("visibility"))&&n.showDelay||0)}else this.hideCrosshair();te(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),te(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=tm(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,tk(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);J(e.axes,this),J(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,tk(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}e5.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){if("datetime"!==this.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new s(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,H(t,"afterSetType",i)),t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["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]],s=i[i.length-1],o=tN[s[0]],r=s[1],n,a;for(n=0;n<i.length;n++)if(o=tN[(s=i[n])[0]],r=s[1],i[n+1]){let e=(o*r[r.length-1]+tN[i[n+1][0]])/2;
2if(t<=e){a=e/t;break}}o===tN.year&&t<5*o&&(r=[1,2,5]);let l=tx(t/o,r,"year"===s[0]?Math.max(to(t/o),1):1);return{unitRange:o,count:l,unitName:s[0],match:a}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=s}(M||(M={}));let e6=M;!function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new s(this))}function i(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),H(t,"afterSetType",e),H(t,"afterInit",i)),t};class s{constructor(t){this.axis=t}getLogTickPositions(t,e,i,s){let o=this.axis,r=o.len,n=o.options,a=[];if(s||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),a=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,n,l,h,d,c,p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;r<i+1&&!c;r++)for(n=0,l=o.length;n<l&&!c;n++)(h=this.log2lin(this.lin2log(r)*o[n]))>e&&(!s||d<=i)&&void 0!==d&&a.push(d),d>i&&(c=!0),d=h}else{let l=this.lin2log(e),h=this.lin2log(i),d=s?o.getMinorTickInterval():n.tickInterval,c=n.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=tx(t=tk("auto"===d?null:d,this.minorAutoInterval,(h-l)*c/(p||1))),a=o.getLinearTickPositions(t,l,h).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),a}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(S||(S={}));let e9=S;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,n=!tc(this.min)||!tc(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,a=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),l,h=1,d;if(a&&s)for(n&&(d=a.toString()===s.toString(),h=0),l=0;l<a.length;l+=2){let t=a[l],e=a[l+1],i=s[l],n=s[l+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===n[0]||"L"===n[0])&&(r&&i[1]===t[1]?(i[1]+=h,n[1]+=h):r||i[2]!==t[2]||(i[2]+=h,n[2]+=h),o.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",n[1],n[2]],["L",i[1],i[2]],["Z"])),o.isFlat=d}return o}function n(t){this.removePlotBandOrLine(t)}function a(t){let e=this.plotLinesAndBands,i=this.options,s=this.userOptions;if(e){let o=e.length;for(;o--;)e[o].id===t&&e[o].destroy();[i.plotLines||[],s.plotLines||[],i.plotBands||[],s.plotBands||[]].forEach(function(e){for(o=e.length;o--;)e[o]?.id===t&&J(e,e[o])})}}function l(t){this.removePlotBandOrLine(t)}t.compose=function(t,h){let d=h.prototype;return d.addPlotBand||(e=t,Q(d,{addPlotBand:i,addPlotLine:o,addPlotBandOrLine:s,getPlotBandPath:r,removePlotBand:n,removePlotLine:l,removePlotBandOrLine:a})),h}}(C||(C={}));let e4=C;class e8{static compose(t,e){return H(t,"afterInit",function(){this.labelCollectors.push(()=>{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),e4.compose(e8,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){te(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:n=0}=e,{renderer:a,time:l}=t.chart,h={},d=l.parse(e.to),c=l.parse(e.from),p=l.parse(e.value),u=e.borderWidth,g=e.label,{label:f,svgElem:m}=this,x=[],y,b=_(c)&&_(d),v=_(p),k=!m,w={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},M=b?"bands":"lines";if(!t.chart.styledMode&&(v?(w.stroke=o||"#999999",w["stroke-width"]=tk(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):b&&(w.fill=o||"#e6e9ff",u&&(w.stroke=e.borderColor,w["stroke-width"]=u))),h.zIndex=n,M+="-"+n,(y=t.plotLinesAndBandsGroups[M])||(t.plotLinesAndBandsGroups[M]=y=a.g("plot-"+M).attr(h).add()),m||(this.svgElem=m=a.path().attr(w).add(y)),_(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(_(c)&&_(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(ty(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t,this])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),g&&(_(g.text)||_(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=tm({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,n)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,n=t.inside,a=this.label;a||(this.label=a=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||a.css(tm({color:o.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!n?"":"ellipsis"},t.style)),a.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],h=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=F(l),c=F(h),p=G(l)-d;a.align(t,!1,{x:d,y:c,width:p,height:G(h)-c}),a.alignAttr.y-=r.fontMetrics(a).b,(!a.alignValue||"left"===a.alignValue||_(n))&&a.css({width:(t.style?.width||(i&&n?p:90===a.rotation?o.height-(a.alignAttr.y-o.top):(t.clip?o.width+o.left:o.chart.chartWidth)-a.alignAttr.x))+"px"}),a.show(!0)}getLabelText(t){return _(t.formatter)?t.formatter.call(this,this):t.text}destroy(){J(this.axis.plotLinesAndBands,this),delete this.axis,K(this)}}let{animObject:e7}=t1,{format:it}=er,{composed:ie,dateFormats:ii,doc:is,isSafari:io}=R,{distribute:ir}=ea,ia=t=>{clearTimeout(t.hideTimer),clearTimeout(t.showTimer)};class il{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"",t)})}
vendor: 4,497 bytes, line 2
2cleanSplit(t){this.chart.series.forEach(function(e){let i=e?.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||tT(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),q(this.container)),tl(this.hideTimer),ia(this)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if(t=tT(t),t[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-a,o-n]}let l={point:t[0],ret:i};return te(this,"getAnchor",l),l.ret.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+tk(t.colorIndex,o.colorIndex),r?.className].filter(tp).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=en.getRendererType();this.container=n=R.doc.createElement("div"),n.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),$(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e?.zIndex||0)+3)}),this.renderer=a=new i(n,0,0,e,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",t,e,o.shape||"callout",void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,n&&(n.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow??!o.fixed).add()}return n&&!n.parentElement&&R.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=is,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:n}=this,{inverted:a,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=a&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=n.getChartPosition(),y=i=>{let n="x"===i;return[i,n?m:f,n?t:e].concat(r?[n?t*x.scaleX:e*x.scaleY,n?x.left-s+(c+l)*x.scaleX:x.top-s+(p+h)*x.scaleY,0,n?m:f]:[n?t:e,n?c+l:p+h,n?l:h,n?l+o.plotWidth:h+o.plotHeight])},b=y("y"),v=y("x"),k,w=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(w=!w);let M=!this.followPointer&&tk(i.ttBelow,!d&&!a===w),S=function(t,e,i,o,n,a,l){let h=r?"y"===t?s*x.scaleY:s*x.scaleX:s,d=(i-o)/2,c=o<n-s,p=n+s+o<e,f=n-h-i+d,m=n+h-d;if(M&&p)u[t]=m;else if(!M&&c)u[t]=f;else if(c)u[t]=Math.min(l-o,f-g<0?f:f-g);else{if(!p)return u[t]=0,!1;u[t]=Math.max(a,m+g+i>e?m:m+g)}},C=function(t,e,i,o,r){if(r<s||r>e-s)return!1;r<i/2?u[t]=1:r>e-o/2?u[t]=e-o-2:u[t]=r-i/2},A=function(t){[b,v]=[v,b],k=t},T=()=>{!1!==S.apply(0,b)?!1!==C.apply(0,v)||k||(A(!0),T()):k?u.x=u.y=0:(A(!0),T())};return(a&&!d||this.len>1)&&A(),T(),r&&(u.x-=x.left,u.y-=x.top),u}getFixedPosition(t,e,i){let s=i.series,{chart:o,options:r,split:n}=this,a=r.position,l=a.relativeTo,h=r.shared||s?.yAxis?.isRadial&&("pane"===l||!l)?"plotBox":l,d="chart"===h?o.renderer:o[h]||o.getClipBox(s,!0);return{x:d.x+(d.width-t)*ti(a.align)+a.x,y:d.y+(d.height-e)*ti(a.verticalAlign)+(!n&&a.y||0)}}hide(t){let e=this;ia(this),t=tk(t,this.options.hideDelay),this.isHidden||(this.hideTimer=tO(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
vendor: 4,483 bytes, line 2
2,{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=tk(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let{followPointer:o,options:r}=this,n=e7(!o&&!this.isHidden&&!r.fixed&&r.animation),a=o||(this.len||0)>1,l={x:t,y:e};a?l.anchorX=l.anchorY=NaN:(l.anchorX=i,l.anchorY=s),n.step=()=>this.drawTracker(),this.getLabel().animate(l,n)}refresh(t,e){let i=this,{chart:s,options:o,pointer:r,shared:n}=this,a=tT(t),l=a[0],h=o.format,d=o.formatter||i.defaultFormatter,c=s.styledMode,p=i.allowShared;if(!o.enabled||!l.series)return;ia(this),i.allowShared=!(!tu(t)&&t.series&&t.series.noSharedTooltip),p=p&&!i.allowShared,i.followPointer=!i.split&&l.series.tooltipOptions.followPointer;let u=i.getAnchor(t,e),g=u[0],f=u[1];n&&i.allowShared&&(r.applyInactiveState(a),a.forEach(t=>t.setState("hover")),l.points=a),this.len=a.length;let m=tp(h)?it(h,l,s):d.call(l,i,l);l.points=void 0;let x=l.series;this.distance=tk(x.tooltipOptions.distance,16),!1===m?this.hide():this.showTimer=tO(()=>{if(i.split&&i.allowShared)i.renderSplit(m,a);else{let t=g,n=f;if(e&&r.isDirectTouch&&(t=e.chartX-s.plotLeft,n=e.chartY-s.plotTop),!(s.polar||!1===x.options.clip||a.some(e=>r.isDirectTouch||e.series.shouldShowTooltip(t,n))))return void i.hide();{let t=i.getLabel(p&&i.tt||{});(!o.style.width||c)&&t.css({width:(this.outside?this.getPlayingField():s.spacingBox).width-2*o.padding+"px"}),t.attr({class:i.getClassName(l),text:tu(m)?m.join(""):m}),this.outside&&t.attr({x:X(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),c||t.attr({stroke:o.borderColor||l.color||x.color||"#666666"}),i.updatePosition({plotX:g,plotY:f,negative:l.negative,ttBelow:l.ttBelow,series:x,h:u[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1},i.isHidden&&o.showDelay||0),te(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{fixed:g,position:f,positioner:m},pointer:x}=i,{scrollLeft:y=0,scrollTop:b=0}=s.scrollablePlotArea?.scrollingContainer||{},v=i.outside&&"number"!=typeof d?is.documentElement.getBoundingClientRect():{left:y,right:y+o,top:b,bottom:b+r},k=i.getLabel(),w=this.renderer||s.renderer,M=!!s.xAxis[0]?.opposite,{left:S,top:C}=x.getChartPosition(),A=m||g,T=l+b,P=0,O=n-h,L=function(t,e,s,o,r=[0,0],n=!0){let a,l;if(s.isHeader)l=M?0:O,a=X(r[0]-t/2,v.left,v.right-t-(i.outside?S:0));else if(g&&s){let o=i.getFixedPosition(t,e,s);a=o.x,l=o.y-T}else l=r[1]-T,a=X(a=n?r[0]-t-p:r[0]+p,n?a:v.left,v.right);return{x:a,y:l}};tp(t)&&(t=[!1,t]);let E=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},h=r.isHeader,d=h?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e,a=n.tooltipOptions||u;if(!o){let t={padding:a.padding,r:a.borderRadius};c||(t.fill=a.backgroundColor,t["stroke-width"]=a.borderWidth??(g&&!r?0:1)),o=w.label("",0,0,a[r?"headerShape":"shape"]||(g&&!r?"rect":"callout"),void 0,void 0,a.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(k)}return o.isActive=!0,o.attr({text:s}),c||o.css(a.style).attr({stroke:a.borderColor||e.color||n.color||"#333333"}),o}(d.tt,r,s.toString()),x=f.getBBox(),y=x.width+f.strokeWidth();h&&(P=x.height,O+=P,M&&(T-=P));let{anchorX:b,anchorY:S}=function(t){let e,i,{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(a+o,a),i=l+n/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+X(o,-p,t.len+p),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=X(e,v.left-p,v.right+p),anchorY:i}}(r);if("number"==typeof S){let e=x.height+1,s=(m||L).call(i,y,e,r,i,[b,S]);t.push({align:A?0:void 0,anchorX:b,anchorY:S,boxWidth:y,point:r,rank:tk(s.rank,+!!h),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!A&&E.some(t=>{let{outside:e}=i,s=(e?S:0)+t.anchorX;return s<v.left&&s+t.boxWidth<v.right||s<S-v.left+t.boxWidth&&v.right-s>s})&&(E=E.map(t=>{let{x:e,y:i}=L.call(this,t.boxWidth,t.size,t.point,void 0,[t.anchorX,t.anchorY],!1);return Q(t,{target:i,x:e})})),i.cleanSplit(),ir(E,O);let D={left:S,right:S};
2E.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&S+e<D.left&&(D.left=S+e),!o&&i.outside&&D.left+s>D.right&&(D.right=S+e))}),E.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:n}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+T+(g&&f.y||0),anchorX:s,anchorY:o};if(i.outside&&e<s){let t=S-D.left;t>0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(D.right-D.left)/2,a.anchorX=s+t))}t.tt.attr(a)});let{container:I,outside:B,renderer:N}=i;if(B&&I&&N){let{width:t,height:e,x:i,y:s}=k.getBBox();N.setSize(t+i,e+s,!1),I.style.left=D.left+"px",I.style.top=C+"px"}io&&k.attr({opacity:1===k.opacity?.999:1})}drawTracker(){let t=this;if(!this.shouldStickOnContact()){t.tracker&&(t.tracker=t.tracker.destroy());return}let e=t.chart,i=t.label,s=t.shared?e.hoverPoints:e.hoverPoint;if(!i||!s)return;let o={x:0,y:0,width:0,height:0},r=this.getAnchor(s),n=i.getBBox();r[0]+=e.plotLeft-(i.translateX||0),r[1]+=e.plotTop-(i.translateY||0),o.x=Math.min(0,r[0]),o.y=Math.min(0,r[1]),o.width=r[0]<0?Math.max(Math.abs(r[0]),n.width-r[0]):Math.max(Math.abs(r[0]),n.width),o.height=r[1]<0?Math.max(Math.abs(r[1]),n.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),n.height),t.tracker?t.tracker.attr(o):(t.tracker=i.renderer.rect(o).addClass("highcharts-tracker").add(i),H(t.tracker.element,"mouseenter",()=>ia(t)),e.styledMode||t.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o?.dateTime,n={isFooter:e,point:t},a=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return te(this,"headerFormatter",n,function(e){if(r&&!a&&tc(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a){if(tf(a)){let t=a;ii[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}
2(t.tooltipDateKeys||["key"]).forEach(t=>{l=l.replace(RegExp("point\\."+t+"([ \\)}])"),`(point.${t}:${a})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=it(l,t,this.chart)}),n.text||""}update(t){this.destroy(),this.init(this.chart,tm(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:n}=this,{height:a=0,width:l=0}=this.getLabel(),{fixed:h,positioner:d}=o,{left:c,top:p,scaleX:u,scaleY:g}=r.getChartPosition(),f=(d||h&&this.getFixedPosition||this.getPosition).call(this,l,a,t,this),m=R.doc,x=(t.plotX||0)+e.plotLeft,y=(t.plotY||0)+e.plotTop,b;if(n&&i){let{scrollLeft:t=0,scrollTop:r=0}=e.scrollablePlotArea?.scrollingContainer||{};f.x+=t+c,f.y+=r+p,b=(o.borderWidth||0)+2*s+2,n.setSize(X(l+b,0,m.documentElement.clientWidth)-1,a+b,!1),(1!==u||1!==g)&&($(i,{transform:`scale(${u}, ${g})`}),x*=u,y*=g),x+=c-f.x,y+=p-f.y}this.move(Math.round(f.x),Math.round(f.y||0),x,y)}}(p=il||(il={})).compose=function(t){tM(ie,"Core.Tooltip")&&H(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new p(t,t.options.tooltip,this))})};let ih=il,{animObject:id}=t1,{defaultOptions:ic}=tU,{format:ip}=er;class iu{constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=tR()),this.resolveColor(),this.dataLabelOnNull??(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,this.category=t.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,te(this,"afterInit")}animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(Q({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return Q(this,t=iu.prototype.optionsToObject.call(this,t)),this.options?this.options=i.chart.options.chart.allowMutatingData?Q(this.options,t):tm(this.options,t):this.options=t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=iu.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():tc(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),tc(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=id(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(tA(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),J(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),tO(n,r.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t?.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),te(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative&&!1!==this.series.options.negativeColor?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone?.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){if(t)return 0===t.indexOf("custom.")?tr(t,this.options):this[t]}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(tc(this.x)||this.x instanceof Date)&&tc(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},n,a=0,l=0;if(tc(t)||null===t)r[s[0]]=t;else if(tu(t))for(!i&&t.length>
2o&&("string"==(n=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===n&&(r.x=t[0]),a++);l<o;)i&&void 0===t[a]||(s[l].indexOf(".")>0?iu.prototype.setNestedProperty(r,t[a],s[l]):r[s[l]]=t[a]),a++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,l=0;if(tc(i)&&tc(e))return t&&(a=r?r.pos:o.plotLeft,l=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,n;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=tk(this.options.colorIndex,n),this.color=tk(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:tf(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:n=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||n)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+n)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),ip(t,this,e)}update(t,e,i,s){let o,r=this,n=r.series,a=r.graphic,l=n.chart,h=n.options,d=h.data;function c(){r.applyOptions(t);let s=a&&r.hasMockGraphic,c=null===r.y?!s:s;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),tf(t,!0)&&(a?.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let p={};for(let t of n.dataColumnKeys())p[t]=r[t];n.dataTable.setRow(p,o),d&&!n.processedData&&(d[o]=tf(d[o],!0)||tf(t,!0)?r.options:t??d[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=tk(e,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=tk(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
vendor: 4,569 bytes, line 2
2h(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=tm(this.series.options.point,this.options),i=e.events?.[t];tg(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=H(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(tA(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=ic.plotOptions[i.type].marker&&i.options.marker,n=r&&!1===r.enabled,a=r?.states?.[t||"normal"]||{},l=!1===a.enabled,h=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(l||n&&!1===a.enabled)||t&&h.states&&h.states[t]&&!1===h.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=tk(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&tc(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,tk(d.options.chart.animation,a.animation,r.animation)),m&&m.hide()}else t&&a&&(x=h.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height,tm(r,a)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b?.visibility||"inherit";y?.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+tk(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(Q({fill:this.color||i.color,"fill-opacity":y.opacity},t4.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),te(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(V(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let ig=iu,{parse:im}=tK,{charts:ix,composed:iy,isTouchDevice:ib}=R,iv=(t,e)=>!_(e)||t[`${e}Key`];class ik{applyInactiveState(t=[]){let e=[];for(let i of(t.forEach(t=>{let i=t.series;e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&e.push.apply(e,i.linkedSeries),i.navigatorSeries&&e.push(i.navigatorSeries),i.boosted&&i.markerGroup&&e.push.apply(e,this.chart.series.filter(t=>t.markerGroup===i.markerGroup))}),this.chart.series)){let t=i.options;t.states?.inactive?.enabled!==!1&&(-1===e.indexOf(i)?i.setState("inactive",!0):t.inactiveOtherPoints&&i.setAllPointsToState("inactive"))}}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!R.chartCount&&(ik.unbindDocumentMouseUp.forEach(t=>t.unbind()),ik.unbindDocumentMouseUp.length=0,ik.unbindDocumentTouchEnd&&(ik.unbindDocumentTouchEnd=ik.unbindDocumentTouchEnd())),ty(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return te(this,"getSelectionMarkerAttrs",i,i=>{let s,{chart:o,zoomHor:r,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=n?1:o.plotHeight,r&&(h.width=Math.max(1,Math.abs(s=t-a)),h.x=(s>0?0:s)+a),n&&(h.height=Math.max(1,Math.abs(s=e-l)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}
vendor: 9,196 bytes, line 2
2=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:n}=e.options.chart,a=e.plotLeft,l=e.plotTop,h=e.plotWidth,d=e.plotHeight,c=tf(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(u<a?u=a:u>a+h&&(u=a+h),g<l?g=l:g>l+d&&(g=l+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){f=e.isInsidePlot(i-a,s-l,{visiblePlotOnly:!0});let{shapeType:h,attrs:d}=this.getSelectionMarkerAttrs(u,g);this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[h](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:n||im("#334eff").setOpacity(.25).get()})),m&&m.attr(d),f&&!m&&c&&iv(t,r)&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return te(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}tc(i.index)&&(this.selectionMarker=s.destroy())}i&&tc(i.index)&&($(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){var o;let r,n,a,l=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),h=t.searchPoint(i,l);tf(h,!0)&&h.series&&(!tf(s,!0)||(r=(o=s).distX-h.distX,n=o.dist-h.dist,a=h.series.group?.zIndex-o.series.group?.zIndex,(0!==r&&e?r:0!==n?n:0!==a?a:o.series.index>h.series.index?-1:1)>0))&&(s=h)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&tc(o.x)&&tc(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o?.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=tb(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n=[],a=function(t){return t.visible&&!(!o&&t.directTouch)&&tk(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};te(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||a)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c?.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):a(t)&&!t.noSharedTooltip})).forEach(function(t){let e=t.options?.nullInteraction,i=ta(t.points,function(t){return t.x===c.x&&(!t.isNull||!!e)});tf(i)&&(t.boosted&&t.boost&&(i=t.boost.getPoint(i)),n.push(i))}):n.push(c)),te(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:n}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=j(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),te(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):tk(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return Q(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(te(i.series,"click",Q(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(Q(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&te(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),R.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=ix[tk(ik.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.exporting?.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!i?.shouldStickOnContact(s)&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){t?.touches&&this.hasPinchMoved&&t?.preventDefault?.(),ix[tk(ik.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),n=r.length,a=1===n&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===n&&tk(l?.options.followTouchMove,!0);n>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(te(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n?.shared?r:o;t&&a&&tT(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&tT(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip?.options.enabled?s.tooltip:void 0,n=!!r&&r.shared,a=e||s.hoverPoint,l=a?.series||s.hoverSeries,h=(!t||"touchmove"!==t.type)&&(!!e||l?.directTouch&&this.isDirectTouch),d=this.getHoverData(a,l,o,h,n,t);a=d.hoverPoint,l=d.hoverSeries;let c=d.hoverPoints,p=l?.tooltipOptions.followPointer&&!l.tooltipOptions.split,u=n&&l&&!l.noSharedTooltip;if(a&&(i||a!==s.hoverPoint||r?.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!a.series)return;s.hoverPoints=c,s.hoverPoint=a,a.firePointEvent("mouseOver",void 0,()=>{r&&a&&r.refresh(u?c:a,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=H(s.container.ownerDocument,"mousemove",t=>ix[ik.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEac
vendor: 5,334 bytes, line 2
2h(function(e){let i,o=e.crosshair?.snap??!0;o&&((i=s.hoverPoint)&&i.series[e.coll]===e||(i=ta(c,t=>t.series?.[e.coll]===e))),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=t=>t.parentElement||t.getRootNode()?.host?.parentElement;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(H(t,"mouseenter",this.onContainerMouseEnter.bind(this)),H(t,"mouseleave",this.onContainerMouseLeave.bind(this))),ik.unbindDocumentMouseUp.some(t=>t.doc===e)||ik.unbindDocumentMouseUp.push({doc:e,unbind:H(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&"BODY"!==s.tagName;)this.eventsToUnbind.push(H(s,"scroll",()=>{delete this.chartPosition})),s=i(s);this.eventsToUnbind.push(H(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),H(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),ik.unbindDocumentTouchEnd||(ik.unbindDocumentTouchEnd=H(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),H(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!ib)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=tk(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(H(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),H(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||$(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||$(i,{"touch-action":tk(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=R.charts[tk(ik.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i?.mouseIsDown||(ik.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.exporting?.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(this.hasPinchMoved=i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),tk(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=tk(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=(o||r)&&iv(t,e.zooming.key)}}ik.unbindDocumentMouseUp=[],(u=ik||(ik={})).compose=function(t){tM(iy,"Core.Pointer")&&H(t,"beforeRender",function(){this.pointer=new u(this,this.options)})};let iw=ik,{setLength:iM,splice:iS}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,o=[]){if(Array.isArray(t))return Array.isArray(o)||(o=Array.from(o)),{removed:t.splice(e,i,...o),array:t};let r=Object.getPrototypeOf(t).constructor,n=t[s?"subarray":"slice"](e,e+i),a=new r(t.length-i+o.length);return a.set(t.subarray(0,e),0),a.set(o,e),a.set(t.subarray(e+i),e+o.length),{removed:n,array:a}}},iC=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||tR(),this.rowCount=0,this.versionTag=tR();let e=0;ty(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,ty(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=iM(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;ty(this.columns,(s,o)=>{this.columns[o]=iS(s,t,e).array,i=s.length}),this.rowCount=i}te(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=tR()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;ty(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(te(this,"afterSetColumns"),this.versionTag=tR())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1,n=Object.keys(t);if(s?.addColumns!==!1)for(let t=0,e=n.length;t<e;t++){let e=n[t];o[e]||(o[e]=[])}ty(o,(n,a)=>{n||s?.addColumns===!1||(n=Array(r)),n&&(i?n=iS(n,e,0,!0,[t[a]??null]).array:n[e]=t[a]??null,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(te(this,"afterSetRows"),this.versionTag=tR())}getModified(){return this.modified||this}};var iA=A||(A={});function iT(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}
vendor: 2,597 bytes, line 2
2=this,{baseline:n=0,symbolWidth:a,symbolHeight:l}=t,h=this.symbol||"circle",d=l/2,c=o.renderer,p=s.group,u=n-Math.round((t.fontMetrics?.b||l)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"!==r.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),a)/2),a){let t=[["M",x,u],["L",a-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",a-x,n],["L",x,n]]})}if(m&&!1!==m.enabled&&a){let t=Math.min(tk(m.radius,d),d);0===h.indexOf("url")&&(m=tm(m,{width:l,height:l}),t=0),s.symbol=f=c.symbol(h,a/2-t,u-t,2*t,2*t,Q({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}iA.areaMarker=function(t,e){iT.call(this,t,e,!0)},iA.lineMarker=iT;let iP=A,{defaultOptions:iO}=tU;var iL=T||(T={});function iE(t,e){let i=iO.plotOptions||{},s=e.defaultOptions,o=e.prototype;return o.type=t,o.pointClass||(o.pointClass=ig),!iL.seriesTypes[t]&&(s&&(i[t]=s),iL.seriesTypes[t]=e,!0)}iL.seriesTypes=R.seriesTypes,iL.registerSeriesType=iE,iL.seriesType=function(t,e,i,s,o){let r=iO.plotOptions||{};if(e=e||"",r[t]=tm(r[e],i),delete iL.seriesTypes[t],iE(t,tt(iL.seriesTypes[e]||R.Series,s)),iL.seriesTypes[t].prototype.type=t,o){class e extends ig{}Q(e.prototype,o),iL.seriesTypes[t].prototype.pointClass=e}return iL.seriesTypes[t]};let iD=T,{animObject:iI,setAnimation:iB}=t1,{defaultOptions:iN}=tU,{registerEventOptions:iR}=e_,{svg:iz,win:iW}=R,{seriesTypes:iH}=iD,{format:iF}=er;class iG{constructor(){this.zoneAxis="y"}init(t,e){let i;te(this,"init",{options:e}),this.dataTable??(this.dataTable=new iC);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),Q(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),iR(this,o);let n=o.events;(n?.click||o.point?.events?.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=tk(i?._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",tB(this,s)),o.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),te(this,"afterInit")}is(t){return iH[t]&&this instanceof iH[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;te(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,
2(tk(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(tB(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||tI(18,!0,s)})}),te(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,n=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=tk(this.pointInterval,i.pointInterval,1),o&&tc(t)&&(e*=t),s){let t=r.toParts(n);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-n}return o&&tc(t)?n+e:(this.xIncrement=n+e,n)}setDataSortingOptions(){let t=this.options;Q(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),_(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=tm(t),n=i.styledMode,a={plotOptions:s,userOptions:r};te(this,"setOptions",a);let l=a.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=iN.plotOptions[this.type]||{},p=h[this.type]||{};l.dataLabels=this.mergeArrays(c.dataLabels,l.dataLabels),this.userOptions=a.userOptions;let u=tm(l,s.series,p,r);this.tooltipOptions=tm(iN.tooltip,iN.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=tk(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===l.marker&&delete u.marker;let{negativeColor:g,negativeFillColor:f,zoneAxis:m="y",zones:x}=u,y=this.zones=(x||[]).map(t=>({...t}));return this.zoneAxis=m,(g||f)&&!x&&(e={value:u[m+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||("boolean"!=typeof g&&(e.color=g),e.fillColor=f),y.push(e)),y.length&&_(y[y.length-1].value)&&y.push(n?{}:{color:this.color,fillColor:this.fillColor}),te(this,"afterSetOptions",{options:u}),u}getName(){return this.options.name??iF(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,o,r=this.chart,n=`${t}Index`,a=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(_(o=tk("color"===t?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||iN.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.getModified():this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o,{id:r,x:n}=t,a=this.points,l=this.options.dataSorting,h=this.cropStart||0;if(r){let t=this.chart.get(r);t instanceof ig&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(l?.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=ta(a,e)))return}return i&&void 0!==(o=i?.index)&&(s=!0),void 0===o&&tc(n)&&(o=this.getColumn("x").indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=h?o-h:o),!s&&tc(o)&&a[o]?.touched&&(o=void 0),o}updateData(t,e){let{options:i,requireSorting:s}=this,o=i.dataSorting,r=this.points,n=[],a=t.length===r.length,l=this.xIncrement,h,d,c,p,u=!0;if(this.xIncrement=null,t.forEach((t,e)=>{let l,d=_(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},{id:c,x:u}=d;c||tc(u)?(-1===(l=this.findPointIndex(d,p))||void 0===l?n.push(t):r[l]&&t!==i.data?.[l]?(r[l].update(t,!1,void 0,!1),r[l].touched=!0,s&&(p=l+1)):r[l]&&(r[l].touched=!0),(!a||e!==l||o?.enabled||this.hasDerivedData)&&(h=!0)):n.push(t)},this),h)for(d=r.length;d--;)(c=r[d])&&!c.touched&&c.remove?.(!1,e);else a&&!o?.enabled?(t.forEach((t,e)=>{t===r[e].y||r[e].destroyed||r[e].update(t,!1,void 0,!1)}),n.length=0):u=!1;if(r.forEach(t=>{t&&(t.touched=!1)}),!u)return!1;
2n.forEach(t=>{this.addPoint(t,!1,void 0,void 0,!1)},this);let g=this.getColumn("x");return null!==l&&null===this.xIncrement&&g.length&&(this.xIncrement=G(g),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o?.length||0,n=this.options,a=this.chart,l=n.dataSorting,h=this.xAxis,d=n.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,f=n.keys,m,x,y=0,b=1,v;a.options.chart.allowMutatingData||(n.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=tm(!0,t));let k=(t=v||t||[]).length;if(l?.enabled&&(t=this.sortData(t)),!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&!n.relativeXValue&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(tu(t)&&(f||tc(t[0])));if(tc(i)&&tc(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s))if(g){let e=+(i.length===g),s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];for(let i of t)y===b?e.push(this.autoIncrement()):e.push(i[y]??i.x??null),s.push(i[b]??i.y??null);c.setColumns({x:e,[u]:s})}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m<k;m++){let i=this.pointClass.prototype.applyOptions.apply({series:this},[t[m]]);for(let t of p)e[t][m]=i[t]}c.setColumns(e)}for(tp(this.getColumn("y")[0])&&tI(14,!0,a),this.data=[],this.options.data=this.userOptions.data=t,m=r;m--;)o[m]?.destroy();h&&(h.minRange=h.userMinRange),this.isDirty=a.isDirtyBox=!0,this.isDirtyData=!!o,i=!1}"point"===n.legendType&&(this.processData(),this.generatePoints()),e&&a.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return _(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=tr(i,t),o=tr(i,e);return o<s?-1:+(o>s)}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;!i.dataSorting?.enabled&&o&&(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,n=o.cropThreshold,a=t||e.getExtremesFromAll,l=r?.logarithmic,h=i.rowCount,d,c,p=0,u,g,f,m=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,f=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!a&&(!n||h>n||e.forceCrop)&&(m[h-1]<g||m[0]>f?x=new iC:e.getColumn(e.pointValKey||"y").length&&(m[0]<g||m[h-1]>f)&&(x=(d=this.cropData(i,g,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:ts([l?m.map(l.log2lin):m],()=>e.requireSorting&&!y&&tI(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,te(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},n,a,l=0,h=o;for(n=0;n<o;n++)if(s[n]>=e){l=Math.max(0,n-1);break}for(a=n;a<o;a++)if(s[a]>i){h=a+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(l,h))}return{modified:new iC({columns:r}),start:l,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.getModified(),s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,n=this.cropStart||0,a=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping?.groupAll?n:0,c=this.pointArrayMap||["y"],p=this.dataColumnKeys(),u,g,f,m,x=this.data,y;if(!x&&!a){let t=[];t.length=e?.length||0,x=this.data=t}for(l&&a&&(this.options.keys=!1),m=0;m<r;m++)g=n+m,a?((f=new o(this,i.getRow(m,p)||[])).dataGroup=this.groupMap?.[d+m],f.dataGroup?.options&&(f.options=f.dataGroup.options,Q(f,f.dataGroup.options),delete f.dataLabels,f.key=f.name??f.category)):(f=x[g],y=e?e[g]:i.getRow(m,c),f||void 0===y?f&&(f.category=this.xAxis?.categories?.[f.x]??f.x,f.key=f.name??f.category):x[g]=f=new o(this,y,s[m])),f&&(f.index=a?d+m:g,h[m]=f);if(this.options.keys=l,x&&(r!==(u=x.length)||a))for(m=0;m<u;m++)m!==n||a||(m+=r),x[m]&&(x[m].destroyElements(),x[m].plotX=void 0);this.data=x,this.points=h,te(this,"afterGeneratePoints")}getXExtremes(t){return{min:F(t),max:G(t)}}getExtremes(t,e){let{xAxis:i,yAxis:s}=this,o=e||this.getExtremesFromAll||this.options.getExtremesFromAll,r=o&&this.cropped?this.dataTable:this.dataTable.getModified(),n=r.rowCount,a=t||this.stackedYData,l=a?[a]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(t=>r.getColumn(t,!0)||[])||[],h=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,f,m,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),m=0;m<n;m++)if(f=h[m],u||(h[m+c]||f)>=x&&(h[m-c]||f)<=y)for(let t of l){let e=t[m];tc(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:F(d),dataMax:G(d)};return te(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(_(t[o]))return t[o];o+=i}}translate(){this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=this.enabledDataSorting,o=this.yAxis,r=this.points,n=r.length,a=this.pointPlacementToXValue(),l=!!a,h=t.threshold,d=t.startFromThreshold?h:0,c=t?.nullInteraction&&o.len,p,u,g,f,m=Number.MAX_VALUE;function x(t){return X(t,-1e9,1e9)}for(p=0;p<n;p++){let t,n=r[p],y=n.x,b,v,k=n.y,w=n.low,M=e&&o.stacking?.stacks[(this.negStacks&&k<(d?0:h)?"-":"")+this.stackKey];n.plotX=tc(u=i.translate(y,!1,!1,!1,!0,a))?Y(x(u)):void 0,e&&this.visible&&M&&M[y]&&(f=this.getStackIndicator(f,y,this.index),!n.isNull&&f.key&&(v=(b=M[y]).points[f.key]),b&&tu(v)&&(w=v[0],k=v[1],w===d&&f.key===M[y].base&&(w=tk(tc(h)?h:o.min)),o.positiveValuesOnly&&_(w)&&w<=0&&(w=void 0),n.total=n.stackTotal=tk(b.total),n.percentage=_(n.y)&&b.total?n.y/b.total*100:void 0,n.stackY=k,this.irregularWidths||b.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),n.yBottom=_(w)?x(o.translate(w,!1,!0,!1,!0)):void 0,this.dataModify&&(k=this.dataModify.modifyValue(k,p)),tc(k)&&void 0!==n.plotX?t=tc(t=o.translate(k,!1,!0,!1,!0))?x(t):void 0:!tc(k)&&c&&(t=c),n.plotY=t,n.isInside=this.isPointInside(n),n.clientX=l?Y(i.translate(y,!1,!1,!1,!0,a)):u,n.negative=(n.y||0)<(h||0),n.isNull||!1===n.visible||(void 0!==g&&(m=Math.min(m,Math.abs(u-g))),g=u),n.zone=this.zones.length?n.getZone():void 0,!n.graphic&&this.group&&s&&(n.isNew=!0)}this.closestPointRangePx=m,te(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return(!!i||!t.isNull&&!!tc(r))&&(!e||!!s.isInsidePlot(o,r,{inverted:s.inverted}))&&!1!==t.visible})}
2getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=t.getClipBox(this),n=this.getSharedClipKey(),a=s[n];te(this,"setClip",{clipBox:r}),a?a.animate(r):s[n]=a=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:a),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=iI(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),a=e.sharedClips[n],l=e.sharedClips[n+"m"];if(t&&i){let t=e.getClipBox(this);if(a)a.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),a=e.renderer.clipRect(t),e.sharedClips[n]=a;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[n+"m"]=l}i.clip(a),s?.clip(l)}else if(a&&!a.hasClass("highcharts-animating")){let t=e.getClipBox(this),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),ty(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,te(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a,l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=c.nullInteraction,g=this[this.specialGroup||"markerGroup"],f=this.xAxis,m=tk(p.enabled,!f||!!f.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++){o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},n=!!i.marker;let c=i.isNull;if((m&&!_(r.enabled)||r.enabled)&&(!c||u)&&!1!==i.visible){let t=tk(r.symbol,this.symbol,"rect");a=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=f.reversed?-(a.width||0):f.width);let e=!1!==i.isInside;if(!s&&e&&((a.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,a.x,a.y,a.width,a.height,n?r:p).add(g),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,n={},a,l,h=tk(o.radius,s?.radius);e&&(a=s?.states?.[e],l=o.states?.[e],h=tk(l?.radius,a?.radius,h&&h+(a?.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return tc(h)&&d&&(i.crisp&&(d[0]=V(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),n.x=d[0]-h,n.y=d[1]-h),h&&(n.width=n.height=2*h),n}pointAttribs(t,e){let i=this.options,s=i.marker,o=t?.options,r=o?.marker||{},n=o?.color,a=t?.color,l=t?.zone?.color,h,d,c=this.color,p,u,g=tk(r.lineWidth,s.lineWidth),f=t?.isNull&&i.nullInteraction?0:1;return c=n||l||a||c,p=r.fillColor||s.fillColor||c,u=r.lineColor||s.lineColor||c,e=e||"normal",h=s.states[e]||{},g=tk((d=r.states&&r.states[e]||{}).lineWidth,h.lineWidth,g+tk(d.lineWidthPlus,h.lineWidthPlus,0)),p=d.fillColor||h.fillColor||p,{stroke:u=d.lineColor||h.lineColor||u,"stroke-width":g,fill:p,opacity:f=tk(d.opacity,h.opacity,f)}}destroy(t){let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(iW.navigator.userAgent),n=s.data||[];for(te(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(t){i=s[t],i?.series&&(J(i.series,s),i.isDirty=i.forceRedraw=!0)}),s.legendItem&&s.chart.legend.destroyItem(s),e=n.length;e--;)n[e]?.destroy?.();for(let t of s.zones)K(t,void 0,!0);tl(s.animationTimeout),ty(s,function(t,e){t instanceof ey&&!t.survive&&t[r&&"group"===e?"hide":"destroy"]()}),o.hoverSeries===s&&(o.hoverSeries=void 0),J(o.series,s),o.orderItems("series"),ty(s,function(e,i){t&&"hcEvents"===i||delete s[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:l,renderer:h}=e,d=this[`${a}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<g?i-g*(r<=0?-1:1):s])};if(s.length&&(i||t)&&d&&tc(d.min)){let e=d.getExtremes().max+u,g=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=X(d.toPixels(tk(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&f(o,e,i),r&&f(r,e,i)}let m=[],x=d.toPixels(d.getExtremes().min-u,!0);
vendor: 4,680 bytes, line 2
2s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:d}=e,p=0,u=0,f=r.len,y=n.len;c?(p=o,f=x):(u=o,y=x);let b=[["M",p,u],["L",f,u],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,l&&(g(v),t&&g(b)),a?(a.animate({d:v}),d?.animate({d:b})):(a=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(b))),i&&e.graph?.clip(a),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return _(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(_(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;s.inverted&&(e=i,i=this.xAxis);let r={scale:1,translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,name:t};te(this,"getPlotBox",r);let{scale:n,translateX:a,translateY:l}=r;return{translateX:a,translateY:l,rotation:90*!!o,rotationOriginX:o?n*(e.len-i.len)/2:0,rotationOriginY:o?n*(e.len+i.len)/2:0,scaleX:o?-n:n,scaleY:n}}removeEvents(t){let{eventsToUnbind:e}=this;t||tA(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=iI(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:o.duration;te(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=tO(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,te(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options,s=i.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,tO(function(){e.kdTree=function t(i,s,o){let r,n,a=i?.length;if(a)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,o),right:t(i.slice(n+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[n,a]=this.kdAxisArray,l=e?"distX":"dist",h=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>{let s=t[i]||0,o=e[i]||0;return[s===o&&t.index>e.index||s<o?t:e,!1]}),p=o||((t,e)=>t<e);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){let h,u,g,f,m,x,y,b=i.point,v=r.kdAxisArray[s%o],k=b,w=!1;h=e[n],u=b[n],g=_(h)&&_(u)?h-u:null,f=e[a],m=b[a],x=_(f)&&_(m)?f-m:0,y=d&&b.marker?.radius||0,b.dist=Math.sqrt((g&&g*g||0)+x*x)-y,b.distX=_(g)?Math.abs(g)-y:Number.MAX_VALUE;let M=(e[v]||0)-(b[v]||0)+(d&&b.marker?.radius||0),S=M<0?"left":"right",C=M<0?"right":"left";return i[S]&&([k,w]=c(b,t(e,i[S],s+1,o),l)),i[C]&&p(Math.sqrt(M*M),k[l],w)&&(k=c(k,t(e,i[C],s+1,o),l)[0]),k}(t,this.kdTree,h,h)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),tc(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(iz?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}
2),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),te(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n,a=this.options,{chart:l,data:h,dataTable:d,xAxis:c}=this,p=c?.hasNames&&c.names,u=a.data,g=this.getColumn("x");e=tk(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(n=g.length,this.requireSorting&&m<g[n-1])for(r=!0;n&&g[n-1]>m;)n--;d.setRow(f,n,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):([h,u].filter(_).forEach(t=>{t.shift()}),d.deleteRows(0))),!1!==o&&te(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:n,dataTable:a}=s,l=r[t],h=function(){[n?.length===r.length?n:void 0,r,s.options.data].filter(_).forEach(e=>{e.splice(t,1)}),a.deleteRows(t),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};iB(i,o),e=tk(e,!0),l?l.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),tk(t,!0)&&r.redraw(e)}!1!==i?te(o,"remove",null,n):n()}update(t,e){te(this,"update",{options:t=Z(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,n=s.options.plotOptions,a=iH[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=iG.keepProps.slice(),u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push.apply(p,iG.keepPropsForPoints),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&Q(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&o.dataLabels&&(t.dataLabels=this.mergeArrays(o.dataLabels,t.dataLabels)),t=tm(o,{index:void 0===o.index?i.index:o.index,pointStart:n?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(iH[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,iH[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in a)i[c]=void 0;Q(i,iH[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}else tI(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t?.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),te(this,"afterUpdate"),tk(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=tk(s?.[this.type]?.[t],s?.series?.[t]);return o&&!_(r)?i!==o:i!==tk(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&te(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&te(this,"mouseOut"),i&&
vendor: 8,636 bytes, line 2
2!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,{graph:s,options:o}=i,{inactiveOtherPoints:r,states:n}=o,a=tk(n?.[t||"normal"]?.animation,i.chart.options.chart.animation),{lineWidth:l,opacity:h}=o;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]?.enabled===!1)return;if(t&&(l=n[t].lineWidth||l+(n[t].lineWidthPlus||0),h=tk(n[t].opacity,h)),s&&!s.dashstyle&&tc(l))for(let t of[s,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach(function(t){t?.animate({opacity:h},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let n=t?"show":"hide";["group","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[n]()}),i.dataLabelsGroups?.forEach(t=>{t?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),te(i,n),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),te(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){let i=this.chart.renderer,s=this.options.legendSymbol||"rectangle",o=e.legendItem||{},{options:r,symbolHeight:n,symbolWidth:a}=t,l=r.squareSymbol,h=l?n:a,d=l?(a-n)/2:0,c=(t.baseline||0)-n+1,p=r.symbolRadius??n,u="rectangle"===s?i.rect(d,c,h,n,p):i.symbols[s]&&i.symbol(s,d,c,h,n,{r:p});u?o.symbol=u.addClass("highcharts-point").attr({zIndex:3}).add(o.group):iP[s]?.call(this,t,e)}}iG.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",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:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},iG.types=iD.seriesTypes,iG.registerType=iD.registerSeriesType,iG.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],iG.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],Q(iG.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:ig,requireSorting:!0,sorted:!0}),iD.series=iG;let ij=iG,{animObject:iX,setAnimation:iY}=t1,{registerEventOptions:iU}=e_,{composed:iV,marginNames:i$}=R,{distribute:i_}=ea,{format:iK}=er;class iq{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),iU(this,e),H(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),H(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=tk(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=tm(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=tk(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(tm(!0,this.options,t)),"events"in this.options&&iU(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,tk(e,!0)&&i.redraw(),te(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:n,symbol:a}=t.legendItem||{};if((t instanceof ij||t instanceof ig)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(tm(e?this.itemStyle:i)),n?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}t.color=i,te(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e?.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s},a=()=>{te(this,"afterPositionItem",{item:t})};e[_(e.translateY)?"animate":"attr"](o,void 0,a)}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.legendItem||{};for(let t of["group","label","line","symbol"])e[t]&&(e[t]=e[t].destroy());t.checkbox=q(t.checkbox),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group?.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r,n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,$(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?iK(e.labelFormat,t,this.chart):e.labelFormatter.call(t,t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,n=this.symbolWidth,a=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,d=r?tk(o.itemDistance,20):0,c=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,f=!!this.createCheckboxForItem&&g&&g.showCheckbox,m=o.useHTML,x=t.options.className,y=e.label,b=n+a+d+20*!!f;!y&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(x?" "+x:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=y=s.text("",c?n+a:-a,this.baseline||0,m),i.styledMode||y.css(tm(t.visible?l:h)),y.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(y),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,y.attr("y",this.baseline),this.symbolHeight=tk(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
vendor: 1,958 bytes, line 2
2dth=tk(o.symbolWidth,Math.max(this.symbolHeight,16)),b=this.symbolWidth+a+d+20*!!f,c&&y.attr("x",this.symbolWidth+a))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,y,m)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&y.css({width:Math.min(o.itemWidth||this.widthOption||i.spacingBox.width,o.maxWidth?tS(o.maxWidth,i.chartWidth):1/0)-b+"px"}),this.setText(t);let v=y.getBBox(),k=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+b,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?tk(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=n+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e?.options;e&&tk(i.showInLegend,!_(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||("point"===i.legendType?e.data:e)))}),te(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 10,890 bytes, line 2
2h((r,n)=>{r.test(o)&&!_(t[n])&&(i[i$[n]]=Math.max(i[i$[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+(s.margin??12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,n=s,a,l;t.yAxis&&(t.xAxis.options.reversed&&(n=!n),t.points&&(o=ta(n?t.points:t.points.slice(0).reverse(),function(t){return tc(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,a=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:a,size:r,item:t}))},this),i_(i,e.plotHeight)))t=o.item.legendItem||{},tc(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.spacingBox.width,i=t.renderer,s=this.options,o=this.padding,r=this.getAllItems(),n,a,l,h=this.group,d,c=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=tS(s.width,e-o),d=e-2*o-s.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(d/=2),this.maxLegendWidth=this.widthOption||d,h||(this.group=h=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=i.g().attr({zIndex:1}).add(h),this.scrollGroup=i.g().add(this.contentGroup)),this.renderTitle(),tP(r,(t,e)=>(t.options?.legendIndex||0)-(e.options?.legendIndex||0)),s.reversed&&r.reverse(),this.allItems=r,this.display=n=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(s.maxWidth?Math.min(this.widthOption||this.offsetWidth,d,tS(s.maxWidth,t.chartWidth)||1/0):this.widthOption||this.offsetWidth)+o,l=this.lastItemY+this.lastLineHeight+this.titleHeight,l=this.handleOverflow(l)+o,c||(this.box=c=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(h)),t.styledMode||c.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),a>0&&l>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:a,height:l},c.strokeWidth())),h[n?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=l=0),this.legendWidth=a,this.legendHeight=l,n&&this.align(),this.proximate||this.positionItems(),te(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=tm(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(tm(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,n="top"===o.verticalAlign,a=this.padding,l=o.maxHeight,h=o.navigation,d=tk(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?w.attr({height:t}):w&&(e.clipRect=w.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+a+"px,9999px,"+(a+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(k),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b,v=i.spacingBox.height+(n?-r:r)-a,k=this.nav,w=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(v/=2),l&&(v=Math.min(v,l)),p.length=0,t&&v>0&&t>v&&!1!==h.enabled?(this.clipHeight=m=Math.max(v-20-this.titleHeight-a,0),this.currentPage=tk(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&b&&(b.pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i),b=y}),w||(w=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(w)),g(m),k||(this.nav=k=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(k),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(k),this.down=s.symbol("triangle-down",0,0,c,c).add(k),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=v):k&&(g(),this.nav=k.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,l=this.padding,h=this.currentPage+t;h>o&&(h=o),h>0&&(void 0!==e&&iY(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:h+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===h?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:h===o?"default":"pointer"})),this.scrollOffset=-s[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),tO(()=>{te(this,"afterScroll",{currentPage:h})},iX(tk(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,n=t instanceof ig,a=t instanceof ij,l="highcharts-legend-"+(n?"point":"series")+"-active",h=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(l),h||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(tm(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(l),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(l),te(s,"itemClick",{browserEvent:e,legendItem:t,context:s},i),n?t.firePointEvent("legendItemClick",{browserEvent:e}):a&&te(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=U("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),H(t.checkbox,"click",function(e){let i=e.target;te(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}(g=iq||(iq={})).compose=function(t){tM(iV,"Core.Legend")&&H(t,"beforeMargins",function(){this.legend=new g(this,this.options.legend)})};let iZ=iq,{animate:iJ,animObject:iQ,setAnimation:i0}=t1,{defaultOptions:i1}=tU,{numberFormat:i2}=er,{registerEventOptions:i3}=e_,{charts:i5,doc:i6,marginNames:i9,svg:i4,win:i8}=R,{seriesTypes:i7}=iD;class st{static chart(t,e,i){return new st(t,e,i)}constructor(t,e,i){if(this.sharedClips={},!i6)return void tI(36,!1,this);let s=[...arguments];(tp(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:tk(t.zoomType,e.type),key:tk(t.zoomKey,e.key),pinchType:tk(t.pinchType,e.pinchType),singleTouch:tk(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:tm(e.resetButton,t.resetZoomButton)}}init(t,e){te(this,"init",{args:arguments},function(){let i=tm(i1,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=Q({},t),(this.renderTo=tp(o)?i6.getElementById(o):o)||tI(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tG(Q(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||i2).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=i5.length,i5.push(this),R.chartCount++,i3(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),te(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=i7[i];s||tI(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=tT(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?tT(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof ij&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}getClipBox(t,e){let i=this.inverted,{xAxis:s,yAxis:o}=t||{},{x:r,y:n,width:a,height:l}=tm(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(a=s.len),o&&o.len!==this.plotSizeY&&(l=o.len),i&&!t.invertible&&([a,l]=[l,a])),e&&(r+=(i?o:s)?.pos??this.plotLeft,n+=(i?s:o)?.pos??this.plotTop),{x:r,y:n,width:a,height:l}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:n,scrollablePlotBox:a}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&a||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+u:n+u;e>=Math.max(h+n,t.pos)&&e<=Math.min(h+n+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return te(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){te(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,n=this.renderer,a=n.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(n.rootFontSize=n.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),i0(!!this.hasRendered&&t,this),a&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);
vendor: 4,895 bytes, line 2
2i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&te(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){te(t,"afterSetExtremes",Q(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),te(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),n.draw(),te(this,"redraw"),te(this,"render"),a&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=ta(this.axes,i)||ta(this.series,i);for(let t=0;!s&&t<e.length;t++)s=ta(e[t].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(te(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=tT(t[e]||{}))new e5(this,i,e);te(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{tk(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=tm(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(Q("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],n=tm(o),a=i?.textPxLength||0;if(i&&r){te(this,"layOutTitle",{alignTo:n,key:t,textPxLength:a});let o=s.fontMetrics(i),l=o.b,h=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(n.width/a,1),f=Math.max(p,g),m=tm({y:"bottom"===d?l:u+l},r),x=(r.width||(g>p?this.chartWidth:n.width)/f)+"px";m.align??(m.align="title"===t?g<p?"left":"center":this.title?.alignValue),i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:x}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,n).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${n.x+a*f*ti(m.align)} ${h}`}),!r.floating){let t=y*(y<1.2*h?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,te(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:tn(this.renderTo,"width",!0)||0,height:tn(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,tS(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e?.style;)e.hcOrigStyle&&($(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(i6.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e?.style&&(i6.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,i6.body.appendChild(e)),("none"===tn(e,"display",!1)||e.hcOrigDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),$(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==i6.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=tR(),r=this.renderTo,n=tw(j(r,s));tc(n)&&i5[n]&&i5[n].hasRendered&&i5[n].destroy(),j(r,s,this.index),r.innerHTML=t4.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();
vendor: 4,140 bytes, line 2
2let a=this.chartHeight,l=this.chartWidth;$(r,{overflow:"hidden"}),this.styledMode||(t=Q({position:"relative",overflow:"hidden",width:l+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let h=U("div",{id:o},t,r);this.container=h,this.getChartSize(),l!==this.chartWidth&&(l=this.chartWidth,this.styledMode||$(h,{width:tk(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=h.style.cursor;let d=i.renderer||!i4?en.getRendererType(i.renderer):eF;if(this.renderer=new d(h,l,a,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode),i0(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,te(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!_(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!_(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.display&&this.legend.adjustMargins(i,e),te(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=t=>{t.forEach(t=>{t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i?.length&&o(i),i9.forEach((i,o)=>{_(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return Z(this.userOptions,i1)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.exporting?.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(tl(e.reflowTimeout),e.reflowTimeout=tO(function(){if(e.container){e.setSize(void 0,void 0,!1);let t=e.containerBox;t&&(t.height=e.chartHeight)}},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=H(i8,"resize",e);H(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,i0(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?iJ:$)(s.container,{width:`${n+l}px`,height:`${a+h}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,te(s,"resize"),setTimeout(()=>{s&&te(s,"endResize")},iQ(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:n,inverted:a,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-(this.marginRight??0))),this.plotHeight=o=Math.max(0,Math.round(r-i-(this.marginBottom??0))),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:n-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),te(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){te(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(i=>{let s=e[i],o=tf(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((s,r)=>{t[i][r]=e[`${i}${s}`]??o[r]})}),i9.forEach((e,i)=>{t[e]=t.margin[i]??t.spacing[i]}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,n=t.backgroundColor,a=t.plotBackgroun
2dColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,w="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+8*!!t.shadow,k={fill:n||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](u),!o&&(x.attr({fill:a||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp(u,-y.strokeWidth())),this.isDirtyBox=!1,te(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=i7[o.type],i=o[n]||e&&e.prototype[n],t=r?.length;!i&&t--;)(e=i7[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:s}=t.options,o=tp(s)&&(":previous"===s?i[t.index-1]:e.get(s));o&&o.linkedParent!==t&&(o.linkedSeries.push(t),t.linkedParent=o,o.enabledDataSorting&&t.setDataSortingOptions(),t.visible=t.options.visible??o.options.visible??t.visible)}),te(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,n=!0,a,l=0;for(let e of(this.setTitle(),te(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new eq(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&tk(i.reserveSpace,!tc(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(n||a||s>1)&&l<s;){let e=this.plotWidth,i=this.plotHeight,s=[1.05,1.1];for(let e of t){let t=+(e.horiz||0);if(0===l){e.setScale();let i=e.tickPositions?.info?.match;i&&(s[t]=Math.min(i,s[t]))}else(t&&n||!t&&a)&&e.setTickInterval(!0)}0===l?this.getAxisMargins():this.getMargins(),n=e/this.plotWidth>(l?1:s[1]),a=i/this.plotHeight>(l?1:s[0]),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e?.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=tm(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(t){te(e,"creditsClick",t,()=>{i.href&&(i8.location.href=i.href)})}).attr({align:i.position.align,zIndex:8}),i.events?.click&&H(e,"creditsClick",i.events.click),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,r=o?.parentNode;for(te(e,"destroy"),e.renderer.forExport?J(i5,e):i5[e.index]=void 0,R.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),tA(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller?.destroy?.(),t=s.length;t--;)s[t]=s[t].destroy();
vendor: 4,111 bytes, line 2
2["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(t=>{e[t]=e[t]?.destroy?.()}),o&&(o.innerHTML=t4.emptyHTML,tA(o),r&&q(o)),ty(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=tu(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),te(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.asyncCounter||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),te(this,"load"),te(this,"render"),_(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e?.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||tI('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}warnIfCSSNotLoaded(){this.styledMode&&"0"!==i8.getComputedStyle(this.container).zIndex&&tI(35,!1,this)}addSeries(t,e,i){let s,o=this;return t&&(e=tk(e,!0),te(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),te(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new e5(this,e.axis,t);return tk(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){let e=this,i=e.options,s=i.loading,o=s?.style??{},r=function(){n&&$(n,{left:o.left??e.plotLeft+"px",top:o.top??e.plotTop+"px",width:o.width??e.plotWidth+"px",height:o.height??e.plotHeight+"px"})},n=e.loadingDiv,a=e.loadingSpan;n||(e.loadingDiv=n=U("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),a||(e.loadingSpan=a=U("span",{className:"highcharts-loading-inner"},null,n),H(e,"redraw",r)),n.className="highcharts-loading",t4.setElementHTML(a,tk(t,i.lang.loading,"")),!e.styledMode&&($(n,Q(o,{zIndex:10})),$(a,s?.labelStyle??{}),e.loadingShown||($(n,{opacity:0,display:""}),iJ(n,{opacity:o.opacity??.5},{duration:s?.showDuration??0}))),e.loadingShown=!0,r()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||iJ(e,{opacity:0},{duration:t.loading?.hideDuration??100,complete:function(){$(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,n,a=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,d=[];te(a,"update",{options:t}),h||a.setResponsive(!1,!0),t=Z(t,a.options),a.userOptions=tm(a.userOptions,t);let c=t.chart;c&&(tm(!0,a.options.chart,c),this.setZoomOptions(),"className"in c&&a.setClassName(c.className),("inverted"in c||"polar"in c||"type"in c)&&(a.propFromSeries(),o=!0),"alignTicks"in c&&(o=!0),"events"in c&&i3(this,c),ty(c,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1!==a.propsRequireReflow.indexOf(e)&&(a.isDirtyBox=!0,h||(n=!0))}),!a.styledMode&&c.style&&a.renderer.setStyle(a.options.chart.style||{})),!a.styledMode&&t.colors&&(this.options.colors=t.colors),ty(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[l[i]]?a[l[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&tm(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}
2),this.collectionsWithUpdate.forEach(e=>{t[e]&&(tT(t[e]).forEach((t,s)=>{let o;if(!t)return;let r=_(t.id);r&&(o=a.get(t.id)),!o&&a[e]&&(o=a[e][tk(t.index,s)])&&(r&&_(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(t=>{t.touched||t.options.isInternal?delete t.touched:d.push(t)}))}),d.forEach(t=>{t.chart&&t.remove&&t.remove(!1)}),o&&a.axes.forEach(function(t){t.update({},!1)}),r&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let p=c?.width,u=c&&(tp(c.height)?tS(c.height,p||a.chartWidth):c.height);n||tc(p)&&p!==a.chartWidth||tc(u)&&u!==a.chartHeight?a.setSize(p,u,s):tk(e,!0)&&a.redraw(s),te(a,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=i1.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}te(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),te(this,"afterShowResetZoom")}zoomOut(){te(this,"selection",{resetSelection:!0}
vendor: 2,810 bytes, line 2
2,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),te(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),$(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:n={},trigger:a,allowResetButton:l=!0}=t,{inverted:h,time:d}=this;this.hoverPoints?.forEach(t=>t.setState()),te(this,"transform",t);let c=t.hasZoomed||!1,p,u;for(let t of e){let{horiz:e,len:g,minPointOffset:f=0,options:m,reversed:x}=t,y=e?"width":"height",b=e?"x":"y",v=tk(n[y],t.len),k=tk(s[y],t.len),w=10>Math.abs(v)?1:v/k,M=(s[b]||0)+k/2-t.pos,S=M-((n[b]??t.pos)+v/2-t.pos)/w,C=x&&!h||!x&&h?-1:1;if(!o&&(M<0||M>t.len))continue;let A=t.chart.polar||t.isOrdinal?0:f*C||0,T=t.toValue(S,!0),P=t.toValue(S+g/w,!0),O=T+A,L=P-A,E=t.allExtremes;if(r&&r[t.coll].push({axis:t,min:Math.min(T,P),max:Math.max(T,P)}),O>L&&([O,L]=[L,O]),1===w&&!o&&"yAxis"===t.coll&&!E){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn(e.pointValKey||"y")||[],!0);E??(E={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),tc(t.dataMin)&&tc(t.dataMax)&&(E.dataMin=Math.min(t.dataMin,E.dataMin),E.dataMax=Math.max(t.dataMax,E.dataMax))}t.allExtremes=E}let{dataMin:D,dataMax:I,min:B,max:N}=Q(t.getExtremes(),E||{}),R=d.parse(m.min),z=d.parse(m.max),W=D??R,H=I??z,F=L-O,G=t.categories?0:Math.min(F,H-W),j=W-G*(_(R)?0:m.minPadding),X=H+G*(_(z)?0:m.maxPadding),Y=t.allowZoomOutside||1===w||"zoom"!==a&&w>1,U=Math.min(R??j,j,Y?B:j),V=Math.max(z??X,X,Y?N:X);(!t.isOrdinal||1!==w||o)&&(O<U&&(O=U,w>=1&&(L=O+F)),L>V&&(L=V,w>=1&&(O=L-F)),(o||t.series.length&&(O!==B||L!==N)&&O>=U&&L<=V)&&(r?r[t.coll].push({axis:t,min:O,max:L}):(t.isPanning="zoom"!==a,t.isPanning&&"mousewheel"!==a&&(u=!0),t.setExtremes(o?void 0:O,o?void 0:L,!1,!1,{move:S,trigger:a,scale:w}),!o&&(O>U||L<V)&&(p=l)),c=!0),this.hasCartesianSeries||o||(p=l),i&&(this[e?"mouseDownX":"mouseDownY"]=i[e?"chartX":"chartY"]))}return c&&(r?te(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!p||u||this.resetZoomButton?!p&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===a&&(this.options.chart.animation??this.pointCount<100)))),c}}Q(st.prototype,{callbacks:[],collectionsWithInit:{xAxis:[st.prototype.addAxis,[!0]],yAxis:[st.prototype.addAxis,[!1]],series:[st.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
2dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:se}=t1,{composed:si}=R;function ss(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new sr(this)),t?.applyFixed()}function so(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class sr{static compose(t,e,i){tM(si,this.compose)&&(H(t,"afterInit",so),H(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),H(e,"render",ss),H(i,"show",so))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:h,renderer:d}=t;if(!d.forExport)if(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=tm(t.plotBox),l.width=t.plotWidth+=i,a[h?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),_(s)&&(t.scrollablePlotBox=tm(t.plotBox),l.height=t.plotHeight+=s,a[h?"width":"height"]+=s,o=!1)),_(o)){if(!e.skipAxes)for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}else delete t.scrollablePlotBox}constructor(t){let e,i=t.options.chart,s=en.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(n.overflowX="auto"),t.scrollablePixelsY&&(n.overflowY="auto"),this.chart=t;let a=this.parentDiv=U("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),l=this.scrollingContainer=U("div",{className:"highcharts-scrolling"},n,a),h=this.innerContainer=U("div",{className:"highcharts-inner-container"},void 0,l),d=this.fixedDiv=U("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),l.parentNode.insertBefore(d,l),$(t.renderTo,{overflow:"visible"}),H(t,"afterShowResetZoom",r),H(t,"afterApplyDrilldown",r),H(t,"afterLayOutTitles",r),H(l,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),h.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:n,container:a,plotHeight:l,plotLeft:h,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=n+u;e.setSize(r,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),se(t.container),$(a,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:["0 0",m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),$(s,{width:`${r}px`,height:`${n}px`}),_(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let y=d-o[0]-1,b=h-o[3]-1,v=d+l+o[2]+1,k=h+c+o[1]+1,w=h+c-p,M=d+l-u,S=[["M",0,0]];p?S=[["M",0,y],["L",h-1,y],["L",h-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,M],["L",b,n],["L",k,n],["L",k,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,n=sr.fixedSelectors.slice();if(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])tM(n,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])J(n,e);for(let t of n)[].forEach.call(e.querySelectorAll(t),t=>
2{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}sr.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:sn}=er,{series:sa}=iD,sl=class{constructor(t,e,i,s,o){let r=t.chart.inverted,n=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){K(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=(s?sn(s,this,e):i.formatter?.call(this,this))||"";if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:tk(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,te(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:n,axis:a,label:l,options:h,textAlign:d}=this,c=a.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=n;if(l&&p){let t=l.getBBox(void 0,0),e=l.padding,i="justify"===tk(h.overflow,"justify"),s;n.x=h.x||0,n.y=h.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,l.align(n,!1,p),(s=c.isInsidePlot(l.alignAttr.x+n.x+o,l.alignAttr.y+n.y+r))||(i=!1),i&&sa.prototype.justifyDataLabel.call(a,l,n,l.alignAttr,t,p),l.attr({x:l.alignAttr.x,y:l.alignAttr.y,rotation:h.rotation,rotationOriginX:t.width*ti(h.textAlign||"center"),rotationOriginY:t.height/2}),tk(!i&&h.crop,!0)&&(s=tc(l.x)&&tc(l.y)&&c.isInsidePlot(l.x-e+(l.width||0),l.y)&&c.isInsidePlot(l.x+e,l.y)),l[s?"show":"hide"]()}te(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*ti(i)-1),y:t.height/2*2*(1-ti(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:n,boxBottom:a}=t,l=e.stacking.usePercentage?100:tk(s,this.total,0),h=e.toPixels(l),d=t.xAxis||i.xAxis[0],c=tk(o,d.translate(this.x))+r,p=Math.abs(h-e.toPixels(a||tc(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?h:h-p)-i.plotLeft,y:d.height-c-n+d.top-i.plotTop,width:p,height:n}:{x:c+d.transB-i.plotLeft,y:(g?h-p:h)-i.plotTop,width:n,height:p}}},{getDeferredAnimation:sh}=t1,{series:{prototype:sd}}=iD;function sc(){let t=this.inverted;this.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis?.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,tk(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function sp(){let t=this.stacking;if(t){let e=t.stacks;ty(e,(t,i)=>{K(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function su(){this.stacking||(this.stacking=new sb(this))}function sg(t,e,i,s){return!_(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function sf(){let t,e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),n=e.options.stacking,a=e[n+"Stacker"];a&&[s,"-"+s].forEach(i=>{let s=r.length,n,l,h;for(;s--;)n=r[s],t=e.getStackIndicator(t,n,e.index,i),l=o[i]?.[n],(h=l?.points[t.key||""])&&a.call(e,h,l,s)})}function sm(t,e,i){let s=e.total?100/e.total:0;t[0]=Y(t[0]*s),t[1]=Y(t[1]*s),this.stackedYData[i]=t[1]}function sx(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?sd.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function sy(t,e){let i,s,o,r,n,a,l,h=e||this.options.stacking;if(!h||!this.reserveSpace()||(({group:"xAxis"})[h]||"yAxis")!==t.coll)return;
vendor: 8,814 bytes, line 2
2let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=e?`${this.type},${h}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,l=0;l<u;l++){let e=d[l]||0,u=c[l],g=tc(u)&&u||0;a=(i=this.getStackIndicator(i,e,this.index)).key||"",w[n=(s=v&&g<(m?0:f))?b:y]||(w[n]={}),w[n][e]||(M[n]?.[e]?(w[n][e]=M[n][e],w[n][e].total=null):w[n][e]=new sl(t,t.options.stackLabels,!!s,e,x)),o=w[n][e],null!==u?(o.points[a]=o.points[this.index]=[tk(o.cumulative,m)],_(o.cumulative)||(o.base=a),o.touched=k.stacksTouched,i.index>0&&!1===this.singleStacks&&(o.points[a][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[a],delete o.points[this.index]);let S=o.total||0;"percent"===h?(r=s?y:b,S=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):Y(S+Math.abs(g))):"group"===h?tc(u)&&S++:S=Y(S+g),"group"===h?o.cumulative=(S||1)-1:o.cumulative=Y(tk(o.cumulative,m)+g),o.total=S,null!==u&&(o.points[a].push(o.cumulative),p[l]=o.cumulative,o.hasValidPoints=!0)}"percent"===h&&(k.usePercentage=!0),"group"!==h&&(this.stackedYData=p),k.oldStacks={}}class sb{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<n;e++)s[e].modifyStacks();te(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,ty(this.stacks,t=>{ty(t,t=>{t.cumulative=t.total})}))}resetStacks(){ty(this.stacks,t=>{ty(t,(e,i)=>{tc(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=sh(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),ty(s,t=>{ty(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(P||(P={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(H(t,"init",su),H(t,"destroy",sp),s.getStacks=sc,o.getStackIndicator=sg,o.modifyStacks=sf,o.percentStacker=sm,o.setGroupedPoints=sx,o.setStackedPoints=sy)};let sv=P;class sk extends ij{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,n=s.graph,a=n?"animate":"attr",l=s.dashStyle||t.dashStyle;if(n?(n.endX=this.preventGraphAnimation?null:e.xMap,n.animate({d:e})):e.length&&(s.graph=n=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),n&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?r.dashstyle=l:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),n[a](r),t.shadow)){let e=this.chart.inverted,i={filterUnits:"userSpaceOnUse"},s=tf(t.shadow)?tm(e?{}:i,t.shadow):!!e||i;n.shadow(s)}n&&(n.startX=e.xMap,n.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],n=[],a,l=o.step,h=(t=t||s.points).reversed;return h&&t.reverse(),(l=({right:1,center:2})[l]||l&&3)&&h&&(l=4-l),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEach(function(h,d){let c,p=h.plotX,u=h.plotY,g=t[d-1],f=h.isNull||"number"!=typeof u;(h.leftCliff||g?.rightCliff)&&!i&&(a=!0),f&&!_(e)&&d>0?a=!o.connectNulls:f&&!e?a=!0:(0===d||a?c=[["M",h.plotX,h.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,h,d)]:l?(c=1===l?[["L",g.plotX,u]]:2===l?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],n.push(h.x),l&&(n.push(h.x),2===l&&n.push(h.x)),r.push.apply(r,c),a=!1)}),r.xMap=n,s.graphPath=r,r}}sk.defaultOptions=tm(ij.defaultOptions,{legendSymbol:"lineMarker"}),iD.registerSeriesType("line",sk);let{seriesTypes:{line:sw}}=iD;class sM extends sw{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s,o=sw.prototype.getGraphPath,r=this.options,n=r.stacking,a=this.yAxis,l=[],h=[],d=this.index,c=a.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(a.getThreshold(r.threshold)),g=tk(r.connectNulls,"percent"===n),f=function(i,s,o){let r=t[i],g=t[s],f=n&&c[r.x].points[d],m=r[o+"Null"]||0,x=r[o+"Cliff"]||0,y,b,v=!0;f&&(x||m)?(y=(m?f[0]:f[1])+x,b=f[0]+x,v=!!m):!n&&g&&(g.isNull||!_(g.plotY))&&(y=b=p),void 0!==y&&(h.push({plotX:e,plotY:null===y?u:a.getThreshold(y),isNull:v,isCliff:!0}),l.push({plotX:e,plotY:null===b?u:a.getThreshold(b),doCurve:!1}))};t=t||this.points,n&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o<r;++o)n||(t[o].leftCliff=t[o].rightCliff=t[o].leftNull=t[o].rightNull=void 0),i=t[o].isNull||!_(t[o].plotY),e=tk(t[o].rectPlotX,t[o].plotX),s=n?tk(t[o].yBottom,u):u,(!i||g)&&(g||f(o,o-1,"left"),i&&!n&&g||(h.push(t[o]),l.push({x:o,plotX:e,plotY:s})),g||f(o,o+1,"right"));let m=o.call(this,h,!0,!0);l.reversed=!0;let x=o.call(this,l,!0,!0),y=x[0];y&&"M"===y[0]&&(x[0]=["L",y[1],y[2]]);let b=m.concat(x);b.length&&b.push(["Z"]);let v=o.call(this,h,!1,g);return this.chart.series.length>1&&n&&h.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,n=r.stacking.stacks[this.stackKey],a={},l=r.series,h=l.length,d=r.options.reversedStacks?1:-1,c=l.indexOf(e),p=r.getThreshold(e.options.threshold||0);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,a[t[e].x]=t[e];ty(n,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let u=l.map(t=>t.visible);s.forEach(function(t,g){let f=0,m,x;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=n[s[g+i]],p=0;if(r){let i=c;for(;i>=0&&i<h;){let s=l[i].index;!(m=r.points[s])&&(s===e.index?a[t][o]=!0:u[i]&&(x=n[t].points[s])&&(p-=x[1]-x[0])),i+=d}}a[t][1===i?"rightCliff":"leftCliff"]=p});else{let e=c;for(;e>=0&&e<h;){let i=l[e].index;if(m=n[t].points[i]){f=m[1];break}e+=d}f||(f=0);let s=r.positiveValuesOnly&&f<=0?p:r.translate(f,!1,!0,!1,!0);i.push({isNull:!0,plotX:o.translate(t,!1,!1,!1,!0),x:t,plotY:s,yBottom:s})}})}return i}}sM.defaultOptions=tm(sw.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),Q(sM.prototype,{singleStacks:!1}),iD.registerSeriesType("area",sM);let{line:sS}=iD.seriesTypes;class sC extends sS{getPointSpline(t,e,i){let s,o,r,n,a=e.plotX||0,l=e.plotY||0,h=t[i-1],d=t[i+1];function c(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(c(h)&&c(d)){let t=h.plotX||0,i=h.plotY||0,c=d.plotX||0,p=d.plotY||0,u=0;s=(1.5*a+t)/2.5,o=(1.5*l+i)/2.5,r=(1.5*a+c)/2.5,n=(1.5*l+p)/2.5,r!==s&&(u=(n-o)*(r-a)/(r-s)+l-n),o+=u,n+=u,o>i&&o>l?(o=Math.max(i,l),n=2*l-o):o<i&&o<l&&(o=Math.min(i,l),n=2*l-o),n>p&&n>l?(n=Math.max(p,l),o=2*l-n):n<p&&n<l&&(n=Math.min(p,l),o=2*l-n),e.rightContX=r,e.rightContY=n,e.controlPoints={low:[s,o],high:[r,n]}}let p=["C",tk(h.rightContX,h.plotX,0),tk(h.rightContY,h.plotY,0),tk(s,a,0),tk(o,l,0),a,l];return h.rightContX=h.rightContY=void 0,p}}sC.defaultOptions=tm(sS.defaultOptions),iD.registerSeriesType("spline",sC);let sA=sC,{area:sT,area:{prototype:sP}}=iD.seriesTypes;class sO extends sA{}sO.defaultOptions=tm(sA.defaultOptions,sT.defaultOptions),Q(sO.prototype,{getGraphPath:sP.getGraphPath,getStackPoints:sP.getStackPoints,drawGraph:sP.drawGraph}),iD.registerSeriesType("areaspline",sO);let{animObject:sL}=t1,{parse:sE}=tK,{noop:sD}=R;class sI extends ij{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,n=o.reversed,a=s.options,{clipOffset:l,inverted:h}=this.chart,d={},c=h?"translateX":"translateY";t&&l?(d.scaleY=.001,i=X(o.toPixels(a.threshold||0),r,r+o.len),h?d.translateX=(i+=n?-Math.floor(l[0]):Math.ceil(l[2]))-o.len:d.translateY=i+=n?Math.ceil(l[0]):-Math.floor(l[2]),s.clipBox&&s.setClip(),s.group.attr(d)):(e=Number(s.group.attr(c)),s.group.animate({scaleY:1},Q(sL(s.options.animation),{step:function(t,i){s.group&&(d[c]=e+i.pos*(r-e),s.group.attr(d))}})))}
vendor: 5,254 bytes, line 2
2init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,n={},a,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){let i,o=e.yAxis,r=e.options;e.type===t.type&&e.reserveSpace()&&s.len===o.len&&s.pos===o.pos&&(r.stacking&&"group"!==r.stacking?(void 0===n[a=e.stackKey]&&(n[a]=l++),i=n[a]):!1!==r.grouping&&(i=l++),e.columnIndex=i)});let h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=h*e.groupPadding,c=(h-2*d)/(l||1),p=Math.min(e.maxPointWidth||i.len,tk(e.pointWidth,c*(1-2*e.pointPadding))),u=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:p,offset:(c-p)/2+(d+u*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=V(e+s,o,r)-(e=V(e,o,r)),this.options.crisp&&(i=V(t+i,o)-(t=V(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,n=0;ty(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],a={};if(e&&tu(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(_(s)){if(tc(a[s]))return t===e&&(t=a[s]),!1;a[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),n=i.length}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=i.borderWidth??+!s,r=t.xAxis,n=t.yAxis,a=i.threshold,l=i.minPointLength??5,h=t.getColumnMetrics(),d=h.width,c=t.pointXOffset=h.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=n.getThreshold(a),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),ij.prototype.translate.apply(t),t.points.forEach(function(s){let o=s.yBottom??g,m=999+Math.abs(o),x=s.plotX||0,y=X(s.plotY,-m,n.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,w=d,M=x+c,S=f;l&&Math.abs(k)<l&&(k=l,b=!n.reversed&&!s.negative||n.reversed&&s.negative,tc(a)&&tc(u)&&s.y===a&&u<=a&&(n.min||0)<a&&(p!==u||(n.max||0)<=a)&&(b=!b,s.negative=!s.negative),v=Math.abs(v-g)>l?o-(b?l:0):g-(b?l:0)),_(s.options.pointWidth)&&(M-=Math.round(((w=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(M=t.adjustForMissingColumns(M,w,s,h)),s.barX=M,s.pointWidth=w,s.tooltipPos=e.inverted?[X(n.len+n.pos-e.plotLeft-y,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-M-S/2,k]:[r.left-e.plotLeft+M+S/2,X(y+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(M,v,S,s.isNull?0:k)}),te(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",n,a,l,h=t&&t.color||this.color,d=t&&t[o]||i[o]||h,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(a=t.getZone(),h=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(d=a.borderColor||d,c=a.dashStyle||c,p=a.borderWidth||p)),e&&t&&(l=(n=tm(i.states[e],t.options.states?.[e]||{})).brightness,h=n.color||void 0!==l&&sE(h).brighten(n.brightness).get()||h,d=n[o]||d,p=n[r]||p,c=n.dashStyle||c,u=tk(n.opacity,u));let g={fill:h,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=o.nullInteraction,n=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let l=t.plotY,h=t.graphic,d=!!h,c=h&&s.pointCount<a?"animate":"attr";tc(l)&&(null!==t.y||r)?(e=t.shapeArgs,h&&t.hasNewShapeType()&&(h=h.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!h&&(t.graphic=h=n[t.shapeType](e).add(t.group||i.group),h&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<a&&(h.attr({x:t.startXPos}),d=!0,c="animate")),h&&d&&h[c](tm(e)),s.styledMode||h[c](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),h&&(h.addClass(t.getClassName(),!0),h.attr({visibility:t.visible?"inherit":"hidden"}))):h&&(t.graphic=h.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(t){o?.normalize(t);let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})||i.allowOutsidePlotInteraction&&o?.inClass(t.target,"highcharts-point")||o?.inClass(t.target,"highcharts-data-label"))&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=tu(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups?.reduce((t,e)=>
2("dataLabelsGroup"===e?t.push(...i.dataLabelsGroups||[]):t.push(i[e]),t),[]).forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&t.css({cursor:i.options.cursor}))}),i._hasTracking=!0),te(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),ij.prototype.remove.apply(t,arguments)}}sI.defaultOptions=tm(ij.defaultOptions,{borderRadius:3,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),Q(sI.prototype,{directTouch:!0,getSymbol:sD,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),iD.registerSeriesType("column",sI);let sB=sI,{getDeferredAnimation:sN}=t1,{format:sR}=er;!function(t){function e(){return l(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:n}=this,a=this.isCartesian&&r.inverted,l=t.plotX,h=t.plotY,d=i.rotation||0,c=_(l)&&_(h)&&r.isInsidePlot(l,Math.round(h),{inverted:a,paneCoordinates:!0,series:this}),p=0===d&&"justify"===tk(i.overflow,n?"none":"justify"),u=this.visible&&!1!==t.visible&&_(l)&&(t.series.forceDL||n&&!p||c||tk(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(l,a?s.x+1:s.y+s.height-1,{inverted:a,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let l=e.getBBox(),h=e.getBBox(void 0,0);if(s=Q({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[a?"x":"y"]=0,s[a?"width":"height"]=this.yAxis?.len||0),Q(i,{width:l.width,height:l.height}),f=s,n&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(tm(i,{width:h.width,height:h.height}),!1,s,!1),e.alignAttr.x+=ti(i.align)*(h.width-l.width),e.alignAttr.y+=ti(i.verticalAlign)*(h.height-l.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(l.width-h.width)/2,y:e.alignAttr.y+(l.height-h.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,l,s,o);else if(tk(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+l.width-1,i+l.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&n&&(e.placed=!1),u||n&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(t,e){te(this,"initDataLabelsGroup",{index:t,zIndex:e?.zIndex??6}),this.dataLabelsGroup=this.dataLabelsGroups?.[t];let i=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",e?.zIndex??6,this.dataLabelsParentGroups?.[t]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[t]=i,this.dataLabelsGroup=this.dataLabelsGroups[0],i}function o(t,e,i){let s=!!this.hasRendered,o=this.initDataLabelsGroup(t,i).attr({opacity:+s});return!s&&o&&(this.visible&&o.show(),this.options.animation?o.animate({opacity:1},e):o.attr({opacity:1})),o}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:n,plotBackgroun
2dColor:h}=s.options.chart,d=r.getContrast(tp(h)&&h||tp(n)&&n||"#000000"),c=l(i),{animation:p,defer:u}=c[0],g=u?sN(s,p,i):{defer:0,duration:0};te(this,"drawDataLabels"),i.hasDataLabels?.()&&t.forEach(t=>{let n=t.dataLabels||[],l=t.color||i.color;tT(a(c,t.dlOptions||t.options?.dataLabels)).forEach((a,h)=>{e=this.initDataLabels(h,g,a);let c=a.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o||!1}return!0}(t,a),{backgroundColor:p,borderColor:u,distance:f,style:m={}}=a,x,y,b,v={},k=n[h],w=!k,M;c&&(y=_(x=tk(a[t.formatPrefix+"Format"],a.format))?sR(x,t,s):(a[t.formatPrefix+"Formatter"]||a.formatter).call(t,a,t),b=a.rotation,!s.styledMode&&(m.color=tk(a.color,m.color,tp(i.color)?i.color:void 0,"#000000"),"contrast"===m.color?("none"!==p&&(M=p),t.contrastColor=r.getContrast("auto"!==M&&tp(M)&&M||(tp(l)?l:"")),m.color=M||!_(f)&&a.inside||0>tw(f||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(m.cursor=o.cursor)),v={r:a.borderRadius||0,rotation:b,padding:a.padding,zIndex:1},s.styledMode||(v.fill="auto"===p?t.color:p,v.stroke="auto"===u?t.color:u,v["stroke-width"]=a.borderWidth),ty(v,(t,e)=>{void 0===t&&delete v[e]})),!k||c&&_(y)&&!!(k.div||k.text?.foreignObject)==!!a.useHTML&&(k.rotation&&a.rotation||k.rotation===a.rotation)||(k=void 0,w=!0),c&&_(y)&&""!==y&&(k?v.text=y:(k=r.label(y,0,0,a.shape,void 0,void 0,a.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(a.className||"")+(a.useHTML?" highcharts-tracker":"")),k&&(k.options=a,k.attr(v),s.styledMode?m.width&&k.css({width:m.width,textOverflow:m.textOverflow,whiteSpace:m.whiteSpace}):k.css(m).shadow(a.shadow),te(k,"beforeAddingDataLabel",{labelOptions:a,point:t}),k.added||k.add(e),i.alignDataLabel(t,k,a,void 0,w),k.isActive=!0,n[h]&&n[h]!==k&&n[h].destroy(),n[h]=k))});let h=n.length;for(;h--;)n[h]?.isActive?n[h].isActive=!1:(n[h]?.destroy(),n.splice(h,1));t.dataLabel=n[0],t.dataLabels=n}),te(this,"afterDrawDataLabels")}function n(t,e,i,s,o,r){let n=this.chart,a=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=n.inverted?this.yAxis:this.xAxis,c=d?d.left-n.plotLeft:0,p=n.inverted?this.xAxis:this.yAxis,u=p?p.top-n.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+h+c)<0&&("right"===a&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-h+c)>n.plotWidth&&("left"===a&&g<=0?(e.align="right",e.inside=!0):g+=n.plotWidth-m,x=!0),(m=i.y+h+u)<0&&("bottom"===l&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-h+u)>n.plotHeight&&("top"===l&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=n.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function a(t,e){let i=[],s;if(tu(t)&&!tu(e))i=t.map(function(t){return tm(t,e)});else if(tu(e)&&!tu(t))i=e.map(function(e){return tm(t,e)});else if(tu(t)||tu(e)){if(tu(t)&&tu(e))for(s=Math.max(t.length,e.length);s--;)i[s]=tm(t[s],e[s])}else i=tm(t,e);return i}function l(t){let e=t.chart.options.plotOptions;return tT(a(a(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function h(t,e,i,s,o){let r=this.chart,n=r.inverted,a=this.xAxis,l=a.reversed,h=((n?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=n?o.x:l?-h-c:a.width-h+c,e.startYPos=n?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
vendor: 1,346 bytes, line 2
2,void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let l=t.prototype;l.initDataLabels||(l.initDataLabels=o,l.initDataLabelsGroup=s,l.alignDataLabel=i,l.drawDataLabels=r,l.justifyDataLabel=n,l.mergeArrays=a,l.setDataLabelStartPos=h,l.hasDataLabels=e)}}(O||(O={}));let sz=O,{composed:sW}=R,{series:sH}=iD;function sF(t,e,i,s,o){let{chart:r,options:n}=this,a=r.inverted,l=this.xAxis?.len||r.plotSizeX||0,h=this.yAxis?.len||r.plotSizeY||0,d=t.dlBox||t.shapeArgs,c=t.below??(t.plotY||0)>(this.translatedThreshold??h),p=i.inside??!!n.stacking;if(d){if(s=tm(d),"allow"!==i.overflow||!1!==i.crop||!1!==n.clip){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t<s.height-1&&(s.height-=t)}a&&(s={x:h-s.y-s.height,y:l-s.x-s.width,width:s.height,height:s.width}),p||(a?(s.x+=c?0:s.width,s.width=0):(s.y+=c?s.height:0,s.height=0))}i.align??(i.align=!a||p?"center":c?"right":"left"),i.verticalAlign??(i.verticalAlign=a||p?"middle":c?"top":"bottom"),sH.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}(L||(L={})).compose=function(t){sz.compose(sH),tM(sW,"ColumnDataLabel")&&(t.prototype.alignDataLabel=sF)};let sG=L;class sj extends sB{}sj.defaultOptions=tm(sB.defaultOptions,{}),Q(sj.prototype,{inverted:!0}),iD.registerSeriesType("bar",sj);
vendor: 16,872 bytes, line 2
2let{column:sX,line:sY}=iD.seriesTypes;class sU extends sY{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,n){if(e[r]&&!s.isNull){let a=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t,e=Math.max(0,(s[a]||0)-h),d=Math.min(l.len,(s[a]||0)+h);s[a]=e+(d-e)*((t=1e4*Math.sin(o+n*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}sU.defaultOptions=tm(sY.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),Q(sU.prototype,{allowOutsidePlotInteraction:!0,drawTracker:sX.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),H(sU,"afterTranslate",function(){this.applyJitter()}),iD.registerSeriesType("scatter",sU);let{deg2rad:sV}=R;(f=E||(E={})).getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,n=Math.min(s,o),a=t.thickness,l,h=t.size,d=t.innerSize||0,c,p;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof d&&(d=parseFloat(d));let u=[tk(r?.[0],"50%"),tk(r?.[1],"50%"),tk(h&&h<0?void 0:t.size,"100%"),tk(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof ij||(u[3]=0),c=0;c<4;++c)p=u[c],l=c<2||2===c&&/%$/.test(p),u[c]=tS(p,[s,o,n,u[2]][c])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),tc(a)&&2*a<u[2]&&a>0&&(u[3]=u[2]-2*a),te(this,"afterGetCenter",{positions:u}),u},f.getStartAndEndRadians=function(t,e){let i=tc(t)?t:0,s=tc(e)&&e>i&&e-i<360?e:i+360;return{start:sV*(i+-90),end:sV*(s+-90)}};let s$=E,{setAnimation:s_}=t1;class sK extends ig{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name=t.chart.options.lang.pieSliceName);let s=t=>{this.slice("select"===t.type)};H(this,"select",s),H(this,"unselect",s)}isValid(){return tc(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;s_(i,s.chart),e=tk(e,!0),this.sliced=this.options.sliced=t=_(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}Q(sK.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:n}=this,[a,l,h]=n.center,d=h/2,{plotLeft:c,plotWidth:p}=n.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=tS(i.crookDistance,1);m=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else m=a+(l-f)*Math.tan(s-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:sq}=s$,{noop:sZ}=R;class sJ extends ij{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:tk(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:eM.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,l=Math.asin(X((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return this.points.some(t=>t.visible)}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||tm(!0,a,i),tm(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){te(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=sq(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,n=this.points,a=e.ignoreHiddenPoint,l=n.length,h,d,c,p,u,g,f,m=0;for(t||(this.center=t=this.getCenter()),g=0;g<l;g++){f=n[g],h=o+m*r,f.isValid()&&(!a||f.visible)&&(m+=f.percentage/100),d=o+m*r;let e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:h,end:d};f.shapeType="arc",f.shapeArgs=e,(c=(d+h)/2)>1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=+(c<-Math.PI/2||c>Math.PI/2),f.angle=c}te(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}sJ.defaultOptions=tm(ij.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.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}}}),Q(sJ.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:sB.prototype.drawTracker,getCenter:s$.getCenter,getSymbol:sZ,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:sB.prototype.pointAttribs,pointClass:sK,requireSorting:!1,searchPoint:sZ,trackerGroups:["group","dataLabelsGroup"]}),iD.registerSeriesType("pie",sJ);let{composed:sQ,noop:s0}=R,{distribute:s1}=ea,{series:s2}=iD;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&s<i&&o>i&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:n,options:a}=this,l=n[2]/2,h=Math.cos(r),d=Math.sin(r),c=n[0]+h*l,p=n[1]+d*l,u=Math.min((a.slicedOffset||0)+(a.borderWidth||0),e/5);return{natural:{x:c+h*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+h*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,n=Math.round(i.chartWidth/3),a=t.center,l=a[2]/2,h=a[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),s2.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=a[2]/2,o=e.options,r=tS(o?.distance||0,s);0===i&&d[t.half].push(t),!_(o?.style?.width)&&e.getBBox().width>n&&(e.css({width:Math.round(.7*n)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,n)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,n-.5),m>0&&(x=Math.max(0,h-l-m),y=Math.min(h+l+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,h-l-s.distance),s.bottom=Math.min(h+l+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),s1(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(h=>{let d=h.options||{},m=i.distributeBox,x=h.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=h.lineHeight||21,k=(v-h.getBBox().height)/2,w=0,M=y,S="inherit";if(x){if(u&&_(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,M=p.radialDistributionY(i,h))),d.justify)w=p.justify(i,h,l,a);else switch(d.alignTo){case"connectors":w=p.alignToConnectors(e,n,s,r);break;case"plotEdges":w=p.alignToPlotEdges(h,n,s,r);break;default:w=p.radialDistributionX(t,i,M-k,y,h)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:w+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:M+(d.y||0)-v/2},x.computed.x=w,x.computed.y=M-k,tk(d.crop,!0)){let t;w-(g=h.getBBox().width)<b&&1===n?(t=Math.round(g-w+b),c[3]=Math.max(t,c[3])):w+g>s-b&&0===n&&(t=Math.round(w+g-s+b),c[1]=Math.max(t,c[1])),M-f/2<0?c[0]=Math.max(Math.round(-M+f/2),c[0]):M+f/2>o&&(c[2]=Math.max(Math.round(M+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===G(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{e.dataLabels?.forEach((s,o)=>{let{connectorColor:r,connectorWidth:n=1}=s.options||{},a=s.dataLabelPosition;if(tc(n)){let l;u=s.connector,a&&a.distance>0?(l=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroups?.[o])),i.styledMode||u.attr({"stroke-width":n,stroke:r||e.color||"#666666"}),u[l?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:a.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:t.options?.style?.textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,n=null!==i.size;return!n&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=X(r,o,e[2]-Math.max(t[0],t[2])):(r=X(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,tS(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):n=!0),n}t.compose=function(t){if(sz.compose(s2),tM(sQ,"PieDataLabel")){let n=t.prototype;n.dataLabelPositioners=e,n.alignDataLabel=s0,n.drawDataLabels=s,n.getDataLabelPosition=i,n.placeDataLabels=o,n.verifyDataLabelOverflow=r}}}(D||(D={}));let s3=D;(m=I||(I={})).getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},m.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},m.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},m.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,n=!1;for(o=0,r=s-1;o<s;r=o++){let[s,a]=i[o],[l,h]=i[r];a>e!=h>e&&t<(l-s)*(e-a)/(h-a)+s&&(n=!n)}return n};let{pointInPolygon:s5}=I;function s6(t,e){let i,s=!1;return t&&(i=t.newOpacity,t.oldOpacity!==i&&(t.hasClass("highcharts-data-label")?(t[i?"removeClass":"addClass"]("highcharts-data-label-hidden"),s=!0,t[t.isOld?"animate":"attr"]({opacity:i},void 0,function(){e.styledMode||t.css({pointerEvents:i?"auto":"none"})}),te(e,"afterHideOverlappingLabel")):t.attr({opacity:i})),t.isOld=!0),s}let{defaultOptions:s9}=tU,{noop:s4}=R,s8={radius:0,scope:"stack",where:void 0},s7=s4,ot=s4;function oe(t,e,i,s,o={}){let r=s7(t,e,i,s,o),{brStart:n=!0,brEnd:a=!0,innerR:l=0,r:h=i,start:d=0,end:c=0}=o;if(o.open||!o.borderRadius)return r;let p=c-d,u=Math.sin(p/2),g=Math.max(Math.min(tS(o.borderRadius||0,h-l),(h-l)/2,h*u/(1+u)),0),f=Math.min(g,p/Math.PI*2*l),m=r.length-1;for(;m--;)(n||0!==m&&3!==m)&&(a||1!==m&&2!==m)&&function(t,e,i){let s,o,r,n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),("M"===n[0]||"L"===n[0])&&"A"===a[0]?(s=n,o=a,r=!0):"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n),s&&o&&o.params){let n=o[1],a=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=a?n-i:n+i,g=u?Math.asin(i/u):0,f=a?g:-g,m=Math.cos(g)*u;r?(l.start=h+f,s[1]=c+m*Math.cos(h),s[2]=p+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+n*Math.cos(l.start),p+n*Math.sin(l.start)])):(l.end=d-f,o[6]=c+n*Math.cos(l.end),o[7]=p+n*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,m,m>1?f:g);return r}function oi(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=s9.plotOptions?.[this.type]?.borderRadius,o=os(t.borderRadius,tf(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:n}=s;if("roundedRect"===s.shapeType&&n){let{width:a=0,height:l=0,y:h=0}=n,d=h,c=l;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=n.y,c=n.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(tS(o.radius,a),a/2,"all"===u?c/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),Q(n,{brBoxHeight:c,brBoxY:d,r:g})}}}}function os(t,e){return tf(t)||(t={radius:t||0}),tm(s8,e,t)}function oo(){let t=os(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=tS(t.radius,(i.r||0)-(i.innerR||0)))}}function or(t,e,i,s,o={}){let r=ot(t,e,i,s,o),{r:n=0,brBoxHeight:a=s,brBoxY:l=e}=o,h=e-l,d=l+a-(e+s),c=h-n>-.1?0:n,p=d-n>-.1?0:n,u=Math.max(c&&h,0),g=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],w=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=M(c,c-u);f[0]-=t,m[0]+=t,x[1]=w[1]=e+c-u}if(s<c-u){let o=M(c,c-u-s);x[0]=y[0]=t+i-c+o,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),k[0]=w[0]=t+c-o,x[1]=w[1]=e+s}if(g){let t=M(p,p-g);b[0]+=t,v[0]-=t,y[1]=k[1]=e+s-p+g}if(s<p-g){let o=M(p,p-g-s);x[0]=y[0]=t+i-p+o,m[0]=Math.min(x[0],m[0]),f[0]=Math.max(y[0],f[0]),k[0]=w[0]=t+p-o,y[1]=k[1]=e}return r.length=0,r.push(["M",...f],["L",...m],["A",c,c,0,0,1,...x],["L",...y],["A",p,p,0,0,1,...b],["L",...v],["A",p,p,0,0,1,...k],["L",...w],["A",c,c,0,0,1,...f],["Z"]),r}function on(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=tk(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=tk(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=tk(i.minWidth,0)&&this.chartHeight>=tk(i.minHeight,0)}).call(this,this)&&e.push(t._id)}function oa(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;
vendor: 4,409 bytes, line 2
2!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=tR()),this.matchResponsiveRule(t,o)},this);let n=tm(...o.map(t=>ta(i?.rules||[],e=>e._id===t)).map(t=>t?.chartOptions));n.isResponsiveOptions=!0,o=o.toString()||void 0;let a=s?.ruleIds;o!==a&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=Z(n,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:n,undoOptions:r},this.updatingResponsive||this.update(n,t,!0)):this.currentResponsive=void 0)}(B||(B={})).compose=function(t){let e=t.prototype;return e.matchResponsiveRule||Q(e,{matchResponsiveRule:on,setResponsive:oa}),t};let ol=B;R.AST=t4,R.Axis=e5,R.Chart=st,R.Color=tK,R.DataLabel=sz,R.DataTableCore=iC,R.Fx=tJ,R.HTMLElement=eU,R.Legend=iZ,R.LegendSymbol=iP,R.PlotLineOrBand=e8,R.Point=ig,R.Pointer=iw,R.RendererRegistry=en,R.Series=ij,R.SeriesRegistry=iD,R.StackItem=sl,R.SVGElement=ey,R.SVGRenderer=eF,R.Templating=er,R.Tick=eq,R.Time=tG,R.Tooltip=ih,R.addEvent=H,R.animObject=t1.animObject,R.animate=t1.animate,R.arrayMax=G,R.arrayMin=F,R.attr=j,R.chart=st.chart,R.clamp=X,R.color=tK.parse,R.correctFloat=Y,R.createElement=U,R.css=$,R.dateFormat=er.dateFormat,R.defaultOptions=tU.defaultOptions,R.defined=_,R.destroyObjectProperties=K,R.diffObjects=Z,R.discardElement=q,R.distribute=ea.distribute,R.erase=J,R.error=tI,R.extend=Q,R.extendClass=tt,R.find=ta,R.fireEvent=te,R.format=er.format,R.getDeferredAnimation=t1.getDeferredAnimation,R.getMagnitude=to,R.getOptions=tU.getOptions,R.getStyle=tn,R.insertItem=tB,R.isArray=tu,R.isClass=td,R.isDOMElement=th,R.isFunction=tg,R.isNumber=tc,R.isObject=tf,R.isString=tp,R.merge=tm,R.normalizeTickInterval=tx,R.numberFormat=er.numberFormat,R.objectEach=ty,R.offset=tb,R.pad=tv,R.pick=tk,R.pInt=tw,R.relativeLength=tS,R.removeEvent=tA,R.seriesType=iD.seriesType,R.setAnimation=t1.setAnimation,R.setOptions=tU.setOptions,R.splat=tT,R.stableSort=tP,R.stop=t1.stop,R.syncTimeout=tO,R.time=tU.defaultTime,R.timers=tJ.timers,R.timeUnits=tN,R.uniqueKey=tR,R.useSerialIds=function(t){return s=tk(t,s)},R.wrap=function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}},({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;H(t,"afterColumnTranslate",oi,{order:9}),H(s,"afterTranslate",oo),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),s7=o.arc,ot=o.roundedRect,o.arc=oe,o.roundedRect=or}},optionsToObject:os}).compose(R.Series,R.SVGElement,R.SVGRenderer),sG.compose(R.Series.types.column),sz.compose(R.Series),e6.compose(R.Axis),eU.compose(R.SVGRenderer),iZ.compose(R.Chart),e9.compose(R.Axis),(l=(x=R.Chart).prototype).hideOverlappingLabels||(l.hideOverlappingLabels=function(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(s5({x:i[0],y:i[1]},e))return!0;return!1},o,r,n,a,l,h=!1;for(let i=0;i<e;i++)(o=t[i])&&(o.oldOpacity=o.opacity,o.newOpacity=1,o.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},{height:s,polygon:o,width:r}=t.getBBox(),n=ti(t.alignValue)*r;return t.width=r,t.height=s,{x:i.x+(t.parentGroup?.translateX||0)+e-n,y:i.y+(t.parentGroup?.translateY||0)+e,width:r-2*e,height:s-2*e,polygon:o}}}(o));t.sort((t,e)=>(e?.labelrank||0)-(t?.labelrank||0));for(let o=0;o<e;++o){a=(r=t[o])&&r.absoluteBox;let h=a?.polygon;for(let d=o+1;d<e;++d){l=(n=t[d])&&n.absoluteBox;let e=!1;if(a&&l&&r!==n&&r?.newOpacity!==0&&n?.newOpacity!==0&&r?.visibility!=="hidden"&&n?.visibility!=="hidden"){let t=l.polygon;if(h&&t&&h!==t?s(h,t)&&(e=!0):i(a,l)&&(e=!0),e){let t=r?.labelrank<n?.labelrank?r:n,e=t?.text;t&&(t.newOpacity=0),e?.element.querySelector("textPath")&&e.hide()}}}}for(let e of t)e&&s6(e,this)&&(h=!0);h&&te(this,"afterHideAllOverlappingLabels")},H(x,"render",function(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&ty(i.stacking.stacks,t=>{ty(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>
2{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=tk(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,s6(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)})),s3.compose(R.Series.types.pie),e8.compose(R.Chart,R.Axis),iw.compose(R.Chart),ol.compose(R.Chart),sr.compose(R.Axis,R.Chart,R.Series),sv.compose(R.Axis,R.Chart,R.Series),ih.compose(R.Pointer);let oh=R},33870:(t,e,i)=>{"use strict";var s,o,r=i(27655),n={};n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let a=r.A;var l=n.n(a);let h=r.A.AST;var d=n.n(h);let c=r.A.Chart;var p=n.n(c),u=s||(s={});u.compose=function(t){return t.navigation||(t.navigation=new g(t)),t};class g{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,e){this.updates.forEach(i=>{i.call(this.chart,t,e)})}}u.Additions=g;let f=s,{isSafari:m,win:x,win:{document:y}}=l(),b=x.URL||x.webkitURL||x;function v(t,e){let i=x.navigator,s=y.createElement("a");if("string"!=typeof t&&!(t instanceof String)&&i.msSaveOrOpenBlob)return void i.msSaveOrOpenBlob(t,e);if(t=""+t,i.userAgent.length>1e3)throw Error("Input too long");let o=/Edge\/\d+/.test(i.userAgent);if((m&&"string"==typeof t&&0===t.indexOf("data:application/pdf")||o||t.length>2e6)&&!(t=function(t){let e=t.replace(/filename=.*;/,"").match(/data:([^;]*)(;base64)?,([A-Z+\d\/]+)/i);if(e&&e.length>3&&x.atob&&x.ArrayBuffer&&x.Uint8Array&&x.Blob&&b.createObjectURL){let t=x.atob(e[3]),i=new x.ArrayBuffer(t.length),s=new x.Uint8Array(i);for(let e=0;e<s.length;++e)s[e]=t.charCodeAt(e);return b.createObjectURL(new x.Blob([s],{type:e[1]}))}}(t)||""))throw Error("Failed to convert to blob");if(void 0!==s.download)s.href=t,s.download=e,y.body.appendChild(s),s.click(),y.body.removeChild(s);else try{if(!x.open(t,"chart"))throw Error("Failed to open window")}catch{x.location.href=t}}let{isTouchDevice:k}=l(),w={exporting:{allowTableSorting:!0,libURL:"https://code.highcharts.com/12.6.0/lib/",local:!0,type:"image/png",url:`https://export-svg.highcharts.com?v=${l().version}`,pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:["viewFullscreen","printChart","separator","downloadPNG","downloadJPEG","downloadSVG"]}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen?.toggle()}},printChart:{textKey:"printChart",onclick:function(){this.exporting?.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:async function(){await this.exporting?.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:async function(){await this.exporting?.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:async function(){await this.exporting?.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:async function(){await this.exporting?.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from 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"},navigation:{buttonOptions:{symbolSize:14,symbolX:14.5,symbolY:13.5,align:"right",buttonSpacing:5,height:28,y:-5,verticalAlign:"top",width:28,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{fill:"#ffffff",padding:5,stroke:"none","stroke-linecap":"round"}},menuStyle:{border:"none",borderRadius:"3px",background:"#ffffff",padding:"0.5em"},menuItemStyle:{background:"none",borderRadius:"3px",color:"#333333",padding:"0.5em",fontSize:k?"0.9em":"0.8em",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#f2f2f2"}}};!function(t){let e=[];function i(t,e,i,s){return[["M",t,e+2.5],["L",t+i,e+2.5],["M",t,e+s/2+.5],["L",t+i,e+s/2+.5],["M",t,e+s-1.5],["L",t+i,e+s-1.5]]}function s(t,e,i,s){let o=s/3-2;return[].concat(this.circle(i-o,e,o,o),this.circle(i-o,e+o+4,o,o),this.circle(i-o,e+2*(o+4),o,o))}t.compose=function(t){if(-1===e.indexOf(t)){e.push(t);let o=t.prototype.symbols;o.menu=i,o.menuball=s.bind(o)}}}(o||(o={}));let M=o,{doc:S,win:C}=l();function A(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;l().Point&&t instanceof l().Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!l().supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){G(t,e,i)}}function T(t,e,i,s,o){let r=S.createElement(t);return e&&L(r,e),o&&P(r,{padding:"0",border:"none",margin:"0"}),i&&P(r,i),s&&s.appendChild(r),r}function P(t,e){L(t.style,e)}function O(t){t?.parentElement?.removeChild(t)}function L(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function E(t,e,i,s){if(i=i||{},S?.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==l())){let s=S.createEvent("Events");
2s.initEvent(e,!0,!0),i=L(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||L(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],o=t,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[e])),o=Object.getPrototypeOf(o);r&&s.sort((t,e)=>t.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i,t)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let D=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function I(t){null!=t&&clearTimeout(t)}function B(t){return R(t)&&"number"==typeof t.nodeType}function N(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function R(t,e){return!!t&&"object"==typeof t&&(!e||!N(t))}function z(t,...e){let i,s=[t,...e],o={},r=function(t,e){return"object"!=typeof t&&(t={}),W(e,function(i,s){if("__proto__"!==s&&"constructor"!==s){let o;!R(i,!0)||(o=i?.constructor,R(i,!0)&&!B(i)&&o?.name&&"Object"!==o.name)||B(i)?t[s]=e[s]:t[s]=r(t[s]||{},i)}}),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));let n=s.length;for(i=0;i<n;i++)o=r(o,s[i]);return o}function W(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function H(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function F(t,e){return 0>t.indexOf(e)&&!!t.push(e)}function G(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,W(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}let{composed:j}=l();function X(){this.fullscreen=new Y(this)}class Y{static compose(t){F(j,"Fullscreen")&&A(t,"beforeRender",X)}constructor(t){this.chart=t,this.isOpen=!1;let e=t.renderTo;!this.browserProps&&("function"==typeof e.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:e.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen",exitFullscreen:"mozCancelFullScreen"}:e.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:e.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}close(){let t=this,e=t.chart,i=e.options.chart;E(e,"fullscreenClose",void 0,function(){t.isOpen&&t.browserProps&&e.container.ownerDocument instanceof Document&&e.container.ownerDocument[t.browserProps.exitFullscreen](),t.unbindFullscreenEvent&&(t.unbindFullscreenEvent=t.unbindFullscreenEvent()),e.setSize(t.origWidth,t.origHeight,!1),t.origWidth=void 0,t.origHeight=void 0,i.width=t.origWidthOption,i.height=t.origHeightOption,t.origWidthOption=void 0,t.origHeightOption=void 0,t.isOpen=!1,t.setButtonText()})}open(){let t=this,e=t.chart,i=e.options.chart;E(e,"fullscreenOpen",void 0,function(){if(i&&(t.origWidthOption=i.width,t.origHeightOption=i.height),t.origWidth=e.chartWidth,t.origHeight=e.chartHeight,t.browserProps){let i=A(e.container.ownerDocument,t.browserProps.fullscreenChange,function(){t.isOpen?(t.isOpen=!1,t.close()):(e.setSize(null,null,!1),t.isOpen=!0,t.setButtonText())}),s=A(e,"destroy",i);t.unbindFullscreenEvent=()=>{i(),s()};let o=e.renderTo[t.browserProps.requestFullscreen]();o&&o.catch(function(){alert("Full screen is not supported inside a frame.")})}})}setButtonText(){let t=this.chart,e=t.exporting?.divElements,i=t.options.exporting,s=i&&i.buttons&&i.buttons.contextButton.menuItems,o=t.options.lang;if(i?.menuItemDefinitions&&o?.exitFullscreen&&o.viewFullscreen&&s&&e){let t=e[s.indexOf("viewFullscreen")];t&&d().setElementHTML(t,this.isOpen?o.exitFullscreen:i.menuItemDefinitions.viewFullscreen?.textKey||o.viewFullscreen)}}toggle(){this.isOpen?this.close():this.open()}}let{win:U}=l(),V={ajax:function(t){let e={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},i=new XMLHttpRequest;function s(e,i){t.error&&t.error(e,i)}if(!t.url)return!1;i.open((t.type||"get").toUpperCase(),t.url,!0),t.headers?.["Content-Type"]||i.setRequestHeader("Content-Type",e[t.dataType||"json"]||e.text),W(t.headers,function(t,e){i.setRequestHeader(e,t)}),t.responseType&&(i.responseType=t.responseType),i.onreadystatechange=function(){let e;if(4===i.readyState){if(200===i.status){if("blob"!==t.responseType&&(e=i.responseText,"json"===t.dataType))try{e=JSON.parse(e)}catch(t){if(t instanceof Error)return s(i,t)}return t.success?.(e,i)}s(i,i.responseText)}},t.data&&"string"!=typeof t.data&&(t.data=JSON.stringify(t.data)),i.send(t.data)},getJSON:function(t,e){V.ajax({url:t,success:e,dataType:"json",headers:{"Content-Type":"text/plain"}})}};
2V.post=async function(t,e,i){let s=new U.FormData;W(e,function(t,e){s.append(e,t)}),s.append("b64","true");let o=await U.fetch(t,{method:"POST",body:s,...i});if(o.ok){let t=await o.text(),i=document.createElement("a");i.href=`data:${e.type};base64,${t}`,i.download=e.filename,i.click(),O(i)}};let{defaultOptions:$,setOptions:_}=l(),{composed:K,doc:q,isFirefox:Z,isMS:J,isSafari:Q,SVG_NS:tt,win:te}=l();d().allowedAttributes.push("data-z-index","fill-opacity","filter","preserveAspectRatio","rx","ry","stroke-dasharray","stroke-linejoin","stroke-opacity","text-anchor","transform","transform-origin","version","viewBox","visibility","xmlns","xmlns:xlink"),d().allowedTags.push("desc","clippath","fedropshadow","femorphology","g","image");let ti=te.URL||te.webkitURL||te;class ts{constructor(t,e){this.options={},this.chart=t,this.options=e,this.btnCount=0,this.buttonOffset=0,this.divElements=[],this.svgElements=[]}static hyphenate(t){return t.replace(/[A-Z]/g,function(t){return"-"+t.toLowerCase()})}static async imageToDataURL(t,e,i){let s=await ts.loadImage(t),o=q.createElement("canvas"),r=o?.getContext("2d");if(r)return o.height=s.height*e,o.width=s.width*e,r.drawImage(s,0,0,o.width,o.height),o.toDataURL(i);throw Error("No canvas found!")}static async fetchCSS(t){try{let e=await fetch(t),i=await e.text(),s=new CSSStyleSheet;return s.replaceSync(i),s}catch{(0,a.error)(`Warning: Failed to fetch CSS from ${t}`,!1)}}static async handleStyleSheet(t,e){try{for(let i of Array.from(t.cssRules)){if(i instanceof CSSImportRule){let t=await ts.fetchCSS(i.href);t&&await ts.handleStyleSheet(t,e)}if(i instanceof CSSFontFaceRule){let s=i.cssText;if(t.href){let e=t.href,i=/url\(\s*(['"]?)(?![a-z]+:|\/\/)([^'")]+?)\1\s*\)/gi;s=s.replace(i,(t,i,s)=>{let o=new URL(s,e).href;return`url(${i}${o}${i})`})}e.push(s)}}}catch{if(t.href){let i=await ts.fetchCSS(t.href);i&&await ts.handleStyleSheet(i,e)}}}static async fetchStyleSheets(){let t=[];for(let e of Array.from(q.styleSheets))await ts.handleStyleSheet(e,t);return t}static async inlineFonts(t){let e=await ts.fetchStyleSheets(),i=/url\(([^)]+)\)/g,s=[],o=e.join("\n"),r;for(;r=i.exec(o);){let t=r[1].replace(/['"]/g,"");s.includes(t)||s.push(t)}let n=t=>{let e="",i=new Uint8Array(t);for(let t=0;t<i.byteLength;t++)e+=String.fromCharCode(i[t]);return btoa(e)},a={};for(let t of s)try{let e=await fetch(t),i=e.headers.get("Content-Type")||"",s=n(await e.arrayBuffer());a[t]=`data:${i};base64,${s}`}catch{}o=o.replace(i,(t,e)=>{let i=e.replace(/['"]/g,"");return`url(${a[i]||i})`});let l=document.createElementNS("http://www.w3.org/2000/svg","style");return l.textContent=o,t.append(l),t}static loadImage(t){return new Promise((e,i)=>{let s=new te.Image;s.crossOrigin="Anonymous",s.onload=()=>{setTimeout(()=>{e(s)},ts.loadEventDeferDelay)},s.onerror=t=>{i(t)},s.src=t})}static prepareImageOptions(t){let e=t?.type||"image/png",i=t?.libURL||$.exporting?.libURL;return{type:e,filename:(t?.filename||"chart")+"."+("image/svg+xml"===e?"svg":e.split("/")[1]),scale:t?.scale||1,libURL:i?.slice(-1)!=="/"?i+"/":i}}static sanitizeSVG(t,e){let i=t.indexOf("</svg>")+6,s=t.indexOf("<foreignObject")>-1,o=t.substr(i);return t=t.substr(0,i),s?t=t.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />").replace(/(<svg(?![^>]*xmlns=)[^>]*)>/g,'$1 xmlns="http://www.w3.org/2000/svg">'):o&&e?.exporting?.allowHTML&&(o='<foreignObject x="0" y="0" width="'+e.chart.width+'" height="'+e.chart.height+'"><body xmlns="http://www.w3.org/1999/xhtml">'+o.replace(/(<(?:img|br).*?(?=\>))>/g,"$1 />").replace(/(<svg(?![^>]*xmlns=)[^>]*)>/g,'$1 xmlns="http://www.w3.org/2000/svg">')+"</body></foreignObject>",t=t.replace("</svg>",o+"</svg>")),t=t.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery\d+="[^"]+"/g,"").replace(/url\(("|&quot;)(.*?)("|&quot;)\;?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/<svg /,'<svg xmlns:xlink="http://www.w3.org/1999/xlink" ').replace(/ (NS\d+\:)?href=/g," xlink:href=").replace(/(<image[^>]*) xlink:href=/g,"$1 href=").replace(/\n+/g," ").replace(/&nbsp;/g,"\xa0").replace(/&shy;/g,"\xad")}static svgToDataURL(t){let e=te.navigator.userAgent,i=e.indexOf("WebKit")>-1&&0>e.indexOf("Chrome");try{if(!i&&-1===t.indexOf("<foreignObject"))return ti.createObjectURL(new te.Blob([t],{type:"image/svg+xml;charset-utf-16"}))}catch{}return"data:image/svg+xml;charset=UTF-8,"+encodeURIComponent(t)}addButton(t){let e,i=this,s=i.chart,o=s.renderer,r=z(s.options.navigation?.buttonOptions,t),n=r.onclick,a=r.menuItems,l=r.symbolSize||12;if(!1===r.enabled||!r.theme)return;let h=s.styledMode?{}:r.theme,d=()=>{};n?d=function(t){t&&t.stopPropagation(),n.call(s,t,s)}:a&&(d=function(t){t&&t.stopPropagation(),i.contextMenu(c.menuClassName,a,c.translateX||0,c.translateY||0,c.width||0,c.height||0,c),c.setState(2)}),r.text&&r.symbol?h.paddingLeft=H(h.paddingLeft,30):r.text||L(h,{width:r.width,height:r.height,padding:0});let c=o.button(r.text||"",0,0,d,h,void 0,void 0,void 0,void 0,r.useHTML).addClass(t.className||"").attr({title:H(s.options.lang[r._titleKey||r.titleKey],"")});c.menuClassName=t.menuClassName||"highcharts-menu-"+i.btnCount++,r.symbol&&(e=o.symbol(r.symbol,Math.round((r.symbolX||0)-l/2),Math.round((r.symbolY||0)-l/2),l,l,{width:l,height:l}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(c),s.styledMode||e.attr({stroke:r.symbolStroke,fill:r.symbolFill,"stroke-width":r.symbolStrokeWidth||1})),c.add(i.group).align(L(r,{width:c.width,x:H(r.x,i.buttonOffset)}),!0,"spacingBox"),i.buttonOffset+=((c.width||0)+(r.buttonSpacing||0))*("right"===r.align?-1:1),i.svgElements.push(c,e)}afterPrint(){let t=this.chart;if(!this.printReverseInfo)return;let{childNodes:e,origDisplay:i,resetParams:s}=this.printReverseInfo;this.moveContainers(t.renderTo),[].forEach.call(e,function(t,e){1===t.nodeType&&(t.style.display=i[e]||"")}),this.isPrinting=!1,s&&t.setSize.apply(t,s),delete this.printReverseInfo,ts.printingChart=void 0,E(t,"afterPrint")}beforePrint(){let t=this.chart,e=q.body,i=this.options.printMaxWidth,s={childNodes:e.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0,t.pointer?.reset(void 0,0),E(t,"beforePrint"),i&&t.chartWidth>i&&(s.resetParams=[t.options.chart.width,void 0,!1],t.setSize(i,void 0,!1)),[].forEach.call(s.childNodes,function(t,e){1===t.nodeType&&(s.origDisplay[e]=t.style.display,t.style.display="none")}),this.moveContainers(e),this.printReverseInfo=s}contextMenu(t,e,i,s,o,r,n){let a=this,l=a.chart,h=l.options.navigation,c=l.chartWidth,p=l.chartHeight,u="cache-"+t,g=Math.max(o,r),f,m=l[u];m||(a.contextMenuEl=l[u]=m=T("div",{className:t},{position:"absolute",zIndex:1e3,padding:g+"px",pointerEvents:"auto",...l.renderer.style}
2,l.scrollablePlotArea?.fixedDiv||l.container),f=T("ul",{className:"highcharts-menu"},l.styledMode?{}:{listStyle:"none",margin:0,padding:0},m),l.styledMode||P(f,L({MozBoxShadow:"3px 3px 10px #0008",WebkitBoxShadow:"3px 3px 10px #0008",boxShadow:"3px 3px 10px #0008"},h?.menuStyle||{})),m.hideMenu=function(){P(m,{display:"none"}),n&&n.setState(0),l.exporting&&(l.exporting.openMenu=!1),P(l.renderTo,{overflow:"hidden"}),P(l.container,{overflow:"hidden"}),I(m.hideTimer),E(l,"exportMenuHidden")},a.events?.push(A(m,"mouseleave",function(){m.hideTimer=te.setTimeout(m.hideMenu,500)}),A(m,"mouseenter",function(){I(m.hideTimer)}),A(q,"mouseup",function(e){l.pointer?.inClass(e.target,t)||m.hideMenu()}),A(m,"click",function(){l.exporting?.openMenu&&m.hideMenu()})),e.forEach(function(t){if("string"==typeof t&&a.options.menuItemDefinitions?.[t]&&(t=a.options.menuItemDefinitions[t]),R(t,!0)){let e;t.separator?e=T("hr",void 0,void 0,f):("viewData"===t.textKey&&a.isDataTableVisible&&(t.textKey="hideData"),e=T("li",{className:"highcharts-menu-item",onclick:function(e){e&&e.stopPropagation(),m.hideMenu(),"string"!=typeof t&&t.onclick&&t.onclick.apply(l,arguments)}},void 0,f),d().setElementHTML(e,t.text||l.options.lang[t.textKey]),l.styledMode||(e.onmouseover=function(){P(this,h?.menuItemHoverStyle||{})},e.onmouseout=function(){P(this,h?.menuItemStyle||{})},P(e,L({cursor:"pointer"},h?.menuItemStyle||{})))),a.divElements.push(e)}}),a.divElements.push(f,m),a.menuHeight=m.offsetHeight,a.menuWidth=m.offsetWidth);let x={display:"block"};i+(a.menuWidth||0)>c?x.right=c-i-o-g+"px":x.left=i-g+"px",s+r+(a.menuHeight||0)>p&&n.alignOptions?.verticalAlign!=="top"?x.bottom=p-s-g+"px":x.top=s+r-g+"px",P(m,x),P(l.renderTo,{overflow:""}),P(l.container,{overflow:""}),l.exporting&&(l.exporting.openMenu=!0),E(l,"exportMenuShown")}destroy(t){let e,i=t?t.target:this.chart,{divElements:s,events:o,svgElements:r}=this;r.forEach((t,s)=>{t&&(t.onclick=t.ontouchstart=null,i[e="cache-"+t.menuClassName]&&delete i[e],r[s]=t.destroy())}),r.length=0,this.group&&(this.group.destroy(),delete this.group),s.forEach(function(t,e){t&&(I(t.hideTimer),G(t,"mouseleave"),s[e]=t.onmouseout=t.onmouseover=t.ontouchstart=t.onclick=null,O(t))}),s.length=0,o&&(o.forEach(function(t){t()}),o.length=0)}async downloadSVG(t,e){let i,s={svg:t,exportingOptions:e,exporting:this};if(E(ts.prototype,"downloadSVG",s),s.defaultPrevented)return;let{type:o,filename:r,scale:n,libURL:l}=ts.prepareImageOptions(e);if("application/pdf"===o)throw Error("Offline exporting logic for PDF type is not found.");if("image/svg+xml"===o){if(void 0!==te.MSBlobBuilder){let e=new te.MSBlobBuilder;e.append(t),i=e.getBlob("image/svg+xml")}else i=ts.svgToDataURL(t);v(i,r)}else{i=ts.svgToDataURL(t);try{ts.objectURLRevoke=!0;let t=await ts.imageToDataURL(i,n,o);v(t,r)}catch(c){if("No canvas found!"===c.message)throw c;if(t.length>1e8)throw Error("Input too long");let e=q.createElement("canvas"),i=e.getContext("2d"),s=t.match(/^<svg[^>]*\s{,1000}width\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/),d=t.match(/^<svg[^>]*\s{0,1000}height\s{,1000}=\s{,1000}\"?(\d+)\"?[^>]*>/);if(i&&s&&d){let c=s[1]*n,p=d[1]*n;if(e.width=c,e.height=p,!te.canvg){var h;ts.objectURLRevoke=!0,await (h=l+"canvg.js",new Promise((t,e)=>{let i=y.getElementsByTagName("head")[0],s=y.createElement("script");s.type="text/javascript",s.src=h,s.onload=()=>{t()},s.onerror=()=>{let t=`Error loading script ${h}`;(0,a.error)(t),e(Error(t))},i.appendChild(s)}))}te.canvg.Canvg.fromString(i,t).start(),v(te.navigator.msSaveOrOpenBlob?e.msToBlob():e.toDataURL(o),r)}}finally{if(ts.objectURLRevoke)try{ti.revokeObjectURL(i)}catch{}}}}async exportChart(t,e){if((t=z(this.options,t)).local)await this.localExport(t,e||{});
2else{let i=await this.getSVGForExport(t,e);t.url&&await V.post(t.url,{filename:t.filename?t.filename.replace(/\//g,"-"):this.getFilename(),type:t.type,width:t.width,scale:t.scale,svg:i},t.fetchOptions)}}async fallbackToServer(t,e){!1===t.fallbackToExportServer?t.error?t.error(t,e):(0,a.error)(28,!0):"application/pdf"===t.type&&(t.local=!1,await this.exportChart(t))}getChartHTML(t){let e=this.chart;return t&&this.inlineStyles(),this.resolveCSSVariables(),e.container.querySelectorAll("canvas").forEach(function(t){let i=t.toDataURL("image/png"),s=t.parentNode,o=e.renderer.image(i,0,0,t.width,t.height);P(o.element,{width:t.style.width,height:t.style.height}),s.parentNode.insertBefore(o.element,s),s.remove()}),e.container.innerHTML}getFilename(){let t=this.chart.userOptions.title?.text,e=this.options.filename;return e?e.replace(/\//g,"-"):("string"==typeof t&&(e=t.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z\d\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,"")),(!e||e.length<5)&&(e="chart"),e)}getSVG(t,e){let i=this.chart,s,o,r=z(i.options,t);r.plotOptions=z(i.userOptions.plotOptions,t?.plotOptions),r.time=z(i.userOptions.time,t?.time);let n=T("div",void 0,{position:"absolute",top:"-9999em",width:i.chartWidth+"px",height:i.chartHeight+"px"},q.body),l=i.renderTo.style.width,h=i.renderTo.style.height,d=r.exporting?.sourceW
2idth||r.chart.width||/px$/.test(l)&&parseInt(l,10)||(r.isGantt?800:600),c=r.exporting?.sourceHeight||r.chart.height||/px$/.test(h)&&parseInt(h,10)||400;L(r.chart,{animation:!1,renderTo:n,forExport:!0,renderer:"SVGRenderer",width:d,height:c}),r.exporting&&(r.exporting.enabled=!1),delete r.data,r.series=[],i.series.forEach(function(t){(o=z(t.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:t.visible})).isInternal||r?.series?.push(o)});let p={};i.axes.forEach(function(t){t.userOptions.internalKey||(t.userOptions.internalKey=(0,a.uniqueKey)()),r&&!t.options.isInternal&&(p[t.coll]||(p[t.coll]=!0,r[t.coll]=[]),r[t.coll].push(z(t.userOptions,{visible:t.visible,type:t.type,uniqueNames:t.uniqueNames})))}),r.colorAxis=i.userOptions.colorAxis;let u=e=>{t&&["xAxis","yAxis","series"].forEach(function(i){t[i]&&e.update({[i]:t[i]})}),i.axes.forEach(function(i){let s=D(e.axes,t=>t.options.internalKey===i.userOptions.internalKey);if(s){var o;let e=i.getExtremes(),r=(N(o=t?.[i.coll]||{})?o:[o])[0],n="min"in r?r.min:e.userMin,a="max"in r?r.max:e.userMax;(void 0!==n&&n!==s.min||void 0!==a&&a!==s.max)&&s.setExtremes(n??void 0,a??void 0,!0,!1)}});let o=e.exporting;return o?.options.applyStyleSheets&&this.applyShadowDOMStyles(e),s=o?.getChartHTML(i.styledMode||r?.exporting?.applyStyleSheets)||"",E(i,"getSVG",{chartCopy:e}),s=ts.sanitizeSVG(s,r),r=void 0,e.destroy(),O(n),s};return e?new Promise(t=>new i.constructor(r||{},function(e){i.callback?.call(this,e),t(u(this))})):u(new i.constructor(r,i.callback))}applyShadowDOMStyles(t){let e=this.chart,i=[],s=e.container,o;for(;s&&(!(o=s.getRootNode())||"object"!=typeof o.host);)s=s.parentNode,o=null;o?.querySelectorAll("style").forEach(e=>{let s=e.cloneNode(!0);t.container.appendChild(s),i.push(s)}),A(e,"getSVG",()=>{i.forEach(t=>{t.remove()})})}async getSVGForExport(t,e){let i=this.options;
2return await this.getSVG(z({chart:{borderRadius:0}},i.chartOptions,e,{exporting:{sourceWidth:t?.sourceWidth||i.sourceWidth,sourceHeight:t?.sourceHeight||i.sourceHeight}}),!0)}inlineStyles(){let t,e=ts.inlineDenylist,i=ts.inlineAllowlist,s={},o=T("iframe",void 0,{width:"1px",height:"1px",visibility:"hidden"},q.body),r=o.contentWindow?.document;r&&r.body.appendChild(r.createElementNS(tt,"svg")),function o(n){let a,l,h,d,c,p,u={};if(r&&1===n.nodeType&&-1===ts.unstyledElements.indexOf(n.nodeName)){if(a=te.getComputedStyle(n,null),l="svg"===n.nodeName?{}:te.getComputedStyle(n.parentNode,null),!s[n.nodeName]){t=r.getElementsByTagName("svg")[0],h=r.createElementNS(n.namespaceURI,n.nodeName),t.appendChild(h);let e=te.getComputedStyle(h,null),i={};for(let t in e)t.length<1e3&&"string"==typeof e[t]&&!/^\d+$/.test(t)&&(i[t]=e[t]);s[n.nodeName]=i,"text"===n.nodeName&&delete s.text.fill,t.removeChild(h)}for(let t in a)(Z||J||Q||Object.hasOwnProperty.call(a,t))&&function(t,o){if(d=c=!1,i.length){for(p=i.length;p--&&!c;)c=i[p].test(o);d=!c}for("transform"===o&&"none"===t&&(d=!0),p=e.length;p--&&!d;){if(o.length>1e3)throw Error("Input too long");d=e[p].test(o)||"function"==typeof t}!d&&(l[o]!==t||"svg"===n.nodeName)&&s[n.nodeName][o]!==t&&(ts.inlineToAttributes&&-1===ts.inlineToAttributes.indexOf(o)?u[o]=t:t&&n.setAttribute(ts.hyphenate(o),t))}(a[t],t);if(P(n,u),"svg"===n.nodeName&&n.setAttribute("stroke-width","1px"),"text"===n.nodeName)return;[].forEach.call(n.children||n.childNodes,o)}}(this.chart.container.querySelector("svg")),t.parentNode.removeChild(t),o.parentNode.removeChild(o)}async localExport(t,e){let i=this.chart,s,o,r=null,n;if(J&&i.styledMode&&!ts.inlineAllowlist.length&&ts.inlineAllowlist.push(/^blockSize/,/^border/,/^caretColor/,/^color/,/^columnRule/,/^columnRuleColor/,/^cssFloat/,/^cursor/,/^fill$/,/^fillOpacity/,/^font/,/^inlineSize/,/^length/,/^lineHeight/,/^opacity/,/^outline/,/^parentRule/,/^rx$/,/^ry$/,/^stroke/,/^textAlign/,/^textAnchor/,/^textDecoration/,/^transform/,/^vectorEffect/,/^visibility/,/^x$/,/^y$/),J&&("application/pdf"===t.type||i.container.getElementsByTagName("image").length&&"image/svg+xml"!==t.type)||"application/pdf"===t.type&&[].some.call(i.container.getElementsByTagName("image"),function(t){let e=t.getAttribute("href");return""!==e&&"string"==typeof e&&0!==e.indexOf("data:")}))return void await this.fallbackToServer(t,Error("Image type not supported for this chart/browser."));let a=A(i,"getSVG",t=>{o=t.chartCopy.options,n=(s=t.chartCopy.container.cloneNode(!0))&&s.getElementsByTagName("image")||[]});try{let i;
2for(let i of(await this.getSVGForExport(t,e),n?Array.from(n):[]))if(r=i.getAttributeNS("http://www.w3.org/1999/xlink","href")){ts.objectURLRevoke=!1;let e=await ts.imageToDataURL(r,t?.scale||1,t?.type||"image/png");i.setAttributeNS("http://www.w3.org/1999/xlink","href",e)}else i.parentNode.removeChild(i);let a=s?.querySelector("svg");a&&!t.chartOptions?.chart?.style?.fontFamily&&await ts.inlineFonts(a);let l=(i=s?.innerHTML,ts.sanitizeSVG(i||"",o));if(l.indexOf("<foreignObject")>-1&&"image/svg+xml"!==t.type&&(J||"application/pdf"===t.type))throw Error("Image type not supported for charts with embedded HTML");return await this.downloadSVG(l,L({filename:this.getFilename()},t)),l}catch(e){await this.fallbackToServer(t,e)}finally{a()}}moveContainers(t){let e=this.chart,{scrollablePlotArea:i}=e;(i?[i.fixedDiv,i.scrollingContainer]:[e.container]).forEach(function(e){t.appendChild(e)})}print(){let t=this.chart;this.isPrinting||(ts.printingChart=t,Q||this.beforePrint(),setTimeout(()=>{te.focus(),te.print(),Q||setTimeout(()=>{t.exporting?.afterPrint()},1e3)},1))}render(){let t=this,{chart:e,options:i}=t,s=t?.isDirty||!t?.svgElements.length;t.buttonOffset=0,t.isDirty&&t.destroy(),s&&!1!==i.enabled&&(t.events=[],t.group||(t.group=e.renderer.g("exporting-group").attr({zIndex:3}).add()),W(i?.buttons,function(e){t.addButton(e)}),t.isDirty=!1)}resolveCSSVariables(){Array.from(this.chart.container.querySelectorAll("*")).forEach(t=>{["color","fill","stop-color","stroke"].forEach(e=>{let i=t.getAttribute(e);i?.includes("var(")&&t.setAttribute(e,getComputedStyle(t).getPropertyValue(e));let s=t.style?.[e];s?.includes("var(")&&(t.style[e]=getComputedStyle(t).getPropertyValue(e))})})}update(t,e){this.isDirty=!0,z(!0,this.options,t),H(e,!0)&&this.chart.redraw()}}ts.inlineAllowlist=[],ts.inlineDenylist=[/-/,/^(clipPath|cssText|d|height|width)$/,/^font$/,/[lL]ogical(Width|Height)$/,/^parentRule$/,/^(cssRules|ownerRules)$/,/perspective/,/TapHighlightColor/,/^transition/,/^length$/,/^\d+$/],ts.inlineToAttributes=["fill","stroke","strokeLinecap","strokeLinejoin","strokeWidth","textAnchor","x","y"],ts.loadEventDeferDelay=150*!!J,ts.unstyledElements=["clipPath","defs","desc"],function(t){function e(t){let e=t.exporting;e&&(e.render(),A(t,"redraw",function(){this.exporting?.render()}),A(t,"destroy",function(){this.exporting?.destroy()}))}function i(){let e=this;e.options.exporting&&(e.exporting=new t(e,e.options.exporting),f.compose(e).navigation.addUpdate((t,i)=>{e.exporting&&(e.exporting.isDirty=!0,z(!0,e.options.navigation,t),H(i,!0)&&e.redraw())}))}function s({alignTo:t,key:e,textPxLength:i}){let o=this.options.exporting,{align:r,buttonSpacing:n=0,verticalAlign:a,width:l=0}=z(this.options.navigation?.buttonOptions,o?.buttons?.contextButton),h=t.width-i,d=l+n;(o?.enabled??!0)&&"title"===e&&"right"===r&&"top"===a&&h<2*d&&(h<d?t.width-=d:this.title?.alignValue!=="left"&&(t.x-=d-h/2))}t.compose=function(o,r){M.compose(r),Y.compose(o),F(K,"Exporting")&&(L(p().prototype,{exportChart:async function(t,e){await this.exporting?.exportChart(t,e)},getChartHTML:function(t){return this.exporting?.getChartHTML(t)},getFilename:function(){return this.exporting?.getFilename()},getSVG:function(t){return this.exporting?.getSVG(t,!1)},print:function(){return this.exporting?.print()}}),o.prototype.callbacks.push(e),A(o,"afterInit",i),A(o,"layOutTitle",s),Q&&te.matchMedia("print").addListener(function(e){t.printingChart&&(e.matches?t.printingChart.exporting?.beforePrint():t.printingChart.exporting?.afterPrint())}),_(w))}}(ts||(ts={}));let to=l();to.Exporting=ts,to.HttpUtilities=to.HttpUtilities||V,to.ajax=to.HttpUtilities.ajax,to.getJSON=to.HttpUtilities.getJSON,to.post=to.HttpUtilities.post,ts.compose(to.Chart,to.Renderer),l()},39291:function(t){var e;(e="u"<typeof window?this:window)._Highcharts=(()=>{"use strict";let t,e,i,s,o,r;var n,a,l,h,d,c,p,u,g,f,m,x,y,b,v,k,w,M,S,C,A,T,P,O,L,E,D={};D.d=(t,e)=>{for(var i in e)D.o(e,i)&&!D.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},D.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var I={};D.d(I,{default:()=>oa}),(n=f||(f={})).SVG_NS="http://www.w3.org/2000/svg",n.product="Highcharts",n.version="12.6.0",n.win="u">typeof window?window:{},n.doc=n.win.document,n.svg=!!n.doc?.createElementNS?.(n.SVG_NS,"svg")?.createSVGRect,n.pageLang=n.doc?.documentElement?.closest("[lang]")?.lang,n.userAgent=n.win.navigator?.userAgent||"",n.isChrome=n.win.chrome,n.isFirefox=-1!==n.userAgent.indexOf("Firefox"),n.isMS=/(edge|msie|trident)/i.test(n.userAgent)&&!n.win.opera,n.isSafari=!n.isChrome&&-1!==n.userAgent.indexOf("Safari"),n.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(n.userAgent),n.isWebKit=-1!==n.userAgent.indexOf("AppleWebKit"),n.deg2rad=2*Math.PI/360,n.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],n.noop=function(){},n.supportsPassiveEvents=function(){let t=!1;if(!n.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});n.win.addEventListener&&n.win.removeEventListener&&(n.win.addEventListener("testPassive",n.noop,e),n.win.removeEventListener("testPassive",n.noop,e))}return t}(),n.charts=[],n.composed=[],n.dateFormats={},n.seriesTypes={},n.symbolSizes={},n.chartCount=0;let B=f,{doc:N,win:R}=B;function z(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;B.Point&&t instanceof B.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!B.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){tS(t,e,i)}}function W(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i}function H(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i}function F(t,e,i){let s,o=td(e)&&!V(i),r=(e,i)=>{V(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return td(e)?r(i,e):tm(e,r),s}function G(t,e,i){return t>e?t<i?t:i:e}function j(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}function X(t,e,i,s,o){let r=N.createElement(t);return e&&Z(r,e),o&&U(r,{padding:"0",border:"none",margin:"0"}
vendor: 8,565 bytes, lines 2-3
2),i&&U(r,i),s&&s.appendChild(r),r}function Y(t,e=0,i){let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o}function U(t,e){Z(t.style,e)}function V(t){return null!=t}function $(t,e,i){tm(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})}function _(t){t?.parentElement?.removeChild(t)}function K(t,e,i,s){let o={};return!function t(e,o,r,n){let a=i?o:e;tm(e,function(i,l){if(!n&&s&&s.indexOf(l)>-1&&o[l]){i=tC(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],n+1)))}else tu(i,!0)&&!i.nodeType?(r[l]=tc(i)?[]:{},t(i,o[l]||{},r[l],n+1),0===Object.keys(r[l]).length&&("colorAxis"!==l||0!==n)&&delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=a[l])})}(t,e,o,0),o}function q(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}}function Z(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function J(t,e){let i=function(){};return i.prototype=new t,Z(i.prototype,e),i}function Q(t,e,i,s){if(i=i||{},N?.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==B)){let s=N.createEvent("Events");s.initEvent(e,!0,!0),i=Z(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||Z(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],o=t,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[e])),o=Object.getPrototypeOf(o);r&&s.sort((t,e)=>t.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i,t)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let tt=(t="")=>({center:.5,right:1,middle:.5,bottom:1})[t]||0;function te(t,e){let i,s,o,r,n=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!n?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)}),i}function ti(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function ts(t,e){let i=t.split(".");for(;i.length&&V(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return tu(e)&&(t=e["@this"]),t??e}let s=e[t.replace(/[\\'"]/g,"")];if(!V(s)||"function"==typeof s||"number"==typeof s.nodeType||s===R)return;e=s}return e}function to(t,e,i){let s;if("width"===e){let e=Math.min(t.offsetWidth,t.scrollWidth),i=t.getBoundingClientRect?.().width;return i<e&&i>=e-1&&(e=Math.floor(i)),Math.max(0,e-(to(t,"padding-left",!0)||0)-(to(t,"padding-right",!0)||0))}if("height"===e)return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(to(t,"padding-top",!0)||0)-(to(t,"padding-bottom",!0)||0));let o=R.getComputedStyle(t,void 0);return o&&(s=o.getPropertyValue(e),tb(i,"opacity"!==e)&&(s=tv(s))),s}let tr=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function tn(t){V(t)&&clearTimeout(t)}function ta(t){return tu(t)&&"number"==typeof t.nodeType}function tl(t){let e=t?.constructor;return!!(tu(t,!0)&&!ta(t)&&e?.name&&"Object"!==e.name)}function th(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function td(t){return"string"==typeof t}function tc(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function tp(t){return"function"==typeof t}function tu(t,e){return!!t&&"object"==typeof t&&(!e||!tc(t))}function tg(t,...e){let i,s=[t,...e],o={},r=function(t,e){return"object"!=typeof t&&(t={}),tm(e,function(i,s){"__proto__"!==s&&"constructor"!==s&&(!tu(i,!0)||tl(i)||ta(i)?t[s]=e[s]:t[s]=r(t[s]||{},i))}),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));let n=s.length;for(i=0;i<n;i++)o=r(o,s[i]);return o}function tf(t,e,i,s,o){let r,n=t;i=tb(i,ti(t));let a=t/i;for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(n=e[r],(!o||!(n*i>=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return j(n*i,-Math.round(Math.log(.001)/Math.LN10))}function tm(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function tx(t){let e=N.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(R.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(R.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}}function ty(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t}function tb(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function tv(t,e){return parseInt(t,e||10)}function tk(t,e){return 0>t.indexOf(e)&&!!t.push(e)}function tw(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)}function tM(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t}function tS(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,tm(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function tC(t){return tc(t)?t:[t]}function tA(t,e){let i,s,o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI}function tT(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)}function tP(t){return td(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)}let{charts:tO,win:tL}=B;function tE(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=th(t),n=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(n+="?"),tm(s,function(e,i){t+=`
3 - ${i}: ${e}`,r&&(n+=encodeURI(i)+"="+encodeURI(e))}),n+=t}Q(B,"displayError",{chart:i,code:t,message:n,params:s},function(){if(e)throw Error(n);tL.console&&-1===tE.messages.indexOf(n)&&console.warn(n)}),tE.messages.push(n)}function tD(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||th(s)&&s<tb(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i}(tE||(tE={})).messages=[];let tI={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let tB=(i=Math.random().toString(36).substring(2,9)+"-",s=0,function(){return"highcharts-"+(t?"":i)+s++});tL.jQuery&&(tL.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new B[td(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):tO[F(this[0],"data-highcharts-chart")]});let{pageLang:tN,win:tR}=B,tz=B.isSafari&&tR.Intl&&!tR.Intl.DateTimeFormat.prototype.formatRange,tW=class{constructor(t,e){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=tR.Date,this.update(t),this.lang=e}update(t={}){this.dTLCache={},this.options=t=tg(!0,this.options,t);let{timezoneOffset:e,useUTC:i,locale:s}=t;this.Date=t.Date||tR.Date||Date;let o=t.timezone;V(i)&&(o=i?"UTC":void 0),e&&e%60==0&&(o="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==o&&o?.indexOf("Etc/GMT")!==0,this.timezone=o,this.lang&&s&&(this.lang.locale=s),["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,n,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, | |\/|:)/g);return[o,s-1,i,r,n,a,Math.floor(Number(t)||0)%1e3,"DLMXJVS".indexOf(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||tN){let s=JSON.stringify(t)+i;td(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(tE(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):tE(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};
vendor: 8,585 bytes, line 3
3return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&Z(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,n){let a=this.Date.UTC(t,e,i,s,o||0,r||0,n||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(a);if(a+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(a);t!==e?a+=e-t:t-36e5!==this.getTimezoneOffset(a-36e5)||tz||(a-=36e5)}}return a}parse(t){if(!td(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(th(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),n=-(60*(s+r/60)*6e4);if(th(n))return n}return 0}dateFormat(t,e,i){let s=this.lang;if(!V(e)||isNaN(e))return s?.invalidDate||"";if(td(t=t??"%Y-%m-%d %H:%M:%S")){let i,o=/%\[([a-zA-Z]+)\]/g;for(;i=o.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e,s?.locale))}if(td(t)&&-1!==t.indexOf("%")){let i=this,[o,r,n,a,l,h,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;tm(Z({a:u?u[c]:p[c].substr(0,3),A:p[c],d:ty(n),e:ty(n,2," "),w:c,v:s?.weekFrom??"",b:f[r],B:g[r],m:ty(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:ty(a),k:a,I:ty(a%12||12),l:a%12||12,M:ty(l),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:ty(h),L:ty(d,3)},B.dateFormats),function(s,o){if(td(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e,i):s)})}else if(tu(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(Z({timeZone:s},t),e)+r}return i?tP(t):t}resolveDTLFormat(t){return tu(t,!0)?tu(t,!0)&&void 0===t.main?{main:t}:t:{main:(t=tC(t))[0],from:t[1],to:t[2]}}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in tI){if(t&&t===tI.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){a="week";break}if(t&&tI[a]>t){a=l;break}if(n[a]&&o.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}},tH=class extends tW{getTimeTicks(t,e,i,s){let o=this,r=[],n={},{count:a=1,unitRange:l}=t,[h,d,c,p,u,g]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),V(e)){if(f=l>=tI.second?0:a*Math.floor(f/a),l>=tI.second&&(g=l>=tI.minute?0:a*Math.floor(g/a)),l>=tI.minute&&(u=l>=tI.hour?0:a*Math.floor(u/a)),l>=tI.hour&&(p=l>=tI.day?0:a*Math.floor(p/a)),l>=tI.day&&(c=l>=tI.month?1:Math.max(1,a*Math.floor(c/a))),l>=tI.month&&(d=l>=tI.year?0:a*Math.floor(d/a)),l>=tI.year&&(h-=h%a),l===tI.week){a&&(e=o.makeTime(h,d,c,p,u,g,f));let t=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"),i="DLMXJVS".indexOf(t);c+=-i+s+(i<s?-7:0)}e=o.makeTime(h,d,c,p,u,g,f),o.variableTimezone&&V(i)&&(m=i-e>4*tI.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t<i;)r.push(t),l===tI.year?t=o.makeTime(h+x*a,0):l===tI.month?t=o.makeTime(h,d+x*a):m&&(l===tI.day||l===tI.week)?t=o.makeTime(h,d,c+x*a*(l===tI.day?1:7)):m&&l===tI.hour&&a>1?t=o.makeTime(h,d,c,p+x*a):t+=l*a,x++;r.push(t),l<=tI.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(n[t]="day")})}return r.info=Z(t,{higherRanks:n,totalRange:l*a}),r}},{isTouchDevice:tF}=B,tG={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{color:"#333333",fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,showDelay:0,padding:8,position:{x:0,y:3},shared:!1,snap:tF?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tj=new tH(tG.time,tG.lang),tX={defaultOptions:tG,defaultTime:tj,getOptions:function(){return tG},setOptions:function(t){return Q(B,"setOptions",{options:t}),tg(!0,tG,t),t.time&&tj.update(tG.time),t.lang&&"locale"in t.lang&&tj.update({locale:t.lang.locale}),t.lang?.chartTitle&&(tG.title={...tG.title,text:t.lang.chartTitle}),tG}},{win:tY}=B,tU=(t,e,i)=>`color-mix(in srgb,${t},${e} ${100*i}%)`,tV=t=>td(t)&&!!t&&"none"!==t;class t${static parse(t){return t?new t$(t):t$.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;const r=B.Color;if(r&&r!==t$)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new t$(t[1]));else if("string"==typeof t)for(this.input=t=t$.names[t.toLowerCase()]||t,s=t$.parsers.length;s--&&!i;)(e=(o=t$.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if(this.output)return this.output;if("object"==typeof e&&void 0!==this.stops){let i=tg(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&th(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(th(t)&&0!==t)if(th(e[0]))for(let i=0;i<3;i++)e[i]+=tv(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else t$.useColorMix&&tV(this.input)&&(this.output=tU(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!th(i[0])||!th(s[0]))return t$.useColorMix&&tV(this.input)&&tV(t.input)&&e<.99?tU(this.input,t.input,e):t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),n=s.slice(0,3).map(r).map(Math.round);
3return o&&n.push(r(s[3],3)),(o?"rgba(":"rgb(")+n.join(",")+")"}}t$.names={white:"#ffffff",black:"#000000"},t$.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tv(t[1]),tv(t[2]),tv(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tv(t[1]),tv(t[2]),tv(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tv(t[1]+t[1],16),tv(t[2]+t[2],16),tv(t[3]+t[3],16),V(t[4])?tv(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tv(t[1],16),tv(t[2],16),tv(t[3],16),V(t[4])?tv(t[4],16)/255:1]}}],t$.useColorMix=tY.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),t$.None=new t$("");let{parse:t_}=t$,{win:tK}=B;class tq{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t?.[0],i=t?.[1],s=this.now||0,o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let r=e[t],n=i[t],a=[];for(let t=0;t<n.length;t++){let e=r[t],i=n[t];th(e)&&th(i)&&("A"!==n[0]||4!==t&&5!==t)?a[t]=e+s*(i-e):a[t]=i}o.push(a)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,o=s.options,r=function(t){return!r.stopped&&s.step(t)},n=tK.requestAnimationFrame||function(t){setTimeout(t,13)},a=function(){for(let t=0;t<tq.timers.length;t++)tq.timers[t]()||tq.timers.splice(t--,1);tq.timers.length&&n(a)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===tq.timers.push(r)&&n(a)):(delete o.curAnim[this.prop],o.complete&&0===Object.keys(o.curAnim).length&&o.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,n=o.complete,a=o.duration,l=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,tm(l,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),n=t.isArea,a=n?2:1,l=e&&i.length>e.length&&i.hasStackedCliffs,h,d,c,p,u=e?.slice();if(!u||l)return[r,r];function g(t,e){for(;t.length<d;){let i=t[0],s=e[d-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),n){let e=t.pop();t.push(t[t.length-1],e)}}}function f(t){for(;t.length<d;){let e=t[Math.floor(t.length/a)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),n){let i=t[Math.floor(t.length/a)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(c=0;c<s.length;c++)if(s[c]===o[0]){h=c;break}else if(s[0]===o[o.length-s.length+c]){h=c,p=!0;break}else if(s[s.length-1]===o[o.length-s.length+c]){h=s.length-c;break}void 0===h&&(u=[])}return u.length&&th(h)&&(d=r.length+h*a,p?(g(u,r),f(r)):(g(r,u),f(u))),[u,r]}fillSetter(){tq.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,t_(this.start).tweenTo(t_(this.end),this.pos),void 0,!0)}}function tZ(t){return tu(t)?tg({duration:500,defer:0},t):{duration:500*!!t,defer:0}}function tJ(t,e){let i=tq.timers.length;for(;i--;)tq.timers[i].elem!==t||e&&e!==tq.timers[i].prop||(tq.timers[i].stopped=!0)}tq.timers=[];let tQ={animate:function(t,e,i){let s,o="",r,n,a;tu(i)||(a=arguments,i={duration:a[2],easing:a[3],complete:a[4]}),th(i.duration)||(i.duration=400),i.easing="function"==typeof i.easing?i.easing:Math[i.easing]||Math.easeInOutSine,i.curAnim=tg(e),tm(e,function(a,l){tJ(t,l),n=new tq(t,i,l),r=void 0,"d"===l&&tc(e.d)?(n.paths=n.initPath(t,t.pathArray,e.d),n.toD=e.d,s=0,r=1):t.attr?s=t.attr(l):(s=parseFloat(to(t,l))||0,"opacity"!==l&&(o="px")),r||(r=a),"string"==typeof r&&r.match("px")&&(r=r.replace(/px/g,"")),n.run(s,r,o)})}
vendor: 4,083 bytes, line 3
3,animObject:tZ,getDeferredAnimation:function(t,e,i){let s=tZ(e),o=i?[i]:t.series,r=0,n=0;return o.forEach(t=>{let i=tZ(t.options.animation);r=tu(e)&&V(e.defer)?s.defer:Math.max(r,i.duration+i.defer),n=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-n),duration:Math.min(r,n)}},setAnimation:function(t,e){e.renderer.globalAnimation=tb(t,e.options.chart.animation,!0)},stop:tJ},{SVG_NS:t0,win:t1}=B,{trustedTypes:t2}=t1,t3=t2&&tp(t2.createPolicy)&&t2.createPolicy("highcharts",{createHTML:t=>t}),t5=t3?t3.createHTML(""):"";class t6{static filterUserAttributes(t){return tm(t,(e,i)=>{let s=!0;-1===t6.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=td(e)&&t6.allowedReferences.some(t=>0===e.indexOf(t))),s||(tE(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),td(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t6.emptyHTML,e&&new t6(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tC(e).forEach(function(e){let o,r=e.tagName,n=e.textContent?B.doc.createTextNode(e.textContent):void 0,a=t6.bypassHTMLFiltering;if(r)if("#text"===r)o=n;else if(-1!==t6.allowedTags.indexOf(r)||a){let s="svg"===r?t0:i.namespaceURI||t0,l=B.doc.createElementNS(s,r),h=e.attributes||{};tm(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(h[e]=t)}),F(l,a?h:t6.filterUserAttributes(h)),e.style&&U(l,e.style),n&&l.appendChild(n),t(e.children||[],l),o=l}else tE(33,!1,void 0,{"Invalid tagName in config":r});o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t3?t3.createHTML(t):t,"text/html")}catch{}if(!e){let i=X("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t6.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t6.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","disabled","dx","dy","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","stroke-linecap","stroke-width","stroke","style","summary","tabindex","tableValues","target","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t6.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t6.allowedTags=["#text","a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","tbody","td","text","textPath","th","thead","title","tr","tspan","u","ul"],t6.emptyHTML=t5,t6.bypassHTMLFiltering=!1;let{defaultOptions:t9,defaultTime:t4}=tX,{pageLang:t8}=B,t7={add:(t,e)=>
vendor: 2,606 bytes, line 3
3t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!tc(t)&&t.map((i,s)=>ee(e.body,Z(tu(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:tP,unless:t=>!t},et={};function ee(t="",e,i){let s=RegExp("\\{([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+\"'’= #\\(\\)]+)\\}","gu"),o=RegExp("\\(([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+\"'= ]+)\\)","gu"),r=[],n=/f$/,a=/\.(\d)/,l=i?.options?.lang||t9.lang,h=i?.time||t4,d=i?.numberFormatter||ei.bind(i),c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:/^["'].+["']$/.test(t)?t.slice(1,-1):ts(t,e))},p,u,g=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),u?.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let n=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");t7[n]&&(u.isBlock&&n===u.fn&&g++,u.fn||(u.fn=n));let a="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||a))if(g)!a&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],a||(r.push(u),u=void 0)}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p,{body:u,elseBody:g,expression:f,fn:m}=s;if(m){let t=[s],o=[],n=f.length,a=0,l;for(p=0;p<=n;p++){let t=f.charAt(p);l||'"'!==t&&"'"!==t?l===t&&(l=""):l=t,l||" "!==t&&p!==n||(o.push(f.substr(a,p-a)),a=p+1)}for(p=t7[m].length;p--;)t.unshift(c(o[p+1]));r=t7[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=ee(r?u:g,e,i))}else{let t=/^["'].+["']$/.test(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(n.test(e)){let t=parseInt((e.match(a)||["","-1"])[1],10);null!==r&&(r=d(r,t,l.decimalPoint,e.indexOf(",")>-1?l.thousandsSep:""))}else r=h.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&td(r)&&(r=`"${r}"`)}t=t.replace(s.find,tb(r,""))}),f?ee(t,e,i):t}function ei(t,e,i,s){e*=1;let o,r,[n,a]=(t=+t||0).toString().split("e").map(Number),l=this?.options?.lang||t9.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=l.decimalPoint),s??(s=l.thousandsSep),-1===e?e=Math.min(h,20):th(e)?e&&a<0&&((r=e+a)>=0?(n=+n.toExponential(r).split("e")[0],e=r):(n=Math.floor(n),t=e<20?+(n*Math.pow(10,a)).toFixed(e):0,a=0)):e=2,a&&(e??(e=2),t=n),th(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);
vendor: 8,101 bytes, line 3
3let p=s||i,u=p?"en":this?.locale||l.locale||t8,g=JSON.stringify(c)+u;return o=(et[g]??(et[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(a<0)||d)||(o="0"),a&&0!=+o&&(o+="e"+(a<0?"":"+")+a),o}let es={dateFormat:function(t,e,i){return t4.dateFormat(t,e,i)},format:ee,helpers:t7,numberFormat:ei};(a=m||(m={})).rendererTypes={},a.getRendererType=function(t=o){return a.rendererTypes[t]||a.rendererTypes[o]},a.registerRendererType=function(t,e,i){a.rendererTypes[t]=e,(!o||i)&&(o=t,B.Renderer=e)};let eo=m;(x||(x={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,n=(t,e)=>t.target-e.target,a=[],l=e.length,h=[],d=a.push,c,p=!0,u,g,f=0;for(c=l;c--;)f+=e[c].size;if(f>r){if(tA(e,(t,e)=>(e.rank||0)-(t.rank||0)),e[0].rank===e[e.length-1].rank){let t=[[0,l-1]];for(;t.length&&f>r;){let i=t.shift();if(!i)break;u=e[c=Math.floor((i[0]+i[1])/2)],tk(h,c)&&(f-=u.size),i[0]<c&&t.push([i[0],c-1]),c<i[1]&&t.push([c+1,i[1]])}}else for(c=l-1;f>r&&c>=0;)u=e[c],tk(h,c)&&(f-=u.size),c--;h.sort((t,e)=>e-t).forEach(t=>d.apply(a,e.splice(t,1)))}for(tA(e,n),e=e.map(t=>({size:t.size,targets:[t.target],align:tb(t.align,.5)}));p;){for(c=e.length;c--;)u=e[c],g=(Math.min.apply(0,u.targets)+Math.max.apply(0,u.targets))/2,u.pos=G(g-u.size*u.align,0,i-u.size);for(c=e.length,p=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),p=!0)}return d.apply(o,a),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),tA(o,n),o};let er=x,{animate:en,animObject:ea,stop:el}=tQ,{deg2rad:eh,doc:ed,svg:ec,SVG_NS:ep,win:eu,isFirefox:eg}=B;class ef{_defaultGetter(t){let e=tb(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let a=!i||td(i)?i||"renderer":void 0;a&&(n&&tk(r,this),i=void 0);let l=tb(i,o[a],o),h=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*tt(t.align),d=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*tt(t.verticalAlign),c={};return t.align&&(c["text-align"]=t.align),c[e?"translateX":"x"]=Math.round(h),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ea(tb(e,this.renderer.globalAnimation,!0)),o=s.defer;return ed.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),tT(()=>{this.element&&en(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),tm(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.indexOf(" "),s=t.substring(i+1),o=t.substring(0,i);if(o&&"none"!==o&&B.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=ed.createElementNS(ep,"tspan");F(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let n=ed.createElementNS(ep,"tspan");n.textContent="​",F(n,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(n),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=ef.symbolCustomAttribs,n,a,l=this,h;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(tm(t,function(e,i){h=!1,s||el(this,i),this.symbolName&&-1!==r.indexOf(i)&&(a||(this.symbolAttr(t),a=!0),h=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),h||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=tB()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);Z(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=Y(i,e),a=Y(s,e);return Z(t,{x:n,y:a,width:Y(o,e)-n,height:Y(r,e)-a}),V(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,n,a,l,h,d,c,p,u,g=[],f;Q(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],l=s.gradients,h=t.stops,p=i.radialReference,tc(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!V(n.gradientUnits)&&(a=n,n=tg(n,s.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),tm(n,function(t,e){"id"!==e&&g.push(e,t)}),tm(h,function(t){g.push(t)}),l[g=g.join(",")])u=l[g].attr("id");else{n.id=u=tB();let t=l[g]=s.createElement(r).attr(n).add(s.defs);t.radAttr=a,t.stops=[],h.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=t$.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&tm(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=Z(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=tv(t.width)),Z(this.styles,t),o&&!ec&&this.renderer.forExport&&delete t.width;let r=eg&&t.fontSize||null;r&&(th(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let n=tg(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>n&&delete n[t]),n.color&&(n.fill=n.color,delete n.color)),U(s,n)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t){let s=(t=t.toLowerCase()).replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+tv(s[e])*tb(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,{element:e={},renderer:i,stops:s}=t,o=e.ownerSVGElement,r="SPAN"===e.nodeName&&t.parentGroup||void 0,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,el(t),t.clipPath&&o){let e=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.i
vendor: 4,334 bytes, line 3
3d)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(s){for(let t of s)t.destroy();s.length=0}for(t.safeRemoveChild(e);r?.div&&0===r.div.childNodes.length;)n=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=n;t.alignOptions&&q(i.alignedObjects,t),tm(t,(e,i)=>{(t[i]?.parentGroup===t||-1!==["connector","foreignObject"].indexOf(i))&&t[i]?.destroy?.(),delete t[i]})}dSetter(t,e,i){tc(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e?.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,{element:r,renderer:n,styles:a,textStr:l}=this,{cache:h,cacheKeys:d}=n,c=r.namespaceURI===this.SVG_NS,p=tb(e,this.rotation,0),u=n.styledMode?r&&ef.prototype.getStyle.call(r,"font-size"):a.fontSize,g=this.getBBoxCacheKey([n.rootFontSize,this.textWidth,this.alignValue,a.fontWeight,a.lineClamp,a.textOverflow,u,p]);if(g&&!t&&(i=h[g]),!i||i.polygon){if(c||n.forExport){try{o=this.fakeTS&&function(t){let e=r.querySelector(".highcharts-text-outline");e&&U(e,{display:t})},tp(o)&&o("none"),i=r.getBBox?Z({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},tp(o)&&o("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,c&&(i.height=s=({"11px,17":14,"13px,20":16})[`${u||""},${Math.round(s)}`]||s),p&&(i=this.getRotatedBox(i,p));let t={bBox:i};Q(this,"afterGetBBox",t),i=t.bBox}if(g&&(""===l||i.height>0)){for(;d.length>250;)delete h[d.shift()];h[g]||d.push(g),h[g]=i}return i}getBBoxCacheKey(t){if(V(this.textStr)){let e=""+this.textStr;return -1===e.indexOf("<")&&(e=e.replace(/\d/g,"0")),[e,...t].join(",")}}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:l=0,rotationOriginY:h=0}=this,d=tt(n),c=Number(this.element.getAttribute("y")||0)-(a?0:s),p=e*eh,u=(e-90)*eh,g=Math.cos(p),f=Math.sin(p),m=o*g,x=o*f,y=Math.cos(u),b=Math.sin(u),[[v,k],[w,M]]=[l,h].map(t=>[t-t*g,t*f]),S=i+d*(o-m)+v+M+c*y,C=S+m,A=C-r*y,T=A-m,P=s+c-d*x-k+w+c*b,O=P+x,L=O-r*b,E=L-x,D=Math.min(S,C,A,T),I=Math.min(P,O,L,E),B=Math.max(S,C,A,T)-D,N=Math.max(P,O,L,E)-I;return{x:D,y:I,width:B,height:N,polygon:[[S,P],[C,O],[A,L],[T,E]]}}getStyle(t){return eu.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ep,this.element="span"===e||"body"===e?X(e):ed.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},Q(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=z(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(td(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=tg(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},tu(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=tv(t):""!==t&&(F(i=ed.createElementNS(ep,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
vendor: 7,252 bytes, line 3
3ef.symbolCustomAttribs.forEach(function(i){e[i]=tb(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||ed.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=tM(tb(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,foreignObject:i,matrix:s,padding:o,rotation:r=0,rotationOriginX:n,rotationOriginY:a,scaleX:l,scaleY:h,text:d,translateX:c=0,translateY:p=0}=this,u=[`translate(${c},${p})`];V(s)&&u.push("matrix("+s.join(",")+")"),r&&(u.push("rotate("+r+" "+(n??e.getAttribute("x")??this.x??0)+" "+(a??e.getAttribute("y")??this.y??0)+")"),d?.element.tagName!=="SPAN"||d?.foreignObject||d.attr({rotation:r,rotationOriginX:(n||0)-o,rotationOriginY:(a||0)-o})),(V(l)||V(h))&&u.push(`scale(${l??1} ${h??1})`),u.length&&!(d||this).textPath&&(i?.element||e).setAttribute(t,u.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,n=o===i.box,a,l,h,d=!1,c,p=this.added,u;if(V(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(p=!1)):V(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(a=o.childNodes).length-1;u>=0&&!d;u--)c=!V(h=(l=a[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!n&&!u?(o.insertBefore(r,a[u]),d=!0):(tv(h)<=t||c&&(!V(t)||t>=0))&&(o.insertBefore(r,a[u+1]),d=!0));d||(o.insertBefore(r,a[3*!!n]),d=!0)}return d}}ef.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],ef.prototype.strokeSetter=ef.prototype.fillSetter,ef.prototype.yGetter=ef.prototype.xGetter,ef.prototype.matrixSetter=ef.prototype.rotationOriginXSetter=ef.prototype.rotationOriginYSetter=ef.prototype.rotationSetter=ef.prototype.scaleXSetter=ef.prototype.scaleYSetter=ef.prototype.translateXSetter=ef.prototype.translateYSetter=ef.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let em=ef;class ex extends em{constructor(t,e,i,s,o,r,n,a,l,h){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=l,this.className=h,this.addClass("button"===h?"highcharts-no-tooltip":"highcharts-label"),h&&this.addClass("highcharts-"+h),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=ex.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=tt(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&th(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=tg(t),ex.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e||"width"in e?this.updateTextPadding():"textOverflow"in e&&this.updateBoxSize()}return em.prototype.css.call(this,t)}destroy(){tS(this.element,"mouseenter"),tS(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),em.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){(this.textStr&&0===this.bBox.width&&0===this.bBox.height||this.rotation)&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,a=tb(this.paddingLeft,i),l=e??(this.rotation||0),h={width:n,height:s,x:o+this.bBox.x-a,y:r+this.bBox.y-i+this.baselineOffset};return l&&(h=this.getRotatedBox(h,l)),h}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:tb(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&V(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){th(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=(!th(this.widthSetting)||!th(this.heightSetting)||this.textAlign)&&V(e.textStr)?e.getBBox(void 0,0):ex.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}i.x=t=this.getCrispAdjust(),i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(Z(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+tt(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=th(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=tb(this.paddingLeft,t),i=tb(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.anchorX&&(this["forceAnimate:anchorX"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.anchorY&&(this["forceAnimate:anchorY"]=!0),this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}function ey(t,e,i,s,o){let r=[];if(o){let n=o.start||0,a=o.end||0,l=tb(o.r,i),h=tb(o.r,s||i),d=1e-4>Math.abs(a-n-2*Math.PI);
vendor: 4,643 bytes, line 3
3d&&(n=Math.PI/2,a=2.5*Math.PI-1e-4);let c=o.innerR,p=tb(o.open,d),u=d?0:Math.cos(n),g=d?1:Math.sin(n),f=d?0:Math.cos(a),m=d?1:Math.sin(a),x=tb(o.longArc,a-n-Math.PI<1e-4?0:1),y=["A",l,h,0,x,tb(o.clockwise,1),t+(d?.001:l*f),e+h*m];y.params={start:n,end:a,cx:t,cy:e},r.push(["M",t+l*u,e+h*g],y),V(c)&&((y=["A",c,c,0,x,V(o.clockwise)?1-o.clockwise:0,t+(d?-.001:c*u),e+c*g]).params={start:a,end:n,cx:t,cy:e},r.push(p?["M",t+c*f,e+c*m]:["L",t+c*f,e+c*m],y)),p||r.push(["Z"])}return r}function eb(t,e,i,s,o){return o?.r?ev(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function ev(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}ex.emptyBBox={width:0,height:0,x:0,y:0},ex.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let ek={arc:ey,callout:function(t,e,i,s,o){let r=Math.min(o?.r||0,i,s),n=r+6,a=o?.anchorX,l=o?.anchorY||0,h=ev(t,e,i,s,{r});if(!th(a)||a<i&&a>0&&l<s&&l>0)return h;if(t+a>i-n)if(l>e+n&&l<e+s-n)h.splice(3,1,["L",t+i,l-6],["L",t+i+6,l],["L",t+i,l+6],["L",t+i,e+s-r]);else if(a<i){let o=l<e+n,d=o?e:e+s;h.splice(o?2:5,0,["L",a,l],["L",t+i-r,d])}else h.splice(3,1,["L",t+i,s/2],["L",a,l],["L",t+i,s/2],["L",t+i,e+s-r]);else if(t+a<n)if(l>e+n&&l<e+s-n)h.splice(7,1,["L",t,l+6],["L",t-6,l],["L",t,l-6],["L",t,e+r]);else if(a>0){let i=l<e+n,o=i?e:e+s;h.splice(i?1:6,0,["L",a,l],["L",t+r,o])}else h.splice(7,1,["L",t,s/2],["L",a,l],["L",t,s/2],["L",t,e+r]);else l>s&&a<i-n?h.splice(5,1,["L",a+6,e+s],["L",a,e+s+6],["L",a-6,e+s],["L",t+r,e+s]):l<0&&a>n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-r,e]);return h},circle:function(t,e,i,s){return ey(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:eb,roundedRect:ev,square:eb,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:ew,SVG_NS:eM,win:eS}=B,eC=(t,e)=>t.substring(0,e)+"…",eA=class{constructor(t){const e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e?.lineHeight,this.textOutline=e?.textOutline,this.ellipsis=e?.textOverflow==="ellipsis",this.lineClamp=e?.lineClamp,this.noWrap=e?.whiteSpace==="nowrap"}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=tb(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,n=!t.added&&i.box,a=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(a!==t.textCache){t.textCache=a,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))){if(""!==s){n&&n.appendChild(e);let i=new t6(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),n&&n.removeChild(e)}}else e.appendChild(ew.createTextNode(this.unescapeEntities(s)));td(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=F(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),F(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",n=r.replace(/([^\^])-/g,"$1- ").split(" "),a=!this.noWrap&&(n.length>1||e.element.childNodes.length>1),l=this.getLineHeight(o),h=Math.max(0,s-.8*l),d=0,c=e.actualWidth;if(a){let r=[],a=[];for(;o.firstChild&&o.firstChild!==t;)a.push(o.firstChild),o.removeChild(o.firstChild);for(;n.length;)if(n.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=n.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,n,0===d&&c||0,s,h,(t,e)=>n.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){n.length&&(this.truncate(t,t.textContent||"",void 0,0,s,h,eC),t.textContent=t.textContent?.replace("…","")+"…");break}
vendor: 4,581 bytes, line 3
3a.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(ew.createTextNode(e),t);let s=ew.createElementNS(eM,"tspan");s.textContent="​",F(s,{dy:l,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,h,eC)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===eS.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===eS.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:n={},tagName:a}=i,l=this.renderer.styledMode;if("b"===a||"strong"===a?l?o.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(l?o.class="highcharts-emphasized":n.fontStyle="italic"),n?.color&&(n.fill=n.color),"br"===a){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e?.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(i.tagName="tspan"),Z(i,{attributes:o,style:n}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),Q(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,n){let a,l,h=this.svgElement,{rotation:d}=h,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=s+n.getSubStringLength(0,i?r+1:r)}catch{}return c[r]};if(h.rotation=0,s+(l=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(a=n(i,g)),l=f(g,a&&a.length-1),p===u?p=u+1:l>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=a||n(e||i,g)),this.ellipsis&&l>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,eC)}i&&i.splice(0,g),h.actualWidth=l,h.rotation=d}unescapeEntities(t,e){return tm(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}},{defaultOptions:eT}=tX,{charts:eP,deg2rad:eO,doc:eL,isFirefox:eE,isMS:eD,isWebKit:eI,noop:eB,SVG_NS:eN,symbolSizes:eR,win:ez}=B;class eW{constructor(t,e,i,s,o,r,n){let a,l;this.x=0,this.y=0;const h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;n||h.css(this.getStyle(s||{})),t.appendChild(d),F(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&F(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(eL.createTextNode("Created with Highcharts 12.6.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),eE&&t.getBoundingClientRect&&((a=function(){U(t,{left:0,top:0}),l=t.getBoundingClientRect(),U(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=z(ez,"resize",a))}definition(t){return new t6([t]).addToDOM(this.defs.element)}getReferenceURL(){if((eE||eI)&&eL.getElementsByTagName("base").length){if(!V(e)){let t=tB(),i=new t6([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(eL.body);U(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=eL.elementFromPoint(6,6);e=s?.id==="hitme",eL.body.removeChild(i)}if(e)return tM(ez.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=Z({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),$(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}
3`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=tg({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new eA(t).buildSVG()}getContrast(t){if("transparent"===t)return"#000000";let e=t$.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(th(e[0])||!t$.useColorMix){let t=e.map(t=>{let e=t/255;return e<=.04?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*t[0]+.7152*t[1]+.0722*t[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},r,n,a,l,h){let d=this.label(t,e,i,l,void 0,void 0,h,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=tg(eT.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t6.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(tg(m[0],t6.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),z(d.element,eD?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),z(d.element,eD?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];tu(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(Z({cursor:"default"},f)),h&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s?.call(d,t)})}crispLine(t,e){let[i,s]=t;return V(i[1])&&i[1]===s[1]&&(i[1]=s[1]=Y(i[1],e)),V(i[2])&&i[2]===s[2]&&(i[2]=s[2]=Y(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return tc(t)?e.d=t:tu(t)&&Z(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=tu(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let n;tu(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=tu(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,Z(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,F(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:tb(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};th(e)&&(n.x=e),th(i)&&(n.y=i),th(s)&&(n.width=s),th(o)&&(n.height=o);let a=this.createElement("image").attr(n),l=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new ez.Image;z(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,l,h,d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(a=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),d.styledMode||n.attr("fill","none"),Z(n,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&Z(n,r);else if(p){l=t.match(c)[1];let s=n=this.image(l);s.imgwidth=tb(r?.width,eR[l]?.width),s.imgheight=tb(r?.height,eR[l]?.height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:n,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,d=1;r&&"within"===r.backgroundSize&&o&&n&&a&&l?(d=Math.min(o/a,n/l),F(s,{width:Math.round(a*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((o||0)-a*d)/2,((n||0)-l*d)/2)}}),V(e)&&s.attr({x:e,y:i}),s.isImg=!0,V(s.imgwidth)&&V(s.imgheight)?h(s):(s.attr({width:0,height:0}),X("img",{onload:function(){let t=eP[d.chartIndex];0===this.width&&(U(this,{position:"absolute",top:"-999em"}),eL.body.appendChild(this)),eR[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.asyncCounter--,d.asyncCounter||!t||t.hasLoaded||t.onload()},src:l}),this.asyncCounter++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),V(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,
3i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;i<s.length;i++)(r=s[i]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=th(t)?t:tv(em.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*eO),4)),{x:-t/3*Math.sin(e*eO),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)td(i[0])&&th(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,a,l){return new ex(this,t,e,i,s,o,r,n,a,l)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}Z(eW.prototype,{Element:em,SVG_NS:eN,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:ek,draw:eB}),eo.registerRendererType("svg",eW,!0);let{composed:eH,isFirefox:eF}=B;function eG(t,e,i){let s=this.div?.style;em.prototype[`${e}Setter`].call(this,t,e,i),s&&(i.style[e]=s[e]=t)}let ej=(t,e)=>{if(!t.div){let i=F(t.element,"class"),s=t.css,o=X("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.scaleXSetter=t.scaleYSetter=(e,i)=>{t[i]=e,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=eG,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return em.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class eX extends em{static compose(t){tk(eH,this.compose)&&(t.prototype.html=function(t,e,i){return new eX(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),eX.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=tv(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),th(Number(t?.fontSize))&&(t.fontSize+="px"),Z(this.styles,t),U(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:o,rotationOriginX:r,rotationOriginY:n,scaleX:a,scaleY:l,styles:{display:h="inline-block",whiteSpace:d},textAlign:c="left",textWidth:p,translateX:u=0,translateY:g=0,x:f=0,y:m=0}=this,x=()=>this.textPxLength?this.textPxLength:(U(t,{width:"",whiteSpace:d||"nowrap"}),t.offsetWidth);if(e||U(t,{marginLeft:`${u}px`,marginTop:`${g}px`}),"SPAN"===t.tagName){let u,g=[o,c,t.innerHTML,p,this.textAlign].join(","),y=-(this.parentGroup?.padding*1)||0;if(p!==i){let e=x(),r=p||0,n=!s.styledMode&&""===t.style.textOverflow&&t.style.webkitLineClamp;(r>i||e>r||n)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(U(t,{width:(o||a||e>r)&&th(p)?p+"px":n?Math.min(e+1,r)+"px":"auto",display:h,whiteSpace:d||"normal"}),this.oldTextWidth=p)}e&&(U(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),g!==this.cTT&&(u=s.fontMetrics(t).b,V(o)&&!e&&(o!==(this.oldRotation||0)||c!==this.oldAlign)&&U(t,{transform:`rotate(${o}deg)`,transformOrigin:`${y}% ${y}px`}
3),this.getSpanCorrection(!V(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,u,tt(c)));let{xCorr:b=0,yCorr:v=0}=this,k={left:`${f+b}px`,top:`${m+v}px`,textAlign:c,transformOrigin:`${(r??f)-b-f-y}px ${(n??m)-v-m-y}px`};(a||l)&&(k.transform=`scale(${a??1},${l??1})`),e?(super.updateTransform(),th(f)&&th(m)?(e.attr({x:f+b,y:m+v,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),U(t,{display:h,textAlign:c})):eF&&e.attr({width:0,height:0})):U(t,k),this.cTT=g,this.oldRotation=o,this.oldAlign=c}}add(t){let{foreignObject:e,renderer:i}=this,s=i.box.parentNode,o=[];if(e)e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e));else{let e;if(this.parentGroup=t,t&&!(e=t.div)){let i=t;for(;i;)o.push(i),i=i.parentGroup;for(let t of o.reverse())e=ej(t,s)}(e||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t6.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let eY=eX.prototype;eY.visibilitySetter=eY.opacitySetter=eG,eY.ySetter=eY.rotationSetter=eY.rotationOriginXSetter=eY.rotationOriginYSetter=eY.xSetter,(l=y||(y={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},l.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return this.axis.chart.numberFormatter(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};let eU=y;(b||(b={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},tm(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(tS(t,i,t.eventOptions[i]),delete t.eventOptions[i]),tp(e)&&(t.eventOptions[i]=e,z(t,i,e,{order:0})))})};let eV=b,{deg2rad:e$}=B,e_=class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,Q(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,n=e.names,a=t.pos,l=tb(t.options?.labels,i.labels),h=e.tickPositions,d=a===h[0],c=a===h[h.length-1],p=(!l.step||1===l.step)&&1===e.tickInterval,u=h.info,g=t.label,f,m,x,y=this.parameters.category||(o?tb(o[a],n[a],a):a);r&&th(y)&&(y=j(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid?.enabled&&u.higherRanks[a]||u.unitName])).main:th(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:a,tick:t,tickPositionInfo:u,value:y};Q(this,"labelFormat",b);let v=t=>l.formatter?l.formatter.call(t,t):l.format?(t.text=e.defaultLabelFormatter.call(t),es.format(l.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),w=m?.list;w?t.shortenLabel=function(){for(x=0;x<w.length;x++)if(Z(b,{dateTimeLabelFormat:w[x]}),g.attr({text:v.call(b,b)}),g.getBBox().width<e.getSlotWidth(t)-2*(l.padding||0))return;g.attr({text:""})}:t.shortenLabel=void 0,p&&e._addedPlotLB&&t.moveLabel(k,l),V(g)||t.movedLabel?g&&g.textStr!==k&&!p&&(!g.textWidth||l.style.width||g.styles.width||g.css({width:null}),g.attr({text:k}),g.textPxLength=g.getBBox().width):(t.label=g=t.createLabel(k,l),t.rotation=0)}createLabel(t,e,i){let s=this.axis,{renderer:o,styledMode:r}=s.chart,n=e.style.whiteSpace,a=V(t)&&e.enabled?o.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return a&&(r||a.css(tg(e.style)),a.textPxLength=a.getBBox().width,!r&&n&&a.css({whiteSpace:n})),a}destroy(){$(this,this.axis)}
3getPosition(t,e,i,s){let o=this.axis,r=o.chart,n=s&&r.oldChartHeight||r.chartHeight,a={x:t?j(o.translate(e+i,void 0,void 0,s)+o.transB):o.left+o.offset+(o.opposite?(s&&r.oldChartWidth||r.chartWidth)-o.right-o.left:0),y:t?n-o.bottom+o.offset-(o.opposite?o.height:0):j(n-o.translate(e+i,void 0,void 0,s)-o.transB)};return a.y=G(a.y,-1e9,1e9),Q(this,"afterGetPosition",{pos:a}),a}getLabelPosition(t,e,i,s,o,r,n,a){let l,h,d=this.axis,c=d.transA,p=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,u=d.staggerLines,g=d.tickRotCorr||{x:0,y:0},f=s||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),m=o.distance,x={};return l=0===d.side?i.rotation?-m:-i.getBBox().height:2===d.side?g.y+m:Math.cos(i.rotation*e$)*(g.y-i.getBBox(!1,0).height/2),V(o.y)&&(l=0===d.side&&d.horiz?o.y+l:o.y),t=t+tb(o.x,[0,1,0,-1][d.side]*m)+f+g.x-(r&&s?r*c*(p?-1:1):0),e=e+l-(r&&!s?r*c*(p?1:-1):0),u&&(h=n/(a||1)%u,d.opposite&&(h=u-h-1),e+=h*(d.labelOffset/u)),x.x=t,x.y=Math.round(e),Q(this,"afterGetLabelPosition",{pos:x,tickmarkOffset:r,index:n}),x}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e=this.axis,i=e.options.labels,s=t.x,o=e.chart.chartWidth,r=e.chart.spacing,n=tb(e.labelLeft,Math.min(e.pos,r[3])),a=tb(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,o-r[1])),l=this.label,h=this.rotation,d=tt(e.labelAlign||l.attr("align")),c=l.getBBox().width,p=e.getSlotWidth(this),u=p,g=1,f;h||"justify"!==i.overflow?h<0&&s-d*c<n?f=Math.round(s/Math.cos(h*e$)-n):h>0&&s+d*c>a&&(f=Math.round((o-s)/Math.cos(h*e$))):(s-d*c<n?u=t.x+u*(1-d)-n:s+(1-d)*c>a&&(u=a-t.x+u*d,g=-1),(u=Math.min(p,u))<p&&"center"===e.labelAlign&&(t.x+=g*(p-u-d*(p-Math.min(c,u)))),(c>u||e.autoRotation&&l?.styles?.width)&&(f=u)),f&&l&&(this.shortenLabel?this.shortenLabel():l.css(Z({},{width:Math.floor(f)+"px",lineClamp:+!e.isRadial})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,n;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):tm(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(n=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,n),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,n=tb(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(o,r,n,e),l=a.x,h=a.y,d=s.pos,c=d+s.len,p=o?l:h,u=tb(i,this.label?.newOpacity,1);!s.chart.polar&&(j(p)<d||p>c)&&(i=0),i??(i=1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(a,i),this.renderLabel(a,e,u,t),this.isNew=!1,Q(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,n=this.type,a=tb(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),n||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+a,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,n=i.tickSize(r?r+"Tick":"tick"),a=t.x,l=t.y,h=tb(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;n&&(i.opposite&&(n[0]=-n[0]),!c&&(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(a,l,n[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,n=o.options,a=this.label,l=n.labels,h=l.step,d=tb(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;a&&th(c)&&(a.xy=t=this.getLabelPosition(c,p,a,r,l,d,s,h),(!this.isFirst||this.isLast||n.showFirstLabel)&&(!this.isLast||this.isFirst||n.showLastLabel)?r&&!e&&0!==i&&this.handleOverflow(t):u=!1,h&&s%h&&(u=!1),u&&th(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0}
3,void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}},{animObject:eK}=tQ,{xAxis:eq,yAxis:eZ}=eU,{defaultOptions:eJ}=tX,{registerEventOptions:eQ}=eV,{deg2rad:e0}=B,e1=(t,e)=>tf(e,void 0,void 0,tb(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);Z(eJ,{xAxis:eq,yAxis:tg(eq,eZ)});class e2{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,Q(this,"init",{userOptions:e}),this.opposite=tb(e.opposite,this.opposite),this.side=tb(e.side,this.side,o?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),Q(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=tb(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=tc(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=V(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let a=tb(r.crosshair,tC(t.options.tooltip.crosshairs)[+!s]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),tD(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!V(this.reversed)&&(this.reversed=!0),this.labelRotation=th(n.rotation)?n.rotation:void 0,eQ(this,r),Q(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=tg(e,"yAxis"===this.coll?{title:{text:this.chart.options.lang.yAxisTitle}}:{},eJ[this.coll],t),Q(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:i}=e,s=th(this.value)?this.value:NaN,o=t.chart.time,r=t.categories,n=this.dateTimeLabelFormat,a=eJ.lang,l=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,d=t.logarithmic?Math.abs(s):t.tickInterval,c=l?.length,p,u;if(r)u=`${this.value}`;else if(n)u=o.dateFormat(n,s,!0);else if(c&&l&&d>=1e3)for(;c--&&void 0===u;)d>=(p=Math.pow(h,c+1))&&10*s%p==0&&null!==l[c]&&0!==s&&(u=i(s/p,-1,void 0,void 0,e)+l[c]);return u??(u=i(s,-1,void 0,1e4>Math.abs(s)?"":void 0,e)),u}getSeriesExtremes(){let t,e=this;Q(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,n,a;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,n=(t=i.getXExtremes(o)).min,a=t.max,th(n)||n instanceof Date||(o=o.filter(th),n=(t=i.getXExtremes(o)).min,a=t.max),o.length&&(e.dataMin=Math.min(tb(e.dataMin,n),n),e.dataMax=Math.max(tb(e.dataMax,a),a)));else{let t=i.applyExtremes();th(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(tb(e.dataMin,n),n)),th(t.dataMax)&&(a=t.dataMax,e.dataMax=Math.max(tb(e.dataMax,a),a)),V(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),Q(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!th(a))return NaN;let l=n.minPixelPadding,h=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&!!n.lin2val,d=1,c=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(d*=-1,c=n.len),n.reversed&&(d*=-1,c-=d*(n.sector||n.len)),e?(u=(t=t*d+c-l)/p+a,h&&(u=n.lin2val(u))):(h&&(t=n.val2lin(t)),u=d*(t-a)*p+c+d*l+(th(r)?p*r:0),n.isRadial||(u=j(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,n=t.value,a=t.lineWidth,l=r&&i.oldCh
vendor: 6,245 bytes, line 3
3artHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,m,x;function y(t,e,i){return"pass"!==p&&(t<e||t>i)&&(p?t=G(t,e,i):x=!0),t}let b={value:n,lineWidth:a,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return Q(this,"getPlotLinePath",b,function(t){u=f=(c=G(c=tb(c,e.translate(n,void 0,void 0,r)),-1e9,1e9))+d,g=m=l-c-d,th(c)?e.horiz?(g=o,m=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=y(u,s,s+e.width)):(u=s,f=h-e.right+(i.scrollablePixelsX||0),g=m=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,m]],a||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r,n=j(Math.floor(e/t)*t),a=j(Math.ceil(i/t)*t),l=[];if(j(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(l.push(s),(s=j(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?tb(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,n=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,a=[],l;if(n&&n/i<this.len/3){let s=this.logarithmic;if(s)this.paddedTicks.forEach(function(t,e,o){e&&a.push.apply(a,s.getLogTickPositions(i,o[e-1],o[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())a=a.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==a[0];l+=i)a.push(l)}return 0!==a.length&&this.trimTicks(a),a}adjustForMinRange(){let t=this.options,e=this.logarithmic,i=this.chart.time,{max:s,min:o,minRange:r}=this,n,a,l,h;this.isXAxis&&void 0===r&&!e&&(r=V(t.min)||V(t.max)||V(t.floor)||V(t.ceiling)?null:Math.min(5*(te(this.series.map(t=>{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),th(s)&&th(o)&&th(r)&&s-o<r&&(a=this.dataMax-this.dataMin>=r,n=(r-s+o)/2,l=[o-n,i.parse(t.min)??o-n],a&&(l[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(o=H(l))+r,i.parse(t.max)??o+r],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=W(h))-o<r&&(l[0]=s-r,l[1]=i.parse(t.min)??s-r,o=H(l))),this.minRange=r,this.min=o,this.max=s}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange,o=t.getColumn("x");1===o.length?i.push(o[0]):t.sorted&&V(s)&&t.reserveSpace()&&(e=V(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=te([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=tc(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,V(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):tb(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):th(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,n,a=0,l=0,h,d=t.transA;(o||s||r)&&(n=t.getClosest(),i?(a=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?tb(e.options.pointRange,n,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;a=Math.max(a,t&&td(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal?.slope&&n?t.ordinal.slope/n:1,t.minPointOffset=a*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&(t.closestPointRange=n)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*a,Q(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return th(t)&&th(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:n,logarithmic:a,options:l,softThreshold:h}=this,d=i.time,c=th(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:f,softMax:m,softMin:x}=l,y=th(f)&&i[this.coll]?.[f],b=l.tickPixelInterval,v=l.maxPadding,k=l.minPadding,w=0,M,S=th(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,C,A,T,P;if(r||e||y||this.getTickAmount(),T=tb(this.userMin,d.parse(l.min)),P=tb(this.userMax,d.parse(l.max)),y?(this.linkedParent=y,M=y.getExtremes(),this.min=tb(M.min,M.dataMin),this.max=tb(M.max,M.dataMax),this.type!==y.type&&tE(11,!0,i)):(h&&V(c)&&th(s)&&th(o)&&(o>=c?(C=c,k=0):s<=c&&(A=c,v=0)),this.min=tb(T,C,o),this.max=tb(P,A,s)),th(this.max)&&th(this.min)&&(a&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,tb(o,this.min))&&tE(10,!0,i),this.min=j(a.log2lin(this.min),16),this.max=j(a.log2lin(this.max),16)),this.range&&th(o)&&(this.userMin=this.min=T=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),Q(this,"foundExtremes"),this.adjustForMinRange(),th(this.min)&&th(this.max)){if(!th(this.userMin)&&th(x)&&x<this.min&&(this.min=T=x),!th(this.userMax)&&th(m)&&m>this.max&&(this.max=P=m),e||this.axisPointRange||this.stacking?.usePercentage||y||(w=this.max-this.min)&&(!V(T)&&k&&(this.min-=w*k),!V(P)&&v&&(this.max+=w*v)),!th(this.userMin)&&th(g)&&(this.min=Math.max(this.min,g)),!th(this.userMax)&&th(u)&&(this.max=Math.min(this.max,u)),h&&th(o)&&th(s)){let t=c||0;!V(T)&&this.min<t&&o>=t?this.min=l.minRange?Math.min(t,this.max-p):t:!V(P)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(V(l.min)?this.max=this.min:V(l.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&th(this.min)&&th(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=tb(S,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*b/Math.max(this.len,b)):this.tickInterval=1,n&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;
vendor: 8,858 bytes, line 3
3this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),Q(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),Q(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=tb(l.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&O&&this.tickInterval<O&&(this.tickInterval=O),r||a||S||(this.tickInterval=e1(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,n=o&&t.endOnTick,a=[],l;if(this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&V(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==t.allowDecimals),e)a=e.slice();else if(th(this.min)&&th(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))a=[this.min,this.max],tE(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount)this.tickInterval=e1(this,e*=1.1);else break}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),i&&(this.tickPositions=a,(l=i.apply(this,[this.min,this.max,this]))&&(a=l))}this.isDirty||a.length===this.tickPositions?.length||(this.isDirty=!0),this.tickPositions=a,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=a.slice(0),this.trimTicks(a,r,n),!this.isLinked&&th(this.min)&&th(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),Q(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(Q(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&V(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,n="yAxis"===this.coll&&r.alignThresholds,a=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||n)&&!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:n}=i;n.length&&n.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&n){s.forEach(t=>{let i=t.getThresholdAlignment(e);th(i)&&a.push(i)});let t=a.length>1?a.reduce((t,e)=>t+=e,0)/a.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!th(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData||t.xAxis?.isDirty))&&this.getSeriesExtremes(),th(this.threshold)){let t=G((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;V(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:n,thresholdAlignment:a}=t,l=r?.length,h=tb(t.threshold,t.softThreshold?0:null),d,c,p=t.tickInterval,u,g=()=>r.push(j(r[r.length-1]+p)),f=()=>r.unshift(j(r[0]-p));if(th(a)&&(u=0===a?0:1===a?n-1:Math.round(G(a*(n-1),1,n-2)),o.reversed&&(u=n-1-u)),t.hasData()&&th(s)&&th(i)){let a=()=>{t.transA*=(l-1)/(n-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(th(u)&&th(t.threshold)){for(;r[u]!==h||r.length!==n||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<n;)void 0===r[u]||r[u]>t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}a()}else if(l<n){for(;r.length<n;)r.length%2||s===h?g():f();a()}if(V(e)){for(c=d=r.length;c--;)(3===e&&c%2==1||e<=2&&c>0&&c<d-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis?.isDirty||!1}),this.setAxisSize();let o=this.len!==this.old?.len;o||i||s||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,Q(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),Q(this,"setExtremes",o=Z(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(tw(tb(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(tw(tb(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(tw(tb(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(tw(tb(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:r,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?j(t.lin2log(this.min)):this.min,max:t?j(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=((t-90*this.side)%360+360)%360,i={align:"center"};return Q(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=tb(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return Q(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/((+!!this.categories+this.max-this.min)/s),r=t.rotation,n=j(.8*this.labelMetrics().h),a=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>a&&t!==1/0&&o!==1/0&&a&&(i=Math.ceil(a/s)),j(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(th(r)?p=[r]:o<t.autoRotationLimit&&(p=t.autoRotation)),p){let t,e;for(let i of p)(i===r||i&&i>=-90&&i<=90)&&(e=(t=l(Math.abs(n/Math.sin(e0*i))))+Math.abs(i/360))<c&&(c=e,d=i,h=t)}}else h=l(.75*n);return this.autoRotation=p,this.labelRotation=tb(d,th(r)?r:0),t.step?s:h}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&th(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(!this.opposite&&r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,n=this.horiz,a=this.getSlotWidth(),l=Math.max(1,Math.round(a-(n?2*(o.padding||0):o.distance||0))),h={},d=this.labelMetrics(),c=r.lineClamp,p,u=c??(Math.floor(this.len/(i.length*d.h))||1),g=0;td(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){let e=s[t];e.movedLabel&&e.replaceMovedLabel();let i=e.label?.textPxLength||0;i>g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0:a&&(p=l),h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(h.align=this.labelAlign),i.forEac
3h(function(t){let e=s[t],i=e?.label,o=r.width,n={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(Z(n,{width:`${p}px`,lineClamp:u})):!i.styles.width||n.width||o||i.css({width:"auto"}),e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&V(this.min)&&V(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,n=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),n||this.axisTitle.css(tg(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),n||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new e_(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,n)=>o.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:n,coll:a}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=th(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,w;if(t.showAxis=m=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(n.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,tb(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&n.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):tm(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=V(y=d.offset)?0:tb(d.margin,i?5:10))),t.renderLine(),t.offset=f*tb(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},w=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=w,k+=f*(i?tb(c.y,t.tickRotCorr.y+f*c.distance):tb(c.x,f*c.distance))),t.axisTitleMargin=tb(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,n)),"colorAxis"!==a&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,k,n?.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}Q(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,n=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?n:this.top],["L",o?e.chartWidth-this.right:r,o?n:e.chartHeight-this.bottom]],t)}renderLine(){!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(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,n=e?i:s,a=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:n+(e?0:o),middle:n+o/2,high:n+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+d-(a?this.height:0)+l:u+d};return Q(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new e_(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
3renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid?.isColumn)&&(o[t]||(o[t]=new e_(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,r=s.renderer,n=i.options,a=i.isLinked,l=i.tickPositions,h=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=n.stackLabels,g=n.alternateGridColor,f=n.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=eK(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){tm(t,function(t){t.isActive=!1})}),th(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||a){let r=i.chart.hasRendered&&i.old&&th(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),l.length&&(l.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new e_(i,-1,null,!0)),d[-1].render(-1))),g&&l.forEach(function(r,n){e=void 0!==l[n+1]?l[n+1]+m:i.max-m,n%2==0&&r<i.max&&e<=i.max+(s.polar?-m:m)&&(p[r]||(p[r]=new B.PlotLineOrBand(i,{})),t=r+m,p[r].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:g,className:"highcharts-alternate-grid"},p[r].render(),p[r].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(n.plotLines||[]).concat(n.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[d,c,p].forEach(function(t){let e=[],i=b.duration;tm(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),tT(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==p&&s.hasRendered&&i?i:0)}),x&&(x[x.isPlaced?"animate":"attr"]({d:this.getLinePath(x.strokeWidth())}),x.isPlaced=!0,x[y?"show":"hide"](y)),h&&y&&(h[h.isNew?"attr":"animate"](i.getTitlePosition(h)),h.isNew=!1),u?.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,Q(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||e2.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(Q(this,"destroy",{keepEvents:t}),t||tS(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){$(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();tm(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let i,s,o,r,n=this.crosshair,a=n?.snap??!0,l=this.chart,h=this.cross;if(Q(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),n&&!1!==(V(e)||!a)){if(clearTimeout(this.crossShowTimer),a?V(e)&&(s=tb("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):s=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),V(s)&&(r={value:e&&(this.isXAxis?e.x:tb(e.stackY,e.y)),translatedValue:s},l.polar&&Z(r,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),i=this.getPlotLinePath(r)||null),!V(i))return void this.hideCrosshair();o=this.categories&&!this.isRadial,this.crossShowTimer=tT(()=>{let e=this.cross;e||(this.cross=e=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(n.className||"")).attr({zIndex:tb(n.zIndex,2)}).add(),!l.styledMode&&(e.attr({stroke:n.color||(o?t$.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":tb(n.width,1)}).css({"pointer-events":"none"}),n.dashStyle&&e.attr({dashstyle:n.dashStyle}))),e.show().animate({d:i},eK(n?.animation)),o&&!n.width&&e.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=t)},(!h||"hidden"===h.attr("visibility"))&&n.showDelay||0)}else this.hideCrosshair();Q(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),Q(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=tg(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,tb(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);q(e.axes,this),q(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,tb(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}e2.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){if("datetime"!==this.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new s(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,z(t,"afterSetType",i)),t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["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]],s=i[i.length-1],o=tI[s[0]],r=s[1],n,a;for(n=0;n<i.length;n++)if(o=tI[(s=i[n])[0]],r=s[1],i[n+1]){let e=(o*r[r.length-1]+tI[i[n+1][0]])/2;
3if(t<=e){a=e/t;break}}o===tI.year&&t<5*o&&(r=[1,2,5]);let l=tf(t/o,r,"year"===s[0]?Math.max(ti(t/o),1):1);return{unitRange:o,count:l,unitName:s[0],match:a}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=s}(v||(v={}));let e3=v;!function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new s(this))}function i(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),z(t,"afterSetType",e),z(t,"afterInit",i)),t};class s{constructor(t){this.axis=t}getLogTickPositions(t,e,i,s){let o=this.axis,r=o.len,n=o.options,a=[];if(s||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),a=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,n,l,h,d,c,p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;r<i+1&&!c;r++)for(n=0,l=o.length;n<l&&!c;n++)(h=this.log2lin(this.lin2log(r)*o[n]))>e&&(!s||d<=i)&&void 0!==d&&a.push(d),d>i&&(c=!0),d=h}else{let l=this.lin2log(e),h=this.lin2log(i),d=s?o.getMinorTickInterval():n.tickInterval,c=n.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=tf(t=tb("auto"===d?null:d,this.minorAutoInterval,(h-l)*c/(p||1))),a=o.getLinearTickPositions(t,l,h).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),a}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(k||(k={}));let e5=k;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,n=!th(this.min)||!th(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,a=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),l,h=1,d;if(a&&s)for(n&&(d=a.toString()===s.toString(),h=0),l=0;l<a.length;l+=2){let t=a[l],e=a[l+1],i=s[l],n=s[l+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===n[0]||"L"===n[0])&&(r&&i[1]===t[1]?(i[1]+=h,n[1]+=h):r||i[2]!==t[2]||(i[2]+=h,n[2]+=h),o.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",n[1],n[2]],["L",i[1],i[2]],["Z"])),o.isFlat=d}return o}function n(t){this.removePlotBandOrLine(t)}function a(t){let e=this.plotLinesAndBands,i=this.options,s=this.userOptions;if(e){let o=e.length;for(;o--;)e[o].id===t&&e[o].destroy();[i.plotLines||[],s.plotLines||[],i.plotBands||[],s.plotBands||[]].forEach(function(e){for(o=e.length;o--;)e[o]?.id===t&&q(e,e[o])})}}function l(t){this.removePlotBandOrLine(t)}t.compose=function(t,h){let d=h.prototype;return d.addPlotBand||(e=t,Z(d,{addPlotBand:i,addPlotLine:o,addPlotBandOrLine:s,getPlotBandPath:r,removePlotBand:n,removePlotLine:l,removePlotBandOrLine:a})),h}}(w||(w={}));let e6=w;class e9{static compose(t,e){return z(t,"afterInit",function(){this.labelCollectors.push(()=>{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),e6.compose(e9,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){Q(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:n=0}=e,{renderer:a,time:l}=t.chart,h={},d=l.parse(e.to),c=l.parse(e.from),p=l.parse(e.value),u=e.borderWidth,g=e.label,{label:f,svgElem:m}=this,x=[],y,b=V(c)&&V(d),v=V(p),k=!m,w={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},M=b?"bands":"lines";if(!t.chart.styledMode&&(v?(w.stroke=o||"#999999",w["stroke-width"]=tb(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):b&&(w.fill=o||"#e6e9ff",u&&(w.stroke=e.borderColor,w["stroke-width"]=u))),h.zIndex=n,M+="-"+n,(y=t.plotLinesAndBandsGroups[M])||(t.plotLinesAndBandsGroups[M]=y=a.g("plot-"+M).attr(h).add()),m||(this.svgElem=m=a.path().attr(w).add(y)),V(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});
vendor: 4,469 bytes, line 3
3else{if(!(V(c)&&V(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(tm(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t,this])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),g&&(V(g.text)||V(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=tg({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,n)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,n=t.inside,a=this.label;a||(this.label=a=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||a.css(tg({color:o.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!n?"":"ellipsis"},t.style)),a.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],h=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=W(l),c=W(h),p=H(l)-d;a.align(t,!1,{x:d,y:c,width:p,height:H(h)-c}),a.alignAttr.y-=r.fontMetrics(a).b,(!a.alignValue||"left"===a.alignValue||V(n))&&a.css({width:(t.style?.width||(i&&n?p:90===a.rotation?o.height-(a.alignAttr.y-o.top):(t.clip?o.width+o.left:o.chart.chartWidth)-a.alignAttr.x))+"px"}),a.show(!0)}getLabelText(t){return V(t.formatter)?t.formatter.call(this,this):t.text}destroy(){q(this.axis.plotLinesAndBands,this),delete this.axis,$(this)}}let{animObject:e4}=tQ,{format:e8}=es,{composed:e7,dateFormats:it,doc:ie,isSafari:ii}=B,{distribute:is}=er,io=t=>{clearTimeout(t.hideTimer),clearTimeout(t.showTimer)};class ir{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"",t)})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e?.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||tC(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),_(this.container)),tn(this.hideTimer),io(this)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if(t=tC(t),t[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-a,o-n]}let l={point:t[0],ret:i};return Q(this,"getAnchor",l),l.ret.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+tb(t.colorIndex,o.colorIndex),r?.className].filter(td).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=eo.getRendererType();this.container=n=B.doc.createElement("div"),n.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),U(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e?.zIndex||0)+3)}),this.renderer=a=new i(n,0,0,e,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",t,e,o.shape||"callout",void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;
vendor: 2,098 bytes, line 3
3[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,n&&(n.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow??!o.fixed).add()}return n&&!n.parentElement&&B.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=ie,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:n}=this,{inverted:a,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=a&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=n.getChartPosition(),y=i=>{let n="x"===i;return[i,n?m:f,n?t:e].concat(r?[n?t*x.scaleX:e*x.scaleY,n?x.left-s+(c+l)*x.scaleX:x.top-s+(p+h)*x.scaleY,0,n?m:f]:[n?t:e,n?c+l:p+h,n?l:h,n?l+o.plotWidth:h+o.plotHeight])},b=y("y"),v=y("x"),k,w=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(w=!w);let M=!this.followPointer&&tb(i.ttBelow,!d&&!a===w),S=function(t,e,i,o,n,a,l){let h=r?"y"===t?s*x.scaleY:s*x.scaleX:s,d=(i-o)/2,c=o<n-s,p=n+s+o<e,f=n-h-i+d,m=n+h-d;if(M&&p)u[t]=m;else if(!M&&c)u[t]=f;else if(c)u[t]=Math.min(l-o,f-g<0?f:f-g);else{if(!p)return u[t]=0,!1;u[t]=Math.max(a,m+g+i>e?m:m+g)}},C=function(t,e,i,o,r){if(r<s||r>e-s)return!1;r<i/2?u[t]=1:r>e-o/2?u[t]=e-o-2:u[t]=r-i/2},A=function(t){[b,v]=[v,b],k=t},T=()=>{!1!==S.apply(0,b)?!1!==C.apply(0,v)||k||(A(!0),T()):k?u.x=u.y=0:(A(!0),T())};return(a&&!d||this.len>1)&&A(),T(),r&&(u.x-=x.left,u.y-=x.top),u}getFixedPosition(t,e,i){let s=i.series,{chart:o,options:r,split:n}=this,a=r.position,l=a.relativeTo,h=r.shared||s?.yAxis?.isRadial&&("pane"===l||!l)?"plotBox":l,d="chart"===h?o.renderer:o[h]||o.getClipBox(s,!0);return{x:d.x+(d.width-t)*tt(a.align)+a.x,y:d.y+(d.height-e)*tt(a.verticalAlign)+(!n&&a.y||0)}}hide(t){let e=this;io(this),t=tb(t,this.options.hideDelay),this.isHidden||(this.hideTimer=tT(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
vendor: 4,482 bytes, line 3
3,{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=tb(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let{followPointer:o,options:r}=this,n=e4(!o&&!this.isHidden&&!r.fixed&&r.animation),a=o||(this.len||0)>1,l={x:t,y:e};a?l.anchorX=l.anchorY=NaN:(l.anchorX=i,l.anchorY=s),n.step=()=>this.drawTracker(),this.getLabel().animate(l,n)}refresh(t,e){let i=this,{chart:s,options:o,pointer:r,shared:n}=this,a=tC(t),l=a[0],h=o.format,d=o.formatter||i.defaultFormatter,c=s.styledMode,p=i.allowShared;if(!o.enabled||!l.series)return;io(this),i.allowShared=!(!tc(t)&&t.series&&t.series.noSharedTooltip),p=p&&!i.allowShared,i.followPointer=!i.split&&l.series.tooltipOptions.followPointer;let u=i.getAnchor(t,e),g=u[0],f=u[1];n&&i.allowShared&&(r.applyInactiveState(a),a.forEach(t=>t.setState("hover")),l.points=a),this.len=a.length;let m=td(h)?e8(h,l,s):d.call(l,i,l);l.points=void 0;let x=l.series;this.distance=tb(x.tooltipOptions.distance,16),!1===m?this.hide():this.showTimer=tT(()=>{if(i.split&&i.allowShared)i.renderSplit(m,a);else{let t=g,n=f;if(e&&r.isDirectTouch&&(t=e.chartX-s.plotLeft,n=e.chartY-s.plotTop),!(s.polar||!1===x.options.clip||a.some(e=>r.isDirectTouch||e.series.shouldShowTooltip(t,n))))return void i.hide();{let t=i.getLabel(p&&i.tt||{});(!o.style.width||c)&&t.css({width:(this.outside?this.getPlayingField():s.spacingBox).width-2*o.padding+"px"}),t.attr({class:i.getClassName(l),text:tc(m)?m.join(""):m}),this.outside&&t.attr({x:G(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),c||t.attr({stroke:o.borderColor||l.color||x.color||"#666666"}),i.updatePosition({plotX:g,plotY:f,negative:l.negative,ttBelow:l.ttBelow,series:x,h:u[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1},i.isHidden&&o.showDelay||0),Q(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{fixed:g,position:f,positioner:m},pointer:x}=i,{scrollLeft:y=0,scrollTop:b=0}=s.scrollablePlotArea?.scrollingContainer||{},v=i.outside&&"number"!=typeof d?ie.documentElement.getBoundingClientRect():{left:y,right:y+o,top:b,bottom:b+r},k=i.getLabel(),w=this.renderer||s.renderer,M=!!s.xAxis[0]?.opposite,{left:S,top:C}=x.getChartPosition(),A=m||g,T=l+b,P=0,O=n-h,L=function(t,e,s,o,r=[0,0],n=!0){let a,l;if(s.isHeader)l=M?0:O,a=G(r[0]-t/2,v.left,v.right-t-(i.outside?S:0));else if(g&&s){let o=i.getFixedPosition(t,e,s);a=o.x,l=o.y-T}else l=r[1]-T,a=G(a=n?r[0]-t-p:r[0]+p,n?a:v.left,v.right);return{x:a,y:l}};td(t)&&(t=[!1,t]);let E=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},h=r.isHeader,d=h?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e,a=n.tooltipOptions||u;if(!o){let t={padding:a.padding,r:a.borderRadius};c||(t.fill=a.backgroundColor,t["stroke-width"]=a.borderWidth??(g&&!r?0:1)),o=w.label("",0,0,a[r?"headerShape":"shape"]||(g&&!r?"rect":"callout"),void 0,void 0,a.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(k)}return o.isActive=!0,o.attr({text:s}),c||o.css(a.style).attr({stroke:a.borderColor||e.color||n.color||"#333333"}),o}(d.tt,r,s.toString()),x=f.getBBox(),y=x.width+f.strokeWidth();h&&(P=x.height,O+=P,M&&(T-=P));let{anchorX:b,anchorY:S}=function(t){let e,i,{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(a+o,a),i=l+n/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+G(o,-p,t.len+p),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=G(e,v.left-p,v.right+p),anchorY:i}}(r);if("number"==typeof S){let e=x.height+1,s=(m||L).call(i,y,e,r,i,[b,S]);t.push({align:A?0:void 0,anchorX:b,anchorY:S,boxWidth:y,point:r,rank:tb(s.rank,+!!h),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!A&&E.some(t=>{let{outside:e}=i,s=(e?S:0)+t.anchorX;return s<v.left&&s+t.boxWidth<v.right||s<S-v.left+t.boxWidth&&v.right-s>s})&&(E=E.map(t=>{let{x:e,y:i}=L.call(this,t.boxWidth,t.size,t.point,void 0,[t.anchorX,t.anchorY],!1);return Z(t,{target:i,x:e})})),i.cleanSplit(),is(E,O);let D={left:S,right:S};
3E.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&S+e<D.left&&(D.left=S+e),!o&&i.outside&&D.left+s>D.right&&(D.right=S+e))}),E.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:n}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+T+(g&&f.y||0),anchorX:s,anchorY:o};if(i.outside&&e<s){let t=S-D.left;t>0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(D.right-D.left)/2,a.anchorX=s+t))}t.tt.attr(a)});let{container:I,outside:B,renderer:N}=i;if(B&&I&&N){let{width:t,height:e,x:i,y:s}=k.getBBox();N.setSize(t+i,e+s,!1),I.style.left=D.left+"px",I.style.top=C+"px"}ii&&k.attr({opacity:1===k.opacity?.999:1})}drawTracker(){let t=this;if(!this.shouldStickOnContact()){t.tracker&&(t.tracker=t.tracker.destroy());return}let e=t.chart,i=t.label,s=t.shared?e.hoverPoints:e.hoverPoint;if(!i||!s)return;let o={x:0,y:0,width:0,height:0},r=this.getAnchor(s),n=i.getBBox();r[0]+=e.plotLeft-(i.translateX||0),r[1]+=e.plotTop-(i.translateY||0),o.x=Math.min(0,r[0]),o.y=Math.min(0,r[1]),o.width=r[0]<0?Math.max(Math.abs(r[0]),n.width-r[0]):Math.max(Math.abs(r[0]),n.width),o.height=r[1]<0?Math.max(Math.abs(r[1]),n.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),n.height),t.tracker?t.tracker.attr(o):(t.tracker=i.renderer.rect(o).addClass("highcharts-tracker").add(i),z(t.tracker.element,"mouseenter",()=>io(t)),e.styledMode||t.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o?.dateTime,n={isFooter:e,point:t},a=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return Q(this,"headerFormatter",n,function(e){if(r&&!a&&th(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a){if(tu(a)){let t=a;it[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}
3(t.tooltipDateKeys||["key"]).forEach(t=>{l=l.replace(RegExp("point\\."+t+"([ \\)}])"),`(point.${t}:${a})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=e8(l,t,this.chart)}),n.text||""}update(t){this.destroy(),this.init(this.chart,tg(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:n}=this,{height:a=0,width:l=0}=this.getLabel(),{fixed:h,positioner:d}=o,{left:c,top:p,scaleX:u,scaleY:g}=r.getChartPosition(),f=(d||h&&this.getFixedPosition||this.getPosition).call(this,l,a,t,this),m=B.doc,x=(t.plotX||0)+e.plotLeft,y=(t.plotY||0)+e.plotTop,b;if(n&&i){let{scrollLeft:t=0,scrollTop:r=0}=e.scrollablePlotArea?.scrollingContainer||{};f.x+=t+c,f.y+=r+p,b=(o.borderWidth||0)+2*s+2,n.setSize(G(l+b,0,m.documentElement.clientWidth)-1,a+b,!1),(1!==u||1!==g)&&(U(i,{transform:`scale(${u}, ${g})`}),x*=u,y*=g),x+=c-f.x,y+=p-f.y}this.move(Math.round(f.x),Math.round(f.y||0),x,y)}}(h=ir||(ir={})).compose=function(t){tk(e7,"Core.Tooltip")&&z(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new h(t,t.options.tooltip,this))})};let ia=ir,{animObject:il}=tQ,{defaultOptions:ih}=tX,{format:id}=es;class ic{constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=tB()),this.resolveColor(),this.dataLabelOnNull??(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,this.category=t.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,Q(this,"afterInit")}animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(Z({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return Z(this,t=ic.prototype.optionsToObject.call(this,t)),this.options?this.options=i.chart.options.chart.allowMutatingData?Z(this.options,t):tg(this.options,t):this.options=t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=ic.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():th(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),th(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=il(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(tS(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),q(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),tT(n,r.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t?.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),Q(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative&&!1!==this.series.options.negativeColor?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone?.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){if(t)return 0===t.indexOf("custom.")?ts(t,this.options):this[t]}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(th(this.x)||this.x instanceof Date)&&th(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},n,a=0,l=0;if(th(t)||null===t)r[s[0]]=t;
3else if(tc(t))for(!i&&t.length>o&&("string"==(n=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===n&&(r.x=t[0]),a++);l<o;)i&&void 0===t[a]||(s[l].indexOf(".")>0?ic.prototype.setNestedProperty(r,t[a],s[l]):r[s[l]]=t[a]),a++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,l=0;if(th(i)&&th(e))return t&&(a=r?r.pos:o.plotLeft,l=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,n;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=tb(this.options.colorIndex,n),this.color=tb(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:tu(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:n=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||n)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+n)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),id(t,this,e)}update(t,e,i,s){let o,r=this,n=r.series,a=r.graphic,l=n.chart,h=n.options,d=h.data;function c(){r.applyOptions(t);let s=a&&r.hasMockGraphic,c=null===r.y?!s:s;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),tu(t,!0)&&(a?.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let p={};for(let t of n.dataColumnKeys())p[t]=r[t];n.dataTable.setRow(p,o),d&&!n.processedData&&(d[o]=tu(d[o],!0)||tu(t,!0)?r.options:t??d[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=tb(e,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=tb(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
vendor: 4,567 bytes, line 3
3h(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=tg(this.series.options.point,this.options),i=e.events?.[t];tp(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=z(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(tS(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=ih.plotOptions[i.type].marker&&i.options.marker,n=r&&!1===r.enabled,a=r?.states?.[t||"normal"]||{},l=!1===a.enabled,h=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(l||n&&!1===a.enabled)||t&&h.states&&h.states[t]&&!1===h.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=tb(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&th(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,tb(d.options.chart.animation,a.animation,r.animation)),m&&m.hide()}else t&&a&&(x=h.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height,tg(r,a)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b?.visibility||"inherit";y?.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+tb(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(Z({fill:this.color||i.color,"fill-opacity":y.opacity},t6.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),Q(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(Y(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let ip=ic,{parse:iu}=t$,{charts:ig,composed:im,isTouchDevice:ix}=B,iy=(t,e)=>!V(e)||t[`${e}Key`];class ib{applyInactiveState(t=[]){let e=[];for(let i of(t.forEach(t=>{let i=t.series;e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&e.push.apply(e,i.linkedSeries),i.navigatorSeries&&e.push(i.navigatorSeries),i.boosted&&i.markerGroup&&e.push.apply(e,this.chart.series.filter(t=>t.markerGroup===i.markerGroup))}),this.chart.series)){let t=i.options;t.states?.inactive?.enabled!==!1&&(-1===e.indexOf(i)?i.setState("inactive",!0):t.inactiveOtherPoints&&i.setAllPointsToState("inactive"))}}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!B.chartCount&&(ib.unbindDocumentMouseUp.forEach(t=>t.unbind()),ib.unbindDocumentMouseUp.length=0,ib.unbindDocumentTouchEnd&&(ib.unbindDocumentTouchEnd=ib.unbindDocumentTouchEnd())),tm(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return Q(this,"getSelectionMarkerAttrs",i,i=>{let s,{chart:o,zoomHor:r,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=n?1:o.plotHeight,r&&(h.width=Math.max(1,Math.abs(s=t-a)),h.x=(s>0?0:s)+a),n&&(h.height=Math.max(1,Math.abs(s=e-l)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}
vendor: 9,189 bytes, line 3
3=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:n}=e.options.chart,a=e.plotLeft,l=e.plotTop,h=e.plotWidth,d=e.plotHeight,c=tu(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(u<a?u=a:u>a+h&&(u=a+h),g<l?g=l:g>l+d&&(g=l+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){f=e.isInsidePlot(i-a,s-l,{visiblePlotOnly:!0});let{shapeType:h,attrs:d}=this.getSelectionMarkerAttrs(u,g);this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[h](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:n||iu("#334eff").setOpacity(.25).get()})),m&&m.attr(d),f&&!m&&c&&iy(t,r)&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return Q(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}th(i.index)&&(this.selectionMarker=s.destroy())}i&&th(i.index)&&(U(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){var o;let r,n,a,l=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),h=t.searchPoint(i,l);tu(h,!0)&&h.series&&(!tu(s,!0)||(r=(o=s).distX-h.distX,n=o.dist-h.dist,a=h.series.group?.zIndex-o.series.group?.zIndex,(0!==r&&e?r:0!==n?n:0!==a?a:o.series.index>h.series.index?-1:1)>0))&&(s=h)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&th(o.x)&&th(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o?.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=tx(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n=[],a=function(t){return t.visible&&!(!o&&t.directTouch)&&tb(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};Q(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||a)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c?.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):a(t)&&!t.noSharedTooltip})).forEach(function(t){let e=t.options?.nullInteraction,i=tr(t.points,function(t){return t.x===c.x&&(!t.isNull||!!e)});tu(i)&&(t.boosted&&t.boost&&(i=t.boost.getPoint(i)),n.push(i))}):n.push(c)),Q(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:n}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=F(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),Q(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):tb(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return Z(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(Q(i.series,"click",Z(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(Z(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&Q(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),B.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=ig[tb(ib.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.exporting?.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!i?.shouldStickOnContact(s)&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){t?.touches&&this.hasPinchMoved&&t?.preventDefault?.(),ig[tb(ib.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),n=r.length,a=1===n&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===n&&tb(l?.options.followTouchMove,!0);n>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(Q(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n?.shared?r:o;t&&a&&tC(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&tC(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip?.options.enabled?s.tooltip:void 0,n=!!r&&r.shared,a=e||s.hoverPoint,l=a?.series||s.hoverSeries,h=(!t||"touchmove"!==t.type)&&(!!e||l?.directTouch&&this.isDirectTouch),d=this.getHoverData(a,l,o,h,n,t);a=d.hoverPoint,l=d.hoverSeries;let c=d.hoverPoints,p=l?.tooltipOptions.followPointer&&!l.tooltipOptions.split,u=n&&l&&!l.noSharedTooltip;if(a&&(i||a!==s.hoverPoint||r?.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!a.series)return;s.hoverPoints=c,s.hoverPoint=a,a.firePointEvent("mouseOver",void 0,()=>{r&&a&&r.refresh(u?c:a,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=z(s.container.ownerDocument,"mousemove",t=>ig[ib.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEac
vendor: 5,331 bytes, line 3
3h(function(e){let i,o=e.crosshair?.snap??!0;o&&((i=s.hoverPoint)&&i.series[e.coll]===e||(i=tr(c,t=>t.series?.[e.coll]===e))),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=t=>t.parentElement||t.getRootNode()?.host?.parentElement;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(z(t,"mouseenter",this.onContainerMouseEnter.bind(this)),z(t,"mouseleave",this.onContainerMouseLeave.bind(this))),ib.unbindDocumentMouseUp.some(t=>t.doc===e)||ib.unbindDocumentMouseUp.push({doc:e,unbind:z(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&"BODY"!==s.tagName;)this.eventsToUnbind.push(z(s,"scroll",()=>{delete this.chartPosition})),s=i(s);this.eventsToUnbind.push(z(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),z(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),ib.unbindDocumentTouchEnd||(ib.unbindDocumentTouchEnd=z(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),z(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!ix)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=tb(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(z(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),z(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||U(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||U(i,{"touch-action":tb(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=B.charts[tb(ib.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i?.mouseIsDown||(ib.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.exporting?.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(this.hasPinchMoved=i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),tb(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=tb(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=(o||r)&&iy(t,e.zooming.key)}}ib.unbindDocumentMouseUp=[],(d=ib||(ib={})).compose=function(t){tk(im,"Core.Pointer")&&z(t,"beforeRender",function(){this.pointer=new d(this,this.options)})};let iv=ib,{setLength:ik,splice:iw}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,o=[]){if(Array.isArray(t))return Array.isArray(o)||(o=Array.from(o)),{removed:t.splice(e,i,...o),array:t};let r=Object.getPrototypeOf(t).constructor,n=t[s?"subarray":"slice"](e,e+i),a=new r(t.length-i+o.length);return a.set(t.subarray(0,e),0),a.set(o,e),a.set(t.subarray(e+i),e+o.length),{removed:n,array:a}}},iM=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||tB(),this.rowCount=0,this.versionTag=tB();let e=0;tm(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,tm(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=ik(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;tm(this.columns,(s,o)=>{this.columns[o]=iw(s,t,e).array,i=s.length}),this.rowCount=i}Q(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=tB()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;tm(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(Q(this,"afterSetColumns"),this.versionTag=tB())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1,n=Object.keys(t);if(s?.addColumns!==!1)for(let t=0,e=n.length;t<e;t++){let e=n[t];o[e]||(o[e]=[])}tm(o,(n,a)=>{n||s?.addColumns===!1||(n=Array(r)),n&&(i?n=iw(n,e,0,!0,[t[a]??null]).array:n[e]=t[a]??null,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(Q(this,"afterSetRows"),this.versionTag=tB())}getModified(){return this.modified||this}};var iS=M||(M={});function iC(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}
vendor: 2,593 bytes, line 3
3=this,{baseline:n=0,symbolWidth:a,symbolHeight:l}=t,h=this.symbol||"circle",d=l/2,c=o.renderer,p=s.group,u=n-Math.round((t.fontMetrics?.b||l)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"!==r.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),a)/2),a){let t=[["M",x,u],["L",a-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",a-x,n],["L",x,n]]})}if(m&&!1!==m.enabled&&a){let t=Math.min(tb(m.radius,d),d);0===h.indexOf("url")&&(m=tg(m,{width:l,height:l}),t=0),s.symbol=f=c.symbol(h,a/2-t,u-t,2*t,2*t,Z({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}iS.areaMarker=function(t,e){iC.call(this,t,e,!0)},iS.lineMarker=iC;let iA=M,{defaultOptions:iT}=tX;var iP=S||(S={});function iO(t,e){let i=iT.plotOptions||{},s=e.defaultOptions,o=e.prototype;return o.type=t,o.pointClass||(o.pointClass=ip),!iP.seriesTypes[t]&&(s&&(i[t]=s),iP.seriesTypes[t]=e,!0)}iP.seriesTypes=B.seriesTypes,iP.registerSeriesType=iO,iP.seriesType=function(t,e,i,s,o){let r=iT.plotOptions||{};if(e=e||"",r[t]=tg(r[e],i),delete iP.seriesTypes[t],iO(t,J(iP.seriesTypes[e]||B.Series,s)),iP.seriesTypes[t].prototype.type=t,o){class e extends ip{}Z(e.prototype,o),iP.seriesTypes[t].prototype.pointClass=e}return iP.seriesTypes[t]};let iL=S,{animObject:iE,setAnimation:iD}=tQ,{defaultOptions:iI}=tX,{registerEventOptions:iB}=eV,{svg:iN,win:iR}=B,{seriesTypes:iz}=iL,{format:iW}=es;class iH{constructor(){this.zoneAxis="y"}init(t,e){let i;Q(this,"init",{options:e}),this.dataTable??(this.dataTable=new iM);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),Z(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),iB(this,o);let n=o.events;(n?.click||o.point?.events?.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=tb(i?._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",tD(this,s)),o.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),Q(this,"afterInit")}is(t){return iz[t]&&this instanceof iz[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;Q(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,
3(tb(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(tD(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||tE(18,!0,s)})}),Q(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,n=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=tb(this.pointInterval,i.pointInterval,1),o&&th(t)&&(e*=t),s){let t=r.toParts(n);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-n}return o&&th(t)?n+e:(this.xIncrement=n+e,n)}setDataSortingOptions(){let t=this.options;Z(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),V(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=tg(t),n=i.styledMode,a={plotOptions:s,userOptions:r};Q(this,"setOptions",a);let l=a.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=iI.plotOptions[this.type]||{},p=h[this.type]||{};l.dataLabels=this.mergeArrays(c.dataLabels,l.dataLabels),this.userOptions=a.userOptions;let u=tg(l,s.series,p,r);this.tooltipOptions=tg(iI.tooltip,iI.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=tb(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===l.marker&&delete u.marker;let{negativeColor:g,negativeFillColor:f,zoneAxis:m="y",zones:x}=u,y=this.zones=(x||[]).map(t=>({...t}));return this.zoneAxis=m,(g||f)&&!x&&(e={value:u[m+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||("boolean"!=typeof g&&(e.color=g),e.fillColor=f),y.push(e)),y.length&&V(y[y.length-1].value)&&y.push(n?{}:{color:this.color,fillColor:this.fillColor}),Q(this,"afterSetOptions",{options:u}),u}getName(){return this.options.name??iW(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,o,r=this.chart,n=`${t}Index`,a=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(V(o=tb("color"===t?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||iI.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.getModified():this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o,{id:r,x:n}=t,a=this.points,l=this.options.dataSorting,h=this.cropStart||0;if(r){let t=this.chart.get(r);t instanceof ip&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(l?.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=tr(a,e)))return}return i&&void 0!==(o=i?.index)&&(s=!0),void 0===o&&th(n)&&(o=this.getColumn("x").indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=h?o-h:o),!s&&th(o)&&a[o]?.touched&&(o=void 0),o}updateData(t,e){let{options:i,requireSorting:s}=this,o=i.dataSorting,r=this.points,n=[],a=t.length===r.length,l=this.xIncrement,h,d,c,p,u=!0;if(this.xIncrement=null,t.forEach((t,e)=>{let l,d=V(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},{id:c,x:u}=d;c||th(u)?(-1===(l=this.findPointIndex(d,p))||void 0===l?n.push(t):r[l]&&t!==i.data?.[l]?(r[l].update(t,!1,void 0,!1),r[l].touched=!0,s&&(p=l+1)):r[l]&&(r[l].touched=!0),(!a||e!==l||o?.enabled||this.hasDerivedData)&&(h=!0)):n.push(t)},this),h)for(d=r.length;d--;)(c=r[d])&&!c.touched&&c.remove?.(!1,e);else a&&!o?.enabled?(t.forEach((t,e)=>{t===r[e].y||r[e].destroyed||r[e].update(t,!1,void 0,!1)}),n.length=0):u=!1;if(r.forEach(t=>{t&&(t.touched=!1)}),!u)return!1;
3n.forEach(t=>{this.addPoint(t,!1,void 0,void 0,!1)},this);let g=this.getColumn("x");return null!==l&&null===this.xIncrement&&g.length&&(this.xIncrement=H(g),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o?.length||0,n=this.options,a=this.chart,l=n.dataSorting,h=this.xAxis,d=n.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,f=n.keys,m,x,y=0,b=1,v;a.options.chart.allowMutatingData||(n.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=tg(!0,t));let k=(t=v||t||[]).length;if(l?.enabled&&(t=this.sortData(t)),!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&!n.relativeXValue&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(tc(t)&&(f||th(t[0])));if(th(i)&&th(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s))if(g){let e=+(i.length===g),s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];for(let i of t)y===b?e.push(this.autoIncrement()):e.push(i[y]??i.x??null),s.push(i[b]??i.y??null);c.setColumns({x:e,[u]:s})}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m<k;m++){let i=this.pointClass.prototype.applyOptions.apply({series:this},[t[m]]);for(let t of p)e[t][m]=i[t]}c.setColumns(e)}for(td(this.getColumn("y")[0])&&tE(14,!0,a),this.data=[],this.options.data=this.userOptions.data=t,m=r;m--;)o[m]?.destroy();h&&(h.minRange=h.userMinRange),this.isDirty=a.isDirtyBox=!0,this.isDirtyData=!!o,i=!1}"point"===n.legendType&&(this.processData(),this.generatePoints()),e&&a.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return V(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=ts(i,t),o=ts(i,e);return o<s?-1:+(o>s)}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;!i.dataSorting?.enabled&&o&&(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,n=o.cropThreshold,a=t||e.getExtremesFromAll,l=r?.logarithmic,h=i.rowCount,d,c,p=0,u,g,f,m=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,f=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!a&&(!n||h>n||e.forceCrop)&&(m[h-1]<g||m[0]>f?x=new iM:e.getColumn(e.pointValKey||"y").length&&(m[0]<g||m[h-1]>f)&&(x=(d=this.cropData(i,g,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:te([l?m.map(l.log2lin):m],()=>e.requireSorting&&!y&&tE(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,Q(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},n,a,l=0,h=o;for(n=0;n<o;n++)if(s[n]>=e){l=Math.max(0,n-1);break}for(a=n;a<o;a++)if(s[a]>i){h=a+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(l,h))}return{modified:new iM({columns:r}),start:l,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.getModified(),s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,n=this.cropStart||0,a=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping?.groupAll?n:0,c=this.pointArrayMap||["y"],p=this.dataColumnKeys(),u,g,f,m,x=this.data,y;if(!x&&!a){let t=[];t.length=e?.length||0,x=this.data=t}for(l&&a&&(this.options.keys=!1),m=0;m<r;m++)g=n+m,a?((f=new o(this,i.getRow(m,p)||[])).dataGroup=this.groupMap?.[d+m],f.dataGroup?.options&&(f.options=f.dataGroup.options,Z(f,f.dataGroup.options),delete f.dataLabels,f.key=f.name??f.category)):(f=x[g],y=e?e[g]:i.getRow(m,c),f||void 0===y?f&&(f.category=this.xAxis?.categories?.[f.x]??f.x,f.key=f.name??f.category):x[g]=f=new o(this,y,s[m])),f&&(f.index=a?d+m:g,h[m]=f);if(this.options.keys=l,x&&(r!==(u=x.length)||a))for(m=0;m<u;m++)m!==n||a||(m+=r),x[m]&&(x[m].destroyElements(),x[m].plotX=void 0);this.data=x,this.points=h,Q(this,"afterGeneratePoints")}getXExtremes(t){return{min:W(t),max:H(t)}}getExtremes(t,e){let{xAxis:i,yAxis:s}=this,o=e||this.getExtremesFromAll||this.options.getExtremesFromAll,r=o&&this.cropped?this.dataTable:this.dataTable.getModified(),n=r.rowCount,a=t||this.stackedYData,l=a?[a]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(t=>r.getColumn(t,!0)||[])||[],h=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,f,m,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),m=0;m<n;m++)if(f=h[m],u||(h[m+c]||f)>=x&&(h[m-c]||f)<=y)for(let t of l){let e=t[m];th(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:W(d),dataMax:H(d)};return Q(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(V(t[o]))return t[o];o+=i}}translate(){this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=this.enabledDataSorting,o=this.yAxis,r=this.points,n=r.length,a=this.pointPlacementToXValue(),l=!!a,h=t.threshold,d=t.startFromThreshold?h:0,c=t?.nullInteraction&&o.len,p,u,g,f,m=Number.MAX_VALUE;function x(t){return G(t,-1e9,1e9)}for(p=0;p<n;p++){let t,n=r[p],y=n.x,b,v,k=n.y,w=n.low,M=e&&o.stacking?.stacks[(this.negStacks&&k<(d?0:h)?"-":"")+this.stackKey];n.plotX=th(u=i.translate(y,!1,!1,!1,!0,a))?j(x(u)):void 0,e&&this.visible&&M&&M[y]&&(f=this.getStackIndicator(f,y,this.index),!n.isNull&&f.key&&(v=(b=M[y]).points[f.key]),b&&tc(v)&&(w=v[0],k=v[1],w===d&&f.key===M[y].base&&(w=tb(th(h)?h:o.min)),o.positiveValuesOnly&&V(w)&&w<=0&&(w=void 0),n.total=n.stackTotal=tb(b.total),n.percentage=V(n.y)&&b.total?n.y/b.total*100:void 0,n.stackY=k,this.irregularWidths||b.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),n.yBottom=V(w)?x(o.translate(w,!1,!0,!1,!0)):void 0,this.dataModify&&(k=this.dataModify.modifyValue(k,p)),th(k)&&void 0!==n.plotX?t=th(t=o.translate(k,!1,!0,!1,!0))?x(t):void 0:!th(k)&&c&&(t=c),n.plotY=t,n.isInside=this.isPointInside(n),n.clientX=l?j(i.translate(y,!1,!1,!1,!0,a)):u,n.negative=(n.y||0)<(h||0),n.isNull||!1===n.visible||(void 0!==g&&(m=Math.min(m,Math.abs(u-g))),g=u),n.zone=this.zones.length?n.getZone():void 0,!n.graphic&&this.group&&s&&(n.isNew=!0)}this.closestPointRangePx=m,Q(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return(!!i||!t.isNull&&!!th(r))&&(!e||!!s.isInsidePlot(o,r,{inverted:s.inverted}))&&!1!==t.visible})}
3getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=t.getClipBox(this),n=this.getSharedClipKey(),a=s[n];Q(this,"setClip",{clipBox:r}),a?a.animate(r):s[n]=a=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:a),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=iE(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),a=e.sharedClips[n],l=e.sharedClips[n+"m"];if(t&&i){let t=e.getClipBox(this);if(a)a.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),a=e.renderer.clipRect(t),e.sharedClips[n]=a;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[n+"m"]=l}i.clip(a),s?.clip(l)}else if(a&&!a.hasClass("highcharts-animating")){let t=e.getClipBox(this),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),tm(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,Q(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a,l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=c.nullInteraction,g=this[this.specialGroup||"markerGroup"],f=this.xAxis,m=tb(p.enabled,!f||!!f.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++){o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},n=!!i.marker;let c=i.isNull;if((m&&!V(r.enabled)||r.enabled)&&(!c||u)&&!1!==i.visible){let t=tb(r.symbol,this.symbol,"rect");a=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=f.reversed?-(a.width||0):f.width);let e=!1!==i.isInside;if(!s&&e&&((a.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,a.x,a.y,a.width,a.height,n?r:p).add(g),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,n={},a,l,h=tb(o.radius,s?.radius);e&&(a=s?.states?.[e],l=o.states?.[e],h=tb(l?.radius,a?.radius,h&&h+(a?.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return th(h)&&d&&(i.crisp&&(d[0]=Y(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),n.x=d[0]-h,n.y=d[1]-h),h&&(n.width=n.height=2*h),n}pointAttribs(t,e){let i=this.options,s=i.marker,o=t?.options,r=o?.marker||{},n=o?.color,a=t?.color,l=t?.zone?.color,h,d,c=this.color,p,u,g=tb(r.lineWidth,s.lineWidth),f=t?.isNull&&i.nullInteraction?0:1;return c=n||l||a||c,p=r.fillColor||s.fillColor||c,u=r.lineColor||s.lineColor||c,e=e||"normal",h=s.states[e]||{},g=tb((d=r.states&&r.states[e]||{}).lineWidth,h.lineWidth,g+tb(d.lineWidthPlus,h.lineWidthPlus,0)),p=d.fillColor||h.fillColor||p,{stroke:u=d.lineColor||h.lineColor||u,"stroke-width":g,fill:p,opacity:f=tb(d.opacity,h.opacity,f)}}destroy(t){let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(iR.navigator.userAgent),n=s.data||[];for(Q(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(t){i=s[t],i?.series&&(q(i.series,s),i.isDirty=i.forceRedraw=!0)}),s.legendItem&&s.chart.legend.destroyItem(s),e=n.length;e--;)n[e]?.destroy?.();for(let t of s.zones)$(t,void 0,!0);tn(s.animationTimeout),tm(s,function(t,e){t instanceof em&&!t.survive&&t[r&&"group"===e?"hide":"destroy"]()}),o.hoverSeries===s&&(o.hoverSeries=void 0),q(o.series,s),o.orderItems("series"),tm(s,function(e,i){t&&"hcEvents"===i||delete s[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:l,renderer:h}=e,d=this[`${a}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<g?i-g*(r<=0?-1:1):s])};if(s.length&&(i||t)&&d&&th(d.min)){let e=d.getExtremes().max+u,g=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=G(d.toPixels(tb(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&f(o,e,i),r&&f(r,e,i)}let m=[],x=d.toPixels(d.getExtremes().min-u,!0);
vendor: 4,677 bytes, line 3
3s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:d}=e,p=0,u=0,f=r.len,y=n.len;c?(p=o,f=x):(u=o,y=x);let b=[["M",p,u],["L",f,u],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,l&&(g(v),t&&g(b)),a?(a.animate({d:v}),d?.animate({d:b})):(a=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(b))),i&&e.graph?.clip(a),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return V(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(V(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;s.inverted&&(e=i,i=this.xAxis);let r={scale:1,translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,name:t};Q(this,"getPlotBox",r);let{scale:n,translateX:a,translateY:l}=r;return{translateX:a,translateY:l,rotation:90*!!o,rotationOriginX:o?n*(e.len-i.len)/2:0,rotationOriginY:o?n*(e.len+i.len)/2:0,scaleX:o?-n:n,scaleY:n}}removeEvents(t){let{eventsToUnbind:e}=this;t||tS(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=iE(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:o.duration;Q(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=tT(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,Q(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options,s=i.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,tT(function(){e.kdTree=function t(i,s,o){let r,n,a=i?.length;if(a)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,o),right:t(i.slice(n+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[n,a]=this.kdAxisArray,l=e?"distX":"dist",h=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>{let s=t[i]||0,o=e[i]||0;return[s===o&&t.index>e.index||s<o?t:e,!1]}),p=o||((t,e)=>t<e);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){let h,u,g,f,m,x,y,b=i.point,v=r.kdAxisArray[s%o],k=b,w=!1;h=e[n],u=b[n],g=V(h)&&V(u)?h-u:null,f=e[a],m=b[a],x=V(f)&&V(m)?f-m:0,y=d&&b.marker?.radius||0,b.dist=Math.sqrt((g&&g*g||0)+x*x)-y,b.distX=V(g)?Math.abs(g)-y:Number.MAX_VALUE;let M=(e[v]||0)-(b[v]||0)+(d&&b.marker?.radius||0),S=M<0?"left":"right",C=M<0?"right":"left";return i[S]&&([k,w]=c(b,t(e,i[S],s+1,o),l)),i[C]&&p(Math.sqrt(M*M),k[l],w)&&(k=c(k,t(e,i[C],s+1,o),l)[0]),k}(t,this.kdTree,h,h)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),th(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(iN?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}
3),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),Q(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n,a=this.options,{chart:l,data:h,dataTable:d,xAxis:c}=this,p=c?.hasNames&&c.names,u=a.data,g=this.getColumn("x");e=tb(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(n=g.length,this.requireSorting&&m<g[n-1])for(r=!0;n&&g[n-1]>m;)n--;d.setRow(f,n,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):([h,u].filter(V).forEach(t=>{t.shift()}),d.deleteRows(0))),!1!==o&&Q(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:n,dataTable:a}=s,l=r[t],h=function(){[n?.length===r.length?n:void 0,r,s.options.data].filter(V).forEac
3h(e=>{e.splice(t,1)}),a.deleteRows(t),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};iD(i,o),e=tb(e,!0),l?l.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),tb(t,!0)&&r.redraw(e)}!1!==i?Q(o,"remove",null,n):n()}update(t,e){Q(this,"update",{options:t=K(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,n=s.options.plotOptions,a=iz[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=iH.keepProps.slice(),u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push.apply(p,iH.keepPropsForPoints),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&Z(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&o.dataLabels&&(t.dataLabels=this.mergeArrays(o.dataLabels,t.dataLabels)),t=tg(o,{index:void 0===o.index?i.index:o.index,pointStart:n?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(iz[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,iz[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in a)i[c]=void 0;Z(i,iz[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}else tE(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t?.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),Q(this,"afterUpdate"),tb(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=tb(s?.[this.type]?.[t],s?.series?.[t]);return o&&!V(r)?i!==o:i!==tb(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&Q(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&Q(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,{graph:s,options:o}=i,{inactiveOtherPoints:r,states:n}=o,a=tb(n?.[t||"normal"]?.animation,i.chart.options.chart.animation),{lineWidth:l,opacity:h}=o;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]?.enabled===!1)return;if(t&&(l=n[t].lineWidth||l+(n[t].lineWidthPlus||0),h=tb(n[t].opacity,h)),s&&!s.dashstyle&&th(l))for(let t of[s,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach(function(t){t?.animate({opacity:h},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let n=t?"show":"hide";["group","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[n]()}),i.dataLabelsGroups?.forEach(t=>{t?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEac
vendor: 3,594 bytes, line 3
3h(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),Q(i,n),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),Q(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){let i=this.chart.renderer,s=this.options.legendSymbol||"rectangle",o=e.legendItem||{},{options:r,symbolHeight:n,symbolWidth:a}=t,l=r.squareSymbol,h=l?n:a,d=l?(a-n)/2:0,c=(t.baseline||0)-n+1,p=r.symbolRadius??n,u="rectangle"===s?i.rect(d,c,h,n,p):i.symbols[s]&&i.symbol(s,d,c,h,n,{r:p});u?o.symbol=u.addClass("highcharts-point").attr({zIndex:3}).add(o.group):iA[s]?.call(this,t,e)}}iH.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",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:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},iH.types=iL.seriesTypes,iH.registerType=iL.registerSeriesType,iH.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],iH.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],Z(iH.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:ip,requireSorting:!0,sorted:!0}),iL.series=iH;let iF=iH,{animObject:iG,setAnimation:ij}=tQ,{registerEventOptions:iX}=eV,{composed:iY,marginNames:iU}=B,{distribute:iV}=er,{format:i$}=es;class i_{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),iX(this,e),z(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),z(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=tb(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=tg(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=tb(t.
vendor: 4,942 bytes, line 3
3symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(tg(!0,this.options,t)),"events"in this.options&&iX(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,tb(e,!0)&&i.redraw(),Q(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:n,symbol:a}=t.legendItem||{};if((t instanceof iF||t instanceof ip)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(tg(e?this.itemStyle:i)),n?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}t.color=i,Q(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e?.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s},a=()=>{Q(this,"afterPositionItem",{item:t})};e[V(e.translateY)?"animate":"attr"](o,void 0,a)}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.legendItem||{};for(let t of["group","label","line","symbol"])e[t]&&(e[t]=e[t].destroy());t.checkbox=_(t.checkbox),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group?.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r,n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,U(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?i$(e.labelFormat,t,this.chart):e.labelFormatter.call(t,t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,n=this.symbolWidth,a=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,d=r?tb(o.itemDistance,20):0,c=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,f=!!this.createCheckboxForItem&&g&&g.showCheckbox,m=o.useHTML,x=t.options.className,y=e.label,b=n+a+d+20*!!f;!y&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(x?" "+x:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=y=s.text("",c?n+a:-a,this.baseline||0,m),i.styledMode||y.css(tg(t.visible?l:h)),y.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(y),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,y.attr("y",this.baseline),this.symbolHeight=tb(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWidth=tb(o.symbolWidth,Math.max(this.symbolHeight,16)),b=this.symbolWidth+a+d+20*!!f,c&&y.attr("x",this.symbolWidth+a))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,y,m)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&y.css({width:Math.min(o.itemWidth||this.widthOption||i.spacingBox.width,o.maxWidth?tw(o.maxWidth,i.chartWidth):1/0)-b+"px"}),this.setText(t);let v=y.getBBox(),k=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+b,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?tb(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=n+o+r,this.lastLineHeight=o
vendor: 9,014 bytes, line 3
3),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e?.options;e&&tb(i.showInLegend,!V(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||("point"===i.legendType?e.data:e)))}),Q(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((r,n)=>{r.test(o)&&!V(t[n])&&(i[iU[n]]=Math.max(i[iU[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+(s.margin??12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,n=s,a,l;t.yAxis&&(t.xAxis.options.reversed&&(n=!n),t.points&&(o=tr(n?t.points:t.points.slice(0).reverse(),function(t){return th(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,a=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:a,size:r,item:t}))},this),iV(i,e.plotHeight)))t=o.item.legendItem||{},th(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.spacingBox.width,i=t.renderer,s=this.options,o=this.padding,r=this.getAllItems(),n,a,l,h=this.group,d,c=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=tw(s.width,e-o),d=e-2*o-s.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(d/=2),this.maxLegendWidth=this.widthOption||d,h||(this.group=h=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=i.g().attr({zIndex:1}).add(h),this.scrollGroup=i.g().add(this.contentGroup)),this.renderTitle(),tA(r,(t,e)=>(t.options?.legendIndex||0)-(e.options?.legendIndex||0)),s.reversed&&r.reverse(),this.allItems=r,this.display=n=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(s.maxWidth?Math.min(this.widthOption||this.offsetWidth,d,tw(s.maxWidth,t.chartWidth)||1/0):this.widthOption||this.offsetWidth)+o,l=this.lastItemY+this.lastLineHeight+this.titleHeight,l=this.handleOverflow(l)+o,c||(this.box=c=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(h)),t.styledMode||c.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),a>0&&l>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:a,height:l},c.strokeWidth())),h[n?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=l=0),this.legendWidth=a,this.legendHeight=l,n&&this.align(),this.proximate||this.positionItems(),Q(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=tg(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(tg(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,n="top"===o.verticalAlign,a=this.padding,l=o.maxHeight,h=o.navigation,d=tb(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?w.attr({height:t}):w&&(e.clipRect=w.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+a+"px,9999px,"+(a+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(k),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b,v=i.spacingBox.height+(n?-r:r)-a,k=this.nav,w=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(v/=2),l&&(v=Math.min(v,l)),p.length=0,t&&v>0&&t>v&&!1!==h.enabled?(this.clipHeight=m=Math.max(v-20-this.titleHeight-a,0),this.currentPage=tb(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&b&&(b.pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i),b=y}),w||(w=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(w)),g(m),k||(this.nav=k=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(k),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(k),this.down=s.symbol("triangle-down",0,0,c,c).add(k),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=v):k&&(g(),this.nav=k.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,l=this.padding,h=this.currentPage+t;h>o&&(h=o),h>0&&(void 0!==e&&ij(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:h+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===h?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:h===o?"default":"pointer"})),this.scrollOffset=-s[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),tT(()=>{Q(this,"afterScroll",{currentPage:h})},iG(tb(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,n=t instanceof ip,a=t instanceof iF,l="highcharts-legend-"+(n?"point":"series")+"-active",h=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(l),h||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(tg(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(l),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(l),Q(s,"itemClick",{browserEvent:e,legendItem:t,context:s},i),n?t.firePointEvent("legendItemClick",{browserEvent:e}):a&&Q(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=X("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),z(t.checkbox,"click",function(e){let i=e.target;Q(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}(c=i_||(i_={})).compose=function(t){tk(iY,"Core.Legend")&&z(t,"beforeMargins",function(){this.legend=new c(this,this.options.legend)})};let iK=i_,{animate:iq,animObject:iZ,setAnimation:iJ}=tQ,{defaultOptions:iQ}=tX,{numberFormat:i0}=es,{registerEventOptions:i1}=eV,{charts:i2,doc:i3,marginNames:i5,svg:i6,win:i9}=B,{seriesTypes:i4}=iL;class i8{static chart(t,e,i){return new i8(t,e,i)}constructor(t,e,i){if(this.sharedClips={},!i3)return void tE(36,!1,this);const s=[...arguments];(td(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:tb(t.zoomType,e.type),key:tb(t.zoomKey,e.key),pinchType:tb(t.pinchType,e.pinchType),singleTouch:tb(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:tg(e.resetButton,t.resetZoomButton)}}init(t,e){Q(this,"init",{args:arguments},function(){let i=tg(iQ,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=Z({},t),(this.renderTo=td(o)?i3.getElementById(o):o)||tE(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tH(Z(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||i0).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=i2.length,i2.push(this),B.chartCount++,i1(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),Q(this,"afterInit"),this.firstRen
vendor: 9,583 bytes, line 3
3der()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=i4[i];s||tE(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=tC(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?tC(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof iF&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}getClipBox(t,e){let i=this.inverted,{xAxis:s,yAxis:o}=t||{},{x:r,y:n,width:a,height:l}=tg(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(a=s.len),o&&o.len!==this.plotSizeY&&(l=o.len),i&&!t.invertible&&([a,l]=[l,a])),e&&(r+=(i?o:s)?.pos??this.plotLeft,n+=(i?s:o)?.pos??this.plotTop),{x:r,y:n,width:a,height:l}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:n,scrollablePlotBox:a}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&a||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+u:n+u;e>=Math.max(h+n,t.pos)&&e<=Math.min(h+n+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return Q(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){Q(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,n=this.renderer,a=n.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(n.rootFontSize=n.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),iJ(!!this.hasRendered&&t,this),a&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&Q(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){Q(t,"afterSetExtremes",Z(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),Q(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),n.draw(),Q(this,"redraw"),Q(this,"render"),a&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=tr(this.axes,i)||tr(this.series,i);for(let t=0;!s&&t<e.length;t++)s=tr(e[t].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(Q(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=tC(t[e]||{}))new e2(this,i,e);Q(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{tb(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=tg(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(Z("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],n=tg(o),a=i?.textPxLength||0;if(i&&r){Q(this,"layOutTitle",{alignTo:n,key:t,textPxLength:a});let o=s.fontMetrics(i),l=o.b,h=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(n.width/a,1),f=Math.max(p,g),m=tg({y:"bottom"===d?l:u+l},r),x=(r.width||(g>p?this.chartWidth:n.width)/f)+"px";m.align??(m.align="title"===t?g<p?"left":"center":this.title?.alignValue),i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:x}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,n).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${n.x+a*f*tt(m.align)} ${h}`}),!r.floating){let t=y*(y<1.2*h?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,Q(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:to(this.renderTo,"width",!0)||0,height:to(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,tw(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e?.style;)e.hcOrigStyle&&(U(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(i3.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e?.style&&(i3.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,i3.body.appendChild(e)),("none"===to(e,"display",!1)||e.hcOrigDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),U(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==i3.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=tB(),r=this.renderTo,n=tv(F(r,s));th(n)&&i2[n]&&i2[n].hasRendered&&i2[n].destroy(),F(r,s,this.index),r.innerHTML=t6.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();let a=this.chartHeight,l=this.chartWidth;U(r,{overflow:"hidden"}),this.styledMode||(t=Z({position:"relative",overflow:"hidden",width:l+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let h=X("div",{id:o},t,r);this.container=h,this.getChartSize(),l!==this.chartWidth&&(l=this.chartWidth,this.styledMode||U(h,{width:tb(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=h.style.cursor;let d=i.renderer||!i6?eo.getRendererType(i.renderer):eW;if(this.renderer=new d(h,l,a,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode),iJ(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,Q(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!V(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!V(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.display&&this.legend.adjustMargins(i,e),Q(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=t=>{t.forEach(t=>{t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i?.length&&o(i),i5.forEach((i,o)=>{V(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return K(this.userOptions,iQ)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.exporting?.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(tn(e.reflowTimeout),e.reflowTimeout=tT(function(){if(e.container){e.setSize(void 0,void 0,!1);let t=e.containerBox;t&&(t.height=e.chartHeight)}},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=z(i9,"resize",e);z(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,iJ(i,s);let r=o.globalAnimation;
vendor: 1,956 bytes, line 3
3s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?iq:U)(s.container,{width:`${n+l}px`,height:`${a+h}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,Q(s,"resize"),setTimeout(()=>{s&&Q(s,"endResize")},iZ(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:n,inverted:a,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-(this.marginRight??0))),this.plotHeight=o=Math.max(0,Math.round(r-i-(this.marginBottom??0))),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:n-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),Q(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){Q(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(i=>{let s=e[i],o=tu(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((s,r)=>{t[i][r]=e[`${i}${s}`]??o[r]})}),i5.forEach((e,i)=>{t[e]=t.margin[i]??t.spacing[i]}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,n=t.backgroundColor,a=t.plotBackgroun
3dColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,w="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+8*!!t.shadow,k={fill:n||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](u),!o&&(x.attr({fill:a||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp(u,-y.strokeWidth())),this.isDirtyBox=!1,Q(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=i4[o.type],i=o[n]||e&&e.prototype[n],t=r?.length;!i&&t--;)(e=i4[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:s}=t.options,o=td(s)&&(":previous"===s?i[t.index-1]:e.get(s));o&&o.linkedParent!==t&&(o.linkedSeries.push(t),t.linkedParent=o,o.enabledDataSorting&&t.setDataSortingOptions(),t.visible=t.options.visible??o.options.visible??t.visible)}),Q(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,n=!0,a,l=0;for(let e of(this.setTitle(),Q(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new e_(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&tb(i.reserveSpace,!th(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(n||a||s>1)&&l<s;){let e=this.plotWidth,i=this.plotHeight,s=[1.05,1.1];for(let e of t){let t=+(e.horiz||0);if(0===l){e.setScale();let i=e.tickPositions?.info?.match;i&&(s[t]=Math.min(i,s[t]))}else(t&&n||!t&&a)&&e.setTickInterval(!0)}0===l?this.getAxisMargins():this.getMargins(),n=e/this.plotWidth>(l?1:s[1]),a=i/this.plotHeight>(l?1:s[0]),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e?.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=tg(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(t){Q(e,"creditsClick",t,()=>{i.href&&(i9.location.href=i.href)})}).attr({align:i.position.align,zIndex:8}),i.events?.click&&z(e,"creditsClick",i.events.click),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,r=o?.parentNode;for(Q(e,"destroy"),e.renderer.forExport?q(i2,e):i2[e.index]=void 0,B.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),tS(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller?.destroy?.(),t=s.length;t--;)s[t]=s[t].destroy();
vendor: 4,105 bytes, line 3
3["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(t=>{e[t]=e[t]?.destroy?.()}),o&&(o.innerHTML=t6.emptyHTML,tS(o),r&&_(o)),tm(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=tc(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),Q(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.asyncCounter||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),Q(this,"load"),Q(this,"render"),V(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e?.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||tE('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}warnIfCSSNotLoaded(){this.styledMode&&"0"!==i9.getComputedStyle(this.container).zIndex&&tE(35,!1,this)}addSeries(t,e,i){let s,o=this;return t&&(e=tb(e,!0),Q(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),Q(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new e2(this,e.axis,t);return tb(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){let e=this,i=e.options,s=i.loading,o=s?.style??{},r=function(){n&&U(n,{left:o.left??e.plotLeft+"px",top:o.top??e.plotTop+"px",width:o.width??e.plotWidth+"px",height:o.height??e.plotHeight+"px"})},n=e.loadingDiv,a=e.loadingSpan;n||(e.loadingDiv=n=X("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),a||(e.loadingSpan=a=X("span",{className:"highcharts-loading-inner"},null,n),z(e,"redraw",r)),n.className="highcharts-loading",t6.setElementHTML(a,tb(t,i.lang.loading,"")),!e.styledMode&&(U(n,Z(o,{zIndex:10})),U(a,s?.labelStyle??{}),e.loadingShown||(U(n,{opacity:0,display:""}),iq(n,{opacity:o.opacity??.5},{duration:s?.showDuration??0}))),e.loadingShown=!0,r()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||iq(e,{opacity:0},{duration:t.loading?.hideDuration??100,complete:function(){U(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,n,a=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,d=[];Q(a,"update",{options:t}),h||a.setResponsive(!1,!0),t=K(t,a.options),a.userOptions=tg(a.userOptions,t);let c=t.chart;c&&(tg(!0,a.options.chart,c),this.setZoomOptions(),"className"in c&&a.setClassName(c.className),("inverted"in c||"polar"in c||"type"in c)&&(a.propFromSeries(),o=!0),"alignTicks"in c&&(o=!0),"events"in c&&i1(this,c),tm(c,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1!==a.propsRequireReflow.indexOf(e)&&(a.isDirtyBox=!0,h||(n=!0))}),!a.styledMode&&c.style&&a.renderer.setStyle(a.options.chart.style||{})),!a.styledMode&&t.colors&&(this.options.colors=t.colors),tm(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[l[i]]?a[l[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&tg(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}
3),this.collectionsWithUpdate.forEach(e=>{t[e]&&(tC(t[e]).forEach((t,s)=>{let o;if(!t)return;let r=V(t.id);r&&(o=a.get(t.id)),!o&&a[e]&&(o=a[e][tb(t.index,s)])&&(r&&V(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(t=>{t.touched||t.options.isInternal?delete t.touched:d.push(t)}))}),d.forEach(t=>{t.chart&&t.remove&&t.remove(!1)}),o&&a.axes.forEach(function(t){t.update({},!1)}),r&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let p=c?.width,u=c&&(td(c.height)?tw(c.height,p||a.chartWidth):c.height);n||th(p)&&p!==a.chartWidth||th(u)&&u!==a.chartHeight?a.setSize(p,u,s):tb(e,!0)&&a.redraw(s),Q(a,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=iQ.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}Q(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),Q(this,"afterShowResetZoom")}zoomOut(){Q(this,"selection",{resetSelection:!0}
vendor: 2,807 bytes, line 3
3,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),Q(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),U(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:n={},trigger:a,allowResetButton:l=!0}=t,{inverted:h,time:d}=this;this.hoverPoints?.forEach(t=>t.setState()),Q(this,"transform",t);let c=t.hasZoomed||!1,p,u;for(let t of e){let{horiz:e,len:g,minPointOffset:f=0,options:m,reversed:x}=t,y=e?"width":"height",b=e?"x":"y",v=tb(n[y],t.len),k=tb(s[y],t.len),w=10>Math.abs(v)?1:v/k,M=(s[b]||0)+k/2-t.pos,S=M-((n[b]??t.pos)+v/2-t.pos)/w,C=x&&!h||!x&&h?-1:1;if(!o&&(M<0||M>t.len))continue;let A=t.chart.polar||t.isOrdinal?0:f*C||0,T=t.toValue(S,!0),P=t.toValue(S+g/w,!0),O=T+A,L=P-A,E=t.allExtremes;if(r&&r[t.coll].push({axis:t,min:Math.min(T,P),max:Math.max(T,P)}),O>L&&([O,L]=[L,O]),1===w&&!o&&"yAxis"===t.coll&&!E){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn(e.pointValKey||"y")||[],!0);E??(E={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),th(t.dataMin)&&th(t.dataMax)&&(E.dataMin=Math.min(t.dataMin,E.dataMin),E.dataMax=Math.max(t.dataMax,E.dataMax))}t.allExtremes=E}let{dataMin:D,dataMax:I,min:B,max:N}=Z(t.getExtremes(),E||{}),R=d.parse(m.min),z=d.parse(m.max),W=D??R,H=I??z,F=L-O,G=t.categories?0:Math.min(F,H-W),j=W-G*(V(R)?0:m.minPadding),X=H+G*(V(z)?0:m.maxPadding),Y=t.allowZoomOutside||1===w||"zoom"!==a&&w>1,U=Math.min(R??j,j,Y?B:j),$=Math.max(z??X,X,Y?N:X);(!t.isOrdinal||1!==w||o)&&(O<U&&(O=U,w>=1&&(L=O+F)),L>$&&(L=$,w>=1&&(O=L-F)),(o||t.series.length&&(O!==B||L!==N)&&O>=U&&L<=$)&&(r?r[t.coll].push({axis:t,min:O,max:L}):(t.isPanning="zoom"!==a,t.isPanning&&"mousewheel"!==a&&(u=!0),t.setExtremes(o?void 0:O,o?void 0:L,!1,!1,{move:S,trigger:a,scale:w}),!o&&(O>U||L<$)&&(p=l)),c=!0),this.hasCartesianSeries||o||(p=l),i&&(this[e?"mouseDownX":"mouseDownY"]=i[e?"chartX":"chartY"]))}return c&&(r?Q(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!p||u||this.resetZoomButton?!p&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===a&&(this.options.chart.animation??this.pointCount<100)))),c}}Z(i8.prototype,{callbacks:[],collectionsWithInit:{xAxis:[i8.prototype.addAxis,[!0]],yAxis:[i8.prototype.addAxis,[!1]],series:[i8.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
3dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:i7}=tQ,{composed:st}=B;function se(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new ss(this)),t?.applyFixed()}function si(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class ss{static compose(t,e,i){tk(st,this.compose)&&(z(t,"afterInit",si),z(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),z(e,"render",se),z(i,"show",si))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:h,renderer:d}=t;if(!d.forExport)if(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=tg(t.plotBox),l.width=t.plotWidth+=i,a[h?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),V(s)&&(t.scrollablePlotBox=tg(t.plotBox),l.height=t.plotHeight+=s,a[h?"width":"height"]+=s,o=!1)),V(o)){if(!e.skipAxes)for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}else delete t.scrollablePlotBox}constructor(t){let e;const i=t.options.chart,s=eo.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(n.overflowX="auto"),t.scrollablePixelsY&&(n.overflowY="auto"),this.chart=t;const a=this.parentDiv=X("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),l=this.scrollingContainer=X("div",{className:"highcharts-scrolling"},n,a),h=this.innerContainer=X("div",{className:"highcharts-inner-container"},void 0,l),d=this.fixedDiv=X("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),l.parentNode.insertBefore(d,l),U(t.renderTo,{overflow:"visible"}),z(t,"afterShowResetZoom",r),z(t,"afterApplyDrilldown",r),z(t,"afterLayOutTitles",r),z(l,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),h.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:n,container:a,plotHeight:l,plotLeft:h,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=n+u;e.setSize(r,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),i7(t.container),U(a,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:["0 0",m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),U(s,{width:`${r}px`,height:`${n}px`}),V(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let y=d-o[0]-1,b=h-o[3]-1,v=d+l+o[2]+1,k=h+c+o[1]+1,w=h+c-p,M=d+l-u,S=[["M",0,0]];p?S=[["M",0,y],["L",h-1,y],["L",h-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,M],["L",b,n],["L",k,n],["L",k,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,n=ss.fixedSelectors.slice();if(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])tk(n,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])q(n,e);for(let t of n)[].forEach.call(e.querySelectorAll(t),t=>
3{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}ss.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:so}=es,{series:sr}=iL,sn=class{constructor(t,e,i,s,o){const r=t.chart.inverted,n=t.reversed;this.axis=t;const a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){$(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=(s?so(s,this,e):i.formatter?.call(this,this))||"";if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:tb(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,Q(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:n,axis:a,label:l,options:h,textAlign:d}=this,c=a.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=n;if(l&&p){let t=l.getBBox(void 0,0),e=l.padding,i="justify"===tb(h.overflow,"justify"),s;n.x=h.x||0,n.y=h.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,l.align(n,!1,p),(s=c.isInsidePlot(l.alignAttr.x+n.x+o,l.alignAttr.y+n.y+r))||(i=!1),i&&sr.prototype.justifyDataLabel.call(a,l,n,l.alignAttr,t,p),l.attr({x:l.alignAttr.x,y:l.alignAttr.y,rotation:h.rotation,rotationOriginX:t.width*tt(h.textAlign||"center"),rotationOriginY:t.height/2}),tb(!i&&h.crop,!0)&&(s=th(l.x)&&th(l.y)&&c.isInsidePlot(l.x-e+(l.width||0),l.y)&&c.isInsidePlot(l.x+e,l.y)),l[s?"show":"hide"]()}Q(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*tt(i)-1),y:t.height/2*2*(1-tt(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:n,boxBottom:a}=t,l=e.stacking.usePercentage?100:tb(s,this.total,0),h=e.toPixels(l),d=t.xAxis||i.xAxis[0],c=tb(o,d.translate(this.x))+r,p=Math.abs(h-e.toPixels(a||th(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?h:h-p)-i.plotLeft,y:d.height-c-n+d.top-i.plotTop,width:p,height:n}:{x:c+d.transB-i.plotLeft,y:(g?h-p:h)-i.plotTop,width:n,height:p}}},{getDeferredAnimation:sa}=tQ,{series:{prototype:sl}}=iL;function sh(){let t=this.inverted;this.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis?.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,tb(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function sd(){let t=this.stacking;if(t){let e=t.stacks;tm(e,(t,i)=>{$(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function sc(){this.stacking||(this.stacking=new sx(this))}function sp(t,e,i,s){return!V(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function su(){let t,e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),n=e.options.stacking,a=e[n+"Stacker"];a&&[s,"-"+s].forEach(i=>{let s=r.length,n,l,h;for(;s--;)n=r[s],t=e.getStackIndicator(t,n,e.index,i),l=o[i]?.[n],(h=l?.points[t.key||""])&&a.call(e,h,l,s)})}function sg(t,e,i){let s=e.total?100/e.total:0;t[0]=j(t[0]*s),t[1]=j(t[1]*s),this.stackedYData[i]=t[1]}function sf(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?sl.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function sm(t,e){let i,s,o,r,n,a,l,h=e||this.options.stacking;if(!h||!this.reserveSpace()||(({group:"xAxis"})[h]||"yAxis")!==t.coll)return;
vendor: 8,813 bytes, line 3
3let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=e?`${this.type},${h}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,l=0;l<u;l++){let e=d[l]||0,u=c[l],g=th(u)&&u||0;a=(i=this.getStackIndicator(i,e,this.index)).key||"",w[n=(s=v&&g<(m?0:f))?b:y]||(w[n]={}),w[n][e]||(M[n]?.[e]?(w[n][e]=M[n][e],w[n][e].total=null):w[n][e]=new sn(t,t.options.stackLabels,!!s,e,x)),o=w[n][e],null!==u?(o.points[a]=o.points[this.index]=[tb(o.cumulative,m)],V(o.cumulative)||(o.base=a),o.touched=k.stacksTouched,i.index>0&&!1===this.singleStacks&&(o.points[a][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[a],delete o.points[this.index]);let S=o.total||0;"percent"===h?(r=s?y:b,S=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):j(S+Math.abs(g))):"group"===h?th(u)&&S++:S=j(S+g),"group"===h?o.cumulative=(S||1)-1:o.cumulative=j(tb(o.cumulative,m)+g),o.total=S,null!==u&&(o.points[a].push(o.cumulative),p[l]=o.cumulative,o.hasValidPoints=!0)}"percent"===h&&(k.usePercentage=!0),"group"!==h&&(this.stackedYData=p),k.oldStacks={}}class sx{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<n;e++)s[e].modifyStacks();Q(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,tm(this.stacks,t=>{tm(t,t=>{t.cumulative=t.total})}))}resetStacks(){tm(this.stacks,t=>{tm(t,(e,i)=>{th(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=sa(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),tm(s,t=>{tm(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(C||(C={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(z(t,"init",sc),z(t,"destroy",sd),s.getStacks=sh,o.getStackIndicator=sp,o.modifyStacks=su,o.percentStacker=sg,o.setGroupedPoints=sf,o.setStackedPoints=sm)};let sy=C;class sb extends iF{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,n=s.graph,a=n?"animate":"attr",l=s.dashStyle||t.dashStyle;if(n?(n.endX=this.preventGraphAnimation?null:e.xMap,n.animate({d:e})):e.length&&(s.graph=n=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),n&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?r.dashstyle=l:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),n[a](r),t.shadow)){let e=this.chart.inverted,i={filterUnits:"userSpaceOnUse"},s=tu(t.shadow)?tg(e?{}:i,t.shadow):!!e||i;n.shadow(s)}n&&(n.startX=e.xMap,n.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],n=[],a,l=o.step,h=(t=t||s.points).reversed;return h&&t.reverse(),(l=({right:1,center:2})[l]||l&&3)&&h&&(l=4-l),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEach(function(h,d){let c,p=h.plotX,u=h.plotY,g=t[d-1],f=h.isNull||"number"!=typeof u;(h.leftCliff||g?.rightCliff)&&!i&&(a=!0),f&&!V(e)&&d>0?a=!o.connectNulls:f&&!e?a=!0:(0===d||a?c=[["M",h.plotX,h.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,h,d)]:l?(c=1===l?[["L",g.plotX,u]]:2===l?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],n.push(h.x),l&&(n.push(h.x),2===l&&n.push(h.x)),r.push.apply(r,c),a=!1)}),r.xMap=n,s.graphPath=r,r}}sb.defaultOptions=tg(iF.defaultOptions,{legendSymbol:"lineMarker"}),iL.registerSeriesType("line",sb);let{seriesTypes:{line:sv}}=iL;class sk extends sv{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s,o=sv.prototype.getGraphPath,r=this.options,n=r.stacking,a=this.yAxis,l=[],h=[],d=this.index,c=a.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(a.getThreshold(r.threshold)),g=tb(r.connectNulls,"percent"===n),f=function(i,s,o){let r=t[i],g=t[s],f=n&&c[r.x].points[d],m=r[o+"Null"]||0,x=r[o+"Cliff"]||0,y,b,v=!0;f&&(x||m)?(y=(m?f[0]:f[1])+x,b=f[0]+x,v=!!m):!n&&g&&(g.isNull||!V(g.plotY))&&(y=b=p),void 0!==y&&(h.push({plotX:e,plotY:null===y?u:a.getThreshold(y),isNull:v,isCliff:!0}),l.push({plotX:e,plotY:null===b?u:a.getThreshold(b),doCurve:!1}))};t=t||this.points,n&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o<r;++o)n||(t[o].leftCliff=t[o].rightCliff=t[o].leftNull=t[o].rightNull=void 0),i=t[o].isNull||!V(t[o].plotY),e=tb(t[o].rectPlotX,t[o].plotX),s=n?tb(t[o].yBottom,u):u,(!i||g)&&(g||f(o,o-1,"left"),i&&!n&&g||(h.push(t[o]),l.push({x:o,plotX:e,plotY:s})),g||f(o,o+1,"right"));let m=o.call(this,h,!0,!0);l.reversed=!0;let x=o.call(this,l,!0,!0),y=x[0];y&&"M"===y[0]&&(x[0]=["L",y[1],y[2]]);let b=m.concat(x);b.length&&b.push(["Z"]);let v=o.call(this,h,!1,g);return this.chart.series.length>1&&n&&h.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,n=r.stacking.stacks[this.stackKey],a={},l=r.series,h=l.length,d=r.options.reversedStacks?1:-1,c=l.indexOf(e),p=r.getThreshold(e.options.threshold||0);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,a[t[e].x]=t[e];tm(n,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let u=l.map(t=>t.visible);s.forEach(function(t,g){let f=0,m,x;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=n[s[g+i]],p=0;if(r){let i=c;for(;i>=0&&i<h;){let s=l[i].index;!(m=r.points[s])&&(s===e.index?a[t][o]=!0:u[i]&&(x=n[t].points[s])&&(p-=x[1]-x[0])),i+=d}}a[t][1===i?"rightCliff":"leftCliff"]=p});else{let e=c;for(;e>=0&&e<h;){let i=l[e].index;if(m=n[t].points[i]){f=m[1];break}e+=d}f||(f=0);let s=r.positiveValuesOnly&&f<=0?p:r.translate(f,!1,!0,!1,!0);i.push({isNull:!0,plotX:o.translate(t,!1,!1,!1,!0),x:t,plotY:s,yBottom:s})}})}return i}}sk.defaultOptions=tg(sv.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),Z(sk.prototype,{singleStacks:!1}),iL.registerSeriesType("area",sk);let{line:sw}=iL.seriesTypes;class sM extends sw{getPointSpline(t,e,i){let s,o,r,n,a=e.plotX||0,l=e.plotY||0,h=t[i-1],d=t[i+1];function c(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(c(h)&&c(d)){let t=h.plotX||0,i=h.plotY||0,c=d.plotX||0,p=d.plotY||0,u=0;s=(1.5*a+t)/2.5,o=(1.5*l+i)/2.5,r=(1.5*a+c)/2.5,n=(1.5*l+p)/2.5,r!==s&&(u=(n-o)*(r-a)/(r-s)+l-n),o+=u,n+=u,o>i&&o>l?(o=Math.max(i,l),n=2*l-o):o<i&&o<l&&(o=Math.min(i,l),n=2*l-o),n>p&&n>l?(n=Math.max(p,l),o=2*l-n):n<p&&n<l&&(n=Math.min(p,l),o=2*l-n),e.rightContX=r,e.rightContY=n,e.controlPoints={low:[s,o],high:[r,n]}}let p=["C",tb(h.rightContX,h.plotX,0),tb(h.rightContY,h.plotY,0),tb(s,a,0),tb(o,l,0),a,l];return h.rightContX=h.rightContY=void 0,p}}sM.defaultOptions=tg(sw.defaultOptions),iL.registerSeriesType("spline",sM);let sS=sM,{area:sC,area:{prototype:sA}}=iL.seriesTypes;class sT extends sS{}sT.defaultOptions=tg(sS.defaultOptions,sC.defaultOptions),Z(sT.prototype,{getGraphPath:sA.getGraphPath,getStackPoints:sA.getStackPoints,drawGraph:sA.drawGraph}),iL.registerSeriesType("areaspline",sT);let{animObject:sP}=tQ,{parse:sO}=t$,{noop:sL}=B;class sE extends iF{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,n=o.reversed,a=s.options,{clipOffset:l,inverted:h}=this.chart,d={},c=h?"translateX":"translateY";t&&l?(d.scaleY=.001,i=G(o.toPixels(a.threshold||0),r,r+o.len),h?d.translateX=(i+=n?-Math.floor(l[0]):Math.ceil(l[2]))-o.len:d.translateY=i+=n?Math.ceil(l[0]):-Math.floor(l[2]),s.clipBox&&s.setClip(),s.group.attr(d)):(e=Number(s.group.attr(c)),s.group.animate({scaleY:1},Z(sP(s.options.animation),{step:function(t,i){s.group&&(d[c]=e+i.pos*(r-e),s.group.attr(d))}})))}
vendor: 5,253 bytes, line 3
3init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,n={},a,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){let i,o=e.yAxis,r=e.options;e.type===t.type&&e.reserveSpace()&&s.len===o.len&&s.pos===o.pos&&(r.stacking&&"group"!==r.stacking?(void 0===n[a=e.stackKey]&&(n[a]=l++),i=n[a]):!1!==r.grouping&&(i=l++),e.columnIndex=i)});let h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=h*e.groupPadding,c=(h-2*d)/(l||1),p=Math.min(e.maxPointWidth||i.len,tb(e.pointWidth,c*(1-2*e.pointPadding))),u=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:p,offset:(c-p)/2+(d+u*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=Y(e+s,o,r)-(e=Y(e,o,r)),this.options.crisp&&(i=Y(t+i,o)-(t=Y(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,n=0;tm(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],a={};if(e&&tc(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(V(s)){if(th(a[s]))return t===e&&(t=a[s]),!1;a[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),n=i.length}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=i.borderWidth??+!s,r=t.xAxis,n=t.yAxis,a=i.threshold,l=i.minPointLength??5,h=t.getColumnMetrics(),d=h.width,c=t.pointXOffset=h.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=n.getThreshold(a),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),iF.prototype.translate.apply(t),t.points.forEach(function(s){let o=s.yBottom??g,m=999+Math.abs(o),x=s.plotX||0,y=G(s.plotY,-m,n.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,w=d,M=x+c,S=f;l&&Math.abs(k)<l&&(k=l,b=!n.reversed&&!s.negative||n.reversed&&s.negative,th(a)&&th(u)&&s.y===a&&u<=a&&(n.min||0)<a&&(p!==u||(n.max||0)<=a)&&(b=!b,s.negative=!s.negative),v=Math.abs(v-g)>l?o-(b?l:0):g-(b?l:0)),V(s.options.pointWidth)&&(M-=Math.round(((w=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(M=t.adjustForMissingColumns(M,w,s,h)),s.barX=M,s.pointWidth=w,s.tooltipPos=e.inverted?[G(n.len+n.pos-e.plotLeft-y,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-M-S/2,k]:[r.left-e.plotLeft+M+S/2,G(y+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(M,v,S,s.isNull?0:k)}),Q(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",n,a,l,h=t&&t.color||this.color,d=t&&t[o]||i[o]||h,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(a=t.getZone(),h=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(d=a.borderColor||d,c=a.dashStyle||c,p=a.borderWidth||p)),e&&t&&(l=(n=tg(i.states[e],t.options.states?.[e]||{})).brightness,h=n.color||void 0!==l&&sO(h).brighten(n.brightness).get()||h,d=n[o]||d,p=n[r]||p,c=n.dashStyle||c,u=tb(n.opacity,u));let g={fill:h,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=o.nullInteraction,n=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let l=t.plotY,h=t.graphic,d=!!h,c=h&&s.pointCount<a?"animate":"attr";th(l)&&(null!==t.y||r)?(e=t.shapeArgs,h&&t.hasNewShapeType()&&(h=h.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!h&&(t.graphic=h=n[t.shapeType](e).add(t.group||i.group),h&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<a&&(h.attr({x:t.startXPos}),d=!0,c="animate")),h&&d&&h[c](tg(e)),s.styledMode||h[c](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),h&&(h.addClass(t.getClassName(),!0),h.attr({visibility:t.visible?"inherit":"hidden"}))):h&&(t.graphic=h.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(t){o?.normalize(t);let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})||i.allowOutsidePlotInteraction&&o?.inClass(t.target,"highcharts-point")||o?.inClass(t.target,"highcharts-data-label"))&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=tc(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups?.reduce((t,e)=>
3("dataLabelsGroup"===e?t.push(...i.dataLabelsGroups||[]):t.push(i[e]),t),[]).forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&t.css({cursor:i.options.cursor}))}),i._hasTracking=!0),Q(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),iF.prototype.remove.apply(t,arguments)}}sE.defaultOptions=tg(iF.defaultOptions,{borderRadius:3,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),Z(sE.prototype,{directTouch:!0,getSymbol:sL,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),iL.registerSeriesType("column",sE);let sD=sE,{getDeferredAnimation:sI}=tQ,{format:sB}=es;!function(t){function e(){return l(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:n}=this,a=this.isCartesian&&r.inverted,l=t.plotX,h=t.plotY,d=i.rotation||0,c=V(l)&&V(h)&&r.isInsidePlot(l,Math.round(h),{inverted:a,paneCoordinates:!0,series:this}),p=0===d&&"justify"===tb(i.overflow,n?"none":"justify"),u=this.visible&&!1!==t.visible&&V(l)&&(t.series.forceDL||n&&!p||c||tb(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(l,a?s.x+1:s.y+s.height-1,{inverted:a,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let l=e.getBBox(),h=e.getBBox(void 0,0);if(s=Z({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[a?"x":"y"]=0,s[a?"width":"height"]=this.yAxis?.len||0),Z(i,{width:l.width,height:l.height}),f=s,n&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(tg(i,{width:h.width,height:h.height}),!1,s,!1),e.alignAttr.x+=tt(i.align)*(h.width-l.width),e.alignAttr.y+=tt(i.verticalAlign)*(h.height-l.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(l.width-h.width)/2,y:e.alignAttr.y+(l.height-h.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,l,s,o);else if(tb(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+l.width-1,i+l.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&n&&(e.placed=!1),u||n&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(t,e){Q(this,"initDataLabelsGroup",{index:t,zIndex:e?.zIndex??6}),this.dataLabelsGroup=this.dataLabelsGroups?.[t];let i=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",e?.zIndex??6,this.dataLabelsParentGroups?.[t]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[t]=i,this.dataLabelsGroup=this.dataLabelsGroups[0],i}function o(t,e,i){let s=!!this.hasRendered,o=this.initDataLabelsGroup(t,i).attr({opacity:+s});return!s&&o&&(this.visible&&o.show(),this.options.animation?o.animate({opacity:1},e):o.attr({opacity:1})),o}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:n,plotBackgroun
3dColor:h}=s.options.chart,d=r.getContrast(td(h)&&h||td(n)&&n||"#000000"),c=l(i),{animation:p,defer:u}=c[0],g=u?sI(s,p,i):{defer:0,duration:0};Q(this,"drawDataLabels"),i.hasDataLabels?.()&&t.forEach(t=>{let n=t.dataLabels||[],l=t.color||i.color;tC(a(c,t.dlOptions||t.options?.dataLabels)).forEach((a,h)=>{e=this.initDataLabels(h,g,a);let c=a.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o||!1}return!0}(t,a),{backgroundColor:p,borderColor:u,distance:f,style:m={}}=a,x,y,b,v={},k=n[h],w=!k,M;c&&(y=V(x=tb(a[t.formatPrefix+"Format"],a.format))?sB(x,t,s):(a[t.formatPrefix+"Formatter"]||a.formatter).call(t,a,t),b=a.rotation,!s.styledMode&&(m.color=tb(a.color,m.color,td(i.color)?i.color:void 0,"#000000"),"contrast"===m.color?("none"!==p&&(M=p),t.contrastColor=r.getContrast("auto"!==M&&td(M)&&M||(td(l)?l:"")),m.color=M||!V(f)&&a.inside||0>tv(f||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(m.cursor=o.cursor)),v={r:a.borderRadius||0,rotation:b,padding:a.padding,zIndex:1},s.styledMode||(v.fill="auto"===p?t.color:p,v.stroke="auto"===u?t.color:u,v["stroke-width"]=a.borderWidth),tm(v,(t,e)=>{void 0===t&&delete v[e]})),!k||c&&V(y)&&!!(k.div||k.text?.foreignObject)==!!a.useHTML&&(k.rotation&&a.rotation||k.rotation===a.rotation)||(k=void 0,w=!0),c&&V(y)&&""!==y&&(k?v.text=y:(k=r.label(y,0,0,a.shape,void 0,void 0,a.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(a.className||"")+(a.useHTML?" highcharts-tracker":"")),k&&(k.options=a,k.attr(v),s.styledMode?m.width&&k.css({width:m.width,textOverflow:m.textOverflow,whiteSpace:m.whiteSpace}):k.css(m).shadow(a.shadow),Q(k,"beforeAddingDataLabel",{labelOptions:a,point:t}),k.added||k.add(e),i.alignDataLabel(t,k,a,void 0,w),k.isActive=!0,n[h]&&n[h]!==k&&n[h].destroy(),n[h]=k))});let h=n.length;for(;h--;)n[h]?.isActive?n[h].isActive=!1:(n[h]?.destroy(),n.splice(h,1));t.dataLabel=n[0],t.dataLabels=n}),Q(this,"afterDrawDataLabels")}function n(t,e,i,s,o,r){let n=this.chart,a=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=n.inverted?this.yAxis:this.xAxis,c=d?d.left-n.plotLeft:0,p=n.inverted?this.xAxis:this.yAxis,u=p?p.top-n.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+h+c)<0&&("right"===a&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-h+c)>n.plotWidth&&("left"===a&&g<=0?(e.align="right",e.inside=!0):g+=n.plotWidth-m,x=!0),(m=i.y+h+u)<0&&("bottom"===l&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-h+u)>n.plotHeight&&("top"===l&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=n.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function a(t,e){let i=[],s;if(tc(t)&&!tc(e))i=t.map(function(t){return tg(t,e)});else if(tc(e)&&!tc(t))i=e.map(function(e){return tg(t,e)});else if(tc(t)||tc(e)){if(tc(t)&&tc(e))for(s=Math.max(t.length,e.length);s--;)i[s]=tg(t[s],e[s])}else i=tg(t,e);return i}function l(t){let e=t.chart.options.plotOptions;return tC(a(a(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function h(t,e,i,s,o){let r=this.chart,n=r.inverted,a=this.xAxis,l=a.reversed,h=((n?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=n?o.x:l?-h-c:a.width-h+c,e.startYPos=n?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
vendor: 4,309 bytes, line 3
3,void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let l=t.prototype;l.initDataLabels||(l.initDataLabels=o,l.initDataLabelsGroup=s,l.alignDataLabel=i,l.drawDataLabels=r,l.justifyDataLabel=n,l.mergeArrays=a,l.setDataLabelStartPos=h,l.hasDataLabels=e)}}(A||(A={}));let sN=A,{composed:sR}=B,{series:sz}=iL;function sW(t,e,i,s,o){let{chart:r,options:n}=this,a=r.inverted,l=this.xAxis?.len||r.plotSizeX||0,h=this.yAxis?.len||r.plotSizeY||0,d=t.dlBox||t.shapeArgs,c=t.below??(t.plotY||0)>(this.translatedThreshold??h),p=i.inside??!!n.stacking;if(d){if(s=tg(d),"allow"!==i.overflow||!1!==i.crop||!1!==n.clip){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t<s.height-1&&(s.height-=t)}a&&(s={x:h-s.y-s.height,y:l-s.x-s.width,width:s.height,height:s.width}),p||(a?(s.x+=c?0:s.width,s.width=0):(s.y+=c?s.height:0,s.height=0))}i.align??(i.align=!a||p?"center":c?"right":"left"),i.verticalAlign??(i.verticalAlign=a||p?"middle":c?"top":"bottom"),sz.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}(T||(T={})).compose=function(t){sN.compose(sz),tk(sR,"ColumnDataLabel")&&(t.prototype.alignDataLabel=sW)};let sH=T;class sF extends sD{}sF.defaultOptions=tg(sD.defaultOptions,{}),Z(sF.prototype,{inverted:!0}),iL.registerSeriesType("bar",sF);let{column:sG,line:sj}=iL.seriesTypes;class sX extends sj{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,n){if(e[r]&&!s.isNull){let a=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t,e=Math.max(0,(s[a]||0)-h),d=Math.min(l.len,(s[a]||0)+h);s[a]=e+(d-e)*((t=1e4*Math.sin(o+n*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}sX.defaultOptions=tg(sj.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),Z(sX.prototype,{allowOutsidePlotInteraction:!0,drawTracker:sG.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),z(sX,"afterTranslate",function(){this.applyJitter()}),iL.registerSeriesType("scatter",sX);let{deg2rad:sY}=B;(p=P||(P={})).getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,n=Math.min(s,o),a=t.thickness,l,h=t.size,d=t.innerSize||0,c,p;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof d&&(d=parseFloat(d));let u=[tb(r?.[0],"50%"),tb(r?.[1],"50%"),tb(h&&h<0?void 0:t.size,"100%"),tb(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof iF||(u[3]=0),c=0;c<4;++c)p=u[c],l=c<2||2===c&&/%$/.test(p),u[c]=tw(p,[s,o,n,u[2]][c])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),th(a)&&2*a<u[2]&&a>0&&(u[3]=u[2]-2*a),Q(this,"afterGetCenter",{positions:u}),u},p.getStartAndEndRadians=function(t,e){let i=th(t)?t:0,s=th(e)&&e>i&&e-i<360?e:i+360;return{start:sY*(i+-90),end:sY*(s+-90)}};let sU=P,{setAnimation:sV}=tQ;class s$ extends ip{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name=t.chart.options.lang.pieSliceName);const s=t=>{this.slice("select"===t.type)};z(this,"select",s),z(this,"unselect",s)}isValid(){return th(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;sV(i,s.chart),e=tb(e,!0),this.sliced=this.options.sliced=t=V(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}
vendor: 13,907 bytes, line 3
3Z(s$.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:n}=this,[a,l,h]=n.center,d=h/2,{plotLeft:c,plotWidth:p}=n.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=tw(i.crookDistance,1);m=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else m=a+(l-f)*Math.tan(s-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:s_}=sU,{noop:sK}=B;class sq extends iF{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:tb(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:ek.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,l=Math.asin(G((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return this.points.some(t=>t.visible)}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||tg(!0,a,i),tg(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){Q(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=s_(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,n=this.points,a=e.ignoreHiddenPoint,l=n.length,h,d,c,p,u,g,f,m=0;for(t||(this.center=t=this.getCenter()),g=0;g<l;g++){f=n[g],h=o+m*r,f.isValid()&&(!a||f.visible)&&(m+=f.percentage/100),d=o+m*r;let e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:h,end:d};f.shapeType="arc",f.shapeArgs=e,(c=(d+h)/2)>1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=+(c<-Math.PI/2||c>Math.PI/2),f.angle=c}Q(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}sq.defaultOptions=tg(iF.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.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}}}),Z(sq.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:sD.prototype.drawTracker,getCenter:sU.getCenter,getSymbol:sK,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:sD.prototype.pointAttribs,pointClass:s$,requireSorting:!1,searchPoint:sK,trackerGroups:["group","dataLabelsGroup"]}),iL.registerSeriesType("pie",sq);let{composed:sZ,noop:sJ}=B,{distribute:sQ}=er,{series:s0}=iL;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&s<i&&o>i&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:n,options:a}=this,l=n[2]/2,h=Math.cos(r),d=Math.sin(r),c=n[0]+h*l,p=n[1]+d*l,u=Math.min((a.slicedOffset||0)+(a.borderWidth||0),e/5);return{natural:{x:c+h*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+h*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,n=Math.round(i.chartWidth/3),a=t.center,l=a[2]/2,h=a[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),s0.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=a[2]/2,o=e.options,r=tw(o?.distance||0,s);0===i&&d[t.half].push(t),!V(o?.style?.width)&&e.getBBox().width>n&&(e.css({width:Math.round(.7*n)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,n)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,n-.5),m>0&&(x=Math.max(0,h-l-m),y=Math.min(h+l+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,h-l-s.distance),s.bottom=Math.min(h+l+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),sQ(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(h=>{let d=h.options||{},m=i.distributeBox,x=h.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=h.lineHeight||21,k=(v-h.getBBox().height)/2,w=0,M=y,S="inherit";if(x){if(u&&V(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,M=p.radialDistributionY(i,h))),d.justify)w=p.justify(i,h,l,a);else switch(d.alignTo){case"connectors":w=p.alignToConnectors(e,n,s,r);break;case"plotEdges":w=p.alignToPlotEdges(h,n,s,r);break;default:w=p.radialDistributionX(t,i,M-k,y,h)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:w+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:M+(d.y||0)-v/2},x.computed.x=w,x.computed.y=M-k,tb(d.crop,!0)){let t;w-(g=h.getBBox().width)<b&&1===n?(t=Math.round(g-w+b),c[3]=Math.max(t,c[3])):w+g>s-b&&0===n&&(t=Math.round(w+g-s+b),c[1]=Math.max(t,c[1])),M-f/2<0?c[0]=Math.max(Math.round(-M+f/2),c[0]):M+f/2>o&&(c[2]=Math.max(Math.round(M+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===H(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{e.dataLabels?.forEach((s,o)=>{let{connectorColor:r,connectorWidth:n=1}=s.options||{},a=s.dataLabelPosition;if(th(n)){let l;u=s.connector,a&&a.distance>0?(l=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroups?.[o])),i.styledMode||u.attr({"stroke-width":n,stroke:r||e.color||"#666666"}),u[l?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:a.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:t.options?.style?.textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,n=null!==i.size;return!n&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=G(r,o,e[2]-Math.max(t[0],t[2])):(r=G(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,tw(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):n=!0),n}t.compose=function(t){if(sN.compose(s0),tk(sZ,"PieDataLabel")){let n=t.prototype;n.dataLabelPositioners=e,n.alignDataLabel=sJ,n.drawDataLabels=s,n.getDataLabelPosition=i,n.placeDataLabels=o,n.verifyDataLabelOverflow=r}}}(O||(O={}));let s1=O;(u=L||(L={})).getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},u.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},u.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},u.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,n=!1;for(o=0,r=s-1;o<s;r=o++){let[s,a]=i[o],[l,h]=i[r];a>e!=h>e&&t<(l-s)*(e-a)/(h-a)+s&&(n=!n)}return n};let{pointInPolygon:s2}=L;function s3(t,e){let i,s=!1;return t&&(i=t.newOpacity,t.oldOpacity!==i&&(t.hasClass("highcharts-data-label")?(t[i?"removeClass":"addClass"]("highcharts-data-label-hidden"),s=!0,t[t.isOld?"animate":"attr"]({opacity:i},void 0,function(){e.styledMode||t.css({pointerEvents:i?"auto":"none"})}),Q(e,"afterHideOverlappingLabel")):t.attr({opacity:i})),t.isOld=!0),s}let{defaultOptions:s5}=tX,{noop:s6}=B,s9={radius:0,scope:"stack",where:void 0},s4=s6,s8=s6;function s7(t,e,i,s,o={}){let r=s4(t,e,i,s,o),{brStart:n=!0,brEnd:a=!0,innerR:l=0,r:h=i,start:d=0,end:c=0}=o;if(o.open||!o.borderRadius)return r;let p=c-d,u=Math.sin(p/2),g=Math.max(Math.min(tw(o.borderRadius||0,h-l),(h-l)/2,h*u/(1+u)),0),f=Math.min(g,p/Math.PI*2*l),m=r.length-1;for(;m--;)(n||0!==m&&3!==m)&&(a||1!==m&&2!==m)&&function(t,e,i){let s,o,r,n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),("M"===n[0]||"L"===n[0])&&"A"===a[0]?(s=n,o=a,r=!0):"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n),s&&o&&o.params){let n=o[1],a=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=a?n-i:n+i,g=u?Math.asin(i/u):0,f=a?g:-g,m=Math.cos(g)*u;r?(l.start=h+f,s[1]=c+m*Math.cos(h),s[2]=p+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+n*Math.cos(l.start),p+n*Math.sin(l.start)])):(l.end=d-f,o[6]=c+n*Math.cos(l.end),o[7]=p+n*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,m,m>1?f:g);return r}function ot(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=s5.plotOptions?.[this.type]?.borderRadius,o=oe(t.borderRadius,tu(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:n}=s;if("roundedRect"===s.shapeType&&n){let{width:a=0,height:l=0,y:h=0}=n,d=h,c=l;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=n.y,c=n.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(tw(o.radius,a),a/2,"all"===u?c/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),Z(n,{brBoxHeight:c,brBoxY:d,r:g})}}}}function oe(t,e){return tu(t)||(t={radius:t||0}),tg(s9,e,t)}function oi(){let t=oe(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=tw(t.radius,(i.r||0)-(i.innerR||0)))}}function os(t,e,i,s,o={}){let r=s8(t,e,i,s,o),{r:n=0,brBoxHeight:a=s,brBoxY:l=e}=o,h=e-l,d=l+a-(e+s),c=h-n>-.1?0:n,p=d-n>-.1?0:n,u=Math.max(c&&h,0),g=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],w=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=M(c,c-u);f[0]-=t,m[0]+=t,x[1]=w[1]=e+c-u}if(s<c-u){let o=M(c,c-u-s);x[0]=y[0]=t+i-c+o,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),k[0]=w[0]=t+c-o,x[1]=w[1]=e+s}if(g){let t=M(p,p-g);b[0]+=t,v[0]-=t,y[1]=k[1]=e+s-p+g}if(s<p-g){let o=M(p,p-g-s);x[0]=y[0]=t+i-p+o,m[0]=Math.min(x[0],m[0]),f[0]=Math.max(y[0],f[0]),k[0]=w[0]=t+p-o,y[1]=k[1]=e}return r.length=0,r.push(["M",...f],["L",...m],["A",c,c,0,0,1,...x],["L",...y],["A",p,p,0,0,1,...b],["L",...v],["A",p,p,0,0,1,...k],["L",...w],["A",c,c,0,0,1,...f],["Z"]),r}function oo(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=tb(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=tb(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=tb(i.minWidth,0)&&this.chartHeight>=tb(i.minHeight,0)}).call(this,this)&&e.push(t._id)}function or(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;
vendor: 4,406 bytes, line 3
3!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=tB()),this.matchResponsiveRule(t,o)},this);let n=tg(...o.map(t=>tr(i?.rules||[],e=>e._id===t)).map(t=>t?.chartOptions));n.isResponsiveOptions=!0,o=o.toString()||void 0;let a=s?.ruleIds;o!==a&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=K(n,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:n,undoOptions:r},this.updatingResponsive||this.update(n,t,!0)):this.currentResponsive=void 0)}(E||(E={})).compose=function(t){let e=t.prototype;return e.matchResponsiveRule||Z(e,{matchResponsiveRule:oo,setResponsive:or}),t};let on=E;B.AST=t6,B.Axis=e2,B.Chart=i8,B.Color=t$,B.DataLabel=sN,B.DataTableCore=iM,B.Fx=tq,B.HTMLElement=eX,B.Legend=iK,B.LegendSymbol=iA,B.PlotLineOrBand=e9,B.Point=ip,B.Pointer=iv,B.RendererRegistry=eo,B.Series=iF,B.SeriesRegistry=iL,B.StackItem=sn,B.SVGElement=em,B.SVGRenderer=eW,B.Templating=es,B.Tick=e_,B.Time=tH,B.Tooltip=ia,B.addEvent=z,B.animObject=tQ.animObject,B.animate=tQ.animate,B.arrayMax=H,B.arrayMin=W,B.attr=F,B.chart=i8.chart,B.clamp=G,B.color=t$.parse,B.correctFloat=j,B.createElement=X,B.css=U,B.dateFormat=es.dateFormat,B.defaultOptions=tX.defaultOptions,B.defined=V,B.destroyObjectProperties=$,B.diffObjects=K,B.discardElement=_,B.distribute=er.distribute,B.erase=q,B.error=tE,B.extend=Z,B.extendClass=J,B.find=tr,B.fireEvent=Q,B.format=es.format,B.getDeferredAnimation=tQ.getDeferredAnimation,B.getMagnitude=ti,B.getOptions=tX.getOptions,B.getStyle=to,B.insertItem=tD,B.isArray=tc,B.isClass=tl,B.isDOMElement=ta,B.isFunction=tp,B.isNumber=th,B.isObject=tu,B.isString=td,B.merge=tg,B.normalizeTickInterval=tf,B.numberFormat=es.numberFormat,B.objectEach=tm,B.offset=tx,B.pad=ty,B.pick=tb,B.pInt=tv,B.relativeLength=tw,B.removeEvent=tS,B.seriesType=iL.seriesType,B.setAnimation=tQ.setAnimation,B.setOptions=tX.setOptions,B.splat=tC,B.stableSort=tA,B.stop=tQ.stop,B.syncTimeout=tT,B.time=tX.defaultTime,B.timers=tq.timers,B.timeUnits=tI,B.uniqueKey=tB,B.useSerialIds=function(e){return t=tb(e,t)},B.wrap=function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}},({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;z(t,"afterColumnTranslate",ot,{order:9}),z(s,"afterTranslate",oi),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),s4=o.arc,s8=o.roundedRect,o.arc=s7,o.roundedRect=os}},optionsToObject:oe}).compose(B.Series,B.SVGElement,B.SVGRenderer),sH.compose(B.Series.types.column),sN.compose(B.Series),e3.compose(B.Axis),eX.compose(B.SVGRenderer),iK.compose(B.Chart),e5.compose(B.Axis),(r=(g=B.Chart).prototype).hideOverlappingLabels||(r.hideOverlappingLabels=function(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(s2({x:i[0],y:i[1]},e))return!0;return!1},o,r,n,a,l,h=!1;for(let i=0;i<e;i++)(o=t[i])&&(o.oldOpacity=o.opacity,o.newOpacity=1,o.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},{height:s,polygon:o,width:r}=t.getBBox(),n=tt(t.alignValue)*r;return t.width=r,t.height=s,{x:i.x+(t.parentGroup?.translateX||0)+e-n,y:i.y+(t.parentGroup?.translateY||0)+e,width:r-2*e,height:s-2*e,polygon:o}}}(o));t.sort((t,e)=>(e?.labelrank||0)-(t?.labelrank||0));for(let o=0;o<e;++o){a=(r=t[o])&&r.absoluteBox;let h=a?.polygon;for(let d=o+1;d<e;++d){l=(n=t[d])&&n.absoluteBox;let e=!1;if(a&&l&&r!==n&&r?.newOpacity!==0&&n?.newOpacity!==0&&r?.visibility!=="hidden"&&n?.visibility!=="hidden"){let t=l.polygon;if(h&&t&&h!==t?s(h,t)&&(e=!0):i(a,l)&&(e=!0),e){let t=r?.labelrank<n?.labelrank?r:n,e=t?.text;t&&(t.newOpacity=0),e?.element.querySelector("textPath")&&e.hide()}}}}for(let e of t)e&&s3(e,this)&&(h=!0);h&&Q(this,"afterHideAllOverlappingLabels")},z(g,"render",function(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&tm(i.stacking.stacks,t=>{tm(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>
3{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=tb(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,s3(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)})),s1.compose(B.Series.types.pie),e9.compose(B.Chart,B.Axis),iv.compose(B.Chart),on.compose(B.Chart),ss.compose(B.Axis,B.Chart,B.Series),sy.compose(B.Axis,B.Chart,B.Series),ia.compose(B.Pointer);let oa=B;return I.default})(),t.exports=e._Highcharts},50683:function(t,e,i){"u">typeof self&&self,t.exports=function(t){var e=[function(t,e,i){"use strict";function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(t[s]=i[s])}return t}).apply(this,arguments)}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,s=Array(e);i<e;i++)s[i]=t[i];return s}function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(e,"__esModule",{value:!0}),i.d(e,"HighchartsReact",function(){return h});var n=i(1),a=i.n(n),l="u">typeof window?n.useLayoutEffect:n.useEffect,h=Object(n.memo)(Object(n.forwardRef)(function(t,e){var i=Object(n.useRef)(),h=Object(n.useRef)(),d=Object(n.useRef)(t.constructorType),c=Object(n.useRef)(t.highcharts);return l(function(){function e(){var e=t.highcharts||"object"===("u"<typeof window?"undefined":r(window))&&window.Highcharts,s=t.constructorType||"chart";e?e[s]?t.options?h.current=e[s](i.current,t.options,t.callback):console.warn('The "options" property was not passed.'):console.warn('The "constructorType" property is incorrect or some required module is not imported.'):console.warn('The "highcharts" property was not passed.')}if(h.current){if(!1!==t.allowChartUpdate)if(t.constructorType!==d.current||t.highcharts!==c.current)d.current=t.constructorType,c.current=t.highcharts,e();else if(!t.immutable&&h.current){var s,n;(s=h.current).update.apply(s,[t.options].concat(function(t){if(Array.isArray(t))return o(t)}(n=t.updateArgs||[!0,!0])||function(t){if("u">typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(n)||function(t){if(t){if("string"==typeof t)return o(t,void 0);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?o(t,void 0):void 0}}(n)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))}else e()}else e()},[t.options,t.allowChartUpdate,t.updateArgs,t.containerProps,t.highcharts,t.constructorType]),l(function(){return function(){h.current&&(h.current.destroy(),h.current=null)}},[]),Object(n.useImperativeHandle)(e,function(){return{get chart(){return h.current},container:i}},[]),a.a.createElement("div",s({},t.containerProps,{ref:i}))}));e.default=h},function(e,i){e.exports=t}];function i(t){if(s[t])return s[t].exports;var o=s[t]={i:t,l:!1,exports:{}};return e[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}var s={};return i.m=e,i.c=s,i.d=function(t,e,s){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:s})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=0)}(i(59729))},94975:(t,e,i)=>{"use strict";let s,o,r,n,a,l;i.d(e,{t1:()=>om});var h,d,c,p,u,g,f,m,x,y,b,v,k,w,M,S,C,A,T,P,O,L,E,D,I,B,N=i(59729);(h=y||(y={})).SVG_NS="http://www.w3.org/2000/svg",h.product="Highcharts",h.version="12.6.0",h.win="u">typeof window?window:{},h.doc=h.win.document,h.svg=!!h.doc?.createElementNS?.(h.SVG_NS,"svg")?.createSVGRect,h.pageLang=h.doc?.documentElement?.closest("[lang]")?.lang,h.userAgent=h.win.navigator?.userAgent||"",h.isChrome=h.win.chrome,h.isFirefox=-1!==h.userAgent.indexOf("Firefox"),h.isMS=/(edge|msie|trident)/i.test(h.userAgent)&&!h.win.opera,h.isSafari=!h.isChrome&&-1!==h.userAgent.indexOf("Safari"),h.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(h.userAgent),h.isWebKit=-1!==h.userAgent.indexOf("AppleWebKit"),h.deg2rad=2*Math.PI/360,h.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],h.noop=function(){},h.supportsPassiveEvents=function(){let t=!1;
vendor: 9,998 bytes, lines 3-4
3if(!h.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});h.win.addEventListener&&h.win.removeEventListener&&(h.win.addEventListener("testPassive",h.noop,e),h.win.removeEventListener("testPassive",h.noop,e))}return t}(),h.charts=[],h.composed=[],h.dateFormats={},h.seriesTypes={},h.symbolSizes={},h.chartCount=0;let R=y,{doc:z,win:W}=R;function H(t,e,i,s={}){let o="function"==typeof t&&t.prototype||t;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let r=o.hcEvents;R.Point&&t instanceof R.Point&&t.series&&t.series.chart&&(t.series.chart.runTrackerClick=!0);let n=t.addEventListener;n&&n.call(t,e,i,!!R.supportsPassiveEvents&&{passive:void 0===s.passive?-1!==e.indexOf("touch"):s.passive,capture:!1}),r[e]||(r[e]=[]);let a={fn:i,order:"number"==typeof s.order?s.order:1/0};return r[e].push(a),r[e].sort((t,e)=>t.order-e.order),function(){tA(t,e,i)}}function F(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i}function G(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i}function j(t,e,i){let s,o=tp(e)&&!_(i),r=(e,i)=>{_(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return tp(e)?r(i,e):ty(e,r),s}function X(t,e,i){return t>e?t<i?t:i:e}function Y(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}function U(t,e,i,s,o){let r=z.createElement(t);return e&&Q(r,e),o&&$(r,{padding:"0",border:"none",margin:"0"}),i&&$(r,i),s&&s.appendChild(r),r}function V(t,e=0,i){let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o}function $(t,e){Q(t.style,e)}function _(t){return null!=t}function K(t,e,i){ty(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})}function q(t){t?.parentElement?.removeChild(t)}function Z(t,e,i,s){let o={};return!function t(e,o,r,n){let a=i?o:e;ty(e,function(i,l){if(!n&&s&&s.indexOf(l)>-1&&o[l]){i=tT(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],n+1)))}else tf(i,!0)&&!i.nodeType?(r[l]=tu(i)?[]:{},t(i,o[l]||{},r[l],n+1),0===Object.keys(r[l]).length&&("colorAxis"!==l||0!==n)&&delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=a[l])})}(t,e,o,0),o}function J(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}}function Q(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function tt(t,e){let i=function(){};return i.prototype=new t,Q(i.prototype,e),i}function te(t,e,i,s){if(i=i||{},z?.createEvent&&(t.dispatchEvent||t.fireEvent&&t!==R)){let s=z.createEvent("Events");s.initEvent(e,!0,!0),i=Q(s,i),t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(e,i)}else if(t.hcEvents){i.target||Q(i,{preventDefault:function(){i.defaultPrevented=!0},target:t,type:e});let s=[],o=t,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[e]&&(s.length&&(r=!0),s.unshift.apply(s,o.hcEvents[e])),o=Object.getPrototypeOf(o);r&&s.sort((t,e)=>t.order-e.order),s.forEach(e=>{!1===e.fn.call(t,i,t)&&i.preventDefault()})}s&&!i.defaultPrevented&&s.call(t,i)}let ti=(t="")=>({center:.5,right:1,middle:.5,bottom:1})[t]||0;function ts(t,e){let i,s,o,r,n=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!n?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)}),i}function to(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function tr(t,e){let i=t.split(".");for(;i.length&&_(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return tf(e)&&(t=e["@this"]),t??e}let s=e[t.replace(/[\\'"]/g,"")];if(!_(s)||"function"==typeof s||"number"==typeof s.nodeType||s===W)return;e=s}return e}function tn(t,e,i){let s;if("width"===e){let e=Math.min(t.offsetWidth,t.scrollWidth),i=t.getBoundingClientRect?.().width;return i<e&&i>=e-1&&(e=Math.floor(i)),Math.max(0,e-(tn(t,"padding-left",!0)||0)-(tn(t,"padding-right",!0)||0))}if("height"===e)return Math.max(0,Math.min(t.offsetHeight,t.scrollHeight)-(tn(t,"padding-top",!0)||0)-(tn(t,"padding-bottom",!0)||0));let o=W.getComputedStyle(t,void 0);return o&&(s=o.getPropertyValue(e),tk(i,"opacity"!==e)&&(s=tw(s))),s}let ta=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function tl(t){_(t)&&clearTimeout(t)}function th(t){return tf(t)&&"number"==typeof t.nodeType}function td(t){let e=t?.constructor;return!!(tf(t,!0)&&!th(t)&&e?.name&&"Object"!==e.name)}function tc(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function tp(t){return"string"==typeof t}function tu(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function tg(t){return"function"==typeof t}function tf(t,e){return!!t&&"object"==typeof t&&(!e||!tu(t))}function tm(t,...e){let i,s=[t,...e],o={},r=function(t,e){return"object"!=typeof t&&(t={}),ty(e,function(i,s){"__proto__"!==s&&"constructor"!==s&&(!tf(i,!0)||td(i)||th(i)?t[s]=e[s]:t[s]=r(t[s]||{},i))}),t};!0===t&&(o=s[1],s=Array.prototype.slice.call(s,2));let n=s.length;for(i=0;i<n;i++)o=r(o,s[i]);return o}function tx(t,e,i,s,o){let r,n=t;i=tk(i,to(t));let a=t/i;for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(n=e[r],(!o||!(n*i>=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return Y(n*i,-Math.round(Math.log(.001)/Math.LN10))}function ty(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function tb(t){let e=z.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(W.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(W.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}}function tv(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t}function tk(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function tw(t,e){return parseInt(t,e||10)}function tM(t,e){return 0>t.indexOf(e)&&!!t.push(e)}function tS(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)}function tC(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t}function tA(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,ty(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function tT(t){return tu(t)?t:[t]}function tP(t,e){let i,s,o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI}function tO(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)}function tL(t){return tp(t)?t.substring(0,1).toUpperCase()+t.substring(1):String(t)}let{charts:tE,win:tD}=R;function tI(t,e,i,s){let o=e?"Highcharts error":"Highcharts warning";32===t&&(t=`${o}: Deprecated member`);let r=tc(t),n=r?`${o} #${t}: www.highcharts.com/errors/${t}/`:t.toString();if(void 0!==s){let t="";r&&(n+="?"),ty(s,function(e,i){t+=`
4 - ${i}: ${e}`,r&&(n+=encodeURI(i)+"="+encodeURI(e))}),n+=t}te(R,"displayError",{chart:i,code:t,message:n,params:s},function(){if(e)throw Error(n);tD.console&&-1===tI.messages.indexOf(n)&&console.warn(n)}),tI.messages.push(n)}function tB(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||tc(s)&&s<tk(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i}(tI||(tI={})).messages=[];let tN={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5};Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let tR=(r=Math.random().toString(36).substring(2,9)+"-",n=0,function(){return"highcharts-"+(s?"":r)+n++});tD.jQuery&&(tD.jQuery.fn.highcharts=function(){let t=[].slice.call(arguments);if(this[0])return t[0]?(new R[tp(t[0])?t.shift():"Chart"](this[0],t[0],t[1]),this):tE[j(this[0],"data-highcharts-chart")]});let{pageLang:tz,win:tW}=R,tH=R.isSafari&&tW.Intl&&!tW.Intl.DateTimeFormat.prototype.formatRange;class tF{constructor(t,e){this.options={timezone:"UTC"},this.variableTimezone=!1,this.Date=tW.Date,this.update(t),this.lang=e}update(t={}){this.dTLCache={},this.options=t=tm(!0,this.options,t);let{timezoneOffset:e,useUTC:i,locale:s}=t;this.Date=t.Date||tW.Date||Date;let o=t.timezone;_(i)&&(o=i?"UTC":void 0),e&&e%60==0&&(o="Etc/GMT"+(e>0?"+":"")+e/60),this.variableTimezone="UTC"!==o&&o?.indexOf("Etc/GMT")!==0,this.timezone=o,this.lang&&s&&(this.lang.locale=s),["months","shortMonths","weekdays","shortWeekdays"].forEach(t=>{let e=/months/i.test(t),i=/short/.test(t),s={timeZone:"UTC"};s[e?"month":"weekday"]=i?"short":"long",this[t]=(e?[0,1,2,3,4,5,6,7,8,9,10,11]:[3,4,5,6,7,8,9]).map(t=>this.dateFormat(s,(e?31:1)*24*36e5*t))})}toParts(t){let[e,i,s,o,r,n,a]=this.dateTimeFormat({weekday:"narrow",day:"numeric",month:"numeric",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"},t,"es").split(/(?:, | |\/|:)/g);return[o,s-1,i,r,n,a,Math.floor(Number(t)||0)%1e3,"DLMXJVS".indexOf(e)].map(Number)}dateTimeFormat(t,e,i=this.options.locale||tz){let s=JSON.stringify(t)+i;tp(t)&&(t=this.str2dtf(t));let o=this.dTLCache[s];if(!o){t.timeZone??(t.timeZone=this.timezone);try{o=new Intl.DateTimeFormat(i,t)}catch(e){/Invalid time zone/i.test(e.message)?(tI(34),t.timeZone="UTC",o=new Intl.DateTimeFormat(i,t)):tI(e.message,!1)}}return this.dTLCache[s]=o,o?.format(e)||""}str2dtf(t,e={}){let i={L:{fractionalSecondDigits:3},S:{second:"2-digit"},M:{minute:"numeric"},H:{hour:"2-digit"},k:{hour:"numeric"},E:{weekday:"narrow"},a:{weekday:"short"},A:{weekday:"long"},d:{day:"2-digit"},e:{day:"numeric"},b:{month:"short"},B:{month:"long"},m:{month:"2-digit"},o:{month:"numeric"},y:{year:"2-digit"},Y:{year:"numeric"}};
vendor: 8,597 bytes, line 4
4return Object.keys(i).forEach(s=>{-1!==t.indexOf(s)&&Q(e,i[s])}),e}makeTime(t,e,i=1,s=0,o,r,n){let a=this.Date.UTC(t,e,i,s,o||0,r||0,n||0);if("UTC"!==this.timezone){let t=this.getTimezoneOffset(a);if(a+=t,-1!==[2,3,8,9,10,11].indexOf(e)&&(s<5||s>20)){let e=this.getTimezoneOffset(a);t!==e?a+=e-t:t-36e5!==this.getTimezoneOffset(a-36e5)||tH||(a-=36e5)}}return a}parse(t){if(!tp(t))return t??void 0;let e=(t=t.replace(/\//g,"-").replace(/(GMT|UTC)/,"")).indexOf("Z")>-1||/([+-][0-9]{2}):?[0-9]{2}$/.test(t),i=/^[0-9]{4}-[0-9]{2}(-[0-9]{2}|)$/.test(t);e||i||(t+="Z");let s=Date.parse(t);if(tc(s))return s+(!e||i?this.getTimezoneOffset(s):0)}getTimezoneOffset(t){if("UTC"!==this.timezone){let[e,i,s,o,r=0]=this.dateTimeFormat({timeZoneName:"shortOffset"},t,"en").split(/(GMT|:)/).map(Number),n=-(60*(s+r/60)*6e4);if(tc(n))return n}return 0}dateFormat(t,e,i){let s=this.lang;if(!_(e)||isNaN(e))return s?.invalidDate||"";if(tp(t=t??"%Y-%m-%d %H:%M:%S")){let i,o=/%\[([a-zA-Z]+)\]/g;for(;i=o.exec(t);)t=t.replace(i[0],this.dateTimeFormat(i[1],e,s?.locale))}if(tp(t)&&-1!==t.indexOf("%")){let i=this,[o,r,n,a,l,h,d,c]=this.toParts(e),p=s?.weekdays||this.weekdays,u=s?.shortWeekdays||this.shortWeekdays,g=s?.months||this.months,f=s?.shortMonths||this.shortMonths;ty(Q({a:u?u[c]:p[c].substr(0,3),A:p[c],d:tv(n),e:tv(n,2," "),w:c,v:s?.weekFrom??"",b:f[r],B:g[r],m:tv(r+1),o:r+1,y:o.toString().substr(2,2),Y:o,H:tv(a),k:a,I:tv(a%12||12),l:a%12||12,M:tv(l),p:a<12?"AM":"PM",P:a<12?"am":"pm",S:tv(h),L:tv(d,3)},R.dateFormats),function(s,o){if(tp(t))for(;-1!==t.indexOf("%"+o);)t=t.replace("%"+o,"function"==typeof s?s.call(i,e,i):s)})}else if(tf(t)){let i=(this.getTimezoneOffset(e)||0)/36e5,s=this.timezone||"Etc/GMT"+(i>=0?"+":"")+i,{prefix:o="",suffix:r=""}=t;t=o+this.dateTimeFormat(Q({timeZone:s},t),e)+r}return i?tL(t):t}resolveDTLFormat(t){return tf(t,!0)?tf(t,!0)&&void 0===t.main?{main:t}:t:{main:(t=tT(t))[0],from:t[1],to:t[2]}}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in tN){if(t&&t===tN.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){a="week";break}if(t&&tN[a]>t){a=l;break}if(n[a]&&o.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}}let tG=tF;class tj extends tG{getTimeTicks(t,e,i,s){let o=this,r=[],n={},{count:a=1,unitRange:l}=t,[h,d,c,p,u,g]=o.toParts(e),f=(e||0)%1e3,m;if(s??(s=1),_(e)){if(f=l>=tN.second?0:a*Math.floor(f/a),l>=tN.second&&(g=l>=tN.minute?0:a*Math.floor(g/a)),l>=tN.minute&&(u=l>=tN.hour?0:a*Math.floor(u/a)),l>=tN.hour&&(p=l>=tN.day?0:a*Math.floor(p/a)),l>=tN.day&&(c=l>=tN.month?1:Math.max(1,a*Math.floor(c/a))),l>=tN.month&&(d=l>=tN.year?0:a*Math.floor(d/a)),l>=tN.year&&(h-=h%a),l===tN.week){a&&(e=o.makeTime(h,d,c,p,u,g,f));let t=this.dateTimeFormat({timeZone:this.timezone,weekday:"narrow"},e,"es"),i="DLMXJVS".indexOf(t);c+=-i+s+(i<s?-7:0)}e=o.makeTime(h,d,c,p,u,g,f),o.variableTimezone&&_(i)&&(m=i-e>4*tN.month||o.getTimezoneOffset(e)!==o.getTimezoneOffset(i));let t=e,x=1;for(;t<i;)r.push(t),l===tN.year?t=o.makeTime(h+x*a,0):l===tN.month?t=o.makeTime(h,d+x*a):m&&(l===tN.day||l===tN.week)?t=o.makeTime(h,d,c+x*a*(l===tN.day?1:7)):m&&l===tN.hour&&a>1?t=o.makeTime(h,d,c,p+x*a):t+=l*a,x++;r.push(t),l<=tN.hour&&r.length<1e4&&r.forEach(t=>{t%18e5==0&&"000000000"===o.dateFormat("%H%M%S%L",t)&&(n[t]="day")})}return r.info=Q(t,{higherRanks:n,totalRange:l*a}),r}}let{isTouchDevice:tX}=R,tY={colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"],symbols:["circle","diamond","square","triangle","triangle-down"],lang:{weekFrom:"week from",chartTitle:"Chart title",locale:void 0,loading:"Loading...",months:void 0,seriesName:"Series {add index 1}",shortMonths:void 0,weekdays:void 0,numericSymbols:["k","M","G","T","P","E"],pieSliceName:"Slice",resetZoom:"Reset zoom",yAxisTitle:"Values",resetZoomTitle:"Reset zoom level 1:1"},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,timezone:"UTC",timezoneOffset:0,useUTC:void 0},chart:{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",margin:15,minScale:.67},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:""},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{color:"#333333",fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%[AebHMSL]",second:"%[AebHMS]",minute:"%[AebHM]",hour:"%[AebHM]",day:"%[AebY]",week:"%v %[AebY]",month:"%[BY]",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,showDelay:0,padding:8,position:{x:0,y:3},shared:!1,snap:tX?25:10,headerFormat:'<span style="font-size: 0.8em">{ucfirst point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}},tU=new tj(tY.time,tY.lang),tV={defaultOptions:tY,defaultTime:tU,getOptions:function(){return tY},setOptions:function(t){return te(R,"setOptions",{options:t}),tm(!0,tY,t),t.time&&tU.update(tY.time),t.lang&&"locale"in t.lang&&tU.update({locale:t.lang.locale}),t.lang?.chartTitle&&(tY.title={...tY.title,text:t.lang.chartTitle}),tY}},{win:t$}=R,t_=(t,e,i)=>`color-mix(in srgb,${t},${e} ${100*i}%)`,tK=t=>tp(t)&&!!t&&"none"!==t;class tq{static parse(t){return t?new tq(t):tq.None}constructor(t){let e,i,s,o;this.rgba=[NaN,NaN,NaN,NaN],this.input=t;const r=R.Color;if(r&&r!==tq)return new r(t);if("object"==typeof t&&void 0!==t.stops)this.stops=t.stops.map(t=>new tq(t[1]));else if("string"==typeof t)for(this.input=t=tq.names[t.toLowerCase()]||t,s=tq.parsers.length;s--&&!i;)(e=(o=tq.parsers[s]).regex.exec(t))&&(i=o.parse(e));i&&(this.rgba=i)}get(t){let e=this.input,i=this.rgba;if(this.output)return this.output;if("object"==typeof e&&void 0!==this.stops){let i=tm(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return i&&tc(i[0])?"rgb"!==t&&(t||1!==i[3])?"a"===t?`${i[3]}`:"rgba("+i.join(",")+")":"rgb("+i[0]+","+i[1]+","+i[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(tc(t)&&0!==t)if(tc(e[0]))for(let i=0;i<3;i++)e[i]+=tw(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);else tq.useColorMix&&tK(this.input)&&(this.output=t_(this.input,t>0?"white":"black",Math.abs(t)));return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let i=this.rgba,s=t.rgba;if(!tc(i[0])||!tc(s[0]))return tq.useColorMix&&tK(this.input)&&tK(t.input)&&e<.99?t_(this.input,t.input,e):t.input||"none";let o=1!==s[3]||1!==i[3],r=(t,s)=>t+(i[s]-t)*(1-e),n=s.slice(0,3).map(r).map(Math.round);
4return o&&n.push(r(s[3],3)),(o?"rgba(":"rgb(")+n.join(",")+")"}}tq.names={white:"#ffffff",black:"#000000"},tq.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[tw(t[1]),tw(t[2]),tw(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[tw(t[1]),tw(t[2]),tw(t[3]),1]}},{regex:/^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i,parse:function(t){return[tw(t[1]+t[1],16),tw(t[2]+t[2],16),tw(t[3]+t[3],16),_(t[4])?tw(t[4]+t[4],16)/255:1]}},{regex:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i,parse:function(t){return[tw(t[1],16),tw(t[2],16),tw(t[3],16),_(t[4])?tw(t[4],16)/255:1]}}],tq.useColorMix=t$.CSS?.supports("color","color-mix(in srgb,red,blue 9%)"),tq.None=new tq("");let{parse:tZ}=tq,{win:tJ}=R;class tQ{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t?.[0],i=t?.[1],s=this.now||0,o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let r=e[t],n=i[t],a=[];for(let t=0;t<n.length;t++){let e=r[t],i=n[t];tc(e)&&tc(i)&&("A"!==n[0]||4!==t&&5!==t)?a[t]=e+s*(i-e):a[t]=i}o.push(a)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,o=s.options,r=function(t){return!r.stopped&&s.step(t)},n=tJ.requestAnimationFrame||function(t){setTimeout(t,13)},a=function(){for(let t=0;t<tQ.timers.length;t++)tQ.timers[t]()||tQ.timers.splice(t--,1);tQ.timers.length&&n(a)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,r.elem=this.elem,r.prop=this.prop,r()&&1===tQ.timers.push(r)&&n(a)):(delete o.curAnim[this.prop],o.complete&&0===Object.keys(o.curAnim).length&&o.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,n=o.complete,a=o.duration,l=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=a+this.startTime?(this.now=this.end,this.pos=1,this.update(),l[this.prop]=!0,i=!0,ty(l,function(t){!0!==t&&(i=!1)}),i&&n&&n.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/a),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,r=i.slice(),n=t.isArea,a=n?2:1,l=e&&i.length>e.length&&i.hasStackedCliffs,h,d,c,p,u=e?.slice();if(!u||l)return[r,r];function g(t,e){for(;t.length<d;){let i=t[0],s=e[d-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),n){let e=t.pop();t.push(t[t.length-1],e)}}}function f(t){for(;t.length<d;){let e=t[Math.floor(t.length/a)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),n){let i=t[Math.floor(t.length/a)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(c=0;c<s.length;c++)if(s[c]===o[0]){h=c;break}else if(s[0]===o[o.length-s.length+c]){h=c,p=!0;break}else if(s[s.length-1]===o[o.length-s.length+c]){h=s.length-c;break}void 0===h&&(u=[])}return u.length&&tc(h)&&(d=r.length+h*a,p?(g(u,r),f(r)):(g(r,u),f(u))),[u,r]}fillSetter(){tQ.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,tZ(this.start).tweenTo(tZ(this.end),this.pos),void 0,!0)}}function t0(t){return tf(t)?tm({duration:500,defer:0},t):{duration:500*!!t,defer:0}}function t1(t,e){let i=tQ.timers.length;for(;i--;)tQ.timers[i].elem!==t||e&&e!==tQ.timers[i].prop||(tQ.timers[i].stopped=!0)}tQ.timers=[];let t2={animate:function(t,e,i){let s,o="",r,n,a;tf(i)||(a=arguments,i={duration:a[2],easing:a[3],complete:a[4]}),tc(i.duration)||(i.duration=400),i.easing="function"==typeof i.easing?i.easing:Math[i.easing]||Math.easeInOutSine,i.curAnim=tm(e),ty(e,function(a,l){t1(t,l),n=new tQ(t,i,l),r=void 0,"d"===l&&tu(e.d)?(n.paths=n.initPath(t,t.pathArray,e.d),n.toD=e.d,s=0,r=1):t.attr?s=t.attr(l):(s=parseFloat(tn(t,l))||0,"opacity"!==l&&(o="px")),r||(r=a),"string"==typeof r&&r.match("px")&&(r=r.replace(/px/g,"")),n.run(s,r,o)})}
vendor: 4,083 bytes, line 4
4,animObject:t0,getDeferredAnimation:function(t,e,i){let s=t0(e),o=i?[i]:t.series,r=0,n=0;return o.forEach(t=>{let i=t0(t.options.animation);r=tf(e)&&_(e.defer)?s.defer:Math.max(r,i.duration+i.defer),n=Math.min(s.duration,i.duration)}),t.renderer.forExport&&(r=0),{defer:Math.max(0,r-n),duration:Math.min(r,n)}},setAnimation:function(t,e){e.renderer.globalAnimation=tk(t,e.options.chart.animation,!0)},stop:t1},{SVG_NS:t3,win:t5}=R,{trustedTypes:t6}=t5,t9=t6&&tg(t6.createPolicy)&&t6.createPolicy("highcharts",{createHTML:t=>t}),t4=t9?t9.createHTML(""):"";class t8{static filterUserAttributes(t){return ty(t,(e,i)=>{let s=!0;-1===t8.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=tp(e)&&t8.allowedReferences.some(t=>0===e.indexOf(t))),s||(tI(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),tp(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=t8.emptyHTML,e&&new t8(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(t){return function t(e,i){let s;return tT(e).forEach(function(e){let o,r=e.tagName,n=e.textContent?R.doc.createTextNode(e.textContent):void 0,a=t8.bypassHTMLFiltering;if(r)if("#text"===r)o=n;else if(-1!==t8.allowedTags.indexOf(r)||a){let s="svg"===r?t3:i.namespaceURI||t3,l=R.doc.createElementNS(s,r),h=e.attributes||{};ty(e,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(h[e]=t)}),j(l,a?h:t8.filterUserAttributes(h)),e.style&&$(l,e.style),n&&l.appendChild(n),t(e.children||[],l),o=l}else tI(33,!1,void 0,{"Invalid tagName in config":r});o&&i.appendChild(o),s=o}),s}(this.nodes,t)}parseMarkup(t){let e,i=[];t=t.trim().replace(/ style=(["'])/g," data-style=$1");try{e=new DOMParser().parseFromString(t9?t9.createHTML(t):t,"text/html")}catch{}if(!e){let i=U("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=t8.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}t8.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","disabled","dx","dy","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","result","role","rowspan","scope","slope","src","startOffset","stdDeviation","stroke-linecap","stroke-width","stroke","style","summary","tabindex","tableValues","target","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],t8.allowedReferences=["https://","http://","mailto:","/","../","./","#"],t8.allowedTags=["#text","a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","tbody","td","text","textPath","th","thead","title","tr","tspan","u","ul"],t8.emptyHTML=t4,t8.bypassHTMLFiltering=!1;let{defaultOptions:t7,defaultTime:et}=tV,{pageLang:ee}=R,ei={add:(t,e)=>
vendor: 4,301 bytes, line 4
4t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!tu(t)&&t.map((i,s)=>eo(e.body,Q(tf(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,ucfirst:tL,unless:t=>!t},es={};function eo(t="",e,i){let s=RegExp("\\{([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+\"'’= #\\(\\)]+)\\}","gu"),o=RegExp("\\(([\\p{L}\\p{M}\\d:\\.,;\\-\\/<>\\[\\]%_@+\"'= ]+)\\)","gu"),r=[],n=/f$/,a=/\.(\d)/,l=i?.options?.lang||t7.lang,h=i?.time||et,d=i?.numberFormatter||er.bind(i),c=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:/^["'].+["']$/.test(t)?t.slice(1,-1):tr(t,e))},p,u,g=0,f;for(;null!==(p=s.exec(t));){let i=p,s=o.exec(p[1]);s&&(p=s,f=!0),u?.isBlock||(u={ctx:e,expression:p[1],find:p[0],isBlock:"#"===p[1].charAt(0),start:p.index,startInner:p.index+p[0].length,length:p[0].length});let n=(u.isBlock?i:p)[1].split(" ")[0].replace("#","");ei[n]&&(u.isBlock&&n===u.fn&&g++,u.fn||(u.fn=n));let a="else"===p[1];if(u.isBlock&&u.fn&&(p[1]===`/${u.fn}`||a))if(g)!a&&g--;else{let e=u.startInner,i=t.substr(e,p.index-e);void 0===u.body?(u.body=i,u.startInner=p.index+p[0].length):u.elseBody=i,u.find+=i+p[0],a||(r.push(u),u=void 0)}else u.isBlock||r.push(u);if(s&&!u?.isBlock)break}return r.forEach(s=>{let r,p,{body:u,elseBody:g,expression:f,fn:m}=s;if(m){let t=[s],o=[],n=f.length,a=0,l;for(p=0;p<=n;p++){let t=f.charAt(p);l||'"'!==t&&"'"!==t?l===t&&(l=""):l=t,l||" "!==t&&p!==n||(o.push(f.substr(a,p-a)),a=p+1)}for(p=ei[m].length;p--;)t.unshift(c(o[p+1]));r=ei[m].apply(e,t),s.isBlock&&"boolean"==typeof r&&(r=eo(r?u:g,e,i))}else{let t=/^["'].+["']$/.test(f)?[f]:f.split(":");if(r=c(t.shift()||""),t.length&&"number"==typeof r){let e=t.join(":");if(n.test(e)){let t=parseInt((e.match(a)||["","-1"])[1],10);null!==r&&(r=d(r,t,l.decimalPoint,e.indexOf(",")>-1?l.thousandsSep:""))}else r=h.dateFormat(e,r)}o.lastIndex=0,o.test(s.find)&&tp(r)&&(r=`"${r}"`)}t=t.replace(s.find,tk(r,""))}),f?eo(t,e,i):t}function er(t,e,i,s){e*=1;let o,r,[n,a]=(t=+t||0).toString().split("e").map(Number),l=this?.options?.lang||t7.lang,h=(t.toString().split(".")[1]||"").split("e")[0].length,d=e,c={};i??(i=l.decimalPoint),s??(s=l.thousandsSep),-1===e?e=Math.min(h,20):tc(e)?e&&a<0&&((r=e+a)>=0?(n=+n.toExponential(r).split("e")[0],e=r):(n=Math.floor(n),t=e<20?+(n*Math.pow(10,a)).toFixed(e):0,a=0)):e=2,a&&(e??(e=2),t=n),tc(e)&&e>=0&&(c.minimumFractionDigits=e,c.maximumFractionDigits=e),""===s&&(c.useGrouping=!1);let p=s||i,u=p?"en":this?.locale||l.locale||ee,g=JSON.stringify(c)+u;return o=(es[g]??(es[g]=new Intl.NumberFormat(u,c))).format(t),p&&(o=o.replace(/([,\.])/g,"_$1").replace(/_\,/g,s??",").replace("_.",i??".")),(e||0!=+o)&&(!(a<0)||d)||(o="0"),a&&0!=+o&&(o+="e"+(a<0?"":"+")+a),o}let en={dateFormat:function(t,e,i){return et.dateFormat(t,e,i)},format:eo,helpers:ei,numberFormat:er};(d=b||(b={})).rendererTypes={},d.getRendererType=function(t=a){return d.rendererTypes[t]||d.rendererTypes[a]},d.registerRendererType=function(t,e,i){d.rendererTypes[t]=e,(!a||i)&&(a=t,R.Renderer=e)};let ea=b;(v||(v={})).distribute=function t(e,i,s){let o=e,r=o.reducedLen||i,n=(t,e)=>t.target-e.target,a=[],l=e.length,h=[],d=a.push,c,p=!0,u,g,f=0;for(c=l;c--;)f+=e[c].size;if(f>r){if(tP(e,(t,e)=>(e.rank||0)-(t.rank||0)),e[0].rank===e[e.length-1].rank){let t=[[0,l-1]];for(;t.length&&f>r;){let i=t.shift();if(!i)break;u=e[c=Math.floor((i[0]+i[1])/2)],tM(h,c)&&(f-=u.size),i[0]<c&&t.push([i[0],c-1]),c<i[1]&&t.push([c+1,i[1]])}}else for(c=l-1;f>r&&c>=0;)u=e[c],tM(h,c)&&(f-=u.size),c--;h.sort((t,e)=>e-t).forEach(t=>d.apply(a,e.splice(t,1)))}for(tP(e,n),e=e.map(t=>({size:t.size,targets:[t.target],align:tk(t.align,.5)}));p;){for(c=e.length;c--;)u=e[c],g=(Math.min.apply(0,u.targets)+Math.max.apply(0,u.targets))/2,u.pos=X(g-u.size*u.align,0,i-u.size);for(c=e.length,p=!1;c--;)c>0&&e[c-1].pos+e[c-1].size>e[c].pos&&(e[c-1].size+=e[c].size,e[c-1].targets=e[c-1].targets.concat(e[c].targets),e[c-1].align=.5,e[c-1].pos+e[c-1].size>i&&(e[c-1].pos=i-e[c-1].size),e.splice(c,1),p=!0)}return d.apply(o,a),c=0,e.some(e=>{let r=0;return(e.targets||[]).some(()=>(o[c].pos=e.pos+r,void 0!==s&&Math.abs(o[c].pos-o[c].target)>
vendor: 10,743 bytes, line 4
4s)?(o.slice(0,c+1).forEach(t=>delete t.pos),o.reducedLen=(o.reducedLen||i)-.1*i,o.reducedLen>.1*i&&t(o,i,s),!0):(r+=o[c].size,c++,!1))}),tP(o,n),o};let el=v,{animate:eh,animObject:ed,stop:ec}=t2,{deg2rad:ep,doc:eu,svg:eg,SVG_NS:ef,win:em,isFirefox:ex}=R;class ey{_defaultGetter(t){let e=tk(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o=this.renderer,r=o.alignedObjects,n=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let a=!i||tp(i)?i||"renderer":void 0;a&&(n&&tM(r,this),i=void 0);let l=tk(i,o[a],o),h=(l.x||0)+(t.x||0)+((l.width||0)-(t.width||0))*ti(t.align),d=(l.y||0)+(t.y||0)+((l.height||0)-(t.height||0))*ti(t.verticalAlign),c={};return t.align&&(c["text-align"]=t.align),c[e?"translateX":"x"]=Math.round(h),c[e?"translateY":"y"]=Math.round(d),s&&(this[this.placed?"animate":"attr"](c),this.placed=!0),this.alignAttr=c,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=ed(tk(e,this.renderer.globalAnimation,!0)),o=s.defer;return eu.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),tO(()=>{this.element&&eh(this,t,s)},o)):(this.attr(t,void 0,i||s.complete),ty(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let i=t.indexOf(" "),s=t.substring(i+1),o=t.substring(0,i);if(o&&"none"!==o&&R.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=eu.createElementNS(ef,"tspan");j(t,{class:"highcharts-text-outline",fill:s,stroke:s,"stroke-width":o,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let r=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{r+=Number(t.getAttribute("dy"))});let n=eu.createElementNS(ef,"tspan");n.textContent="​",j(n,{x:Number(e.getAttribute("x")),dy:-r}),t.appendChild(n),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=ey.symbolCustomAttribs,n,a,l=this,h;return"string"==typeof t&&void 0!==e&&(n=t,(t={})[n]=e),"string"==typeof t?l=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(ty(t,function(e,i){h=!1,s||ec(this,i),this.symbolName&&-1!==r.indexOf(i)&&(a||(this.symbolAttr(t),a=!0),h=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),h||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),l}clip(t){if(t&&!t.clipPath){let e=tR()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);Q(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=V(i,e),a=V(s,e);return Q(t,{x:n,y:a,width:V(o,e)-n,height:V(r,e)-a}),_(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,e,i){let s=this.renderer,o,r,n,a,l,h,d,c,p,u,g=[],f;te(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],l=s.gradients,h=t.stops,p=i.radialReference,tu(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!_(n.gradientUnits)&&(a=n,n=tm(n,s.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),ty(n,function(t,e){"id"!==e&&g.push(e,t)}),ty(h,function(t){g.push(t)}),l[g=g.join(",")])u=l[g].attr("id");else{n.id=u=tR();let t=l[g]=s.createElement(r).attr(n).add(s.defs);t.radAttr=a,t.stops=[],h.forEach(function(e){0===e[1].indexOf("rgba")?(d=(o=tq.parse(e[1])).get("rgb"),c=o.get("a")):(d=e[1],c=1);let i=s.createElement("stop").attr({offset:e[0],"stop-color":d,"stop-opacity":c}).add(t);t.stops.push(i)})}f="url("+s.url+"#"+u+")",i.setAttribute(e,f),i.gradient=g,t.toString=function(){return f}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&ty(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=Q(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=tw(t.width)),Q(this.styles,t),o&&!eg&&this.renderer.forExport&&delete t.width;let r=ex&&t.fontSize||null;r&&(tc(r)||/^\d+$/.test(r))&&(t.fontSize+="px");let n=tm(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","whiteSpace","width"].forEach(t=>n&&delete n[t]),n.color&&(n.fill=n.color,delete n.color)),$(s,n)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t){let s=(t=t.toLowerCase()).replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+tw(s[e])*tk(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,{element:e={},renderer:i,stops:s}=t,o=e.ownerSVGElement,r="SPAN"===e.nodeName&&t.parentGroup||void 0,n;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,ec(t),t.clipPath&&o){let e=t.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.id)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(s){for(let t of s)t.destroy();s.length=0}for(t.safeRemoveChild(e);r?.div&&0===r.div.childNodes.length;)n=r.parentGroup,t.safeRemoveChild(r.div),delete r.div,r=n;t.alignOptions&&J(i.alignedObjects,t),ty(t,(e,i)=>{(t[i]?.parentGroup===t||-1!==["connector","foreignObject"].indexOf(i))&&t[i]?.destroy?.(),delete t[i]})}dSetter(t,e,i){tu(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e?.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,{element:r,renderer:n,styles:a,textStr:l}=this,{cache:h,cacheKeys:d}=n,c=r.namespaceURI===this.SVG_NS,p=tk(e,this.rotation,0),u=n.styledMode?r&&ey.prototype.getStyle.call(r,"font-size"):a.fontSize,g=this.getBBoxCacheKey([n.rootFontSize,this.textWidth,this.alignValue,a.fontWeight,a.lineClamp,a.textOverflow,u,p]);if(g&&!t&&(i=h[g]),!i||i.polygon){if(c||n.forExport){try{o=this.fakeTS&&function(t){let e=r.querySelector(".highcharts-text-outline");e&&$(e,{display:t})},tg(o)&&o("none"),i=r.getBBox?Q({},r.getBBox()):{width:r.offsetWidth,height:r.offsetHeight,x:0,y:0},tg(o)&&o("")}catch{}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,c&&(i.height=s=({"11px,17":14,"13px,20":16})[`${u||""},${Math.round(s)}`]||s),p&&(i=this.getRotatedBox(i,p));let t={bBox:i};te(this,"afterGetBBox",t),i=t.bBox}if(g&&(""===l||i.height>0)){for(;d.length>250;)delete h[d.shift()];h[g]||d.push(g),h[g]=i}return i}getBBoxCacheKey(t){if(_(this.textStr)){let e=""+this.textStr;return -1===e.indexOf("<")&&(e=e.replace(/\d/g,"0")),[e,...t].join(",")}}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:a,rotationOriginX:l=0,rotationOriginY:h=0}=this,d=ti(n),c=Number(this.element.getAttribute("y")||0)-(a?0:s),p=e*ep,u=(e-90)*ep,g=Math.cos(p),f=Math.sin(p),m=o*g,x=o*f,y=Math.cos(u),b=Math.sin(u),[[v,k],[w,M]]=[l,h].map(t=>[t-t*g,t*f]),S=i+d*(o-m)+v+M+c*y,C=S+m,A=C-r*y,T=A-m,P=s+c-d*x-k+w+c*b,O=P+x,L=O-r*b,E=L-x,D=Math.min(S,C,A,T),I=Math.min(P,O,L,E),B=Math.max(S,C,A,T)-D,N=Math.max(P,O,L,E)-I;return{x:D,y:I,width:B,height:N,polygon:[[S,P],[C,O],[A,L],[T,E]]}}getStyle(t){return em.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=ef,this.element="span"===e||"body"===e?U(e):eu.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},te(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=H(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(tp(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient]||void 0;return this.element.radialReference=t,e?.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=tm(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},tf(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=tw(t):""!==t&&(j(i=eu.createElementNS(ef,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
vendor: 7,252 bytes, line 4
4ey.symbolCustomAttribs.forEach(function(i){e[i]=tk(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||eu.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=tC(tk(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,foreignObject:i,matrix:s,padding:o,rotation:r=0,rotationOriginX:n,rotationOriginY:a,scaleX:l,scaleY:h,text:d,translateX:c=0,translateY:p=0}=this,u=[`translate(${c},${p})`];_(s)&&u.push("matrix("+s.join(",")+")"),r&&(u.push("rotate("+r+" "+(n??e.getAttribute("x")??this.x??0)+" "+(a??e.getAttribute("y")??this.y??0)+")"),d?.element.tagName!=="SPAN"||d?.foreignObject||d.attr({rotation:r,rotationOriginX:(n||0)-o,rotationOriginY:(a||0)-o})),(_(l)||_(h))&&u.push(`scale(${l??1} ${h??1})`),u.length&&!(d||this).textPath&&(i?.element||e).setAttribute(t,u.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,n=o===i.box,a,l,h,d=!1,c,p=this.added,u;if(_(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(p=!1)):_(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(a=o.childNodes).length-1;u>=0&&!d;u--)c=!_(h=(l=a[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!n&&!u?(o.insertBefore(r,a[u]),d=!0):(tw(h)<=t||c&&(!_(t)||t>=0))&&(o.insertBefore(r,a[u+1]),d=!0));d||(o.insertBefore(r,a[3*!!n]),d=!0)}return d}}ey.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],ey.prototype.strokeSetter=ey.prototype.fillSetter,ey.prototype.yGetter=ey.prototype.xGetter,ey.prototype.matrixSetter=ey.prototype.rotationOriginXSetter=ey.prototype.rotationOriginYSetter=ey.prototype.rotationSetter=ey.prototype.scaleXSetter=ey.prototype.scaleYSetter=ey.prototype.translateXSetter=ey.prototype.translateYSetter=ey.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0};let eb=ey;class ev extends eb{constructor(t,e,i,s,o,r,n,a,l,h){let d;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=l,this.className=h,this.addClass("button"===h?"highcharts-no-tooltip":"highcharts-label"),h&&this.addClass("highcharts-"+h),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&((d=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=ev.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e=ti(t);this.textAlign=t,e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&tc(this.xSetting)&&this.attr({x:this.xSetting}),this.updateTextPadding())}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(t){if(t){let e={};t=tm(t),ev.textProps.forEach(i=>{void 0!==t[i]&&(e[i]=t[i],delete t[i])}),this.text.css(e),"fontSize"in e||"fontWeight"in e||"width"in e?this.updateTextPadding():"textOverflow"in e&&this.updateBoxSize()}return eb.prototype.css.call(this,t)}destroy(){tA(this.element,"mouseenter"),tA(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),eb.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){(this.textStr&&0===this.bBox.width&&0===this.bBox.height||this.rotation)&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:n=0}=this,a=tk(this.paddingLeft,i),l=e??(this.rotation||0),h={width:n,height:s,x:o+this.bBox.x-a,y:r+this.bBox.y-i+this.baselineOffset};return l&&(h=this.getRotatedBox(h,l)),h}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:tk(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&_(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){tc(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=this["text-align"]=t,this.updateTextPadding()}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,i={},s=this.padding,o=this.bBox=(!tc(this.widthSetting)||!tc(this.heightSetting)||this.textAlign)&&_(e.textStr)?e.getBBox(void 0,0):ev.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||o.height||0)+2*s;let r=this.renderer.fontMetrics(e);if(this.baselineOffset=s+Math.min((this.text.firstLineMetrics||r).b,o.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-r.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}i.x=t=this.getCrispAdjust(),i.y=(this.baseline?-this.baselineOffset:0)+t,i.width=Math.round(this.width),i.height=Math.round(this.height),this.box.attr(Q(i,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text,e=t.styles.textAlign||this.textAlign;if(!t.textPath){this.updateBoxSize();let i=this.baseline?0:this.baselineOffset,s=(this.paddingLeft??this.padding)+ti(e)*(this.widthSetting??this.bBox.width);(s!==t.x||i!==t.y)&&(t.attr({align:e,x:s}),void 0!==i&&t.attr("y",i)),t.x=s,t.y=i}}widthSetter(t){this.widthSetting=tc(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=tk(this.paddingLeft,t),i=tk(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.anchorX&&(this["forceAnimate:anchorX"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.anchorY&&(this["forceAnimate:anchorY"]=!0),this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}function ek(t,e,i,s,o){let r=[];if(o){let n=o.start||0,a=o.end||0,l=tk(o.r,i),h=tk(o.r,s||i),d=1e-4>Math.abs(a-n-2*Math.PI);
vendor: 4,643 bytes, line 4
4d&&(n=Math.PI/2,a=2.5*Math.PI-1e-4);let c=o.innerR,p=tk(o.open,d),u=d?0:Math.cos(n),g=d?1:Math.sin(n),f=d?0:Math.cos(a),m=d?1:Math.sin(a),x=tk(o.longArc,a-n-Math.PI<1e-4?0:1),y=["A",l,h,0,x,tk(o.clockwise,1),t+(d?.001:l*f),e+h*m];y.params={start:n,end:a,cx:t,cy:e},r.push(["M",t+l*u,e+h*g],y),_(c)&&((y=["A",c,c,0,x,_(o.clockwise)?1-o.clockwise:0,t+(d?-.001:c*u),e+c*g]).params={start:a,end:n,cx:t,cy:e},r.push(p?["M",t+c*f,e+c*m]:["L",t+c*f,e+c*m],y)),p||r.push(["Z"])}return r}function ew(t,e,i,s,o){return o?.r?eM(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function eM(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}ev.emptyBBox={width:0,height:0,x:0,y:0},ev.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineClamp","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"];let eS={arc:ek,callout:function(t,e,i,s,o){let r=Math.min(o?.r||0,i,s),n=r+6,a=o?.anchorX,l=o?.anchorY||0,h=eM(t,e,i,s,{r});if(!tc(a)||a<i&&a>0&&l<s&&l>0)return h;if(t+a>i-n)if(l>e+n&&l<e+s-n)h.splice(3,1,["L",t+i,l-6],["L",t+i+6,l],["L",t+i,l+6],["L",t+i,e+s-r]);else if(a<i){let o=l<e+n,d=o?e:e+s;h.splice(o?2:5,0,["L",a,l],["L",t+i-r,d])}else h.splice(3,1,["L",t+i,s/2],["L",a,l],["L",t+i,s/2],["L",t+i,e+s-r]);else if(t+a<n)if(l>e+n&&l<e+s-n)h.splice(7,1,["L",t,l+6],["L",t-6,l],["L",t,l-6],["L",t,e+r]);else if(a>0){let i=l<e+n,o=i?e:e+s;h.splice(i?1:6,0,["L",a,l],["L",t+r,o])}else h.splice(7,1,["L",t,s/2],["L",a,l],["L",t,s/2],["L",t,e+r]);else l>s&&a<i-n?h.splice(5,1,["L",a+6,e+s],["L",a,e+s+6],["L",a-6,e+s],["L",t+r,e+s]):l<0&&a>n&&h.splice(1,1,["L",a-6,e],["L",a,e-6],["L",a+6,e],["L",i-r,e]);return h},circle:function(t,e,i,s){return ek(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:ew,roundedRect:eM,square:ew,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}},{doc:eC,SVG_NS:eA,win:eT}=R,eP=(t,e)=>t.substring(0,e)+"…";class eO{constructor(t){const e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e?.lineHeight,this.textOutline=e?.textOutline,this.ellipsis=e?.textOverflow==="ellipsis",this.lineClamp=e?.lineClamp,this.noWrap=e?.whiteSpace==="nowrap"}buildSVG(){let t=this.svgElement,e=t.element,i=t.renderer,s=tk(t.textStr,"").toString(),o=-1!==s.indexOf("<"),r=e.childNodes,n=!t.added&&i.box,a=[s,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,t.getStyle("font-size"),t.styles.lineClamp,this.width].join(",");if(a!==t.textCache){t.textCache=a,delete t.actualWidth;for(let t=r.length;t--;)e.removeChild(r[t]);if(o||this.ellipsis||this.width||t.textPath||-1!==s.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(s))){if(""!==s){n&&n.appendChild(e);let i=new t8(s);this.modifyTree(i.nodes),i.addToDOM(e),this.modifyDOM(),this.ellipsis&&-1!==(e.textContent||"").indexOf("…")&&t.attr("title",this.unescapeEntities(t.textStr||"",["&lt;","&gt;"])),n&&n.removeChild(e)}}else e.appendChild(eC.createTextNode(this.unescapeEntities(s)));tp(this.textOutline)&&t.applyTextOutline&&t.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=j(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),j(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let s=this.width||0;if(!s)return;let o=(t,o)=>{let r=t.textContent||"",n=r.replace(/([^\^])-/g,"$1- ").split(" "),a=!this.noWrap&&(n.length>1||e.element.childNodes.length>1),l=this.getLineHeight(o),h=Math.max(0,s-.8*l),d=0,c=e.actualWidth;if(a){let r=[],a=[];for(;o.firstChild&&o.firstChild!==t;)a.push(o.firstChild),o.removeChild(o.firstChild);for(;n.length;)if(n.length&&!this.noWrap&&d>0&&(r.push(t.textContent||""),t.textContent=n.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,n,0===d&&c||0,s,h,(t,e)=>n.slice(0,e).join(" ").replace(/- /g,"-")),c=e.actualWidth,d++,this.lineClamp&&d>=this.lineClamp){n.length&&(this.truncate(t,t.textContent||"",void 0,0,s,h,eP),t.textContent=t.textContent?.replace("…","")+"…");break}
vendor: 4,584 bytes, line 4
4a.forEach(e=>{o.insertBefore(e,t)}),r.forEach(e=>{o.insertBefore(eC.createTextNode(e),t);let s=eC.createElementNS(eA,"tspan");s.textContent="​",j(s,{dy:l,x:i}),o.insertBefore(s,t)})}else this.ellipsis&&r&&this.truncate(t,r,void 0,0,s,h,eP)},r=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===eT.Node.TEXT_NODE?o(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),r(i))})};r(e.element)}getLineHeight(t){let e=t.nodeType===eT.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:n={},tagName:a}=i,l=this.renderer.styledMode;if("b"===a||"strong"===a?l?o.class="highcharts-strong":n.fontWeight="bold":("i"===a||"em"===a)&&(l?o.class="highcharts-emphasized":n.fontStyle="italic"),n?.color&&(n.fill=n.color),"br"===a){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e?.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===a&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==a&&"a"!==a&&(i.tagName="tspan"),Q(i,{attributes:o,style:n}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),te(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r,n){let a,l,h=this.svgElement,{rotation:d}=h,c=[],p=i&&!s?1:0,u=(e||i||"").length,g=u;i||(o=r);let f=function(e,o){let r=o||e,n=t.parentNode;if(n&&void 0===c[r]&&n.getSubStringLength)try{c[r]=s+n.getSubStringLength(0,i?r+1:r)}catch{}return c[r]};if(h.rotation=0,s+(l=f(t.textContent.length))>o){for(;p<=u;)g=Math.ceil((p+u)/2),i&&(a=n(i,g)),l=f(g,a&&a.length-1),p===u?p=u+1:l>o?u=g-1:p=g;0===u?t.textContent="":e&&u===e.length-1||(t.textContent=a||n(e||i,g)),this.ellipsis&&l>o&&this.truncate(t,t.textContent||"",void 0,0,o,r,eP)}i&&i.splice(0,g),h.actualWidth=l,h.rotation=d}unescapeEntities(t,e){return ty(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}}let{defaultOptions:eL}=tV,{charts:eE,deg2rad:eD,doc:eI,isFirefox:eB,isMS:eN,isWebKit:eR,noop:ez,SVG_NS:eW,symbolSizes:eH,win:eF}=R;class eG{constructor(t,e,i,s,o,r,n){let a,l;this.x=0,this.y=0;const h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;n||h.css(this.getStyle(s||{})),t.appendChild(d),j(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&j(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(eI.createTextNode("Created with Highcharts 12.6.0")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.asyncCounter=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),eB&&t.getBoundingClientRect&&((a=function(){$(t,{left:0,top:0}),l=t.getBoundingClientRect(),$(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=H(eF,"resize",a))}definition(t){return new t8([t]).addToDOM(this.defs.element)}getReferenceURL(){if((eB||eR)&&eI.getElementsByTagName("base").length){if(!_(o)){let t=tR(),e=new t8([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:t},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${t})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(eI.body);$(e,{position:"fixed",top:0,left:0,zIndex:9e5});let i=eI.elementFromPoint(6,6);o=i?.id==="hitme",eI.body.removeChild(e)}if(o)return tC(eF.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=Q({fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif',fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),K(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}
4`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=tm({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new eO(t).buildSVG()}getContrast(t){if("transparent"===t)return"#000000";let e=tq.parse(t).rgba,i=" clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";if(tc(e[0])||!tq.useColorMix){let t=e.map(t=>{let e=t/255;return e<=.04?e/12.92:Math.pow((e+.055)/1.055,2.4)}),i=.2126*t[0]+.7152*t[1]+.0722*t[2];return 1.05/(i+.05)>(i+.05)/.05?"#FFFFFF":"#000000"}return"color(from "+t+" srgb"+i+i+i+")"}button(t,e,i,s,o={},r,n,a,l,h){let d=this.label(t,e,i,l,void 0,void 0,h,void 0,"button"),c=this.styledMode,p=arguments,u=0;o=tm(eL.global.buttonTheme,o),c&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let g=o.states||{},f=o.style||{};delete o.states,delete o.style;let m=[t8.filterUserAttributes(o)],x=[f];return c||["hover","select","disabled"].forEach((t,e)=>{m.push(tm(m[0],t8.filterUserAttributes(p[e+5]||g[t]||{}))),x.push(m[e+1].style),delete m[e+1].style}),H(d.element,eN?"mouseover":"mouseenter",function(){3!==u&&d.setState(1)}),H(d.element,eN?"mouseout":"mouseleave",function(){3!==u&&d.setState(u)}),d.setState=(t=0)=>{if(1!==t&&(d.state=u=t),d.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!c){d.attr(m[t]);let e=x[t];tf(e)&&d.css(e)}},d.attr(m[0]),!c&&(d.css(Q({cursor:"default"},f)),h&&d.text.css({pointerEvents:"none"})),d.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==u&&s?.call(d,t)})}crispLine(t,e){let[i,s]=t;return _(i[1])&&i[1]===s[1]&&(i[1]=s[1]=V(i[1],e)),_(i[2])&&i[2]===s[2]&&(i[2]=s[2]=V(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return tu(t)?e.d=t:tf(t)&&Q(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=tf(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let n;tf(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=tf(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,Q(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,j(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:tk(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};tc(e)&&(n.x=e),tc(i)&&(n.y=i),tc(s)&&(n.width=s),tc(o)&&(n.height=o);let a=this.createElement("image").attr(n),l=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new eF.Image;H(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,l,h,d=this,c=/^url\((.*?)\)$/,p=c.test(t),u=!p&&(this.symbols[t]?t:"circle"),g=u&&this.symbols[u];if(g)"number"==typeof e&&(a=g.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),d.styledMode||n.attr("fill","none"),Q(n,{symbolName:u||void 0,x:e,y:i,width:s,height:o}),r&&Q(n,r);else if(p){l=t.match(c)[1];let s=n=this.image(l);s.imgwidth=tk(r?.width,eH[l]?.width),s.imgheight=tk(r?.height,eH[l]?.height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:n,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,d=1;r&&"within"===r.backgroundSize&&o&&n&&a&&l?(d=Math.min(o/a,n/l),j(s,{width:Math.round(a*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((o||0)-a*d)/2,((n||0)-l*d)/2)}}),_(e)&&s.attr({x:e,y:i}),s.isImg=!0,_(s.imgwidth)&&_(s.imgheight)?h(s):(s.attr({width:0,height:0}),U("img",{onload:function(){let t=eE[d.chartIndex];0===this.width&&($(this,{position:"absolute",top:"-999em"}),eI.body.appendChild(this)),eH[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.asyncCounter--,d.asyncCounter||!t||t.hasLoaded||t.onload()},src:l}),this.asyncCounter++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),_(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,
4i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;i<s.length;i++)(r=s[i]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=tc(t)?t:tw(eb.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*eD),4)),{x:-t/3*Math.sin(e*eD),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)tp(i[0])&&tc(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,n,a,l){return new ev(this,t,e,i,s,o,r,n,a,l)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}Q(eG.prototype,{Element:eb,SVG_NS:eW,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:eS,draw:ez}),ea.registerRendererType("svg",eG,!0);let{composed:ej,isFirefox:eX}=R;function eY(t,e,i){let s=this.div?.style;eb.prototype[`${e}Setter`].call(this,t,e,i),s&&(i.style[e]=s[e]=t)}let eU=(t,e)=>{if(!t.div){let i=j(t.element,"class"),s=t.css,o=U("div",i?{className:i}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),o.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,o.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.scaleXSetter=t.scaleYSetter=(e,i)=>{t[i]=e,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=eY,t.css=e=>(s.call(t,e),e.cursor&&(o.style.cursor=e.cursor),e.pointerEvents&&(o.style.pointerEvents=e.pointerEvents),t),t.on=function(){return eb.prototype.on.apply({element:o,onEvents:t.onEvents},arguments),t},t.div=o}return t.div};class eV extends eb{static compose(t){tM(ej,this.compose)&&(t.prototype.html=function(t,e,i){return new eV(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),eV.useForeignObject?this.foreignObject=t.createElement("foreignObject").attr({zIndex:2}):this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=tw(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.overflow="hidden",t.whiteSpace="nowrap"),t?.lineClamp&&(t.display="-webkit-box",t.WebkitLineClamp=t.lineClamp,t.WebkitBoxOrient="vertical",t.overflow="hidden"),tc(Number(t?.fontSize))&&(t.fontSize+="px"),Q(this.styles,t),$(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,foreignObject:e,oldTextWidth:i,renderer:s,rotation:o,rotationOriginX:r,rotationOriginY:n,scaleX:a,scaleY:l,styles:{display:h="inline-block",whiteSpace:d},textAlign:c="left",textWidth:p,translateX:u=0,translateY:g=0,x:f=0,y:m=0}=this,x=()=>this.textPxLength?this.textPxLength:($(t,{width:"",whiteSpace:d||"nowrap"}),t.offsetWidth);if(e||$(t,{marginLeft:`${u}px`,marginTop:`${g}px`}),"SPAN"===t.tagName){let u,g=[o,c,t.innerHTML,p,this.textAlign].join(","),y=-(this.parentGroup?.padding*1)||0;if(p!==i){let e=x(),r=p||0,n=!s.styledMode&&""===t.style.textOverflow&&t.style.webkitLineClamp;(r>i||e>r||n)&&(/[\-\s\u00AD]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&($(t,{width:(o||a||e>r)&&tc(p)?p+"px":n?Math.min(e+1,r)+"px":"auto",display:h,whiteSpace:d||"normal"}),this.oldTextWidth=p)}e&&($(t,{display:"inline-block",verticalAlign:"top"}),e.attr({width:s.width,height:s.height})),g!==this.cTT&&(u=s.fontMetrics(t).b,_(o)&&!e&&(o!==(this.oldRotation||0)||c!==this.oldAlign)&&$(t,{transform:`rotate(${o}deg)`,transformOrigin:`${y}% ${y}px`}
4),this.getSpanCorrection(!_(o)&&!this.textWidth&&this.textPxLength||t.offsetWidth,u,ti(c)));let{xCorr:b=0,yCorr:v=0}=this,k={left:`${f+b}px`,top:`${m+v}px`,textAlign:c,transformOrigin:`${(r??f)-b-f-y}px ${(n??m)-v-m-y}px`};(a||l)&&(k.transform=`scale(${a??1},${l??1})`),e?(super.updateTransform(),tc(f)&&tc(m)?(e.attr({x:f+b,y:m+v,width:t.offsetWidth+3,height:t.offsetHeight,"transform-origin":t.getAttribute("transform-origin")||"0 0"}),$(t,{display:h,textAlign:c})):eX&&e.attr({width:0,height:0})):$(t,k),this.cTT=g,this.oldRotation=o,this.oldAlign=c}}add(t){let{foreignObject:e,renderer:i}=this,s=i.box.parentNode,o=[];if(e)e.add(t),super.add(i.createElement("body").attr({xmlns:"http://www.w3.org/1999/xhtml"}).css({background:"transparent",margin:"0 3px 0 0"}).add(e));else{let e;if(this.parentGroup=t,t&&!(e=t.div)){let i=t;for(;i;)o.push(i),i=i.parentGroup;for(let t of o.reverse())e=eU(t,s)}(e||s).appendChild(this.element)}return this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(t){t!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t8.setElementHTML(this.element,t??""),this.textStr=t,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let e$=eV.prototype;e$.visibilitySetter=e$.opacitySetter=eY,e$.ySetter=e$.rotationSetter=e$.rotationOriginXSetter=e$.rotationOriginYSetter=e$.xSetter,(c=k||(k={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,dateTimeLabelFormats:{millisecond:{main:"%[HMSL]",range:!1},second:{main:"%[HMS]",range:!1},minute:{main:"%[HM]",range:!1},hour:{main:"%[HM]",range:!1},day:{main:"%[eb]"},week:{main:"%[eb]"},month:{main:"%[bY]"},year:{main:"%Y"}},endOnTick:!1,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em",textOverflow:"ellipsis"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickmarkPlacement:"between",tickPixelInterval:100,tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},c.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){return this.axis.chart.numberFormatter(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};let e_=k;(w||(w={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},ty(e.events,function(e,i){t.eventOptions[i]!==e&&(t.eventOptions[i]&&(tA(t,i,t.eventOptions[i]),delete t.eventOptions[i]),tg(e)&&(t.eventOptions[i]=e,H(t,i,e,{order:0})))})};let eK=w,{deg2rad:eq}=R;class eZ{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,te(this,"init"),i||s||this.addLabel()}addLabel(){let t=this,e=t.axis,i=e.options,s=e.chart,o=e.categories,r=e.logarithmic,n=e.names,a=t.pos,l=tk(t.options?.labels,i.labels),h=e.tickPositions,d=a===h[0],c=a===h[h.length-1],p=(!l.step||1===l.step)&&1===e.tickInterval,u=h.info,g=t.label,f,m,x,y=this.parameters.category||(o?tk(o[a],n[a],a):a);r&&tc(y)&&(y=Y(r.lin2log(y))),e.dateTime&&(u?f=(m=s.time.resolveDTLFormat(i.dateTimeLabelFormats[!i.grid?.enabled&&u.higherRanks[a]||u.unitName])).main:tc(y)&&(f=e.dateTime.getXDateFormat(y,i.dateTimeLabelFormats||{}))),t.isFirst=d,t.isLast=c;let b={axis:e,chart:s,dateTimeLabelFormat:f,isFirst:d,isLast:c,pos:a,tick:t,tickPositionInfo:u,value:y};te(this,"labelFormat",b);let v=t=>l.formatter?l.formatter.call(t,t):l.format?(t.text=e.defaultLabelFormatter.call(t),en.format(l.format,t,s)):e.defaultLabelFormatter.call(t),k=v.call(b,b),w=m?.list;w?t.shortenLabel=function(){for(x=0;x<w.length;x++)if(Q(b,{dateTimeLabelFormat:w[x]}),g.attr({text:v.call(b,b)}),g.getBBox().width<e.getSlotWidth(t)-2*(l.padding||0))return;g.attr({text:""})}:t.shortenLabel=void 0,p&&e._addedPlotLB&&t.moveLabel(k,l),_(g)||t.movedLabel?g&&g.textStr!==k&&!p&&(!g.textWidth||l.style.width||g.styles.width||g.css({width:null}),g.attr({text:k}),g.textPxLength=g.getBBox().width):(t.label=g=t.createLabel(k,l),t.rotation=0)}createLabel(t,e,i){let s=this.axis,{renderer:o,styledMode:r}=s.chart,n=e.style.whiteSpace,a=_(t)&&e.enabled?o.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return a&&(r||a.css(tm(e.style)),a.textPxLength=a.getBBox().width,!r&&n&&a.css({whiteSpace:n})),a}destroy(){K(this,this.axis)}
4getPosition(t,e,i,s){let o=this.axis,r=o.chart,n=s&&r.oldChartHeight||r.chartHeight,a={x:t?Y(o.translate(e+i,void 0,void 0,s)+o.transB):o.left+o.offset+(o.opposite?(s&&r.oldChartWidth||r.chartWidth)-o.right-o.left:0),y:t?n-o.bottom+o.offset-(o.opposite?o.height:0):Y(n-o.translate(e+i,void 0,void 0,s)-o.transB)};return a.y=X(a.y,-1e9,1e9),te(this,"afterGetPosition",{pos:a}),a}getLabelPosition(t,e,i,s,o,r,n,a){let l,h,d=this.axis,c=d.transA,p=d.isLinked&&d.linkedParent?d.linkedParent.reversed:d.reversed,u=d.staggerLines,g=d.tickRotCorr||{x:0,y:0},f=s||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),m=o.distance,x={};return l=0===d.side?i.rotation?-m:-i.getBBox().height:2===d.side?g.y+m:Math.cos(i.rotation*eq)*(g.y-i.getBBox(!1,0).height/2),_(o.y)&&(l=0===d.side&&d.horiz?o.y+l:o.y),t=t+tk(o.x,[0,1,0,-1][d.side]*m)+f+g.x-(r&&s?r*c*(p?-1:1):0),e=e+l-(r&&!s?r*c*(p?1:-1):0),u&&(h=n/(a||1)%u,d.opposite&&(h=u-h-1),e+=h*(d.labelOffset/u)),x.x=t,x.y=Math.round(e),te(this,"afterGetLabelPosition",{pos:x,tickmarkOffset:r,index:n}),x}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e=this.axis,i=e.options.labels,s=t.x,o=e.chart.chartWidth,r=e.chart.spacing,n=tk(e.labelLeft,Math.min(e.pos,r[3])),a=tk(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,o-r[1])),l=this.label,h=this.rotation,d=ti(e.labelAlign||l.attr("align")),c=l.getBBox().width,p=e.getSlotWidth(this),u=p,g=1,f;h||"justify"!==i.overflow?h<0&&s-d*c<n?f=Math.round(s/Math.cos(h*eq)-n):h>0&&s+d*c>a&&(f=Math.round((o-s)/Math.cos(h*eq))):(s-d*c<n?u=t.x+u*(1-d)-n:s+(1-d)*c>a&&(u=a-t.x+u*d,g=-1),(u=Math.min(p,u))<p&&"center"===e.labelAlign&&(t.x+=g*(p-u-d*(p-Math.min(c,u)))),(c>u||e.autoRotation&&l?.styles?.width)&&(f=u)),f&&l&&(this.shortenLabel?this.shortenLabel():l.css(Q({},{width:Math.floor(f)+"px",lineClamp:+!e.isRadial})))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,n;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):ty(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(n=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,n),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,r=this.pos,n=tk(this.tickmarkOffset,s.tickmarkOffset),a=this.getPosition(o,r,n,e),l=a.x,h=a.y,d=s.pos,c=d+s.len,p=o?l:h,u=tk(i,this.label?.newOpacity,1);!s.chart.polar&&(Y(p)<d||p>c)&&(i=0),i??(i=1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(a,i),this.renderLabel(a,e,u,t),this.isNew=!1,te(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,n=this.type,a=tk(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,u=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,u=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=u),n||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+a,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,n=i.tickSize(r?r+"Tick":"tick"),a=t.x,l=t.y,h=tk(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;n&&(i.opposite&&(n[0]=-n[0]),!c&&(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(a,l,n[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,n=o.options,a=this.label,l=n.labels,h=l.step,d=tk(this.tickmarkOffset,o.tickmarkOffset),c=t.x,p=t.y,u=!0;a&&tc(c)&&(a.xy=t=this.getLabelPosition(c,p,a,r,l,d,s,h),(!this.isFirst||this.isLast||n.showFirstLabel)&&(!this.isLast||this.isFirst||n.showLastLabel)?r&&!e&&0!==i&&this.handleOverflow(t):u=!1,h&&s%h&&(u=!1),u&&tc(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0}
4,void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}let{animObject:eJ}=t2,{xAxis:eQ,yAxis:e0}=e_,{defaultOptions:e1}=tV,{registerEventOptions:e2}=eK,{deg2rad:e3}=R,e5=(t,e)=>tx(e,void 0,void 0,tk(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);Q(e1,{xAxis:eQ,yAxis:tm(eQ,e0)});class e6{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,te(this,"init",{userOptions:e}),this.opposite=tk(e.opposite,this.opposite),this.side=tk(e.side,this.side,o?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),te(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=tk(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=tu(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=_(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let a=tk(r.crosshair,tT(t.options.tooltip.crosshairs)[+!s]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),tB(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!_(this.reversed)&&(this.reversed=!0),this.labelRotation=tc(n.rotation)?n.rotation:void 0,e2(this,r),te(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:3},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=tm(e,"yAxis"===this.coll?{title:{text:this.chart.options.lang.yAxisTitle}}:{},e1[this.coll],t),te(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,e=this.chart,{numberFormatter:i}=e,s=tc(this.value)?this.value:NaN,o=t.chart.time,r=t.categories,n=this.dateTimeLabelFormat,a=e1.lang,l=a.numericSymbols,h=a.numericSymbolMagnitude||1e3,d=t.logarithmic?Math.abs(s):t.tickInterval,c=l?.length,p,u;if(r)u=`${this.value}`;else if(n)u=o.dateFormat(n,s,!0);else if(c&&l&&d>=1e3)for(;c--&&void 0===u;)d>=(p=Math.pow(h,c+1))&&10*s%p==0&&null!==l[c]&&0!==s&&(u=i(s/p,-1,void 0,void 0,e)+l[c]);return u??(u=i(s,-1,void 0,1e4>Math.abs(s)?"":void 0,e)),u}getSeriesExtremes(){let t,e=this;te(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,n,a;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.getColumn("x")).length&&(o=e.logarithmic?o.filter(t=>t>0):o,n=(t=i.getXExtremes(o)).min,a=t.max,tc(n)||n instanceof Date||(o=o.filter(tc),n=(t=i.getXExtremes(o)).min,a=t.max),o.length&&(e.dataMin=Math.min(tk(e.dataMin,n),n),e.dataMax=Math.max(tk(e.dataMax,a),a)));else{let t=i.applyExtremes();tc(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(tk(e.dataMin,n),n)),tc(t.dataMax)&&(a=t.dataMax,e.dataMax=Math.max(tk(e.dataMax,a),a)),_(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),te(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!tc(a))return NaN;let l=n.minPixelPadding,h=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&!!n.lin2val,d=1,c=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(d*=-1,c=n.len),n.reversed&&(d*=-1,c-=d*(n.sector||n.len)),e?(u=(t=t*d+c-l)/p+a,h&&(u=n.lin2val(u))):(h&&(t=n.val2lin(t)),u=d*(t-a)*p+c+d*l+(tc(r)?p*r:0),n.isRadial||(u=Y(u))),u}toPixels(t,e){return this.translate(this.chart?.time.parse(t)??NaN,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,n=t.value,a=t.lineWidth,l=r&&i.oldCh
vendor: 6,248 bytes, line 4
4artHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,m,x;function y(t,e,i){return"pass"!==p&&(t<e||t>i)&&(p?t=X(t,e,i):x=!0),t}let b={value:n,lineWidth:a,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return te(this,"getPlotLinePath",b,function(t){u=f=(c=X(c=tk(c,e.translate(n,void 0,void 0,r)),-1e9,1e9))+d,g=m=l-c-d,tc(c)?e.horiz?(g=o,m=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=y(u,s,s+e.width)):(u=s,f=h-e.right+(i.scrollablePixelsX||0),g=m=y(g,o,o+e.height)):(x=!0,p=!1),t.path=x&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,m]],a||1)}),b.path}getLinearTickPositions(t,e,i){let s,o,r,n=Y(Math.floor(e/t)*t),a=Y(Math.ceil(i/t)*t),l=[];if(Y(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(l.push(s),(s=Y(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?tk(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,n=this.brokenAxis?.hasBreaks?this.brokenAxis.unitLength:r-o,a=[],l;if(n&&n/i<this.len/3){let s=this.logarithmic;if(s)this.paddedTicks.forEach(function(t,e,o){e&&a.push.apply(a,s.getLogTickPositions(i,o[e-1],o[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())a=a.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==a[0];l+=i)a.push(l)}return 0!==a.length&&this.trimTicks(a),a}adjustForMinRange(){let t=this.options,e=this.logarithmic,i=this.chart.time,{max:s,min:o,minRange:r}=this,n,a,l,h;this.isXAxis&&void 0===r&&!e&&(r=_(t.min)||_(t.max)||_(t.floor)||_(t.ceiling)?null:Math.min(5*(ts(this.series.map(t=>{let e=t.getColumn("x");return t.xIncrement?e.slice(0,2):e}))||0),this.dataMax-this.dataMin)),tc(s)&&tc(o)&&tc(r)&&s-o<r&&(a=this.dataMax-this.dataMin>=r,n=(r-s+o)/2,l=[o-n,i.parse(t.min)??o-n],a&&(l[2]=e?e.log2lin(this.dataMin):this.dataMin),h=[(o=G(l))+r,i.parse(t.max)??o+r],a&&(h[2]=e?e.log2lin(this.dataMax):this.dataMax),(s=F(h))-o<r&&(l[0]=s-r,l[1]=i.parse(t.min)??s-r,o=G(l))),this.minRange=r,this.min=o,this.max=s}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange,o=t.getColumn("x");1===o.length?i.push(o[0]):t.sorted&&_(s)&&t.reserveSpace()&&(e=_(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=ts([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=tu(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,_(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):tk(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):tc(s)&&(o=s),void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max||0,e.dataTable.rowCount-1),e.processData(),e.generatePoints());let i=e.getColumn("x").slice();e.data.forEach((e,s)=>{let o=i[s];e?.options&&void 0!==e.name&&void 0!==(o=t.nameToX(e))&&o!==e.x&&(i[s]=e.x=o)}),e.dataTable.setColumn("x",i)}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,n,a=0,l=0,h,d=t.transA;(o||s||r)&&(n=t.getClosest(),i?(a=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?tk(e.options.pointRange,n,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;a=Math.max(a,t&&tp(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal?.slope&&n?t.ordinal.slope/n:1,t.minPointOffset=a*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&(t.closestPointRange=n)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*a,te(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return tc(t)&&tc(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:n,logarithmic:a,options:l,softThreshold:h}=this,d=i.time,c=tc(this.threshold)?this.threshold:void 0,p=this.minRange||0,{ceiling:u,floor:g,linkedTo:f,softMax:m,softMin:x}=l,y=tc(f)&&i[this.coll]?.[f],b=l.tickPixelInterval,v=l.maxPadding,k=l.minPadding,w=0,M,S=tc(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,C,A,T,P;if(r||e||y||this.getTickAmount(),T=tk(this.userMin,d.parse(l.min)),P=tk(this.userMax,d.parse(l.max)),y?(this.linkedParent=y,M=y.getExtremes(),this.min=tk(M.min,M.dataMin),this.max=tk(M.max,M.dataMax),this.type!==y.type&&tI(11,!0,i)):(h&&_(c)&&tc(s)&&tc(o)&&(o>=c?(C=c,k=0):s<=c&&(A=c,v=0)),this.min=tk(T,C,o),this.max=tk(P,A,s)),tc(this.max)&&tc(this.min)&&(a&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,tk(o,this.min))&&tI(10,!0,i),this.min=Y(a.log2lin(this.min),16),this.max=Y(a.log2lin(this.max),16)),this.range&&tc(o)&&(this.userMin=this.min=T=Math.max(o,this.minFromRange()||0),this.userMax=P=this.max,this.range=void 0)),te(this,"foundExtremes"),this.adjustForMinRange(),tc(this.min)&&tc(this.max)){if(!tc(this.userMin)&&tc(x)&&x<this.min&&(this.min=T=x),!tc(this.userMax)&&tc(m)&&m>this.max&&(this.max=P=m),e||this.axisPointRange||this.stacking?.usePercentage||y||(w=this.max-this.min)&&(!_(T)&&k&&(this.min-=w*k),!_(P)&&v&&(this.max+=w*v)),!tc(this.userMin)&&tc(g)&&(this.min=Math.max(this.min,g)),!tc(this.userMax)&&tc(u)&&(this.max=Math.min(this.max,u)),h&&tc(o)&&tc(s)){let t=c||0;!_(T)&&this.min<t&&o>=t?this.min=l.minRange?Math.min(t,this.max-p):t:!_(P)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+p):t)}!i.polar&&this.min>this.max&&(_(l.min)?this.max=this.min:_(l.max)&&(this.min=this.max)),w=this.max-this.min}if(this.min!==this.max&&tc(this.min)&&tc(this.max)?y&&!S&&b===y.options.tickPixelInterval?this.tickInterval=S=y.tickInterval:this.tickInterval=tk(S,this.tickAmount?w/Math.max(this.tickAmount-1,1):void 0,e?1:w*b/Math.max(this.len,b)):this.tickInterval=1,n&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;
vendor: 8,866 bytes, line 4
4this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),te(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),te(this,"initialAxisTranslation"),this.pointRange&&!S&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let O=tk(l.minTickInterval,r&&!this.series.some(t=>!t.sorted)?this.closestPointRange:0);!S&&O&&this.tickInterval<O&&(this.tickInterval=O),r||a||S||(this.tickInterval=e5(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,n=o&&t.endOnTick,a=[],l;if(this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&_(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==t.allowDecimals),e)a=e.slice();else if(tc(this.min)&&tc(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))a=[this.min,this.max],tI(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount)this.tickInterval=e5(this,e*=1.1);else break}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),i&&(this.tickPositions=a,(l=i.apply(this,[this.min,this.max,this]))&&(a=l))}this.isDirty||a.length===this.tickPositions?.length||(this.isDirty=!0),this.tickPositions=a,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=a.slice(0),this.trimTicks(a,r,n),!this.isLinked&&tc(this.min)&&tc(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),te(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(te(this,"trimTicks"),!this.isLinked||!this.grid){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&_(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,n="yAxis"===this.coll&&r.alignThresholds,a=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||n)&&!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:n}=i;n.length&&n.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&n){s.forEach(t=>{let i=t.getThresholdAlignment(e);tc(i)&&a.push(i)});let t=a.length>1?a.reduce((t,e)=>t+=e,0)/a.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!tc(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData||t.xAxis?.isDirty))&&this.getSeriesExtremes(),tc(this.threshold)){let t=X((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;_(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:n,thresholdAlignment:a}=t,l=r?.length,h=tk(t.threshold,t.softThreshold?0:null),d,c,p=t.tickInterval,u,g=()=>r.push(Y(r[r.length-1]+p)),f=()=>r.unshift(Y(r[0]-p));if(tc(a)&&(u=0===a?0:1===a?n-1:Math.round(X(a*(n-1),1,n-2)),o.reversed&&(u=n-1-u)),t.hasData()&&tc(s)&&tc(i)){let a=()=>{t.transA*=(l-1)/(n-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(tc(u)&&tc(t.threshold)){for(;r[u]!==h||r.length!==n||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<n;)void 0===r[u]||r[u]>t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}a()}else if(l<n){for(;r.length<n;)r.length%2||s===h?g():f();a()}if(_(e)){for(c=d=r.length;c--;)(3===e&&c%2==1||e<=2&&c>0&&c<d-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis?.isDirty||!1}),this.setAxisSize();let o=this.len!==this.old?.len;o||i||s||this.isLinked||this.forceRedraw||this.userMin!==this.old?.userMin||this.userMax!==this.old?.userMax||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,te(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){let r=this.chart;this.series.forEach(t=>{delete t.kdTree}),t=r.time.parse(t),e=r.time.parse(e),te(this,"setExtremes",o=Q(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&r.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(tS(tk(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(tS(tk(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(tS(tk(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(tS(tk(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:r,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?Y(t.lin2log(this.min)):this.min,max:t?Y(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=((t-90*this.side)%360+360)%360,i={align:"center"};return te(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=tk(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return te(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/((+!!this.categories+this.max-this.min)/s),r=t.rotation,n=Y(.8*this.labelMetrics().h),a=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>a&&t!==1/0&&o!==1/0&&a&&(i=Math.ceil(a/s)),Y(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(tc(r)?p=[r]:o<t.autoRotationLimit&&(p=t.autoRotation)),p){let t,e;for(let i of p)(i===r||i&&i>=-90&&i<=90)&&(e=(t=l(Math.abs(n/Math.sin(e3*i))))+Math.abs(i/360))<c&&(c=e,d=i,h=t)}}else h=l(.75*n);return this.autoRotation=p,this.labelRotation=tk(d,tc(r)?r:0),t.step?s:h}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&tc(t.slotWidth))return t.slotWidth;if(i&&s.step<2&&!this.isRadial)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(!this.opposite&&r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,n=this.horiz,a=this.getSlotWidth(),l=Math.max(1,Math.round(a-(n?2*(o.padding||0):o.distance||0))),h={},d=this.labelMetrics(),c=r.lineClamp,p,u=c??(Math.floor(this.len/(i.length*d.h))||1),g=0;tp(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){let e=s[t];e.movedLabel&&e.replaceMovedLabel();let i=e.label?.textPxLength||0;i>g&&(g=i)}),this.maxLabelLength=g,this.autoRotation?g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0:a&&(p=l),h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u=1)),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation||0),this.labelAlign&&(h.align=this.labelAlign),i.forEac
4h(function(t){let e=s[t],i=e?.label,o=r.width,n={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<(i.textPxLength||0)||"SPAN"===i.element.tagName)?i.css(Q(n,{width:`${p}px`,lineClamp:u})):!i.styles.width||n.width||o||i.css({width:"auto"}),e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&_(this.min)&&_(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,n=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),n||this.axisTitle.css(tm(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),n||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new eZ(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,n)=>o.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:n,coll:a}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=tc(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,y,b=0,v=0,k,w;if(t.showAxis=m=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(n.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,tk(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&n.forEach(function(t){v=Math.max(r[t].getLabelSize(),v)}),t.staggerLines&&(v*=t.staggerLines),t.labelOffset=v*(t.opposite?-1:1)):ty(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],b=_(y=d.offset)?0:tk(d.margin,i?5:10))),t.renderLine(),t.offset=f*tk(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},w=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,k=Math.abs(v)+b,v&&(k-=w,k+=f*(i?tk(c.y,t.tickRotCorr.y+f*c.distance):tk(c.x,f*c.distance))),t.axisTitleMargin=tk(y,k),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,n)),"colorAxis"!==a&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,k,n?.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}te(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,n=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?n:this.top],["L",o?e.chartWidth-this.right:r,o?n:e.chartHeight-this.bottom]],t)}renderLine(){!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(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,n=e?i:s,a=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:n+(e?0:o),middle:n+o/2,high:n+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+d-(a?this.height:0)+l:u+d};return te(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new eZ(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
4renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid?.isColumn)&&(o[t]||(o[t]=new eZ(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,r=s.renderer,n=i.options,a=i.isLinked,l=i.tickPositions,h=i.axisTitle,d=i.ticks,c=i.minorTicks,p=i.alternateBands,u=n.stackLabels,g=n.alternateGridColor,f=n.crossing,m=i.tickmarkOffset,x=i.axisLine,y=i.showAxis,b=eJ(r.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[d,c,p].forEach(function(t){ty(t,function(t){t.isActive=!1})}),tc(f)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(f,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||a){let r=i.chart.hasRendered&&i.old&&tc(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,r)}),l.length&&(l.forEach(function(t,e){i.renderTick(t,e,r)}),m&&(0===i.min||i.single)&&(d[-1]||(d[-1]=new eZ(i,-1,null,!0)),d[-1].render(-1))),g&&l.forEach(function(r,n){e=void 0!==l[n+1]?l[n+1]+m:i.max-m,n%2==0&&r<i.max&&e<=i.max+(s.polar?-m:m)&&(p[r]||(p[r]=new R.PlotLineOrBand(i,{})),t=r+m,p[r].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:g,className:"highcharts-alternate-grid"},p[r].render(),p[r].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(n.plotLines||[]).concat(n.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[d,c,p].forEach(function(t){let e=[],i=b.duration;ty(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),tO(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==p&&s.hasRendered&&i?i:0)}),x&&(x[x.isPlaced?"animate":"attr"]({d:this.getLinePath(x.strokeWidth())}),x.isPlaced=!0,x[y?"show":"hide"](y)),h&&y&&(h[h.isNew?"attr":"animate"](i.getTitlePosition(h)),h.isNew=!1),u?.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,te(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||e6.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(te(this,"destroy",{keepEvents:t}),t||tA(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){K(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();ty(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let i,s,o,r,n=this.crosshair,a=n?.snap??!0,l=this.chart,h=this.cross;if(te(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross?.e),n&&!1!==(_(e)||!a)){if(clearTimeout(this.crossShowTimer),a?_(e)&&(s=tk("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):s=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),_(s)&&(r={value:e&&(this.isXAxis?e.x:tk(e.stackY,e.y)),translatedValue:s},l.polar&&Q(r,{isCrosshair:!0,chartX:t?.chartX,chartY:t?.chartY,point:e}),i=this.getPlotLinePath(r)||null),!_(i))return void this.hideCrosshair();o=this.categories&&!this.isRadial,this.crossShowTimer=tO(()=>{let e=this.cross;e||(this.cross=e=l.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(o?"category ":"thin ")+(n.className||"")).attr({zIndex:tk(n.zIndex,2)}).add(),!l.styledMode&&(e.attr({stroke:n.color||(o?tq.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":tk(n.width,1)}).css({"pointer-events":"none"}),n.dashStyle&&e.attr({dashstyle:n.dashStyle}))),e.show().animate({d:i},eJ(n?.animation)),o&&!n.width&&e.attr({"stroke-width":this.transA}),this.cross&&(this.cross.e=t)},(!h||"hidden"===h.attr("visibility"))&&n.showDelay||0)}else this.hideCrosshair();te(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){clearTimeout(this.crossShowTimer),this.cross&&this.cross.hide(),te(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=tm(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,tk(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);J(e.axes,this),J(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,tk(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}e6.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],!function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function i(){if("datetime"!==this.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new s(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,H(t,"afterSetType",i)),t};class s{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["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]],s=i[i.length-1],o=tN[s[0]],r=s[1],n,a;for(n=0;n<i.length;n++)if(o=tN[(s=i[n])[0]],r=s[1],i[n+1]){let e=(o*r[r.length-1]+tN[i[n+1][0]])/2;
4if(t<=e){a=e/t;break}}o===tN.year&&t<5*o&&(r=[1,2,5]);let l=tx(t/o,r,"year"===s[0]?Math.max(to(t/o),1):1);return{unitRange:o,count:l,unitName:s[0],match:a}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=s}(M||(M={}));let e9=M;!function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new s(this))}function i(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),H(t,"afterSetType",e),H(t,"afterInit",i)),t};class s{constructor(t){this.axis=t}getLogTickPositions(t,e,i,s){let o=this.axis,r=o.len,n=o.options,a=[];if(s||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),a=o.getLinearTickPositions(t,e,i);else if(t>=.08){let o,r,n,l,h,d,c,p=Math.floor(e);for(o=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=p;r<i+1&&!c;r++)for(l=o.length,n=0;n<l&&!c;n++)(h=this.log2lin(this.lin2log(r)*o[n]))>e&&(!s||d<=i)&&void 0!==d&&a.push(d),d>i&&(c=!0),d=h}else{let l=this.lin2log(e),h=this.lin2log(i),d=s?o.getMinorTickInterval():n.tickInterval,c=n.tickPixelInterval/(s?5:1),p=s?r/o.tickPositions.length:r;t=tx(t=tk("auto"===d?null:d,this.minorAutoInterval,(h-l)*c/(p||1))),a=o.getLinearTickPositions(t,l,h).map(this.log2lin),s||(this.minorAutoInterval=t/5)}return s||(o.tickInterval=t),a}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=s}(S||(S={}));let e4=S;!function(t){let e;function i(t){return this.addPlotBandOrLine(t,"plotBands")}function s(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function o(t){return this.addPlotBandOrLine(t,"plotLines")}function r(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),o=[],r=this.horiz,n=!tc(this.min)||!tc(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,a=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),l,h=1,d;if(a&&s)for(n&&(d=a.toString()===s.toString(),h=0),l=0;l<a.length;l+=2){let t=a[l],e=a[l+1],i=s[l],n=s[l+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===n[0]||"L"===n[0])&&(r&&i[1]===t[1]?(i[1]+=h,n[1]+=h):r||i[2]!==t[2]||(i[2]+=h,n[2]+=h),o.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",n[1],n[2]],["L",i[1],i[2]],["Z"])),o.isFlat=d}return o}function n(t){this.removePlotBandOrLine(t)}function a(t){let e=this.plotLinesAndBands,i=this.options,s=this.userOptions;if(e){let o=e.length;for(;o--;)e[o].id===t&&e[o].destroy();[i.plotLines||[],s.plotLines||[],i.plotBands||[],s.plotBands||[]].forEach(function(e){for(o=e.length;o--;)e[o]?.id===t&&J(e,e[o])})}}function l(t){this.removePlotBandOrLine(t)}t.compose=function(t,h){let d=h.prototype;return d.addPlotBand||(e=t,Q(d,{addPlotBand:i,addPlotLine:o,addPlotBandOrLine:s,getPlotBandPath:r,removePlotBand:n,removePlotLine:l,removePlotBandOrLine:a})),h}}(C||(C={}));let e8=C;class e7{static compose(t,e){return H(t,"afterInit",function(){this.labelCollectors.push(()=>{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),e8.compose(e7,e)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}render(){te(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:r,zIndex:n=0}=e,{renderer:a,time:l}=t.chart,h={},d=l.parse(e.to),c=l.parse(e.from),p=l.parse(e.value),u=e.borderWidth,g=e.label,{label:f,svgElem:m}=this,x=[],y,b=_(c)&&_(d),v=_(p),k=!m,w={class:"highcharts-plot-"+(b?"band ":"line ")+(e.className||"")},M=b?"bands":"lines";if(!t.chart.styledMode&&(v?(w.stroke=o||"#999999",w["stroke-width"]=tk(e.width,1),e.dashStyle&&(w.dashstyle=e.dashStyle)):b&&(w.fill=o||"#e6e9ff",u&&(w.stroke=e.borderColor,w["stroke-width"]=u))),h.zIndex=n,M+="-"+n,(y=t.plotLinesAndBandsGroups[M])||(t.plotLinesAndBandsGroups[M]=y=a.g("plot-"+M).attr(h).add()),m||(this.svgElem=m=a.path().attr(w).add(y)),_(p))x=t.getPlotLinePath({value:s?.log2lin(p)??p,lineWidth:m.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(_(c)&&_(d)))return;x=t.getPlotBandPath(s?.log2lin(c)??c,s?.log2lin(d)??d,e)}return!this.eventsAdded&&r&&(ty(r,(t,e)=>{m?.on(e,t=>{r[e].apply(this,[t,this])})}),this.eventsAdded=!0),(k||!m.d)&&x?.length?m.attr({d:x}):m&&(x?(m.show(),m.animate({d:x})):m.d&&(m.hide(),f&&(this.label=f=f.destroy()))),g&&(_(g.text)||_(g.formatter))&&x?.length&&t.width>0&&t.height>0&&!x.isFlat?(g=tm({align:i&&b?"center":void 0,x:i?!b&&4:10,verticalAlign:!i&&b?"middle":void 0,y:i?b?16:10:b?6:-4,rotation:i&&!b?90:0,...b?{inside:!0}:{}},g),this.renderLabel(g,x,b,n)):f&&f.hide(),this}renderLabel(t,e,i,s){let o=this.axis,r=o.chart.renderer,n=t.inside,a=this.label;a||(this.label=a=r.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:s}),o.chart.styledMode||a.css(tm({color:o.chart.options.title?.style?.color,fontSize:"0.8em",textOverflow:i&&!n?"":"ellipsis"},t.style)),a.add());let l=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],h=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],d=F(l),c=F(h),p=G(l)-d;a.align(t,!1,{x:d,y:c,width:p,height:G(h)-c}),a.alignAttr.y-=r.fontMetrics(a).b,(!a.alignValue||"left"===a.alignValue||_(n))&&a.css({width:(t.style?.width||(i&&n?p:90===a.rotation?o.height-(a.alignAttr.y-o.top):(t.clip?o.width+o.left:o.chart.chartWidth)-a.alignAttr.x))+"px"}),a.show(!0)}getLabelText(t){return _(t.formatter)?t.formatter.call(this,this):t.text}destroy(){J(this.axis.plotLinesAndBands,this),delete this.axis,K(this)}}let{animObject:it}=t2,{format:ie}=en,{composed:ii,dateFormats:is,doc:io,isSafari:ir}=R,{distribute:ia}=el,il=t=>{clearTimeout(t.hideTimer),clearTimeout(t.showTimer)};class ih{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(t=>{let e=t.series.tooltipOptions,i=t.formatPrefix||"point";return(e[i+"Formatter"]||t.tooltipFormatter).call(t,e[i+"Format"]||"",t)})}
vendor: 4,497 bytes, line 4
4cleanSplit(t){this.chart.series.forEach(function(e){let i=e?.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||tT(this);return(e=(e=[t.headerFooterFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.headerFooterFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),q(this.container)),tl(this.hideTimer),il(this)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if(t=tT(t),t[0].series?.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-a,o-n]}let l={point:t[0],ret:i};return te(this,"getAnchor",l),l.ret.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+tk(t.colorIndex,o.colorIndex),r?.className].filter(tp).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let i=this,s=this.chart.styledMode,o=this.options,r=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!r&&t||r&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart,e=t.options.chart.style,i=ea.getRendererType();this.container=n=R.doc.createElement("div"),n.className="highcharts-tooltip-container "+(t.renderTo.className.match(/(highcharts[a-zA-Z0-9-]+)\s?/gm)||""),$(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(e?.zIndex||0)+3)}),this.renderer=a=new i(n,0,0,e,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",t,e,o.shape||"callout",void 0,void 0,o.useHTML,void 0,"tooltip").attr({padding:o.padding,r:o.borderRadius}),s||this.label.attr({fill:o.backgroundColor,"stroke-width":o.borderWidth||0}).css(o.style).css({pointerEvents:o.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),i.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,s)=>{t[s?"ySetter":"xSetter"]=o=>{e.call(t,i.distance),t[s?"y":"x"]=o,n&&(n.style[s?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(o.shadow??!o.fixed).add()}return n&&!n.parentElement&&R.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=io,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s-2:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:n}=this,{inverted:a,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=a&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=n.getChartPosition(),y=i=>{let n="x"===i;return[i,n?m:f,n?t:e].concat(r?[n?t*x.scaleX:e*x.scaleY,n?x.left-s+(c+l)*x.scaleX:x.top-s+(p+h)*x.scaleY,0,n?m:f]:[n?t:e,n?c+l:p+h,n?l:h,n?l+o.plotWidth:h+o.plotHeight])},b=y("y"),v=y("x"),k,w=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(w=!w);let M=!this.followPointer&&tk(i.ttBelow,!d&&!a===w),S=function(t,e,i,o,n,a,l){let h=r?"y"===t?s*x.scaleY:s*x.scaleX:s,d=(i-o)/2,c=o<n-s,p=n+s+o<e,f=n-h-i+d,m=n+h-d;if(M&&p)u[t]=m;else if(!M&&c)u[t]=f;else if(c)u[t]=Math.min(l-o,f-g<0?f:f-g);else{if(!p)return u[t]=0,!1;u[t]=Math.max(a,m+g+i>e?m:m+g)}},C=function(t,e,i,o,r){if(r<s||r>e-s)return!1;r<i/2?u[t]=1:r>e-o/2?u[t]=e-o-2:u[t]=r-i/2},A=function(t){[b,v]=[v,b],k=t},T=()=>{!1!==S.apply(0,b)?!1!==C.apply(0,v)||k||(A(!0),T()):k?u.x=u.y=0:(A(!0),T())};return(a&&!d||this.len>1)&&A(),T(),r&&(u.x-=x.left,u.y-=x.top),u}getFixedPosition(t,e,i){let s=i.series,{chart:o,options:r,split:n}=this,a=r.position,l=a.relativeTo,h=r.shared||s?.yAxis?.isRadial&&("pane"===l||!l)?"plotBox":l,d="chart"===h?o.renderer:o[h]||o.getClipBox(s,!0);return{x:d.x+(d.width-t)*ti(a.align)+a.x,y:d.y+(d.height-e)*ti(a.verticalAlign)+(!n&&a.y||0)}}hide(t){let e=this;il(this),t=tk(t,this.options.hideDelay),this.isHidden||(this.hideTimer=tO(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
vendor: 4,483 bytes, line 4
4,{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=tk(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let{followPointer:o,options:r}=this,n=it(!o&&!this.isHidden&&!r.fixed&&r.animation),a=o||(this.len||0)>1,l={x:t,y:e};a?l.anchorX=l.anchorY=NaN:(l.anchorX=i,l.anchorY=s),n.step=()=>this.drawTracker(),this.getLabel().animate(l,n)}refresh(t,e){let i=this,{chart:s,options:o,pointer:r,shared:n}=this,a=tT(t),l=a[0],h=o.format,d=o.formatter||i.defaultFormatter,c=s.styledMode,p=i.allowShared;if(!o.enabled||!l.series)return;il(this),i.allowShared=!(!tu(t)&&t.series&&t.series.noSharedTooltip),p=p&&!i.allowShared,i.followPointer=!i.split&&l.series.tooltipOptions.followPointer;let u=i.getAnchor(t,e),g=u[0],f=u[1];n&&i.allowShared&&(r.applyInactiveState(a),a.forEach(t=>t.setState("hover")),l.points=a),this.len=a.length;let m=tp(h)?ie(h,l,s):d.call(l,i,l);l.points=void 0;let x=l.series;this.distance=tk(x.tooltipOptions.distance,16),!1===m?this.hide():this.showTimer=tO(()=>{if(i.split&&i.allowShared)i.renderSplit(m,a);else{let t=g,n=f;if(e&&r.isDirectTouch&&(t=e.chartX-s.plotLeft,n=e.chartY-s.plotTop),!(s.polar||!1===x.options.clip||a.some(e=>r.isDirectTouch||e.series.shouldShowTooltip(t,n))))return void i.hide();{let t=i.getLabel(p&&i.tt||{});(!o.style.width||c)&&t.css({width:(this.outside?this.getPlayingField():s.spacingBox).width-2*o.padding+"px"}),t.attr({class:i.getClassName(l),text:tu(m)?m.join(""):m}),this.outside&&t.attr({x:X(t.x||0,0,this.getPlayingField().width-(t.width||0)-1)}),c||t.attr({stroke:o.borderColor||l.color||x.color||"#666666"}),i.updatePosition({plotX:g,plotY:f,negative:l.negative,ttBelow:l.ttBelow,series:x,h:u[2]||0})}}i.isHidden&&i.label&&i.label.attr({opacity:1}).show(),i.isHidden=!1},i.isHidden&&o.showDelay||0),te(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:d,styledMode:c},distance:p,options:u,options:{fixed:g,position:f,positioner:m},pointer:x}=i,{scrollLeft:y=0,scrollTop:b=0}=s.scrollablePlotArea?.scrollingContainer||{},v=i.outside&&"number"!=typeof d?io.documentElement.getBoundingClientRect():{left:y,right:y+o,top:b,bottom:b+r},k=i.getLabel(),w=this.renderer||s.renderer,M=!!s.xAxis[0]?.opposite,{left:S,top:C}=x.getChartPosition(),A=m||g,T=l+b,P=0,O=n-h,L=function(t,e,s,o,r=[0,0],n=!0){let a,l;if(s.isHeader)l=M?0:O,a=X(r[0]-t/2,v.left,v.right-t-(i.outside?S:0));else if(g&&s){let o=i.getFixedPosition(t,e,s);a=o.x,l=o.y-T}else l=r[1]-T,a=X(a=n?r[0]-t-p:r[0]+p,n?a:v.left,v.right);return{x:a,y:l}};tp(t)&&(t=[!1,t]);let E=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},h=r.isHeader,d=h?i:r.series,f=d.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e,a=n.tooltipOptions||u;if(!o){let t={padding:a.padding,r:a.borderRadius};c||(t.fill=a.backgroundColor,t["stroke-width"]=a.borderWidth??(g&&!r?0:1)),o=w.label("",0,0,a[r?"headerShape":"shape"]||(g&&!r?"rect":"callout"),void 0,void 0,a.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(k)}return o.isActive=!0,o.attr({text:s}),c||o.css(a.style).attr({stroke:a.borderColor||e.color||n.color||"#333333"}),o}(d.tt,r,s.toString()),x=f.getBBox(),y=x.width+f.strokeWidth();h&&(P=x.height,O+=P,M&&(T-=P));let{anchorX:b,anchorY:S}=function(t){let e,i,{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(a+o,a),i=l+n/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+X(o,-p,t.len+p),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=X(e,v.left-p,v.right+p),anchorY:i}}(r);if("number"==typeof S){let e=x.height+1,s=(m||L).call(i,y,e,r,i,[b,S]);t.push({align:A?0:void 0,anchorX:b,anchorY:S,boxWidth:y,point:r,rank:tk(s.rank,+!!h),size:e,target:s.y,tt:f,x:s.x})}else f.isActive=!1}return t},[]);!A&&E.some(t=>{let{outside:e}=i,s=(e?S:0)+t.anchorX;return s<v.left&&s+t.boxWidth<v.right||s<S-v.left+t.boxWidth&&v.right-s>s})&&(E=E.map(t=>{let{x:e,y:i}=L.call(this,t.boxWidth,t.size,t.point,void 0,[t.anchorX,t.anchorY],!1);return Q(t,{target:i,x:e})})),i.cleanSplit(),ia(E,O);let D={left:S,right:S};
4E.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&S+e<D.left&&(D.left=S+e),!o&&i.outside&&D.left+s>D.right&&(D.right=S+e))}),E.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:n}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+T+(g&&f.y||0),anchorX:s,anchorY:o};if(i.outside&&e<s){let t=S-D.left;t>0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(D.right-D.left)/2,a.anchorX=s+t))}t.tt.attr(a)});let{container:I,outside:B,renderer:N}=i;if(B&&I&&N){let{width:t,height:e,x:i,y:s}=k.getBBox();N.setSize(t+i,e+s,!1),I.style.left=D.left+"px",I.style.top=C+"px"}ir&&k.attr({opacity:1===k.opacity?.999:1})}drawTracker(){let t=this;if(!this.shouldStickOnContact()){t.tracker&&(t.tracker=t.tracker.destroy());return}let e=t.chart,i=t.label,s=t.shared?e.hoverPoints:e.hoverPoint;if(!i||!s)return;let o={x:0,y:0,width:0,height:0},r=this.getAnchor(s),n=i.getBBox();r[0]+=e.plotLeft-(i.translateX||0),r[1]+=e.plotTop-(i.translateY||0),o.x=Math.min(0,r[0]),o.y=Math.min(0,r[1]),o.width=r[0]<0?Math.max(Math.abs(r[0]),n.width-r[0]):Math.max(Math.abs(r[0]),n.width),o.height=r[1]<0?Math.max(Math.abs(r[1]),n.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),n.height),t.tracker?t.tracker.attr(o):(t.tracker=i.renderer.rect(o).addClass("highcharts-tracker").add(i),H(t.tracker.element,"mouseenter",()=>il(t)),e.styledMode||t.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}headerFooterFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o?.dateTime,n={isFooter:e,point:t},a=s.xDateFormat||"",l=s[e?"footerFormat":"headerFormat"];return te(this,"headerFormatter",n,function(e){if(r&&!a&&tc(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a){if(tf(a)){let t=a;is[0]=e=>i.chart.time.dateFormat(t,e),a="%0"}
4(t.tooltipDateKeys||["key"]).forEach(t=>{l=l.replace(RegExp("point\\."+t+"([ \\)}])"),`(point.${t}:${a})$1`)})}i.chart.styledMode&&(l=this.styledModeFormat(l)),e.text=ie(l,t,this.chart)}),n.text||""}update(t){this.destroy(),this.init(this.chart,tm(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:n}=this,{height:a=0,width:l=0}=this.getLabel(),{fixed:h,positioner:d}=o,{left:c,top:p,scaleX:u,scaleY:g}=r.getChartPosition(),f=(d||h&&this.getFixedPosition||this.getPosition).call(this,l,a,t,this),m=R.doc,x=(t.plotX||0)+e.plotLeft,y=(t.plotY||0)+e.plotTop,b;if(n&&i){let{scrollLeft:t=0,scrollTop:r=0}=e.scrollablePlotArea?.scrollingContainer||{};f.x+=t+c,f.y+=r+p,b=(o.borderWidth||0)+2*s+2,n.setSize(X(l+b,0,m.documentElement.clientWidth)-1,a+b,!1),(1!==u||1!==g)&&($(i,{transform:`scale(${u}, ${g})`}),x*=u,y*=g),x+=c-f.x,y+=p-f.y}this.move(Math.round(f.x),Math.round(f.y||0),x,y)}}(p=ih||(ih={})).compose=function(t){tM(ii,"Core.Tooltip")&&H(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new p(t,t.options.tooltip,this))})};let id=ih,{animObject:ic}=t2,{defaultOptions:ip}=tV,{format:iu}=en;class ig{constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.point=this,this.series=t,this.applyOptions(e,i),this.id??(this.id=tR()),this.resolveColor(),this.dataLabelOnNull??(this.dataLabelOnNull=t.options.nullInteraction),t.chart.pointCount++,this.category=t.xAxis?.categories?.[this.x]??this.x,this.key=this.name??this.category,te(this,"afterInit")}animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(Q({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return Q(this,t=ig.prototype.optionsToObject.call(this,t)),this.options?this.options=i.chart.options.chart.allowMutatingData?Q(this.options,t):tm(this.options,t):this.options=t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=ig.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():tc(t.x)&&i.options.relativeXValue?this.x=i.autoIncrement(t.x):"string"==typeof this.x&&(e??(e=i.chart.time.parse(this.x)),tc(e)&&(this.x=e)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,r=ic(t.series.chart.renderer.globalAnimation),n=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(tA(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),J(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s?.enabled?(this.animateBeforeDestroy(),tO(n,r.duration)):n(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t?.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),te(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative&&!1!==this.series.options.negativeColor?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone?.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getNestedProperty(t){if(t)return 0===t.indexOf("custom.")?tr(t,this.options):this[t]}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s?.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}isValid(){return(tc(this.x)||this.x instanceof Date)&&tc(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},n,a=0,l=0;if(tc(t)||null===t)r[s[0]]=t;else if(tu(t))for(!i&&t.length>
4o&&("string"==(n=typeof t[0])?e.xAxis?.dateTime?r.x=e.chart.time.parse(t[0]):r.name=t[0]:"number"===n&&(r.x=t[0]),a++);l<o;)i&&void 0===t[a]||(s[l].indexOf(".")>0?ig.prototype.setNestedProperty(r,t[a],s[l]):r[s[l]]=t[a]),a++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,l=0;if(tc(i)&&tc(e))return t&&(a=r?r.pos:o.plotLeft,l=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,n;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=tk(this.options.colorIndex,n),this.color=tk(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:tf(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let{chart:e,pointArrayMap:i=["y"],tooltipOptions:s}=this.series,{valueDecimals:o="",valuePrefix:r="",valueSuffix:n=""}=s;return e.styledMode&&(t=e.tooltip?.styledModeFormat(t)||t),i.forEach(e=>{e="{point."+e,(r||n)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+n)),t=t.replace(RegExp(e+"}","g"),e+":,."+o+"f}")}),iu(t,this,e)}update(t,e,i,s){let o,r=this,n=r.series,a=r.graphic,l=n.chart,h=n.options,d=h.data;function c(){r.applyOptions(t);let s=a&&r.hasMockGraphic,c=null===r.y?!s:s;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),tf(t,!0)&&(a?.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index;let p={};for(let t of n.dataColumnKeys())p[t]=r[t];n.dataTable.setRow(p,o),d&&!n.processedData&&(d[o]=tf(d[o],!0)||tf(t,!0)?r.options:t??d[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=tk(e,!0),!1===s?c():r.firePointEvent("update",{options:t},c)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=tk(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
vendor: 4,569 bytes, line 4
4h(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=tm(this.series.options.point,this.options),i=e.events?.[t];tg(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=H(this,t,i),this.hcEvents&&(this.hcEvents[t].userEvent=!0)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&this.hcEvents?.[t].userEvent&&(tA(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(t,e){let i=this.series,s=this.state,o=i.options.states[t||"normal"]||{},r=ip.plotOptions[i.type].marker&&i.options.marker,n=r&&!1===r.enabled,a=r?.states?.[t||"normal"]||{},l=!1===a.enabled,h=this.marker||{},d=i.chart,c=r&&i.markerAttribs,p=i.halo,u,g,f,m=i.stateMarkerGraphic,x;if((t=t||"")===this.state&&!e||this.selected&&"select"!==t||!1===o.enabled||t&&(l||n&&!1===a.enabled)||t&&h.states&&h.states[t]&&!1===h.states[t].enabled)return;if(this.state=t,c&&(u=i.markerAttribs(this,t)),this.graphic&&!this.hasMockGraphic){if(s&&this.graphic.removeClass("highcharts-point-"+s),t&&this.graphic.addClass("highcharts-point-"+t),!d.styledMode){g=i.pointAttribs(this,t),f=tk(d.options.chart.animation,o.animation);let e=g.opacity;i.options.inactiveOtherPoints&&tc(e)&&(this.dataLabels||[]).forEach(function(t){t&&!t.hasClass("highcharts-data-label-hidden")&&(t.animate({opacity:e},f),t.connector&&t.connector.animate({opacity:e},f))}),this.graphic.animate(g,f)}u&&this.graphic.animate(u,tk(d.options.chart.animation,a.animation,r.animation)),m&&m.hide()}else t&&a&&(x=h.symbol||i.symbol,m&&m.currentSymbol!==x&&(m=m.destroy()),u&&(m?m[e?"animate":"attr"]({x:u.x,y:u.y}):x&&(i.stateMarkerGraphic=m=d.renderer.symbol(x,u.x,u.y,u.width,u.height,tm(r,a)).add(i.markerGroup),m.currentSymbol=x)),!d.styledMode&&m&&"inactive"!==this.state&&m.attr(i.pointAttribs(this,t))),m&&(m[t&&this.isInside?"show":"hide"](),m.element.point=this,m.addClass(this.getClassName(),!0));let y=o.halo,b=this.graphic||m,v=b?.visibility||"inherit";y?.size&&b&&"hidden"!==v&&!this.isCluster?(p||(i.halo=p=d.renderer.path().add(b.parentGroup)),p.show()[e?"animate":"attr"]({d:this.haloPath(y.size)}),p.attr({class:"highcharts-halo highcharts-color-"+tk(this.colorIndex,i.colorIndex)+(this.className?" "+this.className:""),visibility:v,zIndex:-1}),p.point=this,d.styledMode||p.attr(Q({fill:this.color||i.color,"fill-opacity":y.opacity},t8.filterUserAttributes(y.attributes||{})))):p?.point?.haloPath&&!p.point.destroyed&&p.animate({d:p.point.haloPath(0)},null,p.hide),te(this,"afterSetState",{state:t})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(V(e[0],1)-t,e[1]-t,2*t,2*t):[]}}let im=ig,{parse:ix}=tq,{charts:iy,composed:ib,isTouchDevice:iv}=R,ik=(t,e)=>!_(e)||t[`${e}Key`];class iw{applyInactiveState(t=[]){let e=[];for(let i of(t.forEach(t=>{let i=t.series;e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&e.push.apply(e,i.linkedSeries),i.navigatorSeries&&e.push(i.navigatorSeries),i.boosted&&i.markerGroup&&e.push.apply(e,this.chart.series.filter(t=>t.markerGroup===i.markerGroup))}),this.chart.series)){let t=i.options;t.states?.inactive?.enabled!==!1&&(-1===e.indexOf(i)?i.setState("inactive",!0):t.inactiveOtherPoints&&i.setAllPointsToState("inactive"))}}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!R.chartCount&&(iw.unbindDocumentMouseUp.forEach(t=>t.unbind()),iw.unbindDocumentMouseUp.length=0,iw.unbindDocumentTouchEnd&&(iw.unbindDocumentTouchEnd=iw.unbindDocumentTouchEnd())),ty(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return te(this,"getSelectionMarkerAttrs",i,i=>{let s,{chart:o,zoomHor:r,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=n?1:o.plotHeight,r&&(h.width=Math.max(1,Math.abs(s=t-a)),h.x=(s>0?0:s)+a),n&&(h.height=Math.max(1,Math.abs(s=e-l)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}
vendor: 9,196 bytes, line 4
4=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:o,panKey:r,selectionMarkerFill:n}=e.options.chart,a=e.plotLeft,l=e.plotTop,h=e.plotWidth,d=e.plotHeight,c=tf(o)?o.enabled:o,p=r&&t[`${r}Key`],u=t.chartX,g=t.chartY,f,m=this.selectionMarker;if((!m||!m.touch)&&(u<a?u=a:u>a+h&&(u=a+h),g<l?g=l:g>l+d&&(g=l+d),this.hasDragged=Math.sqrt(Math.pow(i-u,2)+Math.pow(s-g,2)),this.hasDragged>10)){f=e.isInsidePlot(i-a,s-l,{visiblePlotOnly:!0});let{shapeType:h,attrs:d}=this.getSelectionMarkerAttrs(u,g);this.hasZoom&&f&&!p&&!m&&(this.selectionMarker=m=e.renderer[h](),m.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||m.attr({fill:n||ix("#334eff").setOpacity(.25).get()})),m&&m.attr(d),f&&!m&&c&&ik(t,r)&&e.pan(t,o)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return te(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}tc(i.index)&&(this.selectionMarker=s.destroy())}i&&tc(i.index)&&($(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[],this.hasPinchMoved=!1)}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){var o;let r,n,a,l=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),h=t.searchPoint(i,l);tf(h,!0)&&h.series&&(!tf(s,!0)||(r=(o=s).distX-h.distX,n=o.dist-h.dist,a=h.series.group?.zIndex-o.series.group?.zIndex,(0!==r&&e?r:0!==n?n:0!==a?a:o.series.index>h.series.index?-1:1)>0))&&(s=h)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&tc(o.x)&&tc(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o?.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=tb(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n=[],a=function(t){return t.visible&&!(!o&&t.directTouch)&&tk(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};te(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||a)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c?.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):a(t)&&!t.noSharedTooltip})).forEach(function(t){let e=t.options?.nullInteraction,i=ta(t.points,function(t){return t.x===c.x&&(!t.isNull||!!e)});tf(i)&&(t.boosted&&t.boost&&(i=t.boost.getPoint(i)),n.push(i))}):n.push(c)),te(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:n}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=j(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),te(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):tk(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return Q(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(te(i.series,"click",Q(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(Q(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&te(e,"click",s)))}onContainerMouseDown(t){let e=(1&(t.buttons||t.button))==1;t=this.normalize(t),R.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||e)&&(this.zoomOption(t),e&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=iy[tk(iw.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.exporting?.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!i?.shouldStickOnContact(s)&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i?.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){t?.touches&&this.hasPinchMoved&&t?.preventDefault?.(),iy[tk(iw.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),n=r.length,a=1===n&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===n&&tk(l?.options.followTouchMove,!0);n>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(te(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n?.shared?r:o;t&&a&&tT(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&tT(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,r=s.tooltip?.options.enabled?s.tooltip:void 0,n=!!r&&r.shared,a=e||s.hoverPoint,l=a?.series||s.hoverSeries,h=(!t||"touchmove"!==t.type)&&(!!e||l?.directTouch&&this.isDirectTouch),d=this.getHoverData(a,l,o,h,n,t);a=d.hoverPoint,l=d.hoverSeries;let c=d.hoverPoints,p=l?.tooltipOptions.followPointer&&!l.tooltipOptions.split,u=n&&l&&!l.noSharedTooltip;if(a&&(i||a!==s.hoverPoint||r?.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===c.indexOf(t)&&t.setState()}),s.hoverSeries!==l&&l.onMouseOver(),this.applyInactiveState(c),(c||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!a.series)return;s.hoverPoints=c,s.hoverPoint=a,a.firePointEvent("mouseOver",void 0,()=>{r&&a&&r.refresh(u?c:a,t)})}else if(p&&r&&!r.isHidden){let e=r.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&r.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=H(s.container.ownerDocument,"mousemove",t=>iy[iw.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEac
vendor: 5,333 bytes, line 4
4h(function(e){let i,o=e.crosshair?.snap??!0;o&&((i=s.hoverPoint)&&i.series[e.coll]===e||(i=ta(c,t=>t.series?.[e.coll]===e))),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument,i=t=>t.parentElement||t.getRootNode()?.host?.parentElement;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(H(t,"mouseenter",this.onContainerMouseEnter.bind(this)),H(t,"mouseleave",this.onContainerMouseLeave.bind(this))),iw.unbindDocumentMouseUp.some(t=>t.doc===e)||iw.unbindDocumentMouseUp.push({doc:e,unbind:H(e,"mouseup",this.onDocumentMouseUp.bind(this))});let s=i(this.chart.renderTo);for(;s&&"BODY"!==s.tagName;)this.eventsToUnbind.push(H(s,"scroll",()=>{delete this.chartPosition})),s=i(s);this.eventsToUnbind.push(H(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),H(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),iw.unbindDocumentTouchEnd||(iw.unbindDocumentTouchEnd=H(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),H(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!iv)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=tk(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(H(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),H(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||$(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||$(i,{"touch-action":tk(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let e=this.chart,i=R.charts[tk(iw.hoverChartIndex,-1)];if(i&&i!==e){let s={relatedTarget:e.container};t&&!t?.relatedTarget&&Object.assign({},t,s),i.pointer?.onContainerMouseLeave(t||s)}i?.mouseIsDown||(iw.hoverChartIndex=e.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.exporting?.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(this.hasPinchMoved=i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),tk(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=tk(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=(o||r)&&ik(t,e.zooming.key)}}iw.unbindDocumentMouseUp=[],(u=iw||(iw={})).compose=function(t){tM(ib,"Core.Pointer")&&H(t,"beforeRender",function(){this.pointer=new u(this,this.options)})};let iM=iw,{setLength:iS,splice:iC}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,o=[]){if(Array.isArray(t))return Array.isArray(o)||(o=Array.from(o)),{removed:t.splice(e,i,...o),array:t};let r=Object.getPrototypeOf(t).constructor,n=t[s?"subarray":"slice"](e,e+i),a=new r(t.length-i+o.length);return a.set(t.subarray(0,e),0),a.set(o,e),a.set(t.subarray(e+i),e+o.length),{removed:n,array:a}}};class iA{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||tR(),this.rowCount=0,this.versionTag=tR();let e=0;ty(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,ty(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=iS(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;ty(this.columns,(s,o)=>{this.columns[o]=iC(s,t,e).array,i=s.length}),this.rowCount=i}te(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=tR()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;ty(t,(t,e)=>{this.columns[e]=t.slice(),s=t.length}),this.applyRowCount(s),i?.silent||(te(this,"afterSetColumns"),this.versionTag=tR())}setRow(t,e=this.rowCount,i,s){let{columns:o}=this,r=i?this.rowCount+1:e+1,n=Object.keys(t);if(s?.addColumns!==!1)for(let t=0,e=n.length;t<e;t++){let e=n[t];o[e]||(o[e]=[])}ty(o,(n,a)=>{n||s?.addColumns===!1||(n=Array(r)),n&&(i?n=iC(n,e,0,!0,[t[a]??null]).array:n[e]=t[a]??null,o[a]=n)}),r>this.rowCount&&this.applyRowCount(r),s?.silent||(te(this,"afterSetRows"),this.versionTag=tR())}getModified(){return this.modified||this}}var iT=A||(A={});function iP(t,e,i){let s=this.legendItem=this.legendItem||{},{chart:o,options:r}
vendor: 2,597 bytes, line 4
4=this,{baseline:n=0,symbolWidth:a,symbolHeight:l}=t,h=this.symbol||"circle",d=l/2,c=o.renderer,p=s.group,u=n-Math.round((t.fontMetrics?.b||l)*(i?.4:.3)),g={},f,m=r.marker,x=0;if(o.styledMode||(g["stroke-width"]=Math.min(r.lineWidth||0,24),r.dashStyle?g.dashstyle=r.dashStyle:"square"!==r.linecap&&(g["stroke-linecap"]="round")),s.line=c.path().addClass("highcharts-graph").attr(g).add(p),i&&(s.area=c.path().addClass("highcharts-area").add(p)),g["stroke-linecap"]&&(x=Math.min(s.line.strokeWidth(),a)/2),a){let t=[["M",x,u],["L",a-x,u]];s.line.attr({d:t}),s.area?.attr({d:[...t,["L",a-x,n],["L",x,n]]})}if(m&&!1!==m.enabled&&a){let t=Math.min(tk(m.radius,d),d);0===h.indexOf("url")&&(m=tm(m,{width:l,height:l}),t=0),s.symbol=f=c.symbol(h,a/2-t,u-t,2*t,2*t,Q({context:"legend"},m)).addClass("highcharts-point").add(p),f.isMarker=!0}}iT.areaMarker=function(t,e){iP.call(this,t,e,!0)},iT.lineMarker=iP;let iO=A,{defaultOptions:iL}=tV;var iE=T||(T={});function iD(t,e){let i=iL.plotOptions||{},s=e.defaultOptions,o=e.prototype;return o.type=t,o.pointClass||(o.pointClass=im),!iE.seriesTypes[t]&&(s&&(i[t]=s),iE.seriesTypes[t]=e,!0)}iE.seriesTypes=R.seriesTypes,iE.registerSeriesType=iD,iE.seriesType=function(t,e,i,s,o){let r=iL.plotOptions||{};if(e=e||"",r[t]=tm(r[e],i),delete iE.seriesTypes[t],iD(t,tt(iE.seriesTypes[e]||R.Series,s)),iE.seriesTypes[t].prototype.type=t,o){class e extends im{}Q(e.prototype,o),iE.seriesTypes[t].prototype.pointClass=e}return iE.seriesTypes[t]};let iI=T,{animObject:iB,setAnimation:iN}=t2,{defaultOptions:iR}=tV,{registerEventOptions:iz}=eK,{svg:iW,win:iH}=R,{seriesTypes:iF}=iI,{format:iG}=en;class ij{constructor(){this.zoneAxis="y"}init(t,e){let i;te(this,"init",{options:e}),this.dataTable??(this.dataTable=new iA);let s=t.series;this.eventsToUnbind=[],this.chart=t,this.options=this.setOptions(e);let o=this.options,r=!1!==o.visible;this.linkedSeries=[],this.bindAxes(),Q(this,{name:o.name,state:"",visible:r,selected:!0===o.selected}),iz(this,o);let n=o.events;(n?.click||o.point?.events?.click||o.allowPointSelect)&&(t.runTrackerClick=!0),this.getColor(),this.getSymbol(),this.isCartesian&&(t.hasCartesianSeries=!0),s.length&&(i=s[s.length-1]),this._i=tk(i?._i,-1)+1,this.opacity=this.options.opacity,t.orderItems("series",tB(this,s)),o.dataSorting?.enabled?this.setDataSortingOptions():this.points||this.data||this.setData(o.data,!1),te(this,"afterInit")}is(t){return iF[t]&&this instanceof iF[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;te(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,
4(tk(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(tB(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||tI(18,!0,s)})}),te(this,"afterBindAxes")}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.dataTable.rowCount>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e,i=this.options,{pointIntervalUnit:s,relativeXValue:o}=this.options,r=this.chart.time,n=this.xIncrement??r.parse(i.pointStart)??0;if(this.pointInterval=e=tk(this.pointInterval,i.pointInterval,1),o&&tc(t)&&(e*=t),s){let t=r.toParts(n);"day"===s?t[2]+=e:"month"===s?t[1]+=e:"year"===s&&(t[0]+=e),e=r.makeTime.apply(r,t)-n}return o&&tc(t)?n+e:(this.xIncrement=n+e,n)}setDataSortingOptions(){let t=this.options;Q(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),_(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=tm(t),n=i.styledMode,a={plotOptions:s,userOptions:r};te(this,"setOptions",a);let l=a.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=iR.plotOptions[this.type]||{},p=h[this.type]||{};l.dataLabels=this.mergeArrays(c.dataLabels,l.dataLabels),this.userOptions=a.userOptions;let u=tm(l,s.series,p,r);this.tooltipOptions=tm(iR.tooltip,iR.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,p.tooltip,r.tooltip),this.stickyTracking=tk(r.stickyTracking,p.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||u.stickyTracking),null===l.marker&&delete u.marker;let{negativeColor:g,negativeFillColor:f,zoneAxis:m="y",zones:x}=u,y=this.zones=(x||[]).map(t=>({...t}));return this.zoneAxis=m,(g||f)&&!x&&(e={value:u[m+"Threshold"]||u.threshold||0,className:"highcharts-negative"},n||("boolean"!=typeof g&&(e.color=g),e.fillColor=f),y.push(e)),y.length&&_(y[y.length-1].value)&&y.push(n?{}:{color:this.color,fillColor:this.fillColor}),te(this,"afterSetOptions",{options:u}),u}getName(){return this.options.name??iG(this.chart.options.lang.seriesName,this,this.chart)}getCyclic(t,e,i){let s,o,r=this.chart,n=`${t}Index`,a=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(_(o=tk("color"===t?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||iR.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}getColumn(t,e){return(e?this.dataTable.getModified():this.dataTable).getColumn(t,!0)||[]}findPointIndex(t,e){let i,s,o,{id:r,x:n}=t,a=this.points,l=this.options.dataSorting,h=this.cropStart||0;if(r){let t=this.chart.get(r);t instanceof im&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(l?.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=ta(a,e)))return}return i&&void 0!==(o=i?.index)&&(s=!0),void 0===o&&tc(n)&&(o=this.getColumn("x").indexOf(n,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=h?o-h:o),!s&&tc(o)&&a[o]?.touched&&(o=void 0),o}updateData(t,e){let{options:i,requireSorting:s}=this,o=i.dataSorting,r=this.points,n=[],a=t.length===r.length,l=this.xIncrement,h,d,c,p,u=!0;if(this.xIncrement=null,t.forEach((t,e)=>{let l,d=_(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},{id:c,x:u}=d;c||tc(u)?(-1===(l=this.findPointIndex(d,p))||void 0===l?n.push(t):r[l]&&t!==i.data?.[l]?(r[l].update(t,!1,void 0,!1),r[l].touched=!0,s&&(p=l+1)):r[l]&&(r[l].touched=!0),(!a||e!==l||o?.enabled||this.hasDerivedData)&&(h=!0)):n.push(t)},this),h)for(d=r.length;d--;)(c=r[d])&&!c.touched&&c.remove?.(!1,e);else a&&!o?.enabled?(t.forEach((t,e)=>{t===r[e].y||r[e].destroyed||r[e].update(t,!1,void 0,!1)}),n.length=0):u=!1;if(r.forEach(t=>{t&&(t.touched=!1)}),!u)return!1;
4n.forEach(t=>{this.addPoint(t,!1,void 0,void 0,!1)},this);let g=this.getColumn("x");return null!==l&&null===this.xIncrement&&g.length&&(this.xIncrement=G(g),this.autoIncrement()),!0}dataColumnKeys(){return["x",...this.pointArrayMap||["y"]]}setData(t,e=!0,i,s){let o=this.points,r=o?.length||0,n=this.options,a=this.chart,l=n.dataSorting,h=this.xAxis,d=n.turboThreshold,c=this.dataTable,p=this.dataColumnKeys(),u=this.pointValKey||"y",g=(this.pointArrayMap||[]).length,f=n.keys,m,x,y=0,b=1,v;a.options.chart.allowMutatingData||(n.data&&delete this.options.data,this.userOptions.data&&delete this.userOptions.data,v=tm(!0,t));let k=(t=v||t||[]).length;if(l?.enabled&&(t=this.sortData(t)),!1!==s&&k&&r&&!this.cropped&&!this.hasGroupedData&&this.visible&&!this.boosted&&(x=this.updateData(t,i)),!x){this.xIncrement=null,this.colorCounter=0;let e=d&&!n.relativeXValue&&k>d;if(e){let i=this.getFirstValidPoint(t),s=this.getFirstValidPoint(t,k-1,-1),o=t=>!!(tu(t)&&(f||tc(t[0])));if(tc(i)&&tc(s)){let e=[],i=[];for(let s of t)e.push(this.autoIncrement()),i.push(s);c.setColumns({x:e,[u]:i})}else if(o(i)&&o(s))if(g){let e=+(i.length===g),s=Array(p.length).fill(0).map(()=>[]);for(let i of t){e&&s[0].push(this.autoIncrement());for(let t=e;t<=g;t++)s[t]?.push(i[t-e])}c.setColumns(p.reduce((t,e,i)=>(t[e]=s[i],t),{}))}else{f&&(y=f.indexOf("x"),b=f.indexOf("y"),y=y>=0?y:0,b=b>=0?b:1),1===i.length&&(b=0);let e=[],s=[];for(let i of t)y===b?e.push(this.autoIncrement()):e.push(i[y]??i.x??null),s.push(i[b]??i.y??null);c.setColumns({x:e,[u]:s})}else e=!1}if(!e){let e=p.reduce((t,e)=>(t[e]=[],t),{});for(m=0;m<k;m++){let i=this.pointClass.prototype.applyOptions.apply({series:this},[t[m]]);for(let t of p)e[t][m]=i[t]}c.setColumns(e)}for(tp(this.getColumn("y")[0])&&tI(14,!0,a),this.data=[],this.options.data=this.userOptions.data=t,m=r;m--;)o[m]?.destroy();h&&(h.minRange=h.userMinRange),this.isDirty=a.isDirtyBox=!0,this.isDirtyData=!!o,i=!1}"point"===n.legendType&&(this.processData(),this.generatePoints()),e&&a.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return _(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=tr(i,t),o=tr(i,e);return o<s?-1:+(o>s)}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;!i.dataSorting?.enabled&&o&&(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,{dataTable:i,isCartesian:s,options:o,xAxis:r}=e,n=o.cropThreshold,a=t||e.getExtremesFromAll,l=r?.logarithmic,h=i.rowCount,d,c,p=0,u,g,f,m=e.getColumn("x"),x=i,y=!1;return r&&(g=(u=r.getExtremes()).min,f=u.max,y=!!(r.categories&&!r.names.length),s&&e.sorted&&!a&&(!n||h>n||e.forceCrop)&&(m[h-1]<g||m[0]>f?x=new iA:e.getColumn(e.pointValKey||"y").length&&(m[0]<g||m[h-1]>f)&&(x=(d=this.cropData(i,g,f)).modified,p=d.start,c=!0))),m=x.getColumn("x")||[],{modified:x,cropped:c,cropStart:p,closestPointRange:ts([l?m.map(l.log2lin):m],()=>e.requireSorting&&!y&&tI(15,!1,e.chart))}}processData(t){let e=this.xAxis,i=this.dataTable;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let s=this.getProcessedData();i.modified=s.modified,this.cropped=s.cropped,this.cropStart=s.cropStart,this.closestPointRange=this.basePointRange=s.closestPointRange,te(this,"afterProcessData")}cropData(t,e,i){let s=t.getColumn("x",!0)||[],o=s.length,r={},n,a,l=0,h=o;for(n=0;n<o;n++)if(s[n]>=e){l=Math.max(0,n-1);break}for(a=n;a<o;a++)if(s[a]>i){h=a+1;break}for(let e of this.dataColumnKeys()){let i=t.getColumn(e,!0);i&&(r[e]=i.slice(l,h))}return{modified:new iA({columns:r}),start:l,end:h}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.dataTable.getModified(),s=this.getColumn("x",!0),o=this.pointClass,r=i.rowCount,n=this.cropStart||0,a=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping?.groupAll?n:0,c=this.pointArrayMap||["y"],p=this.dataColumnKeys(),u,g,f,m,x=this.data,y;if(!x&&!a){let t=[];t.length=e?.length||0,x=this.data=t}for(l&&a&&(this.options.keys=!1),m=0;m<r;m++)g=n+m,a?((f=new o(this,i.getRow(m,p)||[])).dataGroup=this.groupMap?.[d+m],f.dataGroup?.options&&(f.options=f.dataGroup.options,Q(f,f.dataGroup.options),delete f.dataLabels,f.key=f.name??f.category)):(f=x[g],y=e?e[g]:i.getRow(m,c),f||void 0===y?f&&(f.category=this.xAxis?.categories?.[f.x]??f.x,f.key=f.name??f.category):x[g]=f=new o(this,y,s[m])),f&&(f.index=a?d+m:g,h[m]=f);if(this.options.keys=l,x&&(r!==(u=x.length)||a))for(m=0;m<u;m++)m!==n||a||(m+=r),x[m]&&(x[m].destroyElements(),x[m].plotX=void 0);this.data=x,this.points=h,te(this,"afterGeneratePoints")}getXExtremes(t){return{min:F(t),max:G(t)}}getExtremes(t,e){let{xAxis:i,yAxis:s}=this,o=e||this.getExtremesFromAll||this.options.getExtremesFromAll,r=o&&this.cropped?this.dataTable:this.dataTable.getModified(),n=r.rowCount,a=t||this.stackedYData,l=a?[a]:(this.keysAffectYAxis||this.pointArrayMap||["y"])?.map(t=>r.getColumn(t,!0)||[])||[],h=this.getColumn("x",!0),d=[],c=this.requireSorting&&!this.is("column")?1:0,p=!!s&&s.positiveValuesOnly,u=o||this.cropped||!i,g,f,m,x=0,y=0;for(i&&(x=(g=i.getExtremes()).min,y=g.max),m=0;m<n;m++)if(f=h[m],u||(h[m+c]||f)>=x&&(h[m-c]||f)<=y)for(let t of l){let e=t[m];tc(e)&&(e>0||!p)&&d.push(e)}let b={activeYData:d,dataMin:F(d),dataMax:G(d)};return te(this,"afterGetExtremes",{dataExtremes:b}),b}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(_(t[o]))return t[o];o+=i}}translate(){this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=this.enabledDataSorting,o=this.yAxis,r=this.points,n=r.length,a=this.pointPlacementToXValue(),l=!!a,h=t.threshold,d=t.startFromThreshold?h:0,c=t?.nullInteraction&&o.len,p,u,g,f,m=Number.MAX_VALUE;function x(t){return X(t,-1e9,1e9)}for(p=0;p<n;p++){let t,n=r[p],y=n.x,b,v,k=n.y,w=n.low,M=e&&o.stacking?.stacks[(this.negStacks&&k<(d?0:h)?"-":"")+this.stackKey];n.plotX=tc(u=i.translate(y,!1,!1,!1,!0,a))?Y(x(u)):void 0,e&&this.visible&&M&&M[y]&&(f=this.getStackIndicator(f,y,this.index),!n.isNull&&f.key&&(v=(b=M[y]).points[f.key]),b&&tu(v)&&(w=v[0],k=v[1],w===d&&f.key===M[y].base&&(w=tk(tc(h)?h:o.min)),o.positiveValuesOnly&&_(w)&&w<=0&&(w=void 0),n.total=n.stackTotal=tk(b.total),n.percentage=_(n.y)&&b.total?n.y/b.total*100:void 0,n.stackY=k,this.irregularWidths||b.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),n.yBottom=_(w)?x(o.translate(w,!1,!0,!1,!0)):void 0,this.dataModify&&(k=this.dataModify.modifyValue(k,p)),tc(k)&&void 0!==n.plotX?t=tc(t=o.translate(k,!1,!0,!1,!0))?x(t):void 0:!tc(k)&&c&&(t=c),n.plotY=t,n.isInside=this.isPointInside(n),n.clientX=l?Y(i.translate(y,!1,!1,!1,!0,a)):u,n.negative=(n.y||0)<(h||0),n.isNull||!1===n.visible||(void 0!==g&&(m=Math.min(m,Math.abs(u-g))),g=u),n.zone=this.zones.length?n.getZone():void 0,!n.graphic&&this.group&&s&&(n.isNew=!0)}this.closestPointRangePx=m,te(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return(!!i||!t.isNull&&!!tc(r))&&(!e||!!s.isInsidePlot(o,r,{inverted:s.inverted}))&&!1!==t.visible})}
4getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=t.getClipBox(this),n=this.getSharedClipKey(),a=s[n];te(this,"setClip",{clipBox:r}),a?a.animate(r):s[n]=a=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:a),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=iB(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),a=e.sharedClips[n],l=e.sharedClips[n+"m"];if(t&&i){let t=e.getClipBox(this);if(a)a.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),a=e.renderer.clipRect(t),e.sharedClips[n]=a;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[n+"m"]=l}i.clip(a),s?.clip(l)}else if(a&&!a.hasClass("highcharts-animating")){let t=e.getClipBox(this),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),ty(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,te(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a,l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=c.nullInteraction,g=this[this.specialGroup||"markerGroup"],f=this.xAxis,m=tk(p.enabled,!f||!!f.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++){o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},n=!!i.marker;let c=i.isNull;if((m&&!_(r.enabled)||r.enabled)&&(!c||u)&&!1!==i.visible){let t=tk(r.symbol,this.symbol,"rect");a=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=f.reversed?-(a.width||0):f.width);let e=!1!==i.isInside;if(!s&&e&&((a.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,a.x,a.y,a.width,a.height,n?r:p).add(g),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,n={},a,l,h=tk(o.radius,s?.radius);e&&(a=s?.states?.[e],l=o.states?.[e],h=tk(l?.radius,a?.radius,h&&h+(a?.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return tc(h)&&d&&(i.crisp&&(d[0]=V(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),n.x=d[0]-h,n.y=d[1]-h),h&&(n.width=n.height=2*h),n}pointAttribs(t,e){let i=this.options,s=i.marker,o=t?.options,r=o?.marker||{},n=o?.color,a=t?.color,l=t?.zone?.color,h,d,c=this.color,p,u,g=tk(r.lineWidth,s.lineWidth),f=t?.isNull&&i.nullInteraction?0:1;return c=n||l||a||c,p=r.fillColor||s.fillColor||c,u=r.lineColor||s.lineColor||c,e=e||"normal",h=s.states[e]||{},g=tk((d=r.states&&r.states[e]||{}).lineWidth,h.lineWidth,g+tk(d.lineWidthPlus,h.lineWidthPlus,0)),p=d.fillColor||h.fillColor||p,u=d.lineColor||h.lineColor||u,{stroke:u,"stroke-width":g,fill:p,opacity:f=tk(d.opacity,h.opacity,f)}}destroy(t){let e,i,s=this,o=s.chart,r=/AppleWebKit\/533/.test(iH.navigator.userAgent),n=s.data||[];for(te(s,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(s.axisTypes||[]).forEach(function(t){i=s[t],i?.series&&(J(i.series,s),i.isDirty=i.forceRedraw=!0)}),s.legendItem&&s.chart.legend.destroyItem(s),e=n.length;e--;)n[e]?.destroy?.();for(let t of s.zones)K(t,void 0,!0);tl(s.animationTimeout),ty(s,function(t,e){t instanceof eb&&!t.survive&&t[r&&"group"===e?"hide":"destroy"]()}),o.hoverSeries===s&&(o.hoverSeries=void 0),J(o.series,s),o.orderItems("series"),ty(s,function(e,i){t&&"hcEvents"===i||delete s[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:l,renderer:h}=e,d=this[`${a}Axis`],{isXAxis:c,len:p=0,minPointOffset:u=0}=d||{},g=(i?.strokeWidth()||0)/2+1,f=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<g?i-g*(r<=0?-1:1):s])};if(s.length&&(i||t)&&d&&tc(d.min)){let e=d.getExtremes().max+u,g=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=X(d.toPixels(tk(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&f(o,e,i),r&&f(r,e,i)}let m=[],x=d.toPixels(d.getExtremes().min-u,!0);
vendor: 4,680 bytes, line 4
4s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:d}=e,p=0,u=0,f=r.len,y=n.len;c?(p=o,f=x):(u=o,y=x);let b=[["M",p,u],["L",f,u],["L",f,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...m,b[3],b[4]];m=s.reverse(),x=o,l&&(g(v),t&&g(b)),a?(a.animate({d:v}),d?.animate({d:b})):(a=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(b))),i&&e.graph?.clip(a),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return _(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(_(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;s.inverted&&(e=i,i=this.xAxis);let r={scale:1,translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,name:t};te(this,"getPlotBox",r);let{scale:n,translateX:a,translateY:l}=r;return{translateX:a,translateY:l,rotation:90*!!o,rotationOriginX:o?n*(e.len-i.len)/2:0,rotationOriginY:o?n*(e.len+i.len)/2:0,scaleX:o?-n:n,scaleY:n}}removeEvents(t){let{eventsToUnbind:e}=this;t||tA(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=iB(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:o.duration;te(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=tO(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,te(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options,s=i.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,tO(function(){e.kdTree=function t(i,s,o){let r,n,a=i?.length;if(a)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,o),right:t(i.slice(n+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch,i?.nullInteraction),s,s),e.buildingKdTree=!1},i.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i,s,o){let r=this,[n,a]=this.kdAxisArray,l=e?"distX":"dist",h=(r.options.findNearestPointBy||"").indexOf("y")>-1?2:1,d=!!r.isBubble,c=s||((t,e,i)=>{let s=t[i]||0,o=e[i]||0;return[s===o&&t.index>e.index||s<o?t:e,!1]}),p=o||((t,e)=>t<e);if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,s,o){let h,u,g,f,m,x,y,b=i.point,v=r.kdAxisArray[s%o],k=b,w=!1;h=e[n],u=b[n],g=_(h)&&_(u)?h-u:null,f=e[a],m=b[a],x=_(f)&&_(m)?f-m:0,y=d&&b.marker?.radius||0,b.dist=Math.sqrt((g&&g*g||0)+x*x)-y,b.distX=_(g)?Math.abs(g)-y:Number.MAX_VALUE;let M=(e[v]||0)-(b[v]||0)+(d&&b.marker?.radius||0),S=M<0?"left":"right",C=M<0?"right":"left";return i[S]&&([k,w]=c(b,t(e,i[S],s+1,o),l)),i[C]&&p(Math.sqrt(M*M),k[l],w)&&(k=c(k,t(e,i[C],s+1,o),l)[0]),k}(t,this.kdTree,h,h)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),tc(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(iW?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}
4),[t.tracker,t.markerGroup,...t.dataLabelsGroups||[]].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),te(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n,a=this.options,{chart:l,data:h,dataTable:d,xAxis:c}=this,p=c?.hasNames&&c.names,u=a.data,g=this.getColumn("x");e=tk(e,!0);let f={series:this};this.pointClass.prototype.applyOptions.apply(f,[t]);let m=f.x;if(n=g.length,this.requireSorting&&m<g[n-1])for(r=!0;n&&g[n-1]>m;)n--;d.setRow(f,n,!0,{addColumns:!1}),p&&f.name&&(p[m]=f.name),u?.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(h[0]&&h[0].remove?h[0].remove(!1):([h,u].filter(_).forEach(t=>{t.shift()}),d.deleteRows(0))),!1!==o&&te(this,"addPoint",{point:f}),this.isDirty=!0,this.isDirtyData=!0,e&&l.redraw(s)}removePoint(t,e,i){let s=this,{chart:o,data:r,points:n,dataTable:a}=s,l=r[t],h=function(){[n?.length===r.length?n:void 0,r,s.options.data].filter(_).forEach(e=>{e.splice(t,1)}),a.deleteRows(t),l?.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&o.redraw()};iN(i,o),e=tk(e,!0),l?l.firePointEvent("remove",null,h):h()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),tk(t,!0)&&r.redraw(e)}!1!==i?te(o,"remove",null,n):n()}update(t,e){te(this,"update",{options:t=Z(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,n=s.options.plotOptions,a=iF[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=ij.keepProps.slice(),u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.keys||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g?(p.push.apply(p,ij.keepPropsForPoints),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&Q(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))):this.dataTable.modified=this.dataTable,t.dataLabels&&o.dataLabels&&(t.dataLabels=this.mergeArrays(o.dataLabels,t.dataLabels)),t=tm(o,{index:void 0===o.index?i.index:o.index,pointStart:n?.series?.pointStart??o.pointStart??i.getColumn("x")[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["dataLabelsGroup","dataLabelsGroups","dataLabelsParentGroups","group","markerGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(iF[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,iF[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in a)i[c]=void 0;Q(i,iF[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}else tI(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t?.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),te(this,"afterUpdate"),tk(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=tk(s?.[this.type]?.[t],s?.series?.[t]);return o&&!_(r)?i!==o:i!==tk(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&te(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&te(this,"mouseOut"),i&&
vendor: 8,636 bytes, line 4
4!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,{graph:s,options:o}=i,{inactiveOtherPoints:r,states:n}=o,a=tk(n?.[t||"normal"]?.animation,i.chart.options.chart.animation),{lineWidth:l,opacity:h}=o;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,...i.dataLabelsGroups||[]].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]?.enabled===!1)return;if(t&&(l=n[t].lineWidth||l+(n[t].lineWidthPlus||0),h=tk(n[t].opacity,h)),s&&!s.dashstyle&&tc(l))for(let t of[s,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,...i.dataLabelsGroups||[],i.labelBySeries].forEach(function(t){t?.animate({opacity:h},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let n=t?"show":"hide";["group","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[n]()}),i.dataLabelsGroups?.forEach(t=>{t?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),te(i,n),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),te(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){let i=this.chart.renderer,s=this.options.legendSymbol||"rectangle",o=e.legendItem||{},{options:r,symbolHeight:n,symbolWidth:a}=t,l=r.squareSymbol,h=l?n:a,d=l?(a-n)/2:0,c=(t.baseline||0)-n+1,p=r.symbolRadius??n,u="rectangle"===s?i.rect(d,c,h,n,p):i.symbols[s]&&i.symbol(s,d,c,h,n,{r:p});u?o.symbol=u.addClass("highcharts-point").attr({zIndex:3}).add(o.group):iO[s]?.call(this,t,e)}}ij.defaultOptions={lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",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:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"},ij.types=iI.seriesTypes,ij.registerType=iI.registerSeriesType,ij.keepProps=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],ij.keepPropsForPoints=["data","isDirtyData","isDirtyCanvas","points","dataTable","processedData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"],Q(ij.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:im,requireSorting:!0,sorted:!0}),iI.series=ij;let iX=ij,{animObject:iY,setAnimation:iU}=t2,{registerEventOptions:iV}=eK,{composed:i$,marginNames:i_}=R,{distribute:iK}=el,{format:iq}=en;class iZ{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),iV(this,e),H(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),H(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=tk(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=tm(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=tk(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(tm(!0,this.options,t)),"events"in this.options&&iV(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,tk(e,!0)&&i.redraw(),te(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let i=t.color,{area:s,group:o,label:r,line:n,symbol:a}=t.legendItem||{};if((t instanceof iX||t instanceof im)&&(t.color=t.options?.legendSymbolColor||i),o?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:i={}}=this,o=i.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=o),t.stroke&&(t.stroke=o)),t);r?.css(tm(e?this.itemStyle:i)),n?.attr(p({stroke:d||t.color})),a&&a.attr(p(c&&a.isMarker?t.pointAttribs():{fill:t.color})),s?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}t.color=i,te(this,"afterColorizeItem",{item:t,visible:e})}positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e?.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s},a=()=>{te(this,"afterPositionItem",{item:t})};e[_(e.translateY)?"animate":"attr"](o,void 0,a)}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.legendItem||{};for(let t of["group","label","line","symbol"])e[t]&&(e[t]=e[t].destroy());t.checkbox=q(t.checkbox),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group?.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r,n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,$(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?iq(e.labelFormat,t,this.chart):e.labelFormatter.call(t,t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,n=this.symbolWidth,a=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,d=r?tk(o.itemDistance,20):0,c=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,f=!!this.createCheckboxForItem&&g&&g.showCheckbox,m=o.useHTML,x=t.options.className,y=e.label,b=n+a+d+20*!!f;!y&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(x?" "+x:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=y=s.text("",c?n+a:-a,this.baseline||0,m),i.styledMode||y.css(tm(t.visible?l:h)),y.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(y),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,y.attr("y",this.baseline),this.symbolHeight=tk(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWi
vendor: 1,958 bytes, line 4
4dth=tk(o.symbolWidth,Math.max(this.symbolHeight,16)),b=this.symbolWidth+a+d+20*!!f,c&&y.attr("x",this.symbolWidth+a))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,y,m)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&y.css({width:Math.min(o.itemWidth||this.widthOption||i.spacingBox.width,o.maxWidth?tS(o.maxWidth,i.chartWidth):1/0)-b+"px"}),this.setText(t);let v=y.getBBox(),k=this.fontMetrics?.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+b,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?tk(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=n+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e?.options;e&&tk(i.showInLegend,!_(i.linkedTo)&&void 0,!0)&&(t=t.concat(e.legendItem?.labels||("point"===i.legendType?e.data:e)))}),te(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEac
vendor: 10,892 bytes, line 4
4h((r,n)=>{r.test(o)&&!_(t[n])&&(i[i_[n]]=Math.max(i[i_[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+(s.margin??12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,n=s,a,l;t.yAxis&&(t.xAxis.options.reversed&&(n=!n),t.points&&(o=ta(n?t.points:t.points.slice(0).reverse(),function(t){return tc(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,a=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:a,size:r,item:t}))},this),iK(i,e.plotHeight)))t=o.item.legendItem||{},tc(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.spacingBox.width,i=t.renderer,s=this.options,o=this.padding,r=this.getAllItems(),n,a,l,h=this.group,d,c=this.box;this.itemX=o,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=tS(s.width,e-o),d=e-2*o-s.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(d/=2),this.maxLegendWidth=this.widthOption||d,h||(this.group=h=i.g("legend").addClass(s.className||"").attr({zIndex:7}).add(),this.contentGroup=i.g().attr({zIndex:1}).add(h),this.scrollGroup=i.g().add(this.contentGroup)),this.renderTitle(),tP(r,(t,e)=>(t.options?.legendIndex||0)-(e.options?.legendIndex||0)),s.reversed&&r.reverse(),this.allItems=r,this.display=n=!!r.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,r.forEach(this.renderItem,this),r.forEach(this.layoutItem,this),a=(s.maxWidth?Math.min(this.widthOption||this.offsetWidth,d,tS(s.maxWidth,t.chartWidth)||1/0):this.widthOption||this.offsetWidth)+o,l=this.lastItemY+this.lastLineHeight+this.titleHeight,l=this.handleOverflow(l)+o,c||(this.box=c=i.rect().addClass("highcharts-legend-box").attr({r:s.borderRadius}).add(h)),t.styledMode||c.attr({stroke:s.borderColor,"stroke-width":s.borderWidth||0,fill:s.backgroundColor||"none"}).shadow(s.shadow),a>0&&l>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:a,height:l},c.strokeWidth())),h[n?"show":"hide"](),t.styledMode&&"none"===h.getStyle("display")&&(a=l=0),this.legendWidth=a,this.legendHeight=l,n&&this.align(),this.proximate||this.positionItems(),te(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=tm(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(tm(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,n="top"===o.verticalAlign,a=this.padding,l=o.maxHeight,h=o.navigation,d=tk(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?w.attr({height:t}):w&&(e.clipRect=w.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+a+"px,9999px,"+(a+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(k),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b,v=i.spacingBox.height+(n?-r:r)-a,k=this.nav,w=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(v/=2),l&&(v=Math.min(v,l)),p.length=0,t&&v>0&&t>v&&!1!==h.enabled?(this.clipHeight=m=Math.max(v-20-this.titleHeight-a,0),this.currentPage=tk(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&b&&(b.pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i),b=y}),w||(w=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(w)),g(m),k||(this.nav=k=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(k),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(k),this.down=s.symbol("triangle-down",0,0,c,c).add(k),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=v):k&&(g(),this.nav=k.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,l=this.padding,h=this.currentPage+t;h>o&&(h=o),h>0&&(void 0!==e&&iU(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===h?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:h+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:h===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===h?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===h?"default":"pointer"}),this.down.attr({fill:h===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:h===o?"default":"pointer"})),this.scrollOffset=-s[h-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=h,this.positionCheckboxes(),tO(()=>{te(this,"afterScroll",{currentPage:h})},iY(tk(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let s=this,o=t.legendItem||{},r=s.chart.renderer.boxWrapper,n=t instanceof im,a=t instanceof iX,l="highcharts-legend-"+(n?"point":"series")+"-active",h=s.chart.styledMode,d=i?[e,o.symbol]:[o.group],c=e=>{s.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!n)})})};for(let i of d)i&&i.on("mouseover",function(){t.visible&&c("inactive"),t.setState("hover"),t.visible&&r.addClass(l),h||e.css(s.options.itemHoverStyle)}).on("mouseout",function(){s.chart.styledMode||e.css(tm(t.visible?s.itemStyle:s.itemHiddenStyle)),c(""),r.removeClass(l),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),c(t.visible?"inactive":"")};r.removeClass(l),te(s,"itemClick",{browserEvent:e,legendItem:t,context:s},i),n?t.firePointEvent("legendItemClick",{browserEvent:e}):a&&te(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=U("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),H(t.checkbox,"click",function(e){let i=e.target;te(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}(g=iZ||(iZ={})).compose=function(t){tM(i$,"Core.Legend")&&H(t,"beforeMargins",function(){this.legend=new g(this,this.options.legend)})};let iJ=iZ,{animate:iQ,animObject:i0,setAnimation:i1}=t2,{defaultOptions:i2}=tV,{numberFormat:i3}=en,{registerEventOptions:i5}=eK,{charts:i6,doc:i9,marginNames:i4,svg:i8,win:i7}=R,{seriesTypes:st}=iI;class se{static chart(t,e,i){return new se(t,e,i)}constructor(t,e,i){if(this.sharedClips={},!i9)return void tI(36,!1,this);const s=[...arguments];(tp(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:tk(t.zoomType,e.type),key:tk(t.zoomKey,e.key),pinchType:tk(t.pinchType,e.pinchType),singleTouch:tk(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:tm(e.resetButton,t.resetZoomButton)}}init(t,e){te(this,"init",{args:arguments},function(){let i=tm(i2,t),s=i.chart,o=this.renderTo||s.renderTo;this.userOptions=Q({},t),(this.renderTo=tp(o)?i9.getElementById(o):o)||tI(13,!0,this),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.locale=i.lang.locale??this.renderTo.closest("[lang]")?.lang,this.time=new tj(Q(i.time||{},{locale:this.locale}),i.lang),i.time=this.time.options,this.numberFormatter=(s.numberFormatter||i3).bind(this),this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=i6.length,i6.push(this),R.chartCount++,i5(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),te(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=st[i];s||tI(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=tT(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?tT(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof iX&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}getClipBox(t,e){let i=this.inverted,{xAxis:s,yAxis:o}=t||{},{x:r,y:n,width:a,height:l}=tm(this.clipBox);return t&&(s&&s.len!==this.plotSizeX&&(a=s.len),o&&o.len!==this.plotSizeY&&(l=o.len),i&&!t.invertible&&([a,l]=[l,a])),e&&(r+=(i?o:s)?.pos??this.plotLeft,n+=(i?s:o)?.pos??this.plotTop),{x:r,y:n,width:a,height:l}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:n,scrollablePlotBox:a}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&a||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+u:n+u;e>=Math.max(h+n,t.pos)&&e<=Math.min(h+n+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return te(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){te(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,n=this.renderer,a=n.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(n.rootFontSize=n.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),i1(!!this.hasRendered&&t,this),a&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);
vendor: 4,895 bytes, line 4
4i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&te(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){te(t,"afterSetExtremes",Q(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),te(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),n.draw(),te(this,"redraw"),te(this,"render"),a&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=ta(this.axes,i)||ta(this.series,i);for(let t=0;!s&&t<e.length;t++)s=ta(e[t].points||[],i);return s}createAxes(){let t=this.userOptions;for(let e of(te(this,"createAxes"),["xAxis","yAxis"]))for(let i of t[e]=tT(t[e]||{}))new e6(this,i,e);te(this,"afterCreateAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{tk(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(t=>t.selected)}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=tm(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).css({textOverflow:"ellipsis",whiteSpace:"nowrap"}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(Q("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),o.textPxLength=o.getBBox().width,o.css({whiteSpace:s.style?.whiteSpace}),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],{options:i,renderer:s,spacingBox:o}=this;["title","subtitle","caption"].forEach(t=>{let i=this[t],r=this.options[t],n=tm(o),a=i?.textPxLength||0;if(i&&r){te(this,"layOutTitle",{alignTo:n,key:t,textPxLength:a});let o=s.fontMetrics(i),l=o.b,h=o.h,d=r.verticalAlign||"top",c="top"===d,p=c&&r.minScale||1,u="title"===t?c?-3:0:c?e[0]+2:0,g=Math.min(n.width/a,1),f=Math.max(p,g),m=tm({y:"bottom"===d?l:u+l},r),x=(r.width||(g>p?this.chartWidth:n.width)/f)+"px";m.align??(m.align="title"===t?g<p?"left":"center":this.title?.alignValue),i.alignValue!==m.align&&(i.placed=!1);let y=Math.round(i.css({width:x}).getBBox(r.useHTML).height);if(m.height=y,i.align(m,!1,n).attr({align:m.align,scaleX:f,scaleY:f,"transform-origin":`${n.x+a*f*ti(m.align)} ${h}`}),!r.floating){let t=y*(y<1.2*h?1:f);"top"===d?e[0]=Math.ceil(e[0]+t):"bottom"===d&&(e[2]=Math.ceil(e[2]+t))}}},this),e[0]&&"top"===(i.title?.verticalAlign||"top")&&(e[0]+=i.title?.margin||0),e[2]&&i.caption?.verticalAlign==="bottom"&&(e[2]+=i.caption?.margin||0);let r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,te(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:tn(this.renderTo,"width",!0)||0,height:tn(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height<=1||!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height;this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,tS(i,this.chartWidth)||(o?400:s.height)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e?.style;)e.hcOrigStyle&&($(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(i9.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e?.style&&(i9.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,i9.body.appendChild(e)),("none"===tn(e,"display",!1)||e.hcOrigDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),$(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==i9.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=tR(),r=this.renderTo,n=tw(j(r,s));tc(n)&&i6[n]&&i6[n].hasRendered&&i6[n].destroy(),j(r,s,this.index),r.innerHTML=t8.emptyHTML,i.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();
vendor: 4,140 bytes, line 4
4let a=this.chartHeight,l=this.chartWidth;$(r,{overflow:"hidden"}),this.styledMode||(t=Q({position:"relative",overflow:"hidden",width:l+"px",height:a+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},i.style||{}));let h=U("div",{id:o},t,r);this.container=h,this.getChartSize(),l!==this.chartWidth&&(l=this.chartWidth,this.styledMode||$(h,{width:tk(i.style?.width,l+"px")})),this.containerBox=this.getContainerBox(),this._cursor=h.style.cursor;let d=i.renderer||!i8?ea.getRendererType(i.renderer):eG;if(this.renderer=new d(h,l,a,void 0,i.forExport,e.exporting?.allowHTML,this.styledMode),i1(void 0,this),this.setClassName(i.className),this.styledMode)for(let t in e.defs)this.renderer.definition(e.defs[t]);else this.renderer.setStyle(i.style);this.renderer.chartIndex=this.index,te(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!_(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!_(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend?.display&&this.legend.adjustMargins(i,e),te(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=t=>{t.forEach(t=>{t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i?.length&&o(i),i4.forEach((i,o)=>{_(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return Z(this.userOptions,i2)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.exporting?.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(tl(e.reflowTimeout),e.reflowTimeout=tO(function(){if(e.container){e.setSize(void 0,void 0,!1);let t=e.containerBox;t&&(t.height=e.chartHeight)}},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=H(i7,"resize",e);H(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,i1(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?iQ:$)(s.container,{width:`${n+l}px`,height:`${a+h}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,te(s,"resize"),setTimeout(()=>{s&&te(s,"endResize")},i0(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:n,inverted:a,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-(this.marginRight??0))),this.plotHeight=o=Math.max(0,Math.round(r-i-(this.marginBottom??0))),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:n-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),te(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){te(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=Math.round(i)/2;["margin","spacing"].forEach(i=>{let s=e[i],o=tf(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((s,r)=>{t[i][r]=e[`${i}${s}`]??o[r]})}),i4.forEach((e,i)=>{t[e]=t.margin[i]??t.spacing[i]}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,n=t.backgroundColor,a=t.plotBackgroun
4dColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,w="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+8*!!t.shadow,k={fill:n||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](u),!o&&(x.attr({fill:a||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp(u,-y.strokeWidth())),this.isDirtyBox=!1,te(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=st[o.type],i=o[n]||e&&e.prototype[n],t=r?.length;!i&&t--;)(e=st[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:s}=t.options,o=tp(s)&&(":previous"===s?i[t.index-1]:e.get(s));o&&o.linkedParent!==t&&(o.linkedSeries.push(t),t.linkedParent=o,o.enabledDataSorting&&t.setDataSortingOptions(),t.visible=t.options.visible??o.options.visible??t.visible)}),te(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,n=!0,a,l=0;for(let e of(this.setTitle(),te(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new eZ(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&tk(i.reserveSpace,!tc(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(n||a||s>1)&&l<s;){let e=this.plotWidth,i=this.plotHeight,s=[1.05,1.1];for(let e of t){let t=+(e.horiz||0);if(0===l){e.setScale();let i=e.tickPositions?.info?.match;i&&(s[t]=Math.min(i,s[t]))}else(t&&n||!t&&a)&&e.setTickInterval(!0)}0===l?this.getAxisMargins():this.getMargins(),n=e/this.plotWidth>(l?1:s[1]),a=i/this.plotHeight>(l?1:s[0]),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e?.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=tm(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(t){te(e,"creditsClick",t,()=>{i.href&&(i7.location.href=i.href)})}).attr({align:i.position.align,zIndex:8}),i.events?.click&&H(e,"creditsClick",i.events.click),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,r=o?.parentNode;for(te(e,"destroy"),e.renderer.forExport?J(i6,e):i6[e.index]=void 0,R.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),tA(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller?.destroy?.(),t=s.length;t--;)s[t]=s[t].destroy();
vendor: 4,111 bytes, line 4
4["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(t=>{e[t]=e[t]?.destroy?.()}),o&&(o.innerHTML=t8.emptyHTML,tA(o),r&&q(o)),ty(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.createAxes();let i=tu(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),te(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.asyncCounter||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),te(this,"load"),te(this,"render"),_(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.warnIfCSSNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;t&&!this.accessibility&&(this.renderer.boxWrapper.attr({role:"img","aria-label":(e?.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||tI('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}warnIfCSSNotLoaded(){this.styledMode&&"0"!==i7.getComputedStyle(this.container).zIndex&&tI(35,!1,this)}addSeries(t,e,i){let s,o=this;return t&&(e=tk(e,!0),te(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),te(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,e){let i=new e6(this,e.axis,t);return tk(e.redraw,!0)&&this.redraw(e.animation),i}showLoading(t){let e=this,i=e.options,s=i.loading,o=s?.style??{},r=function(){n&&$(n,{left:o.left??e.plotLeft+"px",top:o.top??e.plotTop+"px",width:o.width??e.plotWidth+"px",height:o.height??e.plotHeight+"px"})},n=e.loadingDiv,a=e.loadingSpan;n||(e.loadingDiv=n=U("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),a||(e.loadingSpan=a=U("span",{className:"highcharts-loading-inner"},null,n),H(e,"redraw",r)),n.className="highcharts-loading",t8.setElementHTML(a,tk(t,i.lang.loading,"")),!e.styledMode&&($(n,Q(o,{zIndex:10})),$(a,s?.labelStyle??{}),e.loadingShown||($(n,{opacity:0,display:""}),iQ(n,{opacity:o.opacity??.5},{duration:s?.showDuration??0}))),e.loadingShown=!0,r()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||iQ(e,{opacity:0},{duration:t.loading?.hideDuration??100,complete:function(){$(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,n,a=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,d=[];te(a,"update",{options:t}),h||a.setResponsive(!1,!0),t=Z(t,a.options),a.userOptions=tm(a.userOptions,t);let c=t.chart;c&&(tm(!0,a.options.chart,c),this.setZoomOptions(),"className"in c&&a.setClassName(c.className),("inverted"in c||"polar"in c||"type"in c)&&(a.propFromSeries(),o=!0),"alignTicks"in c&&(o=!0),"events"in c&&i5(this,c),ty(c,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1!==a.propsRequireReflow.indexOf(e)&&(a.isDirtyBox=!0,h||(n=!0))}),!a.styledMode&&c.style&&a.renderer.setStyle(a.options.chart.style||{})),!a.styledMode&&t.colors&&(this.options.colors=t.colors),ty(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[l[i]]?a[l[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&tm(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}
4),this.collectionsWithUpdate.forEach(e=>{t[e]&&(tT(t[e]).forEach((t,s)=>{let o;if(!t)return;let r=_(t.id);r&&(o=a.get(t.id)),!o&&a[e]&&(o=a[e][tk(t.index,s)])&&(r&&_(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(t=>{t.touched||t.options.isInternal?delete t.touched:d.push(t)}))}),d.forEach(t=>{t.chart&&t.remove&&t.remove(!1)}),o&&a.axes.forEach(function(t){t.update({},!1)}),r&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let p=c?.width,u=c&&(tp(c.height)?tS(c.height,p||a.chartWidth):c.height);n||tc(p)&&p!==a.chartWidth||tc(u)&&u!==a.chartHeight?a.setSize(p,u,s):tk(e,!0)&&a.redraw(s),te(a,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=i2.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}te(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),te(this,"afterShowResetZoom")}zoomOut(){te(this,"selection",{resetSelection:!0}
vendor: 2,810 bytes, line 4
4,()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),te(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),$(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:n={},trigger:a,allowResetButton:l=!0}=t,{inverted:h,time:d}=this;this.hoverPoints?.forEach(t=>t.setState()),te(this,"transform",t);let c=t.hasZoomed||!1,p,u;for(let t of e){let{horiz:e,len:g,minPointOffset:f=0,options:m,reversed:x}=t,y=e?"width":"height",b=e?"x":"y",v=tk(n[y],t.len),k=tk(s[y],t.len),w=10>Math.abs(v)?1:v/k,M=(s[b]||0)+k/2-t.pos,S=M-((n[b]??t.pos)+v/2-t.pos)/w,C=x&&!h||!x&&h?-1:1;if(!o&&(M<0||M>t.len))continue;let A=t.chart.polar||t.isOrdinal?0:f*C||0,T=t.toValue(S,!0),P=t.toValue(S+g/w,!0),O=T+A,L=P-A,E=t.allExtremes;if(r&&r[t.coll].push({axis:t,min:Math.min(T,P),max:Math.max(T,P)}),O>L&&([O,L]=[L,O]),1===w&&!o&&"yAxis"===t.coll&&!E){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).modified.getColumn(e.pointValKey||"y")||[],!0);E??(E={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),tc(t.dataMin)&&tc(t.dataMax)&&(E.dataMin=Math.min(t.dataMin,E.dataMin),E.dataMax=Math.max(t.dataMax,E.dataMax))}t.allExtremes=E}let{dataMin:D,dataMax:I,min:B,max:N}=Q(t.getExtremes(),E||{}),R=d.parse(m.min),z=d.parse(m.max),W=D??R,H=I??z,F=L-O,G=t.categories?0:Math.min(F,H-W),j=W-G*(_(R)?0:m.minPadding),X=H+G*(_(z)?0:m.maxPadding),Y=t.allowZoomOutside||1===w||"zoom"!==a&&w>1,U=Math.min(R??j,j,Y?B:j),V=Math.max(z??X,X,Y?N:X);(!t.isOrdinal||1!==w||o)&&(O<U&&(O=U,w>=1&&(L=O+F)),L>V&&(L=V,w>=1&&(O=L-F)),(o||t.series.length&&(O!==B||L!==N)&&O>=U&&L<=V)&&(r?r[t.coll].push({axis:t,min:O,max:L}):(t.isPanning="zoom"!==a,t.isPanning&&"mousewheel"!==a&&(u=!0),t.setExtremes(o?void 0:O,o?void 0:L,!1,!1,{move:S,trigger:a,scale:w}),!o&&(O>U||L<V)&&(p=l)),c=!0),this.hasCartesianSeries||o||(p=l),i&&(this[e?"mouseDownX":"mouseDownY"]=i[e?"chartX":"chartY"]))}return c&&(r?te(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!p||u||this.resetZoomButton?!p&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===a&&(this.options.chart.animation??this.pointCount<100)))),c}}Q(se.prototype,{callbacks:[],collectionsWithInit:{xAxis:[se.prototype.addAxis,[!0]],yAxis:[se.prototype.addAxis,[!1]],series:[se.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
4dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]});let{stop:si}=t2,{composed:ss}=R;function so(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new sn(this)),t?.applyFixed()}function sr(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class sn{static compose(t,e,i){tM(ss,this.compose)&&(H(t,"afterInit",sr),H(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),H(e,"render",so),H(i,"show",sr))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:h,renderer:d}=t;if(!d.forExport)if(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=tm(t.plotBox),l.width=t.plotWidth+=i,a[h?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),_(s)&&(t.scrollablePlotBox=tm(t.plotBox),l.height=t.plotHeight+=s,a[h?"width":"height"]+=s,o=!1)),_(o)){if(!e.skipAxes)for(let e of t.axes)(e.horiz===o||t.hasParallelCoordinates&&"yAxis"===e.coll)&&(e.setAxisSize(),e.setAxisTranslation())}else delete t.scrollablePlotBox}constructor(t){let e;const i=t.options.chart,s=ea.getRendererType(),o=i.scrollablePlotArea||{},r=this.moveFixedElements.bind(this),n={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(n.overflowX="auto"),t.scrollablePixelsY&&(n.overflowY="auto"),this.chart=t;const a=this.parentDiv=U("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),l=this.scrollingContainer=U("div",{className:"highcharts-scrolling"},n,a),h=this.innerContainer=U("div",{className:"highcharts-inner-container"},void 0,l),d=this.fixedDiv=U("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(i.style?.zIndex||0)+2,top:0},void 0,!0),c=this.fixedRenderer=new s(d,t.chartWidth,t.chartHeight,i.style);this.mask=c.path().attr({fill:i.backgroundColor||"#fff","fill-opacity":o.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),l.parentNode.insertBefore(d,l),$(t.renderTo,{overflow:"visible"}),H(t,"afterShowResetZoom",r),H(t,"afterApplyDrilldown",r),H(t,"afterLayOutTitles",r),H(l,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),h.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:o,chartWidth:r,chartHeight:n,container:a,plotHeight:l,plotLeft:h,plotTop:d,plotWidth:c,scrollablePixelsX:p=0,scrollablePixelsY:u=0}=t,{scrollPositionX:g=0,scrollPositionY:f=0}=t.options.chart.scrollablePlotArea||{},m=r+p,x=n+u;e.setSize(r,n),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),si(t.container),$(a,{width:`${m}px`,height:`${x}px`}),t.renderer.boxWrapper.attr({width:m,height:x,viewBox:["0 0",m,x].join(" ")}),t.chartBackground?.attr({width:m,height:x}),$(s,{width:`${r}px`,height:`${n}px`}),_(i)||(s.scrollLeft=p*g,s.scrollTop=u*f);let y=d-o[0]-1,b=h-o[3]-1,v=d+l+o[2]+1,k=h+c+o[1]+1,w=h+c-p,M=d+l-u,S=[["M",0,0]];p?S=[["M",0,y],["L",h-1,y],["L",h-1,v],["L",0,v],["Z"],["M",w,y],["L",r,y],["L",r,v],["L",w,v],["Z"]]:u&&(S=[["M",b,0],["L",b,d-1],["L",k,d-1],["L",k,0],["Z"],["M",b,M],["L",b,n],["L",k,n],["L",k,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:S})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,n=sn.fixedSelectors.slice();if(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&!(this.chart.hasParallelCoordinates&&".highcharts-yaxis"===t))for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])tM(n,e);else for(let t of[".highcharts-xaxis",".highcharts-yaxis"])for(let e of[`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`])J(n,e);for(let t of n)[].forEach.call(e.querySelectorAll(t),t=>
4{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}sn.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"];let{format:sa}=en,{series:sl}=iI;class sh{constructor(t,e,i,s,o){const r=t.chart.inverted,n=t.reversed;this.axis=t;const a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){K(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,s=i.format,o=(s?sa(s,this,e):i.formatter?.call(this,this))||"";if(this.label)this.label.attr({text:o,visibility:"hidden"});else{this.label=e.renderer.label(o,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:o,padding:tk(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,te(this,"afterRender")}setOffset(t,e,i,s,o,r){let{alignOptions:n,axis:a,label:l,options:h,textAlign:d}=this,c=a.chart,p=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:r}),{verticalAlign:u}=n;if(l&&p){let t=l.getBBox(void 0,0),e=l.padding,i="justify"===tk(h.overflow,"justify"),s;n.x=h.x||0,n.y=h.y||0;let{x:o,y:r}=this.adjustStackPosition({labelBox:t,verticalAlign:u,textAlign:d});p.x-=o,p.y-=r,l.align(n,!1,p),(s=c.isInsidePlot(l.alignAttr.x+n.x+o,l.alignAttr.y+n.y+r))||(i=!1),i&&sl.prototype.justifyDataLabel.call(a,l,n,l.alignAttr,t,p),l.attr({x:l.alignAttr.x,y:l.alignAttr.y,rotation:h.rotation,rotationOriginX:t.width*ti(h.textAlign||"center"),rotationOriginY:t.height/2}),tk(!i&&h.crop,!0)&&(s=tc(l.x)&&tc(l.y)&&c.isInsidePlot(l.x-e+(l.width||0),l.y)&&c.isInsidePlot(l.x+e,l.y)),l[s?"show":"hide"]()}te(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){return{x:t.width/2+t.width/2*(2*ti(i)-1),y:t.height/2*2*(1-ti(e))}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:n,boxBottom:a}=t,l=e.stacking.usePercentage?100:tk(s,this.total,0),h=e.toPixels(l),d=t.xAxis||i.xAxis[0],c=tk(o,d.translate(this.x))+r,p=Math.abs(h-e.toPixels(a||tc(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),u=i.inverted,g=this.isNegative;return u?{x:(g?h:h-p)-i.plotLeft,y:d.height-c-n+d.top-i.plotTop,width:p,height:n}:{x:c+d.transB-i.plotLeft,y:(g?h-p:h)-i.plotTop,width:n,height:p}}}let{getDeferredAnimation:sd}=t2,{series:{prototype:sc}}=iI;function sp(){let t=this.inverted;this.axes.forEach(t=>{t.stacking?.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis?.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,tk(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function su(){let t=this.stacking;if(t){let e=t.stacks;ty(e,(t,i)=>{K(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function sg(){this.stacking||(this.stacking=new sv(this))}function sf(t,e,i,s){return!_(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function sm(){let t,e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.getColumn("x",!0),n=e.options.stacking,a=e[n+"Stacker"];a&&[s,"-"+s].forEach(i=>{let s=r.length,n,l,h;for(;s--;)n=r[s],t=e.getStackIndicator(t,n,e.index,i),l=o[i]?.[n],(h=l?.points[t.key||""])&&a.call(e,h,l,s)})}function sx(t,e,i){let s=e.total?100/e.total:0;t[0]=Y(t[0]*s),t[1]=Y(t[1]*s),this.stackedYData[i]=t[1]}function sy(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&this.chart.series.length>1?sc.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}
vendor: 8,953 bytes, line 4
4function sb(t,e){let i,s,o,r,n,a,l,h=e||this.options.stacking;if(!h||!this.reserveSpace()||(({group:"xAxis"})[h]||"yAxis")!==t.coll)return;let d=this.getColumn("x",!0),c=this.getColumn(this.pointValKey||"y",!0),p=[],u=c.length,g=this.options,f=g.threshold||0,m=g.startFromThreshold?f:0,x=g.stack,y=e?`${this.type},${h}`:this.stackKey||"",b="-"+y,v=this.negStacks,k=t.stacking,w=k.stacks,M=k.oldStacks;for(k.stacksTouched+=1,l=0;l<u;l++){let e=d[l]||0,u=c[l],g=tc(u)&&u||0;a=(i=this.getStackIndicator(i,e,this.index)).key||"",w[n=(s=v&&g<(m?0:f))?b:y]||(w[n]={}),w[n][e]||(M[n]?.[e]?(w[n][e]=M[n][e],w[n][e].total=null):w[n][e]=new sh(t,t.options.stackLabels,!!s,e,x)),o=w[n][e],null!==u?(o.points[a]=o.points[this.index]=[tk(o.cumulative,m)],_(o.cumulative)||(o.base=a),o.touched=k.stacksTouched,i.index>0&&!1===this.singleStacks&&(o.points[a][0]=o.points[this.index+","+e+",0"][0])):(delete o.points[a],delete o.points[this.index]);let S=o.total||0;"percent"===h?(r=s?y:b,S=v&&w[r]?.[e]?(r=w[r][e]).total=Math.max(r.total||0,S)+Math.abs(g):Y(S+Math.abs(g))):"group"===h?tc(u)&&S++:S=Y(S+g),"group"===h?o.cumulative=(S||1)-1:o.cumulative=Y(tk(o.cumulative,m)+g),o.total=S,null!==u&&(o.points[a].push(o.cumulative),p[l]=o.cumulative,o.hasValidPoints=!0)}"percent"===h&&(k.usePercentage=!0),"group"!==h&&(this.stackedYData=p),k.oldStacks={}}class sv{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<n;e++)s[e].modifyStacks();te(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,ty(this.stacks,t=>{ty(t,t=>{t.cumulative=t.total})}))}resetStacks(){ty(this.stacks,t=>{ty(t,(e,i)=>{tc(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=sd(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),ty(s,t=>{ty(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}(P||(P={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(H(t,"init",sg),H(t,"destroy",su),s.getStacks=sp,o.getStackIndicator=sf,o.modifyStacks=sm,o.percentStacker=sx,o.setGroupedPoints=sy,o.setStackedPoints=sb)};let sk=P;class sw extends iX{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,o)=>{let r,n=s.graph,a=n?"animate":"attr",l=s.dashStyle||t.dashStyle;if(n?(n.endX=this.preventGraphAnimation?null:e.xMap,n.animate({d:e})):e.length&&(s.graph=n=this.chart.renderer.path(e).addClass("highcharts-graph"+(o?` highcharts-zone-graph-${o-1} `:" ")+(o&&s.className||"")).attr({zIndex:1}).add(this.group)),n&&!i&&(r={stroke:!o&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},l?r.dashstyle=l:"square"!==t.linecap&&(r["stroke-linecap"]=r["stroke-linejoin"]="round"),n[a](r),t.shadow)){let e=this.chart.inverted,i={filterUnits:"userSpaceOnUse"},s=tf(t.shadow)?tm(e?{}:i,t.shadow):!!e||i;n.shadow(s)}n&&(n.startX=e.xMap,n.isArea=e.isArea)})}getGraphPath(t,e,i){let s=this,o=s.options,r=[],n=[],a,l=o.step,h=(t=t||s.points).reversed;return h&&t.reverse(),(l=({right:1,center:2})[l]||l&&3)&&h&&(l=4-l),(t=this.getValidPoints(t,!1,o.nullInteraction||!(o.connectNulls&&!e&&!i))).forEach(function(h,d){let c,p=h.plotX,u=h.plotY,g=t[d-1],f=h.isNull||"number"!=typeof u;(h.leftCliff||g?.rightCliff)&&!i&&(a=!0),f&&!_(e)&&d>0?a=!o.connectNulls:f&&!e?a=!0:(0===d||a?c=[["M",h.plotX,h.plotY]]:s.getPointSpline?c=[s.getPointSpline(t,h,d)]:l?(c=1===l?[["L",g.plotX,u]]:2===l?[["L",(g.plotX+p)/2,g.plotY],["L",(g.plotX+p)/2,u]]:[["L",p,g.plotY]]).push(["L",p,u]):c=[["L",p,u]],n.push(h.x),l&&(n.push(h.x),2===l&&n.push(h.x)),r.push.apply(r,c),a=!1)}),r.xMap=n,s.graphPath=r,r}}sw.defaultOptions=tm(iX.defaultOptions,{legendSymbol:"lineMarker"}),iI.registerSeriesType("line",sw);let{seriesTypes:{line:sM}}=iI;class sS extends sM{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,s,o=sM.prototype.getGraphPath,r=this.options,n=r.stacking,a=this.yAxis,l=[],h=[],d=this.index,c=a.stacking.stacks[this.stackKey],p=r.threshold,u=Math.round(a.getThreshold(r.threshold)),g=tk(r.connectNulls,"percent"===n),f=function(i,s,o){let r=t[i],g=t[s],f=n&&c[r.x].points[d],m=r[o+"Null"]||0,x=r[o+"Cliff"]||0,y,b,v=!0;f&&(x||m)?(y=(m?f[0]:f[1])+x,b=f[0]+x,v=!!m):!n&&g&&(g.isNull||!_(g.plotY))&&(y=b=p),void 0!==y&&(h.push({plotX:e,plotY:null===y?u:a.getThreshold(y),isNull:v,isCliff:!0}),l.push({plotX:e,plotY:null===b?u:a.getThreshold(b),doCurve:!1}))};t=t||this.points,n&&(t=this.getStackPoints(t));for(let o=0,r=t.length;o<r;++o)n||(t[o].leftCliff=t[o].rightCliff=t[o].leftNull=t[o].rightNull=void 0),i=t[o].isNull||!_(t[o].plotY),e=tk(t[o].rectPlotX,t[o].plotX),s=n?tk(t[o].yBottom,u):u,(!i||g)&&(g||f(o,o-1,"left"),i&&!n&&g||(h.push(t[o]),l.push({x:o,plotX:e,plotY:s})),g||f(o,o+1,"right"));let m=o.call(this,h,!0,!0);l.reversed=!0;let x=o.call(this,l,!0,!0),y=x[0];y&&"M"===y[0]&&(x[0]=["L",y[1],y[2]]);let b=m.concat(x);b.length&&b.push(["Z"]);let v=o.call(this,h,!1,g);return this.chart.series.length>1&&n&&h.some(t=>t.isCliff)&&(b.hasStackedCliffs=v.hasStackedCliffs=!0),b.xMap=m.xMap,this.areaPath=b,v}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,n=r.stacking.stacks[this.stackKey],a={},l=r.series,h=l.length,d=r.options.reversedStacks?1:-1,c=l.indexOf(e),p=r.getThreshold(e.options.threshold||0);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,a[t[e].x]=t[e];ty(n,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let u=l.map(t=>t.visible);s.forEach(function(t,g){let f=0,m,x;if(a[t]&&!a[t].isNull)i.push(a[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=n[s[g+i]],p=0;if(r){let i=c;for(;i>=0&&i<h;){let s=l[i].index;!(m=r.points[s])&&(s===e.index?a[t][o]=!0:u[i]&&(x=n[t].points[s])&&(p-=x[1]-x[0])),i+=d}}a[t][1===i?"rightCliff":"leftCliff"]=p});else{let e=c;for(;e>=0&&e<h;){let i=l[e].index;if(m=n[t].points[i]){f=m[1];break}e+=d}f||(f=0);let s=r.positiveValuesOnly&&f<=0?p:r.translate(f,!1,!0,!1,!0);i.push({isNull:!0,plotX:o.translate(t,!1,!1,!1,!0),x:t,plotY:s,yBottom:s})}})}return i}}sS.defaultOptions=tm(sM.defaultOptions,{threshold:0,legendSymbol:"areaMarker"}),Q(sS.prototype,{singleStacks:!1}),iI.registerSeriesType("area",sS);let{line:sC}=iI.seriesTypes;class sA extends sC{getPointSpline(t,e,i){let s,o,r,n,a=e.plotX||0,l=e.plotY||0,h=t[i-1],d=t[i+1];function c(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(c(h)&&c(d)){let t=h.plotX||0,i=h.plotY||0,c=d.plotX||0,p=d.plotY||0,u=0;s=(1.5*a+t)/2.5,o=(1.5*l+i)/2.5,r=(1.5*a+c)/2.5,n=(1.5*l+p)/2.5,r!==s&&(u=(n-o)*(r-a)/(r-s)+l-n),o+=u,n+=u,o>i&&o>l?(o=Math.max(i,l),n=2*l-o):o<i&&o<l&&(o=Math.min(i,l),n=2*l-o),n>p&&n>l?(n=Math.max(p,l),o=2*l-n):n<p&&n<l&&(n=Math.min(p,l),o=2*l-n),e.rightContX=r,e.rightContY=n,e.controlPoints={low:[s,o],high:[r,n]}}let p=["C",tk(h.rightContX,h.plotX,0),tk(h.rightContY,h.plotY,0),tk(s,a,0),tk(o,l,0),a,l];return h.rightContX=h.rightContY=void 0,p}}sA.defaultOptions=tm(sC.defaultOptions),iI.registerSeriesType("spline",sA);let sT=sA,{area:sP,area:{prototype:sO}}=iI.seriesTypes;class sL extends sT{}sL.defaultOptions=tm(sT.defaultOptions,sP.defaultOptions),Q(sL.prototype,{getGraphPath:sO.getGraphPath,getStackPoints:sO.getStackPoints,drawGraph:sO.drawGraph}),iI.registerSeriesType("areaspline",sL);let{animObject:sE}=t2,{parse:sD}=tq,{noop:sI}=R;class sB extends iX{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,n=o.reversed,a=s.options,{clipOffset:l,inverted:h}=this.chart,d={},c=h?"translateX":"translateY";t&&l?(d.scaleY=.001,i=X(o.toPixels(a.threshold||0),r,r+o.len),h?d.translateX=(i+=n?-Math.floor(l[0]):Math.ceil(l[2]))-o.len:d.translateY=i+=n?Math.ceil(l[0]):-Math.floor(l[2]),s.clipBox&&s.setClip(),s.group.attr(d)):(e=Number(s.group.attr(c)),s.group.animate({scaleY:1},Q(sE(s.options.animation),{step:function(t,i){s.group&&(d[c]=e+i.pos*(r-e),s.group.attr(d))}})))}
vendor: 5,254 bytes, line 4
4init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,n={},a,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){let i,o=e.yAxis,r=e.options;e.type===t.type&&e.reserveSpace()&&s.len===o.len&&s.pos===o.pos&&(r.stacking&&"group"!==r.stacking?(void 0===n[a=e.stackKey]&&(n[a]=l++),i=n[a]):!1!==r.grouping&&(i=l++),e.columnIndex=i)});let h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=h*e.groupPadding,c=(h-2*d)/(l||1),p=Math.min(e.maxPointWidth||i.len,tk(e.pointWidth,c*(1-2*e.pointPadding))),u=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:p,offset:(c-p)/2+(d+u*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=V(e+s,o,r)-(e=V(e,o,r)),this.options.crisp&&(i=V(t+i,o)-(t=V(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,n=0;ty(this.xAxis.stacking?.stacks,t=>{let e="number"==typeof i.x?t[i.x.toString()]?.points:void 0,s=e?.[this.index],a={};if(e&&tu(s)){let t=this.index,i=Object.keys(e).filter(t=>!t.match(",")&&e[t]&&e[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).filter(e=>{let i=this.chart.series[e].options,s=i.stacking&&i.stack;if(_(s)){if(tc(a[s]))return t===e&&(t=a[s]),!1;a[s]=e}return!0}).sort((t,e)=>e-t);r=i.indexOf(t),n=i.length}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,o=t.borderWidth=i.borderWidth??+!s,r=t.xAxis,n=t.yAxis,a=i.threshold,l=i.minPointLength??5,h=t.getColumnMetrics(),d=h.width,c=t.pointXOffset=h.offset,p=t.dataMin,u=t.dataMax,g=t.translatedThreshold=n.getThreshold(a),f=t.barW=Math.max(d,1+2*o);i.pointPadding&&i.crisp&&(f=Math.ceil(f)),iX.prototype.translate.apply(t),t.points.forEach(function(s){let o=s.yBottom??g,m=999+Math.abs(o),x=s.plotX||0,y=X(s.plotY,-m,n.len+m),b,v=Math.min(y,o),k=Math.max(y,o)-v,w=d,M=x+c,S=f;l&&Math.abs(k)<l&&(k=l,b=!n.reversed&&!s.negative||n.reversed&&s.negative,tc(a)&&tc(u)&&s.y===a&&u<=a&&(n.min||0)<a&&(p!==u||(n.max||0)<=a)&&(b=!b,s.negative=!s.negative),v=Math.abs(v-g)>l?o-(b?l:0):g-(b?l:0)),_(s.options.pointWidth)&&(M-=Math.round(((w=S=Math.ceil(s.options.pointWidth))-d)/2)),i.centerInCategory&&(M=t.adjustForMissingColumns(M,w,s,h)),s.barX=M,s.pointWidth=w,s.tooltipPos=e.inverted?[X(n.len+n.pos-e.plotLeft-y,n.pos-e.plotLeft,n.len+n.pos-e.plotLeft),r.len+r.pos-e.plotTop-M-S/2,k]:[r.left-e.plotLeft+M+S/2,X(y+n.pos-e.plotTop,n.pos-e.plotTop,n.len+n.pos-e.plotTop),k],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(M,v,S,s.isNull?0:k)}),te(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",n,a,l,h=t&&t.color||this.color,d=t&&t[o]||i[o]||h,c=t&&t.options.dashStyle||i.dashStyle,p=t&&t[r]||i[r]||this[r]||0,u=t?.isNull&&i.nullInteraction?0:t?.opacity??i.opacity??1;t&&this.zones.length&&(a=t.getZone(),h=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(d=a.borderColor||d,c=a.dashStyle||c,p=a.borderWidth||p)),e&&t&&(l=(n=tm(i.states[e],t.options.states?.[e]||{})).brightness,h=n.color||void 0!==l&&sD(h).brighten(n.brightness).get()||h,d=n[o]||d,p=n[r]||p,c=n.dashStyle||c,u=tk(n.opacity,u));let g={fill:h,stroke:d,"stroke-width":p,opacity:u};return c&&(g.dashstyle=c),g}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=o.nullInteraction,n=s.renderer,a=o.animationLimit||250;t.forEach(function(t){let l=t.plotY,h=t.graphic,d=!!h,c=h&&s.pointCount<a?"animate":"attr";tc(l)&&(null!==t.y||r)?(e=t.shapeArgs,h&&t.hasNewShapeType()&&(h=h.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!h&&(t.graphic=h=n[t.shapeType](e).add(t.group||i.group),h&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<a&&(h.attr({x:t.startXPos}),d=!0,c="animate")),h&&d&&h[c](tm(e)),s.styledMode||h[c](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),h&&(h.addClass(t.getClassName(),!0),h.attr({visibility:t.visible?"inherit":"hidden"}))):h&&(t.graphic=h.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(t){o?.normalize(t);let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})||i.allowOutsidePlotInteraction&&o?.inClass(t.target,"highcharts-point")||o?.inClass(t.target,"highcharts-data-label"))&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=tu(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups?.reduce((t,e)=>
4("dataLabelsGroup"===e?t.push(...i.dataLabelsGroups||[]):t.push(i[e]),t),[]).forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&t.css({cursor:i.options.cursor}))}),i._hasTracking=!0),te(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),iX.prototype.remove.apply(t,arguments)}}sB.defaultOptions=tm(iX.defaultOptions,{borderRadius:3,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}),Q(sB.prototype,{directTouch:!0,getSymbol:sI,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),iI.registerSeriesType("column",sB);let sN=sB,{getDeferredAnimation:sR}=t2,{format:sz}=en;!function(t){function e(){return l(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:n}=this,a=this.isCartesian&&r.inverted,l=t.plotX,h=t.plotY,d=i.rotation||0,c=_(l)&&_(h)&&r.isInsidePlot(l,Math.round(h),{inverted:a,paneCoordinates:!0,series:this}),p=0===d&&"justify"===tk(i.overflow,n?"none":"justify"),u=this.visible&&!1!==t.visible&&_(l)&&(t.series.forceDL||n&&!p||c||tk(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(l,a?s.x+1:s.y+s.height-1,{inverted:a,paneCoordinates:!0,series:this})),g=t.pos();if(u&&g){var f;let l=e.getBBox(),h=e.getBBox(void 0,0);if(s=Q({x:g[0],y:Math.round(g[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[a?"x":"y"]=0,s[a?"width":"height"]=this.yAxis?.len||0),Q(i,{width:l.width,height:l.height}),f=s,n&&this.xAxis&&!p&&this.setDataLabelStartPos(t,e,o,c,f),e.align(tm(i,{width:h.width,height:h.height}),!1,s,!1),e.alignAttr.x+=ti(i.align)*(h.width-l.width),e.alignAttr.y+=ti(i.verticalAlign)*(h.height-l.height),e[e.placed?"animate":"attr"]({"text-align":e.alignAttr["text-align"]||"center",x:e.alignAttr.x+(l.width-h.width)/2,y:e.alignAttr.y+(l.height-h.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),p&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,l,s,o);else if(tk(i.crop,!0)){let{x:t,y:i}=e.alignAttr;u=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+l.width-1,i+l.height-1,{paneCoordinates:!0,series:this})}i.shape&&!d&&e[o?"attr":"animate"]({anchorX:g[0],anchorY:g[1]})}o&&n&&(e.placed=!1),u||n&&!p?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(t,e){te(this,"initDataLabelsGroup",{index:t,zIndex:e?.zIndex??6}),this.dataLabelsGroup=this.dataLabelsGroups?.[t];let i=this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",e?.zIndex??6,this.dataLabelsParentGroups?.[t]);return this.dataLabelsGroups||(this.dataLabelsGroups=[]),this.dataLabelsGroups[t]=i,this.dataLabelsGroup=this.dataLabelsGroups[0],i}function o(t,e,i){let s=!!this.hasRendered,o=this.initDataLabelsGroup(t,i).attr({opacity:+s});return!s&&o&&(this.visible&&o.show(),this.options.animation?o.animate({opacity:1},e):o.attr({opacity:1})),o}function r(t){let e;t=t||this.points;let i=this,s=i.chart,o=i.options,r=s.renderer,{backgroundColor:n,plotBackgroun
4dColor:h}=s.options.chart,d=r.getContrast(tp(h)&&h||tp(n)&&n||"#000000"),c=l(i),{animation:p,defer:u}=c[0],g=u?sR(s,p,i):{defer:0,duration:0};te(this,"drawDataLabels"),i.hasDataLabels?.()&&t.forEach(t=>{let n=t.dataLabels||[],l=t.color||i.color;tT(a(c,t.dlOptions||t.options?.dataLabels)).forEach((a,h)=>{e=this.initDataLabels(h,g,a);let c=a.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o||!1}return!0}(t,a),{backgroundColor:p,borderColor:u,distance:f,style:m={}}=a,x,y,b,v={},k=n[h],w=!k,M;c&&(y=_(x=tk(a[t.formatPrefix+"Format"],a.format))?sz(x,t,s):(a[t.formatPrefix+"Formatter"]||a.formatter).call(t,a,t),b=a.rotation,!s.styledMode&&(m.color=tk(a.color,m.color,tp(i.color)?i.color:void 0,"#000000"),"contrast"===m.color?("none"!==p&&(M=p),t.contrastColor=r.getContrast("auto"!==M&&tp(M)&&M||(tp(l)?l:"")),m.color=M||!_(f)&&a.inside||0>tw(f||0)||o.stacking?t.contrastColor:d):delete t.contrastColor,o.cursor&&(m.cursor=o.cursor)),v={r:a.borderRadius||0,rotation:b,padding:a.padding,zIndex:1},s.styledMode||(v.fill="auto"===p?t.color:p,v.stroke="auto"===u?t.color:u,v["stroke-width"]=a.borderWidth),ty(v,(t,e)=>{void 0===t&&delete v[e]})),!k||c&&_(y)&&!!(k.div||k.text?.foreignObject)==!!a.useHTML&&(k.rotation&&a.rotation||k.rotation===a.rotation)||(k=void 0,w=!0),c&&_(y)&&""!==y&&(k?v.text=y:(k=r.label(y,0,0,a.shape,void 0,void 0,a.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(a.className||"")+(a.useHTML?" highcharts-tracker":"")),k&&(k.options=a,k.attr(v),s.styledMode?m.width&&k.css({width:m.width,textOverflow:m.textOverflow,whiteSpace:m.whiteSpace}):k.css(m).shadow(a.shadow),te(k,"beforeAddingDataLabel",{labelOptions:a,point:t}),k.added||k.add(e),i.alignDataLabel(t,k,a,void 0,w),k.isActive=!0,n[h]&&n[h]!==k&&n[h].destroy(),n[h]=k))});let h=n.length;for(;h--;)n[h]?.isActive?n[h].isActive=!1:(n[h]?.destroy(),n.splice(h,1));t.dataLabel=n[0],t.dataLabels=n}),te(this,"afterDrawDataLabels")}function n(t,e,i,s,o,r){let n=this.chart,a=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=n.inverted?this.yAxis:this.xAxis,c=d?d.left-n.plotLeft:0,p=n.inverted?this.xAxis:this.yAxis,u=p?p.top-n.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+h+c)<0&&("right"===a&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-h+c)>n.plotWidth&&("left"===a&&g<=0?(e.align="right",e.inside=!0):g+=n.plotWidth-m,x=!0),(m=i.y+h+u)<0&&("bottom"===l&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-h+u)>n.plotHeight&&("top"===l&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=n.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function a(t,e){let i=[],s;if(tu(t)&&!tu(e))i=t.map(function(t){return tm(t,e)});else if(tu(e)&&!tu(t))i=e.map(function(e){return tm(t,e)});else if(tu(t)||tu(e)){if(tu(t)&&tu(e))for(s=Math.max(t.length,e.length);s--;)i[s]=tm(t[s],e[s])}else i=tm(t,e);return i}function l(t){let e=t.chart.options.plotOptions;return tT(a(a(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function h(t,e,i,s,o){let r=this.chart,n=r.inverted,a=this.xAxis,l=a.reversed,h=((n?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=n?o.x:l?-h-c:a.width-h+c,e.startYPos=n?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
vendor: 4,310 bytes, line 4
4,void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let l=t.prototype;l.initDataLabels||(l.initDataLabels=o,l.initDataLabelsGroup=s,l.alignDataLabel=i,l.drawDataLabels=r,l.justifyDataLabel=n,l.mergeArrays=a,l.setDataLabelStartPos=h,l.hasDataLabels=e)}}(O||(O={}));let sW=O,{composed:sH}=R,{series:sF}=iI;function sG(t,e,i,s,o){let{chart:r,options:n}=this,a=r.inverted,l=this.xAxis?.len||r.plotSizeX||0,h=this.yAxis?.len||r.plotSizeY||0,d=t.dlBox||t.shapeArgs,c=t.below??(t.plotY||0)>(this.translatedThreshold??h),p=i.inside??!!n.stacking;if(d){if(s=tm(d),"allow"!==i.overflow||!1!==i.crop||!1!==n.clip){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-h;t>0&&t<s.height-1&&(s.height-=t)}a&&(s={x:h-s.y-s.height,y:l-s.x-s.width,width:s.height,height:s.width}),p||(a?(s.x+=c?0:s.width,s.width=0):(s.y+=c?s.height:0,s.height=0))}i.align??(i.align=!a||p?"center":c?"right":"left"),i.verticalAlign??(i.verticalAlign=a||p?"middle":c?"top":"bottom"),sF.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}(L||(L={})).compose=function(t){sW.compose(sF),tM(sH,"ColumnDataLabel")&&(t.prototype.alignDataLabel=sG)};let sj=L;class sX extends sN{}sX.defaultOptions=tm(sN.defaultOptions,{}),Q(sX.prototype,{inverted:!0}),iI.registerSeriesType("bar",sX);let{column:sY,line:sU}=iI.seriesTypes;class sV extends sU{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,n){if(e[r]&&!s.isNull){let a=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t,e=Math.max(0,(s[a]||0)-h),d=Math.min(l.len,(s[a]||0)+h);s[a]=e+(d-e)*((t=1e4*Math.sin(o+n*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}sV.defaultOptions=tm(sU.defaultOptions,{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}),Q(sV.prototype,{allowOutsidePlotInteraction:!0,drawTracker:sY.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),H(sV,"afterTranslate",function(){this.applyJitter()}),iI.registerSeriesType("scatter",sV);let{deg2rad:s$}=R;(f=E||(E={})).getCenter=function(){let t=this.options,e=this.chart,i=2*(t.slicedOffset||0),s=e.plotWidth-2*i,o=e.plotHeight-2*i,r=t.center,n=Math.min(s,o),a=t.thickness,l,h=t.size,d=t.innerSize||0,c,p;"string"==typeof h&&(h=parseFloat(h)),"string"==typeof d&&(d=parseFloat(d));let u=[tk(r?.[0],"50%"),tk(r?.[1],"50%"),tk(h&&h<0?void 0:t.size,"100%"),tk(d&&d<0?void 0:t.innerSize||0,"0%")];for(!e.angular||this instanceof iX||(u[3]=0),c=0;c<4;++c)p=u[c],l=c<2||2===c&&/%$/.test(p),u[c]=tS(p,[s,o,n,u[2]][c])+(l?i:0);return u[3]>u[2]&&(u[3]=u[2]),tc(a)&&2*a<u[2]&&a>0&&(u[3]=u[2]-2*a),te(this,"afterGetCenter",{positions:u}),u},f.getStartAndEndRadians=function(t,e){let i=tc(t)?t:0,s=tc(e)&&e>i&&e-i<360?e:i+360;return{start:s$*(i+-90),end:s$*(s+-90)}};let s_=E,{setAnimation:sK}=t2;class sq extends im{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name=t.chart.options.lang.pieSliceName);const s=t=>{this.slice("select"===t.type)};H(this,"select",s),H(this,"unselect",s)}isValid(){return tc(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let s=this.series;sK(i,s.chart),e=tk(e,!0),this.sliced=this.options.sliced=t=_(t)?t:!this.sliced,s.options.data[s.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}
vendor: 13,911 bytes, line 4
4Q(sq.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{angle:s=this.angle||0,breakAt:o,touchingSliceAt:r}=e,{series:n}=this,[a,l,h]=n.center,d=h/2,{plotLeft:c,plotWidth:p}=n.chart,u="left"===t.alignment,{x:g,y:f}=t,m=o.x;if(i.crookDistance){let t=tS(i.crookDistance,1);m=u?a+d+(p+c-a-d)*(1-t):c+(a-d)*t}else m=a+(l-f)*Math.tan(s-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=o.x:m>=g&&m<=o.x)&&x.push(["L",m,f]),x.push(["L",o.x,o.y],["L",r.x,r.y]),x}}});let{getStartAndEndRadians:sZ}=s_,{noop:sJ}=R;class sQ extends iX{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:tk(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:eS.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,l=Math.asin(X((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return this.points.some(t=>t.visible)}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||tm(!0,a,i),tm(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){te(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=sZ(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,n=this.points,a=e.ignoreHiddenPoint,l=n.length,h,d,c,p,u,g,f,m=0;for(t||(this.center=t=this.getCenter()),g=0;g<l;g++){f=n[g],h=o+m*r,f.isValid()&&(!a||f.visible)&&(m+=f.percentage/100),d=o+m*r;let e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:h,end:d};f.shapeType="arc",f.shapeArgs=e,(c=(d+h)/2)>1.5*Math.PI?c-=2*Math.PI:c<-Math.PI/2&&(c+=2*Math.PI),f.slicedTranslation={translateX:Math.round(Math.cos(c)*i),translateY:Math.round(Math.sin(c)*i)},p=Math.cos(c)*t[2]/2,u=Math.sin(c)*t[2]/2,f.tooltipPos=[t[0]+.7*p,t[1]+.7*u],f.half=+(c<-Math.PI/2||c>Math.PI/2),f.angle=c}te(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(this.total=r,s=0;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}sQ.defaultOptions=tm(iX.defaultOptions,{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.isNull?void 0:this.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}}}),Q(sQ.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:sN.prototype.drawTracker,getCenter:s_.getCenter,getSymbol:sJ,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:sN.prototype.pointAttribs,pointClass:sq,requireSorting:!1,searchPoint:sJ,trackerGroups:["group","dataLabelsGroup"]}),iI.registerSeriesType("pie",sQ);let{composed:s0,noop:s1}=R,{distribute:s2}=el,{series:s3}=iI;!function(t){let e={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function i(t,e){let i=Math.PI/2,{start:s=0,end:o=0}=t.shapeArgs||{},r=t.angle||0;e>0&&s<i&&o>i&&r>i/2&&r<1.5*i&&(r=r<=i?Math.max(i/2,(s+i)/2):Math.min(1.5*i,(i+o)/2));let{center:n,options:a}=this,l=n[2]/2,h=Math.cos(r),d=Math.sin(r),c=n[0]+h*l,p=n[1]+d*l,u=Math.min((a.slicedOffset||0)+(a.borderWidth||0),e/5);return{natural:{x:c+h*e,y:p+d*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{angle:r,breakAt:{x:c+h*u,y:p+d*u},touchingSliceAt:{x:c,y:p}},distance:e}}function s(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,n=Math.round(i.chartWidth/3),a=t.center,l=a[2]/2,h=a[1],d=[[],[]],c=[0,0,0,0],p=t.dataLabelPositioners,u,g,f,m=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),s3.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=a[2]/2,o=e.options,r=tS(o?.distance||0,s);0===i&&d[t.half].push(t),!_(o?.style?.width)&&e.getBBox().width>n&&(e.css({width:Math.round(.7*n)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),m=Math.max(m,r)})}),d.forEach((e,n)=>{let d=e.length,u=[],x,y,b=0,v;d&&(t.sortByAngle(e,n-.5),m>0&&(x=Math.max(0,h-l-m),y=Math.min(h+l+m,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,h-l-s.distance),s.bottom=Math.min(h+l+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},u.push(t.distributeBox))})}),s2(u,v=y+b-x,v/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(h=>{let d=h.options||{},m=i.distributeBox,x=h.dataLabelPosition,y=x?.natural.y||0,b=d.connectorPadding||0,v=h.lineHeight||21,k=(v-h.getBBox().height)/2,w=0,M=y,S="inherit";if(x){if(u&&_(m)&&x.distance>0&&(void 0===m.pos?S="hidden":(f=m.size,M=p.radialDistributionY(i,h))),d.justify)w=p.justify(i,h,l,a);else switch(d.alignTo){case"connectors":w=p.alignToConnectors(e,n,s,r);break;case"plotEdges":w=p.alignToPlotEdges(h,n,s,r);break;default:w=p.radialDistributionX(t,i,M-k,y,h)}if(x.attribs={visibility:S,align:x.alignment},x.posAttribs={x:w+(d.x||0)+(({left:b,right:-b})[x.alignment]||0),y:M+(d.y||0)-v/2},x.computed.x=w,x.computed.y=M-k,tk(d.crop,!0)){let t;w-(g=h.getBBox().width)<b&&1===n?(t=Math.round(g-w+b),c[3]=Math.max(t,c[3])):w+g>s-b&&0===n&&(t=Math.round(w+g-s+b),c[1]=Math.max(t,c[1])),M-f/2<0?c[0]=Math.max(Math.round(-M+f/2),c[0]):M+f/2>o&&(c[2]=Math.max(Math.round(M+f/2-o),c[2])),x.sideOverflow=t}}})}))}),(0===G(c)||this.verifyDataLabelOverflow(c))&&(this.placeDataLabels(),this.points.forEach(e=>{e.dataLabels?.forEach((s,o)=>{let{connectorColor:r,connectorWidth:n=1}=s.options||{},a=s.dataLabelPosition;if(tc(n)){let l;u=s.connector,a&&a.distance>0?(l=!u,u||(s.connector=u=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroups?.[o])),i.styledMode||u.attr({"stroke-width":n,stroke:r||e.color||"#666666"}),u[l?"attr":"animate"]({d:e.getConnectorPath(s)}),u.attr({visibility:a.attribs?.visibility})):u&&(s.connector=u.destroy())}})})))}function o(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:t.options?.style?.textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function r(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,n=null!==i.size;return!n&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=X(r,o,e[2]-Math.max(t[0],t[2])):(r=X(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,tS(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):n=!0),n}t.compose=function(t){if(sW.compose(s3),tM(s0,"PieDataLabel")){let n=t.prototype;n.dataLabelPositioners=e,n.alignDataLabel=s1,n.drawDataLabels=s,n.getDataLabelPosition=i,n.placeDataLabels=o,n.verifyDataLabelOverflow=r}}}(D||(D={}));let s5=D;(m=I||(I={})).getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},m.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},m.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},m.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,n=!1;for(o=0,r=s-1;o<s;r=o++){let[s,a]=i[o],[l,h]=i[r];a>e!=h>e&&t<(l-s)*(e-a)/(h-a)+s&&(n=!n)}return n};let{pointInPolygon:s6}=I;function s9(t,e){let i,s=!1;return t&&(i=t.newOpacity,t.oldOpacity!==i&&(t.hasClass("highcharts-data-label")?(t[i?"removeClass":"addClass"]("highcharts-data-label-hidden"),s=!0,t[t.isOld?"animate":"attr"]({opacity:i},void 0,function(){e.styledMode||t.css({pointerEvents:i?"auto":"none"})}),te(e,"afterHideOverlappingLabel")):t.attr({opacity:i})),t.isOld=!0),s}let{defaultOptions:s4}=tV,{noop:s8}=R,s7={radius:0,scope:"stack",where:void 0},ot=s8,oe=s8;function oi(t,e,i,s,o={}){let r=ot(t,e,i,s,o),{brStart:n=!0,brEnd:a=!0,innerR:l=0,r:h=i,start:d=0,end:c=0}=o;if(o.open||!o.borderRadius)return r;let p=c-d,u=Math.sin(p/2),g=Math.max(Math.min(tS(o.borderRadius||0,h-l),(h-l)/2,h*u/(1+u)),0),f=Math.min(g,p/Math.PI*2*l),m=r.length-1;for(;m--;)(n||0!==m&&3!==m)&&(a||1!==m&&2!==m)&&!function(t,e,i){let s,o,r,n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),("M"===n[0]||"L"===n[0])&&"A"===a[0]?(s=n,o=a,r=!0):"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n),s&&o&&o.params){let n=o[1],a=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=a?n-i:n+i,g=u?Math.asin(i/u):0,f=a?g:-g,m=Math.cos(g)*u;r?(l.start=h+f,s[1]=c+m*Math.cos(h),s[2]=p+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+n*Math.cos(l.start),p+n*Math.sin(l.start)])):(l.end=d-f,o[6]=c+n*Math.cos(l.end),o[7]=p+n*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,m,m>1?f:g);return r}function os(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,s=s4.plotOptions?.[this.type]?.borderRadius,o=oo(t.borderRadius,tf(s)?s:{}),r=e.options.reversed;for(let s of this.points){let{shapeArgs:n}=s;if("roundedRect"===s.shapeType&&n){let{width:a=0,height:l=0,y:h=0}=n,d=h,c=l;if("stack"===o.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));d=n.y,c=n.height}let p=(s.negative?-1:1)*(r?-1:1)==-1,u=o.where;!u&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(u="all"),u||(u="end");let g=Math.min(tS(o.radius,a),a/2,"all"===u?c/2:1/0)||0;"end"===u&&(p&&(d-=g),c+=g),Q(n,{brBoxHeight:c,brBoxY:d,r:g})}}}}function oo(t,e){return tf(t)||(t={radius:t||0}),tm(s7,e,t)}function or(){let t=oo(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=tS(t.radius,(i.r||0)-(i.innerR||0)))}}function on(t,e,i,s,o={}){let r=oe(t,e,i,s,o),{r:n=0,brBoxHeight:a=s,brBoxY:l=e}=o,h=e-l,d=l+a-(e+s),c=h-n>-.1?0:n,p=d-n>-.1?0:n,u=Math.max(c&&h,0),g=Math.max(p&&d,0),f=[t+c,e],m=[t+i-c,e],x=[t+i,e+c],y=[t+i,e+s-p],b=[t+i-p,e+s],v=[t+p,e+s],k=[t,e+s-p],w=[t,e+c],M=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(u){let t=M(c,c-u);f[0]-=t,m[0]+=t,x[1]=w[1]=e+c-u}if(s<c-u){let o=M(c,c-u-s);x[0]=y[0]=t+i-c+o,b[0]=Math.min(x[0],b[0]),v[0]=Math.max(y[0],v[0]),k[0]=w[0]=t+c-o,x[1]=w[1]=e+s}if(g){let t=M(p,p-g);b[0]+=t,v[0]-=t,y[1]=k[1]=e+s-p+g}if(s<p-g){let o=M(p,p-g-s);x[0]=y[0]=t+i-p+o,m[0]=Math.min(x[0],m[0]),f[0]=Math.max(y[0],f[0]),k[0]=w[0]=t+p-o,y[1]=k[1]=e}return r.length=0,r.push(["M",...f],["L",...m],["A",c,c,0,0,1,...x],["L",...y],["A",p,p,0,0,1,...b],["L",...v],["A",p,p,0,0,1,...k],["L",...w],["A",c,c,0,0,1,...f],["Z"]),r}function oa(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=tk(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=tk(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=tk(i.minWidth,0)&&this.chartHeight>=tk(i.minHeight,0)}).call(this,this)&&e.push(t._id)}function ol(t,e){let i=this.options.responsive,s=this.currentResponsive,o=[],r;
vendor: 4,409 bytes, line 4
4!e&&i&&i.rules&&i.rules.forEach(t=>{void 0===t._id&&(t._id=tR()),this.matchResponsiveRule(t,o)},this);let n=tm(...o.map(t=>ta(i?.rules||[],e=>e._id===t)).map(t=>t?.chartOptions));n.isResponsiveOptions=!0,o=o.toString()||void 0;let a=s?.ruleIds;o!==a&&(s&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(s.undoOptions,t,!0),this.updatingResponsive=!1),o?((r=Z(n,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:o,mergedOptions:n,undoOptions:r},this.updatingResponsive||this.update(n,t,!0)):this.currentResponsive=void 0)}(B||(B={})).compose=function(t){let e=t.prototype;return e.matchResponsiveRule||Q(e,{matchResponsiveRule:oa,setResponsive:ol}),t};let oh=B;R.AST=t8,R.Axis=e6,R.Chart=se,R.Color=tq,R.DataLabel=sW,R.DataTableCore=iA,R.Fx=tQ,R.HTMLElement=eV,R.Legend=iJ,R.LegendSymbol=iO,R.PlotLineOrBand=e7,R.Point=im,R.Pointer=iM,R.RendererRegistry=ea,R.Series=iX,R.SeriesRegistry=iI,R.StackItem=sh,R.SVGElement=eb,R.SVGRenderer=eG,R.Templating=en,R.Tick=eZ,R.Time=tj,R.Tooltip=id,R.addEvent=H,R.animObject=t2.animObject,R.animate=t2.animate,R.arrayMax=G,R.arrayMin=F,R.attr=j,R.chart=se.chart,R.clamp=X,R.color=tq.parse,R.correctFloat=Y,R.createElement=U,R.css=$,R.dateFormat=en.dateFormat,R.defaultOptions=tV.defaultOptions,R.defined=_,R.destroyObjectProperties=K,R.diffObjects=Z,R.discardElement=q,R.distribute=el.distribute,R.erase=J,R.error=tI,R.extend=Q,R.extendClass=tt,R.find=ta,R.fireEvent=te,R.format=en.format,R.getDeferredAnimation=t2.getDeferredAnimation,R.getMagnitude=to,R.getOptions=tV.getOptions,R.getStyle=tn,R.insertItem=tB,R.isArray=tu,R.isClass=td,R.isDOMElement=th,R.isFunction=tg,R.isNumber=tc,R.isObject=tf,R.isString=tp,R.merge=tm,R.normalizeTickInterval=tx,R.numberFormat=en.numberFormat,R.objectEach=ty,R.offset=tb,R.pad=tv,R.pick=tk,R.pInt=tw,R.relativeLength=tS,R.removeEvent=tA,R.seriesType=iI.seriesType,R.setAnimation=t2.setAnimation,R.setOptions=tV.setOptions,R.splat=tT,R.stableSort=tP,R.stop=t2.stop,R.syncTimeout=tO,R.time=tV.defaultTime,R.timers=tQ.timers,R.timeUnits=tN,R.uniqueKey=tR,R.useSerialIds=function(t){return s=tk(t,s)},R.wrap=function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}},({compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;H(t,"afterColumnTranslate",os,{order:9}),H(s,"afterTranslate",or),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY","brEnd","brStart"),ot=o.arc,oe=o.roundedRect,o.arc=oi,o.roundedRect=on}},optionsToObject:oo}).compose(R.Series,R.SVGElement,R.SVGRenderer),sj.compose(R.Series.types.column),sW.compose(R.Series),e9.compose(R.Axis),eV.compose(R.SVGRenderer),iJ.compose(R.Chart),e4.compose(R.Axis),(l=(x=R.Chart).prototype).hideOverlappingLabels||(l.hideOverlappingLabels=function(t){let e=t.length,i=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),s=(t,e)=>{for(let i of t)if(s6({x:i[0],y:i[1]},e))return!0;return!1},o,r,n,a,l,h=!1;for(let i=0;i<e;i++)(o=t[i])&&(o.oldOpacity=o.opacity,o.newOpacity=1,o.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},{height:s,polygon:o,width:r}=t.getBBox(),n=ti(t.alignValue)*r;return t.width=r,t.height=s,{x:i.x+(t.parentGroup?.translateX||0)+e-n,y:i.y+(t.parentGroup?.translateY||0)+e,width:r-2*e,height:s-2*e,polygon:o}}}(o));t.sort((t,e)=>(e?.labelrank||0)-(t?.labelrank||0));for(let o=0;o<e;++o){a=(r=t[o])&&r.absoluteBox;let h=a?.polygon;for(let d=o+1;d<e;++d){l=(n=t[d])&&n.absoluteBox;let e=!1;if(a&&l&&r!==n&&r?.newOpacity!==0&&n?.newOpacity!==0&&r?.visibility!=="hidden"&&n?.visibility!=="hidden"){let t=l.polygon;if(h&&t&&h!==t?s(h,t)&&(e=!0):i(a,l)&&(e=!0),e){let t=r?.labelrank<n?.labelrank?r:n,e=t?.text;t&&(t.newOpacity=0),e?.element.querySelector("textPath")&&e.hide()}}}}for(let e of t)e&&s9(e,this)&&(h=!0);h&&te(this,"afterHideAllOverlappingLabels")},H(x,"render",function(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&ty(i.stacking.stacks,t=>{ty(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>
4{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=tk(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,s9(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)})),s5.compose(R.Series.types.pie),e7.compose(R.Chart,R.Axis),iM.compose(R.Chart),oh.compose(R.Chart),sn.compose(R.Axis,R.Chart,R.Series),sk.compose(R.Axis,R.Chart,R.Series),id.compose(R.Pointer);var od=function(t,e){var i={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&0>e.indexOf(s)&&(i[s]=t[s]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,s=Object.getOwnPropertySymbols(t);o<s.length;o++)0>e.indexOf(s[o])&&Object.prototype.propertyIsEnumerable.call(t,s[o])&&(i[s[o]]=t[s[o]]);return i};-1===R.AST.allowedAttributes.indexOf("data-hc-option")&&R.AST.allowedAttributes.push("data-hc-option");let oc=R,op={logLevel:"silent",log(...t){"debug"===this.logLevel&&console.log(...t)}},ou=t=>{var e,i,s,o,r;if((null==(e=null==t?void 0:t.type)?void 0:e.type)==="Series"||(null==(i=null==t?void 0:t.type)?void 0:i._HCReact))return t;if("function"!=typeof(null==t?void 0:t.type))return null;let n=t.type(null!=(s=t.props)?s:{});return(null==(o=null==n?void 0:n.type)?void 0:o.type)==="Series"||(null==(r=null==n?void 0:n.type)?void 0:r._HCReact)?n:null};function og(t,e){let i={};function s(t,e,i=null){let o=e.split("."),r=t;for(let t=0;t<o.length-1;t++){let e=o[t];r[e]||(r[e]={}),r=r[e]}return r[o[o.length-1]]=i,t}function o(t){return e?e(t):t.filter(t=>"string"==typeof t).join("")}function r(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function n(t){return"object"==typeof t&&null!==t&&"$$typeof"in t&&"props"in t}function a(t,e){return Object.assign(Object.assign({},t),{childOption:e.childOption?`${e.childOption}.${t.childOption}`:t.childOption,HCOption:e.HCOption?`${e.HCOption}.${t.HCOption}`:t.HCOption})}function l(t,i,l){var d,c,p;if(!t)return;if("series"===l.childOption){let o=[];for(let i of Array.isArray(t)?t:[t])!function(t,i){var s,o,a,l;if(!n(t))return;let h=null!=(s=t.props)?s:{},{children:d,options:c,type:p,data:u}=h,g=od(h,["children","options","type","data"]);i.push(function t(e,...i){for(let s of i)if(r(s))for(let[i,o]of Object.entries(s)){if(Array.isArray(o)){e[i]=o.slice();continue}if(r(o)){let s=e[i];e[i]=t(r(s)?s:{},o);continue}e[i]=o}return e}({type:null!=p?p:null==(l=null==(a=null==(o=t.type)?void 0:o._HCReact)?void 0:a.HCOption)?void 0:l.replace("series.",""),data:u||[]},c,g,d&&og(d,e)))}(i,o);o.length>0&&s(i,"series",o);return}if(Array.isArray(t)&&t.some(t=>{var e;return null==(e=null==t?void 0:t.props)?void 0:e["data-hc-option"]})){let e=[];for(let r of t){let t=null==(d=null==r?void 0:r.props)?void 0:d["data-hc-option"];t?s(i,t,o([r])):e.push(r)}e.length&&l.childOption&&s(i,l.childOption,o(e));return}let u=[];if(Array.isArray(t))for(let e of t){if(null==(c=null==e?void 0:e.type)?void 0:c._HCReact){let t=e.type._HCReact;e.type._HCReact=a(t,l),h(e);continue}u.push(e)}else if(null==(p=null==t?void 0:t.type)?void 0:p._HCReact){let e=t.type._HCReact;t.type._HCReact=a(e,l),h(t)}else u.push(t);if(l.childOption){let e=u.length>0?u:[t];s(i,l.childOption,o(e))}}function h(t){var o,r,a,h,d;if(!t||"object"!=typeof t)return;let c=null==(o=t.type)?void 0:o._HCReact;if(!(null==c?void 0:c.HCOption))return;let p=null!=(r=i[d=c.HCOption])?r:i[d]=c.isArrayType?[]:{},u=Array.isArray(p),g=u?{}:p,f=null!=(a=t.props)?a:{},{children:m}=f,x=od(f,["children"]);c.defaultOptions&&Object.assign(g,c.defaultOptions),Object.assign(g,x),"string"==typeof m&&c.childOption?s(g,c.childOption,m):Array.isArray(m)?l(m,g,c):n(m)&&e&&((null==(h=m.props)?void 0:h.children)&&1===Object.keys(m.props).length?l(m.props.children,g,c):c.childOption&&s(g,c.childOption,e(m))),u&&i[c.HCOption].push(g)}return Array.isArray(t)?t.flat().forEach(t=>h(t)):h(t),i}function of(t){let e={className:"class",htmlFor:"for",tabIndex:"tabindex",colSpan:"colspan",rowSpan:"rowspan",dateTime:"datetime",readOnly:"readonly",maxLength:"maxlength",minLength:"minlength"},i=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),s={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function o(t){return t.replace(/["&]/g,t=>s[t])}function r(t){let i=e[t]||t;return i.startsWith("data-")||i.startsWith("aria-")?i.toLowerCase():i.startsWith("data")||i.startsWith("aria")?i.replace(/[A-Z]/g,t=>"-"+t.toLowerCase()):i}return function t(e){var n;if(null==e||"boolean"==typeof e)return"";if("string"==typeof e)return e.replace(/[&<>"']/g,t=>s[t]);if("number"==typeof e)return String(e);if(Array.isArray(e))return e.map(t).join("");if(!(null==e?void 0:e.$$typeof))return"";if("function"==typeof e.type)return t(e.type(e.props||{}));if(e.type===Symbol.for("react.fragment"))return t(null==(n=e.props)?void 0:n.children);if("string"==typeof e.type){let s=e.props||{},{children:n,key:a,ref:l,dangerouslySetInnerHTML:h,suppressContentEditableWarning:d,suppressHydrationWarning:c}=s,p=od(s,["children","key","ref","dangerouslySetInnerHTML","suppressContentEditableWarning","suppressHydrationWarning"]),u=e.type,g=[];for(let[t,e]of Object.entries(p))if(null!=e&&(!t.startsWith("on")||"function"!=typeof e)){if("boolean"==typeof e){e&&g.pu
4sh(r(t));continue}if("style"===t&&"object"==typeof e&&!Array.isArray(e)){let t=Object.entries(e).filter(([t,e])=>null!=e).map(([t,e])=>{let i=t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase());return`${i}:${e}`}).join(";");t&&g.push(`style="${o(t)}"`);continue}g.push(`${r(t)}="${o(String(e))}"`)}let f=g.length?" "+g.join(" "):"";if(i.has(u))return`<${u}${f}>`;let m="object"==typeof h&&null!==h&&"__html"in h&&null!=h.__html?String(h.__html):t(n);return`<${u}${f}>${m}</${u}>`}return""}(t)}let om=(0,N.forwardRef)(function(t,e){t.highcharts&&function(t){if(void 0===t){oc=R,delete oc.__provided;return}(oc=t).__provided=!0}(t.highcharts);let i=(0,N.useMemo)(()=>{var e;return null!=(e=t.renderToHTML)?e:of},[t.renderToHTML]),s=(0,N.useMemo)(()=>{let e,s=(Array.isArray(e=t.children)?e.flat():[e]).map(ou);return oc.merge(Object.assign(Object.assign({title:Object.assign({},void 0!==t.title?{text:t.title}:{}),subtitle:Object.assign({},void 0!==t.subtitle?{text:t.subtitle}:{}),caption:Object.assign({},void 0!==t.caption?{text:t.caption}:{}),credits:Object.assign({},void 0!==t.credits?{text:t.credits}:{}),chart:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},void 0!==t.type?{type:t.type}:{}),void 0!==t.height?{height:t.height}:{}),void 0!==t.width?{width:t.width}:{}),void 0!==t.inverted?{inverted:t.inverted}:{}),void 0!==t.animation?{animation:t.animation}:{}),void 0!==t.styledMode?{styledMode:t.styledMode}:{}),void 0!==t.backgroundColor?{backgroundColor:t.backgroundColor}:{}),void 0!==t.borderColor?{borderColor:t.borderColor}:{}),void 0!==t.borderWidth?{borderWidth:t.borderWidth}:{}),void 0!==t.margin?{margin:t.margin}:{}),void 0!==t.spacing?{spacing:t.spacing}:{}),{allowMutatingData:!1})},void 0!==t.colors?{colors:t.colors}:{}),t.options||{}),Object.assign({series:t.children?s.filter(t=>{var e;return(null==(e=null==t?void 0:t.type)?void 0:e.type)==="Series"}).map(t=>{var e,s,o;let r=t.props,{children:n,options:a,type:l,data:h}=r,d=od(r,["children","options","type","data"]);return oc.merge({type:null!=l?l:null==(o=null==(s=null==(e=t.type)?void 0:e._HCReact)?void 0:s.HCOption)?void 0:o.replace("series.",""),data:h||[]},a||{},d,og(n,i))}):[]},og(s,i)),t.options||{})},[t.children,t.options,i]),o=(0,N.useRef)(),r=(0,N.useRef)();return(0,N.useImperativeHandle)(e,()=>({get chart(){return r.current},get container(){return o.current}}),[]),(0,N.useEffect)(()=>{if(op.log(JSON.stringify(s,void 0,"  ")),r.current)op.log("Updating chart",JSON.parse(JSON.stringify(s))),r.current.update(s,!0,!0);else{let e=t.chartConstructor||"chart";op.log("Creating chart using",e,"constructor"),r.current=oc[e](o.current,s)}},[s,t.chartConstructor]),N.createElement("div",Object.assign({},t.containerProps,{ref:o}))});function ox(t){return null}ox.type="Series",om.Series=ox},98643:function(t,e,i){var s,o,r;o="u">typeof window?window:this,r=function(t){"use strict";var e={};function i(e,i,s,o){!e.hasOwnProperty(i)&&(e[i]=o.apply(null,s),t&&"function"==typeof CustomEvent&&t.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}return i(e,"Core/Globals.js",[],function(){var e,i;return(i=e||(e={})).SVG_NS="http://www.w3.org/2000/svg",i.product="Highcharts",i.version="11.4.8",i.win=void 0!==t?t:{},i.doc=i.win.document,i.svg=i.doc&&i.doc.createElementNS&&!!i.doc.createElementNS(i.SVG_NS,"svg").createSVGRect,i.userAgent=i.win.navigator&&i.win.navigator.userAgent||"",i.isChrome=i.win.chrome,i.isFirefox=-1!==i.userAgent.indexOf("Firefox"),i.isMS=/(edge|msie|trident)/i.test(i.userAgent)&&!i.win.opera,i.isSafari=!i.isChrome&&-1!==i.userAgent.indexOf("Safari"),i.isTouchDevice=/(Mobile|Android|Windows Phone)/.test(i.userAgent),i.isWebKit=-1!==i.userAgent.indexOf("AppleWebKit"),i.deg2rad=2*Math.PI/360,i.hasBidiBug=i.isFirefox&&4>parseInt(i.userAgent.split("Firefox/")[1],10),i.marginNames=["plotTop","marginRight","marginBottom","plotLeft"],i.noop=function(){},i.supportsPassiveEvents=function(){let t=!1;if(!i.isMS){let e=Object.defineProperty({},"passive",{get:function(){t=!0}});i.win.addEventListener&&i.win.removeEventListener&&(i.win.addEventListener("testPassive",i.noop,e),i.win.removeEventListener("testPassive",i.noop,e))}return t}(),i.charts=[],i.composed=[],i.dateFormats={},i.seriesTypes={},i.symbolSizes={},i.chartCount=0,e}),i(e,"Core/Utilities.js",[e["Core/Globals.js"]],function(t){let e,i,s,{charts:o,doc:r,win:n}=t;function a(e,i,s,o){let r=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${r}: Deprecated member`);let l=g(e),h=l?`${r} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==o){let t="";l&&(h+="?"),S(o,function(e,i){t+=`
5 - ${i}: ${e}`,l&&(h+=encodeURI(i)+"="+encodeURI(e))}),h+=t}A(t,"displayError",{chart:s,code:e,message:h,params:o},function(){if(i)throw Error(h);n.console&&-1===a.messages.indexOf(h)&&console.warn(h)}),a.messages.push(h)}function l(t,e){return parseInt(t,e||10)}function h(t){return"string"==typeof t}function d(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function c(t,e){return!!t&&"object"==typeof t&&(!e||!d(t))}function p(t){return c(t)&&"number"==typeof t.nodeType}function u(t){let e=t&&t.constructor;return!!(c(t,!0)&&!p(t)&&e&&e.name&&"Object"!==e.name)}function g(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function f(t){return null!=t}function m(t,e,i){let s,o=h(e)&&!f(i),r=(e,i)=>{f(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return h(e)?r(i,e):S(e,r),s}function x(t){return d(t)?t:[t]}function y(t,e){let i;for(i in t||(t={}),e)t[i]=e[i];return t}function b(){let t=arguments,e=t.length;for(let i=0;i<e;i++){let e=t[i];if(null!=e)return e}}function v(t,e){y(t.style,e)}function k(t){return Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function w(t,e){return t>1e14?t:parseFloat(t.toPrecision(e||14))}(a||(a={})).messages=[],Math.easeInOutSine=function(t){return -.5*(Math.cos(Math.PI*t)-1)};let M=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;i<s;i++)if(e(t[i],i))return t[i]};function S(t,e,i){for(let s in t)Object.hasOwnProperty.call(t,s)&&e.call(i||t[s],t[s],s,t)}function C(t,e,i){function s(e,i){let s=t.removeEventListener;s&&s.call(t,e,i,!1)}function o(i){let o,r;t.nodeName&&(e?(o={})[e]=!0:o=i,S(o,function(t,e){if(i[e])for(r=i[e].length;r--;)s(e,i[e][r].fn)}))}let r="function"==typeof t&&t.prototype||t;if(Object.hasOwnProperty.call(r,"hcEvents")){let t=r.hcEvents;if(e){let r=t[e]||[];i?(t[e]=r.filter(function(t){return i!==t.fn}),s(e,i)):(o(t),t[e]=[])}else o(t),delete r.hcEvents}}function A(e,i,s,o){if(s=s||{}
5,r.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==t)){let t=r.createEvent("Events");t.initEvent(i,!0,!0),s=y(t,s),e.dispatchEvent?e.dispatchEvent(s):e.fireEvent(i,s)}else if(e.hcEvents){s.target||y(s,{preventDefault:function(){s.defaultPrevented=!0},target:e,type:i});let t=[],o=e,r=!1;for(;o.hcEvents;)Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents[i]&&(t.length&&(r=!0),t.unshift.apply(t,o.hcEvents[i])),o=Object.getPrototypeOf(o);r&&t.sort((t,e)=>t.order-e.order),t.forEach(t=>{!1===t.fn.call(e,s)&&s.preventDefault()})}o&&!s.defaultPrevented&&o.call(e,s)}S({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},function(e,i){t[i]=function(t){return a(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${e}`}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}});let T=(e=Math.random().toString(36).substring(2,9)+"-",i=0,function(){return"highcharts-"+(s?"":e)+i++});return n.jQuery&&(n.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new t[h(e[0])?e.shift():"Chart"](this[0],e[0],e[1]),this):o[m(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s,o={}){let r="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(r,"hcEvents")||(r.hcEvents={});let n=r.hcEvents;t.Point&&e instanceof t.Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let a=e.addEventListener;a&&a.call(e,i,s,!!t.supportsPassiveEvents&&{passive:void 0===o.passive?-1!==i.indexOf("touch"):o.passive,capture:!1}),n[i]||(n[i]=[]);let l={fn:s,order:"number"==typeof o.order?o.order:1/0};return n[i].push(l),n[i].sort((t,e)=>t.order-e.order),function(){C(e,i,s)}},arrayMax:function(t){let e=t.length,i=t[0];for(;e--;)t[e]>i&&(i=t[e]);return i},arrayMin:function(t){let e=t.length,i=t[0];for(;e--;)t[e]<i&&(i=t[e]);return i},attr:m,clamp:function(t,e,i){return t>e?t<i?t:i:e},clearTimeout:function(t){f(t)&&clearTimeout(t)},correctFloat:w,createElement:function(t,e,i,s,o){let n=r.createElement(t);return e&&y(n,e),o&&v(n,{padding:"0",border:"none",margin:"0"}),i&&v(n,i),s&&s.appendChild(n),n},crisp:(t,e=0,i)=>{let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o},css:v,defined:f,destroyObjectProperties:function(t,e,i){S(t,function(s,o){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[o]})},diffObjects:function(t,e,i,s){let o={};return function t(e,o,r,n){let a=i?o:e;S(e,function(i,l){if(!n&&s&&s.indexOf(l)>-1&&o[l]){i=x(i),r[l]=[];for(let e=0;e<Math.max(i.length,o[l].length);e++)o[l][e]&&(void 0===i[e]?r[l][e]=o[l][e]:(r[l][e]={},t(i[e],o[l][e],r[l][e],n+1)))}else c(i,!0)&&!i.nodeType?(r[l]=d(i)?[]:{},t(i,o[l]||{},r[l],n+1),0!==Object.keys(r[l]).length||"colorAxis"===l&&0===n||delete r[l]):(e[l]!==o[l]||l in e&&!(l in o))&&"__proto__"!==l&&"constructor"!==l&&(r[l]=a[l])})}(t,e,o,0),o},discardElement:function(t){t&&t.parentElement&&t.parentElement.removeChild(t)},erase:function(t,e){let i=t.length;for(;i--;)if(t[i]===e){t.splice(i,1);break}},error:a,extend:y,extendClass:function(t,e){let i=function(){};return i.prototype=new t,y(i.prototype,e),i},find:M,fireEvent:A,getClosestDistance:function(t,e){let i,s,o,r,n=!e;return t.forEach(t=>{if(t.length>1)for(r=s=t.length-1;r>0;r--)(o=t[r]-t[r-1])<0&&!n?(e?.(),e=void 0):o&&(void 0===i||o<i)&&(i=o)}),i},getMagnitude:k,getNestedProperty:function(t,e){let i=t.split(".");for(;i.length&&f(e);){let t=i.shift();if(void 0===t||"__proto__"===t)return;if("this"===t){let t;return c(e)&&(t=e["@this"]),t??e}let s=e[t];if(!f(s)||"function"==typeof s||"number"==typeof s.nodeType||s===n)return;e=s}return e},getStyle:function t(e,i,s){let o;if("width"===i){let i=Math.min(e.offsetWidth,e.scrollWidth),s=e.getBoundingClientRect&&e.getBoundingClientRect().width;return s<i&&s>=i-1&&(i=Math.floor(s)),Math.max(0,i-(t(e,"padding-left",!0)||0)-(t(e,"padding-right",!0)||0))}if("height"===i)return Math.max(0,Math.min(e.offsetHeight,e.scrollHeight)-(t(e,"padding-top",!0)||0)-(t(e,"padding-bottom",!0)||0));let r=n.getComputedStyle(e,void 0);return r&&(o=r.getPropertyValue(i),b(s,"opacity"!==i)&&(o=l(o))),o},inArray:function(t,e,i){return a(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)}
5,insertItem:function(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i<o+1;i++)if(!e[i]||g(s)&&s<b(e[i].options.index,e[i]._i)||e[i].options.isInternal){e.splice(i,0,t);break}return i},isArray:d,isClass:u,isDOMElement:p,isFunction:function(t){return"function"==typeof t},isNumber:g,isObject:c,isString:h,keys:function(t){return a(32,!1,void 0,{"Highcharts.keys":"use Object.keys"}),Object.keys(t)},merge:function(){let t,e=arguments,i={},s=function(t,e){return"object"!=typeof t&&(t={}),S(e,function(i,o){"__proto__"!==o&&"constructor"!==o&&(!c(i,!0)||u(i)||p(i)?t[o]=e[o]:t[o]=s(t[o]||{},i))}),t};!0===e[0]&&(i=e[1],e=Array.prototype.slice.call(e,2));let o=e.length;for(t=0;t<o;t++)i=s(i,e[t]);return i},normalizeTickInterval:function(t,e,i,s,o){let r,n=t;i=b(i,k(t));let a=t/i;for(!e&&(e=o?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===s&&(1===i?e=e.filter(function(t){return t%1==0}):i<=.1&&(e=[1/i]))),r=0;r<e.length&&(n=e[r],(!o||!(n*i>=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return w(n*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:S,offset:function(t){let e=r.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(n.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(n.pageXOffset||e.scrollLeft)-(e.clientLeft||0),width:i.width,height:i.height}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:b,pInt:l,pushUnique:function(t,e){return 0>t.indexOf(e)&&!!t.push(e)},relativeLength:function(t,e,i){return/%$/.test(t)?e*parseFloat(t)/100+(i||0):parseFloat(t)},removeEvent:C,replaceNested:function(t,...e){let i,s;do for(s of(i=t,e))t=t.replace(s[0],s[1]);while(t!==i);return t},splat:x,stableSort:function(t,e){let i,s,o=t.length;for(s=0;s<o;s++)t[s].safeI=s;for(t.sort(function(t,s){return 0===(i=e(t,s))?t.safeI-s.safeI:i}),s=0;s<o;s++)delete t[s].safeI},syncTimeout:function(t,e,i){return e>0?setTimeout(t,e,i):(t.call(0,i),-1)},timeUnits:{millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:24192e5,year:314496e5},uniqueKey:T,useSerialIds:function(t){return s=b(t,s)},wrap:function(t,e,i){let s=t[e];t[e]=function(){let t=arguments,e=this;return i.apply(this,[function(){return s.apply(e,arguments.length?arguments:t)}].concat([].slice.call(arguments)))}}}}),i(e,"Core/Chart/ChartDefaults.js",[],function(){return{alignThresholds:!1,panning:{enabled:!1,type:"x"},styledMode:!1,borderRadius:0,colorCount:10,allowMutatingData:!0,ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{},position:{}},reflow:!0,type:"line",zooming:{singleTouch:!1,resetButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}}},width:null,height:null,borderColor:"#334eff",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"}}),i(e,"Core/Color/Palettes.js",[],function(){return{colors:["#2caffe","#544fc5","#00e272","#fe6a35","#6b8abc","#d568fb","#2ee0ca","#fa4b42","#feb56a","#91e8e1"]}}),i(e,"Core/Time.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{win:i}=t,{defined:s,error:o,extend:r,isNumber:n,isObject:a,merge:l,objectEach:h,pad:d,pick:c,splat:p,timeUnits:u}=e,g=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,f=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class m{constructor(t){this.options={},this.useUTC=!1,this.variableTimezone=!1,this.Date=i.Date,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.update(t)}get(t,e){if(this.variableTimezone||this.timezoneOffset){let i=e.getTime(),s=i-this.getTimezoneOffset(e);e.setTime(s);let o=e["getUTC"+t]();return e.setTime(i),o}return this.useUTC?e["getUTC"+t]():e["get"+t]()}set(t,e,i){if(this.variableTimezone||this.timezoneOffset){if("Milliseconds"===t||"Seconds"===t||"Minutes"===t&&this.getTimezoneOffset(e)%36e5==0)return e["setUTC"+t](i);let s=this.getTimezoneOffset(e),o=e.getTime()-s;e.setTime(o),e["setUTC"+t](i);let r=this.getTimezoneOffset(e);return o=e.getTime()+r,e.setTime(o)}return this.useUTC||g&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(t={}){let e=c(t.useUTC,!0);this.options=t=l(!0,this.options,t),this.Date=t.Date||i.Date||Date,this.useUTC=e,this.timezoneOffset=e&&t.timezoneOffset||void 0,this.getTimezoneOffset=this.timezoneOffsetFunction(),this.variableTimezone=e&&!!(t.getTimezoneOffset||t.timezone)}makeTime(t,e,i,s,o,r){let n,a,l;return this.useUTC?(n=this.Date.UTC.apply(0,arguments),a=this.getTimezoneOffset(n),n+=a,a!==(l=this.getTimezoneOffset(n))?n+=l-a:a-36e5!==this.getTimezoneOffset(n-36e5)||f||(n-=36e5)):n=new this.Date(t,e,c(i,1),c(s,0),c(o,0),c(r,0)).getTime(),n}timezoneOffsetFunction(){let t=this,e=this.options,i=e.getTimezoneOffset;return this.useUTC?e.timezone?t=>{try{let i=`shortOffset,${e.timezone||""}`,[s,o,r,a,l=0]=(m.formatCache[i]=m.formatCache[i]||Intl.DateTimeFormat("en",{timeZone:e.timezone,timeZoneName:"shortOffset"})).format(t).split(/(GMT|:)/).map(Number),h=-(36e5*(r+l/60));if(n(h))return h}catch(t){o(34)}return 0}:this.useUTC&&i?t=>6e4*i(t.valueOf()):()=>6e4*(t.timezoneOffset||0):t=>6e4*new Date(t.toString()).getTimezoneOffset()}dateFormat(e,i,o){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invali
5dDate||"";e=c(e,"%Y-%m-%d %H:%M:%S");let n=this,a=new this.Date(i),l=this.get("Hours",a),p=this.get("Day",a),u=this.get("Date",a),g=this.get("Month",a),f=this.get("FullYear",a),m=t.defaultOptions.lang,x=m&&m.weekdays,y=m&&m.shortWeekdays;return h(r({a:y?y[p]:x[p].substr(0,3),A:x[p],d:d(u),e:d(u,2," "),w:p,b:m.shortMonths[g],B:m.months[g],m:d(g+1),o:g+1,y:f.toString().substr(2,2),Y:f,H:d(l),k:l,I:d(l%12||12),l:l%12||12,M:d(this.get("Minutes",a)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:d(this.get("Seconds",a)),L:d(Math.floor(i%1e3),3)},t.dateFormats),function(t,s){for(;-1!==e.indexOf("%"+s);)e=e.replace("%"+s,"function"==typeof t?t.call(n,i):t)}),o?e.substr(0,1).toUpperCase()+e.substr(1):e}resolveDTLFormat(t){return a(t,!0)?t:{main:(t=p(t))[0],from:t[1],to:t[2]}}getTimeTicks(t,e,i,o){let n,a,l,h,d=this,p=d.Date,g=[],f={},m=new p(e),x=t.unitRange,y=t.count||1;if(o=c(o,1),s(e)){d.set("Milliseconds",m,x>=u.second?0:y*Math.floor(d.get("Milliseconds",m)/y)),x>=u.second&&d.set("Seconds",m,x>=u.minute?0:y*Math.floor(d.get("Seconds",m)/y)),x>=u.minute&&d.set("Minutes",m,x>=u.hour?0:y*Math.floor(d.get("Minutes",m)/y)),x>=u.hour&&d.set("Hours",m,x>=u.day?0:y*Math.floor(d.get("Hours",m)/y)),x>=u.day&&d.set("Date",m,x>=u.month?1:Math.max(1,y*Math.floor(d.get("Date",m)/y))),x>=u.month&&(d.set("Month",m,x>=u.year?0:y*Math.floor(d.get("Month",m)/y)),a=d.get("FullYear",m)),x>=u.year&&(a-=a%y,d.set("FullYear",m,a)),x===u.week&&(h=d.get("Day",m),d.set("Date",m,d.get("Date",m)-h+o+(h<o?-7:0))),a=d.get("FullYear",m);let t=d.get("Month",m),r=d.get("Date",m),c=d.get("Hours",m);e=m.getTime(),(d.variableTimezone||!d.useUTC)&&s(i)&&(l=i-e>4*u.month||d.getTimezoneOffset(e)!==d.getTimezoneOffset(i));let p=m.getTime();for(n=1;p<i;)g.push(p),x===u.year?p=d.makeTime(a+n*y,0):x===u.month?p=d.makeTime(a,t+n*y):l&&(x===u.day||x===u.week)?p=d.makeTime(a,t,r+n*y*(x===u.day?1:7)):l&&x===u.hour&&y>1?p=d.makeTime(a,t,r,c+n*y):p+=x*y,n++;g.push(p),x<=u.hour&&g.length<1e4&&g.forEach(function(t){t%18e5==0&&"000000000"===d.dateFormat("%H%M%S%L",t)&&(f[t]="day")})}return g.info=r(t,{higherRanks:f,totalRange:x*y}),g}getDateFormat(t,e,i,s){let o=this.dateFormat("%m-%d %H:%M:%S.%L",e),r="01-01 00:00:00.000",n={millisecond:15,second:12,minute:9,hour:6,day:3},a="millisecond",l=a;for(a in u){if(t===u.week&&+this.dateFormat("%w",e)===i&&o.substr(6)===r.substr(6)){a="week";break}if(u[a]>t){a=l;break}if(n[a]&&o.substr(n[a])!==r.substr(n[a]))break;"week"!==a&&(l=a)}return this.resolveDTLFormat(s[a]).main}}return m.formatCache={},m}),i(e,"Core/Defaults.js",[e["Core/Chart/ChartDefaults.js"],e["Core/Globals.js"],e["Core/Color/Palettes.js"],e["Core/Time.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{isTouchDevice:r}=e,{fireEvent:n,merge:a}=o,l={colors:i.colors,symbols:["circle","diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],decimalPoint:".",numericSymbols:["k","M","G","T","P","E"],resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{buttonTheme:{fill:"#f7f7f7",padding:8,r:2,stroke:"#cccccc","stroke-width":1,style:{color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},states:{hover:{fill:"#e6e6e6"},select:{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},disabled:{style:{color:"#cccccc"}}}}},time:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:t,title:{style:{color:"#333333",fontWeight:"bold"},text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{style:{color:"#666666",fontSize:"0.8em"},text:"",align:"center",widthAdjust:-44},caption:{margin:15,style:{color:"#666666",fontSize:"0.8em"},text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip",events:{},layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:{duration:300,easing:t=>Math.sqrt(1-Math.pow(t-1,2))},borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y",month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:r?25:10,headerFormat:'<span style="font-size: 0.8em">{point.key}</span><br/>',pointFormat:'<span style="color:{point.color}">●</span> {series.name}: <b>{point.y}</b><br/>',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};l.chart.styledMode=!1;let h=new s(l.time);return{defaultOptions:l,defaultTime:h,getOptions:function(){return l},setOptions:function(t){return n(e,"setOptions",{options:t}),a(!0,l,t),(t.time||t.global)&&(e.time?e.time.update(a(l.global,l.time,t.global,t.time)):e.time=h),l}}}),i(e,"Core/Color/Color.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{isNumber:i,merge:s,pInt:o}=e;class r{static parse(t){return t?new r(t):r.None}constructor(e){let i,s,o,n;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=t.Color;if(a&&a!==r)return new a(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map(t=>
5new r(t[1]));else if("string"==typeof e){if(this.input=e=r.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(0xff0000&i)>>16,(65280&i)>>8,255&i,1]:4===t&&(s=[(3840&i)>>4|(3840&i)>>8,(240&i)>>4|240&i,(15&i)<<4|15&i,1])}if(!s)for(o=r.parsers.length;o--&&!s;)(i=(n=r.parsers[o]).regex.exec(e))&&(s=n.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,o=this.rgba;if("object"==typeof e&&void 0!==this.stops){let i=s(e);return i.stops=[].slice.call(i.stops),this.stops.forEach((e,s)=>{i.stops[s]=[i.stops[s][0],e.get(t)]}),i}return o&&i(o[0])?"rgb"!==t&&(t||1!==o[3])?"a"===t?`${o[3]}`:"rgba("+o.join(",")+")":"rgb("+o[0]+","+o[1]+","+o[2]+")":e}brighten(t){let e=this.rgba;if(this.stops)this.stops.forEach(function(e){e.brighten(t)});else if(i(t)&&0!==t)for(let i=0;i<3;i++)e[i]+=o(255*t),e[i]<0&&(e[i]=0),e[i]>255&&(e[i]=255);return this}setOpacity(t){return this.rgba[3]=t,this}tweenTo(t,e){let s=this.rgba,o=t.rgba;if(!i(s[0])||!i(o[0]))return t.input||"none";let r=1!==o[3]||1!==s[3];return(r?"rgba(":"rgb(")+Math.round(o[0]+(s[0]-o[0])*(1-e))+","+Math.round(o[1]+(s[1]-o[1])*(1-e))+","+Math.round(o[2]+(s[2]-o[2])*(1-e))+(r?","+(o[3]+(s[3]-o[3])*(1-e)):"")+")"}}return r.names={white:"#ffffff",black:"#000000"},r.parsers=[{regex:/rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),parseFloat(t[4],10)]}},{regex:/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/,parse:function(t){return[o(t[1]),o(t[2]),o(t[3]),1]}}],r.None=new r(""),r}),i(e,"Core/Animation/Fx.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{parse:s}=t,{win:o}=e,{isNumber:r,objectEach:n}=i;class a{constructor(t,e,i){this.pos=NaN,this.options=e,this.elem=t,this.prop=i}dSetter(){let t=this.paths,e=t&&t[0],i=t&&t[1],s=this.now||0,o=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let t=0;t<i.length;t++){let n=e[t],a=i[t],l=[];for(let t=0;t<a.length;t++){let e=n[t],i=a[t];r(e)&&r(i)&&("A"!==a[0]||4!==t&&5!==t)?l[t]=e+s*(i-e):l[t]=i}o.push(l)}else o=i;else o=this.toD||[];this.elem.attr("d",o,void 0,!0)}update(){let t=this.elem,e=this.prop,i=this.now,s=this.options.step;this[e+"Setter"]?this[e+"Setter"]():t.attr?t.element&&t.attr(e,i,null,!0):t.style[e]=i+this.unit,s&&s.call(t,i,this)}run(t,e,i){let s=this,r=s.options,n=function(t){return!n.stopped&&s.step(t)},l=o.requestAnimationFrame||function(t){setTimeout(t,13)},h=function(){for(let t=0;t<a.timers.length;t++)a.timers[t]()||a.timers.splice(t--,1);a.timers.length&&l(h)};t!==e||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=t,this.end=e,this.unit=i,this.now=this.start,this.pos=0,n.elem=this.elem,n.prop=this.prop,n()&&1===a.timers.push(n)&&l(h)):(delete r.curAnim[this.prop],r.complete&&0===Object.keys(r.curAnim).length&&r.complete.call(this.elem))}step(t){let e,i,s=+new Date,o=this.options,r=this.elem,a=o.complete,l=o.duration,h=o.curAnim;return r.attr&&!r.element?e=!1:t||s>=l+this.startTime?(this.now=this.end,this.pos=1,this.update(),h[this.prop]=!0,i=!0,n(h,function(t){!0!==t&&(i=!1)}),i&&a&&a.call(r),e=!1):(this.pos=o.easing((s-this.startTime)/l),this.now=this.start+(this.end-this.start)*this.pos,this.update(),e=!0),e}initPath(t,e,i){let s=t.startX,o=t.endX,n=i.slice(),a=t.isArea,l=a?2:1,h=e&&i.length>e.length&&i.hasStackedCliffs,d,c,p,u,g=e&&e.slice();if(!g||h)return[n,n];function f(t,e){for(;t.length<c;){let i=t[0],s=e[c-t.length];if(s&&"M"===i[0]&&("C"===s[0]?t[0]=["C",i[1],i[2],i[1],i[2],i[1],i[2]]:t[0]=["L",i[1],i[2]]),t.unshift(i),a){let e=t.pop();t.push(t[t.length-1],e)}}}function m(t){for(;t.length<c;){let e=t[Math.floor(t.length/l)-1].slice();if("C"===e[0]&&(e[1]=e[5],e[2]=e[6]),a){let i=t[Math.floor(t.length/l)].slice();t.splice(t.length/2,0,e,i)}else t.push(e)}}if(s&&o&&o.length){for(p=0;p<s.length;p++){if(s[p]===o[0]){d=p;break}if(s[0]===o[o.length-s.length+p]){d=p,u=!0;break}if(s[s.length-1]===o[o.length-s.length+p]){d=s.length-p;break}}void 0===d&&(g=[])}return g.length&&r(d)&&(c=n.length+d*l,u?(f(g,n),m(n)):(f(n,g),m(g))),[g,n]}fillSetter(){a.prototype.strokeSetter.apply(this,arguments)}strokeSetter(){this.elem.attr(this.prop,s(this.start).tweenTo(s(this.end),this.pos),void 0,!0)}}return a.timers=[],a}
5),i(e,"Core/Animation/AnimationUtilities.js",[e["Core/Animation/Fx.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,getStyle:s,isArray:o,isNumber:r,isObject:n,merge:a,objectEach:l,pick:h}=e;function d(t){return n(t)?a({duration:500,defer:0},t):{duration:500*!!t,defer:0}}function c(e,i){let s=t.timers.length;for(;s--;)t.timers[s].elem!==e||i&&i!==t.timers[s].prop||(t.timers[s].stopped=!0)}return{animate:function(e,i,h){let d,p="",u,g,f;n(h)||(f=arguments,h={duration:f[2],easing:f[3],complete:f[4]}),r(h.duration)||(h.duration=400),h.easing="function"==typeof h.easing?h.easing:Math[h.easing]||Math.easeInOutSine,h.curAnim=a(i),l(i,function(r,n){c(e,n),g=new t(e,h,n),u=void 0,"d"===n&&o(i.d)?(g.paths=g.initPath(e,e.pathArray,i.d),g.toD=i.d,d=0,u=1):e.attr?d=e.attr(n):(d=parseFloat(s(e,n))||0,"opacity"!==n&&(p="px")),u||(u=r),"string"==typeof u&&u.match("px")&&(u=u.replace(/px/g,"")),g.run(d,u,p)})},animObject:d,getDeferredAnimation:function(t,e,s){let o=d(e),r=s?[s]:t.series,a=0,l=0;return r.forEach(t=>{let s=d(t.options.animation);a=n(e)&&i(e.defer)?o.defer:Math.max(a,s.duration+s.defer),l=Math.min(o.duration,s.duration)}),t.renderer.forExport&&(a=0),{defer:Math.max(0,a-l),duration:Math.min(a,l)}},setAnimation:function(t,e){e.renderer.globalAnimation=h(t,e.options.chart.animation,!0)},stop:c}}),i(e,"Core/Renderer/HTML/AST.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{SVG_NS:i,win:s}=t,{attr:o,createElement:r,css:n,error:a,isFunction:l,isString:h,objectEach:d,splat:c}=e,{trustedTypes:p}=s,u=p&&l(p.createPolicy)&&p.createPolicy("highcharts",{createHTML:t=>t}),g=u?u.createHTML(""):"",f=function(){try{return!!new DOMParser().parseFromString(g,"text/html")}catch(t){return!1}}();class m{static filterUserAttributes(t){return d(t,(e,i)=>{let s=!0;-1===m.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=h(e)&&m.allowedReferences.some(t=>0===e.indexOf(t))),s||(a(33,!1,void 0,{"Invalid attribute in config":`${i}`}),delete t[i]),h(e)&&t[i]&&(t[i]=e.replace(/</g,"&lt;"))}),t}static parseStyle(t){return t.split(";").reduce((t,e)=>{let i=e.split(":").map(t=>t.trim()),s=i.shift();return s&&i.length&&(t[s.replace(/-([a-z])/g,t=>t[1].toUpperCase())]=i.join(":")),t},{})}static setElementHTML(t,e){t.innerHTML=m.emptyHTML,e&&new m(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,r){let l;return c(s).forEach(function(s){let h,c=s.tagName,p=s.textContent?t.doc.createTextNode(s.textContent):void 0,u=m.bypassHTMLFiltering;if(c)if("#text"===c)h=p;else if(-1!==m.allowedTags.indexOf(c)||u){let a="svg"===c?i:r.namespaceURI||i,l=t.doc.createElementNS(a,c),g=s.attributes||{};d(s,function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(g[e]=t)}),o(l,u?g:m.filterUserAttributes(g)),s.style&&n(l,s.style),p&&l.appendChild(p),e(s.children||[],l),h=l}else a(33,!1,void 0,{"Invalid tagName in config":c});h&&r.appendChild(h),l=h}),l}(this.nodes,e)}parseMarkup(t){let e,i=[];if(t=t.trim().replace(/ style=(["'])/g," data-style=$1"),f)e=new DOMParser().parseFromString(u?u.createHTML(t):t,"text/html");else{let i=r("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),o={tagName:i};"#text"===i&&(o.textContent=t.textContent||"");let r=t.attributes;if(r){let t={};[].forEach.call(r,e=>{"data-style"===e.name?o.style=m.parseStyle(e.value):t[e.name]=e.value}),o.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,t=>{s(t,e)}),e.length&&(o.children=e)}e.push(o)};return[].forEach.call(e.body.childNodes,t=>s(t,i)),i}}return m.allowedAttributes=["alt","aria-controls","aria-describedby","aria-expanded","aria-haspopup","aria-hidden","aria-label","aria-labelledby","aria-live","aria-pressed","aria-readonly","aria-roledescription","aria-selected","class","clip-path","color","colspan","cx","cy","d","dx","dy","disabled","fill","filterUnits","flood-color","flood-opacity","height","href","id","in","in2","markerHeight","markerWidth","offset","opacity","operator","orient","padding","paddingLeft","paddingRight","patternUnits","r","radius","refX","refY","role","scope","slope","src","startOffset","stdDeviation","stroke","stroke-linecap","stroke-width","style","tableValues","result","rowspan","
5summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],m.allowedReferences=["https://","http://","mailto:","/","../","./","#"],m.allowedTags=["a","abbr","b","br","button","caption","circle","clipPath","code","dd","defs","div","dl","dt","em","feComponentTransfer","feComposite","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMorphology","feOffset","feMerge","feMergeNode","filter","h1","h2","h3","h4","h5","h6","hr","i","img","li","linearGradient","marker","ol","p","path","pattern","pre","rect","small","span","stop","strong","style","sub","sup","svg","table","text","textPath","thead","title","tbody","tspan","td","th","tr","u","ul","#text"],m.emptyHTML=g,m.bypassHTMLFiltering=!1,m}),i(e,"Core/Templating.js",[e["Core/Defaults.js"],e["Core/Utilities.js"]],function(t,e){let{defaultOptions:i,defaultTime:s}=t,{extend:o,getNestedProperty:r,isArray:n,isNumber:a,isObject:l,pick:h,pInt:d}=e,c={add:(t,e)=>
5t+e,divide:(t,e)=>0!==e?t/e:"",eq:(t,e)=>t==e,each:function(t){let e=arguments[arguments.length-1];return!!n(t)&&t.map((i,s)=>p(e.body,o(l(i)?i:{"@this":i},{"@index":s,"@first":0===s,"@last":s===t.length-1}))).join("")},ge:(t,e)=>t>=e,gt:(t,e)=>t>e,if:t=>!!t,le:(t,e)=>t<=e,lt:(t,e)=>t<e,multiply:(t,e)=>t*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function p(t="",e,o){let n=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,a=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,l=[],d=/f$/,g=/\.(\d)/,f=i.lang,m=o&&o.time||s,x=o&&o.numberFormatter||u,y=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:r(t,e))},b,v,k=0,w;for(;null!==(b=n.exec(t));){let i=a.exec(b[1]);i&&(b=i,w=!0),v&&v.isBlock||(v={ctx:e,expression:b[1],find:b[0],isBlock:"#"===b[1].charAt(0),start:b.index,startInner:b.index+b[0].length,length:b[0].length});let s=b[1].split(" ")[0].replace("#","");c[s]&&(v.isBlock&&s===v.fn&&k++,v.fn||(v.fn=s));let o="else"===b[1];if(v.isBlock&&v.fn&&(b[1]===`/${v.fn}`||o))if(k)!o&&k--;else{let e=v.startInner,i=t.substr(e,b.index-e);void 0===v.body?(v.body=i,v.startInner=b.index+b[0].length):v.elseBody=i,v.find+=i+b[0],o||(l.push(v),v=void 0)}else v.isBlock||l.push(v);if(i&&!v?.isBlock)break}return l.forEach(i=>{let s,r,{body:n,elseBody:a,expression:l,fn:u}=i;if(u){let t=[i],h=l.split(" ");for(r=c[u].length;r--;)t.unshift(y(h[r+1]));s=c[u].apply(e,t),i.isBlock&&"boolean"==typeof s&&(s=p(s?n:a,e,o))}else{let t=l.split(":");if(s=y(t.shift()||""),t.length&&"number"==typeof s){let e=t.join(":");if(d.test(e)){let t=parseInt((e.match(g)||["","-1"])[1],10);null!==s&&(s=x(s,t,f.decimalPoint,e.indexOf(",")>-1?f.thousandsSep:""))}else s=m.dateFormat(e,s)}}t=t.replace(i.find,h(s,""))}),w?p(t,e,o):t}function u(t,e,s,o){let r,n;t=+t||0,e*=1;let l=i.lang,c=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(c,20):a(e)?e&&p[1]&&p[1]<0&&((n=e+ +p[1])>=0?(p[0]=(+p[0]).toExponential(n).split("e")[0],e=n):(p[0]=p[0].split(".")[0]||0,t=e<20?(p[0]*Math.pow(10,p[1])).toFixed(e):0,p[1]=0)):e=2;let g=(Math.abs(p[1]?p[0]:t)+Math.pow(10,-Math.max(e,c)-1)).toFixed(e),f=String(d(g)),m=f.length>3?f.length%3:0;return s=h(s,l.decimalPoint),o=h(o,l.thousandsSep),r=(t<0?"-":"")+(m?f.substr(0,m)+o:""),0>+p[1]&&!u?r="0":r+=f.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+o),e?r+=s+g.slice(-e):0==+r&&(r="0"),p[1]&&0!=+r&&(r+="e"+p[1]),r}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:p,helpers:c,numberFormat:u}}),i(e,"Core/Renderer/RendererRegistry.js",[e["Core/Globals.js"]],function(t){var e,i;let s;return(i=e||(e={})).rendererTypes={},i.getRendererType=function(t=s){return i.rendererTypes[t]||i.rendererTypes[s]},i.registerRendererType=function(e,o,r){i.rendererTypes[e]=o,(!s||r)&&(s=e,t.Renderer=o)},e}),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],function(t){var e;let{clamp:i,pick:s,pushUnique:o,stableSort:r}=t;return(e||(e={})).distribute=function t(e,n,a){let l=e,h=l.reducedLen||n,d=(t,e)=>t.target-e.target,c=[],p=e.length,u=[],g=c.push,f,m,x,y=!0,b,v,k=0,w;for(f=p;f--;)k+=e[f].size;if(k>h){for(r(e,(t,e)=>(e.rank||0)-(t.rank||0)),x=(w=e[0].rank===e[e.length-1].rank)?p/2:-1,m=w?x:p-1;x&&k>h;)b=e[f=Math.floor(m)],o(u,f)&&(k-=b.size),m+=x,w&&m>=e.length&&(x/=2,m=x);u.sort((t,e)=>e-t).forEach(t=>g.apply(c,e.splice(t,1)))}for(r(e,d),e=e.map(t=>({size:t.size,targets:[t.target],align:s(t.align,.5)}));y;){for(f=e.length;f--;)b=e[f],v=(Math.min.apply(0,b.targets)+Math.max.apply(0,b.targets))/2,b.pos=i(v-b.size*b.align,0,n-b.size);for(f=e.length,y=!1;f--;)f>0&&e[f-1].pos+e[f-1].size>e[f].pos&&(e[f-1].size+=e[f].size,e[f-1].targets=e[f-1].targets.concat(e[f].targets),e[f-1].align=.5,e[f-1].pos+e[f-1].size>n&&(e[f-1].pos=n-e[f-1].size),e.splice(f,1),y=!0)}return g.apply(l,c),f=0,e.some(e=>{let i=0;return(e.targets||[]).some(()=>(l[f].pos=e.pos+i,void 0!==a&&Math.abs(l[f].pos-l[f].target)>a)?(l.slice(0,f+1).forEach(t=>delete t.pos),l.reducedLen=(l.reducedLen||n)-.1*n,l.reducedLen>.1*n&&t(l,n,a),!0):(i+=l[f].size,f++,!1))}),r(l,d),l},e}
vendor: 6,533 bytes, line 5
5),i(e,"Core/Renderer/SVG/SVGElement.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{animate:o,animObject:r,stop:n}=t,{deg2rad:a,doc:l,svg:h,SVG_NS:d,win:c}=i,{addEvent:p,attr:u,createElement:g,crisp:f,css:m,defined:x,erase:y,extend:b,fireEvent:v,isArray:k,isFunction:w,isObject:M,isString:S,merge:C,objectEach:A,pick:T,pInt:P,pushUnique:O,replaceNested:L,syncTimeout:E,uniqueKey:D}=s;class I{_defaultGetter(t){let e=T(this[t+"Value"],this[t],this.element?this.element.getAttribute(t):null,0);return/^-?[\d\.]+$/.test(e)&&(e=parseFloat(e)),e}_defaultSetter(t,e,i){i.setAttribute(e,t)}add(t){let e,i=this.renderer,s=this.element;return t&&(this.parentGroup=t),void 0!==this.textStr&&"text"===this.element.nodeName&&i.buildText(this),this.added=!0,(!t||t.handleZ||this.zIndex)&&(e=this.zIndexSetter()),e||(t?t.element:i.box).appendChild(s),this.onAdd&&this.onAdd(),this}addClass(t,e){let i=e?"":this.attr("class")||"";return(t=(t||"").split(/ /g).reduce(function(t,e){return -1===i.indexOf(e)&&t.push(e),t},i?[i]:[]).join(" "))!==i&&this.attr("class",t),this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(t,e,i,s=!0){let o,r,n,a,l={},h=this.renderer,d=h.alignedObjects,c=!!t;t?(this.alignOptions=t,this.alignByTranslate=e,this.alignTo=i):(t=this.alignOptions||{},e=this.alignByTranslate,i=this.alignTo);let p=!i||S(i)?i||"renderer":void 0;p&&(c&&O(d,this),i=void 0);let u=T(i,h[p],h),g=t.align,f=t.verticalAlign;return o=(u.x||0)+(t.x||0),r=(u.y||0)+(t.y||0),"right"===g?n=1:"center"===g&&(n=2),n&&(o+=((u.width||0)-(t.width||0))/n),l[e?"translateX":"x"]=Math.round(o),"bottom"===f?a=1:"middle"===f&&(a=2),a&&(r+=((u.height||0)-(t.height||0))/a),l[e?"translateY":"y"]=Math.round(r),s&&(this[this.placed?"animate":"attr"](l),this.placed=!0),this.alignAttr=l,this}alignSetter(t){let e={left:"start",center:"middle",right:"end"};e[t]&&(this.alignValue=t,this.element.setAttribute("text-anchor",e[t]))}animate(t,e,i){let s=r(T(e,this.renderer.globalAnimation,!0)),n=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),E(()=>{this.element&&o(this,t,s)},n)):(this.attr(t,void 0,i||s.complete),A(t,function(t,e){s.step&&s.step.call(this,t,{prop:e,pos:1,elem:this})},this)),this}applyTextOutline(t){let e=this.element;-1!==t.indexOf("contrast")&&(t=t.replace(/contrast/g,this.renderer.getContrast(e.style.fill)));let s=t.split(" "),o=s[s.length-1],r=s[0];if(r&&"none"!==r&&i.svg){this.fakeTS=!0,r=r.replace(/(^[\d\.]+)(.*?)$/g,function(t,e,i){return 2*Number(e)+i}),this.removeTextOutline();let t=l.createElementNS(d,"tspan");u(t,{class:"highcharts-text-outline",fill:o,stroke:o,"stroke-width":r,"stroke-linejoin":"round"});let i=e.querySelector("textPath")||e;[].forEach.call(i.childNodes,e=>{let i=e.cloneNode(!0);i.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(t=>i.removeAttribute(t)),t.appendChild(i)});let s=0;[].forEach.call(i.querySelectorAll("text tspan"),t=>{s+=Number(t.getAttribute("dy"))});let n=l.createElementNS(d,"tspan");n.textContent="​",u(n,{x:Number(e.getAttribute("x")),dy:-s}),t.appendChild(n),i.insertBefore(t,i.firstChild)}}attr(t,e,i,s){let{element:o}=this,r=I.symbolCustomAttribs,a,l,h=this,d;return"string"==typeof t&&void 0!==e&&(a=t,(t={})[a]=e),"string"==typeof t?h=(this[t+"Getter"]||this._defaultGetter).call(this,t,o):(A(t,function(e,i){d=!1,s||n(this,i),this.symbolName&&-1!==r.indexOf(i)&&(l||(this.symbolAttr(t),l=!0),d=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),d||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,o)},this),this.afterSetters()),i&&i.call(this),h}clip(t){if(t&&!t.clipPath){let e=D()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);b(t,{clipPath:i,id:e,count:0}),t.add(i)}return this.attr("clip-path",t?`url(${this.renderer.url}#${t.id})`:"none")}crisp(t,e){e=Math.round(e||t.strokeWidth||0);let i=t.x||this.x||0,s=t.y||this.y||0,o=(t.width||this.width||0)+i,r=(t.height||this.height||0)+s,n=f(i,e),a=f(s,e);return b(t,{x:n,y:a,width:f(o,e)-n,height:f(r,e)-a}),x(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let o=this.renderer,r,n,a,l,h,d,c,p,u,g,f=[],m;v(this.renderer,"complexColor",{args:arguments},function(){if(t.radialGradient?n="radialGradient":t.linearGradient&&(n="linearGradient"),n){if(a=t[n],h=o.gradients,d=t.stops,u=s.radialReference,k(a)&&(t[n]=a={x1:a[0],y1:a[1],x2:a[2],y2:a[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===n&&u&&!x(a.gradientUnits)&&(l=a,a=C(a,o.getRadialAttr(u,l),{gradientUnits:"userSpaceOnUse"})),A(a,function(t,e){"id"!==e&&f.push(e,t)}),A(d,function(t){f.push(t)}),h[f=f.join(",")])g=h[f].attr("id");else{a.id=g=D();let t=h[f]=o.createElement(n).attr(a).add(o.defs);t.radAttr=l,t.stops=[],d.forEach(function(i){0===i[1].indexOf("rgba")?(c=(r=e.parse(i[1])).get("rgb"),p=r.get("a")):(c=i[1],p=1);let s=o.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":p}).add(t);t.stops.push(s)})}m="url("+o.url+"#"+g+")",s.setAttribute(i,m),s.gradient=f,t.toString=function(){return m}}})}css(t){let e=this.styles,i={},s=this.element,o,r=!e;if(e&&A(t,function(t,s){e&&e[s]!==t&&(i[s]=t,r=!0)}),r){e&&(t=b(e,i)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===s.nodeName.toLowerCase()&&t.width&&(o=this.textWidth=P(t.width)),b(this.styles,t),o&&!h&&this.renderer.forExport&&delete t.width;let r=C(t);s.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach(t=>r&&delete r[t]),r.color&&(r.fill=r.color)),m(s,r)}return this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),t.textOutline&&this.applyTextOutline(t.textOutline)),this}dashstyleSetter(t){let e,i=this["stroke-width"];if("inherit"===i&&(i=1),t=t&&t.toLowerCase()){let s=t.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,"").split(",");for(e=s.length;e--;)s[e]=""+P(s[e])*T(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t=this,e=t.element||{},i=t.renderer,s=e.ownerSVGElement,o="SPAN"===e.nodeName&&t.parentGroup||void 0,r,a;if(e.onclick=e.onmouseout=e.onmouseover=e.onmousemove=e.point=null,n(t),t.clipPath&&s){let e=t.clipPath;[].forEach.call(s.querySelectorAll("[clip-path],[CLIP-PATH]"),function(t){t.getAttribute("clip-path").indexOf(e.element.i
5d)>-1&&t.removeAttribute("clip-path")}),t.clipPath=e.destroy()}if(t.connector=t.connector?.destroy(),t.stops){for(a=0;a<t.stops.length;a++)t.stops[a].destroy();t.stops.length=0,t.stops=void 0}for(t.safeRemoveChild(e);o&&o.div&&0===o.div.childNodes.length;)r=o.parentGroup,t.safeRemoveChild(o.div),delete o.div,o=r;t.alignOptions&&y(i.alignedObjects,t),A(t,function(e,i){t[i]&&t[i].parentGroup===t&&t[i].destroy&&t[i].destroy(),delete t[i]})}dSetter(t,e,i){k(t)&&("string"==typeof t[0]&&(t=this.renderer.pathToSegments(t)),this.pathArray=t,t=t.reduce((t,e,i)=>e&&e.join?(i?t+" ":"")+e.join(" "):(e||"").toString(),"")),/(NaN| {2}|^$)/.test(t)&&(t="M 0 0"),this[e]!==t&&(i.setAttribute(e,t),this[e]=t)}fillSetter(t,e,i){"string"==typeof t?i.setAttribute(e,t):t&&this.complexColor(t,e,i)}hrefSetter(t,e,i){i.setAttributeNS("http://www.w3.org/1999/xlink",e,t)}getBBox(t,e){let i,s,o,r,{alignValue:n,element:a,renderer:l,styles:h,textStr:d}=this,{cache:c,cacheKeys:p}=l,u=a.namespaceURI===this.SVG_NS,g=T(e,this.rotation,0),f=l.styledMode?a&&I.prototype.getStyle.call(a,"font-size"):h.fontSize;if(x(d)&&(-1===(r=d.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",l.rootFontSize,f,g,this.textWidth,n,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=c[r]),!i||i.polygon){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&m(e,{display:t})},w(o)&&o("none"),i=a.getBBox?b({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},w(o)&&o("")}catch(t){}(!i||i.width<0)&&(i={x:0,y:0,width:0,height:0})}else i=this.htmlGetBBox();s=i.height,u&&(i.height=s=({"11px,17":14,"13px,20":16})[`${f||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let t={bBox:i};v(this,"afterGetBBox",t),i=t.bBox}if(r&&(""===d||i.height>0)){for(;p.length>250;)delete c[p.shift()];c[r]||p.push(r),c[r]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:o,height:r}=t,{alignValue:n,translateY:l,rotationOriginX:h=0,rotationOriginY:d=0}=this,c={right:1,center:.5}[n||0]||0,p=Number(this.element.getAttribute("y")||0)-(l?0:s),u=e*a,g=(e-90)*a,f=Math.cos(u),m=Math.sin(u),x=o*f,y=o*m,b=Math.cos(g),v=Math.sin(g),[[k,w],[M,S]]=[h,d].map(t=>[t-t*f,t*m]),C=i+c*(o-x)+k+S+p*b,A=C+x,T=A-r*b,P=T-x,O=s+p-c*y-w+M+p*v,L=O+y,E=L-r*v,D=E-y,I=Math.min(C,A,T,P),B=Math.min(O,L,E,D),N=Math.max(C,A,T,P)-I,R=Math.max(O,L,E,D)-B;return{x:I,y:B,width:N,height:R,polygon:[[C,O],[A,L],[T,E],[P,D]]}}getStyle(t){return c.getComputedStyle(this.element||this,"").getPropertyValue(t)}hasClass(t){return -1!==(""+this.attr("class")).split(" ").indexOf(t)}hide(){return this.attr({visibility:"hidden"})}htmlGetBBox(){return{height:0,width:0,x:0,y:0}}constructor(t,e){this.onEvents={},this.opacity=1,this.SVG_NS=d,this.element="span"===e||"body"===e?g(e):l.createElementNS(this.SVG_NS,e),this.renderer=t,this.styles={},v(this,"afterInit")}on(t,e){let{onEvents:i}=this;return i[t]&&i[t](),i[t]=p(this.element,t,e),this}opacitySetter(t,e,i){let s=Number(Number(t).toFixed(3));this.opacity=s,i.setAttribute(e,s)}reAlign(){this.alignOptions?.width&&"left"!==this.alignOptions.align&&(this.alignOptions.width=this.getBBox().width,this.placed=!1,this.align())}removeClass(t){return this.attr("class",(""+this.attr("class")).replace(S(t)?RegExp(`(^| )${t}( |$)`):t," ").replace(/ +/g," ").trim())}removeTextOutline(){let t=this.element.querySelector("tspan.highcharts-text-outline");t&&this.safeRemoveChild(t)}safeRemoveChild(t){let e=t.parentNode;e&&e.removeChild(t)}setRadialReference(t){let e=this.element.gradient&&this.renderer.gradients[this.element.gradient];return this.element.radialReference=t,e&&e.radAttr&&e.animate(this.renderer.getRadialAttr(t,e.radAttr)),this}shadow(t){let{renderer:e}=this,i=C(this.parentGroup?.rotation===90?{offsetX:-1,offsetY:-1}:{},M(t)?t:{}),s=e.shadowDefinition(i);return this.attr({filter:t?`url(${e.url}#${s})`:"none"})}show(t=!0){return this.attr({visibility:t?"inherit":"visible"})}"stroke-widthSetter"(t,e,i){this[e]=t,i.setAttribute(e,t)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;let t=this.getStyle("stroke-width"),e=0,i;return/px$/.test(t)?e=P(t):""!==t&&(u(i=l.createElementNS(d,"rect"),{width:t,"stroke-width":0}),this.element.parentNode.appendChild(i),e=i.getBBox().width,i.parentNode.removeChild(i)),e}symbolAttr(t){let e=this;
5I.symbolCustomAttribs.forEach(function(i){e[i]=T(t[i],e[i])}),e.attr({d:e.renderer.symbols[e.symbolName](e.x,e.y,e.width,e.height,e)})}textSetter(t){t!==this.textStr&&(delete this.textPxLength,this.textStr=t,this.added&&this.renderer.buildText(this),this.reAlign())}titleSetter(t){let e=this.element,i=e.getElementsByTagName("title")[0]||l.createElementNS(this.SVG_NS,"title");e.insertBefore?e.insertBefore(i,e.firstChild):e.appendChild(i),i.textContent=L(T(t,""),[/<[^>]*>/g,""]).replace(/&lt;/g,"<").replace(/&gt;/g,">")}toFront(){let t=this.element;return t.parentNode.appendChild(t),this}translate(t,e){return this.attr({translateX:t,translateY:e})}updateTransform(t="transform"){let{element:e,matrix:i,rotation:s=0,rotationOriginX:o,rotationOriginY:r,scaleX:n,scaleY:a,translateX:l=0,translateY:h=0}=this,d=["translate("+l+","+h+")"];x(i)&&d.push("matrix("+i.join(",")+")"),s&&(d.push("rotate("+s+" "+T(o,e.getAttribute("x"),0)+" "+T(r,e.getAttribute("y")||0)+")"),this.text?.element.tagName==="SPAN"&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(x(n)||x(a))&&d.push("scale("+T(n,1)+" "+T(a,1)+")"),d.length&&!(this.text||this).textPath&&e.setAttribute(t,d.join(" "))}visibilitySetter(t,e,i){"inherit"===t?i.removeAttribute(e):this[e]!==t&&i.setAttribute(e,t),this[e]=t}xGetter(t){return"circle"===this.element.nodeName&&("x"===t?t="cx":"y"===t&&(t="cy")),this._defaultGetter(t)}zIndexSetter(t,e){let i=this.renderer,s=this.parentGroup,o=(s||i).element||i.box,r=this.element,n=o===i.box,a,l,h,d=!1,c,p=this.added,u;if(x(t)?(r.setAttribute("data-z-index",t),t*=1,this[e]===t&&(p=!1)):x(this[e])&&r.removeAttribute("data-z-index"),this[e]=t,p){for((t=this.zIndex)&&s&&(s.handleZ=!0),u=(a=o.childNodes).length-1;u>=0&&!d;u--)c=!x(h=(l=a[u]).getAttribute("data-z-index")),l!==r&&(t<0&&c&&!n&&!u?(o.insertBefore(r,a[u]),d=!0):(P(h)<=t||c&&(!x(t)||t>=0))&&(o.insertBefore(r,a[u+1]),d=!0));d||(o.insertBefore(r,a[3*!!n]),d=!0)}return d}}return I.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],I.prototype.strokeSetter=I.prototype.fillSetter,I.prototype.yGetter=I.prototype.xGetter,I.prototype.matrixSetter=I.prototype.rotationOriginXSetter=I.prototype.rotationOriginYSetter=I.prototype.rotationSetter=I.prototype.scaleXSetter=I.prototype.scaleYSetter=I.prototype.translateXSetter=I.prototype.translateYSetter=I.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},I}),i(e,"Core/Renderer/SVG/SVGLabel.js",[e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e){let{defined:i,extend:s,isNumber:o,merge:r,pick:n,removeEvent:a}=e;class l extends t{constructor(t,e,i,s,o,r,n,a,h,d){let c;super(t,"g"),this.paddingLeftSetter=this.paddingSetter,this.paddingRightSetter=this.paddingSetter,this.doUpdate=!1,this.textStr=e,this.x=i,this.y=s,this.anchorX=r,this.anchorY=n,this.baseline=h,this.className=d,this.addClass("button"===d?"highcharts-no-tooltip":"highcharts-label"),d&&this.addClass("highcharts-"+d),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof o&&((c=/^url\((.*?)\)$/.test(o))||this.renderer.symbols[o])&&(this.symbolKey=o),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||c,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&o(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(t,e){this.anchorX=t,this.boxAttr(e,Math.round(t)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(t,e){this.anchorY=t,this.boxAttr(e,t-this.ySetting)}boxAttr(t,e){this.box?this.box.attr(t,e):this.deferredAttr[t]=e}css(e){if(e){let t={};e=r(e),l.textProps.forEach(i=>{void 0!==e[i]&&(t[i]=e[i],delete e[i])}),this.text.css(t),"fontSize"in t||"fontWeight"in t?this.updateTextPadding():("width"in t||"textOverflow"in t)&&this.updateBoxSize()}return t.prototype.css.call(this,e)}destroy(){a(this.element,"mouseenter"),a(this.element,"mouseleave"),this.text&&this.text.destroy(),this.box&&(this.box=this.box.destroy()),t.prototype.destroy.call(this)}fillSetter(t,e){t&&(this.needsBox=!0),this.fill=t,this.boxAttr(e,t)}getBBox(t,e){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();let{padding:i,height:s=0,translateX:o=0,translateY:r=0,width:a=0}=this,l=n(this.paddingLeft,i),h=e??(this.rotation||0),d={width:a,height:s,x:o+this.bBox.x-l,y:r+this.bBox.y-i+this.baselineOffset};
5return h&&(d=this.getRotatedBox(d,h)),d}getCrispAdjust(){return(this.renderer.styledMode&&this.box?this.box.strokeWidth():this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(t){this.heightSetting=t,this.doUpdate=!0}afterSetters(){super.afterSetters(),this.doUpdate&&(this.updateBoxSize(),this.doUpdate=!1)}onAdd(){this.text.add(this),this.attr({text:n(this.textStr,""),x:this.x||0,y:this.y||0}),this.box&&i(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(t,e){o(t)?t!==this[e]&&(this[e]=t,this.updateTextPadding()):this[e]=void 0}rSetter(t,e){this.boxAttr(e,t)}strokeSetter(t,e){this.stroke=t,this.boxAttr(e,t)}"stroke-widthSetter"(t,e){t&&(this.needsBox=!0),this["stroke-width"]=t,this.boxAttr(e,t)}"text-alignSetter"(t){this.textAlign=t}textSetter(t){void 0!==t&&this.text.attr({text:t}),this.updateTextPadding(),this.reAlign()}updateBoxSize(){let t,e=this.text,r={},n=this.padding,a=this.bBox=(!o(this.widthSetting)||!o(this.heightSetting)||this.textAlign)&&i(e.textStr)?e.getBBox(void 0,0):l.emptyBBox;this.width=this.getPaddedWidth(),this.height=(this.heightSetting||a.height||0)+2*n;let h=this.renderer.fontMetrics(e);if(this.baselineOffset=n+Math.min((this.text.firstLineMetrics||h).b,a.height||1/0),this.heightSetting&&(this.baselineOffset+=(this.heightSetting-h.h)/2),this.needsBox&&!e.textPath){if(!this.box){let t=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect();t.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),t.add(this)}r.x=t=this.getCrispAdjust(),r.y=(this.baseline?-this.baselineOffset:0)+t,r.width=Math.round(this.width),r.height=Math.round(this.height),this.box.attr(s(r,this.deferredAttr)),this.deferredAttr={}}}updateTextPadding(){let t=this.text;if(!t.textPath){this.updateBoxSize();let e=this.baseline?0:this.baselineOffset,s=n(this.paddingLeft,this.padding);i(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(s+=({center:.5,right:1})[this.textAlign]*(this.widthSetting-this.bBox.width)),(s!==t.x||e!==t.y)&&(t.attr("x",s),t.hasBoxWidthChanged&&(this.bBox=t.getBBox(!0)),void 0!==e&&t.attr("y",e)),t.x=s,t.y=e}}widthSetter(t){this.widthSetting=o(t)?t:void 0,this.doUpdate=!0}getPaddedWidth(){let t=this.padding,e=n(this.paddingLeft,t),i=n(this.paddingRight,t);return(this.widthSetting||this.bBox.width||0)+e+i}xSetter(t){this.x=t,this.alignFactor&&(t-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0),this.xSetting=Math.round(t),this.attr("translateX",this.xSetting)}ySetter(t){this.ySetting=this.y=Math.round(t),this.attr("translateY",this.ySetting)}}return l.emptyBBox={width:0,height:0,x:0,y:0},l.textProps=["color","direction","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textDecoration","textOutline","textOverflow","whiteSpace","width"],l}),i(e,"Core/Renderer/SVG/Symbols.js",[e["Core/Utilities.js"]],function(t){let{defined:e,isNumber:i,pick:s}=t;function o(t,i,o,r,n){let a=[];if(n){let l=n.start||0,h=s(n.r,o),d=s(n.r,r||o),c=2e-4/(n.borderRadius?1:Math.max(h,1)),p=Math.abs((n.end||0)-l-2*Math.PI)<c,u=(n.end||0)-(p?c:0),g=n.innerR,f=s(n.open,p),m=Math.cos(l),x=Math.sin(l),y=Math.cos(u),b=Math.sin(u),v=s(n.longArc,u-l-Math.PI<c?0:1),k=["A",h,d,0,v,s(n.clockwise,1),t+h*y,i+d*b];k.params={start:l,end:u,cx:t,cy:i},a.push(["M",t+h*m,i+d*x],k),e(g)&&((k=["A",g,g,0,v,e(n.clockwise)?1-n.clockwise:0,t+g*m,i+g*x]).params={start:u,end:l,cx:t,cy:i},a.push(f?["M",t+g*y,i+g*b]:["L",t+g*y,i+g*b],k)),f||a.push(["Z"])}return a}function r(t,e,i,s,o){return o&&o.r?n(t,e,i,s,o):[["M",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]]}function n(t,e,i,s,o){let r=o?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}return{arc:o,callout:function(t,e,s,o,r){let a=Math.min(r&&r.r||0,s,o),l=a+6,h=r&&r.anchorX,d=r&&r.anchorY||0,c=n(t,e,s,o,{r:a});if(!i(h)||h<s&&h>0&&d<o&&d>0)return c;if(t+h>s-l)if(d>e+l&&d<e+o-l)c.splice(3,1,["L",t+s,d-6],["L",t+s+6,d],["L",t+s,d+6],["L",t+s,e+o-a]);else if(h<s){let i=d<e+l,r=i?e:e+o;c.splice(i?2:5,0,["L",h,d],["L",t+s-a,r])}else c.splice(3,1,["L",t+s,o/2],["L",h,d],["L",t+s,o/2],["L",t+s,e+o-a]);else if(t+h<l)if(d>e+l&&d<e+o-l)c.splice(7,1,["L",t,d+6],["L",t-6,d],["L",t,d-6],["L",t,e+a]);else if(h>0){let i=d<e+l,s=i?e:e+o;c.splice(i?1:6,0,["L",h,d],["L",t+a,s])}else c.splice(7,1,["L",t,o/2],["L",h,d],["L",t,o/2],["L",t,e+a]);else d>o&&h<s-l?c.splice(5,1,["L",h+6,e+o],["L",h,e+o+6],["L",h-6,e+o],["L",t+a,e+o]):d<0&&h>l&&c.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-a,e]);return c}
vendor: 5,106 bytes, line 5
5,circle:function(t,e,i,s){return o(t+i/2,e+s/2,i/2,s/2,{start:.5*Math.PI,end:2.5*Math.PI,open:!1})},diamond:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s/2],["L",t+i/2,e+s],["L",t,e+s/2],["Z"]]},rect:r,roundedRect:n,square:r,triangle:function(t,e,i,s){return[["M",t+i/2,e],["L",t+i,e+s],["L",t,e+s],["Z"]]},"triangle-down":function(t,e,i,s){return[["M",t,e],["L",t+i,e],["L",t+i/2,e+s],["Z"]]}}}),i(e,"Core/Renderer/SVG/TextBuilder.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{doc:s,SVG_NS:o,win:r}=e,{attr:n,extend:a,fireEvent:l,isString:h,objectEach:d,pick:c}=i;return class{constructor(t){let e=t.styles;this.renderer=t.renderer,this.svgElement=t,this.width=t.textWidth,this.textLineHeight=e&&e.lineHeight,this.textOutline=e&&e.textOutline,this.ellipsis=!!(e&&"ellipsis"===e.textOverflow),this.noWrap=!!(e&&"nowrap"===e.whiteSpace)}buildSVG(){let e=this.svgElement,i=e.element,o=e.renderer,r=c(e.textStr,"").toString(),n=-1!==r.indexOf("<"),a=i.childNodes,l=!e.added&&o.box,d=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(d!==e.textCache){e.textCache=d,delete e.actualWidth;for(let t=a.length;t--;)i.removeChild(a[t]);if(n||this.ellipsis||this.width||e.textPath||-1!==r.indexOf(" ")&&(!this.noWrap||/<br.*?>/g.test(r))){if(""!==r){l&&l.appendChild(i);let s=new t(r);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["&lt;","&gt;"])),l&&l.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(r)));h(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){let t,e=this.svgElement,i=n(e.element,"x");for(e.firstLineMetrics=void 0;t=e.element.firstChild;)if(/^[\s\u200B]*$/.test(t.textContent||" "))e.element.removeChild(t);else break;[].forEach.call(e.element.querySelectorAll("tspan.highcharts-br"),(t,s)=>{t.nextSibling&&t.previousSibling&&(0===s&&1===t.previousSibling.nodeType&&(e.firstLineMetrics=e.renderer.fontMetrics(t.previousSibling)),n(t,{dy:this.getLineHeight(t.nextSibling),x:i}))});let a=this.width||0;if(!a)return;let l=(t,r)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),d=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),c=this.getLineHeight(r),p=0,u=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,a-.8*c),(t,e)=>t.substring(0,e)+"…");else if(d){let l=[],d=[];for(;r.firstChild&&r.firstChild!==t;)d.push(r.firstChild),r.removeChild(r.firstChild);for(;h.length;)h.length&&!this.noWrap&&p>0&&(l.push(t.textContent||""),t.textContent=h.join(" ").replace(/- /g,"-")),this.truncate(t,void 0,h,0===p&&u||0,a,(t,e)=>h.slice(0,e).join(" ").replace(/- /g,"-")),u=e.actualWidth,p++;d.forEach(e=>{r.insertBefore(e,t)}),l.forEach(e=>{r.insertBefore(s.createTextNode(e),t);let a=s.createElementNS(o,"tspan");a.textContent="​",n(a,{dy:c,x:i}),r.insertBefore(a,t)})}},h=t=>{[].slice.call(t.childNodes).forEach(i=>{i.nodeType===r.Node.TEXT_NODE?l(i,t):(-1!==i.className.baseVal.indexOf("highcharts-br")&&(e.actualWidth=0),h(i))})};h(e.element)}getLineHeight(t){let e=t.nodeType===r.Node.TEXT_NODE?t.parentElement:t;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(e||this.svgElement.element).h}modifyTree(t){let e=(i,s)=>{let{attributes:o={},children:r,style:n={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?o.class="highcharts-strong":n.fontWeight="bold":("i"===l||"em"===l)&&(h?o.class="highcharts-emphasized":n.fontStyle="italic"),n&&n.color&&(n.fill=n.color),"br"===l){o.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&r&&r.some(t=>"#text"===t.tagName)&&(i.children=[{children:r,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),a(i,{attributes:o,style:n}),r&&r.filter(t=>"#text"!==t.tagName).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,o,r){let n,a,l=this.svgElement,{rotation:h}=l,d=[],c=+!!i,p=(e||i||"").length,u=p,g=function(e,o){let r=o||e,n=t.parentNode;if(n&&void 0===d[r]&&n.getSubStringLength)try{d[r]=s+n.getSubStringLength(0,i?r+1:r)}catch(t){}return d[r]};if(l.rotation=0,s+(a=g(t.textContent.length))>o){for(;c<=p;)u=Math.ceil((c+p)/2),i&&(n=r(i,u)),a=g(u,n&&n.length-1),c===p?c=p+1:a>o?p=u-1:c=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=n||r(e||i,u))}i&&i.splice(0,u),l.actualWidth=a,l.rotation=h}unescapeEntities(t,e){return d(this.renderer.escapes,function(i,s){e&&-1!==e.indexOf(i)||(t=t.toString().replace(RegExp(i,"g"),s))}),t}}}),i(e,"Core/Renderer/SVG/SVGRenderer.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Defaults.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGLabel.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Renderer/SVG/TextBuilder.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 4,632 bytes, line 5
5i,s,o,r,n,a,l,h){let d,{defaultOptions:c}=e,{charts:p,deg2rad:u,doc:g,isFirefox:f,isMS:m,isWebKit:x,noop:y,SVG_NS:b,symbolSizes:v,win:k}=s,{addEvent:w,attr:M,createElement:S,crisp:C,css:A,defined:T,destroyObjectProperties:P,extend:O,isArray:L,isNumber:E,isObject:D,isString:I,merge:B,pick:N,pInt:R,replaceNested:z,uniqueKey:W}=h;class H{constructor(t,e,i,s,o,r,n){let a,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),d=h.element;n||h.css(this.getStyle(s||{})),t.appendChild(d),M(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&M(d,"xmlns",this.SVG_NS),this.box=d,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 11.4.8")),this.defs=this.createElement("defs").add(),this.allowHTML=r,this.forExport=o,this.styledMode=n,this.gradients={},this.cache={},this.cacheKeys=[],this.imgCount=0,this.rootFontSize=h.getStyle("font-size"),this.setSize(e,i,!1),f&&t.getBoundingClientRect&&((a=function(){A(t,{left:0,top:0}),l=t.getBoundingClientRect(),A(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=w(k,"resize",a))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((f||x)&&g.getElementsByTagName("base").length){if(!T(d)){let e=W(),i=new t([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs",children:[{tagName:"clipPath",attributes:{id:e},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${e})`,fill:"rgba(0,0,0,0.001)"}}]}]).addToDOM(g.body);A(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=g.elementFromPoint(6,6);d="hitme"===(s&&s.id),g.body.removeChild(i)}if(d)return z(k.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=O({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},t),this.style}setStyle(t){this.boxWrapper.css(this.getStyle(t))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){let t=this.defs;return this.box=null,this.boxWrapper=this.boxWrapper.destroy(),P(this.gradients||{}),this.gradients=null,this.defs=t.destroy(),this.unSubPixelFix&&this.unSubPixelFix(),this.alignedObjects=null,null}createElement(t){return new this.Element(this,t)}getRadialAttr(t,e){return{cx:t[0]-t[2]/2+(e.cx||0)*t[2],cy:t[1]-t[2]/2+(e.cy||0)*t[2],r:(e.r||0)*t[2]}}shadowDefinition(t){let e=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(t).map(e=>`${e}-${t[e]}`)].join("-").toLowerCase().replace(/[^a-z\d\-]/g,""),i=B({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},t);return this.defs.element.querySelector(`#${e}`)||this.definition({tagName:"filter",attributes:{id:e,filterUnits:i.filterUnits},children:this.getShadowFilterContent(i)}),e}getShadowFilterContent(t){return[{tagName:"feDropShadow",attributes:{dx:t.offsetX,dy:t.offsetY,"flood-color":t.color,"flood-opacity":Math.min(5*t.opacity,1),stdDeviation:t.width/2}}]}buildText(t){new l(t).buildSVG()}getContrast(t){let e=i.parse(t).rgba.map(t=>{let e=t/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}),s=.2126*e[0]+.7152*e[1]+.0722*e[2];return 1.05/(s+.05)>(s+.05)/.05?"#FFFFFF":"#000000"}button(e,i,s,o,r={},n,a,l,h,d){let p=this.label(e,i,s,h,void 0,void 0,d,void 0,"button"),u=this.styledMode,g=arguments,f=0;r=B(c.global.buttonTheme,r),u&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let x=r.states||{},y=r.style||{};delete r.states,delete r.style;let b=[t.filterUserAttributes(r)],v=[y];return u||["hover","select","disabled"].forEach((e,i)=>{b.push(B(b[0],t.filterUserAttributes(g[i+5]||x[e]||{}))),v.push(b[i+1].style),delete b[i+1].style}),w(p.element,m?"mouseover":"mouseenter",function(){3!==f&&p.setState(1)}),w(p.element,m?"mouseout":"mouseleave",function(){3!==f&&p.setState(f)}),p.setState=(t=0)=>{if(1!==t&&(p.state=f=t),p.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!u){p.attr(b[t]);let e=v[t];D(e)&&p.css(e)}},p.attr(b[0]),!u&&(p.css(O({cursor:"default"},y)),d&&p.text.css({pointerEvents:"none"})),p.on("touchstart",t=>t.stopPropagation()).on("click",function(t){3!==f&&o.call(p,t)})}crispLine(t,e){let[i,s]=t;return T(i[1])&&i[1]===s[1]&&(i[1]=s[1]=C(i[1],e)),T(i[2])&&i[2]===s[2]&&(i[2]=s[2]=C(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return L(t)?e.d=t:D(t)&&O(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=D(t)?t:void 0===t?{}:{x:t,y:e,r:i},o=this.createElement("circle");
vendor: 4,130 bytes, line 5
5return o.xSetter=o.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},o.attr(s)}arc(t,e,i,s,o,r){let n;D(t)?(e=(n=t).y,i=n.r,s=n.innerR,o=n.start,r=n.end,t=n.x):n={innerR:s,start:o,end:r};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,o,r){let n=D(t)?t:void 0===t?{}:{x:t,y:e,r:o,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==r&&(n["stroke-width"]=r,O(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,M(i,{rx:t,ry:t})},a.rGetter=function(){return a.r||0},a.attr(n)}roundedRect(t){return this.symbol("roundedRect").attr(t)}setSize(t,e,i){this.width=t,this.height=e,this.boxWrapper.animate({width:t,height:e},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:N(i,!0)?void 0:0}),this.alignElements()}g(t){let e=this.createElement("g");return t?e.attr({class:"highcharts-"+t}):e}image(t,e,i,s,o,r){let n={preserveAspectRatio:"none"};E(e)&&(n.x=e),E(i)&&(n.y=i),E(s)&&(n.width=s),E(o)&&(n.height=o);let a=this.createElement("image").attr(n),l=function(e){a.attr({href:t}),r.call(a,e)};if(r){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new k.Image;w(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,o,r){let n,a,l,h,d=this,c=/^url\((.*?)\)$/,u=c.test(t),f=!u&&(this.symbols[t]?t:"circle"),m=f&&this.symbols[f];if(m)"number"==typeof e&&(a=m.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),d.styledMode||n.attr("fill","none"),O(n,{symbolName:f||void 0,x:e,y:i,width:s,height:o}),r&&O(n,r);else if(u){l=t.match(c)[1];let s=n=this.image(l);s.imgwidth=N(r&&r.width,v[l]&&v[l].width),s.imgheight=N(r&&r.height,v[l]&&v[l].height),h=t=>t.attr({width:t.width,height:t.height}),["width","height"].forEach(t=>{s[`${t}Setter`]=function(t,e){this[e]=t;let{alignByTranslate:i,element:s,width:o,height:n,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,d=1;r&&"within"===r.backgroundSize&&o&&n&&a&&l?(d=Math.min(o/a,n/l),M(s,{width:Math.round(a*d),height:Math.round(l*d)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((o||0)-a*d)/2,((n||0)-l*d)/2)}}),T(e)&&s.attr({x:e,y:i}),s.isImg=!0,s.symbolUrl=t,T(s.imgwidth)&&T(s.imgheight)?h(s):(s.attr({width:0,height:0}),S("img",{onload:function(){let t=p[d.chartIndex];0===this.width&&(A(this,{position:"absolute",top:"-999em"}),g.body.appendChild(this)),v[l]={width:this.width,height:this.height},s.imgwidth=this.width,s.imgheight=this.height,s.element&&h(s),this.parentNode&&this.parentNode.removeChild(this),d.imgCount--,d.imgCount||!t||t.hasLoaded||t.onload()},src:l}),this.imgCount++)}return n}clipRect(t,e,i,s){return this.rect(t,e,i,s,0)}text(t,e,i,s){let o={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);o.x=Math.round(e||0),i&&(o.y=Math.round(i)),T(t)&&(o.text=t);let r=this.createElement("text").attr(o);return s&&(!this.forExport||this.allowHTML)||(r.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),o=i.getAttribute(e);for(let i=0,r;i<s.length;i++)(r=s[i]).getAttribute(e)===o&&r.setAttribute(e,t);i.setAttribute(e,t)}),r}fontMetrics(t){let e=R(r.prototype.getStyle.call(t,"font-size")||0),i=e<24?e+3:Math.round(1.2*e),s=Math.round(.8*i);return{h:i,b:s,f:e}}rotCorr(t,e,i){let s=t;return e&&i&&(s=Math.max(s*Math.cos(e*u),4)),{x:-t/3*Math.sin(e*u),y:s}}pathToSegments(t){let e=[],i=[],s={A:8,C:7,H:2,L:3,M:3,Q:5,S:5,T:3,V:2};for(let o=0;o<t.length;o++)I(i[0])&&E(t[o])&&i.length===s[i[0].toUpperCase()]&&t.splice(o,0,i[0].replace("M","L").replace("m","l")),"string"==typeof t[o]&&(i.length&&e.push(i.slice(0)),i.length=0),i.push(t[o]);return e.push(i.slice(0)),e}label(t,e,i,s,o,r,a,l,h){return new n(this,t,e,i,s,o,r,a,l,h)}alignElements(){this.alignedObjects.forEach(t=>t.align())}}return O(H.prototype,{Element:r,SVG_NS:b,escapes:{"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},symbols:a,draw:y}),o.registerRendererType("svg",H,!0),H}),i(e,"Core/Renderer/HTML/HTMLElement.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Globals.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,
5i,s){let{composed:o}=e,{attr:r,css:n,createElement:a,defined:l,extend:h,pInt:d,pushUnique:c}=s;function p(t,e,s){let o=this.div?.style||s.style;i.prototype[`${e}Setter`].call(this,t,e,s),o&&(o[e]=t)}let u=(t,e)=>{if(!t.div){let s=r(t.element,"class"),o=t.css,n=a("div",s?{className:s}:void 0,{position:"absolute",left:`${t.translateX||0}px`,top:`${t.translateY||0}px`,...t.styles,display:t.display,opacity:t.opacity,visibility:t.visibility},t.parentGroup?.div||e);t.classSetter=(t,e,i)=>{i.setAttribute("class",t),n.className=t},t.translateXSetter=t.translateYSetter=(e,i)=>{t[i]=e,n.style["translateX"===i?"left":"top"]=`${e}px`,t.doTransform=!0},t.opacitySetter=t.visibilitySetter=p,t.css=e=>(o.call(t,e),e.cursor&&(n.style.cursor=e.cursor),e.pointerEvents&&(n.style.pointerEvents=e.pointerEvents),t),t.on=function(){return i.prototype.on.apply({element:n,onEvents:t.onEvents},arguments),t},t.div=n}return t.div};class g extends i{static compose(t){c(o,this.compose)&&(t.prototype.html=function(t,e,i){return new g(this,"span").attr({text:t,x:Math.round(e),y:Math.round(i)})})}constructor(t,e){super(t,e),this.css({position:"absolute",...t.styledMode?{}:{fontFamily:t.style.fontFamily,fontSize:t.style.fontSize}}),this.element.style.whiteSpace="nowrap"}getSpanCorrection(t,e,i){this.xCorr=-t*i,this.yCorr=-e}css(t){let e,{element:i}=this,s="SPAN"===i.tagName&&t&&"width"in t,o=s&&t.width;return s&&(delete t.width,this.textWidth=d(o)||void 0,e=!0),t?.textOverflow==="ellipsis"&&(t.whiteSpace="nowrap",t.overflow="hidden"),h(this.styles,t),n(i,t),e&&this.updateTransform(),this}htmlGetBBox(){let{element:t}=this;return{x:t.offsetLeft,y:t.offsetTop,width:t.offsetWidth,height:t.offsetHeight}}updateTransform(){if(!this.added){this.alignOnAdd=!0;return}let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,styles:r,textAlign:a="left",textWidth:h,translateX:d=0,translateY:c=0,x:p=0,y:u=0}=this,g={left:0,center:.5,right:1}[a],f=r.whiteSpace;if(n(t,{marginLeft:`${d}px`,marginTop:`${c}px`}),"SPAN"===t.tagName){let r=[i,a,t.innerHTML,h,this.textAlign].join(","),d=-(this.parentGroup?.padding*1)||0,c,m=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(n(t,{width:"",whiteSpace:f||"nowrap"}),t.offsetWidth),s=h||0;(s>this.oldTextWidth||e>s)&&(/[ \-]/.test(t.textContent||t.innerText)||"ellipsis"===t.style.textOverflow)&&(n(t,{width:e>s||i?h+"px":"auto",display:"block",whiteSpace:f||"normal"}),this.oldTextWidth=h,m=!0)}this.hasBoxWidthChanged=m,r!==this.cTT&&(c=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.get
5SpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,c,g));let{xCorr:x=0,yCorr:y=0}=this,b=(s??p)-x-p-d,v=(o??u)-y-u-d;n(t,{left:`${p+x}px`,top:`${u+y}px`,transformOrigin:`${b}px ${v}px`}),this.cTT=r,this.oldRotation=i,this.oldAlign=a}}setSpanRotation(t,e,i){n(this.element,{transform:`rotate(${t}deg)`,transformOrigin:`${e}% ${i}px`})}add(t){let e,i=this.renderer.box.parentNode,s=[];if(this.parentGroup=t,t&&!(e=t.div)){let o=t;for(;o;)s.push(o),o=o.parentGroup;for(let t of s.reverse())e=u(t,i)}return(e||i).appendChild(this.element),this.added=!0,this.alignOnAdd&&this.updateTransform(),this}textSetter(e){e!==this.textStr&&(delete this.bBox,delete this.oldTextWidth,t.setElementHTML(this.element,e??""),this.textStr=e,this.doTransform=!0)}alignSetter(t){this.alignValue=this.textAlign=t,this.doTransform=!0}xSetter(t,e){this[e]=t,this.doTransform=!0}}let f=g.prototype;return f.visibilitySetter=f.opacitySetter=p,f.ySetter=f.rotationSetter=f.rotationOriginXSetter=f.rotationOriginYSetter=f.xSetter,g}),i(e,"Core/Axis/AxisDefaults.js",[],function(){var t,e;return(e=t||(t={})).xAxis={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotationLimit:80,distance:15,enabled:!0,indentation:10,overflow:"justify",reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"},e.yAxis={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{text:"Values"},stackLabels:{animation:{},allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){let{numberFormatter:t}=this.axis.chart;return t(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},t}),i(e,"Core/Foundation.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,isFunction:s,objectEach:o,removeEvent:r}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},o(e.events,function(e,o){t.eventOptions[o]!==e&&(t.eventOptions[o]&&(r(t,o,t.eventOptions[o]),delete t.eventOptions[o]),s(e)&&(t.eventOptions[o]=e,i(t,o,e,{order:0})))})},e}),i(e,"Core/Axis/Tick.js",[e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{deg2rad:s}=e,{clamp:o,correctFloat:r,defined:n,destroyObjectProperties:a,extend:l,fireEvent:h,isNumber:d,merge:c,objectEach:p,pick:u}=i;return class{constructor(t,e,i,s,o){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=o||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||s||this.addLabel()}addLabel(){let e=this,i=e.axis,s=i.options,o=i.chart,a=i.categories,c=i.logarithmic,p=i.names,g=e.pos,f=u(e.options&&e.options.labels,s.labels),m=i.tickPositions,x=g===m[0],y=g===m[m.length-1],b=(!f.step||1===f.step)&&1===i.tickInterval,v=m.info,k=e.label,w,M,S,C=this.parameters.category||(a?u(a[g],p[g],g):g);c&&d(C)&&(C=r(c.lin2log(C))),i.dateTime&&(v?w=(M=o.time.resolveDTLFormat(s.dateTimeLabelFormats[!s.grid&&v.higherRanks[g]||v.unitName])).main:d(C)&&(w=i.dateTime.getXDateFormat(C,s.dateTimeLabelFormats||{}))),e.isFirst=x,e.isLast=y;let A={axis:i,chart:o,dateTimeLabelFormat:w,isFirst:x,isLast:y,pos:g,tick:e,tickPositionInfo:v,value:C};h(this,"labelFormat",A);let T=e=>f.formatter?f.formatter.call(e,e):f.format?(e.text=i.defaultLabelFormatter.call(e),t.format(f.format,e,o)):i.defaultLabelFormatter.call(e),P=T.call(A,A),O=M&&M.list;O?e.shortenLabel=function(){for(S=0;S<O.length;S++)if(l(A,{dateTimeLabelFormat:O[S]}),k.attr({text:T.call(A,A)}),k.getBBox().width<i.getSlotWidth(e)-2*(f.padding||0))return;k.attr({text:""})}:e.shortenLabel=void 0,b&&i._addedPlotLB&&e.moveLabel(P,f),n(k)||e.movedLabel?k&&k.textStr!==P&&!b&&(!k.textWidth||f.style.width||k.styles.width||k.css({width:null}),k.attr({text:P}),k.textPxLength=k.getBBox().width):(e.label=k=e.createLabel(P,f),e.rotation=0)}createLabel(t,e,i){let s=this.axis,o=s.chart,r=n(t)&&e.enabled?o.renderer.text(t,i?.x,i?.y,e.useHTML).add(s.labelGroup):void 0;return r&&(o.styledMode||r.css(c(e.style)),r.textPxLength=r.getBBox().width),r}destroy(){a(this,this.axis)}
5getPosition(t,e,i,s){let n=this.axis,a=n.chart,l=s&&a.oldChartHeight||a.chartHeight,d={x:t?r(n.translate(e+i,void 0,void 0,s)+n.transB):n.left+n.offset+(n.opposite?(s&&a.oldChartWidth||a.chartWidth)-n.right-n.left:0),y:t?l-n.bottom+n.offset-(n.opposite?n.height:0):r(l-n.translate(e+i,void 0,void 0,s)-n.transB)};return d.y=o(d.y,-1e9,1e9),h(this,"afterGetPosition",{pos:d}),d}getLabelPosition(t,e,i,o,r,a,l,d){let c,p,g=this.axis,f=g.transA,m=g.isLinked&&g.linkedParent?g.linkedParent.reversed:g.reversed,x=g.staggerLines,y=g.tickRotCorr||{x:0,y:0},b=o||g.reserveSpaceDefault?0:-g.labelOffset*("center"===g.labelAlign?.5:1),v=r.distance,k={};return c=0===g.side?i.rotation?-v:-i.getBBox().height:2===g.side?y.y+v:Math.cos(i.rotation*s)*(y.y-i.getBBox(!1,0).height/2),n(r.y)&&(c=0===g.side&&g.horiz?r.y+c:r.y),t=t+u(r.x,[0,1,0,-1][g.side]*v)+b+y.x-(a&&o?a*f*(m?-1:1):0),e=e+c-(a&&!o?a*f*(m?1:-1):0),x&&(p=l/(d||1)%x,g.opposite&&(p=x-p-1),e+=p*(g.labelOffset/x)),k.x=t,k.y=Math.round(e),h(this,"afterGetLabelPosition",{pos:k,tickmarkOffset:a,index:l}),k}getLabelSize(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0}getMarkPath(t,e,i,s,o=!1,r){return r.crispLine([["M",t,e],["L",t+(o?0:-i),e+(o?i:0)]],s)}handleOverflow(t){let e=this.axis,i=e.options.labels,o=t.x,r=e.chart.chartWidth,n=e.chart.spacing,a=u(e.labelLeft,Math.min(e.pos,n[3])),l=u(e.labelRight,Math.max(e.isRadial?0:e.pos+e.len,r-n[1])),h=this.label,d=this.rotation,c={left:0,center:.5,right:1}[e.labelAlign||h.attr("align")],p=h.getBBox().width,g=e.getSlotWidth(this),f={},m=g,x=1,y;d||"justify"!==i.overflow?d<0&&o-c*p<a?y=Math.round(o/Math.cos(d*s)-a):d>0&&o+c*p>l&&(y=Math.round((r-o)/Math.cos(d*s))):(o-c*p<a?m=t.x+m*(1-c)-a:o+(1-c)*p>l&&(m=l-t.x+m*c,x=-1),(m=Math.min(g,m))<g&&"center"===e.labelAlign&&(t.x+=x*(g-m-c*(g-Math.min(p,m)))),(p>m||e.autoRotation&&(h.styles||{}).width)&&(y=m)),y&&(this.shortenLabel?this.shortenLabel():(f.width=Math.floor(y)+"px",(i.style||{}).textOverflow||(f.textOverflow="ellipsis"),h.css(f)))}moveLabel(t,e){let i=this,s=i.label,o=i.axis,r=!1,n;s&&s.textStr===t?(i.movedLabel=s,r=!0,delete i.label):p(o.ticks,function(e){r||e.isNew||e===i||!e.label||e.label.textStr!==t||(i.movedLabel=e.label,r=!0,e.labelPos=i.movedLabel.xy,delete e.label)}),!r&&(i.labelPos||s)&&(n=i.labelPos||s.xy,i.movedLabel=i.createLabel(t,e,n),i.movedLabel&&i.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,o=s.horiz,n=this.pos,a=u(this.tickmarkOffset,s.tickmarkOffset),l=this.getPosition(o,n,a,e),d=l.x,c=l.y,p=s.pos,g=p+s.len,f=o?d:c;!s.chart.polar&&this.isNew&&(r(f)<p||f>g)&&(i=0);let m=u(i,this.label&&this.label.newOpacity,1);i=u(i,1),this.isActive=!0,this.renderGridLine(e,i),this.renderMark(l,i),this.renderLabel(l,e,m,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e){let i=this.axis,s=i.options,o={},r=this.pos,n=this.type,a=u(this.tickmarkOffset,i.tickmarkOffset),l=i.chart.renderer,h=this.gridLine,d,c=s.gridLineWidth,p=s.gridLineColor,g=s.gridLineDashStyle;"minor"===this.type&&(c=s.minorGridLineWidth,p=s.minorGridLineColor,g=s.minorGridLineDashStyle),h||(i.chart.styledMode||(o.stroke=p,o["stroke-width"]=c||0,o.dashstyle=g),n||(o.zIndex=1),t&&(e=0),this.gridLine=h=l.path().attr(o).addClass("highcharts-"+(n?n+"-":"")+"grid-line").add(i.gridGroup)),h&&(d=i.getPlotLinePath({value:r+a,lineWidth:h.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&h[t||this.isNew?"attr":"animate"]({d:d,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,o=i.chart.renderer,r=this.type,n=i.tickSize(r?r+"Tick":"tick"),a=t.x,l=t.y,h=u(s["minor"!==r?"tickWidth":"minorTickWidth"],!r&&i.isXAxis?1:0),d=s["minor"!==r?"tickColor":"minorTickColor"],c=this.mark,p=!c;n&&(i.opposite&&(n[0]=-n[0]),c||(this.mark=c=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||c.attr({stroke:d,"stroke-width":h})),c[p?"attr":"animate"]({d:this.getMarkPath(a,l,n[0],c.strokeWidth(),i.horiz,o),opacity:e}))}renderLabel(t,e,i,s){let o=this.axis,r=o.horiz,n=o.options,a=this.label,l=n.labels,h=l.step,c=u(this.tickmarkOffset,o.tickmarkOffset),p=t.x,g=t.y,f=!0;a&&d(p)&&(a.xy=t=this.getLabelPosition(p,g,a,r,l,c,s,h),(!this.isFirst||this.isLast||n.showFirstLabel)&&(!this.isLast||this.isFirst||n.showLastLabel)?!r||l.step||l.rotation||e||0===i||this.handleOverflow(t):f=!1,h&&s%h&&(f=!1),f&&d(t.y)?(t.opacity=i,a[this.isNewLabel?"attr":"animate"](t).show(!0),this.isNewLabel=!1):(a.hide(),this.isNewLabel=!0))}replaceMovedLabel(){let t=this.label,e=this.axis;t&&!this.isNew&&(t.animate({opacity:0}
5,void 0,t.destroy),delete this.label),e.isDirty=!0,this.label=this.movedLabel,delete this.movedLabel}}}),i(e,"Core/Axis/Axis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Axis/Tick.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n,a){let{animObject:l}=t,{xAxis:h,yAxis:d}=e,{defaultOptions:c}=s,{registerEventOptions:p}=o,{deg2rad:u}=r,{arrayMax:g,arrayMin:f,clamp:m,correctFloat:x,defined:y,destroyObjectProperties:b,erase:v,error:k,extend:w,fireEvent:M,getClosestDistance:S,insertItem:C,isArray:A,isNumber:T,isString:P,merge:O,normalizeTickInterval:L,objectEach:E,pick:D,relativeLength:I,removeEvent:B,splat:N,syncTimeout:R}=a,z=(t,e)=>L(e,void 0,void 0,D(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);w(c,{xAxis:h,yAxis:O(h,d)});class W{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,o=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=o,this.isXAxis=s,this.coll=i,M(this,"init",{userOptions:e}),this.opposite=D(e.opposite,this.opposite),this.side=D(e.side,this.side,o?2*!this.opposite:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels;this.type??(this.type=r.type||"linear"),this.uniqueNames??(this.uniqueNames=r.uniqueNames??!0),M(this,"afterSetType"),this.userOptions=e,this.minPixelPadding=0,this.reversed=D(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===this.type||!0===r.categories,this.categories=A(r.categories)&&r.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=y(r.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=r.minRange||r.maxZoom,this.range=r.range,this.offset=r.offset||0,this.max=void 0,this.min=void 0;let a=D(r.crosshair,N(t.options.tooltip.crosshairs)[+!s]);this.crosshair=!0===a?{}:a,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),C(this,t[this.coll])),t.orderItems(this.coll),this.series=this.series||[],t.inverted&&!this.isZAxis&&s&&!y(this.reversed)&&(this.reversed=!0),this.labelRotation=T(n.rotation)?n.rotation:void 0,p(this,r),M(this,"afterInit")}setOptions(t){let e=this.horiz?{labels:{autoRotation:[-45],padding:4},margin:15}:{labels:{padding:1},title:{rotation:90*this.side}};this.options=O(e,c[this.coll],t),M(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t=this.axis,{numberFormatter:e}=this.chart,i=T(this.value)?this.value:NaN,s=t.chart.time,o=t.categories,r=this.dateTimeLabelFormat,n=c.lang,a=n.numericSymbols,l=n.numericSymbolMagnitude||1e3,h=t.logarithmic?Math.abs(i):t.tickInterval,d=a&&a.length,p,u;if(o)u=`${this.value}`;else if(r)u=s.dateFormat(r,i);else if(d&&a&&h>=1e3)for(;d--&&void 0===u;)h>=(p=Math.pow(l,d+1))&&10*i%p==0&&null!==a[d]&&0!==i&&(u=e(i/p,-1)+a[d]);return void 0===u&&(u=Math.abs(i)>=1e4?e(i,-1):e(i,-1,void 0,"")),u}getSeriesExtremes(){let t,e=this;M(this,"getSeriesExtremes",null,function(){e.hasVisibleSeries=!1,e.dataMin=e.dataMax=e.threshold=void 0,e.softThreshold=!e.isXAxis,e.series.forEach(i=>{if(i.reserveSpace()){let s=i.options,o,r=s.threshold,n,a;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(r||0)&&(r=void 0),e.isXAxis)(o=i.xData)&&o.length&&(o=e.logarithmic?o.filter(t=>t>0):o,n=(t=i.getXExtremes(o)).min,a=t.max,T(n)||n instanceof Date||(o=o.filter(T),n=(t=i.getXExtremes(o)).min,a=t.max),o.length&&(e.dataMin=Math.min(D(e.dataMin,n),n),e.dataMax=Math.max(D(e.dataMax,a),a)));else{let t=i.applyExtremes();T(t.dataMin)&&(n=t.dataMin,e.dataMin=Math.min(D(e.dataMin,n),n)),T(t.dataMax)&&(a=t.dataMax,e.dataMax=Math.max(D(e.dataMax,a),a)),y(r)&&(e.threshold=r),(!s.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}})}),M(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!T(a))return NaN;let l=n.minPixelPadding,h=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&n.lin2val,d=1,c=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(d*=-1,c=n.len),n.reversed&&(d*=-1,c-=d*(n.sector||n.len)),e?(u=(t=t*d+c-l)/p+a,h&&(u=n.lin2val(u))):(h&&(t=n.val2lin(t)),u=d*(t-a)*p+c+d*l+(T(r)?p*r:0),n.isRadial||(u=x(u))),u}toPixels(t,e){return this.translate(t,!1,!this.horiz,void 0,!0)+(e?0:this.pos)}toValue(t,e){return this.translate(t-(e?0:this.pos),!0,!this.horiz,void 0,!0)}getPlotLinePath(t){let e=this,i=e.chart,s=e.left,o=e.top,r=t.old,n=t.value,a=t.lineWidth,l=r&&i.oldCh
5artHeight||i.chartHeight,h=r&&i.oldChartWidth||i.chartWidth,d=e.transB,c=t.translatedValue,p=t.force,u,g,f,x,y;function b(t,e,i){return"pass"!==p&&(t<e||t>i)&&(p?t=m(t,e,i):y=!0),t}let v={value:n,lineWidth:a,old:r,force:p,acrossPanes:t.acrossPanes,translatedValue:c};return M(this,"getPlotLinePath",v,function(t){u=f=(c=m(c=D(c,e.translate(n,void 0,void 0,r)),-1e9,1e9))+d,g=x=l-c-d,T(c)?e.horiz?(g=o,x=l-e.bottom+(e.options.isInternal?0:i.scrollablePixelsY||0),u=f=b(u,s,s+e.width)):(u=s,f=h-e.right+(i.scrollablePixelsX||0),g=x=b(g,o,o+e.height)):(y=!0,p=!1),t.path=y&&!p?void 0:i.renderer.crispLine([["M",u,g],["L",f,x]],a||1)}),v.path}getLinearTickPositions(t,e,i){let s,o,r,n=x(Math.floor(e/t)*t),a=x(Math.ceil(i/t)*t),l=[];if(x(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(l.push(s),(s=x(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?D(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t=this.options,e=this.tickPositions,i=this.minorTickInterval,s=this.pointRangePadding||0,o=(this.min||0)-s,r=(this.max||0)+s,n=r-o,a=[],l;if(n&&n/i<this.len/3){let s=this.logarithmic;if(s)this.paddedTicks.forEach(function(t,e,o){e&&a.push.apply(a,s.getLogTickPositions(i,o[e-1],o[e],!0))});else if(this.dateTime&&"auto"===this.getMinorTickInterval())a=a.concat(this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(i),o,r,t.startOfWeek));else for(l=o+(e[0]-o)%i;l<=r&&l!==a[0];l+=i)a.push(l)}return 0!==a.length&&this.trimTicks(a),a}adjustForMinRange(){let t=this.options,e=this.logarithmic,{max:i,min:s,minRange:o}=this,r,n,a,l;this.isXAxis&&void 0===o&&!e&&(o=y(t.min)||y(t.max)||y(t.floor)||y(t.ceiling)?null:Math.min(5*(S(this.series.map(t=>(t.xIncrement?t.xData?.slice(0,2):t.xData)||[]))||0),this.dataMax-this.dataMin)),T(i)&&T(s)&&T(o)&&i-s<o&&(n=this.dataMax-this.dataMin>=o,r=(o-i+s)/2,a=[s-r,D(t.min,s-r)],n&&(a[2]=e?e.log2lin(this.dataMin):this.dataMin),l=[(s=g(a))+o,D(t.max,s+o)],n&&(l[2]=e?e.log2lin(this.dataMax):this.dataMax),(i=f(l))-s<o&&(a[0]=i-o,a[1]=D(t.min,i-o),s=g(a))),this.minRange=o,this.min=s,this.max=i}getClosest(){let t,e;if(this.categories)e=1;else{let i=[];this.series.forEach(function(t){let s=t.closestPointRange;t.xData?.length===1?i.push(t.xData[0]):!t.noSharedTooltip&&y(s)&&t.reserveSpace()&&(e=y(e)?Math.min(e,s):s)}),i.length&&(i.sort((t,e)=>t-e),t=S([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e=A(this.options.categories),i=e?this.categories:this.names,s=t.options.x,o;return t.series.requireSorting=!1,y(s)||(s=this.uniqueNames&&i?e?i.indexOf(t.name):D(i.keys[t.name],-1):t.series.autoIncrement()),-1===s?!e&&i&&(o=i.length):o=s,void 0!==o?(this.names[o]=t.name,this.names.keys[t.name]=o):t.x&&(o=t.x),o}updateNames(){let t=this,e=this.names;e.length>0&&(Object.keys(e.keys).forEach(function(t){delete e.keys[t]}),e.length=0,this.minRange=this.userMinRange,(this.series||[]).forEach(e=>{e.xIncrement=null,(!e.points||e.isDirtyData)&&(t.max=Math.max(t.max,e.xData.length-1),e.processData(),e.generatePoints()),e.data.forEach(function(i,s){let o;i?.options&&void 0!==i.name&&void 0!==(o=t.nameToX(i))&&o!==i.x&&(i.x=o,e.xData[s]=o)})}))}setAxisTranslation(){let t=this,e=t.max-t.min,i=t.linkedParent,s=!!t.categories,o=t.isXAxis,r=t.axisPointRange||0,n,a=0,l=0,h,d=t.transA;(o||s||r)&&(n=t.getClosest(),i?(a=i.minPointOffset,l=i.pointRangePadding):t.series.forEach(function(e){let i=s?1:o?D(e.options.pointRange,n,0):t.axisPointRange||0,h=e.options.pointPlacement;if(r=Math.max(r,i),!t.single||s){let t=e.is("xrange")?!o:o;a=Math.max(a,t&&P(h)?0:i/2),l=Math.max(l,t&&"on"===h?0:i)}}),h=t.ordinal&&t.ordinal.slope&&n?t.ordinal.slope/n:1,t.minPointOffset=a*=h,t.pointRangePadding=l*=h,t.pointRange=Math.min(r,t.single&&s?1:e),o&&n&&(t.closestPointRange=n)),t.translationSlope=t.transA=d=t.staticScale||t.len/(e+l||1),t.transB=t.horiz?t.left:t.bottom,t.minPixelPadding=d*a,M(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return T(t)&&T(e)&&t-e||void 0}setTickInterval(t){let{categories:e,chart:i,dataMax:s,dataMin:o,dateTime:r,isXAxis:n,logarithmic:a,options:l,softThreshold:h}=this,d=T(this.threshold)?this.threshold:void 0,c=this.minRange||0,{ceiling:p,floor:u,linkedTo:g,softMax:f,softMin:m}=l,b=T(g)&&i[this.coll]?.[g],v=l.tickPixelInterval,w=l.maxPadding,S=l.minPadding,C=0,A,P=T(l.tickInterval)&&l.tickInterval>=0?l.tickInterval:void 0,O,L,E,I;if(r||e||b||this.getTickAmount(),E=D(this.userMin,l.min),I=D(this.userMax,l.max),b?(this.linkedParent=b,A=b.getExtremes(),this.min=D(A.min,A.dataMin),this.max=D(A.max,A.dataMax),this.type!==b.type&&k(11,!0,i)):(h&&y(d)&&T(s)&&T(o)&&
vendor: 4,136 bytes, line 5
5(o>=d?(O=d,S=0):s<=d&&(L=d,w=0)),this.min=D(E,O,o),this.max=D(I,L,s)),T(this.max)&&T(this.min)&&(a&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,D(o,this.min))&&k(10,!0,i),this.min=x(a.log2lin(this.min),16),this.max=x(a.log2lin(this.max),16)),this.range&&T(o)&&(this.userMin=this.min=E=Math.max(o,this.minFromRange()||0),this.userMax=I=this.max,this.range=void 0)),M(this,"foundExtremes"),this.adjustForMinRange(),T(this.min)&&T(this.max)){if(!T(this.userMin)&&T(m)&&m<this.min&&(this.min=E=m),!T(this.userMax)&&T(f)&&f>this.max&&(this.max=I=f),e||this.axisPointRange||this.stacking?.usePercentage||b||!(C=this.max-this.min)||(!y(E)&&S&&(this.min-=C*S),y(I)||!w||(this.max+=C*w)),!T(this.userMin)&&T(u)&&(this.min=Math.max(this.min,u)),!T(this.userMax)&&T(p)&&(this.max=Math.min(this.max,p)),h&&T(o)&&T(s)){let t=d||0;!y(E)&&this.min<t&&o>=t?this.min=l.minRange?Math.min(t,this.max-c):t:!y(I)&&this.max>t&&s<=t&&(this.max=l.minRange?Math.max(t,this.min+c):t)}!i.polar&&this.min>this.max&&(y(l.min)?this.max=this.min:y(l.max)&&(this.min=this.max)),C=this.max-this.min}if(this.min!==this.max&&T(this.min)&&T(this.max)?b&&!P&&v===b.options.tickPixelInterval?this.tickInterval=P=b.tickInterval:this.tickInterval=D(P,this.tickAmount?C/Math.max(this.tickAmount-1,1):void 0,e?1:C*v/Math.max(this.len,v)):this.tickInterval=1,n&&!t){let t=this.min!==this.old?.min||this.max!==this.old?.max;this.series.forEach(function(e){e.forceCrop=e.forceCropping?.(),e.processData(t)}),M(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),M(this,"initialAxisTranslation"),this.pointRange&&!P&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let B=D(l.minTickInterval,r&&!this.series.some(t=>t.noSharedTooltip)?this.closestPointRange:0);!P&&this.tickInterval<B&&(this.tickInterval=B),r||a||P||(this.tickInterval=z(this,this.tickInterval)),this.tickAmount||(this.tickInterval=this.unsquish()),this.setTickPositions()}setTickPositions(){let t=this.options,e=t.tickPositions,i=t.tickPositioner,s=this.getMinorTickInterval(),o=!this.isPanning,r=o&&t.startOnTick,n=o&&t.endOnTick,a=[],l;if(this.tickmarkOffset=this.categories&&"between"===t.tickmarkPlacement&&1===this.tickInterval?.5:0,this.single=this.min===this.max&&y(this.min)&&!this.tickAmount&&(this.min%1==0||!1!==t.allowDecimals),e)a=e.slice();else if(T(this.min)&&T(this.max)){if(!this.ordinal?.positions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200))a=[this.min,this.max],k(19,!1,this.chart);else if(this.dateTime)a=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,t.units),this.min,this.max,t.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)a=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t;)if(a=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&a.length>this.tickAmount)this.tickInterval=z(this,e*=1.1);else break}a.length>this.len&&(a=[a[0],a[a.length-1]])[0]===a[1]&&(a.length=1),i&&(this.tickPositions=a,(l=i.apply(this,[this.min,this.max]))&&(a=l))}this.tickPositions=a,this.minorTickInterval="auto"===s&&this.tickInterval?this.tickInterval/t.minorTicksPerMajor:s,this.paddedTicks=a.slice(0),this.trimTicks(a,r,n),!this.isLinked&&T(this.min)&&T(this.max)&&(this.single&&a.length<2&&!this.categories&&!this.series.some(t=>t.is("heatmap")&&"between"===t.options.pointPlacement)&&(this.min-=.5,this.max+=.5),e||l||this.adjustTickAmount()),M(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(M(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-r>t[0];)t.shift();if(i)this.max=o;else for(;this.max+r<t[t.length-1];)t.pop();0===t.length&&y(s)&&!this.options.tickPositions&&t.push((o+s)/2)}}alignToOthers(){let t,e=this,i=e.chart,s=[this],o=e.options,r=i.options.chart,n="yAxis"===this.coll&&r.alignThresholds,a=[];if(e.thresholdAlignment=void 0,(!1!==r.alignTicks&&o.alignTicks||n)&&!1!==o.startOnTick&&!1!==o.endOnTick&&!e.logarithmic){let o=t=>{let{horiz:e,options:i}=t;
vendor: 5,451 bytes, line 5
5return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},r=o(this);i[this.coll].forEach(function(i){let{series:n}=i;n.length&&n.some(t=>t.visible)&&i!==e&&o(i)===r&&(t=!0,s.push(i))})}if(t&&n){s.forEach(t=>{let i=t.getThresholdAlignment(e);T(i)&&a.push(i)});let t=a.length>1?a.reduce((t,e)=>t+=e,0)/a.length:void 0;s.forEach(e=>{e.thresholdAlignment=t})}return t}getThresholdAlignment(t){if((!T(this.dataMin)||this!==t&&this.series.some(t=>t.isDirty||t.isDirtyData))&&this.getSeriesExtremes(),T(this.threshold)){let t=m((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1);return this.options.reversed&&(t=1-t),t}}getTickAmount(){let t=this.options,e=t.tickPixelInterval,i=t.tickAmount;y(t.tickInterval)||i||!(this.len<e)||this.isRadial||this.logarithmic||!t.startOnTick||!t.endOnTick||(i=2),!i&&this.alignToOthers()&&(i=Math.ceil(this.len/e)+1),i<4&&(this.finalTickAmt=i,i=5),this.tickAmount=i}adjustTickAmount(){let t=this,{finalTickAmt:e,max:i,min:s,options:o,tickPositions:r,tickAmount:n,thresholdAlignment:a}=t,l=r?.length,h=D(t.threshold,t.softThreshold?0:null),d,c,p=t.tickInterval,u,g=()=>r.push(x(r[r.length-1]+p)),f=()=>r.unshift(x(r[0]-p));if(T(a)&&(u=a<.5?Math.ceil(a*(n-1)):Math.floor(a*(n-1)),o.reversed&&(u=n-1-u)),t.hasData()&&T(s)&&T(i)){let a=()=>{t.transA*=(l-1)/(n-1),t.min=o.startOnTick?r[0]:Math.min(s,r[0]),t.max=o.endOnTick?r[r.length-1]:Math.max(i,r[r.length-1])};if(T(u)&&T(t.threshold)){for(;r[u]!==h||r.length!==n||r[0]>s||r[r.length-1]<i;){for(r.length=0,r.push(t.threshold);r.length<n;)void 0===r[u]||r[u]>t.threshold?f():g();if(p>8*t.tickInterval)break;p*=2}a()}else if(l<n){for(;r.length<n;)r.length%2||s===h?g():f();a()}if(y(e)){for(c=d=r.length;c--;)(3===e&&c%2==1||e<=2&&c>0&&c<d-1)&&r.splice(c,1);t.finalTickAmt=void 0}}}setScale(){let{coll:t,stacking:e}=this,i=!1,s=!1;this.series.forEach(t=>{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1}),this.setAxisSize();let o=this.len!==(this.old&&this.old.len);o||i||s||this.isLinked||this.forceRedraw||this.userMin!==(this.old&&this.old.userMin)||this.userMax!==(this.old&&this.old.userMax)||this.alignToOthers()?(e&&"yAxis"===t&&e.buildStacks(),this.forceRedraw=!1,this.userMinRange||(this.minRange=void 0),this.getSeriesExtremes(),this.setTickInterval(),e&&"xAxis"===t&&e.buildStacks(),this.isDirty||(this.isDirty=o||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,M(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){this.series.forEach(t=>{delete t.kdTree}),M(this,"setExtremes",o=w(o,{min:t,max:e}),t=>{this.userMin=t.min,this.userMax=t.max,this.eventArgs=t,i&&this.chart.redraw(s)})}setAxisSize(){let t=this.chart,e=this.options,i=e.offsets||[0,0,0,0],s=this.horiz,o=this.width=Math.round(I(D(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(I(D(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(I(D(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(I(D(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-r-n,this.right=t.chartWidth-o-a,this.len=Math.max(s?o:r,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?x(t.lin2log(this.min)):this.min,max:t?x(t.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(t){let e=this.logarithmic,i=e?e.lin2log(this.min):this.min,s=e?e.lin2log(this.max):this.max;return null===t||t===-1/0?t=i:t===1/0?t=s:i>t?t=i:s<t&&(t=s),this.translate(t,0,1,0,1)}autoLabelAlign(t){let e=(D(t,0)-90*this.side+720)%360,i={align:"center"};return M(this,"autoLabelAlign",i,function(t){e>15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")}),i.align}tickSize(t){let e=this.options,i=D(e["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),s=e["tick"===t?"tickLength":"minorTickLength"],o;i&&s&&("inside"===e[t+"Position"]&&(s=-s),o=[s,i]);let r={tickSize:o};return M(this,"afterTickSize",r),r.tickSize}labelMetrics(){let t=this.chart.renderer,e=this.ticks,i=e[Object.keys(e)[0]]||{};return this.chart.renderer.fontMetrics(i.label||i.movedLabel||t.box)}unsquish(){let t=this.options.labels,e=t.padding||0,i=this.horiz,s=this.tickInterval,o=this.len/((+!!this.categories+this.max-this.min)/s),r=t.rotation,n=x(.8*this.labelMetrics().h),a=Math.max(this.max-this.min,0),l=function(t){let i=(t+2*e)/(o||1);return(i=i>1?Math.ceil(i):1)*s>a&&t!==1/0&&o!==1/0&&a&&(i=Math.ceil(a/s)),x(i*s)},h=s,d,c=Number.MAX_VALUE,p;if(i){if(!t.staggerLines&&(T(r)?p=[r]:o<t.autoRotationLimit&&(p=t.autoRotation)),p){let t,e;for(let i of p)(i===r||i&&i>=-90&&i<=90)&&(e=(t=l(Math.abs(n/Math.sin(u*i))))+Math.abs(i/360))<c&&(c=e,d=i,h=t)}}else h=l(.75*n);return this.autoRotation=p,this.labelRotation=D(d,T(r)?r:0),t.step?s:h}getSlotWidth(t){let e=this.chart,i=this.horiz,s=this.options.labels,o=Math.max(this.tickPositions.length-!this.categories,1),r=e.margin[3];if(t&&T(t.slotWidth))return t.slotWidth;if(i&&s.step<2)return s.rotation?0:(this.staggerLines||1)*this.len/o;if(!i){let t=s.style.width;if(void 0!==t)return parseInt(String(t),10);if(r)return r-e.spacing[3]}return .33*e.chartWidth}renderUnsquish(){let t=this.chart,e=t.renderer,i=this.tickPositions,s=this.ticks,o=this.options.labels,r=o.style,n=this.horiz,a=this.getSlotWidth(),l=Math.max(1,Math.round(a-(n?2*(o.padding||0):o.distance||0))),h={},d=this.labelMetrics(),c=r.textOverflow,p,u,g=0,f,m;
5if(P(o.rotation)||(h.rotation=o.rotation||0),i.forEach(function(t){let e=s[t];e.movedLabel&&e.replaceMovedLabel(),e&&e.label&&e.label.textPxLength>g&&(g=e.label.textPxLength)}),this.maxLabelLength=g,this.autoRotation)g>l&&g>d.h?h.rotation=this.labelRotation:this.labelRotation=0;else if(a&&(p=l,!c))for(u="clip",m=i.length;!n&&m--;)(f=s[i[m]].label)&&("ellipsis"===f.styles.textOverflow?f.css({textOverflow:"clip"}):f.textPxLength>a&&f.css({width:a+"px"}),f.getBBox().height>this.len/i.length-(d.h-d.f)&&(f.specificTextOverflow="ellipsis"));h.rotation&&(p=g>.5*t.chartHeight?.33*t.chartHeight:g,c||(u="ellipsis")),this.labelAlign=o.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(h.align=this.labelAlign),i.forEach(function(t){let e=s[t],i=e&&e.label,o=r.width,n={};i&&(i.attr(h),e.shortenLabel?e.shortenLabel():p&&!o&&"nowrap"!==r.whiteSpace&&(p<i.textPxLength||"SPAN"===i.element.tagName)?(n.width=p+"px",c||(n.textOverflow=i.specificTextOverflow||u),i.css(n)):!i.styles.width||n.width||o||i.css({width:null}),delete i.specificTextOverflow,e.rotation=h.rotation)},this),this.tickRotCorr=e.rotCorr(d.b,this.labelRotation||0,0!==this.side)}hasData(){return this.series.some(function(t){return t.hasData()})||this.options.showEmpty&&y(this.min)&&y(this.max)}addTitle(t){let e,i=this.chart.renderer,s=this.horiz,o=this.opposite,r=this.options.title,n=this.chart.styledMode;this.axisTitle||((e=r.textAlign)||(e=(s?{low:"left",middle:"center",high:"right"}:{low:o?"right":"left",middle:"center",high:o?"left":"right"})[r.align]),this.axisTitle=i.text(r.text||"",0,0,r.useHTML).attr({zIndex:7,rotation:r.rotation||0,align:e}).addClass("highcharts-axis-title"),n||this.axisTitle.css(O(r.style)),this.axisTitle.add(this.axisGroup),this.axisTitle.isNew=!0),n||r.style.width||this.isRadial||this.axisTitle.css({width:this.len+"px"}),this.axisTitle[t?"show":"hide"](t)}generateTick(t){let e=this.ticks;e[t]?e[t].addLabel():e[t]=new n(this,t)}createGroups(){let{axisParent:t,chart:e,coll:i,options:s}=this,o=e.renderer,r=(e,r,n)=>o.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${r} `+(this.isRadial?`highcharts-radial-axis${r} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=r("grid","-grid",s.gridZIndex),this.axisGroup=r("axis","",s.zIndex),this.labelGroup=r("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t=this,{chart:e,horiz:i,options:s,side:o,ticks:r,tickPositions:n,coll:a}=t,l=e.inverted&&!t.isZAxis?[1,0,3,2][o]:o,h=t.hasData(),d=s.title,c=s.labels,p=T(s.crossing),u=e.axisOffset,g=e.clipOffset,f=[-1,1,1,-1][o],m,x=0,b,v=0,k=0,w,S;if(t.showAxis=m=h||s.showEmpty,t.staggerLines=t.horiz&&c.staggerLines||void 0,t.createGroups(),h||t.isLinked?(n.forEach(function(e){t.generateTick(e)}),t.renderUnsquish(),t.reserveSpaceDefault=0===o||2===o||({1:"left",3:"right"})[o]===t.labelAlign,D(c.reserveSpace,!p&&null,"center"===t.labelAlign||null,t.reserveSpaceDefault)&&n.forEach(function(t){k=Math.max(r[t].getLabelSize(),k)}),t.staggerLines&&(k*=t.staggerLines),t.labelOffset=k*(t.opposite?-1:1)):E(r,function(t,e){t.destroy(),delete r[e]}),d?.text&&!1!==d.enabled&&(t.addTitle(m),m&&!p&&!1!==d.reserveSpace&&(t.titleOffset=x=t.axisTitle.getBBox()[i?"height":"width"],v=y(b=d.offset)?0:D(d.margin,i?5:10))),t.renderLine(),t.offset=f*D(s.offset,u[o]?u[o]+(s.margin||0):0),t.tickRotCorr=t.tickRotCorr||{x:0,y:0},S=0===o?-t.labelMetrics().h:2===o?t.tickRotCorr.y:0,w=Math.abs(k)+v,k&&(w-=S,w+=f*(i?D(c.y,t.tickRotCorr.y+f*c.distance):D(c.x,f*c.distance))),t.axisTitleMargin=D(b,w),t.getMaxLabelDimensions&&(t.maxLabelDimensions=t.getMaxLabelDimensions(r,n)),"colorAxis"!==a&&g){let e=this.tickSize("tick");u[o]=Math.max(u[o],(t.axisTitleMargin||0)+x+f*t.offset,w,n&&n.length&&e?e[0]+f*t.offset:0);let i=!t.axisLine||s.offset?0:t.axisLine.strokeWidth()/2;g[l]=Math.max(g[l],i)}M(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,o=this.horiz,r=this.left+(i?this.width:0)+s,n=e.chartHeight-this.bottom-(i?this.height:0)+s;return i&&(t*=-1),e.renderer.crispLine([["M",o?this.left:r,o?n:this.top],["L",o?e.chartWidth-this.right:r,o?n:e.chartHeight-this.bottom]],t)}renderLine(){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(t){let e=this.horiz,i=this.left,s=this.top,o=this.len,r=this.options.title,n=e?i:s,a=this.opposite,l=this.offset,h=r.x,d=r.y,c=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-c.h-1,0):0,u={low:n+(e?0:o),middle:n+o/2,high:n+(e?o:0)}[r.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,c.f,-p][this.side],f={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+d-(a?this.height:0)+l:u+d};return M(this,"afterGetTitlePosition",{titlePosition:f}),f}renderMinorTick(t,e){let i=this.minorTicks;i[t]||(i[t]=new n(this,t,"minor")),e&&i[t].isNew&&i[t].render(null,!0),i[t].render(null,!1,1)}
5renderTick(t,e,i){let s=this.isLinked,o=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(o[t]||(o[t]=new n(this,t)),i&&o[t].isNew&&o[t].render(e,!0,-1),o[t].render(e))}render(){let t,e,i=this,s=i.chart,o=i.logarithmic,a=s.renderer,h=i.options,d=i.isLinked,c=i.tickPositions,p=i.axisTitle,u=i.ticks,g=i.minorTicks,f=i.alternateBands,m=h.stackLabels,x=h.alternateGridColor,y=h.crossing,b=i.tickmarkOffset,v=i.axisLine,k=i.showAxis,w=l(a.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,g,f].forEach(function(t){E(t,function(t){t.isActive=!1})}),T(y)){let t=this.isXAxis?s.yAxis[0]:s.xAxis[0],e=[1,-1,-1,1][this.side];if(t){let s=t.toPixels(y,!0);i.horiz&&(s=t.len-s),i.offset=e*s}}if(i.hasData()||d){let a=i.chart.hasRendered&&i.old&&T(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach(function(t){i.renderMinorTick(t,a)}),c.length&&(c.forEach(function(t,e){i.renderTick(t,e,a)}),b&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new n(i,-1,null,!0)),u[-1].render(-1))),x&&c.forEach(function(n,a){e=void 0!==c[a+1]?c[a+1]+b:i.max-b,a%2==0&&n<i.max&&e<=i.max+(s.polar?-b:b)&&(f[n]||(f[n]=new r.PlotLineOrBand(i,{})),t=n+b,f[n].options={from:o?o.lin2log(t):t,to:o?o.lin2log(e):e,color:x,className:"highcharts-alternate-grid"},f[n].render(),f[n].isActive=!0)}),i._addedPlotLB||(i._addedPlotLB=!0,(h.plotLines||[]).concat(h.plotBands||[]).forEach(function(t){i.addPlotBandOrLine(t)}))}[u,g,f].forEach(function(t){let e=[],i=w.duration;E(t,function(t,i){t.isActive||(t.render(i,!1,0),t.isActive=!1,e.push(i))}),R(function(){let i=e.length;for(;i--;)t[e[i]]&&!t[e[i]].isActive&&(t[e[i]].destroy(),delete t[e[i]])},t!==f&&s.hasRendered&&i?i:0)}),v&&(v[v.isPlaced?"animate":"attr"]({d:this.getLinePath(v.strokeWidth())}),v.isPlaced=!0,v[k?"show":"hide"](k)),p&&k&&(p[p.isNew?"attr":"animate"](i.getTitlePosition(p)),p.isNew=!1),m&&m.enabled&&i.stacking&&i.stacking.renderStackTotals(),i.old={len:i.len,max:i.max,min:i.min,transA:i.transA,userMax:i.userMax,userMin:i.userMin},i.isDirty=!1,M(this,"afterRender")}redraw(){this.visible&&(this.render(),this.plotLinesAndBands.forEach(function(t){t.render()})),this.series.forEach(function(t){t.isDirty=!0})}getKeepProps(){return this.keepProps||W.keepProps}destroy(t){let e=this,i=e.plotLinesAndBands,s=this.eventOptions;if(M(this,"destroy",{keepEvents:t}),t||B(e),[e.ticks,e.minorTicks,e.alternateBands].forEach(function(t){b(t)}),i){let t=i.length;for(;t--;)i[t].destroy()}for(let t in["axisLine","axisTitle","axisGroup","gridGroup","labelGroup","cross","scrollbar"].forEach(function(t){e[t]&&(e[t]=e[t].destroy())}),e.plotLinesAndBandsGroups)e.plotLinesAndBandsGroups[t]=e.plotLinesAndBandsGroups[t].destroy();E(e,function(t,i){-1===e.getKeepProps().indexOf(i)&&delete e[i]}),this.eventOptions=s}drawCrosshair(t,e){let s=this.crosshair,o=D(s&&s.snap,!0),r=this.chart,n,a,l,h=this.cross,d;if(M(this,"drawCrosshair",{e:t,point:e}),t||(t=this.cross&&this.cross.e),s&&!1!==(y(e)||!o)){if(o?y(e)&&(a=D("colorAxis"!==this.coll?e.crosshairPos:null,this.isXAxis?e.plotX:this.len-e.plotY)):a=t&&(this.horiz?t.chartX-this.pos:this.len-t.chartY+this.pos),y(a)&&(d={value:e&&(this.isXAxis?e.x:D(e.stackY,e.y)),translatedValue:a},r.polar&&w(d,{isCrosshair:!0,chartX:t&&t.chartX,chartY:t&&t.chartY,point:e}),n=this.getPlotLinePath(d)||null),!y(n))return void this.hideCrosshair();l=this.categories&&!this.isRadial,h||(this.cross=h=r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+(l?"category ":"thin ")+(s.className||"")).attr({zIndex:D(s.zIndex,2)}).add(),!r.styledMode&&(h.attr({stroke:s.color||(l?i.parse("#ccd3ff").setOpacity(.25).get():"#cccccc"),"stroke-width":D(s.width,1)}).css({"pointer-events":"none"}),s.dashStyle&&h.attr({dashstyle:s.dashStyle}))),h.show().attr({d:n}),l&&!s.width&&h.attr({"stroke-width":this.transA}),this.cross.e=t}else this.hideCrosshair();M(this,"afterDrawCrosshair",{e:t,point:e})}hideCrosshair(){this.cross&&this.cross.hide(),M(this,"afterHideCrosshair")}update(t,e){let i=this.chart;t=O(this.userOptions,t),this.destroy(!0),this.init(i,t),i.isDirtyBox=!0,D(e,!0)&&i.redraw()}remove(t){let e=this.chart,i=this.coll,s=this.series,o=s.length;for(;o--;)s[o]&&s[o].remove(!1);v(e.axes,this),v(e[i]||[],this),e.orderItems(i),this.destroy(),e.isDirtyBox=!0,D(t,!0)&&e.redraw()}setTitle(t,e){this.update({title:t},e)}setCategories(t,e){this.update({categories:t},e)}}return W.keepProps=["coll","extKey","hcEvents","len","names","series","userMax","userMin"],W}),i(e,"Core/Axis/DateTimeAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,getMagnitude:s,normalizeTickInterval:o,timeUnits:r}=t;return function(t){function e(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)}function n(){if("datetime"!==this.type){this.dateTime=void 0;return}this.dateTime||(this.dateTime=new a(this))}t.compose=function(t){return t.keepProps.includes("dateTime")||(t.keepProps.push("dateTime"),t.prototype.getTimeTicks=e,i(t,"afterSetType",n)),t};class a{constructor(t){this.axis=t}normalizeTimeTickInterval(t,e){let i=e||[["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]],n=i[i.length-1],a=r[n[0]],l=n[1],h;for(h=0;h<i.length&&(a=r[(n=i[h])[0]],l=n[1],!i[h+1]||!(t<=(a*l[l.length-1]+r[i[h+1][0]])/2));h++);
5a===r.year&&t<5*a&&(l=[1,2,5]);let d=o(t/a,l,"year"===n[0]?Math.max(s(t/a),1):1);return{unitRange:a,count:d,unitName:n[0]}}getXDateFormat(t,e){let{axis:i}=this,s=i.chart.time;return i.closestPointRange?s.getDateFormat(i.closestPointRange,t,i.options.startOfWeek,e)||s.resolveDTLFormat(e.year).main:s.resolveDTLFormat(e.day).main}}t.Additions=a}(e||(e={})),e}),i(e,"Core/Axis/LogarithmicAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{addEvent:i,normalizeTickInterval:s,pick:o}=t;return function(t){function e(){"logarithmic"!==this.type?this.logarithmic=void 0:this.logarithmic??(this.logarithmic=new n(this))}function r(){let t=this.logarithmic;t&&(this.lin2val=function(e){return t.lin2log(e)},this.val2lin=function(e){return t.log2lin(e)})}t.compose=function(t){return t.keepProps.includes("logarithmic")||(t.keepProps.push("logarithmic"),i(t,"afterSetType",e),i(t,"afterInit",r)),t};class n{constructor(t){this.axis=t}getLogTickPositions(t,e,i,r){let n=this.axis,a=n.len,l=n.options,h=[];if(r||(this.minorAutoInterval=void 0),t>=.5)t=Math.round(t),h=n.getLinearTickPositions(t,e,i);else if(t>=.08){let s,o,n,a,l,d,c,p=Math.floor(e);for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],o=p;o<i+1&&!c;o++)for(n=0,a=s.length;n<a&&!c;n++)(l=this.log2lin(this.lin2log(o)*s[n]))>e&&(!r||d<=i)&&void 0!==d&&h.push(d),d>i&&(c=!0),d=l}else{let d=this.lin2log(e),c=this.lin2log(i),p=r?n.getMinorTickInterval():l.tickInterval,u=l.tickPixelInterval/(r?5:1),g=r?a/n.tickPositions.length:a;t=s(t=o("auto"===p?null:p,this.minorAutoInterval,(c-d)*u/(g||1))),h=n.getLinearTickPositions(t,d,c).map(this.log2lin),r||(this.minorAutoInterval=t/5)}return r||(n.tickInterval=t),h}lin2log(t){return Math.pow(10,t)}log2lin(t){return Math.log(t)/Math.LN10}}t.Additions=n}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[e["Core/Utilities.js"]],function(t){var e;let{erase:i,extend:s,isNumber:o}=t;return function(t){let e;function r(t){return this.addPlotBandOrLine(t,"plotBands")}function n(t,i){let s=this.userOptions,o=new e(this,t);if(this.visible&&(o=o.render()),o){if(this._addedPlotLB||(this._addedPlotLB=!0,(s.plotLines||[]).concat(s.plotBands||[]).forEach(t=>{this.addPlotBandOrLine(t)})),i){let e=s[i]||[];e.push(t),s[i]=e}this.plotLinesAndBands.push(o)}return o}function a(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let s=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),r=[],n=this.horiz,a=!o(this.min)||!o(this.max)||t<this.min&&e<this.min||t>this.max&&e>this.max,l=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),h,d=1,c;if(l&&s)for(a&&(c=l.toString()===s.toString(),d=0),h=0;h<l.length;h+=2){let t=l[h],e=l[h+1],i=s[h],o=s[h+1];("M"===t[0]||"L"===t[0])&&("M"===e[0]||"L"===e[0])&&("M"===i[0]||"L"===i[0])&&("M"===o[0]||"L"===o[0])&&(n&&i[1]===t[1]?(i[1]+=d,o[1]+=d):n||i[2]!==t[2]||(i[2]+=d,o[2]+=d),r.push(["M",t[1],t[2]],["L",e[1],e[2]],["L",o[1],o[2]],["L",i[1],i[2]],["Z"])),r.isFlat=c}return r}function h(t){this.removePlotBandOrLine(t)}function d(t){let e=this.plotLinesAndBands,s=this.options,o=this.userOptions;if(e){let r=e.length;for(;r--;)e[r].id===t&&e[r].destroy();[s.plotLines||[],o.plotLines||[],s.plotBands||[],o.plotBands||[]].forEach(function(e){for(r=e.length;r--;)(e[r]||{}).id===t&&i(e,e[r])})}}function c(t){this.removePlotBandOrLine(t)}t.compose=function(t,i){let o=i.prototype;return o.addPlotBand||(e=t,s(o,{addPlotBand:r,addPlotLine:a,addPlotBandOrLine:n,getPlotBandPath:l,removePlotBand:h,removePlotLine:c,removePlotBandOrLine:d})),i}}(e||(e={})),e}),i(e,"Core/Axis/PlotLineOrBand/PlotLineOrBand.js",[e["Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js"],e["Core/Utilities.js"]],function(t,e){let{addEvent:i,arrayMax:s,arrayMin:o,defined:r,destroyObjectProperties:n,erase:a,fireEvent:l,merge:h,objectEach:d,pick:c}=e;class p{static compose(e,s){return i(e,"afterInit",function(){this.labelCollectors.push(()=>{let t=[];for(let e of this.axes)for(let{label:i,options:s}of e.plotLinesAndBands)i&&!s?.label?.allowOverlap&&t.push(i);return t})}),t.compose(p,s)}constructor(t,e){this.axis=t,this.options=e,this.id=e.id}
5render(){l(this,"render");let{axis:t,options:e}=this,{horiz:i,logarithmic:s}=t,{color:o,events:n,zIndex:a=0}=e,p={},u=t.chart.renderer,g=e.to,f=e.from,m=e.value,x=e.borderWidth,y=e.label,{label:b,svgElem:v}=this,k=[],w,M=r(f)&&r(g),S=r(m),C=!v,A={class:"highcharts-plot-"+(M?"band ":"line ")+(e.className||"")},T=M?"bands":"lines";if(!t.chart.styledMode&&(S?(A.stroke=o||"#999999",A["stroke-width"]=c(e.width,1),e.dashStyle&&(A.dashstyle=e.dashStyle)):M&&(A.fill=o||"#e6e9ff",x&&(A.stroke=e.borderColor,A["stroke-width"]=x))),p.zIndex=a,T+="-"+a,(w=t.plotLinesAndBandsGroups[T])||(t.plotLinesAndBandsGroups[T]=w=u.g("plot-"+T).attr(p).add()),v||(this.svgElem=v=u.path().attr(A).add(w)),r(m))k=t.getPlotLinePath({value:s?.log2lin(m)??m,lineWidth:v.strokeWidth(),acrossPanes:e.acrossPanes});else{if(!(r(f)&&r(g)))return;k=t.getPlotBandPath(s?.log2lin(f)??f,s?.log2lin(g)??g,e)}return!this.eventsAdded&&n&&(d(n,(t,e)=>{v?.on(e,t=>{n[e].apply(this,[t])})}),this.eventsAdded=!0),(C||!v.d)&&k?.length?v.attr({d:k}):v&&(k?(v.show(),v.animate({d:k})):v.d&&(v.hide(),b&&(this.label=b=b.destroy()))),y&&(r(y.text)||r(y.formatter))&&k?.length&&t.width>0&&t.height>0&&!k.isFlat?(y=h({align:i&&M?"center":void 0,x:i?!M&&4:10,verticalAlign:!i&&M?"middle":void 0,y:i?M?16:10:M?6:-4,rotation:i&&!M?90:0,...M?{inside:!0}:{}},y),this.renderLabel(y,k,M,a)):b&&b.hide(),this}renderLabel(t,e,i,n){let a=this.axis,l=a.chart.renderer,d=t.inside,c=this.label;c||(this.label=c=l.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(i?"band":"line")+"-label "+(t.className||""),zIndex:n}),a.chart.styledMode||c.css(h({fontSize:"0.8em",textOverflow:i&&!d?"":"ellipsis"},t.style)),c.add());let p=e.xBounds||[e[0][1],e[1][1],i?e[2][1]:e[0][1]],u=e.yBounds||[e[0][2],e[1][2],i?e[2][2]:e[0][2]],g=o(p),f=o(u),m=s(p)-g;c.align(t,!1,{x:g,y:f,width:m,height:s(u)-f}),(!c.alignValue||"left"===c.alignValue||r(d))&&c.css({width:(t.style?.width||(i&&d?m:90===c.rotation?a.height-(c.alignAttr.y-a.top):(t.clip?a.width:a.chart.chartWidth)-(c.alignAttr.x-a.left)))+"px"}),c.show(!0)}getLabelText(t){return r(t.formatter)?t.formatter.call(this):t.text}destroy(){a(this.axis.plotLinesAndBands,this),delete this.axis,n(this)}}return p}),i(e,"Core/Tooltip.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){var n;let{animObject:a}=t,{format:l}=e,{composed:h,doc:d,isSafari:c}=i,{distribute:p}=s,{addEvent:u,clamp:g,css:f,discardElement:m,extend:x,fireEvent:y,isArray:b,isNumber:v,isString:k,merge:w,pick:M,pushUnique:S,splat:C,syncTimeout:A}=r;class T{constructor(t,e,i){this.allowShared=!0,this.crosshairs=[],this.distance=0,this.isHidden=!0,this.isSticky=!1,this.options={},this.outside=!1,this.chart=t,this.init(t,e),this.pointer=i}bodyFormatter(t){return t.map(function(t){let e=t.series.tooltipOptions;return(e[(t.point.formatPrefix||"point")+"Formatter"]||t.point.tooltipFormatter).call(t.point,e[(t.point.formatPrefix||"point")+"Format"]||"")})}cleanSplit(t){this.chart.series.forEach(function(e){let i=e&&e.tt;i&&(!i.isActive||t?e.tt=i.destroy():i.isActive=!1)})}defaultFormatter(t){let e,i=this.points||C(this);return(e=(e=[t.tooltipFooterHeaderFormatter(i[0])]).concat(t.bodyFormatter(i))).push(t.tooltipFooterHeaderFormatter(i[0],!0)),e}destroy(){this.label&&(this.label=this.label.destroy()),this.split&&(this.cleanSplit(!0),this.tt&&(this.tt=this.tt.destroy())),this.renderer&&(this.renderer=this.renderer.destroy(),m(this.container)),r.clearTimeout(this.hideTimer)}getAnchor(t,e){let i,{chart:s,pointer:o}=this,r=s.inverted,n=s.plotTop,a=s.plotLeft;if((t=C(t))[0].series&&t[0].series.yAxis&&!t[0].series.yAxis.options.reversedStacks&&(t=t.slice().reverse()),this.followPointer&&e)void 0===e.chartX&&(e=o.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,o=0;t.forEach(function(t){let e=t.pos(!0);e&&(s+=e[0],o+=e[1])}),s/=t.length,o/=t.length,this.shared&&t.length>1&&e&&(r?s=e.chartX:o=e.chartY),i=[s-a,o-n]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,o=t.series,r=o.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+M(t.colorIndex,o.colorIndex),r&&r.className].filter(k).join(" ")}getLabel({anchorX:t,anchorY:e}={anchorX:0,anchorY:0}){let s=this,r=this.chart.styledMode,n=this.options,a=this.split&&this.allowShared,l=this.container,h=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!a&&t||a&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,e=o.getRendererType();this.container=l=i.doc.createElement("div"),l.className="highcharts-tooltip-container",f(l,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||
vendor: 2,203 bytes, line 5
50,(t&&t.zIndex||0)+3)}),this.renderer=h=new e(l,0,0,t,void 0,void 0,h.styledMode)}if(a?this.label=h.g("tooltip"):(this.label=h.label("",t,e,n.shape,void 0,void 0,n.useHTML,void 0,"tooltip").attr({padding:n.padding,r:n.borderRadius}),r||this.label.attr({fill:n.backgroundColor,"stroke-width":n.borderWidth||0}).css(n.style).css({pointerEvents:n.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),s.outside){let t=this.label;[t.xSetter,t.ySetter].forEach((e,i)=>{t[i?"ySetter":"xSetter"]=o=>{e.call(t,s.distance),t[i?"y":"x"]=o,l&&(l.style[i?"top":"left"]=`${o}px`)}})}this.label.attr({zIndex:8}).shadow(n.shadow).add()}return l&&!l.parentElement&&i.doc.body.appendChild(l),this.label}getPlayingField(){let{body:t,documentElement:e}=d,{chart:i,distance:s,outside:o}=this;return{width:o?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:o?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let{distance:s,chart:o,outside:r,pointer:n}=this,{inverted:a,plotLeft:l,plotTop:h,polar:d}=o,{plotX:c=0,plotY:p=0}=i,u={},g=a&&i.h||0,{height:f,width:m}=this.getPlayingField(),x=n.getChartPosition(),y=i=>{let n="x"===i;return[i,n?m:f,n?t:e].concat(r?[n?t*x.scaleX:e*x.scaleY,n?x.left-s+(c+l)*x.scaleX:x.top-s+(p+h)*x.scaleY,0,n?m:f]:[n?t:e,n?c+l:p+h,n?l:h,n?l+o.plotWidth:h+o.plotHeight])},b=y("y"),v=y("x"),k,w=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(w=!w);let S=!this.followPointer&&M(i.ttBelow,!d&&!a===w),C=function(t,e,i,o,n,a,l){let h=r?"y"===t?s*x.scaleY:s*x.scaleX:s,d=(i-o)/2,c=o<n-s,p=n+s+o<e,f=n-h-i+d,m=n+h-d;if(S&&p)u[t]=m;else if(!S&&c)u[t]=f;else if(c)u[t]=Math.min(l-o,f-g<0?f:f-g);else{if(!p)return!1;u[t]=Math.max(a,m+g+i>e?m:m+g)}},A=function(t,e,i,o,r){if(r<s||r>e-s)return!1;r<i/2?u[t]=1:r>e-o/2?u[t]=e-o-2:u[t]=r-i/2},T=function(t){[b,v]=[v,b],k=t},P=()=>{!1!==C.apply(0,b)?!1!==A.apply(0,v)||k||(T(!0),P()):k?u.x=u.y=0:(T(!0),P())};return(a&&!d||this.len>1)&&T(),P(),u}hide(t){let e=this;r.clearTimeout(this.hideTimer),t=M(t,this.options.hideDelay),this.isHidden||(this.hideTimer=A(function(){let i=e.getLabel();e.getLabel().animate({opacity:0}
5,{duration:t?150:t,complete:()=>{i.hide(),e.container&&e.container.remove()}}),e.isHidden=!0},t))}init(t,e){this.chart=t,this.options=e,this.crosshairs=[],this.isHidden=!0,this.split=e.split&&!t.inverted&&!t.polar,this.shared=e.shared||this.split,this.outside=M(e.outside,!!(t.scrollablePixelsX||t.scrollablePixelsY))}shouldStickOnContact(t){return!!(!this.followPointer&&this.options.stickOnContact&&(!t||this.pointer.inClass(t.target,"highcharts-tooltip")))}move(t,e,i,s){let o=this,r=a(!o.isHidden&&o.options.animation),n=o.followPointer||(o.len||0)>1,l={x:t,y:e};n||(l.anchorX=i,l.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(l,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:n}=this,a=C(t),h=a[0],d=[],c=s.format,p=s.formatter||this.defaultFormatter,u=i.styledMode,f={},m=this.allowShared;if(!s.enabled||!h.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!b(t)&&t.series&&t.series.noSharedTooltip),m=m&&!this.allowShared,this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let x=this.getAnchor(t,e),v=x[0],w=x[1];n&&this.allowShared?(o.applyInactiveState(a),a.forEach(function(t){t.setState("hover"),d.push(t.getLabelConfig())}),(f=h.getLabelConfig()).points=d):f=h.getLabelConfig(),this.len=d.length;let S=k(c)?l(c,f,i):p.call(f,this),A=h.series;if(this.distance=M(A.tooltipOptions.distance,16),!1===S)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(S,a);else{let t=v,r=w;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),!(i.polar||!1===A.options.clip||a.some(e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))))return void this.hide();{let t=this.getLabel(m&&this.tt||{});(!s.style.width||u)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(h),text:S&&S.join?S.join(""):S}),this.outside&&t.attr({x:g(t.x||0,0,this.getPlayingField().width-(t.width||0))}),u||t.attr({stroke:s.borderColor||h.color||A.color||"#666666"}),this.updatePosition({plotX:v,plotY:w,negative:h.negative,ttBelow:h.ttBelow,h:x[2]||0})}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show(),this.isHidden=!1}y(this,"refresh")}renderSplit(t,e){let i=this,{chart:s,chart:{chartWidth:o,chartHeight:r,plotHeight:n,plotLeft:a,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:u,styledMode:f},distance:m,options:y,options:{positioner:b},pointer:v}=i,{scrollLeft:w=0,scrollTop:S=0}=s.scrollablePlotArea?.scrollingContainer||{},C=i.outside&&"number"!=typeof u?d.documentElement.getBoundingClientRect():{left:w,right:w+o,top:S,bottom:S+r},A=i.getLabel(),T=this.renderer||s.renderer,P=!!(s.xAxis[0]&&s.xAxis[0].opposite),{left:O,top:L}=v.getChartPosition(),E=l+S,D=0,I=n-h;function B(t,e,s,o,r=!0){let n,a;return s?(n=P?0:I,a=g(t-o/2,C.left,C.right-o-(i.outside?O:0))):(n=e-E,a=g(a=r?t-o-m:t+m,r?a:C.left,C.right)),{x:a,y:n}}k(t)&&(t=[!1,t]);let N=t.slice(0,e.length+1).reduce(function(t,s,o){if(!1!==s&&""!==s){let r=e[o-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},h=r.isHeader,d=h?i:r.series,c=d.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e;if(!o){let t={padding:y.padding,r:y.borderRadius};f||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),o=T.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(A)}return o.isActive=!0,o.attr({text:s}),f||o.css(y.style).attr({stroke:y.borderColor||e.color||n.color||"#333333"}),o}(d.tt,r,s.toString()),p=c.getBBox(),u=p.width+c.strokeWidth();h&&(D=p.height,I+=D,P&&(E-=D));let{anchorX:x,anchorY:v}=function(t){let e,i,{isHeader:s,plotX:o=0,plotY:r=0,series:h}=t;if(s)e=Math.max(a+o,a),i=l+n/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+g(o,-m,t.len+m),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=g(e,C.left-m,C.right+m),anchorY:i}}(r);if("number"==typeof v){let e=p.height+1,s=b?b.call(i,u,e,r):B(x,v,h,u);t.push({align:b?0:void 0,anchorX:x,anchorY:v,boxWidth:u,point:r,rank:M(s.rank,+!!h),size:e,target:s.y,tt:c,x:s.x})}else c.isActive=!1}return t},[]);!b&&N.some(t=>{let{outside:e}=i,s=(e?O:0)+t.anchorX;return s<C.left&&s+t.boxWidth<C.right||s<O-C.left+t.boxWidth&&C.right-s>s})&&(N=N.map(t=>{let{x:e,y:i}=B(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return x(t,{target:i,x:e})})),i.cleanSplit(),p(N,I);let R={left:O,right:O};
5N.forEach(function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&O+e<R.left&&(R.left=O+e),!o&&i.outside&&R.left+s>R.right&&(R.right=O+e))}),N.forEach(function(t){let{x:e,anchorX:s,anchorY:o,pos:r,point:{isHeader:n}}=t,a={visibility:void 0===r?"hidden":"inherit",x:e,y:(r||0)+E,anchorX:s,anchorY:o};if(i.outside&&e<s){let t=O-R.left;t>0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(R.right-R.left)/2,a.anchorX=s+t))}t.tt.attr(a)});let{container:z,outside:W,renderer:H}=i;if(W&&z&&H){let{width:t,height:e,x:i,y:s}=A.getBBox();H.setSize(t+i,e+s,!1),z.style.left=R.left+"px",z.style.top=L+"px"}c&&A.attr({opacity:1===A.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact()){this.tracker&&(this.tracker=this.tracker.destroy());return}let t=this.chart,e=this.label,i=this.shared?t.hoverPoints:t.hoverPoint;if(!e||!i)return;let s={x:0,y:0,width:0,height:0},o=this.getAnchor(i),r=e.getBBox();o[0]+=t.plotLeft-(e.translateX||0),o[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,o[0]),s.y=Math.min(0,o[1]),s.width=o[0]<0?Math.max(Math.abs(o[0]),r.width-o[0]):Math.max(Math.abs(o[0]),r.width),s.height=o[1]<0?Math.max(Math.abs(o[1]),r.height-Math.abs(o[1])):Math.max(Math.abs(o[1]),r.height),this.tracker?this.tracker.attr(s):(this.tracker=e.renderer.rect(s).addClass("highcharts-tracker").add(e),t.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}styledModeFormat(t){return t.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(t,e){let i=t.series,s=i.tooltipOptions,o=i.xAxis,r=o&&o.dateTime,n={isFooter:e,labelConfig:t},a=s.xDateFormat,h=s[e?"footerFormat":"headerFormat"];return y(this,"headerFormatter",n,function(e){r&&!a&&v(t.key)&&(a=r.getXDateFormat(t.key,s.dateTimeLabelFormats)),r&&a&&(t.point&&t.point.tooltipDateKeys||["key"]).forEac
5h(function(t){h=h.replace("{point."+t+"}","{point."+t+":"+a+"}")}),i.chart.styledMode&&(h=this.styledModeFormat(h)),e.text=l(h,{point:t,series:i},this.chart)}),n.text}update(t){this.destroy(),this.init(this.chart,w(!0,this.options,t))}updatePosition(t){let{chart:e,container:i,distance:s,options:o,pointer:r,renderer:n}=this,{height:a=0,width:l=0}=this.getLabel(),{left:h,top:d,scaleX:c,scaleY:p}=r.getChartPosition(),u=(o.positioner||this.getPosition).call(this,l,a,t),g=(t.plotX||0)+e.plotLeft,m=(t.plotY||0)+e.plotTop,x;n&&i&&(o.positioner&&(u.x+=h-s,u.y+=d-s),x=(o.borderWidth||0)+2*s+2,n.setSize(l+x,a+x,!1),(1!==c||1!==p)&&(f(i,{transform:`scale(${c}, ${p})`}),g*=c,m*=p),g+=h-u.x,m+=d-u.y),this.move(Math.round(u.x),Math.round(u.y||0),g,m)}}return(n=T||(T={})).compose=function(t){S(h,"Core.Tooltip")&&u(t,"afterInit",function(){let t=this.chart;t.options.tooltip&&(t.tooltip=new n(t,t.options.tooltip,this))})},T}),i(e,"Core/Series/Point.js",[e["Core/Renderer/HTML/AST.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{animObject:r}=e,{defaultOptions:n}=i,{format:a}=s,{addEvent:l,crisp:h,erase:d,extend:c,fireEvent:p,getNestedProperty:u,isArray:g,isFunction:f,isNumber:m,isObject:x,merge:y,pick:b,syncTimeout:v,removeEvent:k,uniqueKey:w}=o;class M{animateBeforeDestroy(){let t=this,e={x:t.startXPos,opacity:0},i=t.getGraphicalProps();i.singular.forEach(function(i){t[i]=t[i].animate("dataLabel"===i?{x:t[i].startXPos,y:t[i].startYPos,opacity:0}:e)}),i.plural.forEach(function(e){t[e].forEach(function(e){e.element&&e.animate(c({x:t.startXPos},e.startYPos?{x:e.startXPos,y:e.startYPos}:{}))})})}applyOptions(t,e){let i=this.series,s=i.options.pointValKey||i.pointValKey;return c(this,t=M.prototype.optionsToObject.call(this,t)),this.options=this.options?c(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=M.prototype.getNestedProperty.call(this,s)),this.selected&&(this.state="select"),"name"in this&&void 0===e&&i.xAxis&&i.xAxis.hasNames&&(this.x=i.xAxis.nameToX(this)),void 0===this.x&&i?this.x=e??i.autoIncrement():m(t.x)&&i.options.relativeXValue&&(this.x=i.autoIncrement(t.x)),this.isNull=this.isValid&&!this.isValid(),this.formatPrefix=this.isNull?"null":"point",this}destroy(){if(!this.destroyed){let t=this,e=t.series,i=e.chart,s=e.options.dataSorting,o=i.hoverPoints,n=r(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(k(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),d(o,t),o.length||(i.hoverPoints=null)),t===i.hoverPoint&&t.onMouseOut(),s&&s.enabled?(this.animateBeforeDestroy(),v(a,n.duration)):a(),i.pointCount--}this.destroyed=!0}destroyElements(t){let e=this,i=e.getGraphicalProps(t);i.singular.forEach(function(t){e[t]=e[t].destroy()}),i.plural.forEach(function(t){e[t].forEach(function(t){t&&t.element&&t.destroy()}),delete e[t]})}firePointEvent(t,e,i){let s=this,o=this.series.options;s.manageEvent(t),"click"===t&&o.allowPointSelect&&(i=function(t){!s.destroyed&&s.select&&s.select(null,t.ctrlKey||t.metaKey||t.shiftKey)}),p(s,t,e,i)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(t){let e,i,s=this,o=[],r={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&o.push("graphic","connector"),t.dataLabel&&o.push("dataLabel","dataLabelPath","dataLabelUpper"),i=o.length;i--;)s[e=o[i]]&&r.singular.push(e);return["graphic","dataLabel"].forEach(function(e){let i=e+"s";t[e]&&s[i]&&r.plural.push(i)}),r}getLabelConfig(){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}}getNestedProperty(t){return t?0===t.indexOf("custom.")?u(t,this.options):this[t]:void 0}getZone(){let t=this.series,e=t.zones,i=t.zoneAxis||"y",s,o=0;for(s=e[0];this[i]>=s.value;)s=e[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),s&&s.color&&!this.options.color?this.color=s.color:this.color=this.nonZonedColor,s}hasNewShapeType(){return(this.graphic&&(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}constructor(t,e,i){this.formatPrefix="point",this.visible=!0,this.series=t,this.applyOptions(e,i),this.id??(this.id=w()),this.resolveColor(),t.chart.pointCount++,p(this,"afterInit")}isValid(){return(m(this.x)||this.x instanceof Date)&&m(this.y)}optionsToObject(t){let e=this.series,i=e.options.keys,s=i||e.pointArrayMap||["y"],o=s.length,r={},n,a=0,l=0;if(m(t)||null===t)r[s[0]]=t;else if(g(t))for(!i&&t.length>
5o&&("string"==(n=typeof t[0])?r.name=t[0]:"number"===n&&(r.x=t[0]),a++);l<o;)i&&void 0===t[a]||(s[l].indexOf(".")>0?M.prototype.setNestedProperty(r,t[a],s[l]):r[s[l]]=t[a]),a++,l++;else"object"==typeof t&&(r=t,t.dataLabels&&(e.hasDataLabels=()=>!0),t.marker&&(e._hasPointMarkers=!0));return r}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:o,xAxis:r,yAxis:n}=s,a=0,l=0;if(m(i)&&m(e))return t&&(a=r?r.pos:o.plotLeft,l=n?n.pos:o.plotTop),o.inverted&&r&&n?[n.len-e+l,r.len-i+a]:[i+a,e+l]}}resolveColor(){let t=this.series,e=t.chart.options.chart,i=t.chart.styledMode,s,o,r=e.colorCount,n;delete this.nonZonedColor,t.options.colorByPoint?(i||(s=(o=t.options.colors||t.chart.options.colors)[t.colorCounter],r=o.length),n=t.colorCounter,t.colorCounter++,t.colorCounter===r&&(t.colorCounter=0)):(i||(s=t.color),n=t.colorIndex),this.colorIndex=b(this.options.colorIndex,n),this.color=b(this.options.color,s)}setNestedProperty(t,e,i){return i.split(".").reduce(function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:x(t[i],!0)?t[i]:{},t[i]},t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=b(i.valueDecimals,""),o=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEac
5h(function(e){e="{point."+e,(o||r)&&(t=t.replace(RegExp(e+"}","g"),o+e+"}"+r)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")}),a(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let o,r=this,n=r.series,a=r.graphic,l=n.chart,h=n.options;function d(){r.applyOptions(t);let s=a&&r.hasMockGraphic,d=null===r.y?!s:s;a&&d&&(r.graphic=a.destroy(),delete r.hasMockGraphic),x(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(r.graphic=a.destroy()),t?.dataLabels&&r.dataLabel&&(r.dataLabel=r.dataLabel.destroy())),o=r.index,n.updateParallelArrays(r,o),h.data[o]=x(h.data[o],!0)||x(t,!0)?r.options:b(t,h.data[o]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=b(e,!0),!1===s?d():r.firePointEvent("update",{options:t},d)}remove(t,e){this.series.removePoint(this.series.data.indexOf(this),t,e)}select(t,e){let i=this,s=i.series,o=s.chart;t=b(t,!i.selected),this.selectedStaging=t,i.firePointEvent(t?"select":"unselect",{accumulate:e},function(){i.selected=i.options.selected=t,s.options.data[s.data.indexOf(i)]=i.options,i.setState(t&&"select"),e||o.getSelectedPoints().forEac
5h(function(t){let e=t.series;t.selected&&t!==i&&(t.selected=t.options.selected=!1,e.options.data[e.data.indexOf(t)]=t.options,t.setState(o.hoverPoints&&e.options.inactiveOtherPoints?"inactive":""),t.firePointEvent("unselect"))})}),delete this.selectedStaging}onMouseOver(t){let{inverted:e,pointer:i}=this.series.chart;i&&(t=t?i.normalize(t):i.getChartCoordinatesFromPoint(this,e),i.runPointActions(t,this))}onMouseOut(){let t=this.series.chart;this.firePointEvent("mouseOut"),this.series.options.inactiveOtherPoints||(t.hoverPoints||[]).forEach(function(t){t.setState()}),t.hoverPoints=t.hoverPoint=null}manageEvent(t){let e=y(this.series.options.point,this.options),i=e.events?.[t];f(i)&&(!this.hcEvents?.[t]||this.hcEvents?.[t]?.map(t=>t.fn).indexOf(i)===-1)?(this.importedUserEvent?.(),this.importedUserEvent=l(this,t,i)):this.importedUserEvent&&!i&&this.hcEvents?.[t]&&(k(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent)}setState(e,i){let s=this.series,o=this.state,r=s.options.states[e||"normal"]||{},a=n.plotOptions[s.type].marker&&s.options.marker,l=a&&!1===a.enabled,h=a&&a.states&&a.states[e||"normal"]||{},d=!1===h.enabled,u=this.marker||{},g=s.chart,f=a&&s.markerAttribs,x=s.halo,y,v,k,w=s.stateMarkerGraphic,M;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===r.enabled||e&&(d||l&&!1===h.enabled)||e&&u.states&&u.states[e]&&!1===u.states[e].enabled)return;if(this.state=e,f&&(y=s.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(o&&this.graphic.removeClass("highcharts-point-"+o),e&&this.graphic.addClass("highcharts-point-"+e),!g.styledMode){v=s.pointAttribs(this,e),k=b(g.options.chart.animation,r.animation);let t=v.opacity;s.options.inactiveOtherPoints&&m(t)&&(this.dataLabels||[]).forEach(function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},k),e.connector&&e.connector.animate({opacity:t},k))}),this.graphic.animate(v,k)}y&&this.graphic.animate(y,b(g.options.chart.animation,h.animation,a.animation)),w&&w.hide()}else e&&h&&(M=u.symbol||s.symbol,w&&w.currentSymbol!==M&&(w=w.destroy()),y&&(w?w[i?"animate":"attr"]({x:y.x,y:y.y}):M&&(s.stateMarkerGraphic=w=g.renderer.symbol(M,y.x,y.y,y.width,y.height).add(s.markerGroup),w.currentSymbol=M)),!g.styledMode&&w&&"inactive"!==this.state&&w.attr(s.pointAttribs(this,e))),w&&(w[e&&this.isInside?"show":"hide"](),w.element.point=this,w.addClass(this.getClassName(),!0));let S=r.halo,C=this.graphic||w,A=C&&C.visibility||"inherit";S&&S.size&&C&&"hidden"!==A&&!this.isCluster?(x||(s.halo=x=g.renderer.path().add(C.parentGroup)),x.show()[i?"animate":"attr"]({d:this.haloPath(S.size)}),x.attr({class:"highcharts-halo highcharts-color-"+b(this.colorIndex,s.colorIndex)+(this.className?" "+this.className:""),visibility:A,zIndex:-1}),x.point=this,g.styledMode||x.attr(c({fill:this.color||s.color,"fill-opacity":S.opacity},t.filterUserAttributes(S.attributes||{})))):x?.point?.haloPath&&!x.point.destroyed&&x.animate({d:x.point.haloPath(0)},null,x.hide),p(this,"afterSetState",{state:e})}haloPath(t){let e=this.pos();return e?this.series.chart.renderer.symbols.circle(h(e[0],1)-t,e[1]-t,2*t,2*t):[]}}return M}),i(e,"Core/Pointer.js",[e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{parse:o}=t,{charts:r,composed:n,isTouchDevice:a}=e,{addEvent:l,attr:h,css:d,extend:c,find:p,fireEvent:u,isNumber:g,isObject:f,objectEach:m,offset:x,pick:y,pushUnique:b,splat:v}=i;class k{applyInactiveState(t){let e=[],i;(t||[]).forEach(function(t){i=t.series,e.push(i),i.linkedParent&&e.push(i.linkedParent),i.linkedSeries&&(e=e.concat(i.linkedSeries)),i.navigatorSeries&&e.push(i.navigatorSeries)}),this.chart.series.forEach(function(t){-1===e.indexOf(t)?t.setState("inactive",!0):t.options.inactiveOtherPoints&&t.setAllPointsToState("inactive")})}destroy(){let t=this;this.eventsToUnbind.forEach(t=>t()),this.eventsToUnbind=[],!e.chartCount&&(k.unbindDocumentMouseUp&&k.unbindDocumentMouseUp.forEach(t=>t()),k.unbindDocumentTouchEnd&&(k.unbindDocumentTouchEnd=k.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),m(t,function(e,i){t[i]=void 0})}getSelectionMarkerAttrs(t,e){let i={args:{chartX:t,chartY:e},attrs:{},shapeType:"rect"};return u(this,"getSelectionMarkerAttrs",i,i=>{let s,{chart:o,zoomHor:r,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:l=0}=o,h=i.attrs;h.x=o.plotLeft,h.y=o.plotTop,h.width=r?1:o.plotWidth,h.height=n?1:o.plotHeight,r&&(h.width=Math.max(1,Math.abs(s=t-a)),h.x=(s>0?0:s)+a),n&&(h.height=Math.max(1,Math.abs(s=e-l)),h.y=(s>0?0:s)+l)}),i}drag(t){let{chart:e}
vendor: 4,661 bytes, line 5
5=this,{mouseDownX:i=0,mouseDownY:s=0}=e,{panning:r,panKey:n,selectionMarkerFill:a}=e.options.chart,l=e.plotLeft,h=e.plotTop,d=e.plotWidth,c=e.plotHeight,p=f(r)?r.enabled:r,u=n&&t[`${n}Key`],g=t.chartX,m=t.chartY,x,y=this.selectionMarker;if((!y||!y.touch)&&(g<l?g=l:g>l+d&&(g=l+d),m<h?m=h:m>h+c&&(m=h+c),this.hasDragged=Math.sqrt(Math.pow(i-g,2)+Math.pow(s-m,2)),this.hasDragged>10)){x=e.isInsidePlot(i-l,s-h,{visiblePlotOnly:!0});let{shapeType:n,attrs:d}=this.getSelectionMarkerAttrs(g,m);(e.hasCartesianSeries||e.mapView)&&this.hasZoom&&x&&!u&&!y&&(this.selectionMarker=y=e.renderer[n](),y.attr({class:"highcharts-selection-marker",zIndex:7}).add(),e.styledMode||y.attr({fill:a||o("#334eff").setOpacity(.25).get()})),y&&y.attr(d),x&&!y&&p&&e.pan(t,r)}}dragStart(t){let e=this.chart;e.mouseIsDown=t.type,e.cancelClick=!1,e.mouseDownX=t.chartX,e.mouseDownY=t.chartY}getSelectionBox(t){let e={args:{marker:t},result:t.getBBox()};return u(this,"getSelectionBox",e),e.result}drop(t){let e,{chart:i,selectionMarker:s}=this;for(let t of i.axes)t.isPanning&&(t.isPanning=!1,(t.options.startOnTick||t.options.endOnTick||t.series.some(t=>t.boosted))&&(t.forceRedraw=!0,t.setExtremes(t.userMin,t.userMax,!1),e=!0));if(e&&i.redraw(),s&&t){if(this.hasDragged){let e=this.getSelectionBox(s);i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&("xAxis"===t.coll&&this.zoomX||"yAxis"===t.coll&&this.zoomY)),selection:{originalEvent:t,xAxis:[],yAxis:[],...e},from:e})}g(i.index)&&(this.selectionMarker=s.destroy())}i&&g(i.index)&&(d(i.container,{cursor:i._cursor}),i.cancelClick=this.hasDragged>10,i.mouseIsDown=!1,this.hasDragged=0,this.pinchDown=[])}findNearestKDPoint(t,e,i){let s;return t.forEach(function(t){var o;let r,n,a,l=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),h=t.searchPoint(i,l);f(h,!0)&&h.series&&(!f(s,!0)||(r=(o=s).distX-h.distX,n=o.dist-h.dist,a=h.series.group?.zIndex-o.series.group?.zIndex,(0!==r&&e?r:0!==n?n:0!==a?a:o.series.index>h.series.index?-1:1)>0))&&(s=h)}),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,o=t.shapeArgs;if(i&&s){let r=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&o&&g(o.x)&&g(o.y)&&(r=o.x,n=o.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-r}:{chartX:r+i.pos,chartY:n+s.pos}}if(o&&o.x&&o.y)return{chartX:o.x,chartY:o.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=x(t);this.chartPosition={left:e.left,top:e.top,scaleX:1,scaleY:1};let{offsetHeight:i,offsetWidth:s}=t;return s>2&&i>2&&(this.chartPosition.scaleX=e.width/s,this.chartPosition.scaleY=e.height/i),this.chartPosition}getCoordinates(t){let e={xAxis:[],yAxis:[]};for(let i of this.chart.axes)e[i.isXAxis?"xAxis":"yAxis"].push({axis:i,value:i.toValue(t[i.horiz?"chartX":"chartY"])});return e}getHoverData(t,e,i,s,o,r){let n=[],a=function(t){return t.visible&&!(!o&&t.directTouch)&&y(t.options.enableMouseTracking,!0)},l=e,h,d={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};u(this,"beforeGetHoverData",d),h=l&&!l.stickyTracking?[l]:i.filter(t=>t.stickyTracking&&(d.filter||a)(t));let c=s&&t||!r?t:this.findNearestKDPoint(h,o,r);return l=c&&c.series,c&&(o&&!l.noSharedTooltip?(h=i.filter(function(t){return d.filter?d.filter(t):a(t)&&!t.noSharedTooltip})).forEach(function(t){let e=p(t.points,function(t){return t.x===c.x&&!t.isNull});f(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),n.push(e))}):n.push(c)),u(this,"afterGetHoverData",d={hoverPoint:c}),{hoverPoint:d.hoverPoint,hoverSeries:l,hoverPoints:n}}getPointFromEvent(t){let e=t.target,i;for(;e&&!i;)i=e.point,e=e.parentNode;return i}onTrackerMouseOut(t){let e=this.chart,i=t.relatedTarget,s=e.hoverSeries;this.isDirectTouch=!1,!s||!i||s.stickyTracking||this.inClass(i,"highcharts-tooltip")||this.inClass(i,"highcharts-series-"+s.index)&&this.inClass(i,"highcharts-tracker")||s.onMouseOut()}inClass(t,e){let i=t,s;for(;i;){if(s=h(i,"class")){if(-1!==s.indexOf(e))return!0;if(-1!==s.indexOf("highcharts-container"))return!1}i=i.parentElement}}constructor(t,e){this.hasDragged=0,this.pointerCaptureEventsToUnbind=[],this.eventsToUnbind=[],this.options=e,this.chart=t,this.runChartClick=!!e.chart.events?.click,this.pinchDown=[],this.setDOMEvents(),u(this,"afterInit")}normalize(t,e){let i=t.touches,s=i?i.length?i.item(0):y(i.changedTouches,t.changedTouches)[0]:t;e||(e=this.getChartPosition());let o=s.pageX-e.left,r=s.pageY-e.top;return c(t,{chartX:Math.round(o/=e.scaleX),chartY:Math.round(r/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),o=e.plotLeft,r=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",c(s,{point:i}
vendor: 4,437 bytes, line 5
5)),e.hoverPoint&&i.firePointEvent("click",s)):(c(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-o,s.chartY-r,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){let i=(1&(t.buttons||t.button))==1;t=this.normalize(t),e.isFirefox&&0!==t.button&&this.onContainerMouseMove(t),(void 0===t.button||i)&&(this.zoomOption(t),i&&t.preventDefault?.(),this.dragStart(t))}onContainerMouseLeave(t){let{pointer:e}=r[y(k.hoverChartIndex,-1)]||{};t=this.normalize(t),this.onContainerMouseMove(t),e&&!this.inClass(t.relatedTarget,"highcharts-tooltip")&&(e.reset(),e.chartPosition=void 0)}onContainerMouseEnter(){delete this.chartPosition}onContainerMouseMove(t){let e=this.chart,i=e.tooltip,s=this.normalize(t);this.setHoverChartIndex(t),("mousedown"===e.mouseIsDown||this.touchSelect(s))&&this.drag(s),!e.openMenu&&(this.inClass(s.target,"highcharts-tracker")||e.isInsidePlot(s.chartX-e.plotLeft,s.chartY-e.plotTop,{visiblePlotOnly:!0}))&&!(i&&i.shouldStickOnContact(s))&&(this.inClass(s.target,"highcharts-no-tooltip")?this.reset(!1,0):this.runPointActions(s))}onDocumentTouchEnd(t){this.onDocumentMouseUp(t)}onContainerTouchMove(t){this.touchSelect(t)?this.onContainerMouseMove(t):this.touch(t)}onContainerTouchStart(t){this.touchSelect(t)?this.onContainerMouseDown(t):(this.zoomOption(t),this.touch(t,!0))}onDocumentMouseMove(t){let e=this.chart,i=e.tooltip,s=this.chartPosition,o=this.normalize(t,s);!s||e.isInsidePlot(o.chartX-e.plotLeft,o.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(o)||o.target!==e.container.ownerDocument&&this.inClass(o.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){r[y(k.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:o}=e,r=[].map.call(t.touches||[],t=>e.normalize(t)),n=r.length,a=1===n&&(e.inClass(t.target,"highcharts-tracker")&&i.runTrackerClick||e.runChartClick),l=i.tooltip,h=1===n&&y(l?.options.followTouchMove,!0);n>1?e.initiated=!0:h&&(e.initiated=!1),s&&e.initiated&&!a&&!1!==t.cancelable&&t.preventDefault(),"touchstart"===t.type?(e.pinchDown=r,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):o&&(u(i,"touchpan",{originalEvent:t,touches:r},()=>{let e=t=>{let e=t[0],i=t[1]||e;return{x:e.chartX,y:e.chartY,width:i.chartX-e.chartX,height:i.chartY-e.chartY}};i.transform({axes:i.axes.filter(t=>t.zoomEnabled&&(this.zoomHor&&t.horiz||this.zoomVert&&!t.horiz)),to:e(r),from:e(o),trigger:t.type})}),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=r}reset(t,e){let i=this.chart,s=i.hoverSeries,o=i.hoverPoint,r=i.hoverPoints,n=i.tooltip,a=n&&n.shared?r:o;t&&a&&v(a).forEach(function(e){e.series.isCartesian&&void 0===e.plotX&&(t=!1)}),t?n&&a&&v(a).length&&(n.refresh(a),n.shared&&r?r.forEach(function(t){t.setState(t.state,!0),t.series.isCartesian&&(t.series.xAxis.crosshair&&t.series.xAxis.drawCrosshair(null,t),t.series.yAxis.crosshair&&t.series.yAxis.drawCrosshair(null,t))}):o&&(o.setState(o.state,!0),i.axes.forEach(function(t){t.crosshair&&o.series[t.coll]===t&&t.drawCrosshair(null,o)}))):(o&&o.onMouseOut(),r&&r.forEach(function(t){t.setState()}),s&&s.onMouseOut(),n&&n.hide(e),this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove()),i.axes.forEach(function(t){t.hideCrosshair()}),i.hoverPoints=i.hoverPoint=void 0)}runPointActions(t,e,i){let s=this.chart,o=s.series,n=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!n&&n.shared,h=e||s.hoverPoint,d=h&&h.series||s.hoverSeries,c=(!t||"touchmove"!==t.type)&&(!!e||d&&d.directTouch&&this.isDirectTouch),u=this.getHoverData(h,d,o,c,a,t);h=u.hoverPoint,d=u.hoverSeries;let g=u.hoverPoints,f=d&&d.tooltipOptions.followPointer&&!d.tooltipOptions.split,m=a&&d&&!d.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||n&&n.isHidden)){if((s.hoverPoints||[]).forEach(function(t){-1===g.indexOf(t)&&t.setState()}),s.hoverSeries!==d&&d.onMouseOver(),this.applyInactiveState(g),(g||[]).forEach(function(t){t.setState("hover")}),s.hoverPoint&&s.hoverPoint.firePointEvent("mouseOut"),!h.series)return;s.hoverPoints=g,s.hoverPoint=h,h.firePointEvent("mouseOver",void 0,()=>{n&&h&&n.refresh(m?g:h,t)})}else if(f&&n&&!n.isHidden){let e=n.getAnchor([{}],t);s.isInsidePlot(e[0],e[1],{visiblePlotOnly:!0})&&n.updatePosition({plotX:e[0],plotY:e[1]})}this.unDocMouseMove||(this.unDocMouseMove=l(s.container.ownerDocument,"mousemove",t=>r[k.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t)),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEac
5h(function(e){let i,o=y((e.crosshair||{}).snap,!0);!o||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=p(g,t=>t.series&&t.series[e.coll]===e)),i||!o?e.drawCrosshair(t,i):e.hideCrosshair()})}setDOMEvents(){let t=this.chart.container,e=t.ownerDocument;t.onmousedown=this.onContainerMouseDown.bind(this),t.onmousemove=this.onContainerMouseMove.bind(this),t.onclick=this.onContainerClick.bind(this),this.eventsToUnbind.push(l(t,"mouseenter",this.onContainerMouseEnter.bind(this)),l(t,"mouseleave",this.onContainerMouseLeave.bind(this))),k.unbindDocumentMouseUp||(k.unbindDocumentMouseUp=[]),k.unbindDocumentMouseUp.push(l(e,"mouseup",this.onDocumentMouseUp.bind(this)));let i=this.chart.renderTo.parentElement;for(;i&&"BODY"!==i.tagName;)this.eventsToUnbind.push(l(i,"scroll",()=>{delete this.chartPosition})),i=i.parentElement;this.eventsToUnbind.push(l(t,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1}),l(t,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),k.unbindDocumentTouchEnd||(k.unbindDocumentTouchEnd=l(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})),this.setPointerCapture(),l(this.chart,"redraw",this.setPointerCapture.bind(this))}setPointerCapture(){if(!a)return;let t=this.pointerCaptureEventsToUnbind,e=this.chart,i=e.container,s=y(e.options.tooltip?.followTouchMove,!0)&&e.series.some(t=>t.options.findNearestPointBy.indexOf("y")>-1);!this.hasPointerCapture&&s?(t.push(l(i,"pointerdown",t=>{t.target?.hasPointerCapture(t.pointerId)&&t.target?.releasePointerCapture(t.pointerId)}),l(i,"pointermove",t=>{e.pointer?.getPointFromEvent(t)?.onMouseOver(t)})),e.styledMode||d(i,{"touch-action":"none"}),i.className+=" highcharts-no-touch-action",this.hasPointerCapture=!0):this.hasPointerCapture&&!s&&(t.forEach(t=>t()),t.length=0,e.styledMode||d(i,{"touch-action":y(e.options.chart.style?.["touch-action"],"manipulation")}),i.className=i.className.replace(" highcharts-no-touch-action",""),this.hasPointerCapture=!1)}setHoverChartIndex(t){let i=this.chart,s=e.charts[y(k.hoverChartIndex,-1)];if(s&&s!==i){let e={relatedTarget:i.container};t&&!t?.relatedTarget&&(t={...e,...t}),s.pointer?.onContainerMouseLeave(t||e)}s&&s.mouseIsDown||(k.hoverChartIndex=i.index)}touch(t,e){let i,{chart:s,pinchDown:o=[]}=this;this.setHoverChartIndex(),1===(t=this.normalize(t)).touches.length?s.isInsidePlot(t.chartX-s.plotLeft,t.chartY-s.plotTop,{visiblePlotOnly:!0})&&!s.openMenu?(e&&this.runPointActions(t),"touchmove"===t.type&&(i=!!o[0]&&Math.pow(o[0].chartX-t.chartX,2)+Math.pow(o[0].chartY-t.chartY,2)>=16),y(i,!0)&&this.pinch(t)):e&&this.reset():2===t.touches.length&&this.pinch(t)}touchSelect(t){return!!(this.chart.zooming.singleTouch&&t.touches&&1===t.touches.length)}zoomOption(t){let e=this.chart,i=e.inverted,s=e.zooming.type||"",o,r;/touch/.test(t.type)&&(s=y(e.zooming.pinchType,s)),this.zoomX=o=/x/.test(s),this.zoomY=r=/y/.test(s),this.zoomHor=o&&!i||r&&i,this.zoomVert=r&&!i||o&&i,this.hasZoom=o||r}}return(s=k||(k={})).compose=function(t){b(n,"Core.Pointer")&&l(t,"beforeRender",function(){this.pointer=new s(this,this.options)})},k}),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],function(t){var e;let{extend:i,merge:s,pick:o}=t;return function(t){function e(t,e,r){let n=this.legendItem=this.legendItem||{},{chart:a,options:l}=this,{baseline:h=0,symbolWidth:d,symbolHeight:c}=t,p=this.symbol||"circle",u=c/2,g=a.renderer,f=n.group,m=h-Math.round((t.fontMetrics?.b||c)*(r?.4:.3)),x={},y,b=l.marker,v=0;if(a.styledMode||(x["stroke-width"]=Math.min(l.lineWidth||0,24),l.dashStyle?x.dashstyle=l.dashStyle:"square"===l.linecap||(x["stroke-linecap"]="round")),n.line=g.path().addClass("highcharts-graph").attr(x).add(f),r&&(n.area=g.path().addClass("highcharts-area").add(f)),x["stroke-linecap"]&&(v=Math.min(n.line.strokeWidth(),d)/2),d){let t=[["M",v,m],["L",d-v,m]];n.line.attr({d:t}),n.area?.attr({d:[...t,["L",d-v,h],["L",v,h]]})}if(b&&!1!==b.enabled&&d){let t=Math.min(o(b.radius,u),u);0===p.indexOf("url")&&(b=s(b,{width:c,height:c}),t=0),n.symbol=y=g.symbol(p,d/2-t,m-t,2*t,2*t,i({context:"legend"},b)).addClass("highcharts-point").add(f),y.isMarker=!0}}t.areaMarker=function(t,i){e.call(this,t,i,!0)},t.lineMarker=e,t.rectangle=function(t,e){let i=e.legendItem||{}
5,s=t.options,r=t.symbolHeight,n=s.squareSymbol,a=n?r:t.symbolWidth;i.symbol=this.chart.renderer.rect(n?(t.symbolWidth-r)/2:0,t.baseline-r+1,a,r,o(t.options.symbolRadius,r/2)).addClass("highcharts-point").attr({zIndex:3}).add(i.group)}}(e||(e={})),e}),i(e,"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:2,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1e3},enableMouseTracking:!0,events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){let{numberFormatter:t}=this.series.chart;return"number"!=typeof this.y?"":t(this.y,-1)},padding:5,style:{fontSize:"0.7em",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:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1e3,findNearestPointBy:"x"}}),i(e,"Core/Series/SeriesRegistry.js",[e["Core/Globals.js"],e["Core/Defaults.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{defaultOptions:r}=e,{extend:n,extendClass:a,merge:l}=s;return function(e){function s(t,s){let o=r.plotOptions||{},n=s.defaultOptions,a=s.prototype;return a.type=t,a.pointClass||(a.pointClass=i),!e.seriesTypes[t]&&(n&&(o[t]=n),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,o,h,d,c){let p=r.plotOptions||{};if(o=o||"",p[t]=l(p[o],h),delete e.seriesTypes[t],s(t,a(e.seriesTypes[o]||function(){},d)),e.seriesTypes[t].prototype.type=t,c){class s extends i{}n(s.prototype,c),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(o||(o={})),o}),i(e,"Core/Series/Series.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Defaults.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n,a,l,h){let{animObject:d,setAnimation:c}=t,{defaultOptions:p}=e,{registerEventOptions:u}=i,{svg:g,win:f}=s,{seriesTypes:m}=a,{arrayMax:x,arrayMin:y,clamp:b,correctFloat:v,crisp:k,defined:w,destroyObjectProperties:M,diffObjects:S,erase:C,error:A,extend:T,find:P,fireEvent:O,getClosestDistance:L,getNestedProperty:E,insertItem:D,isArray:I,isNumber:B,isString:N,merge:R,objectEach:z,pick:W,removeEvent:H,splat:F,syncTimeout:G}=h;class j{constructor(){this.zoneAxis="y"}init(t,e){let i;O(this,"init",{options:e});let s=this,o=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let r=s.options,n=!1!==r.visible;s.linkedSeries=[],s.bindAxes(),T(s,{name:r.name,state:"",visible:n,selected:!0===r.selected}),u(this,r);let a=r.events;(a&&a.click||r.point&&r.point.events&&r.point.events.click||r.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach(function(t){s[t+"Data"]||(s[t+"Data"]=[])}),s.isCartesian&&(t.hasCartesianSeries=!0),o.length&&(i=o[o.length-1]),s._i=W(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",D(this,o)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),O(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;O(this,"bindAxes",null,function(){(e.axisTypes||[]).forEach(function(o){(s[o]||[]).forEach(function(s){t=s.options,
5(W(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(D(e,s.series),e[o]=s,s.isDirty=!0)}),e[o]||e.optionalAxis===o||A(18,!0,s)})}),O(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,o=B(e)?function(i){let o="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=o}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(o)}hasData(){return this.visible&&void 0!==this.dataMax&&void 0!==this.dataMin||this.visible&&this.yData&&this.yData.length>0}hasMarkerChanged(t,e){let i=t.marker,s=e.marker||{};return i&&(s.enabled&&!i.enabled||s.symbol!==i.symbol||s.height!==i.height||s.width!==i.width)}autoIncrement(t){let e=this.options,i=e.pointIntervalUnit,s=e.relativeXValue,o=this.chart.time,r=this.xIncrement,n,a;return(r=W(r,e.pointStart,0),this.pointInterval=a=W(this.pointInterval,e.pointInterval,1),s&&B(t)&&(a*=t),i&&(n=new o.Date(r),"day"===i?o.set("Date",n,o.get("Date",n)+a):"month"===i?o.set("Month",n,o.get("Month",n)+a):"year"===i&&o.set("FullYear",n,o.get("FullYear",n)+a),a=n.getTime()-r),s&&B(t))?r+a:(this.xIncrement=r+a,r)}setDataSortingOptions(){let t=this.options;T(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),w(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=R(t),n=i.styledMode,a={plotOptions:s,userOptions:r};O(this,"setOptions",a);let l=a.plotOptions[this.type],h=o.plotOptions||{},d=h.series||{},c=p.plotOptions[this.type]||{},u=h[this.type]||{};this.userOptions=a.userOptions;let g=R(l,s.series,u,r);this.tooltipOptions=R(p.tooltip,p.plotOptions.series?.tooltip,c?.tooltip,i.userOptions.tooltip,h.series?.tooltip,u.tooltip,r.tooltip),this.stickyTracking=W(r.stickyTracking,u.stickyTracking,d.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===l.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let f=this.zones=(g.zones||[]).map(t=>({...t}));return(g.negativeColor||g.negativeFillColor)&&!g.zones&&(e={value:g[this.zoneAxis+"Threshold"]||g.threshold||0,className:"highcharts-negative"},n||(e.color=g.negativeColor,e.fillColor=g.negativeFillColor),f.push(e)),f.length&&w(f[f.length-1].value)&&f.push(n?{}:{color:this.color,fillColor:this.fillColor}),O(this,"afterSetOptions",{options:g}),g}getName(){return W(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,o,r=this.chart,n=`${t}Index`,a=`${t}Counter`,l=i?.length||r.options.chart.colorCount;!e&&(w(o=W("color"===t?this.options.colorIndex:void 0,this[n]))?s=o:(r.series.length||(r[a]=0),s=r[a]%l,r[a]+=1),i&&(e=i[s])),void 0!==s&&(this[n]=s),this[t]=e}getColor(){this.chart.styledMode?this.getCyclic("color"):this.options.colorByPoint?this.color="#cccccc":this.getCyclic("color",this.options.color||p.plotOptions[this.type].color,this.chart.options.colors)}getPointsCollection(){return(this.hasGroupedData?this.points:this.data)||[]}getSymbol(){let t=this.options.marker;this.getCyclic("symbol",t.symbol,this.chart.options.symbols)}findPointIndex(t,e){let i,s,o,n=t.id,a=t.x,l=this.points,h=this.options.dataSorting;if(n){let t=this.chart.get(n);t instanceof r&&(i=t)}else if(this.linkedParent||this.enabledDataSorting||this.options.relativeXValue){let e=e=>!e.touched&&e.index===t.index;if(h&&h.matchByName?e=e=>!e.touched&&e.name===t.name:this.options.relativeXValue&&(e=e=>!e.touched&&e.options.x===t.x),!(i=P(l,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&B(a)&&(o=this.xData.indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&B(o)&&l[o]&&l[o].touched&&(o=void 0),o}updateData(t,e){let i=this.options,s=i.dataSorting,o=this.points,r=[],n=this.requireSorting,a=t.length===o.length,l,h,d,c,p=!0;if(this.xIncrement=null,t.forEach(function(t,e){let h,d=w(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=d.x;d.id||B(p)?(-1===(h=this.findPointIndex(d,c))||void 0===h?r.push(t):o[h]&&t!==i.data[h]?(o[h].update(t,!1,null,!1),o[h].touched=!0,n&&(c=h+1)):o[h]&&(o[h].touched=!0),(!a||e!==h||s&&s.enabled||this.hasDerivedData)&&(l=!0)):r.push(t)},this),l)for(h=o.length;h--;)(d=o[h])&&!d.touched&&d.remove&&d.remove(!1,e);else!a||s&&s.enabled?p=!1:(t.forEach(function(t,e){t===o[e].y||o[e].destroyed||o[e].update(t,!1,null,!1)}),r.length=0);return o.forEach(function(t){t&&(t.touched=!1)}),!!p&&(r.forEach(function(t){this.addPoint(t,!1,null,null,!1)},this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=x(this.xData),this.autoIncrement()),!0)}setData(t,e=!0,i,s){let o=this,r=o.points,n=r&&r.length||0,a=o.options,l=o.chart,h=a.dataSorting,d=o.xAxis,c=a.turboThreshold,p=this.xData,u=this.yData,g=o.pointArrayMap,f=g&&g.length,m=a.keys,x,y,b,v=0,k=1,w;l.options.chart.allowMutatingData||(a.data&&delete o.options.data,o.userOptions.data&&delete o.userOptions.data,w=R(!0,t));let M=(t=w||t||[]).length;if(h&&h.enabled&&(t=this.sortData(t)),l.options.chart.allowMutatingData&&!1!==s&&M&&n&&!o.cropped&&!o.hasGroupedData&&o.visible&&!o.boosted&&(b=this.updateData(t,i)),!b){o.xIncrement=null,o.colorCounter=0,this.parallelArrays.forEach(function(t){o[t+"Data"].length=0});let e=c&&M>c;if(e){let i=o.getFirstValidPoint(t),s=o.getFirstValidPoint(t,M-1,-1),r=t=>!!(I(t)&&(m||B(t[0])));if(B(i)&&B(s))for(x=0;x<M;x++)p[x]=this.autoIncrement(),u[x]=t[x];else if(r(i)&&r(s))if(f)if(i.length===f)for(x=0;x<M;x++)p[x]=this.autoIncrement(),u[x]=t[x];else for(x=0;x<M;x++)y=t[x],p[x]=y[0],u[x]=y.slice(1,f+1);else if(m&&(v=m.indexOf("x"),k=m.indexOf("y"),v=v>=0?v:0,k=k>=0?k:1),1===i.length&&(k=0),v===k)for(x=0;x<M;x++)p[x]=this.autoIncrement(),u[x]=t[x][k];else for(x=0;x<M;x++)y=t[x],p[x]=y[v],u[x]=y[k];else e=!1}if(!e)for(x=0;x<M;x++)y={series:o},o.pointClass.prototype.applyOptions.apply(y,[t[x]]),o.updateParallelArrays(y,x);for(u&&N(u[0])&&A(14,!0,l),o.data=[],o.options.data=o.userOptions.data=t,x=n;x--;)r[x]?.destroy();d&&(d.minRange=d.userMinRange),o.isDirty=l.isDirtyBox=!0,o.isDirtyData=!!r,i=!1}
5"point"===a.legendType&&(this.processData(),this.generatePoints()),e&&l.redraw(i)}sortData(t){let e=this,i=e.options.dataSorting.sortKey||"y",s=function(t,e){return w(e)&&t.pointClass.prototype.optionsToObject.call({series:t},e)||{}};return t.forEach(function(i,o){t[o]=s(e,i),t[o].index=o},this),t.concat().sort((t,e)=>{let s=E(i,t),o=E(i,e);return o<s?-1:+(o>s)}).forEach(function(t,e){t.x=e},this),e.linkedSeries&&e.linkedSeries.forEach(function(e){let i=e.options,o=i.data;i.dataSorting&&i.dataSorting.enabled||!o||(o.forEach(function(i,r){o[r]=s(e,i),t[r]&&(o[r].x=t[r].x,o[r].index=r)}),e.setData(o,!1))}),t}getProcessedData(t){let e=this,i=e.xAxis,s=e.options.cropThreshold,o=i?.logarithmic,r=e.isCartesian,n,a,l=0,h,d,c,p=e.xData,u=e.yData,g=!1,f=p.length;i&&(d=(h=i.getExtremes()).min,c=h.max,g=!!(i.categories&&!i.names.length)),r&&e.sorted&&!t&&(!s||f>s||e.forceCrop)&&(p[f-1]<d||p[0]>c?(p=[],u=[]):e.yData&&(p[0]<d||p[f-1]>c)&&(p=(n=this.cropData(e.xData,e.yData,d,c)).xData,u=n.yData,l=n.start,a=!0));let m=L([o?p.map(o.log2lin):p],()=>e.requireSorting&&!g&&A(15,!1,e.chart));return{xData:p,yData:u,cropped:a,cropStart:l,closestPointRange:m}}processData(t){let e=this.xAxis;if(this.isCartesian&&!this.isDirty&&!e.isDirty&&!this.yAxis.isDirty&&!t)return!1;let i=this.getProcessedData();this.cropped=i.cropped,this.cropStart=i.cropStart,this.processedXData=i.xData,this.processedYData=i.yData,this.closestPointRange=this.basePointRange=i.closestPointRange,O(this,"afterProcessData")}cropData(t,e,i,s){let o=t.length,r,n,a=0,l=o;for(r=0;r<o;r++)if(t[r]>=i){a=Math.max(0,r-1);break}for(n=r;n<o;n++)if(t[n]>s){l=n+1;break}return{xData:t.slice(a,l),yData:e.slice(a,l),start:a,end:l}}generatePoints(){let t=this.options,e=this.processedData||t.data,i=this.processedXData,s=this.processedYData,o=this.pointClass,r=i.length,n=this.cropStart||0,a=this.hasGroupedData,l=t.keys,h=[],d=t.dataGrouping&&t.dataGrouping.groupAll?n:0,c,p,u,g,f=this.data;if(!f&&!a){let t=[];t.length=e.length,f=this.data=t}for(l&&a&&(this.options.keys=!1),g=0;g<r;g++)p=n+g,a?((u=new o(this,[i[g]].concat(F(s[g])))).dataGroup=this.groupMap[d+g],u.dataGroup.options&&(u.options=u.dataGroup.options,T(u,u.dataGroup.options),delete u.dataLabels)):(u=f[p])||void 0===e[p]||(f[p]=u=new o(this,e[p],i[g])),u&&(u.index=a?d+g:p,h[g]=u);if(this.options.keys=l,f&&(r!==(c=f.length)||a))for(g=0;g<c;g++)g!==n||a||(g+=r),f[g]&&(f[g].destroyElements(),f[g].plotX=void 0);this.data=f,this.points=h,O(this,"afterGeneratePoints")}getXExtremes(t){return{min:y(t),max:x(t)}}getExtremes(t,e){let i=this.xAxis,s=this.yAxis,o=[],r=this.requireSorting&&!this.is("column")?1:0,n=!!s&&s.positiveValuesOnly,a=e||this.getExtremesFromAll||this.options.getExtremesFromAll,{processedXData:l,processedYData:h}=this,d,c,p,u,g,f,m,b=0,v=0,k=0;if(this.cropped&&a){let t=this.getProcessedData(!0);l=t.xData,h=t.yData}let w=(t=t||this.stackedYData||h||[]).length,M=l||this.xData;for(i&&(b=(d=i.getExtremes()).min,v=d.max),f=0;f<w;f++)if(u=M[f],c=(B(g=t[f])||I(g))&&((B(g)?g>0:g.length)||!n),p=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!i||(M[f+r]||u)>=b&&(M[f-r]||u)<=v,c&&p)if(m=g.length)for(;m--;)B(g[m])&&(o[k++]=g[m]);else o[k++]=g;let S={activeYData:o,dataMin:y(o),dataMax:x(o)};return O(this,"afterGetExtremes",{dataExtremes:S}),S}applyExtremes(){let t=this.getExtremes();return this.dataMin=t.dataMin,this.dataMax=t.dataMax,t}getFirstValidPoint(t,e=0,i=1){let s=t.length,o=e;for(;o>=0&&o<s;){if(w(t[o]))return t[o];o+=i}}translate(){this.processedXData||this.processData(),this.generatePoints();let t=this.options,e=t.stacking,i=this.xAxis,s=i.categories,o=this.enabledDataSorting,r=this.yAxis,n=this.points,a=n.length,l=this.pointPlacementToXValue(),h=!!l,d=t.threshold,c=t.startFromThreshold?d:0,p,u,g,f,m=Number.MAX_VALUE;function x(t){return b(t,-1e9,1e9)}for(p=0;p<a;p++){let t,a=n[p],y=a.x,b,k,M=a.y,S=a.low,C=e&&r.stacking?.stacks[(this.negStacks&&M<(c?0:d)?"-":"")+this.stackKey];a.plotX=B(u=i.translate(y,!1,!1,!1,!0,l))?v(x(u)):void 0,e&&this.visible&&C&&C[y]&&(f=this.getStackIndicator(f,y,this.index),!a.isNull&&f.key&&(k=(b=C[y]).points[f.key]),b&&I(k)&&(S=k[0],M=k[1],S===c&&f.key===C[y].base&&(S=W(B(d)?d:r.min)),r.positiveValuesOnly&&w(S)&&S<=0&&(S=void 0),a.total=a.stackTotal=W(b.total),a.percentage=w(a.y)&&b.total?a.y/b.total*100:void 0,a.stackY=M,this.irregularWidths||b.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0,void 0,this.xAxis))),a.yBottom=w(S)?x(r.translate(S,!1,!0,!1,!0)):void 0,this.dataModify&&(M=this.dataModify.modifyValue(M,p)),B(M)&&void 0!==a.plotX&&(t=B(t=r.translate(M,!1,!0,!1,!0))?x(t):void 0),a.plotY=t,a.isInside=this.isPointInside(a),a.clientX=h?v(i.translate(y,!1,!1,!1,!0,l)):u,a.negative=(a.y||0)<(d||0),a.category=W(s&&s[a.x],a.x),a.isNull||!1===a.visible||(void 0!==g&&(m=Math.min(m,Math.abs(u-g))),g=u),a.zone=this.zones.length?a.getZone():void 0,!a.graphic&&this.group&&o&&(a.isNew=!0)}this.closestPointRangePx=m,O(this,"afterTranslate")}getValidPoints(t,e,i){let s=this.chart;return(t||this.points||[]).filter(function(t){let{plotX:o,plotY:r}=t;return!!((i||!t.isNull&&B(r))&&(!e||s.isInsidePlot(o,r,{inverted:s.inverted})))&&!1!==t.visible})}getClipBox(){let{chart:t,xAxis:e,yAxis:i}=this,{x:s,y:o,width:r,height:n}=R(t.clipBox);return e&&e.len!==t.plotSizeX&&(r=e.len),i&&i.len!==t.plotSizeY&&(n=i.len),t.inverted&&!this.invertible&&([r,n]=[n,r]),{x:s,y:o,width:r,height:n}}
5getSharedClipKey(){return this.sharedClipKey=(this.options.xAxis||0)+","+(this.options.yAxis||0),this.sharedClipKey}setClip(){let{chart:t,group:e,markerGroup:i}=this,s=t.sharedClips,o=t.renderer,r=this.getClipBox(),n=this.getSharedClipKey(),a=s[n];a?a.animate(r):s[n]=a=o.clipRect(r),e&&e.clip(!1===this.options.clip?void 0:a),i&&i.clip()}animate(t){let{chart:e,group:i,markerGroup:s}=this,o=e.inverted,r=d(this.options.animation),n=[this.getSharedClipKey(),r.duration,r.easing,r.defer].join(","),a=e.sharedClips[n],l=e.sharedClips[n+"m"];if(t&&i){let t=this.getClipBox();if(a)a.attr("height",t.height);else{t.width=0,o&&(t.x=e.plotHeight),a=e.renderer.clipRect(t),e.sharedClips[n]=a;let i={x:-99,y:-99,width:o?e.plotWidth+199:99,height:o?99:e.plotHeight+199};l=e.renderer.clipRect(i),e.sharedClips[n+"m"]=l}i.clip(a),s?.clip(l)}else if(a&&!a.hasClass("highcharts-animating")){let t=this.getClipBox(),i=r.step;(s?.element.childNodes.length||e.series.length>1)&&(r.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(o?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,r)}}afterAnimate(){this.setClip(),z(this.chart.sharedClips,(t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])}),this.finishedAnimating=!0,O(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a,l=this.chart,h=l.styledMode,{colorAxis:d,options:c}=this,p=c.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=W(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e<t.length;e++)if(o=(s=(i=t[e]).graphic)?"animate":"attr",r=i.marker||{},n=!!i.marker,(f&&void 0===r.enabled||r.enabled)&&!i.isNull&&!1!==i.visible){let t=W(r.symbol,this.symbol,"rect");a=this.markerAttribs(i,i.selected&&"select"),this.enabledDataSorting&&(i.startXPos=g.reversed?-(a.width||0):g.width);let e=!1!==i.isInside;if(!s&&e&&((a.width||0)>0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,a.x,a.y,a.width,a.height,n?r:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),o="animate")),s&&"animate"===o&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?d&&s.css({fill:t.fill}):s[o](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i=this.options,s=i.marker,o=t.marker||{},r=o.symbol||s.symbol,n={},a,l,h=W(o.radius,s&&s.radius);e&&(a=s.states[e],h=W((l=o.states&&o.states[e])&&l.radius,a&&a.radius,h&&h+(a&&a.radiusPlus||0))),t.hasImage=r&&0===r.indexOf("url"),t.hasImage&&(h=0);let d=t.pos();return B(h)&&d&&(i.crisp&&(d[0]=k(d[0],t.hasImage?0:"rect"===r?s?.lineWidth||0:1)),n.x=d[0]-h,n.y=d[1]-h),h&&(n.width=n.height=2*h),n}pointAttribs(t,e){let i=this.options.marker,s=t&&t.options,o=s&&s.marker||{},r=s&&s.color,n=t&&t.color,a=t&&t.zone&&t.zone.color,l,h,d=this.color,c,p,u=W(o.lineWidth,i.lineWidth),g=1;return d=r||a||n||d,c=o.fillColor||i.fillColor||d,p=o.lineColor||i.lineColor||d,e=e||"normal",l=i.states[e]||{},u=W((h=o.states&&o.states[e]||{}).lineWidth,l.lineWidth,u+W(h.lineWidthPlus,l.lineWidthPlus,0)),c=h.fillColor||l.fillColor||c,{stroke:p=h.lineColor||l.lineColor||p,"stroke-width":u,fill:c,opacity:g=W(h.opacity,l.opacity,g)}}destroy(t){let e,i,s,o=this,r=o.chart,n=/AppleWebKit\/533/.test(f.navigator.userAgent),a=o.data||[];for(O(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach(function(t){(s=o[t])&&s.series&&(C(s.series,o),s.isDirty=s.forceRedraw=!0)}),o.legendItem&&o.chart.legend.destroyItem(o),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let t of o.zones)M(t,void 0,!0);h.clearTimeout(o.animationTimeout),z(o,function(t,e){t instanceof l&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()}),r.hoverSeries===o&&(r.hoverSeries=void 0),C(r.series,o),r.orderItems("series"),z(o,function(e,i){t&&"hcEvents"===i||delete o[i]})}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:o,xAxis:r,yAxis:n,zoneAxis:a}=this,{inverted:l,renderer:h}=e,d=this[`${a}Axis`],{isXAxis:c,len:p=0}=d||{},u=(i?.strokeWidth()||0)/2+1,g=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:o}=t,r=i-s;o?.push(["L",e,Math.abs(r)<u?i-u*(r<=0?-1:1):s])};if(s.length&&(i||t)&&d&&B(d.min)){let e=d.getExtremes().max,u=t=>{t.forEach((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],c?p-e[1]:e[1],c?e[2]:p-e[2]])})};if(s.forEach(t=>{t.lineClip=[],t.translated=b(d.toPixels(W(t.value,e),!0)||0,0,p)}),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length<r.len)for(let t of o){let{plotX:e,plotY:i,zone:o}=t,r=o&&s[s.indexOf(o)-1];o&&g(o,e,i),r&&g(r,e,i)}let f=[],m=d.toPixels(d.getExtremes().min,!0);
vendor: 4,438 bytes, line 5
5s.forEach(e=>{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:d}=e,p=0,g=0,x=r.len,y=n.len;c?(p=o,x=m):(g=o,y=m);let b=[["M",p,g],["L",x,g],["L",x,y],["L",p,y],["Z"]],v=[b[0],...s,b[1],b[2],...f,b[3],b[4]];f=s.reverse(),m=o,l&&(u(v),t&&u(b)),a?(a.animate({d:v}),d?.animate({d:b})):(a=e.clip=h.path(v),t&&(d=e.simpleClip=h.path(b))),i&&e.graph?.clip(a),t&&e.area?.clip(d)})}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,o){let r=this[t],n=!r,a={visibility:i,zIndex:s||.1};return w(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),r||(this[t]=r=this.chart.renderer.g().add(o)),r.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(w(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(r.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),r.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),r}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,o=s.inverted&&!s.polar&&e&&this.invertible&&"series"===t;return s.inverted&&(e=i,i=this.xAxis),{translateX:e?e.left:s.plotLeft,translateY:i?i.top:s.plotTop,rotation:90*!!o,rotationOriginX:o?(e.len-i.len)/2:0,rotationOriginY:o?(e.len+i.len)/2:0,scaleX:o?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||H(this),e.length&&(e.forEach(t=>{t()}),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=d(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:o.duration;O(this,"render"),t.plotGroup("group","series",r,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",r,n,a),!1!==i.clip&&t.setClip(),l&&t.animate?.(!0),t.drawGraph&&(t.drawGraph(),t.applyZones()),t.visible&&t.drawPoints(),t.drawDataLabels?.(),t.redrawPoints?.(),i.enableMouseTracking&&t.drawTracker?.(),l&&t.animate?.(),s||(l&&o.defer&&(l+=o.defer),t.animationTimeout=G(()=>{t.afterAnimate()},l||0)),t.isDirty=!1,t.hasRendered=!0,O(t,"afterRender")}redraw(){let t=this.isDirty||this.isDirtyData;this.translate(),this.render(),t&&delete this.kdTree}reserveSpace(){return this.visible||!this.chart.options.chart.ignoreHiddenSeries}searchPoint(t,e){let{xAxis:i,yAxis:s}=this,o=this.chart.inverted;return this.searchKDTree({clientX:o?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:o?s.len-t.chartX+s.pos:t.chartY-s.pos},e,t)}buildKDTree(t){this.buildingKdTree=!0;let e=this,i=e.options.findNearestPointBy.indexOf("y")>-1?2:1;delete e.kdTree,G(function(){e.kdTree=function t(i,s,o){let r,n,a=i?.length;if(a)return r=e.kdAxisArray[s%o],i.sort((t,e)=>(t[r]||0)-(e[r]||0)),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,o),right:t(i.slice(n+1),s+1,o)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1},e.options.kdNow||t?.type==="touchstart"?0:1)}searchKDTree(t,e,i){let s=this,[o,r]=this.kdAxisArray,n=e?"distX":"dist",a=(s.options.findNearestPointBy||"").indexOf("y")>-1?2:1,l=!!s.isBubble;if(this.kdTree||this.buildingKdTree||this.buildKDTree(i),this.kdTree)return function t(e,i,a,h){let d,c,p,u,g,f,m,x=i.point,y=s.kdAxisArray[a%h],b,v,k=x;d=e[o],c=x[o],p=w(d)&&w(c)?d-c:null,u=e[r],g=x[r],f=w(u)&&w(g)?u-g:0,m=l&&x.marker?.radius||0,x.dist=Math.sqrt((p&&p*p||0)+f*f)-m,x.distX=w(p)?Math.abs(p)-m:Number.MAX_VALUE;let M=(e[y]||0)-(x[y]||0)+(l&&x.marker?.radius||0),S=M<0?"left":"right",C=M<0?"right":"left";return i[S]&&(k=(b=t(e,i[S],a+1,h))[n]<k[n]?b:x),i[C]&&Math.sqrt(M*M)<k[n]&&(k=(v=t(e,i[C],a+1,h))[n]<k[n]?v:k),k}(t,this.kdTree,a,a)}pointPlacementToXValue(){let{options:t,xAxis:e}=this,i=t.pointPlacement;return"between"===i&&(i=e.reversed?-.5:.5),B(i)?i*(t.pointRange||e.pointRange):0}isPointInside(t){let{chart:e,xAxis:i,yAxis:s}=this,{plotX:o=-1,plotY:r=-1}=t;return r>=0&&r<=(s?s.len:e.plotHeight)&&o>=0&&o<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),o=t.chart,r=o.pointer,n=o.renderer,a=o.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&o.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(g?1e-4:.002)+")",d=t.tracker;d?d.attr({d:s}):t.graph&&(t.tracker=d=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||d.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}
5),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach(t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",t=>{r?.onTrackerMouseOut(t)}),e.cursor&&!o.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))})),O(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n,a=this.options,l=this.data,h=this.chart,d=this.xAxis,c=d&&d.hasNames&&d.names,p=a.data,u=this.xData;e=W(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let f=g.x;if(n=u.length,this.requireSorting&&f<u[n-1])for(r=!0;n&&u[n-1]>f;)n--;this.updateParallelArrays(g,"splice",[n,0,0]),this.updateParallelArrays(g,n),c&&g.name&&(c[f]=g.name),p.splice(n,0,t),(r||this.processedData)&&(this.data.splice(n,0,null),this.processData()),"point"===a.legendType&&this.generatePoints(),i&&(l[0]&&l[0].remove?l[0].remove(!1):(l.shift(),this.updateParallelArrays(g,"shift"),p.shift())),!1!==o&&O(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,o=s.data,r=o[t],n=s.points,a=s.chart,l=function(){n&&n.length===o.length&&n.splice(t,1),o.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(r||{series:s},"splice",[t,1]),r&&r.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&a.redraw()};c(i,a),e=W(e,!0),r?r.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let o=this,r=o.chart;function n(){o.destroy(s),r.isDirtyLegend=r.isDirtyBox=!0,r.linkSeries(s),W(t,!0)&&r.redraw(e)}!1!==i?O(o,"remove",null,n):n()}update(t,e){O(this,"update",{options:t=S(t,this.userOptions)});let i=this,s=i.chart,o=i.userOptions,r=i.initialType||i.type,n=s.options.plotOptions,a=m[r].prototype,l=i.finishedAnimating&&{animation:!1},h={},d,c,p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||o.type||s.options.chart.type,g=!(this.hasDerivedData||u&&u!==this.type||void 0!==t.pointStart||void 0!==t.pointInterval||void 0!==t.relativeXValue||t.joinBy||t.mapData||["dataGrouping","pointStart","pointInterval","pointIntervalUnit","keys"].some(t=>i.hasOptionChanged(t)));u=u||r,g&&(p.push("data","isDirtyData","isDirtyCanvas","points","processedData","processedXData","processedYData","xIncrement","cropped","_hasPointMarkers","hasDataLabels","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX","transformGroups"),!1!==t.visible&&p.push("area","graph"),i.parallelArrays.forEach(function(t){p.push(t+"Data")}),t.data&&(t.dataSorting&&T(i.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=R(o,{index:void 0===o.index?i.index:o.index,pointStart:n?.series?.pointStart??o.pointStart??i.xData?.[0]},!g&&{data:i.options.data},t,l),g&&t.data&&(t.data=i.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach(function(t){p[t]=i[t],delete i[t]});let f=!1;if(m[u]){if(f=u!==i.type,i.remove(!1,!1,!1,!0),f)if(s.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(i,m[u].prototype);else{let t=Object.hasOwnProperty.call(i,"hcEvents")&&i.hcEvents;for(c in a)i[c]=void 0;T(i,m[u].prototype),t?i.hcEvents=t:delete i.hcEvents}}else A(17,!0,s,{missingModuleFor:u});if(p.forEach(function(t){i[t]=p[t]}),i.init(s,t),g&&this.points)for(let t of(!1===(d=i.options).visible?(h.graphic=1,h.dataLabel=1):(this.hasMarkerChanged(d,o)&&(h.graphic=1),i.hasDataLabels?.()||(h.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(h).length&&t.destroyElements(h),!1===d.showInLegend&&t.legendItem&&s.legend.destroyItem(t));i.initialType=r,s.linkSeries(),s.setSortedData(),f&&i.linkedSeries.length&&(i.isDirtyData=!0),O(this,"afterUpdate"),W(e,!0)&&s.redraw(!!g&&void 0)}setName(t){this.name=this.options.name=this.userOptions.name=t,this.chart.isDirtyLegend=!0}hasOptionChanged(t){let e=this.chart,i=this.options[t],s=e.options.plotOptions,o=this.userOptions[t],r=W(s?.[this.type]?.[t],s?.series?.[t]);return o&&!w(r)?i!==o:i!==W(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&O(this,"mouseOver"),this.setState("hover"),t.hoverSeries=this}onMouseOut(){let t=this.options,e=this.chart,i=e.tooltip,s=e.hoverPoint;
5e.hoverSeries=null,s&&s.onMouseOut(),this&&t.events.mouseOut&&O(this,"mouseOut"),i&&!this.stickyTracking&&(!i.shared||this.noSharedTooltip)&&i.hide(),e.series.forEach(function(t){t.setState("",!0)})}setState(t,e){let i=this,s=i.options,o=i.graph,r=s.inactiveOtherPoints,n=s.states,a=W(n[t||"normal"]&&n[t||"normal"].animation,i.chart.options.chart.animation),l=s.lineWidth,h=s.opacity;if(t=t||"",i.state!==t&&([i.group,i.markerGroup,i.dataLabelsGroup].forEach(function(e){e&&(i.state&&e.removeClass("highcharts-series-"+i.state),t&&e.addClass("highcharts-series-"+t))}),i.state=t,!i.chart.styledMode)){if(n[t]&&!1===n[t].enabled)return;if(t&&(l=n[t].lineWidth||l+(n[t].lineWidthPlus||0),h=W(n[t].opacity,h)),o&&!o.dashstyle&&B(l))for(let t of[o,...this.zones.map(t=>t.graph)])t?.animate({"stroke-width":l},a);r||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach(function(t){t&&t.animate({opacity:h},a)})}e&&r&&i.points&&i.setAllPointsToState(t||void 0)}setAllPointsToState(t){this.points.forEach(function(e){e.setState&&e.setState(t)})}setVisible(t,e){let i=this,s=i.chart,o=s.options.chart.ignoreHiddenSeries,r=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!r:t;let n=t?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(t=>{i[t]?.[n]()}),(s.hoverSeries===i||s.hoverPoint?.series===i)&&i.onMouseOut(),i.legendItem&&s.legend.colorizeItem(i,t),i.isDirty=!0,i.options.stacking&&s.series.forEach(t=>{t.options.stacking&&t.visible&&(t.isDirty=!0)}),i.linkedSeries.forEach(e=>{e.setVisible(t,!1)}),o&&(s.isDirtyBox=!0),O(i,n),!1!==e&&s.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(t){this.selected=t=this.options.selected=void 0===t?!this.selected:t,this.checkbox&&(this.checkbox.checked=t),O(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){o[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return j.defaultOptions=n,j.types=a.seriesTypes,j.registerType=a.registerSeriesType,T(j.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:r,requireSorting:!0,sorted:!0}),a.series=j,j}),i(e,"Core/Legend/Legend.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/Point.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n,a){var l;let{animObject:h,setAnimation:d}=t,{registerEventOptions:c}=e,{composed:p,marginNames:u}=i,{distribute:g}=r,{format:f}=n,{addEvent:m,createElement:x,css:y,defined:b,discardElement:v,find:k,fireEvent:w,isNumber:M,merge:S,pick:C,pushUnique:A,relativeLength:T,stableSort:P,syncTimeout:O}=a;class L{constructor(t,e){this.allItems=[],this.initialItemY=0,this.itemHeight=0,this.itemMarginBottom=0,this.itemMarginTop=0,this.itemX=0,this.itemY=0,this.lastItemY=0,this.lastLineHeight=0,this.legendHeight=0,this.legendWidth=0,this.maxItemWidth=0,this.maxLegendWidth=0,this.offsetWidth=0,this.padding=0,this.pages=[],this.symbolHeight=0,this.symbolWidth=0,this.titleHeight=0,this.totalItemWidth=0,this.widthOption=0,this.chart=t,this.setOptions(e),e.enabled&&(this.render(),c(this,e),m(this.chart,"endResize",function(){this.legend.positionCheckboxes()})),m(this.chart,"render",()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())})}setOptions(t){let e=C(t.padding,8);this.options=t,this.chart.styledMode||(this.itemStyle=t.itemStyle,this.itemHiddenStyle=S(this.itemStyle,t.itemHiddenStyle)),this.itemMarginTop=t.itemMarginTop,this.itemMarginBottom=t.itemMarginBottom,this.padding=e,this.initialItemY=e-5,this.symbolWidth=C(t.symbolWidth,16),this.pages=[],this.proximate="proximate"===t.layout&&!this.chart.inverted,this.baseline=void 0}update(t,e){let i=this.chart;this.setOptions(S(!0,this.options,t)),"events"in this.options&&c(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,C(e,!0)&&i.redraw(),w(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:o,line:r,symbol:n}=t.legendItem||{};if(s?.[e?"removeClass":"addClass"]("highcharts-legend-item-hidden"),!this.chart.styledMode){let{itemHiddenStyle:s={}}=this,a=s.color,{fillColor:l,fillOpacity:h,lineColor:d,marker:c}=t.options,p=t=>(!e&&(t.fill&&(t.fill=a),t.stroke&&(t.stroke=a)),t);o?.css(S(e?this.itemStyle:s)),r?.attr(p({stroke:d||t.color})),n&&n.attr(p(c&&n.isMarker?t.pointAttribs():{fill:t.color})),i?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}w(this,"afterColorizeItem",{item:t,visible:e})}
vendor: 4,191 bytes, line 5
5positionItems(){this.allItems.forEach(this.positionItem,this),this.chart.isResizing||this.positionCheckboxes()}positionItem(t){let{group:e,x:i=0,y:s=0}=t.legendItem||{},o=this.options,r=o.symbolPadding,n=!o.rtl,a=t.checkbox;if(e&&e.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s};e[b(e.translateY)?"animate":"attr"](o,void 0,()=>{w(this,"afterPositionItem",{item:t})})}a&&(a.x=i,a.y=s)}destroyItem(t){let e=t.checkbox,i=t.legendItem||{};for(let t of["group","label","line","symbol"])i[t]&&(i[t]=i[t].destroy());e&&v(e),t.legendItem=void 0}destroy(){for(let t of this.getAllItems())this.destroyItem(t);for(let t of["clipRect","up","down","pager","nav","box","title","group"])this[t]&&(this[t]=this[t].destroy());this.display=null}positionCheckboxes(){let t,e=this.group&&this.group.alignAttr,i=this.clipHeight||this.legendHeight,s=this.titleHeight;e&&(t=e.translateY,this.allItems.forEach(function(o){let r,n=o.checkbox;n&&(r=t+s+n.y+(this.scrollOffset||0)+3,y(n,{left:e.translateX+o.checkboxOffset+n.x-20+"px",top:r+"px",display:this.proximate||r>t-6&&r<t+i-6?"":"none"}))},this))}renderTitle(){let t=this.options,e=this.padding,i=t.title,s,o=0;i.text&&(this.title||(this.title=this.chart.renderer.label(i.text,e-3,e-4,void 0,void 0,void 0,t.useHTML,void 0,"legend-title").attr({zIndex:1}),this.chart.styledMode||this.title.css(i.style),this.title.add(this.group)),i.width||this.title.css({width:this.maxLegendWidth+"px"}),o=(s=this.title.getBBox()).height,this.offsetWidth=s.width,this.contentGroup.attr({translateY:o})),this.titleHeight=o}setText(t){let e=this.options;t.legendItem.label.attr({text:e.labelFormat?f(e.labelFormat,t,this.chart):e.labelFormatter.call(t)})}renderItem(t){let e=t.legendItem=t.legendItem||{},i=this.chart,s=i.renderer,o=this.options,r="horizontal"===o.layout,n=this.symbolWidth,a=o.symbolPadding||0,l=this.itemStyle,h=this.itemHiddenStyle,d=r?C(o.itemDistance,20):0,c=!o.rtl,p=!t.series,u=!p&&t.series.drawLegendSymbol?t.series:t,g=u.options,f=!!this.createCheckboxForItem&&g&&g.showCheckbox,m=o.useHTML,x=t.options.className,y=e.label,b=n+a+d+20*!!f;!y&&(e.group=s.g("legend-item").addClass("highcharts-"+u.type+"-series highcharts-color-"+t.colorIndex+(x?" "+x:"")+(p?" highcharts-series-"+t.index:"")).attr({zIndex:1}).add(this.scrollGroup),e.label=y=s.text("",c?n+a:-a,this.baseline||0,m),i.styledMode||y.css(S(t.visible?l:h)),y.attr({align:c?"left":"right",zIndex:2}).add(e.group),!this.baseline&&(this.fontMetrics=s.fontMetrics(y),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,y.attr("y",this.baseline),this.symbolHeight=C(o.symbolHeight,this.fontMetrics.f),o.squareSymbol&&(this.symbolWidth=C(o.symbolWidth,Math.max(this.symbolHeight,16)),b=this.symbolWidth+a+d+20*!!f,c&&y.attr("x",this.symbolWidth+a))),u.drawLegendSymbol(this,t),this.setItemEvents&&this.setItemEvents(t,y,m)),f&&!t.checkbox&&this.createCheckboxForItem&&this.createCheckboxForItem(t),this.colorizeItem(t,t.visible),(i.styledMode||!l.width)&&y.css({width:(o.itemWidth||this.widthOption||i.spacingBox.width)-b+"px"}),this.setText(t);let v=y.getBBox(),k=this.fontMetrics&&this.fontMetrics.h||0;t.itemWidth=t.checkboxOffset=o.itemWidth||e.labelWidth||v.width+b,this.maxItemWidth=Math.max(this.maxItemWidth,t.itemWidth),this.totalItemWidth+=t.itemWidth,this.itemHeight=t.itemHeight=Math.round(e.labelHeight||(v.height>1.5*k?v.height:k))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?C(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,d=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+r),this.lastLineHeight=0),this.lastItemY=n+this.itemY+r,this.lastLineHeight=Math.max(o,this.lastLineHeight),d.x=this.itemX,d.y=this.itemY,s?this.itemX+=h:(this.itemY+=n+o+r,this.lastLineHeight=o),this.offsetWidth=this.widthOption||Math.max((s?this.itemX-i-(t.checkbox?0:a):h)+i,this.offsetWidth)}getAllItems(){let t=[];return this.chart.series.forEach(function(e){let i=e&&e.options;e&&C(i.showInLegend,!b(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}
vendor: 11,383 bytes, line 5
5).labels||("point"===i.legendType?e.data:e)))}),w(this,"afterGetAllItems",{allItems:t}),t}getAlignment(){let t=this.options;return this.proximate?t.align.charAt(0)+"tv":t.floating?"":t.align.charAt(0)+t.verticalAlign.charAt(0)+t.layout.charAt(0)}adjustMargins(t,e){let i=this.chart,s=this.options,o=this.getAlignment();o&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(r,n){r.test(o)&&!b(t[n])&&(i[u[n]]=Math.max(i[u[n]],i.legend[(n+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][n]*s[n%2?"x":"y"]+C(s.margin,12)+e[n]+(i.titleOffset[n]||0)))})}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let o of(this.allItems.forEach(function(t){let o,r,n=s,a,l;t.yAxis&&(t.xAxis.options.reversed&&(n=!n),t.points&&(o=k(n?t.points:t.points.slice(0).reverse(),function(t){return M(t.plotY)})),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,l=t.yAxis.top-e.plotTop,a=t.visible?(o?o.plotY:t.yAxis.height)+(l-.3*r):l+t.yAxis.height,i.push({target:a,size:r,item:t}))},this),g(i,e.plotHeight)))t=o.item.legendItem||{},M(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t=this.chart,e=t.renderer,i=this.options,s=this.padding,o=this.getAllItems(),r,n,a,l=this.group,h,d=this.box;this.itemX=s,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=T(i.width,t.spacingBox.width-s),h=t.spacingBox.width-2*s-i.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(h/=2),this.maxLegendWidth=this.widthOption||h,l||(this.group=l=e.g("legend").addClass(i.className||"").attr({zIndex:7}).add(),this.contentGroup=e.g().attr({zIndex:1}).add(l),this.scrollGroup=e.g().add(this.contentGroup)),this.renderTitle(),P(o,(t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0)),i.reversed&&o.reverse(),this.allItems=o,this.display=r=!!o.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,o.forEach(this.renderItem,this),o.forEach(this.layoutItem,this),n=(this.widthOption||this.offsetWidth)+s,a=this.lastItemY+this.lastLineHeight+this.titleHeight,a=this.handleOverflow(a)+s,d||(this.box=d=e.rect().addClass("highcharts-legend-box").attr({r:i.borderRadius}).add(l)),t.styledMode||d.attr({stroke:i.borderColor,"stroke-width":i.borderWidth||0,fill:i.backgroundColor||"none"}).shadow(i.shadow),n>0&&a>0&&d[d.placed?"animate":"attr"](d.crisp.call({},{x:0,y:0,width:n,height:a},d.strokeWidth())),l[r?"show":"hide"](),t.styledMode&&"none"===l.getStyle("display")&&(n=a=0),this.legendWidth=n,this.legendHeight=a,r&&this.align(),this.proximate||this.positionItems(),w(this,"afterRender")}align(t=this.chart.spacingBox){let e=this.chart,i=this.options,s=t.y;/(lth|ct|rth)/.test(this.getAlignment())&&e.titleOffset[0]>0?s+=e.titleOffset[0]:/(lbh|cb|rbh)/.test(this.getAlignment())&&e.titleOffset[2]>0&&(s-=e.titleOffset[2]),s!==t.y&&(t=S(t,{y:s})),e.hasRendered||(this.group.placed=!1),this.group.align(S(i,{width:this.legendWidth,height:this.legendHeight,verticalAlign:this.proximate?"top":i.verticalAlign}),!0,t)}handleOverflow(t){let e=this,i=this.chart,s=i.renderer,o=this.options,r=o.y,n="top"===o.verticalAlign,a=this.padding,l=o.maxHeight,h=o.navigation,d=C(h.animation,!0),c=h.arrowSize||12,p=this.pages,u=this.allItems,g=function(t){"number"==typeof t?k.attr({height:t}):k&&(e.clipRect=k.destroy(),e.contentGroup.clip()),e.contentGroup.div&&(e.contentGroup.div.style.clip=t?"rect("+a+"px,9999px,"+(a+t)+"px,0)":"auto")},f=function(t){return e[t]=s.circle(0,0,1.3*c).translate(c/2,c/2).add(v),i.styledMode||e[t].attr("fill","rgba(0,0,0,0.0001)"),e[t]},m,x,y,b=i.spacingBox.height+(n?-r:r)-a,v=this.nav,k=this.clipRect;return"horizontal"!==o.layout||"middle"===o.verticalAlign||o.floating||(b/=2),l&&(b=Math.min(b,l)),p.length=0,t&&b>0&&t>b&&!1!==h.enabled?(this.clipHeight=m=Math.max(b-20-this.titleHeight-a,0),this.currentPage=C(this.currentPage,1),this.fullHeight=t,u.forEach((t,e)=>{let i=(y=t.legendItem||{}).y||0,s=Math.round(y.label.getBBox().height),o=p.length;(!o||i-p[o-1]>m&&(x||i)!==p[o-1])&&(p.push(x||i),o++),y.pageIx=o-1,x&&((u[e-1].legendItem||{}).pageIx=o-1),e===u.length-1&&i+s-p[o-1]>m&&i>p[o-1]&&(p.push(i),y.pageIx=o),i!==x&&(x=i)}),k||(k=e.clipRect=s.clipRect(0,a-2,9999,0),e.contentGroup.clip(k)),g(m),v||(this.nav=v=s.g().attr({zIndex:1}).add(this.group),this.up=s.symbol("triangle",0,0,c,c).add(v),f("upTracker").on("click",function(){e.scroll(-1,d)}),this.pager=s.text("",15,10).addClass("highcharts-legend-navigation"),!i.styledMode&&h.style&&this.pager.css(h.style),this.pager.add(v),this.down=s.symbol("triangle-down",0,0,c,c).add(v),f("downTracker").on("click",function(){e.scroll(1,d)})),e.scroll(0),t=b):v&&(g(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,o=s.length,r=this.clipHeight,n=this.options.navigation,a=this.pager,l=this.padding,c=this.currentPage+t;c>o&&(c=o),c>0&&(void 0!==e&&d(e,i),this.nav.attr({translateX:l,translateY:r+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach(function(t){t.attr({class:1===c?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),a.attr({text:c+"/"+o}),[this.down,this.downTracker].forEach(function(t){t.attr({x:18+this.pager.getBBox().width,class:c===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})},this),i.styledMode||(this.up.attr({fill:1===c?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===c?"default":"pointer"}),this.down.attr({fill:c===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:c===o?"default":"pointer"})),this.scrollOffset=-s[c-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=c,this.positionCheckboxes(),O(()=>{w(this,"afterScroll",{currentPage:c})},h(C(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let r=this,n=t.legendItem||{},a=r.chart.renderer.boxWrapper,l=t instanceof o,h=t instanceof s,d="highcharts-legend-"+(l?"point":"series")+"-active",c=r.chart.styledMode,p=i?[e,n.symbol]:[n.group],u=e=>{r.allItems.forEach(i=>{t!==i&&[i].concat(i.linkedSeries||[]).forEach(t=>{t.setState(e,!l)})})};for(let i of p)i&&i.on("mouseover",function(){t.visible&&u("inactive"),t.setState("hover"),t.visible&&a.addClass(d),c||e.css(r.options.itemHoverStyle)}).on("mouseout",function(){r.chart.styledMode||e.css(S(t.visible?r.itemStyle:r.itemHiddenStyle)),u(""),a.removeClass(d),t.setState()}).on("click",function(e){let i=function(){t.setVisible&&t.setVisible(),u(t.visible?"inactive":"")};a.removeClass(d),w(r,"itemClick",{browserEvent:e,legendItem:t},i),l?t.firePointEvent("legendItemClick",{browserEvent:e}):h&&w(t,"legendItemClick",{browserEvent:e})})}createCheckboxForItem(t){t.checkbox=x("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),m(t.checkbox,"click",function(e){let i=e.target;w(t.series||t,"checkboxClick",{checked:i.checked,item:t},function(){t.select()})})}}return(l=L||(L={})).compose=function(t){A(p,"Core.Legend")&&m(t,"beforeMargins",function(){this.legend=new l(this,this.options.legend)})},L}),i(e,"Core/Chart/Chart.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Templating.js"],e["Core/Foundation.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Time.js"],e["Core/Utilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Axis/Tick.js"]],function(t,e,i,s,o,r,n,a,l,h,d,c,p,u){let{animate:g,animObject:f,setAnimation:m}=t,{defaultOptions:x,defaultTime:y}=i,{numberFormat:b}=s,{registerEventOptions:v}=o,{charts:k,doc:w,marginNames:M,svg:S,win:C}=r,{seriesTypes:A}=l,{addEvent:T,attr:P,createElement:O,css:L,defined:E,diffObjects:D,discardElement:I,erase:B,error:N,extend:R,find:z,fireEvent:W,getStyle:H,isArray:F,isNumber:G,isObject:j,isString:X,merge:Y,objectEach:U,pick:V,pInt:$,relativeLength:_,removeEvent:K,splat:q,syncTimeout:Z,uniqueKey:J}=c;class Q{static chart(t,e,i){return new Q(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(X(t)||t.nodeName)&&(this.renderTo=s.shift()),this.init(s[0],s[1])}setZoomOptions(){let t=this.options.chart,e=t.zooming;this.zooming={...e,type:V(t.zoomType,e.type),key:V(t.zoomKey,e.key),pinchType:V(t.pinchType,e.pinchType),singleTouch:V(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:Y(e.resetButton,t.resetZoomButton)}}init(t,e){W(this,"init",{args:arguments},function(){let i=Y(x,t),s=i.chart;this.userOptions=R({},t),this.margin=[],this.spacing=[],this.labelCollectors=[],this.callback=e,this.isResizing=0,this.options=i,this.axes=[],this.series=[],this.time=t.time&&Object.keys(t.time).length?new d(t.time):r.time,this.numberFormatter=s.numberFormatter||b,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=k.length,k.push(this),r.chartCount++,v(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),W(this,"afterInit"),this.firstRender()})}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=A[i];s||N(17,!0,this,{missingModuleFor:i});let o=new s;return"function"==typeof o.init&&o.init(this,t),o}setSortedData(){this.getSeriesOrderByLinks().forEach(function(t){t.points||t.data||!t.enabledDataSorting||t.setData(t.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(t,e){return t.linkedSeries.length||e.linkedSeries.length?e.linkedSeries.length-t.linkedSeries.length:0})}orderItems(t,e=0){let i=this[t],s=this.options[t]=q(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?q(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t<r;++t){let e=i[t];e&&(e.index=t,e instanceof a&&(e.name=e.getName()),e.options.isInternal||(s[t]=e.options,o[t]=e.userOptions))}}isInsidePlot(t,e,i={}){let{inverted:s,plotBox:o,plotLeft:r,plotTop:n,scrollablePlotBox:a}=this,{scrollLeft:l=0,scrollTop:h=0}=i.visiblePlotOnly&&this.scrollablePlotArea?.scrollingContainer||{},d=i.series,c=i.visiblePlotOnly&&a||o,p=i.inverted?e:t,u=i.inverted?t:e,g={x:p,y:u,isInsidePlot:!0,options:i};if(!i.ignoreX){let t=d&&(s&&!this.polar?d.yAxis:d.xAxis)||{pos:r,len:1/0},e=i.paneCoordinates?t.pos+p:r+p;e>=Math.max(l+r,t.pos)&&e<=Math.min(l+r+c.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||d&&(s?d.xAxis:d.yAxis)||{pos:n,len:1/0},e=i.paneCoordinates?t.pos+u:n+u;e>=Math.max(h+n,t.pos)&&e<=Math.min(h+n+c.height,t.pos+t.len)||(g.isInsidePlot=!1)}return W(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){W(this,"beforeRedraw");let e=this.hasCartesianSeries?this.axes:this.colorAxis||[],i=this.series,s=this.pointer,o=this.legend,r=this.userOptions.legend,n=this.renderer,a=n.isHidden(),l=[],h,d,c,p=this.isDirtyBox,u=this.isDirtyLegend,g;for(n.rootFontSize=n.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),a&&this.temporaryDisplay(),this.layOutTitles(!1),c=i.length;c--;)if(((g=i[c]).options.stacking||g.options.centerInCategory)&&(d=!0,g.isDirty)){h=!0;break}if(h)for(c=i.length;c--;)(g=i[c]).options.stacking&&(g.isDirty=!0);
5i.forEach(function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),u=!0):r&&(r.labelFormatter||r.labelFormat)&&(u=!0)),t.isDirtyData&&W(t,"updatedData")}),u&&o&&o.options.enabled&&(o.render(),this.isDirtyLegend=!1),d&&this.getStacks(),e.forEach(function(t){t.updateNames(),t.setScale()}),this.getMargins(),e.forEach(function(t){t.isDirty&&(p=!0)}),e.forEach(function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,l.push(function(){W(t,"afterSetExtremes",R(t.eventArgs,t.getExtremes())),delete t.eventArgs})),(p||d)&&t.redraw()}),p&&this.drawChartBox(),W(this,"predraw"),i.forEach(function(t){(p||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1}),s&&s.reset(!0),n.draw(),W(this,"redraw"),W(this,"render"),a&&this.temporaryDisplay(!0),l.forEach(function(t){t.call()})}get(t){let e=this.series;function i(e){return e.id===t||e.options&&e.options.id===t}let s=z(this.axes,i)||z(this.series,i);for(let t=0;!s&&t<e.length;t++)s=z(e[t].points||[],i);return s}getAxes(){let t=this.userOptions;for(let i of(W(this,"getAxes"),["xAxis","yAxis"]))for(let s of t[i]=q(t[i]||{}))new e(this,s,i);W(this,"afterGetAxes")}getSelectedPoints(){return this.series.reduce((t,e)=>(e.getPointsCollection().forEach(e=>{V(e.selectedStaging,e.selected)&&t.push(e)}),t),[])}getSelectedSeries(){return this.series.filter(function(t){return t.selected})}setTitle(t,e,i){this.applyDescription("title",t),this.applyDescription("subtitle",e),this.applyDescription("caption",void 0),this.layOutTitles(i)}applyDescription(t,e){let i=this,s=this.options[t]=Y(this.options[t],e),o=this[t];o&&e&&(this[t]=o=o.destroy()),s&&!o&&((o=this.renderer.text(s.text,0,0,s.useHTML).attr({align:s.align,class:"highcharts-"+t,zIndex:s.zIndex||4}).add()).update=function(e,s){i.applyDescription(t,e),i.layOutTitles(s)},this.styledMode||o.css(R("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=o)}layOutTitles(t=!0){let e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach(function(t){let o=this[t],r=this.options[t],n=r.verticalAlign||"top",a="title"===t?"top"===n?-3:0:"top"===n?e[0]+2:0;if(o){o.css({width:(r.width||s.width+(r.widthAdjust||0))+"px"});let t=i.fontMetrics(o).b,l=Math.round(o.getBBox(r.useHTML).height);o.align(R({y:"bottom"===n?t:a+t,height:l},r),!1,"spacingBox"),r.floating||("top"===n?e[0]=Math.ceil(e[0]+l):"bottom"===n&&(e[2]=Math.ceil(e[2]+l)))}},this),e[0]&&"top"===(this.options.title.verticalAlign||"top")&&(e[0]+=this.options.title.margin),e[2]&&"bottom"===this.options.caption.verticalAlign&&(e[2]+=this.options.caption.margin);let o=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,W(this,"afterLayOutTitles"),!this.isDirtyBox&&o&&(this.isDirtyBox=this.isDirtyLegend=o,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){let t=[].map.call(this.renderTo.children,t=>{if(t!==this.container){let e=t.style.display;return t.style.display="none",[t,e]}}),e={width:H(this.renderTo,"width",!0)||0,height:H(this.renderTo,"height",!0)||0};return t.filter(Boolean).forEach(([t,e])=>{t.style.display=e}),e}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox(),o=s.height>1&&!(!this.renderTo.parentElement?.style.height&&"100%"===this.renderTo.style.height);this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,_(i,this.chartWidth)||(o?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e=this.renderTo,i;if(t)for(;e&&e.style;)e.hcOrigStyle&&(L(e,e.hcOrigStyle),delete e.hcOrigStyle),e.hcOrigDetached&&(w.body.removeChild(e),e.hcOrigDetached=!1),e=e.parentNode;else for(;e&&e.style&&(w.body.contains(e)||e.parentNode||(e.hcOrigDetached=!0,w.body.appendChild(e)),("none"===H(e,"display",!1)||e.hcOricDetached)&&(e.hcOrigStyle={display:e.style.display,height:e.style.height,overflow:e.style.overflow},i={display:"block",overflow:"hidden"},e!==this.renderTo&&(i.height=0),L(e,i),e.offsetWidth||e.style.setProperty("display","block","important")),(e=e.parentNode)!==w.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t=this.options,e=t.chart,i="data-highcharts-chart",s=J(),o,r=this.renderTo;r||(this.renderTo=r=e.renderTo),X(r)&&(this.renderTo=r=w.getElementById(r)),r||N(13,!0,this);let a=$(P(r,i));G(a)&&k[a]&&k[a].hasRendered&&k[a].destroy(),P(r,i,this.index),r.innerHTML=p.emptyHTML,e.skipClone||r.offsetWidth||this.temporaryDisplay(),this.getChartSize();
5let l=this.chartHeight,d=this.chartWidth;L(r,{overflow:"hidden"}),this.styledMode||(o=R({position:"relative",overflow:"hidden",width:d+"px",height:l+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none",padding:"0px"},e.style||{}));let c=O("div",{id:s},o,r);this.container=c,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||L(c,{width:V(e.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=c.style.cursor;let u=e.renderer||!S?n.getRendererType(e.renderer):h;if(this.renderer=new u(c,d,l,void 0,e.forExport,t.exporting&&t.exporting.allowHTML,this.styledMode),m(void 0,this),this.setClassName(e.className),this.styledMode)for(let e in t.defs)this.renderer.definition(t.defs[e]);else this.renderer.setStyle(e.style);this.renderer.chartIndex=this.index,W(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!E(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!E(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),W(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,o=function(t){t.forEach(function(t){t.visible&&t.getOffset()})};t.hasCartesianSeries?o(t.axes):i&&i.length&&o(i),M.forEach(function(i,o){E(s[o])||(t[i]+=e[o])}),t.setChartSize()}getOptions(){return D(this.userOptions,x)}reflow(t){let e=this,i=e.containerBox,s=e.getContainerBox();delete e.pointer?.chartPosition,!e.isPrinting&&!e.isResizing&&i&&s.width&&((s.width!==i.width||s.height!==i.height)&&(c.clearTimeout(e.reflowTimeout),e.reflowTimeout=Z(function(){e.container&&e.setSize(void 0,void 0,!1)},100*!!t)),e.containerBox=s)}setReflow(){let t=this,e=e=>{t.options?.chart.reflow&&t.hasLoaded&&t.reflow(e)};if("function"==typeof ResizeObserver)new ResizeObserver(e).observe(t.renderTo);else{let t=T(C,"resize",e);T(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,m(i,s);let r=o.globalAnimation;s.oldChartHeight=s.chartHeight,s.oldChartWidth=s.chartWidth,void 0!==t&&(s.options.chart.width=t),void 0!==e&&(s.options.chart.height=e),s.getChartSize();let{chartWidth:n,chartHeight:a,scrollablePixelsX:l=0,scrollablePixelsY:h=0}=s;(s.isDirtyBox||n!==s.oldChartWidth||a!==s.oldChartHeight)&&(s.styledMode||(r?g:L)(s.container,{width:`${n+l}px`,height:`${a+h}px`},r),s.setChartSize(!0),o.setSize(n,a,r),s.axes.forEach(function(t){t.isDirty=!0,t.setScale()}),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(r),s.oldChartHeight=void 0,W(s,"resize"),setTimeout(()=>{s&&W(s,"endResize")},f(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:n,inverted:a,spacing:l,renderer:h}=this,d=this.clipOffset,c=Math[a?"floor":"round"];this.plotLeft=e=Math.round(this.plotLeft),this.plotTop=i=Math.round(this.plotTop),this.plotWidth=s=Math.max(0,Math.round(n-e-this.marginRight)),this.plotHeight=o=Math.max(0,Math.round(r-i-this.marginBottom)),this.plotSizeX=a?o:s,this.plotSizeY=a?s:o,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:n-l[3]-l[1],height:r-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:o},d&&(this.clipBox={x:c(d[3]),y:c(d[0]),width:c(this.plotSizeX-d[1]-d[3]),height:c(this.plotSizeY-d[0]-d[2])}),t||(this.axes.forEach(function(t){t.setAxisSize(),t.setAxisTranslation()}),h.alignElements()),W(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){W(this,"resetMargins");let t=this,e=t.options.chart,i=e.plotBorderWidth||0,s=i/2;["margin","spacing"].forEach(function(i){let s=e[i],o=j(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach(function(s,r){t[i][r]=V(e[i+s],o[r])})}),M.forEach(function(e,i){t[e]=V(t.margin[i],t.spacing[i])}),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t=this.options.chart,e=this.renderer,i=this.chartWidth,s=this.chartHeight,o=this.styledMode,r=this.plotBGImage,n=t.backgroundColor,a=t.plotBackgroun
5dColor,l=t.plotBackgroundImage,h=this.plotLeft,d=this.plotTop,c=this.plotWidth,p=this.plotHeight,u=this.plotBox,g=this.clipRect,f=this.clipBox,m=this.chartBackground,x=this.plotBackground,y=this.plotBorder,b,v,k,w="animate";m||(this.chartBackground=m=e.rect().addClass("highcharts-background").add(),w="attr"),o?b=v=m.strokeWidth():(v=(b=t.borderWidth||0)+8*!!t.shadow,k={fill:n||"none"},(b||m["stroke-width"])&&(k.stroke=t.borderColor,k["stroke-width"]=b),m.attr(k).shadow(t.shadow)),m[w]({x:v/2,y:v/2,width:i-v-b%2,height:s-v-b%2,r:t.borderRadius}),w="animate",x||(w="attr",this.plotBackground=x=e.rect().addClass("highcharts-plot-background").add()),x[w](u),!o&&(x.attr({fill:a||"none"}).shadow(t.plotShadow),l&&(r?(l!==r.attr("href")&&r.attr("href",l),r.animate(u)):this.plotBGImage=e.image(l,h,d,c,p).add())),g?g.animate({width:f.width,height:f.height}):this.clipRect=e.clipRect(f),w="animate",y||(w="attr",this.plotBorder=y=e.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),o||y.attr({stroke:t.plotBorderColor,"stroke-width":t.plotBorderWidth||0,fill:"none"}),y[w](y.crisp({x:h,y:d,width:c,height:p},-y.strokeWidth())),this.isDirtyBox=!1,W(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,o=s.options.chart,r=s.options.series;["inverted","angular","polar"].forEach(function(n){for(e=A[o.type],i=o[n]||e&&e.prototype[n],t=r&&r.length;!i&&t--;)(e=A[r[t].type])&&e.prototype[n]&&(i=!0);s[n]=i})}linkSeries(t){let e=this,i=e.series;i.forEach(function(t){t.linkedSeries.length=0}),i.forEach(function(t){let{linkedTo:i}=t.options;if(X(i)){let s;(s=":previous"===i?e.series[t.index-1]:e.get(i))&&s.linkedParent!==t&&(s.linkedSeries.push(t),t.linkedParent=s,s.enabledDataSorting&&t.setDataSortingOptions(),t.visible=V(t.options.visible,s.options.visible,t.visible))}}),W(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach(function(t){t.translate(),t.render()})}render(){let t=this.axes,e=this.colorAxis,i=this.renderer,s=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach(t=>{t.visible&&t.render()})},r=0,n=!0,a,l=0;for(let e of(this.setTitle(),W(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),t)){let{options:t}=e,{labels:i}=t;if(this.hasCartesianSeries&&e.horiz&&e.visible&&i.enabled&&e.series.length&&"colorAxis"!==e.coll&&!this.polar){r=t.tickLength,e.createGroups();let s=new u(e,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&V(i.reserveSpace,!G(t.crossing))&&(r=o.getBBox().height+i.distance+Math.max(t.offset||0,0)),r){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-r,0);(n||a||s>1)&&l<s;){let e=this.plotWidth,i=this.plotHeight;for(let e of t)0===l?e.setScale():(e.horiz&&n||!e.horiz&&a)&&e.setTickInterval(!0);0===l?this.getAxisMargins():this.getMargins(),n=e/this.plotWidth>(l?1:1.1),a=i/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(t):e&&e.length&&o(e),this.seriesGroup||(this.seriesGroup=i.g("series-group").attr({zIndex:3}).shadow(this.options.chart.seriesGroupShadow).add()),this.renderSeries(),this.addCredits(),this.setResponsive&&this.setResponsive(),this.hasRendered=!0}addCredits(t){let e=this,i=Y(!0,this.options.credits,t);i.enabled&&!this.credits&&(this.credits=this.renderer.text(i.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){i.href&&(C.location.href=i.href)}).attr({align:i.position.align,zIndex:8}),e.styledMode||this.credits.css(i.style),this.credits.add().align(i.position),this.credits.update=function(t){e.credits=e.credits.destroy(),e.addCredits(t)})}destroy(){let t,e=this,i=e.axes,s=e.series,o=e.container,n=o&&o.parentNode;for(W(e,"destroy"),e.renderer.forExport?B(k,e):k[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),K(e),t=i.length;t--;)i[t]=i[t].destroy();for(this.scroller&&this.scroller.destroy&&this.scroller.destroy(),t=s.length;t--;)s[t]=s[t].destroy();
5["title","subtitle","chartBackground","plotBackground","plotBGImage","plotBorder","seriesGroup","clipRect","credits","pointer","rangeSelector","legend","resetZoomButton","tooltip","renderer"].forEach(function(t){let i=e[t];i&&i.destroy&&(e[t]=i.destroy())}),o&&(o.innerHTML=p.emptyHTML,K(o),n&&I(o)),U(e,function(t,i){delete e[i]})}firstRender(){let t=this,e=t.options;t.getContainer(),t.resetMargins(),t.setChartSize(),t.propFromSeries(),t.getAxes();let i=F(e.series)?e.series:[];e.series=[],i.forEach(function(e){t.initSeries(e)}),t.linkSeries(),t.setSortedData(),W(t,"beforeRender"),t.render(),t.pointer?.getChartPosition(),t.renderer.imgCount||t.hasLoaded||t.onload(),t.temporaryDisplay(!0)}onload(){this.callbacks.concat([this.callback]).forEach(function(t){t&&void 0!==this.index&&t.apply(this,[this])},this),W(this,"load"),W(this,"render"),E(this.index)&&this.setReflow(),this.warnIfA11yModuleNotLoaded(),this.hasLoaded=!0}warnIfA11yModuleNotLoaded(){let{options:t,title:e}=this;!t||this.accessibility||(this.renderer.boxWrapper.attr({role:"img","aria-label":(e&&e.element.textContent||"").replace(/</g,"&lt;")}),t.accessibility&&!1===t.accessibility.enabled||N('Highcharts warning: Consider including the "accessibility.js" module to make your chart more usable for people with disabilities. Set the "accessibility.enabled" option to false to remove this warning. See https://www.highcharts.com/docs/accessibility/accessibility-module.',!1,this))}addSeries(t,e,i){let s,o=this;return t&&(e=V(e,!0),W(o,"addSeries",{options:t},function(){s=o.initSeries(t),o.isDirtyLegend=!0,o.linkSeries(),s.enabledDataSorting&&s.setData(t.data,!1),W(o,"afterAddSeries",{series:s}),e&&o.redraw(i)})),s}addAxis(t,e,i,s){return this.createAxis(e?"xAxis":"yAxis",{axis:t,redraw:i,animation:s})}addColorAxis(t,e,i){return this.createAxis("colorAxis",{axis:t,redraw:e,animation:i})}createAxis(t,i){let s=new e(this,i.axis,t);return V(i.redraw,!0)&&this.redraw(i.animation),s}showLoading(t){let e=this,i=e.options,s=i.loading,o=function(){r&&L(r,{left:e.plotLeft+"px",top:e.plotTop+"px",width:e.plotWidth+"px",height:e.plotHeight+"px"})},r=e.loadingDiv,n=e.loadingSpan;r||(e.loadingDiv=r=O("div",{className:"highcharts-loading highcharts-loading-hidden"},null,e.container)),n||(e.loadingSpan=n=O("span",{className:"highcharts-loading-inner"},null,r),T(e,"redraw",o)),r.className="highcharts-loading",p.setElementHTML(n,V(t,i.lang.loading,"")),e.styledMode||(L(r,R(s.style,{zIndex:10})),L(n,s.labelStyle),e.loadingShown||(L(r,{opacity:0,display:""}),g(r,{opacity:s.style.opacity||.5},{duration:s.showDuration||0}))),e.loadingShown=!0,o()}hideLoading(){let t=this.options,e=this.loadingDiv;e&&(e.className="highcharts-loading highcharts-loading-hidden",this.styledMode||g(e,{opacity:0},{duration:t.loading.hideDuration||100,complete:function(){L(e,{display:"none"})}})),this.loadingShown=!1}update(t,e,i,s){let o,r,n,a=this,l={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"},h=t.isResponsiveOptions,c=[];W(a,"update",{options:t}),h||a.setResponsive(!1,!0),t=D(t,a.options),a.userOptions=Y(a.userOptions,t);let p=t.chart;p&&(Y(!0,a.options.chart,p),this.setZoomOptions(),"className"in p&&a.setClassName(p.className),("inverted"in p||"polar"in p||"type"in p)&&(a.propFromSeries(),o=!0),"alignTicks"in p&&(o=!0),"events"in p&&v(this,p),U(p,function(t,e){-1!==a.propsRequireUpdateSeries.indexOf("chart."+e)&&(r=!0),-1!==a.propsRequireDirtyBox.indexOf(e)&&(a.isDirtyBox=!0),-1===a.propsRequireReflow.indexOf(e)||(a.isDirtyBox=!0,h||(n=!0))}),!a.styledMode&&p.style&&a.renderer.setStyle(a.options.chart.style||{})),!a.styledMode&&t.colors&&(this.options.colors=t.colors),t.time&&(this.time===y&&(this.time=new d(t.time)),Y(!0,a.options.time,t.time)),U(t,function(e,i){a[i]&&"function"==typeof a[i].update?a[i].update(e,!1):"function"==typeof a[l[i]]?a[l[i]](e):"colors"!==i&&-1===a.collectionsWithUpdate.indexOf(i)&&Y(!0,a.options[i],t[i]),"chart"!==i&&-1!==a.propsRequireUpdateSeries.indexOf(i)&&(r=!0)}),this.collectionsWithUpdate.forEach(function(e){t[e]&&(q(t[e]).forEach(function(t,s){let o,r=E(t.id);r&&(o=a.get(t.id)),!o&&a[e]&&(o=a[e][V(t.index,s)])&&(r&&E(o.options.id)||o.options.isInternal)&&(o=void 0),o&&o.coll===e&&(o.update(t,!1),i&&(o.touched=!0)),!o&&i&&a.collectionsWithInit[e]&&(a.collectionsWithInit[e][0].apply(a,[t].concat(a.collectionsWithInit[e][1]||[]).concat([!1])).touched=!0)}),i&&a[e].forEach(function(t){t.touched||t.options.isInternal?delete t.touched:c.push(t)}))}
5),c.forEach(function(t){t.chart&&t.remove&&t.remove(!1)}),o&&a.axes.forEach(function(t){t.update({},!1)}),r&&a.getSeriesOrderByLinks().forEach(function(t){t.chart&&t.update({},!1)},this);let u=p&&p.width,g=p&&(X(p.height)?_(p.height,u||a.chartWidth):p.height);n||G(u)&&u!==a.chartWidth||G(g)&&g!==a.chartHeight?a.setSize(u,g,s):V(e,!0)&&a.redraw(s),W(a,"afterUpdate",{options:t,redraw:e,animation:s})}setSubtitle(t,e){this.applyDescription("subtitle",t),this.layOutTitles(e)}setCaption(t,e){this.applyDescription("caption",t),this.layOutTitles(e)}showResetZoom(){let t=this,e=x.lang,i=t.zooming.resetButton,s=i.theme,o="chart"===i.relativeTo||"spacingBox"===i.relativeTo?null:"plotBox";function r(){t.zoomOut()}W(this,"beforeShowResetZoom",null,function(){t.resetZoomButton=t.renderer.button(e.resetZoom,null,null,r,s).attr({align:i.position.align,title:e.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(i.position,!1,o)}),W(this,"afterShowResetZoom")}zoomOut(){W(this,"selection",{resetSelection:!0},()=>this.transform({reset:!0,trigger:"zoom"}))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},o=s.type,r=o&&i[({x:"xAxis",xy:"axes",y:"yAxis"})[o]].filter(t=>t.options.panningEnabled&&!t.options.isInternal),n=i.options.chart;n?.panning&&(n.panning=s),W(this,"pan",{originalEvent:t},()=>{i.transform({axes:r,event:t,to:{x:t.chartX-(i.mouseDownX||0),y:t.chartY-(i.mouseDownY||0)},trigger:"pan"}),L(i.container,{cursor:"move"})})}transform(t){let{axes:e=this.axes,event:i,from:s={},reset:o,selection:r,to:n={},trigger:a}=t,{inverted:l}=this,h=!1,d,c;for(let t of(this.hoverPoints?.forEach(t=>t.setState()),e)){let{horiz:e,len:p,minPointOffset:u=0,options:g,reversed:f}=t,m=e?"width":"height",x=e?"x":"y",y=V(n[m],t.len),b=V(s[m],t.len),v=10>Math.abs(y)?1:y/b,k=(s[x]||0)+b/2-t.pos,w=k-((n[x]??t.pos)+y/2-t.pos)/v,M=f&&!l||!f&&l?-1:1;if(!o&&(k<0||k>t.len))continue;let S=t.toValue(w,!0)+(r||t.isOrdinal?0:u*M),C=t.toValue(w+p/v,!0)-(r||t.isOrdinal?0:u*M||0),A=t.allExtremes;if(S>C&&([S,C]=[C,S]),1===v&&!o&&"yAxis"===t.coll&&!A){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).yData,!0);A??(A={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),G(t.dataMin)&&G(t.dataMax)&&(A.dataMin=Math.min(t.dataMin,A.dataMin),A.dataMax=Math.max(t.dataMax,A.dataMax))}t.allExtremes=A}let{dataMin:T,dataMax:P,min:O,max:L}=R(t.getExtremes(),A||{}),D=T??g.min,I=P??g.max,B=C-S,N=t.categories?0:Math.min(B,I-D),z=D-N*(E(g.min)?0:g.minPadding),W=I+N*(E(g.max)?0:g.maxPadding),H=t.allowZoomOutside||1===v||"zoom"!==a&&v>1,F=Math.min(g.min??z,z,H?O:z),j=Math.max(g.max??W,W,H?L:W);(!t.isOrdinal||t.options.overscroll||1!==v||o)&&(S<F&&(S=F,v>=1&&(C=S+B)),C>j&&(C=j,v>=1&&(S=C-B)),(o||t.series.length&&(S!==O||C!==L)&&S>=F&&C<=j)&&(r?r[t.coll].push({axis:t,min:S,max:C}):(t.isPanning="zoom"!==a,t.isPanning&&(c=!0),t.setExtremes(o?void 0:S,o?void 0:C,!1,!1,{move:w,trigger:a,scale:v}),!o&&(S>F||C<j)&&"mousewheel"!==a&&(d=!0)),h=!0),i&&(this[e?"mouseDownX":"mouseDownY"]=i[e?"chartX":"chartY"]))}return h&&(r?W(this,"selection",r,()=>{delete t.selection,t.trigger="zoom",this.transform(t)}):(!d||c||this.resetZoomButton?!d&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===a&&(this.options.chart.animation??this.pointCount<100)))),h}}return R(Q.prototype,{callbacks:[],collectionsWithInit:{xAxis:[Q.prototype.addAxis,[!0]],yAxis:[Q.prototype.addAxis,[!1]],series:[Q.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:["backgroundColor","borderColor","borderWidth","borderRadius","plotBackgroun
5dColor","plotBackgroundImage","plotBorderColor","plotBorderWidth","plotShadow","shadow"],propsRequireReflow:["margin","marginTop","marginRight","marginBottom","marginLeft","spacing","spacingTop","spacingRight","spacingBottom","spacingLeft"],propsRequireUpdateSeries:["chart.inverted","chart.polar","chart.ignoreHiddenSeries","chart.type","colors","plotOptions","time","tooltip"]}),Q}),i(e,"Extensions/ScrollablePlotArea.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{stop:o}=t,{composed:r}=e,{addEvent:n,createElement:a,css:l,defined:h,merge:d,pushUnique:c}=s;function p(){let t=this.scrollablePlotArea;(this.scrollablePixelsX||this.scrollablePixelsY)&&!t&&(this.scrollablePlotArea=t=new g(this)),t?.applyFixed()}function u(){this.chart.scrollablePlotArea&&(this.chart.scrollablePlotArea.isDirty=!0)}class g{static compose(t,e,i){c(r,this.compose)&&(n(t,"afterInit",u),n(e,"afterSetChartSize",t=>this.afterSetSize(t.target,t)),n(e,"render",p),n(i,"show",u))}static afterSetSize(t,e){let i,s,o,{minWidth:r,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:c,renderer:p}=t;if(!p.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=d(t.plotBox),l.width=t.plotWidth+=i,a[c?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),h(s)&&(t.scrollablePlotBox=d(t.plotBox),l.height=t.plotHeight+=s,a[c?"width":"height"]+=s,o=!1)),h(o)&&!e.skipAxes))for(let e of t.axes)e.horiz===o&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e,s=t.options.chart,o=i.getRendererType(),r=s.scrollablePlotArea||{},h=this.moveFixedElements.bind(this),d={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(d.overflowX="auto"),t.scrollablePixelsY&&(d.overflowY="auto"),this.chart=t;let c=this.parentDiv=a("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),p=this.scrollingContainer=a("div",{className:"highcharts-scrolling"},d,c),u=this.innerContainer=a("div",{className:"highcharts-inner-container"},void 0,p),g=this.fixedDiv=a("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(s.style?.zIndex||0)+2,top:0},void 0,!0),f=this.fixedRenderer=new o(g,t.chartWidth,t.chartHeight,s.style);this.mask=f.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":r.opacity??.85,zIndex:-1}).addClass("highcharts-scrollable-mask").add(),p.parentNode.insertBefore(g,p),l(t.renderTo,{overflow:"visible"}),n(t,"afterShowResetZoom",h),n(t,"afterApplyDrilldown",h),n(t,"afterLayOutTitles",h),n(p,"scroll",()=>{let{pointer:i,hoverPoint:s}=t;i&&(delete i.chartPosition,s&&(e=s),i.runPointActions(void 0,e,!0))}),u.appendChild(t.container)}applyFixed(){let{chart:t,fixedRenderer:e,isDirty:i,scrollingContainer:s}=this,{axisOffset:r,chartWidth:n,chartHeight:a,container:d,plotHeight:c,plotLeft:p,plotTop:u,plotWidth:g,scrollablePixelsX:f=0,scrollablePixelsY:m=0}=t,{scrollPositionX:x=0,scrollPositionY:y=0}=t.options.chart.scrollablePlotArea||{},b=n+f,v=a+m;e.setSize(n,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),o(t.container),l(d,{width:`${b}px`,height:`${v}px`}),t.renderer.boxWrapper.attr({width:b,height:v,viewBox:["0 0",b,v].join(" ")}),t.chartBackground?.attr({width:b,height:v}),l(s,{width:`${n}px`,height:`${a}px`}),h(i)||(s.scrollLeft=f*x,s.scrollTop=m*y);let k=u-r[0]-1,w=p-r[3]-1,M=u+c+r[2]+1,S=p+g+r[1]+1,C=p+g-f,A=u+c-m,T=[["M",0,0]];f?T=[["M",0,k],["L",p-1,k],["L",p-1,M],["L",0,M],["Z"],["M",C,k],["L",n,k],["L",n,M],["L",C,M],["Z"]]:m&&(T=[["M",w,0],["L",w,u-1],["L",S,u-1],["L",S,0],["Z"],["M",w,A],["L",w,a],["L",S,a],["L",S,A],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:T})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:o}=this.chart,r=this.fixedRenderer,n=g.fixedSelectors;for(let a of(s&&!i?t=".highcharts-yaxis":s&&i||o&&!i?t=".highcharts-xaxis":o&&i&&(t=".highcharts-yaxis"),t&&n.push(`${t}:not(.highcharts-radial-axis)`,`${t}-labels:not(.highcharts-radial-axis-labels)`),n))[].forEach.call(e.querySelectorAll(a),t=>
5{(t.namespaceURI===r.SVG_NS?r.box:r.box.parentNode).appendChild(t),t.style.pointerEvents="auto"})}}return g.fixedSelectors=[".highcharts-breadcrumbs-group",".highcharts-contextbutton",".highcharts-caption",".highcharts-credits",".highcharts-drillup-button",".highcharts-legend",".highcharts-legend-checkbox",".highcharts-navigator-series",".highcharts-navigator-xaxis",".highcharts-navigator-yaxis",".highcharts-navigator",".highcharts-range-selector-group",".highcharts-reset-zoom",".highcharts-scrollbar",".highcharts-subtitle",".highcharts-title"],g}),i(e,"Core/Axis/Stacking/StackItem.js",[e["Core/Templating.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{format:s}=t,{series:o}=e,{destroyObjectProperties:r,fireEvent:n,isNumber:a,pick:l}=i;return class{constructor(t,e,i,s,o){let r=t.chart.inverted,n=t.reversed;this.axis=t;let a=this.isNegative=!!i!=!!n;this.options=e=e||{},this.x=s,this.total=null,this.cumulative=null,this.points={},this.hasValidPoints=!1,this.stack=o,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(r?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(r?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(r?a?"right":"left":"center")}destroy(){r(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,o=i.format,r=o?s(o,this,e):i.formatter.call(this);if(this.label)this.label.attr({text:r,visibility:"hidden"});else{this.label=e.renderer.label(r,null,void 0,i.shape,void 0,void 0,i.useHTML,!1,"stack-labels");let s={r:i.borderRadius||0,text:r,padding:l(i.padding,5),visibility:"hidden"};e.styledMode||(s.fill=i.backgroundColor,s.stroke=i.borderColor,s["stroke-width"]=i.borderWidth,this.label.css(i.style||{})),this.label.attr(s),this.label.added||this.label.add(t)}this.label.labelrank=e.plotSizeY,n(this,"afterRender")}setOffset(t,e,i,s,r,h){let{alignOptions:d,axis:c,label:p,options:u,textAlign:g}=this,f=c.chart,m=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:r,xAxis:h}),{verticalAlign:x}=d;if(p&&m){let t=p.getBBox(void 0,0),e=p.padding,i="justify"===l(u.overflow,"justify"),s;d.x=u.x||0,d.y=u.y||0;let{x:r,y:n}=this.adjustStackPosition({labelBox:t,verticalAlign:x,textAlign:g});m.x-=r,m.y-=n,p.align(d,!1,m),(s=f.isInsidePlot(p.alignAttr.x+d.x+r,p.alignAttr.y+d.y+n))||(i=!1),i&&o.prototype.justifyDataLabel.call(c,p,d,p.alignAttr,t,m),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:t.width*({left:0,center:.5,right:1})[u.textAlign||"center"],rotationOriginY:t.height/2}),l(!i&&u.crop,!0)&&(s=a(p.x)&&a(p.y)&&f.isInsidePlot(p.x-e+(p.width||0),p.y)&&f.isInsidePlot(p.x+e,p.y)),p[s?"show":"hide"]()}n(this,"afterSetOffset",{xOffset:t,width:e})}adjustStackPosition({labelBox:t,verticalAlign:e,textAlign:i}){let s={bottom:0,middle:1,top:2,right:1,center:0,left:-1},o=s[e],r=s[i];return{x:t.width/2+t.width/2*r,y:t.height/2*o}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:o,xOffset:r,width:n,boxBottom:h}=t,d=e.stacking.usePercentage?100:l(s,this.total,0),c=e.toPixels(d),p=t.xAxis||i.xAxis[0],u=l(o,p.translate(this.x))+r,g=Math.abs(c-e.toPixels(h||a(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),f=i.inverted,m=this.isNegative;return f?{x:(m?c:c-g)-i.plotLeft,y:p.height-u-n+p.top-i.plotTop,width:g,height:n}:{x:u+p.transB-i.plotLeft,y:(m?c-g:c)-i.plotTop,width:n,height:g}}}}),i(e,"Core/Axis/Stacking/StackingAxis.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Axis/Axis.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){var r;let{getDeferredAnimation:n}=t,{series:{prototype:a}}=i,{addEvent:l,correctFloat:h,defined:d,destroyObjectProperties:c,fireEvent:p,isArray:u,isNumber:g,objectEach:f,pick:m}=o;function x(){let t=this.inverted;this.axes.forEach(t=>{t.stacking&&t.stacking.stacks&&t.hasVisibleSeries&&(t.stacking.oldStacks=t.stacking.stacks)}),this.series.forEach(e=>{let i=e.xAxis&&e.xAxis.options||{};e.options.stacking&&e.reserveSpace()&&(e.stackKey=[e.type,m(e.options.stack,""),t?i.top:i.left,t?i.height:i.width].join(","))})}function y(){let t=this.stacking;if(t){let e=t.stacks;f(e,(t,i)=>{c(t),delete e[i]}),t.stackTotalGroup?.destroy()}}function b(){this.stacking||(this.stacking=new C(this))}function v(t,e,i,s){return!d(t)||t.x!==e||s&&t.stackKey!==s?t={x:e,index:0,key:s,stackKey:s}:t.index++,t.key=[i,e,t.index].join(","),t}function k(){let t,e=this,i=e.yAxis,s=e.stackKey||"",o=i.stacking.stacks,r=e.processedXData,n=e.options.stacking,a=e[n+"Stacker"];
5a&&[s,"-"+s].forEach(i=>{let s=r.length,n,l,h;for(;s--;)n=r[s],t=e.getStackIndicator(t,n,e.index,i),l=o[i]?.[n],(h=l?.points[t.key||""])&&a.call(e,h,l,s)})}function w(t,e,i){let s=e.total?100/e.total:0;t[0]=h(t[0]*s),t[1]=h(t[1]*s),this.stackedYData[i]=t[1]}function M(t){(this.is("column")||this.is("columnrange"))&&(this.options.centerInCategory&&!this.options.stacking&&this.chart.series.length>1?a.setStackedPoints.call(this,t,"group"):t.stacking.resetStacks())}function S(t,e){let i,o,r,n,a,l,c,p,g,f=e||this.options.stacking;if(!f||!this.reserveSpace()||(({group:"xAxis"})[f]||"yAxis")!==t.coll)return;let x=this.processedXData,y=this.processedYData,b=[],v=y.length,k=this.options,w=k.threshold||0,M=k.startFromThreshold?w:0,S=k.stack,C=e?`${this.type},${f}`:this.stackKey||"",A="-"+C,T=this.negStacks,P=t.stacking,O=P.stacks,L=P.oldStacks;for(P.stacksTouched+=1,c=0;c<v;c++){p=x[c],g=y[c],l=(i=this.getStackIndicator(i,p,this.index)).key||"",O[a=(o=T&&g<(M?0:w))?A:C]||(O[a]={}),O[a][p]||(L[a]?.[p]?(O[a][p]=L[a][p],O[a][p].total=null):O[a][p]=new s(t,t.options.stackLabels,!!o,p,S)),r=O[a][p],null!==g?(r.points[l]=r.points[this.index]=[m(r.cumulative,M)],d(r.cumulative)||(r.base=l),r.touched=P.stacksTouched,i.index>0&&!1===this.singleStacks&&(r.points[l][0]=r.points[this.index+","+p+",0"][0])):(delete r.points[l],delete r.points[this.index]);let e=r.total||0;"percent"===f?(n=o?C:A,e=T&&O[n]?.[p]?(n=O[n][p]).total=Math.max(n.total||0,e)+Math.abs(g)||0:h(e+(Math.abs(g)||0))):"group"===f?(u(g)&&(g=g[0]),null!==g&&e++):e=h(e+(g||0)),"group"===f?r.cumulative=(e||1)-1:r.cumulative=h(m(r.cumulative,M)+(g||0)),r.total=e,null!==g&&(r.points[l].push(r.cumulative),b[c]=r.cumulative,r.hasValidPoints=!0)}"percent"===f&&(P.usePercentage=!0),"group"!==f&&(this.stackedYData=b),P.oldStacks={}}class C{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,o="xAxis"===i.coll,r=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[r?e:n-e-1],o&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!o)for(e=0;e<n;e++)s[e].modifyStacks();p(i,"afterBuildStacks")}cleanStacks(){this.oldStacks&&(this.stacks=this.oldStacks,f(this.stacks,t=>{f(t,t=>{t.cumulative=t.total})}))}resetStacks(){f(this.stacks,t=>{f(t,(e,i)=>{g(e.touched)&&e.touched<this.stacksTouched?(e.destroy(),delete t[i]):(e.total=null,e.cumulative=null)})})}renderStackTotals(){let t=this.axis,e=t.chart,i=e.renderer,s=this.stacks,o=n(e,t.options.stackLabels?.animation||!1),r=this.stackTotalGroup=this.stackTotalGroup||i.g("stack-labels").attr({zIndex:6,opacity:0}).add();r.translate(e.plotLeft,e.plotTop),f(s,t=>{f(t,t=>{t.render(r)})}),r.animate({opacity:1},o)}}return(r||(r={})).compose=function(t,e,i){let s=e.prototype,o=i.prototype;s.getStacks||(l(t,"init",b),l(t,"destroy",y),s.getStacks=x,o.getStackIndicator=v,o.modifyStacks=k,o.percentStacker=w,o.setGroupedPoints=M,o.setStackedPoints=S)},r}),i(e,"Series/Line/LineSeries.js",[e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{defined:s,merge:o,isObject:r}=i;class n extends t{drawGraph(){let t=this.options,e=(this.gappedPath||this.getGraphPath).call(this),i=this.chart.styledMode;[this,...this.zones].forEach((s,n)=>{let a,l=s.graph,h=l?"animate":"attr",d=s.dashStyle||t.dashStyle;l?(l.endX=this.preventGraphAnimation?null:e.xMap,l.animate({d:e})):e.length&&(s.graph=l=this.chart.renderer.path(e).addClass("highcharts-graph"+(n?` highcharts-zone-graph-${n-1} `:" ")+(n&&s.className||"")).attr({zIndex:1}).add(this.group)),l&&!i&&(a={stroke:!n&&t.lineColor||s.color||this.color||"#cccccc","stroke-width":t.lineWidth||0,fill:this.fillGraph&&this.color||"none"},d?a.dashstyle=d:"square"!==t.linecap&&(a["stroke-linecap"]=a["stroke-linejoin"]="round"),l[h](a).shadow(n<2&&t.shadow&&o({filterUnits:"userSpaceOnUse"},r(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)})}getGraphPath(t,e,i){let o=this,r=o.options,n=[],a=[],l,h=r.step,d=(t=t||o.points).reversed;return d&&t.reverse(),(h=({right:1,center:2})[h]||h&&3)&&d&&(h=4-h),(t=this.getValidPoints(t,!1,!(r.connectNulls&&!e&&!i))).forEac
5h(function(d,c){let p,u=d.plotX,g=d.plotY,f=t[c-1],m=d.isNull||"number"!=typeof g;(d.leftCliff||f&&f.rightCliff)&&!i&&(l=!0),m&&!s(e)&&c>0?l=!r.connectNulls:m&&!e?l=!0:(0===c||l?p=[["M",d.plotX,d.plotY]]:o.getPointSpline?p=[o.getPointSpline(t,d,c)]:h?(p=1===h?[["L",f.plotX,g]]:2===h?[["L",(f.plotX+u)/2,f.plotY],["L",(f.plotX+u)/2,g]]:[["L",u,f.plotY]]).push(["L",u,g]):p=[["L",u,g]],a.push(d.x),h&&(a.push(d.x),2===h&&a.push(d.x)),n.push.apply(n,p),l=!1)}),n.xMap=a,o.graphPath=n,n}}return n.defaultOptions=o(t.defaultOptions,{legendSymbol:"lineMarker"}),e.registerSeriesType("line",n),n}),i(e,"Series/Area/AreaSeriesDefaults.js",[],function(){return{threshold:0,legendSymbol:"areaMarker"}}),i(e,"Series/Area/AreaSeries.js",[e["Series/Area/AreaSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{seriesTypes:{line:s}}=e,{extend:o,merge:r,objectEach:n,pick:a}=i;class l extends s{drawGraph(){this.areaPath=[],super.drawGraph.apply(this);let{areaPath:t,options:e}=this;[this,...this.zones].forEach((i,s)=>{let o={},r=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(o.zIndex=0,(n=i.area=this.chart.renderer.path(t).addClass("highcharts-area"+(s?` highcharts-zone-area-${s-1} `:" ")+(s&&i.className||"")).add(this.group)).isArea=!0),this.chart.styledMode||(o.fill=r||i.color||this.color,o["fill-opacity"]=r?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](o),n.startX=t.xMap,n.shiftUnit=e.step?2:1})}getGraphPath(t){let e,i,o,r=s.prototype.getGraphPath,n=this.options,l=n.stacking,h=this.yAxis,d=[],c=[],p=this.index,u=h.stacking.stacks[this.stackKey],g=n.threshold,f=Math.round(h.getThreshold(n.threshold)),m=a(n.connectNulls,"percent"===l),x=function(i,s,o){let r=t[i],n=l&&u[r.x].points[p],a=r[o+"Null"]||0,m=r[o+"Cliff"]||0,x,y,b=!0;m||a?(x=(a?n[0]:n[1])+m,y=n[0]+m,b=!!a):!l&&t[s]&&t[s].isNull&&(x=y=g),void 0!==x&&(c.push({plotX:e,plotY:null===x?f:h.getThreshold(x),isNull:b,isCliff:!0}
5),d.push({plotX:e,plotY:null===y?f:h.getThreshold(y),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let s=0,r=t.length;s<r;++s)l||(t[s].leftCliff=t[s].rightCliff=t[s].leftNull=t[s].rightNull=void 0),i=t[s].isNull,e=a(t[s].rectPlotX,t[s].plotX),o=l?a(t[s].yBottom,f):f,i&&!m||(m||x(s,s-1,"left"),i&&!l&&m||(c.push(t[s]),d.push({x:s,plotX:e,plotY:o})),m||x(s,s+1,"right"));let y=r.call(this,c,!0,!0);d.reversed=!0;let b=r.call(this,d,!0,!0),v=b[0];v&&"M"===v[0]&&(b[0]=["L",v[1],v[2]]);let k=y.concat(b);k.length&&k.push(["Z"]);let w=r.call(this,c,!1,m);return this.chart.series.length>1&&l&&c.some(t=>t.isCliff)&&(k.hasStackedCliffs=w.hasStackedCliffs=!0),k.xMap=y.xMap,this.areaPath=k,w}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,l=r.stacking.stacks[this.stackKey],h={},d=r.series,c=d.length,p=r.options.reversedStacks?1:-1,u=d.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;e<t.length;e++)t[e].leftNull=t[e].rightNull=void 0,h[t[e].x]=t[e];n(l,function(t,e){null!==t.total&&s.push(e)}),s.sort(function(t,e){return t-e});let g=d.map(t=>t.visible);s.forEach(function(t,n){let f=0,m,x;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach(function(i){let o=1===i?"rightNull":"leftNull",r=l[s[n+i]],a=0;if(r){let i=u;for(;i>=0&&i<c;){let s=d[i].index;!(m=r.points[s])&&(s===e.index?h[t][o]=!0:g[i]&&(x=l[t].points[s])&&(a-=x[1]-x[0])),i+=p}}h[t][1===i?"rightCliff":"leftCliff"]=a});else{let e=u;for(;e>=0&&e<c;){let i=d[e].index;if(m=l[t].points[i]){f=m[1];break}e+=p}f=a(f,0),f=r.translate(f,0,1,0,1),i.push({isNull:!0,plotX:o.translate(t,0,0,0,1),x:t,plotY:f,yBottom:f})}})}return i}}return l.defaultOptions=r(s.defaultOptions,t),o(l.prototype,{singleStacks:!1}),e.registerSeriesType("area",l),l}),i(e,"Series/Spline/SplineSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{line:i}=t.seriesTypes,{merge:s,pick:o}=e;class r extends i{getPointSpline(t,e,i){let s,r,n,a,l=e.plotX||0,h=e.plotY||0,d=t[i-1],c=t[i+1];function p(t){return t&&!t.isNull&&!1!==t.doCurve&&!e.isCliff}if(p(d)&&p(c)){let t=d.plotX||0,i=d.plotY||0,o=c.plotX||0,p=c.plotY||0,u=0;s=(1.5*l+t)/2.5,r=(1.5*h+i)/2.5,n=(1.5*l+o)/2.5,a=(1.5*h+p)/2.5,n!==s&&(u=(a-r)*(n-l)/(n-s)+h-a),r+=u,a+=u,r>i&&r>h?(r=Math.max(i,h),a=2*h-r):r<i&&r<h&&(r=Math.min(i,h),a=2*h-r),a>p&&a>h?(a=Math.max(p,h),r=2*h-a):a<p&&a<h&&(a=Math.min(p,h),r=2*h-a),e.rightContX=n,e.rightContY=a,e.controlPoints={low:[s,r],high:[n,a]}}let u=["C",o(d.rightContX,d.plotX,0),o(d.rightContY,d.plotY,0),o(s,l,0),o(r,h,0),l,h];return d.rightContX=d.rightContY=void 0,u}}return r.defaultOptions=s(i.defaultOptions),t.registerSeriesType("spline",r),r}),i(e,"Series/AreaSpline/AreaSplineSeries.js",[e["Series/Spline/SplineSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{area:s,area:{prototype:o}}=e.seriesTypes,{extend:r,merge:n}=i;class a extends t{}return a.defaultOptions=n(t.defaultOptions,s.defaultOptions),r(a.prototype,{getGraphPath:o.getGraphPath,getStackPoints:o.getStackPoints,drawGraph:o.drawGraph}),e.registerSeriesType("areaspline",a),a}),i(e,"Series/Column/ColumnSeriesDefaults.js",[],function(){return{borderRadius:3,centerInCategory:!1,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:void 0,verticalAlign:void 0,y:void 0},startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"}}),i(e,"Series/Column/ColumnSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Series/Column/ColumnSeriesDefaults.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n){let{animObject:a}=t,{parse:l}=e,{noop:h}=s,{clamp:d,crisp:c,defined:p,extend:u,fireEvent:g,isArray:f,isNumber:m,merge:x,pick:y,objectEach:b}=n;class v extends o{animate(t){let e,i,s=this,o=this.yAxis,r=o.pos,n=o.reversed,l=s.options,{clipOffset:h,inverted:c}=this.chart,p={},g=c?"translateX":"translateY";t&&h?(p.scaleY=.001,i=d(o.toPixels(l.threshold),r,r+o.len),c?p.translateX=(i+=n?-Math.floor(h[0]):Math.ceil(h[2]))-o.len:p.translateY=i+=n?Math.ceil(h[0]):-Math.floor(h[2]),s.clipBox&&s.setClip(),s.group.attr(p)):(e=Number(s.group.attr(g)),s.group.animate({scaleY:1},u(a(s.options.animation),{step:function(t,i){s.group&&(p[g]=e+i.pos*(r-e),s.group.attr(p))}})))}
5init(t,e){super.init.apply(this,arguments);let i=this;(t=i.chart).hasRendered&&t.series.forEach(function(t){t.type===i.type&&(t.isDirty=!0)})}getColumnMetrics(){let t=this,e=t.options,i=t.xAxis,s=t.yAxis,o=i.options.reversedStacks,r=i.reversed&&!o||!i.reversed&&o,n={},a,l=0;!1===e.grouping?l=1:t.chart.series.forEach(function(e){let i,o=e.yAxis,r=e.options;e.type===t.type&&e.reserveSpace()&&s.len===o.len&&s.pos===o.pos&&(r.stacking&&"group"!==r.stacking?(void 0===n[a=e.stackKey]&&(n[a]=l++),i=n[a]):!1!==r.grouping&&(i=l++),e.columnIndex=i)});let h=Math.min(Math.abs(i.transA)*(!i.brokenAxis?.hasBreaks&&i.ordinal?.slope||e.pointRange||i.closestPointRange||i.tickInterval||1),i.len),d=h*e.groupPadding,c=(h-2*d)/(l||1),p=Math.min(e.maxPointWidth||i.len,y(e.pointWidth,c*(1-2*e.pointPadding))),u=(t.columnIndex||0)+ +!!r;return t.columnMetrics={width:p,offset:(c-p)/2+(d+u*c-h/2)*(r?-1:1),paddedWidth:c,columnCount:l},t.columnMetrics}crispCol(t,e,i,s){let o=this.borderWidth,r=this.chart.inverted;return s=c(e+s,o,r)-(e=c(e,o,r)),this.options.crisp&&(i=c(t+i,o)-(t=c(t,o))),{x:t,y:e,width:i,height:s}}adjustForMissingColumns(t,e,i,s){if(!i.isNull&&s.columnCount>1){let o=this.xAxis.series.filter(t=>t.visible).map(t=>t.index),r=0,n=0;b(this.xAxis.stacking?.stacks,t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&f(e.points[this.index])){let t=Object.keys(e.points).filter(t=>!t.match(",")&&e.points[t]&&e.points[t].length>1).map(parseFloat).filter(t=>-1!==o.indexOf(t)).sort((t,e)=>e-t);r=t.indexOf(this.index),n=t.length}}}),r=this.xAxis.reversed?n-1-r:r;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-r*s.paddedWidth}return t}translate(){let t=this,e=t.chart,i=t.options,s=t.dense=t.closestPointRange*t.xAxis.transA<2,r=t.borderWidth=y(i.borderWidth,+!s),n=t.xAxis,a=t.yAxis,l=i.threshold,h=y(i.minPointLength,5),c=t.getColumnMetrics(),u=c.width,f=t.pointXOffset=c.offset,x=t.dataMin,b=t.dataMax,v=t.translatedThreshold=a.getThreshold(l),k=t.barW=Math.max(u,1+2*r);i.pointPadding&&(k=Math.ceil(k)),o.prototype.translate.apply(t),t.points.forEach(function(s){let o=y(s.yBottom,v),r=999+Math.abs(o),g=s.plotX||0,w=d(s.plotY,-r,a.len+r),M,S=Math.min(w,o),C=Math.max(w,o)-S,A=u,T=g+f,P=k;h&&Math.abs(C)<h&&(C=h,M=!a.reversed&&!s.negative||a.reversed&&s.negative,m(l)&&m(b)&&s.y===l&&b<=l&&(a.min||0)<l&&(x!==b||(a.max||0)<=l)&&(M=!M,s.negative=!s.negative),S=Math.abs(S-v)>h?o-h:v-(M?h:0)),p(s.options.pointWidth)&&(T-=Math.round(((A=P=Math.ceil(s.options.pointWidth))-u)/2)),i.centerInCategory&&!i.stacking&&(T=t.adjustForMissingColumns(T,A,s,c)),s.barX=T,s.pointWidth=A,s.tooltipPos=e.inverted?[d(a.len+a.pos-e.plotLeft-w,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),n.len+n.pos-e.plotTop-T-P/2,C]:[n.left-e.plotLeft+T+P/2,d(w+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),C],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(T,s.isNull?v:S,P,s.isNull?0:C)}),g(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i=this.options,s=this.pointAttrToOptions||{},o=s.stroke||"borderColor",r=s["stroke-width"]||"borderWidth",n,a,h,d=t&&t.color||this.color,c=t&&t[o]||i[o]||d,p=t&&t.options.dashStyle||i.dashStyle,u=t&&t[r]||i[r]||this[r]||0,g=y(t&&t.opacity,i.opacity,1);t&&this.zones.length&&(a=t.getZone(),d=t.options.color||a&&(a.color||t.nonZonedColor)||this.color,a&&(c=a.borderColor||c,p=a.dashStyle||p,u=a.borderWidth||u)),e&&t&&(h=(n=x(i.states[e],t.options.states&&t.options.states[e]||{})).brightness,d=n.color||void 0!==h&&l(d).brighten(n.brightness).get()||d,c=n[o]||c,u=n[r]||u,p=n.dashStyle||p,g=y(n.opacity,g));let f={fill:d,stroke:c,"stroke-width":u,opacity:g};return p&&(f.dashstyle=p),f}drawPoints(t=this.points){let e,i=this,s=this.chart,o=i.options,r=s.renderer,n=o.animationLimit||250;t.forEach(function(t){let a=t.plotY,l=t.graphic,h=!!l,d=l&&s.pointCount<n?"animate":"attr";m(a)&&null!==t.y?(e=t.shapeArgs,l&&t.hasNewShapeType()&&(l=l.destroy()),i.enabledDataSorting&&(t.startXPos=i.xAxis.reversed?-(e&&e.width||0):i.xAxis.width),!l&&(t.graphic=l=r[t.shapeType](e).add(t.group||i.group),l&&i.enabledDataSorting&&s.hasRendered&&s.pointCount<n&&(l.attr({x:t.startXPos}),h=!0,d="animate")),l&&h&&l[d](x(e)),s.styledMode||l[d](i.pointAttribs(t,t.selected&&"select")).shadow(!1!==t.allowShadow&&o.shadow),l&&(l.addClass(t.getClassName(),!0),l.attr({visibility:t.visible?"inherit":"hidden"}))):l&&(t.graphic=l.destroy())})}drawTracker(t=this.points){let e,i=this,s=i.chart,o=s.pointer,r=function(t){let e=o?.getPointFromEvent(t);o&&e&&i.options.enableMouseTracking&&(o.isDirectTouch=!0,e.onMouseOver(t))};t.forEach(function(t){e=f(t.dataLabels)?t.dataLabels:t.dataLabel?[t.dataLabel]:[],t.graphic&&(t.graphic.element.point=t),e.forEach(function(e){(e.div||e.element).point=t})}),i._hasTracking||(i.trackerGroups.forEach(function(t){i[t]&&(i[t].addClass("highcharts-tracker").on("mouseover",r).on("mouseout",function(t){o?.onTrackerMouseOut(t)}).on("touchstart",r),!s.styledMode&&i.options.cursor&&i[t].css({cursor:i.options.cursor}))}),i._hasTracking=!0),g(this,"afterDrawTracker")}remove(){let t=this,e=t.chart;
5e.hasRendered&&e.series.forEach(function(e){e.type===t.type&&(e.isDirty=!0)}),o.prototype.remove.apply(t,arguments)}}return v.defaultOptions=x(o.defaultOptions,i),u(v.prototype,{directTouch:!0,getSymbol:h,negStacks:!0,trackerGroups:["group","dataLabelsGroup"]}),r.registerSeriesType("column",v),v}),i(e,"Core/Series/DataLabel.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{getDeferredAnimation:o}=t,{format:r}=e,{defined:n,extend:a,fireEvent:l,isArray:h,isString:d,merge:c,objectEach:p,pick:u,pInt:g,splat:f}=i;return function(t){function e(){return v(this).some(t=>t?.enabled)}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:l}=this,h=this.isCartesian&&r.inverted,d=t.plotX,p=t.plotY,g=i.rotation||0,f=n(d)&&n(p)&&r.isInsidePlot(d,Math.round(p),{inverted:h,paneCoordinates:!0,series:this}),m=0===g&&"justify"===u(i.overflow,l?"none":"justify"),x=this.visible&&!1!==t.visible&&n(d)&&(t.series.forceDL||l&&!m||f||u(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(d,h?s.x+1:s.y+s.height-1,{inverted:h,paneCoordinates:!0,series:this})),y=t.pos();if(x&&y){var b;let n=e.getBBox(),d=e.getBBox(void 0,0),p={right:1,center:.5}[i.align||0]||0,v={bottom:1,middle:.5}[i.verticalAlign||0]||0;if(s=a({x:y[0],y:Math.round(y[1]),width:0,height:0},s||{}),"plotEdges"===i.alignTo&&this.isCartesian&&(s[h?"x":"y"]=0,s[h?"width":"height"]=this.yAxis?.len||0),a(i,{width:n.width,height:n.height}),b=s,l&&this.xAxis&&!m&&this.setDataLabelStartPos(t,e,o,f,b),e.align(c(i,{width:d.width,height:d.height}),!1,s,!1),e.alignAttr.x+=p*(d.width-n.width),e.alignAttr.y+=v*(d.height-n.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(n.width-d.width)/2,y:e.alignAttr.y+(n.height-d.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),m&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,n,s,o);else if(u(i.crop,!0)){let{x:t,y:i}=e.alignAttr;x=r.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&r.isInsidePlot(t+n.width-1,i+n.height-1,{paneCoordinates:!0,series:this})}i.shape&&!g&&e[o?"attr":"animate"]({anchorX:y[0],anchorY:y[1]})}o&&l&&(e.placed=!1),x||l&&!m?(e.show(),e.placed=!0):(e.hide(),e.placed=!1)}function s(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered?"inherit":"hidden",this.options.dataLabels.zIndex||6)}function m(t){let e=this.hasRendered||0,i=this.initDataLabelsGroup().attr({opacity:+e});return!e&&i&&(this.visible&&i.show(),this.options.animation?i.animate({opacity:1},t):i.attr({opacity:1})),i}function x(t){let e;t=t||this.points;let i=this,s=i.chart,a=i.options,h=s.renderer,{backgroundColor:c,plotBackgroun
5dColor:m}=s.options.chart,x=h.getContrast(d(m)&&m||d(c)&&c||"#000000"),y=v(i),{animation:k,defer:w}=y[0],M=w?o(s,k,i):{defer:0,duration:0};l(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(M),t.forEach(t=>{let o=t.dataLabels||[];f(b(y,t.dlOptions||t.options?.dataLabels)).forEach((c,f)=>{let m=c.enabled&&(t.visible||t.dataLabelOnHidden)&&(!t.isNull||t.dataLabelOnNull)&&function(t,e){let i=e.filter;if(i){let e=i.operator,s=t[i.property],o=i.value;return">"===e&&s>o||"<"===e&&s<o||">="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,c),{backgroundColor:y,borderColor:b,distance:v,style:k={}}=c,w,M,S,C,A={},T=o[f],P=!T,O;m&&(M=u(c[t.formatPrefix+"Format"],c.format),w=t.getLabelConfig(),S=n(M)?r(M,w,s):(c[t.formatPrefix+"Formatter"]||c.formatter).call(w,c),C=c.rotation,!s.styledMode&&(k.color=u(c.color,k.color,d(i.color)?i.color:void 0,"#000000"),"contrast"===k.color?("none"!==y&&(O=y),t.contrastColor=h.getContrast("auto"!==O&&O||t.color||i.color),k.color=O||!n(v)&&c.inside||0>g(v||0)||a.stacking?t.contrastColor:x):delete t.contrastColor,a.cursor&&(k.cursor=a.cursor)),A={r:c.borderRadius||0,rotation:C,padding:c.padding,zIndex:1},s.styledMode||(A.fill="auto"===y?t.color:y,A.stroke="auto"===b?t.color:b,A["stroke-width"]=c.borderWidth),p(A,(t,e)=>{void 0===t&&delete A[e]})),!T||m&&n(S)&&!!T.div==!!c.useHTML&&(T.rotation&&c.rotation||T.rotation===c.rotation)||(T=void 0,P=!0),m&&n(S)&&(T?A.text=S:(T=h.label(S,0,0,c.shape,void 0,void 0,c.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":"")),T&&(T.options=c,T.attr(A),s.styledMode?k.width&&T.css({width:k.width,textOverflow:k.textOverflow}):T.css(k).shadow(c.shadow),l(T,"beforeAddingDataLabel",{labelOptions:c,point:t}),T.added||T.add(e),i.alignDataLabel(t,T,c,void 0,P),T.isActive=!0,o[f]&&o[f]!==T&&o[f].destroy(),o[f]=T))});let c=o.length;for(;c--;)o[c]&&o[c].isActive?o[c].isActive=!1:(o[c]?.destroy(),o.splice(c,1));t.dataLabel=o[0],t.dataLabels=o})),l(this,"afterDrawDataLabels")}function y(t,e,i,s,o,r){let n=this.chart,a=e.align,l=e.verticalAlign,h=t.box?0:t.padding||0,d=n.inverted?this.yAxis:this.xAxis,c=d?d.left-n.plotLeft:0,p=n.inverted?this.xAxis:this.yAxis,u=p?p.top-n.plotTop:0,{x:g=0,y:f=0}=e,m,x;return(m=(i.x||0)+h+c)<0&&("right"===a&&g>=0?(e.align="left",e.inside=!0):g-=m,x=!0),(m=(i.x||0)+s.width-h+c)>n.plotWidth&&("left"===a&&g<=0?(e.align="right",e.inside=!0):g+=n.plotWidth-m,x=!0),(m=i.y+h+u)<0&&("bottom"===l&&f>=0?(e.verticalAlign="top",e.inside=!0):f-=m,x=!0),(m=(i.y||0)+s.height-h+u)>n.plotHeight&&("top"===l&&f<=0?(e.verticalAlign="bottom",e.inside=!0):f+=n.plotHeight-m,x=!0),x&&(e.x=g,e.y=f,t.placed=!r,t.align(e,void 0,o)),x}function b(t,e){let i=[],s;if(h(t)&&!h(e))i=t.map(function(t){return c(t,e)});else if(h(e)&&!h(t))i=e.map(function(e){return c(t,e)});else if(h(t)||h(e)){if(h(t)&&h(e))for(s=Math.max(t.length,e.length);s--;)i[s]=c(t[s],e[s])}else i=c(t,e);return i}function v(t){let e=t.chart.options.plotOptions;return f(b(b(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function k(t,e,i,s,o){let r=this.chart,n=r.inverted,a=this.xAxis,l=a.reversed,h=((n?e.height:e.width)||0)/2,d=t.pointWidth,c=d?d/2:0;e.startXPos=n?o.x:l?-h-c:a.width-h+c,e.startYPos=n?l?this.yAxis.height-h+c:-h-c:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0}
5,void 0,e.hide),r.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let o=t.prototype;o.initDataLabels||(o.initDataLabels=m,o.initDataLabelsGroup=s,o.alignDataLabel=i,o.drawDataLabels=x,o.justifyDataLabel=y,o.setDataLabelStartPos=k,o.hasDataLabels=e)}}(s||(s={})),s}),i(e,"Series/Column/ColumnDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{composed:r}=e,{series:n}=i,{merge:a,pick:l,pushUnique:h}=s;return function(e){function i(t,e,i,s,o){let r=this.chart.inverted,h=t.series,d=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,c=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=l(t.below,t.plotY>l(this.translatedThreshold,c)),g=l(i.inside,!!this.options.stacking);if(p){if(s=a(p),"allow"!==i.overflow||!1!==i.crop){s.y<0&&(s.height+=s.y,s.y=0);let t=s.y+s.height-c;t>0&&t<s.height-1&&(s.height-=t)}r&&(s={x:c-s.y-s.height,y:d-s.x-s.width,width:s.height,height:s.width}),g||(r?(s.x+=u?0:s.width,s.width=0):(s.y+=u?s.height:0,s.height=0))}i.align=l(i.align,!r||g?"center":u?"right":"left"),i.verticalAlign=l(i.verticalAlign,r||g?"middle":u?"top":"bottom"),n.prototype.alignDataLabel.call(this,t,e,i,s,o),i.inside&&t.contrastColor&&e.css({color:t.contrastColor})}e.compose=function(e){t.compose(n),h(r,"ColumnDataLabel")&&(e.prototype.alignDataLabel=i)}}(o||(o={})),o}),i(e,"Series/Bar/BarSeries.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{extend:s,merge:o}=i;class r extends t{}return r.defaultOptions=o(t.defaultOptions,{}),s(r.prototype,{inverted:!0}),e.registerSeriesType("bar",r),r}),i(e,"Series/Scatter/ScatterSeriesDefaults.js",[],function(){return{lineWidth:0,findNearestPointBy:"xy",jitter:{x:0,y:0},marker:{enabled:!0},tooltip:{headerFormat:'<span style="color:{point.color}">●</span> <span style="font-size: 0.8em"> {series.name}</span><br/>',pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>"}}}),i(e,"Series/Scatter/ScatterSeries.js",[e["Series/Scatter/ScatterSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{column:s,line:o}=e.seriesTypes,{addEvent:r,extend:n,merge:a}=i;class l extends o{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach(function(s,o){["x","y"].forEach(function(r,n){if(e[r]&&!s.isNull){let a=`plot${r.toUpperCase()}`,l=t[`${r}Axis`],h=e[r]*l.transA;if(l&&!l.logarithmic){let t,e=Math.max(0,(s[a]||0)-h),d=Math.min(l.len,(s[a]||0)+h);s[a]=e+(d-e)*((t=1e4*Math.sin(o+n*i))-Math.floor(t)),"x"===r&&(s.clientX=s.plotX)}}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=a(o.defaultOptions,t),n(l.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),r(l,"afterTranslate",function(){this.applyJitter()}),e.registerSeriesType("scatter",l),l}),i(e,"Series/CenteredUtilities.js",[e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i){var s,o;let{deg2rad:r}=t,{fireEvent:n,isNumber:a,pick:l,relativeLength:h}=i;return(o=s||(s={})).getCenter=function(){let t=this.options,i=this.chart,s=2*(t.slicedOffset||0),o=i.plotWidth-2*s,r=i.plotHeight-2*s,d=t.center,c=Math.min(o,r),p=t.thickness,u,g=t.size,f=t.innerSize||0,m,x;"string"==typeof g&&(g=parseFloat(g)),"string"==typeof f&&(f=parseFloat(f));let y=[l(d[0],"50%"),l(d[1],"50%"),l(g&&g<0?void 0:t.size,"100%"),l(f&&f<0?void 0:t.innerSize||0,"0%")];for(!i.angular||this instanceof e||(y[3]=0),m=0;m<4;++m)x=y[m],u=m<2||2===m&&/%$/.test(x),y[m]=h(x,[o,r,c,y[2]][m])+(u?s:0);return y[3]>y[2]&&(y[3]=y[2]),a(p)&&2*p<y[2]&&p>0&&(y[3]=y[2]-2*p),n(this,"afterGetCenter",{positions:y}),y},o.getStartAndEndRadians=function(t,e){let i=a(t)?t:0,s=a(e)&&e>i&&e-i<360?e:i+360;return{start:r*(i+-90),end:r*(s+-90)}},s}),i(e,"Series/Pie/PiePoint.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 7,386 bytes, line 5
5i){let{setAnimation:s}=t,{addEvent:o,defined:r,extend:n,isNumber:a,pick:l,relativeLength:h}=i;class d extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,o=this.connectorShapes[s]||s;return e&&o.call(this,{...e.computed,alignment:e.alignment},e.connectorPosition,i)||[]}getTranslate(){return this.sliced&&this.slicedTranslation||{translateX:0,translateY:0}}haloPath(t){let e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+t,e.r+t,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}constructor(t,e,i){super(t,e,i),this.half=0,this.name??(this.name="Slice");let s=t=>{this.slice("select"===t.type)};o(this,"select",s),o(this,"unselect",s)}isValid(){return a(this.y)&&this.y>=0}setVisible(t,e=!0){t!==this.visible&&this.update({visible:t??!this.visible},e,void 0,!1)}slice(t,e,i){let o=this.series;s(i,o.chart),e=l(e,!0),this.sliced=this.options.sliced=t=r(t)?t:!this.sliced,o.options.data[o.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return n(d.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,o=e.touchingSliceAt,r=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-o.x,2*s.y-o.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],r,["L",o.x,o.y]]},straight:function(t,e){let i=e.touchingSliceAt;return[["M",t.x,t.y],["L",i.x,i.y]]},crookedLine:function(t,e,i){let{breakAt:s,touchingSliceAt:o}=e,{series:r}=this,[n,a,l]=r.center,d=l/2,{plotLeft:c,plotWidth:p}=r.chart,u="left"===t.alignment,{x:g,y:f}=t,m=s.x;if(i.crookDistance){let t=h(i.crookDistance,1);m=u?n+d+(p+c-n-d)*(1-t):c+(n-d)*t}else m=n+(a-f)*Math.tan((this.angle||0)-Math.PI/2);let x=[["M",g,f]];return(u?m<=g&&m>=s.x:m>=g&&m<=s.x)&&x.push(["L",m,f]),x.push(["L",s.x,s.y],["L",o.x,o.y]),x}}}),d}),i(e,"Series/Pie/PieSeriesDefaults.js",[],function(){return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0: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}}}}),i(e,"Series/Pie/PieSeries.js",[e["Series/CenteredUtilities.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Series/Pie/PiePoint.js"],e["Series/Pie/PieSeriesDefaults.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n,a,l){let{getStartAndEndRadians:h}=t,{noop:d}=i,{clamp:c,extend:p,fireEvent:u,merge:g,pick:f}=l;class m extends r{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach(function(t){let i=t.graphic,o=t.shapeArgs;i&&o&&(i.attr({r:f(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:o.r,start:o.start,end:o.end},e.options.animation))})}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,o=this.options;0===this.total&&this.center?(t=this.center[0],e=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(t,e,this.center[1]/2,0,i,s).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:a.arc(t,e,this.center[2]/2,0,{start:i,end:s,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":o.borderWidth,fill:o.fillColor||"none",stroke:o.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){let t=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy()),e.graphic||(e.graphic=t[e.shapeType](e.shapeArgs).add(e.series.group),e.delayedRendering=!0)})}generatePoints(){super.generatePoints(),this.updateTotals()}getX(t,e,i,s){let o=this.center,r=this.radii?this.radii[i.index]||0:o[2]/2,n=s.dataLabelPosition,a=n?.distance||0,l=Math.asin(c((t-o[1])/(r+a),-1,1));return o[0]+Math.cos(l)*(r+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s,o=this,r=o.chart;this.drawEmpty(),o.group&&!r.styledMode&&o.group.shadow(o.options.shadow),o.points.forEach(function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),r.styledMode||(i=o.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(o.center).attr(s).attr(t),r.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(o.center),r.styledMode||g(!0,a,i),g(!0,a,s,t),e.animate(a)),e.attr({visibility:n.visible?"inherit":"hidden"}),e.addClass(n.getClassName(),!0)):e&&(n.graphic=e.destroy())})}sortByAngle(t,e){t.sort(function(t,i){return void 0!==t.angle&&(i.angle-t.angle)*e})}translate(t){u(this,"translate"),this.generatePoints();let e=this.options,i=e.slicedOffset,s=h(e.startAngle,e.endAngle),o=this.startAngleRad=s.start,r=(this.endAngleRad=s.end)-o,n=this.points,a=e.ignoreHiddenPoint,l=n.length,d,c,p,g,f,m,x,y=0;for(t||(this.center=t=this.getCenter()),m=0;m<l;m++){x=n[m],d=o+y*r,x.isValid()&&(!a||x.visible)&&(y+=x.percentage/100),c=o+y*r;let e={x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2,start:Math.round(1e3*d)/1e3,end:Math.round(1e3*c)/1e3};x.shapeType="arc",x.shapeArgs=e,(p=(c+d)/2)>1.5*Math.PI?p-=2*Math.PI:p<-Math.PI/2&&(p+=2*Math.PI),x.slicedTranslation={translateX:Math.round(Math.cos(p)*i),translateY:Math.round(Math.sin(p)*i)},g=Math.cos(p)*t[2]/2,f=Math.sin(p)*t[2]/2,x.tooltipPos=[t[0]+.7*g,t[1]+.7*f],x.half=+(p<-Math.PI/2||p>Math.PI/2),x.angle=p}u(this,"afterTranslate")}updateTotals(){let t=this.points,e=t.length,i=this.options.ignoreHiddenPoint,s,o,r=0;for(s=0;s<e;s++)(o=t[s]).isValid()&&(!i||o.visible)&&(r+=o.y);for(s=0,this.total=r;s<e;s++)(o=t[s]).percentage=r>0&&(o.visible||!i)?o.y/r*100:0,o.total=r}}return m.defaultOptions=g(r.defaultOptions,o),p(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:d,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:d,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("pie",m),m}),i(e,"Series/Pie/PieDataLabel.js",[e["Core/Series/DataLabel.js"],e["Core/Globals.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){var r;let{composed:n,noop:a}=e,{distribute:l}=i,{series:h}=s,{arrayMax:d,clamp:c,defined:p,pick:u,pushUnique:g,relativeLength:f}=o;return function(e){let i={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,o){let r=o.dataLabelPosition;return t.getX(i<(r?.top||0)+2||i>(r?.bottom||0)-2?s:i,e.half,e,o)},justify:function(t,e,i,s){return s[0]+(t.half?-1:1)*(i+(e.dataLabelPosition?.distance||0))},alignToPlotEdges:function(t,e,i,s){let o=t.getBBox().width;return e?o+s:i-o-s},alignToConnectors:function(t,e,i,s){let o=0,r;return t.forEach(function(t){(r=t.dataLabel.getBBox().width)>o&&(o=r)}),e?o+s:i-o-s}};function s(t,e){let{center:i,options:s}=this,o=i[2]/2,r=t.angle||0,n=Math.cos(r),a=Math.sin(r),l=i[0]+n*o,h=i[1]+a*o,d=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);
vendor: 4,374 bytes, line 5
5return{natural:{x:l+n*e,y:h+a*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+n*d,y:h+a*d},touchingSliceAt:{x:l,y:h}},distance:e}}function o(){let t=this,e=t.points,i=t.chart,s=i.plotWidth,o=i.plotHeight,r=i.plotLeft,n=Math.round(i.chartWidth/3),a=t.center,c=a[2]/2,g=a[1],m=[[],[]],x=[0,0,0,0],y=t.dataLabelPositioners,b,v,k,w=0;t.visible&&t.hasDataLabels?.()&&(e.forEach(t=>{(t.dataLabels||[]).forEach(t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)})}),h.prototype.drawDataLabels.apply(t),e.forEach(t=>{(t.dataLabels||[]).forEach((e,i)=>{let s=a[2]/2,o=e.options,r=f(o?.distance||0,s);0===i&&m[t.half].push(t),!p(o?.style?.width)&&e.getBBox().width>n&&(e.css({width:Math.round(.7*n)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),w=Math.max(w,r)})}),m.forEach((e,n)=>{let h=e.length,d=[],f,m,b=0,M;h&&(t.sortByAngle(e,n-.5),w>0&&(f=Math.max(0,g-c-w),m=Math.min(g+c+w,i.plotHeight),e.forEach(t=>{(t.dataLabels||[]).forEach(e=>{let s=e.dataLabelPosition;s&&s.distance>0&&(s.top=Math.max(0,g-c-s.distance),s.bottom=Math.min(g+c+s.distance,i.plotHeight),b=e.getBBox().height||21,e.lineHeight=i.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-s.top+e.lineHeight/2,size:b,rank:t.y},d.push(t.distributeBox))})}),l(d,M=m+b-f,M/5)),e.forEach(i=>{(i.dataLabels||[]).forEach(l=>{let h=l.options||{},g=i.distributeBox,f=l.dataLabelPosition,m=f?.natural.y||0,b=h.connectorPadding||0,w=l.lineHeight||21,M=(w-l.getBBox().height)/2,S=0,C=m,A="inherit";if(f){if(d&&p(g)&&f.distance>0&&(void 0===g.pos?A="hidden":(k=g.size,C=y.radialDistributionY(i,l))),h.justify)S=y.justify(i,l,c,a);else switch(h.alignTo){case"connectors":S=y.alignToConnectors(e,n,s,r);break;case"plotEdges":S=y.alignToPlotEdges(l,n,s,r);break;default:S=y.radialDistributionX(t,i,C-M,m,l)}if(f.attribs={visibility:A,align:f.alignment},f.posAttribs={x:S+(h.x||0)+(({left:b,right:-b})[f.alignment]||0),y:C+(h.y||0)-w/2},f.computed.x=S,f.computed.y=C-M,u(h.crop,!0)){let t;S-(v=l.getBBox().width)<b&&1===n?(t=Math.round(v-S+b),x[3]=Math.max(t,x[3])):S+v>s-b&&0===n&&(t=Math.round(S+v-s+b),x[1]=Math.max(t,x[1])),C-k/2<0?x[0]=Math.max(Math.round(-C+k/2),x[0]):C+k/2>o&&(x[2]=Math.max(Math.round(C+k/2-o),x[2])),f.sideOverflow=t}}})}))}),(0===d(x)||this.verifyDataLabelOverflow(x))&&(this.placeDataLabels(),this.points.forEach(e=>{(e.dataLabels||[]).forEach(s=>{let{connectorColor:o,connectorWidth:r=1}=s.options||{},n=s.dataLabelPosition;if(r){let a;b=s.connector,n&&n.distance>0?(a=!b,b||(s.connector=b=i.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(t.dataLabelsGroup)),i.styledMode||b.attr({"stroke-width":r,stroke:o||e.color||"#666666"}),b[a?"attr":"animate"]({d:e.getConnectorPath(s)}),b.attr({visibility:n.attribs?.visibility})):b&&(s.connector=b.destroy())}})})))}function r(){this.points.forEach(t=>{(t.dataLabels||[]).forEach(t=>{let e=t.dataLabelPosition;e?(e.sideOverflow&&(t.css({width:Math.max(t.getBBox().width-e.sideOverflow,0)+"px",textOverflow:(t.options?.style||{}).textOverflow||"ellipsis"}),t.shortened=!0),t.attr(e.attribs),t[t.moved?"animate":"attr"](e.posAttribs),t.moved=!0):t&&t.attr({y:-9999})}),delete t.distributeBox},this)}function m(t){let e=this.center,i=this.options,s=i.center,o=i.minSize||80,r=o,n=null!==i.size;return!n&&(null!==s[0]?r=Math.max(e[2]-Math.max(t[1],t[3]),o):(r=Math.max(e[2]-t[1]-t[3],o),e[0]+=(t[3]-t[1])/2),null!==s[1]?r=c(r,o,e[2]-Math.max(t[0],t[2])):(r=c(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r<e[2]?(e[2]=r,e[3]=Math.min(i.thickness?Math.max(0,r-2*i.thickness):Math.max(0,f(i.innerSize||0,r)),r),this.translate(e),this.drawDataLabels&&this.drawDataLabels()):n=!0),n}e.compose=function(e){if(t.compose(h),g(n,"PieDataLabel")){let t=e.prototype;t.dataLabelPositioners=i,t.alignDataLabel=a,t.drawDataLabels=o,t.getDataLabelPosition=s,t.placeDataLabels=r,t.verifyDataLabelOverflow=m}}}(r||(r={})),r}),i(e,"Core/Geometry/GeometryUtilities.js",[],function(){var t,e;return(e=t||(t={})).getCenterOfPoints=function(t){let e=t.reduce((t,e)=>(t.x+=e.x,t.y+=e.y,t),{x:0,y:0});return{x:e.x/t.length,y:e.y/t.length}},e.getDistanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}
5,e.getAngleBetweenPoints=function(t,e){return Math.atan2(e.x-t.x,e.y-t.y)},e.pointInPolygon=function({x:t,y:e},i){let s=i.length,o,r,n=!1;for(o=0,r=s-1;o<s;r=o++){let[s,a]=i[o],[l,h]=i[r];a>e!=h>e&&t<(l-s)*(e-a)/(h-a)+s&&(n=!n)}return n},t}),i(e,"Extensions/OverlappingDataLabels.js",[e["Core/Geometry/GeometryUtilities.js"],e["Core/Utilities.js"]],function(t,e){let{pointInPolygon:i}=t,{addEvent:s,fireEvent:o,objectEach:r,pick:n}=e;function a(t){let e=t.length,s=(t,e)=>!(e.x>=t.x+t.width||e.x+e.width<=t.x||e.y>=t.y+t.height||e.y+e.height<=t.y),r=(t,e)=>{for(let s of t)if(i({x:s[0],y:s[1]},e))return!0;return!1},n,a,h,d,c,p=!1;for(let i=0;i<e;i++)(n=t[i])&&(n.oldOpacity=n.opacity,n.newOpacity=1,n.absoluteBox=function(t){if(t&&(!t.alignAttr||t.placed)){let e=t.box?0:t.padding||0,i=t.alignAttr||{x:t.attr("x"),y:t.attr("y")},s=t.getBBox();return t.width=s.width,t.height=s.height,{x:i.x+(t.parentGroup?.translateX||0)+e,y:i.y+(t.parentGroup?.translateY||0)+e,width:(t.width||0)-2*e,height:(t.height||0)-2*e,polygon:s?.polygon}}}(n));t.sort((t,e)=>(e.labelrank||0)-(t.labelrank||0));for(let i=0;i<e;++i){d=(a=t[i])&&a.absoluteBox;let o=d?.polygon;for(let n=i+1;n<e;++n){c=(h=t[n])&&h.absoluteBox;let e=!1;if(d&&c&&a!==h&&0!==a.newOpacity&&0!==h.newOpacity&&"hidden"!==a.visibility&&"hidden"!==h.visibility){let t=c.polygon;if(o&&t&&o!==t?r(o,t)&&(e=!0):s(d,c)&&(e=!0),e){let t=a.labelrank<h.labelrank?a:h,e=t.text;t.newOpacity=0,e?.element.querySelector("textPath")&&e.hide()}}}}for(let e of t)l(e,this)&&(p=!0);p&&o(this,"afterHideAllOverlappingLabels")}function l(t,e){let i,s,r=!1;return t&&(s=t.newOpacity,t.oldOpacity!==s&&(t.hasClass("highcharts-data-label")?(t[s?"removeClass":"addClass"]("highcharts-data-label-hidden"),i=function(){e.styledMode||t.css({pointerEvents:s?"auto":"none"})},r=!0,t[t.isOld?"animate":"attr"]({opacity:s},void 0,i),o(e,"afterHideOverlappingLabel")):t.attr({opacity:s})),t.isOld=!0),r}function h(){let t=this,e=[];for(let i of t.labelCollectors||[])e=e.concat(i());for(let i of t.yAxis||[])i.stacking&&i.options.stackLabels&&!i.options.stackLabels.allowOverlap&&r(i.stacking.stacks,t=>{r(t,t=>{t.label&&e.push(t.label)})});for(let i of t.series||[])if(i.visible&&i.hasDataLabels?.()){let s=i=>{for(let s of i)s.visible&&(s.dataLabels||[]).forEach(i=>{let o=i.options||{};i.labelrank=n(o.labelrank,s.labelrank,s.shapeArgs?.height),o.allowOverlap??Number(o.distance)>0?(i.oldOpacity=i.opacity,i.newOpacity=1,l(i,t)):e.push(i)})};s(i.nodes||[]),s(i.points)}this.hideOverlappingLabels(e)}return{compose:function(t){let e=t.prototype;e.hideOverlappingLabels||(e.hideOverlappingLabels=a,s(t,"render",h))}}}
vendor: 3,843 bytes, line 5
5),i(e,"Extensions/BorderRadius.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i){let{defaultOptions:s}=t,{noop:o}=e,{addEvent:r,extend:n,isObject:a,merge:l,relativeLength:h}=i,d={radius:0,scope:"stack",where:void 0},c=o,p=o;function u(t,e,i,s,o={}){let r=c(t,e,i,s,o),{innerR:n=0,r:a=i,start:l=0,end:d=0}=o;if(o.open||!o.borderRadius)return r;let p=d-l,g=Math.sin(p/2),f=Math.max(Math.min(h(o.borderRadius||0,a-n),(a-n)/2,a*g/(1+g)),0),m=Math.min(f,p/Math.PI*2*n),x=r.length-1;for(;x--;)!function(t,e,i){let s,o,r,n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),("M"===n[0]||"L"===n[0])&&"A"===a[0]?(s=n,o=a,r=!0):"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n),s&&o&&o.params){let n=o[1],a=o[5],l=o.params,{start:h,end:d,cx:c,cy:p}=l,u=a?n-i:n+i,g=u?Math.asin(i/u):0,f=a?g:-g,m=Math.cos(g)*u;r?(l.start=h+f,s[1]=c+m*Math.cos(h),s[2]=p+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,c+n*Math.cos(l.start),p+n*Math.sin(l.start)])):(l.end=d-f,o[6]=c+n*Math.cos(l.end),o[7]=p+n*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,c+m*Math.cos(d),p+m*Math.sin(d)])),o[4]=Math.abs(l.end-l.start)<Math.PI?0:1}}(r,x,x>1?m:f);return r}function g(){if(this.options.borderRadius&&!(this.chart.is3d&&this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,o=s.plotOptions?.[this.type]?.borderRadius,r=f(t.borderRadius,a(o)?o:{}),l=e.options.reversed;for(let s of this.points){let{shapeArgs:o}=s;if("roundedRect"===s.shapeType&&o){let{width:a=0,height:d=0,y:c=0}=o,p=c,u=d;if("stack"===r.scope&&s.stackTotal){let o=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),r=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(o,r),0,Math.abs(o-r));p=n.y,u=n.height}let g=(s.negative?-1:1)*(l?-1:1)==-1,f=r.where;!f&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(f="all"),f||(f="end");let m=Math.min(h(r.radius,a),a/2,"all"===f?d/2:1/0)||0;"end"===f&&(g&&(p-=m),u+=m),n(o,{brBoxHeight:u,brBoxY:p,r:m})}}}}function f(t,e){return a(t)||(t={radius:t||0}),l(d,e,t)}function m(){let t=f(this.options.borderRadius);for(let e of this.points){let i=e.shapeArgs;i&&(i.borderRadius=h(t.radius,(i.r||0)-(i.innerR||0)))}}function x(t,e,i,s,o={}){let r=p(t,e,i,s,o),{r:n=0,brBoxHeight:a=s,brBoxY:l=e}=o,h=e-l,d=l+a-(e+s),c=h-n>-.1?0:n,u=d-n>-.1?0:n,g=Math.max(c&&h,0),f=Math.max(u&&d,0),m=[t+c,e],y=[t+i-c,e],b=[t+i,e+c],v=[t+i,e+s-u],k=[t+i-u,e+s],w=[t+u,e+s],M=[t,e+s-u],S=[t,e+c],C=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=C(c,c-g);m[0]-=t,y[0]+=t,b[1]=S[1]=e+c-g}if(s<c-g){let o=C(c,c-g-s);b[0]=v[0]=t+i-c+o,k[0]=Math.min(b[0],k[0]),w[0]=Math.max(v[0],w[0]),M[0]=S[0]=t+c-o,b[1]=S[1]=e+s}if(f){let t=C(u,u-f);k[0]+=t,w[0]-=t,v[1]=M[1]=e+s-u+f}if(s<u-f){let o=C(u,u-f-s);b[0]=v[0]=t+i-u+o,y[0]=Math.min(b[0],y[0]),m[0]=Math.max(v[0],m[0]),M[0]=S[0]=t+u-o,v[1]=M[1]=e}return r.length=0,r.push(["M",...m],["L",...y],["A",c,c,0,0,1,...b],["L",...v],["A",u,u,0,0,1,...k],["L",...w],["A",u,u,0,0,1,...M],["L",...S],["A",c,c,0,0,1,...m],["Z"]),r}return{compose:function(t,e,i){let s=t.types.pie;if(!e.symbolCustomAttribs.includes("borderRadius")){let o=i.prototype.symbols;r(t,"afterColumnTranslate",g,{order:9}),r(s,"afterTranslate",m),e.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY"),c=o.arc,p=o.roundedRect,o.arc=u,o.roundedRect=x}},optionsToObject:f}}),i(e,"Core/Responsive.js",[e["Core/Utilities.js"]],function(t){var e;let{diffObjects:i,extend:s,find:o,merge:r,pick:n,uniqueKey:a}=t;return function(t){function e(t,e){let i=t.condition;(i.callback||function(){return this.chartWidth<=n(i.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=n(i.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=n(i.minWidth,0)&&this.chartHeight>=n(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s=this.options.responsive,n=this.currentResponsive,l=[],h;
5!e&&s&&s.rules&&s.rules.forEach(t=>{void 0===t._id&&(t._id=a()),this.matchResponsiveRule(t,l)},this);let d=r(...l.map(t=>o((s||{}).rules||[],e=>e._id===t)).map(t=>t&&t.chartOptions));d.isResponsiveOptions=!0,l=l.toString()||void 0;let c=n&&n.ruleIds;l===c||(n&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(n.undoOptions,t,!0),this.updatingResponsive=!1),l?((h=i(d,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:l,mergedOptions:d,undoOptions:h},this.updatingResponsive||this.update(d,t,!0)):this.currentResponsive=void 0)}t.compose=function(t){let i=t.prototype;return i.matchResponsiveRule||s(i,{matchResponsiveRule:e,setResponsive:l}),t}}(e||(e={})),e}),i(e,"masters/highcharts.src.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Core/Defaults.js"],e["Core/Animation/Fx.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Renderer/HTML/AST.js"],e["Core/Templating.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Renderer/HTML/HTMLElement.js"],e["Core/Axis/Axis.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Axis/LogarithmicAxis.js"],e["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],e["Core/Axis/Tick.js"],e["Core/Tooltip.js"],e["Core/Series/Point.js"],e["Core/Pointer.js"],e["Core/Legend/Legend.js"],e["Core/Legend/LegendSymbol.js"],e["Core/Chart/Chart.js"],e["Extensions/ScrollablePlotArea.js"],e["Core/Axis/Stacking/StackingAxis.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Series/Series.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Column/ColumnDataLabel.js"],e["Series/Pie/PieDataLabel.js"],e["Core/Series/DataLabel.js"],e["Extensions/OverlappingDataLabels.js"],e["Extensions/
5BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],function(t,e,i,s,o,r,n,a,l,h,d,c,p,u,g,f,m,x,y,b,v,k,w,M,S,C,A,T,P,O,L,E,D,I,B,N){return t.AST=r,t.Axis=p,t.Chart=w,t.Color=B,t.DataLabel=L,t.Fx=s,t.HTMLElement=c,t.Legend=v,t.LegendSymbol=k,t.OverlappingDataLabels=t.OverlappingDataLabels||E,t.PlotLineOrBand=f,t.Point=y,t.Pointer=b,t.RendererRegistry=a,t.Series=A,t.SeriesRegistry=T,t.StackItem=C,t.SVGElement=h,t.SVGRenderer=d,t.Templating=n,t.Tick=m,t.Time=N,t.Tooltip=x,t.animate=o.animate,t.animObject=o.animObject,t.chart=w.chart,t.color=B.parse,t.dateFormat=n.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=n.format,t.getDeferredAnimation=o.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=n.numberFormat,t.seriesType=T.seriesType,t.setAnimation=o.setAnimation,t.setOptions=i.setOptions,t.stop=o.stop,t.time=i.defaultTime,t.timers=s.timers,D.compose(t.Series,t.SVGElement,t.SVGRenderer),P.compose(t.Series.types.column),L.compose(t.Series),u.compose(t.Axis),c.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),E.compose(t.Chart),O.compose(t.Series.types.pie),f.compose(t.Chart,t.Axis),b.compose(t.Chart),I.compose(t.Chart),M.compose(t.Axis,t.Chart,t.Series),S.compose(t.Axis,t.Chart,t.Series),x.compose(t.Pointer),e.extend(t,e),t}),i(e,"Series/DataModifyComposition.js",[e["Core/Axis/Axis.js"],e["Core/Series/Point.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{tooltipFormatter:r}=e.prototype,{addEvent:n,arrayMax:a,arrayMin:l,correctFloat:h,defined:d,isArray:c,isNumber:p,isString:u,pick:g}=s;return function(t){function e(t,e,i){!this.isXAxis&&(this.series.forEach(function(i){"compare"===t&&"boolean"!=typeof e?i.setCompare(e,!1):"cumulative"!==t||u(e)||i.setCumulative(e,!1)}),g(i,!0)&&this.chart.redraw())}function i(t){let e=this,{numberFormatter:i}=e.series.chart,s=function(s){t=t.replace("{point."+s+"}",(e[s]>0&&"change"===s?"+":"")+i(e[s],g(e.series.tooltipOptions.changeDecimals,2)))};return d(e.change)&&s("change"),d(e.cumulativeSum)&&s("cumulativeSum"),r.apply(this,[t])}function s(){let t,e=this.options.compare;("percent"===e||"value"===e||this.options.cumulative)&&(t=new v(this),"percent"===e||"value"===e?t.initCompare(e):t.initCumulative()),this.dataModify=t}function o(t){let e=t.dataExtremes,i=e.activeYData;if(this.dataModify&&e){let t;this.options.compare?t=[this.dataModify.modifyValue(e.dataMin),this.dataModify.modifyValue(e.dataMax)]:this.options.cumulative&&c(i)&&i.length>=2&&(t=v.getCumulativeExtremes(i)),t&&(e.dataMin=l(t),e.dataMax=a(t))}}function f(t,e){this.options.compare=this.userOptions.compare=t,this.update({},g(e,!0)),this.dataModify&&("value"===t||"percent"===t)?this.dataModify.initCompare(t):this.points.forEach(t=>{delete t.change})}function m(){if(this.xAxis&&this.processedYData&&this.dataModify){let t=this.processedXData,e=this.processedYData,i=e.length,s=+(!0!==this.options.compareStart),o=-1,r;for(this.pointArrayMap&&(o=this.pointArrayMap.indexOf(this.options.pointValKey||this.pointValKey||"y")),r=0;r<i-s;r++){let i=e[r]&&o>-1?e[r][o]:e[r];if(p(i)&&0!==i&&t[r+s]>=(this.xAxis.min||0)){this.dataModify.compareValue=i;break}}}}function x(t,e){this.setModifier("compare",t,e)}function y(t,e){t=g(t,!1),this.options.cumulative=this.userOptions.cumulative=t,this.update({},g(e,!0)),this.dataModify?this.dataModify.initCumulative():this.points.forEach(t=>{delete t.cumulativeSum})}function b(t,e){this.setModifier("cumulative",t,e)}t.compose=function(t,r,a){let l=r.prototype,h=a.prototype,d=t.prototype;return d.setCompare||(d.setCompare=f,d.setCumulative=y,n(t,"afterInit",s),n(t,"afterGetExtremes",o),n(t,"afterProcessData",m)),l.setCompare||(l.setCompare=x,l.setModifier=e,l.setCumulative=b,h.tooltipFormatter=i),t};class v{constructor(t){this.series=t}modifyValue(){return 0}static getCumulativeExtremes(t){let e=1/0,i=-1/0;return t.reduce((t,s)=>{let o=t+s;return e=Math.min(e,o,t),i=Math.max(i,o,t),o}),[e,i]}initCompare(t){this.modifyValue=function(e,i){null===e&&(e=0);let s=this.compareValue;if(void 0!==e&&void 0!==s){if("value"===t?e-=s:e=e/s*100-100*(100!==this.series.options.compareBase),void 0!==i){let t=this.series.points[i];t&&(t.change=e)}return e}return 0}}initCumulative(){this.modifyValue=function(t,e){if(null===t&&(t=0),void 0!==t&&void 0!==e){let i=e>0?this.series.points[e-1]:null;i&&i.cumulativeSum&&(t=h(i.cumulativeSum+t));let s=this.series.points[e],o=s.series.options.cumulativeStart,r=s.x<=this.series.xAxis.max&&s.x>=this.series.xAxis.min;return s&&(!o||r?s.cumulativeSum=t:s.cumulativeSum=void 0),t}return 0}}}t.Additions=v}(o||(o={})),o}),i(e,"Stock/Navigator/ChartNavigatorComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let i,{isTouchDevice:s}=t,{addEvent:o,merge:r,pick:n}=e,a=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function h(){let t,e,i,s=this.legend,o=this.navigator;if(o){t=s&&s.options,e=o.xAxis,i=o.yAxis;let{scrollbarHeight:r,scrollButtonSize:a}=o;this.inverted?(o.left=o.opposite?this.chartWidth-r-o.height:this.spacing[3]+r,o.top=this.plotTop+a):(o.left=n(e.left,this.plotLeft+a),o.top=o.navigatorOptions.top||this.chartHe
5ight-o.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+n(t.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=o.left:e.options.top=i.options.top=o.top,e.setAxisSize(),i.setAxisSize())}}function d(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this),n(t.redraw,!0)&&this.redraw(t.animation))}function c(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new i(this))}function p(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!s&&"x"===this.zooming.type||s&&"x"===this.zooming.pinchType))return!1}function u(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function g(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&(r(!0,this.options.navigator,e),r(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}return{compose:function(t,s){if(e.pushUnique(a,t)){let e=t.prototype;i=s,e.callbacks.push(u),o(t,"afterAddSeries",l),o(t,"afterSetChartSize",h),o(t,"afterUpdate",d),o(t,"beforeRender",c),o(t,"beforeShowResetZoom",p),o(t,"update",g)}}}}),i(e,"Core/Axis/NavigatorAxisComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{isTouchDevice:i}=t,{addEvent:s,correctFloat:o,defined:r,isNumber:n,pick:a}=e;function l(){this.navigatorAxis||(this.navigatorAxis=new d(this))}function h(t){let e,s=this.chart,o=s.options,n=o.navigator,a=this.navigatorAxis,l=s.zooming.pinchType,h=o.rangeSelector,d=s.zooming.type;if(this.isXAxis&&(n?.enabled||h?.enabled)){if("y"===d&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===d||i&&"xy"===l)&&this.options.range){let e=a.previousZoom;r(t.min)?a.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],a.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class d{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),s(t,"init",l),s(t,"setExtremes",h))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let l=this.axis,h=(l.pointRange||0)/2,d=a(i,l.translate(t,!0,!l.horiz)),c=a(s,l.translate(e,!0,!l.horiz));return r(i)||(d=o(d+h)),r(s)||(c=o(c-h)),n(d)&&n(c)||(d=c=void 0),{min:d,max:c}}}return d}),i(e,"Stock/Navigator/NavigatorDefaults.js",[e["Core/Color/Color.js"],e["Core/Series/SeriesRegistry.js"]],function(t,e){let{parse:i}=t,{seriesTypes:s}=e;return{height:40,margin:25,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"#f2f2f2",borderColor:"#999999"},maskFill:i("#667aff").setOpacity(.3).get(),outlineColor:"#999999",outlineWidth:1,series:{type:void 0===s.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",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:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"#e6e6e6",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"#000000",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:null},tickLength:0,tickWidth:0}}}),i(e,"Stock/Navigator/NavigatorSymbols.js",[e["Core/Renderer/SVG/Symbols.js"],e["Core/Utilities.js"]],function(t,e){let{relativeLength:i}=e;return{"navigator-handle":function(e,s,o,r,n={}){let a=n.width?n.width/2:o,l=i(n.borderRadius||0,Math.min(2*a,r));return[["M",-1.5,(r=n.height||r)/2-3.5],["L",-1.5,r/2+4.5],["M",.5,r/2-3.5],["L",.5,r/2+4.5],...t.rect(-a-1,.5,2*a+1,r,{r:l})]}}}),i(e,"Stock/Utilities/StockUtilities.js",[e["Core/Utilities.js"]],function(t){let{defined:e}=t;return{setFixedRange:function(t){let i=this.xAxis[0];e(i.dataMax)&&e(i.dataMin)&&t?this.fixedRange=Math.min(t,i.dataMax-i.dataMin):this.fixedRange=t}}}),i(e,"Stock/Navigator/NavigatorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/Navigator/NavigatorSymbols.js"],e["Core/Renderer/RendererRegistry.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],function(t,e,
5i,s,o,r,n,a){let{setOptions:l}=t,{composed:h}=e,{getRendererType:d}=r,{setFixedRange:c}=n,{addEvent:p,extend:u,pushUnique:g}=a;function f(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}return{compose:function(t,e,r){i.compose(e),g(h,"Navigator")&&(t.prototype.setFixedRange=c,u(d().prototype.symbols,o),p(r,"afterUpdate",f),l({navigator:s}))}}}),i(e,"Core/Axis/ScrollbarAxis.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){var i;let{composed:s}=t,{addEvent:o,defined:r,pick:n,pushUnique:a}=e;return function(t){let e;function i(t){let e=n(t.options&&t.options.min,t.min),i=n(t.options&&t.options.max,t.max);return{axisMin:e,axisMax:i,scrollMin:r(t.dataMin)?Math.min(e,t.min,t.dataMin,n(t.threshold,1/0)):e,scrollMax:r(t.dataMax)?Math.max(i,t.max,t.dataMax,n(t.threshold,-1/0)):i}}function l(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function h(){let 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 e(t.chart.renderer,t.options.scrollbar,t.chart),o(t.scrollbar,"changed",function(e){let s,o,{axisMin:n,axisMax:a,scrollMin:l,scrollMax:h}=i(t),d=h-l;if(r(n)&&r(a))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=l+d*this.to,o=l+d*this.from):(s=l+d*(1-this.from),o=l+d*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(o,s,!0,i,e)}else this.setRange(this.from,this.to)}))}function d(){let t,e,s,{scrollMin:o,scrollMax:n}=i(this),a=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(a&&h){if(this.horiz)this.opposite||(h[1]+=l),a.position(this.left,this.top+this.height+2+h[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(h[1]+=d),t=1;else{let e;this.opposite&&(h[0]+=l),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:d):this.opposite?0:d,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=d),t=0}if(h[t]+=a.size+(a.options.margin||0),isNaN(o)||isNaN(n)||!r(this.min)||!r(this.max)||this.dataMin===this.dataMax)a.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),a.setRange(e,s)}else e=(this.min-o)/(n-o),s=(this.max-o)/(n-o),this.horiz&&!this.reversed||!this.horiz&&this.reversed?a.setRange(e,s):a.setRange(1-s,1-e)}}t.compose=function(t,i){a(s,"Axis.Scrollbar")&&(e=i,o(t,"afterGetOffset",l),o(t,"afterInit",h),o(t,"afterRender",d))}}(i||(i={})),i}),i(e,"Stock/Scrollbar/ScrollbarDefaults.js",[],function(){return{height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"#cccccc",barBorderWidth:0,barBorderColor:"#cccccc",buttonArrowColor:"#333333",buttonBackgroundColor:"#e6e6e6",buttonBorderColor:"#cccccc",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"#cccccc",trackBorderRadius:5,trackBorderWidth:1}}),i(e,"Stock/Scrollbar/Scrollbar.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/ScrollbarAxis.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{defaultOptions:r}=t,{addEvent:n,correctFloat:a,crisp:l,defined:h,destroyObjectProperties:d,fireEvent:c,merge:p,pick:u,removeEvent:g}=o;class f{static compose(t){i.compose(t,f)}static swapXY(t,e){return e&&t.forEach(t=>{let e,i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,o=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),a=this.mouseUpHandler.bind(this),l=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",o],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",a],[i,"touchstart",o],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",a]];l.forEach(function(t){n.apply(null,t)}),this._events=l}buttonToMaxClick(t){let e=(this.to-this.from)*u(this.options.step,.2);this.updatePosition(this.from+e,this.to+e),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=a(this.to-this.from)*u(this.options.step,.2);this.updatePosition(a(this.from-e),a(this.to-e)),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,d(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,o=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroun
vendor: 5,136 bytes, line 5
5dColor}),n.attr(n.crisp({x:-.5,y:-.5,width:o,height:o,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(f.swapXY([["M",o/2+(t?-1:1),o/2-3],["L",o/2+(t?-1:1),o/2+3],["L",o/2+(t?2:-2),o/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||a.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=p(s,r.scrollbar,e),this.options.margin=u(this.options.margin,10),this.chart=i,this.size=u(this.options.size,this.options.height),e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e,i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",o=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(o[0]+e,o[1]+e),this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:o,margin:r=0,vertical:n}=this.options,a=this.rendered?"animate":"attr",l=s,h=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=l,this.yOffset=h,n?(this.width=this.yOffset=i=h=this.size,this.xOffset=l=0,this.yOffset=h=o?this.size:0,this.barWidth=s-(o?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=l=o?this.size:0,this.barWidth=i-(o?2*s:0),this.y=this.y+r),this.group[a]({translateX:t,translateY:this.y}),this.track[a]({width:i,height:s}),this.scrollbarButtons[1][a]({translateX:n?0:i-l,translateY:n?s-h:0})}removeEvents(){this._events.forEach(function(t){g.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,o=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=o,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(o),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-l(0,r),y:-l(0,r)}),this.scrollbarGroup=t.g().add(o),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(f.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-l(0,this.scrollbarStrokeWidth),-l(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,o=this.options,r=o.vertical,n=o.minWidth,l=this.barWidth,d=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!h(l))return;let c=l*Math.min(e,1);i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=a(c-i),s<n&&(i=(l-n+s)*t,s=n);let p=Math.floor(i+this.xOffset+this.yOffset),u=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[d]({translateY:p}),this.scrollbar[d]({height:s}),this.scrollbarRifles[d]({translateY:u}),this.scrollbarTop=p,this.scrollbarLeft=0):(this.scrollbarGroup[d]({translateX:p}),this.scrollbar[d]({width:s}),this.scrollbarRifles[d]({translateX:u}),this.scrollbarLeft=p,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===o.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return u(this.options.liveRedraw,e.svg&&!e.isTouchDevice&&!this.chart.boosted)||"mouseup"===t||"touchend"===t||!h(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,o=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>o?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),c(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,p(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=a(1-a(e-t)),e=1),t<0&&(e=a(e-t),t=0),this.from=t,this.to=e}}return f.defaultOptions=s,r.scrollbar=p(!0,f.defaultOptions,r.scrollbar),f}),i(e,"Stock/Navigator/Navigator.js",[e["Core/Axis/Axis.js"],e["Stock/Navigator/ChartNavigatorComposition.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Axis/NavigatorAxisComposition.js"],e["Stock/Navigator/NavigatorComposition.js"],e["Stock/Scrollbar/Scrollbar.
5js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n,a,l){let{defaultOptions:h}=i,{isTouchDevice:d}=s,{prototype:{symbols:c}}=a,{addEvent:p,clamp:u,correctFloat:g,defined:f,destroyObjectProperties:m,erase:x,extend:y,find:b,fireEvent:v,isArray:k,isNumber:w,merge:M,pick:S,removeEvent:C,splat:A}=l;function T(t,...e){let i=[].filter.call(e,w);if(i.length)return Math[t].apply(0,i)}class P{static compose(t,i,s){e.compose(t,P),r.compose(t,i,s)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let o=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-o)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-o/2-1)})}drawOutline(t,e,i,s){let o=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),n=r/2,a=r%2/2,l=this.scrollButtonSize,h=this.size,d=this.top,c=this.height,p=d-n,u=d+c,g=this.left,f,m;i?(f=d+e+a,e=d+t+a,m=[["M",g+c,d-l-a],["L",g+c,f],["L",g,f],["M",g,e],["L",g+c,e],["L",g+c,d+h+l]],o&&m.push(["M",g+c,f-n],["L",g+c,e+n])):(g-=l,t+=g+l-a,e+=g+l-a,m=[["M",g,p],["L",t,p],["L",t,u],["M",e,u],["L",e,p],["L",g+h+2*l,p]],o&&m.push(["M",t-n,p],["L",e+n,p])),this.outline[s]({d:m})}drawMasks(t,e,i,s){let o,r,n,a,l=this.left,h=this.top,d=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],r=[d,d,d],o=[t,e-t,this.size-e]):(n=[l,l+t,l+e],a=[h,h,h],r=[t,e-t,this.size-e],o=[d,d,d]),this.shades.forEach((t,e)=>{t[s]({x:n[e],y:a[e],width:r[e],height:o[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,o=s.inverted,r=s.renderer,n={cursor:o?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,o)=>{let l=t.shades[o]??(t.shades[o]=r.rect().addClass("highcharts-navigator-mask"+(1===o?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===o&&l.css(n))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(a)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=e.handles,{height:o,width:l}=i;[0,1].forEach(e=>{let h=i.symbols[e];if(t.handles[e]&&t.handles[e].symbolUrl===h){if(!t.handles[e].isImg&&t.handles[e].symbolName!==h){let i=c[h].call(c,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]?.destroy(),t.handles[e]=r.symbol(h,-l/2-1,0,l,o,i),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(a),t.addMouseEvents();s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-l/2),rotationOriginY:(o+l)/2}),s.styledMode||t.handles[e].attr({fill:i.backgroundColor,stroke:i.borderColor,"stroke-width":i.lineWidth,width:i.width,height:i.height,x:-l/2-1,y:0}).css(n)})}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if(M(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),f(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{C(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push(p(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let o=this.chart,r=this.xAxis,n=r.pointRange||0,a=r.navigatorAxis.fake?o.xAxis[0]:r,l=this.navigatorEnabled,h=this.rendered,d=o.inverted,c=o.xAxis[0].minRange,p=o.xAxis[0].options.maxRange,m=this.scrollButtonSize,x,y,b,k=this.scrollbarHeight,M,C;if(this.hasDragged&&!f(i))return;if(this.isDirty&&this.renderElements(),t=g(t-n/2),e=g(e+n/2),!w(t)||!w(e)){if(!
5h)return;i=0,s=S(r.width,a.width)}this.left=S(r.left,o.plotLeft+m+(d?o.plotWidth:0));let A=this.size=M=S(r.len,(d?o.plotHeight:o.plotWidth)-2*m);x=d?k:M+2*m,i=S(i,r.toPixels(t,!0)),s=S(s,r.toPixels(e,!0)),w(i)&&Math.abs(i)!==1/0||(i=0,s=x);let T=r.toValue(i,!0),P=r.toValue(s,!0),O=Math.abs(g(P-T));O<c?this.grabbedLeft?i=r.toPixels(P-c-n,!0):this.grabbedRight&&(s=r.toPixels(T+c+n,!0)):f(p)&&g(O-n)>p&&(this.grabbedLeft?i=r.toPixels(P-p-n,!0):this.grabbedRight&&(s=r.toPixels(T+p+n,!0))),this.zoomedMax=u(Math.max(i,s),0,A),this.zoomedMin=u(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,A),this.range=this.zoomedMax-this.zoomedMin,A=Math.round(this.zoomedMax);let L=Math.round(this.zoomedMin);l&&(this.navigatorGroup.attr({visibility:"inherit"}),C=h&&!this.hasDragged?"animate":"attr",this.drawMasks(L,A,d,C),this.drawOutline(L,A,d,C),this.navigatorOptions.handles.enabled&&(this.drawHandle(L,0,d,C),this.drawHandle(A,1,d,C))),this.scrollbar&&(d?(b=this.top-m,y=this.left-k+(l||!a.opposite?0:(a.titleOffset||0)+a.axisTitleMargin),k=M+2*m):(b=this.top+(l?this.height:-k),y=this.left-m),this.scrollbar.position(y,b,x,k),this.scrollbar.setRange(this.zoomedMin/(M||1),this.zoomedMax/(M||1))),this.rendered=!0,this.isDirty=!1,v(this,"afterRender")}addMouseEvents(){let t=this,e=t.chart,i=e.container,s=[],o,r;t.mouseMoveHandler=o=function(e){t.onMouseMove(e)},t.mouseUpHandler=r=function(e){t.onMouseUp(e)},(s=t.getPartsEvents("mousedown")).push(p(e.renderTo,"mousemove",o),p(i.ownerDocument,"mouseup",r),p(e.renderTo,"touchmove",o),p(i.ownerDocument,"touchend",r)),s.concat(t.getPartsEvents("touchstart")),t.eventsToUnbind=s,t.series&&t.series[0]&&s.push(p(t.series[0].xAxis,"foundExtremes",function(){e.navigator.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(function(s){e[s].forEach(function(o,r){i.push(p(o.element,t,function(t){e[s+"Mousedown"](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,o=this.zoomedMin,r=this.size,n=this.range,a=this.left,l=t.chartX,h,d,c,p;i.inverted&&(l=t.chartY,a=this.top),1===e?(this.grabbedCenter=l,this.fixedWidth=n,this.dragOffset=l-o):(p=l-a-n/2,0===e?p=Math.max(0,p):2===e&&p+n>=r&&(p=r-n,this.reversedExtremes?(p-=n,d=this.getUnionExtremes().dataMin):h=this.getUnionExtremes().dataMax),p!==o&&(this.fixedWidth=n,f((c=s.navigatorAxis.toFixedRange(p,p+n,d,h)).min)&&v(this,"setRange",{min:Math.min(c.min,c.max),max:Math.max(c.min,c.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],o=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=o?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=o?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,o=e.range,r=e.dragOffset,n=i.inverted,a=e.left,l;(!t.touches||0!==t.touches[0].pageX)&&(l=(t=i.pointer?.normalize(t)||t).chartX,n&&(a=e.top,l=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,l-a,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,l-a)):e.grabbedCenter&&(e.hasDragged=!0,l<r?l=r:l>s+r-o&&(l=s+r-o),e.render(0,0,l-r,l-r+o)),e.hasDragged&&e.scrollbar&&S(e.scrollbar.options.liveRedraw,!d&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,o,r,n,a=this.chart,l=this.xAxis,h=this.scrollbar,d=t.DOMEvent||t,c=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?o=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(o=this.reversedExtremes?s.dataMax:s.dataMin),f((n=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,o,r)).min)&&v(this,"setRange",{min:Math.min(n.min,n.max),max:Math.max(n.min,n.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:d}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&w(this.zoomedMin)&&w(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,c,p),this.outline&&this.drawOutline(i,e,c,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,c,p),this.drawHandle(e,1,c,p)))}
vendor: 4,421 bytes, line 5
5removeEvents(){this.eventsToUnbind&&(this.eventsToUnbind.forEach(function(t){t()}),this.eventsToUnbind=void 0),this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){C(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&C(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(e){let i=e.options,s=i.navigator||{},r=s.enabled,a=i.scrollbar||{},l=a.enabled,h=r&&s.height||0,d=l&&a.height||0,c=a.buttonsEnabled&&d||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=h,this.scrollbarHeight=d,this.scrollButtonSize=c,this.scrollbarEnabled=l,this.navigatorEnabled=r,this.navigatorOptions=s,this.scrollbarOptions=a,this.setOpposite();let u=this,g=u.baseSeries,f=e.xAxis.length,m=e.yAxis.length,x=g&&g[0]&&g[0].xAxis||e.xAxis[0]||{options:{}};if(e.isDirtyBox=!0,u.navigatorEnabled){let i=this.getXAxisOffsets();u.xAxis=new t(e,M({breaks:x.options.breaks,ordinal:x.options.ordinal,overscroll:x.options.overscroll},s.xAxis,{type:"datetime",yAxis:s.yAxis?.id,index:f,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:x.options.ordinal?0:x.options.minPadding,maxPadding:x.options.ordinal?0:x.options.maxPadding,zoomEnabled:!1},e.inverted?{offsets:i,width:h}:{offsets:i,height:h}),"xAxis"),u.yAxis=new t(e,M(s.yAxis,{alignTicks:!1,offset:0,index:m,isInternal:!0,reversed:S(s.yAxis&&s.yAxis.reversed,e.yAxis[0]&&e.yAxis[0].reversed,!1),zoomEnabled:!1},e.inverted?{width:h}:{height:h}),"yAxis"),g||s.series.data?u.updateNavigatorSeries(!1):0===e.series.length&&(u.unbindRedraw=p(e,"beforeRedraw",function(){e.series.length>0&&!u.series&&(u.setBaseSeries(),u.unbindRedraw())})),u.reversedExtremes=e.inverted&&!u.xAxis.reversed||!e.inverted&&u.xAxis.reversed,u.renderElements(),u.addMouseEvents()}else u.xAxis={chart:e,navigatorAxis:{fake:!0},translate:function(t,i){let s=e.xAxis[0],o=s.getExtremes(),r=s.len-2*c,n=T("min",s.options.min,o.dataMin),a=T("max",s.options.max,o.dataMax)-n;return i?t*a/r+n:r*(t-n)/a},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},u.xAxis.navigatorAxis.axis=u.xAxis,u.xAxis.navigatorAxis.toFixedRange=o.prototype.toFixedRange.bind(u.xAxis.navigatorAxis);if(e.options.scrollbar.enabled){let t=M(e.options.scrollbar,{vertical:e.inverted});!w(t.margin)&&u.navigatorEnabled&&(t.margin=e.inverted?-3:3),e.scrollbar=u.scrollbar=new n(e.renderer,t,e),p(u.scrollbar,"changed",function(t){let e=u.size,i=e*this.to,s=e*this.from;u.hasDragged=u.scrollbar.hasDragged,u.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){u.onMouseUp(t)})})}u.addBaseSeriesEvents(),u.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=S(t.opposite,!!(!e&&i.inverted))}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.xAxis,o=s.options,r=i.options;return t&&null===i.dataMin||(e={dataMin:S(o&&o.min,T("min",r.min,i.dataMin,s.dataMin,s.min)),dataMax:S(o&&o.max,T("max",r.max,i.dataMax,s.dataMax,s.max))}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options&&i.options.navigator.baseSeries||(i.series.length?b(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,o=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},n=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(0>o.indexOf(e))||(e&&(C(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),a,l,d=i.navigatorOptions.series,c;o&&o.length&&o.forEach(t=>{let p=t.navigatorSeries,u=y({color:t.color,visible:t.visible},k(d)?h.navigator.series:d);if(p&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+o.length,c=(a=t.options||{}).navigatorOptions||{}
5,u.dataLabels=A(u.dataLabels),(l=M(a,r,u,c)).pointRange=S(u.pointRange,c.pointRange,h.plotOptions[l.type||"line"].pointRange);let g=c.data||u.data;i.hasNavigatorData=i.hasNavigatorData||!!g,l.data=g||a.data&&a.data.slice(0),p&&p.options?p.update(l,e):(t.navigatorSeries=s.initSeries(l),s.setSortedData(),t.navigatorSeries.baseSeries=t,n.push(t.navigatorSeries))}),(d.data&&!(o&&o.length)||k(d))&&(i.hasNavigatorData=!1,(d=A(d)).forEach((t,e)=>{r.name="Navigator "+(n.length+1),(l=M(h.navigator.series,{color:s.series[e]&&!s.series[e].options.isInternal&&s.series[e].color||s.options.colors[e]||s.options.colors[0]},r,t)).data=t.data,l.data&&(i.hasNavigatorData=!0,n.push(s.initSeries(l)))})),t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push(p(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push(p(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push(p(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push(p(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push(p(i,"remove",function(){e&&x(e,i),this.navigatorSeries&&(x(t.series,this.navigatorSeries),f(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.xData&&e.xData.length?e.xData[0]:t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),o=s.min,r=s.max,n=s.dataMin,a=s.dataMax,l=r-o,h=i.stickToMin,d=i.stickToMax,c=S(this.ordinal?.convertOverscroll(this.options.overscroll),0),p=i.series&&i.series[0],u=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(h&&(t=(e=n)+l),d&&(t=a+c,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||d)&&w(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=S(this.chart.options.navigator&&this.chart.options.navigator.stickToMax,i),t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.xData[0],e.setData(this.options.data,!1,null,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.xData[0]),s=t.xAxis,o=s.max,r=s.min,n=s.options.range;return!!(w(o)&&w(r))&&(n&&o-i>0?o-i<n:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push(p(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),p(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.height+t.scrollbarHeight:0)+t.navigatorOptions.margin}),p(P,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&(x(this.chart.xAxis,this.xAxis),x(this.chart.axes,this.xAxis)),this.yAxis&&(x(this.chart.yAxis,this.yAxis),x(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{m(t)}),this.navigatorEnabled=!1}}return P}),i(e,"Core/Axis/OrdinalAxis.js",[e["Core/Axis/Axis.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 4,210 bytes, line 5
5i,s){var o;let{addEvent:r,correctFloat:n,css:a,defined:l,error:h,isNumber:d,pick:c,timeUnits:p,isString:u}=s;return function(t){function s(t,e,i,o,r=[],n=0,a){let d={},c=this.options.tickPixelInterval,u=this.chart.time,g=[],f,m,x,y,b,v=0,k=[],w=-Number.MAX_VALUE;if(!this.options.ordinal&&!this.options.breaks||!r||r.length<3||void 0===e)return u.getTimeTicks.apply(u,arguments);let M=r.length;for(f=0;f<M;f++){if(b=f&&r[f-1]>i,r[f]<e&&(v=f),f===M-1||r[f+1]-r[f]>5*n||b){if(r[f]>w){for(m=u.getTimeTicks(t,r[v],r[f],o);m.length&&m[0]<=w;)m.shift();m.length&&(w=m[m.length-1]),g.push(k.length),k=k.concat(m)}v=f+1}if(b)break}if(m){if(y=m.info,a&&y.unitRange<=p.hour){for(v=1,f=k.length-1;v<f;v++)u.dateFormat("%d",k[v])!==u.dateFormat("%d",k[v-1])&&(d[k[v]]="day",x=!0);x&&(d[k[0]]="day"),y.higherRanks=d}y.segmentStarts=g,k.info=y}else h(12,!1,this.chart);if(a&&l(c)){let t=k.length,e=[],s=[],o,r,n,a,l,h=t;for(;h--;)r=this.translate(k[h]),n&&(s[h]=n-r),e[h]=n=r;for(s.sort((t,e)=>t-e),(a=s[Math.floor(s.length/2)])<.6*c&&(a=null),h=k[t-1]>i?t-1:t,n=void 0;h--;)l=Math.abs(n-(r=e[h])),n&&l<.8*c&&(null===a||l<.8*a)?(d[k[h]]&&!d[k[h+1]]?(o=h+1,n=r):o=h,k.splice(o,1)):n=r}return k}function o(t){let e=this.ordinal.positions;if(!e)return t;let i=e.length-1,s;return(t<0?t=e[0]:t>i?t=e[i]:(i=Math.floor(t),s=t-i),void 0!==s&&void 0!==e[i])?e[i]+(s?s*(e[i+1]-e[i]):0):t}function g(t){let e=this.ordinal,i=this.old?this.old.min:this.min,s=this.old?this.old.transA:this.transA,o=e.getExtendedPositions();if(o&&o.length){let r=n((t-i)*s+this.minPixelPadding),a=n(e.getIndexOfPoint(r,o)),l=n(a%1);if(a>=0&&a<=o.length-1){let t=o[Math.floor(a)],e=o[Math.ceil(a)];return o[Math.floor(a)]+l*(e-t)}}return t}function f(e,i){let s=t.Additions.findIndexOf(e,i,!0);if(e[s]===i)return s;let o=(i-e[s])/(e[s+1]-e[s]);return s+o}function m(){this.ordinal||(this.ordinal=new t.Additions(this))}function x(){let{eventArgs:t,options:e}=this;if(this.isXAxis&&l(e.overscroll)&&0!==e.overscroll&&d(this.max)&&d(this.min)&&(this.options.ordinal&&!this.ordinal.originalOrdinalRange&&this.ordinal.getExtendedPositions(!1),this.max===this.dataMax&&(t?.trigger!=="pan"||this.isInternal)&&t?.trigger!=="navigator")){let i=this.ordinal.convertOverscroll(e.overscroll);this.max+=i,!this.isInternal&&l(this.userMin)&&t?.trigger!=="mousewheel"&&(this.min+=i)}}function y(){this.horiz&&!this.isDirty&&(this.isDirty=this.isOrdinal&&this.chart.navigator&&!this.chart.navigator.adaptToUpdatedData)}function b(){this.ordinal&&(this.ordinal.beforeSetTickPositions(),this.tickInterval=this.ordinal.postProcessTickInterval(this.tickInterval))}function v(t){let e=this.xAxis[0],i=e.ordinal.convertOverscroll(e.options.overscroll),s=t.originalEvent.chartX,o=this.options.chart.panning,r=!1;if(o&&"y"!==o.type&&e.options.ordinal&&e.series.length&&(!t.touches||t.touches.length<=1)){let t,o,n=this.mouseDownX,l=e.getExtremes(),h=l.dataMin,d=l.dataMax,c=l.min,p=l.max,u=this.hoverPoints,g=e.closestPointRange||e.ordinal&&e.ordinal.overscrollPointsRange,f=Math.round((n-s)/(e.translationSlope*(e.ordinal.slope||g))),m=e.ordinal.getExtendedPositions(),x={ordinal:{positions:m,extendedOrdinalPositions:m}},y=e.index2val,b=e.val2lin;if(c<=h&&f<0||p+i>=d&&f>0)return;x.ordinal.positions?Math.abs(f)>1&&(u&&u.forEach(function(t){t.setState()}),d>(o=x.ordinal.positions)[o.length-1]&&o.push(d),this.setFixedRange(p-c),(t=e.navigatorAxis.toFixedRange(void 0,void 0,y.apply(x,[b.apply(x,[c,!0])+f]),y.apply(x,[b.apply(x,[p,!0])+f]))).min>=Math.min(l.dataMin,c)&&t.max<=Math.max(d,p)+i&&e.setExtremes(t.min,t.max,!0,!1,{trigger:"pan"}),this.mouseDownX=s,a(this.container,{cursor:"move"})):r=!0}else r=!0;r||o&&/y/.test(o.type)?i&&(e.max=e.dataMax+i):t.preventDefault()}function k(){let t=this.xAxis;t&&t.options.ordinal&&(delete t.ordinal.index,delete t.ordinal.originalOrdinalRange)}function w(t,e){let i,s=this.ordinal,o=s.positions,r=s.slope,n;if(!o)return t;let a=o.length;if(o[0]<=t&&o[a-1]>=t)i=f(o,t);else{if(!((n=s.getExtendedPositions&&s.getExtendedPositions())&&n.length))return t;let a=n.length;r||(r=(n[a-1]-n[0])/a);let l=f(n,o[0]);if(t>=n[0]&&t<=n[a-1])i=f(n,t)-l;else{if(!e)return t;i=t<n[0]?-l-(n[0]-t)/r:(t-n[a-1])/r+a-l}}return e?i:r*(i||0)+s.offset}
5t.compose=function(t,e,i){let n=t.prototype;return n.ordinal2lin||(n.getTimeTicks=s,n.index2val=o,n.lin2val=g,n.val2lin=w,n.ordinal2lin=n.val2lin,r(t,"afterInit",m),r(t,"foundExtremes",x),r(t,"afterSetScale",y),r(t,"initialAxisTranslation",b),r(i,"pan",v),r(i,"touchpan",v),r(e,"updatedData",k)),t};class M{constructor(t){this.index={},this.axis=t}beforeSetTickPositions(){let t=this.axis,e=t.ordinal,i=t.getExtremes(),s=i.min,o=i.max,r=t.brokenAxis?.hasBreaks,n=t.options.ordinal,a,l,h,d,p,u,g,f=[],m=Number.MAX_VALUE,x=!1,y=!1,b=!1;if(n||r){let i=0;if(t.series.forEach(function(t,e){if(l=[],e>0&&"highcharts-navigator-series"!==t.options.id&&t.processedXData.length>1&&(y=i!==t.processedXData[1]-t.processedXData[0]),i=t.processedXData[1]-t.processedXData[0],t.boosted&&(b=t.boosted),t.reserveSpace()&&(!1!==t.takeOrdinalPosition||r)&&(a=(f=f.concat(t.processedXData)).length,f.sort(function(t,e){return t-e}),m=Math.min(m,c(t.closestPointRange,m)),a)){for(e=0;e<a-1;)f[e]!==f[e+1]&&l.push(f[e+1]),e++;l[0]!==f[0]&&l.unshift(f[0]),f=l}}),t.ordinal.originalOrdinalRange||(t.ordinal.originalOrdinalRange=(f.length-1)*m),y&&b&&(f.pop(),f.shift()),(a=f.length)>2){for(h=f[1]-f[0],g=a-1;g--&&!x;)f[g+1]-f[g]!==h&&(x=!0);!t.options.keepOrdinalPadding&&(f[0]-s>h||o-f[f.length-1]>h)&&(x=!0)}else t.options.overscroll&&(2===a?m=f[1]-f[0]:1===a?(m=t.ordinal.convertOverscroll(t.options.overscroll),f=[f[0],f[0]+m]):m=e.overscrollPointsRange);x||t.forceOrdinal?(t.options.overscroll&&(e.overscrollPointsRange=m,f=f.concat(e.getOverscrollPositions())),e.positions=f,d=t.ordinal2lin(Math.max(s,f[0]),!0),p=Math.max(t.ordinal2lin(Math.min(o,f[f.length-1]),!0),1),e.slope=u=(o-s)/(p-d),e.offset=s-d*u):(e.overscrollPointsRange=c(t.closestPointRange,e.overscrollPointsRange),e.positions=t.ordinal.slope=e.offset=void 0)}t.isOrdinal=n&&x,e.groupIntervalFactor=null}static findIndexOf(t,e,i){let s=0,o=t.length-1,r;for(;s<o;)t[r=Math.ceil((s+o)/2)]<=e?s=r:o=r-1;return t[s]===e||i?s:-1}getExtendedPositions(t=!0){let s=this,o=s.axis,r=o.constructor.prototype,n=o.chart,a=o.series[0]?.currentDataGrouping,l=a?a.count+a.unitName:"raw",h=t?o.ordinal.convertOverscroll(o.options.overscroll):0,d=o.getExtremes(),c,p,u=s.index;return u||(u=s.index={}),u[l]||((c={series:[],chart:n,forceOrdinal:!1,getExtremes:function(){return{min:d.dataMin,max:d.dataMax+h}},applyGrouping:r.applyGrouping,getGroupPixelWidth:r.getGroupPixelWidth,getTimeTicks:r.getTimeTicks,options:{ordinal:!0},ordinal:{getGroupIntervalFactor:this.getGroupIntervalFactor},ordinal2lin:r.ordinal2lin,getIndexOfPoint:r.getIndexOfPoint,val2lin:r.val2lin}).ordinal.axis=c,o.series.forEach(function(o){p={xAxis:c,xData:o.xData.slice(),chart:n,groupPixelWidth:o.groupPixelWidth,destroyGroupedData:e.noop,getProcessedData:i.prototype.getProcessedData,applyGrouping:i.prototype.applyGrouping,reserveSpace:i.prototype.reserveSpace,visible:o.visible},t&&(p.xData=p.xData.concat(s.getOverscrollPositions())),p.options={dataGrouping:a?{firstAnchor:o.options.dataGrouping?.firstAnchor,anchor:o.options.dataGrouping?.anchor,lastAnchor:o.options.dataGrouping?.firstAnchor,enabled:!0,forced:!0,approximation:"open",units:[[a.unitName,[a.count]]]}:{enabled:!1}},c.series.push(p),o.processData.apply(p)}),c.applyGrouping({hasExtremesChanged:!0}),p?.closestPointRange!==p?.basePointRange&&p.currentDataGrouping&&(c.forceOrdinal=!0),o.ordinal.beforeSetTickPositions.apply({axis:c}),!o.ordinal.originalOrdinalRange&&c.ordinal.originalOrdinalRange&&(o.ordinal.originalOrdinalRange=c.ordinal.originalOrdinalRange),u[l]=c.ordinal.positions),u[l]}getGroupIntervalFactor(t,e,i){let s=i.processedXData,o=s.length,r=[],n,a,l=this.groupIntervalFactor;if(!l){for(a=0;a<o-1;a++)r[a]=s[a+1]-s[a];r.sort(function(t,e){return t-e}),n=r[Math.floor(o/2)],t=Math.max(t,s[0]),e=Math.min(e,s[o-1]),this.groupIntervalFactor=l=o*n/(e-t)}return l}getIndexOfPoint(t,e){let i,s=this.axis,o=0,r=function(t){let{min:e,max:i}=s;return!!(l(e)&&l(i))&&t.points.some(t=>t.x>=e&&t.x<=i)};s.series.forEach(t=>{let e=t.points?.[0];l(e?.plotX)&&(e.plotX<i||!l(i))&&r(t)&&(i=e.plotX,o=e.x)}),i??(i=s.minPixelPadding);let a=s.translationSlope*(this.slope||s.closestPointRange||this.overscrollPointsRange),h=n((t-i)/a);return M.findIndexOf(e,o,!0)+h}getOverscrollPositions(){let t=this.axis,e=this.convertOverscroll(t.options.overscroll),i=this.overscrollPointsRange,s=[],o=t.dataMax;if(l(i))for(;o<=t.dataMax+e;)s.push(o+=i);return s}postProcessTickInterval(t){let e=this.axis,i=this.slope;return i?e.options.breaks?e.closestPointRange||t:t/(i/e.closestPointRange):t}convertOverscroll(t=0){let e=this,i=e.axis,s=function(t){return c(e.originalOrdinalRange,l(i.dataMax)&&l(i.dataMin)?i.dataMax-i.dataMin:0)*t};if(u(t)){let e=parseInt(t,10);if(/%$/.test(t))return s(e/100);if(/px/.test(t)){let t=Math.min(e,.9*i.len)/i.len;return s(t/(1-t))}return 0}return t}}t.Additions=M}(o||(o={})),o}),i(e,"Stock/RangeSelector/RangeSelectorDefaults.js",[],function(){return{lang:{rangeSelectorZoom:"Zoom",rangeSelectorFrom:"",rangeSelectorTo:"→"},rangeSelector:{allButtonsEnabled:!1,buttons:void 0,buttonSpacing:5,dropdown:"responsive",enabled:void 0,verticalAlign:"top",buttonTheme:{width:28,height:18,padding:2,zIndex:7},floating:!1,x:0,y:0,height:void 0,inputBoxBorderColor:"none",inputBoxHeight:17,inputBoxWidth:void 0,inputDateFormat:"%e %b %Y",inputDateParser:void 0,inputEditDateFormat:"%Y-%m-%d",inputEnabled:!0,inputPosition:{align:"right",x:0,y:0},inputSpacing:5,selected:void 0,buttonPosition:{align:"left",x:0,y:0},inputStyle:{color:"#334eff",cursor:"pointer",fontSize:"0.8em"},labelStyle:{color:"#666666",fontSize:"0.8em"}}}}),i(e,"Stock/RangeSelector/RangeSelectorComposition.js",[e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Core/Utilities.js"]],function(t,e,
5i,s){let o,{defaultOptions:r}=t,{composed:n}=e,{addEvent:a,defined:l,extend:h,isNumber:d,merge:c,pick:p,pushUnique:u}=s,g=[];function f(){let t,e,i=this.range,s=i.type,o=this.max,r=this.chart.time,n=function(t,e){let i="year"===s?"FullYear":"Month",o=new r.Date(t),n=r.get(i,o);return r.set(i,o,n+e),n===r.get(i,o)&&r.set("Date",o,0),o.getTime()-t};d(i)?(t=o-i,e=i):i&&(t=o+n(o,-(i.count||1)),this.chart&&this.chart.setFixedRange(o-t));let a=p(this.dataMin,5e-324);return d(t)||(t=a),t<=a&&(t=a,void 0===e&&(e=n(t,i.count)),this.newMax=Math.min(t+e,p(this.dataMax,Number.MAX_VALUE))),d(o)?!d(i)&&i&&i._offsetMin&&(t+=i._offsetMin):t=void 0,t}function m(){this.options.rangeSelector&&this.options.rangeSelector.enabled&&(this.rangeSelector=new o(this))}function x(){let t=this.rangeSelector;if(t){d(t.deferredYTDClick)&&(t.clickButton(t.deferredYTDClick),delete t.deferredYTDClick);let e=t.options.verticalAlign;t.options.floating||("bottom"===e?this.extraBottomMargin=!0:"middle"===e||(this.extraTopMargin=!0))}}function y(){let t,e=this.rangeSelector;if(!e)return;let i=this.xAxis[0].getExtremes(),s=this.legend,o=e&&e.options.verticalAlign;d(i.min)&&e.render(i.min,i.max),s.display&&"top"===o&&o===s.options.verticalAlign&&(t=c(this.spacingBox),"vertical"===s.options.layout?t.y=this.plotTop:t.y+=e.getHeight(),s.group.placed=!1,s.align(t))}function b(){for(let t=0,e=g.length;t<e;++t){let e=g[t];
5if(e[0]===this){e[1].forEach(t=>t()),g.splice(t,1);return}}}function v(){let t=this.rangeSelector;if(t){let e=t.getHeight();this.extraTopMargin&&(this.plotTop+=e),this.extraBottomMargin&&(this.marginBottom+=e)}}function k(t){let e=t.options.rangeSelector,i=this.extraBottomMargin,s=this.extraTopMargin,r=this.rangeSelector;if(e&&e.enabled&&!l(r)&&this.options.rangeSelector&&(this.options.rangeSelector.enabled=!0,this.rangeSelector=r=new o(this)),this.extraBottomMargin=!1,this.extraTopMargin=!1,r){let t=e&&e.verticalAlign||r.options&&r.options.verticalAlign;r.options.floating||("bottom"===t?this.extraBottomMargin=!0:"middle"===t||(this.extraTopMargin=!0)),(this.extraBottomMargin!==i||this.extraTopMargin!==s)&&(this.isDirtyBox=!0)}}return{compose:function(t,e,s){if(o=s,u(n,"RangeSelector")){let s=e.prototype;t.prototype.minFromRange=f,a(e,"afterGetContainer",m),a(e,"beforeRender",x),a(e,"destroy",b),a(e,"getMargins",v),a(e,"redraw",y),a(e,"update",k),s.callbacks.push(y),h(r,{rangeSelector:i.rangeSelector}),h(r.lang,i.lang)}}}}),i(e,"Stock/RangeSelector/RangeSelector.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Stock/RangeSelector/RangeSelectorComposition.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"],e["Core/Axis/OrdinalAxis.js"]],function(e,i,s,o,r,n,a){let{defaultOptions:l}=i,{addEvent:h,createElement:d,css:c,defined:p,destroyObjectProperties:u,discardElement:g,extend:f,fireEvent:m,isNumber:x,merge:y,objectEach:b,pad:v,pick:k,pInt:w,splat:M}=n;class S{static compose(t,e){o.compose(t,e,S)}constructor(t){this.buttonOptions=S.prototype.defaultButtons,this.initialButtonGroupWidth=0,this.init(t)}clickButton(t,i){let s=this.chart,o=this.buttonOptions[t],r=s.xAxis[0],n=s.scroller&&s.scroller.getUnionExtremes()||r||{},a=o.type,l=o.dataGrouping,d=n.dataMin,c=n.dataMax,u,g=r&&Math.round(Math.min(r.max,k(c,r.max))),f,y=o._range,b,v,w,S=!0;if(null!==d&&null!==c){if(this.setSelected(t),l&&(this.forcedDataGrouping=!0,e.prototype.setDataGrouping.call(r||{chart:this.chart},l,!1),this.frozenStates=o.preserveDataGrouping),"month"===a||"year"===a)r?(v={range:o,max:g,chart:s,dataMin:d,dataMax:c},u=r.minFromRange.call(v),x(v.newMax)&&(g=v.newMax),S=!1):y=o;else if(y)g=Math.min((u=Math.max(g-y,d))+y,c),S=!1;else if("ytd"===a)if(r)(void 0===c||void 0===d)&&(d=Number.MAX_VALUE,c=5e-324,s.series.forEach(t=>{let e=t.xData;e&&(d=Math.min(e[0],d),c=Math.max(e[e.length-1],c))}),i=!1),u=b=(w=this.getYTDExtremes(c,d,s.time.useUTC)).min,g=w.max;else{this.deferredYTDClick=t;return}else"all"===a&&r&&(s.navigator&&s.navigator.baseSeries[0]&&(s.navigator.baseSeries[0].xAxis.options.range=void 0),u=d,g=c);if(S&&o._offsetMin&&p(u)&&(u+=o._offsetMin),o._offsetMax&&p(g)&&(g+=o._offsetMax),this.dropdown&&(this.dropdown.selectedIndex=t+1),r)r.setExtremes(u,g,k(i,!0),void 0,{trigger:"rangeSelectorButton",rangeSelectorButton:o}),s.setFixedRange(o._range);else{f=M(s.options.xAxis)[0];let t=h(s,"afterGetAxes",function(){let t=s.xAxis[0];t.range=t.options.range=y,t.min=t.options.min=b});h(s,"load",function(){let e=s.xAxis[0];s.setFixedRange(o._range),e.options.range=f.range,e.options.min=f.min,t()})}m(this,"afterBtnClick")}}setSelected(t){this.selected=this.options.selected=t}init(t){let e=this,i=t.options.rangeSelector,s=i.buttons||e.defaultButtons.slice(),o=i.selected,r=function(){let t=e.minInput,i=e.maxInput;t&&t.blur&&m(t,"blur"),i&&i.blur&&m(i,"blur")};e.chart=t,e.options=i,e.buttons=[],e.buttonOptions=s,this.eventsToUnbind=[],this.eventsToUnbind.push(h(t.container,"mousedown",r)),this.eventsToUnbind.push(h(t,"resize",r)),s.forEac
5h(e.computeButtonRange),void 0!==o&&s[o]&&this.clickButton(o,!1),this.eventsToUnbind.push(h(t,"load",function(){t.xAxis&&t.xAxis[0]&&h(t.xAxis[0],"setExtremes",function(i){x(this.max)&&x(this.min)&&this.max-this.min!==t.fixedRange&&"rangeSelectorButton"!==i.trigger&&"updatedData"!==i.trigger&&e.forcedDataGrouping&&!e.frozenStates&&this.setDataGrouping(!1,!1)})})),this.createElements()}updateButtonStates(){let t=this,e=this.chart,i=this.dropdown,s=this.dropdownLabel,o=e.xAxis[0],r=Math.round(o.max-o.min),n=!o.hasVisibleSeries,h=24*36e5,d=e.scroller&&e.scroller.getUnionExtremes()||o,p=d.dataMin,u=d.dataMax,g=t.getYTDExtremes(u,p,e.time.useUTC),f=g.min,m=g.max,y=t.selected,b=t.options.allButtonsEnabled,v=Array(t.buttonOptions.length).fill(0),k=x(y),w=t.buttons,M=!1,S=null;t.buttonOptions.forEach((e,i)=>{let s=e._range,l=e.type,d=e.count||1,c=e._offsetMax-e._offsetMin,g=i===y,x=s>u-p,w=s<o.minRange,C=!1,A=s===r;if(g&&x&&(M=!0),o.isOrdinal&&o.ordinal?.positions&&s&&r<s){let t=o.ordinal.positions,e=a.Additions.findIndexOf(t,o.min,!0),i=Math.min(a.Additions.findIndexOf(t,o.max,!0)+1,t.length-1);t[i]-t[e]>s&&(A=!0)}else("month"===l||"year"===l)&&r+36e5>=({month:28,year:365})[l]*h*d-c&&r-36e5<=({month:31,year:366})[l]*h*d+c?A=!0:"ytd"===l?(A=m-f+c===r,C=!g):"all"===l&&(A=o.max-o.min>=u-p);let T=!b&&!(M&&"all"===l)&&(x||w||n),P=M&&"all"===l||!C&&A||g&&t.frozenStates;T?v[i]=3:P&&(!k||i===y)&&(S=i)}),null!==S?(v[S]=2,t.setSelected(S)):(t.setSelected(),s&&(s.setState(0),s.attr({text:(l.lang.rangeSelectorZoom||"")+" ▾"})));for(let e=0;e<v.length;e++){let o=v[e],r=w[e];if(r.state!==o&&(r.setState(o),i)){i.options[e+1].disabled=3===o,2===o&&(s&&(s.setState(2),s.attr({text:t.buttonOptions[e].text+" ▾"})),i.selectedIndex=e+1);let r=s.getBBox();c(i,{width:`${r.width}px`,height:`${r.height}px`})}}}computeButtonRange(t){let e=t.type,i=t.count||1,s={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5};s[e]?t._range=s[e]*i:("month"===e||"year"===e)&&(t._range=24*({month:30,year:365})[e]*36e5*i),t._offsetMin=k(t.offsetMin,0),t._offsetMax=k(t.offsetMax,0),t._range+=t._offsetMax-t._offsetMin}getInputValue(t){let e="min"===t?this.minInput:this.maxInput,i=this.chart.options.rangeSelector,s=this.chart.time;return e?("text"===e.type&&i.inputDateParser||this.defaultInputDateParser)(e.value,s.useUTC,s):0}setInputValue(t,e){let i=this.options,s=this.chart.time,o="min"===t?this.minInput:this.maxInput,r="min"===t?this.minDateBox:this.maxDateBox;if(o){let t=o.getAttribute("data-hc-time"),n=p(t)?Number(t):void 0;if(p(e)){let t=n;p(t)&&o.setAttribute("data-hc-time-previous",t),o.setAttribute("data-hc-time",e),n=e}o.value=s.dateFormat(this.inputTypeFormats[o.type]||i.inputEditDateFormat,n),r&&r.attr({text:s.dateFormat(i.inputDateFormat,n)})}}setInputExtremes(t,e,i){let s="min"===t?this.minInput:this.maxInput;if(s){let t=this.inputTypeFormats[s.type],o=this.chart.time;if(t){let r=o.dateFormat(t,e);s.min!==r&&(s.min=r);let n=o.dateFormat(t,i);s.max!==n&&(s.max=n)}}}showInput(t){let e="min"===t?this.minDateBox:this.maxDateBox,i="min"===t?this.minInput:this.maxInput;if(i&&e&&this.inputGroup){let t="text"===i.type,{translateX:s=0,translateY:o=0}=this.inputGroup,{x:r=0,width:n=0,height:a=0}=e,{inputBoxWidth:l}=this.options;c(i,{width:t?n+(l?-2:20)+"px":"auto",height:a-2+"px",border:"2px solid silver"}),t&&l?c(i,{left:s+r+"px",top:o+"px"}):c(i,{left:Math.min(Math.round(r+s-(i.offsetWidth-n)/2),this.chart.chartWidth-i.offsetWidth)+"px",top:o-(i.offsetHeight-a)/2+"px"})}}hideInput(t){let e="min"===t?this.minInput:this.maxInput;e&&c(e,{top:"-9999em",border:0,width:"1px",height:"1px"})}defaultInputDateParser(t,e,i){let o=t.split("/").join("-").split(" ").join("T");if(-1===o.indexOf("T")&&(o+="T00:00"),e)o+="Z";else{let t;if(s.isSafari&&!((t=o).length>6&&(t.lastIndexOf("-")===t.length-6||t.lastIndexOf("+")===t.length-6))){let t=new Date(o).getTimezoneOffset()/60;o+=t<=0?`+${v(-t)}:00`:`-${v(t)}:00`}}let r=Date.parse(o);if(!x(r)){let e=t.split("-");r=Date.UTC(w(e[0]),w(e[1])-1,w(e[2]))}return i&&e&&x(r)&&(r+=i.getTimezoneOffset(r)),r}drawInput(t){let{chart:e,div:i,inputGroup:o}=this,r=this,n=e.renderer.style||{},a=e.renderer,h=e.options.rangeSelector,p=l.lang,u="min"===t;
vendor: 6,735 bytes, line 5
5function g(t){let{maxInput:i,minInput:s}=r,o=e.xAxis[0],n=e.scroller?.getUnionExtremes()||o,a=n.dataMin,l=n.dataMax,h=e.xAxis[0].getExtremes()[t],d=r.getInputValue(t);x(d)&&d!==h&&(u&&i&&x(a)?d>Number(i.getAttribute("data-hc-time"))?d=void 0:d<a&&(d=a):s&&x(l)&&(d<Number(s.getAttribute("data-hc-time"))?d=void 0:d>l&&(d=l)),void 0!==d&&o.setExtremes(u?d:o.min,u?o.max:d,void 0,void 0,{trigger:"rangeSelectorInput"}))}let m=p[u?"rangeSelectorFrom":"rangeSelectorTo"]||"",b=a.label(m,0).addClass("highcharts-range-label").attr({padding:2*!!m,height:m?h.inputBoxHeight:0}).add(o),v=a.label("",0).addClass("highcharts-range-input").attr({padding:2,width:h.inputBoxWidth,height:h.inputBoxHeight,"text-align":"center"}).on("click",function(){r.showInput(t),r[t+"Input"].focus()});e.styledMode||v.attr({stroke:h.inputBoxBorderColor,"stroke-width":1}),v.add(o);let k=d("input",{name:t,className:"highcharts-range-selector"},void 0,i);k.setAttribute("type",function(t){if(-1!==t.indexOf("%L"))return"text";let e=["a","A","d","e","w","b","B","m","o","y","Y"].some(e=>-1!==t.indexOf("%"+e)),i=["H","k","I","l","M","S"].some(e=>-1!==t.indexOf("%"+e));return e&&i?"datetime-local":e?"date":i?"time":"text"}(h.inputDateFormat||"%e %b %Y")),e.styledMode||(b.css(y(n,h.labelStyle)),v.css(y({color:"#333333"},n,h.inputStyle)),c(k,f({position:"absolute",border:0,boxShadow:"0 0 15px rgba(0,0,0,0.3)",width:"1px",height:"1px",padding:0,textAlign:"center",fontSize:n.fontSize,fontFamily:n.fontFamily,top:"-9999em"},h.inputStyle))),k.onfocus=()=>{r.showInput(t)},k.onblur=()=>{k===s.doc.activeElement&&g(t),r.hideInput(t),r.setInputValue(t),k.blur()};let w=!1;return k.onchange=()=>{w||(g(t),r.hideInput(t),k.blur())},k.onkeypress=e=>{13===e.keyCode&&g(t)},k.onkeydown=e=>{w=!0,("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key)&&g(t)},k.onkeyup=()=>{w=!1},{dateBox:v,input:k,label:b}}getPosition(){let t=this.chart,e=t.options.rangeSelector,i="top"===e.verticalAlign?t.plotTop-t.axisOffset[0]:0;return{buttonTop:i+e.buttonPosition.y,inputTop:i+e.inputPosition.y-10}}getYTDExtremes(t,e,i){let s=this.chart.time,o=new s.Date(t),r=s.get("FullYear",o),n=Math.max(e,i?s.Date.UTC(r,0,1):+new s.Date(r,0,1)),a=o.getTime();return{max:Math.min(t||a,a),min:n}}createElements(){let t=this.chart,e=t.renderer,i=t.container,s=t.options,o=s.rangeSelector,r=o.inputEnabled,n=k(s.chart.style?.zIndex,0)+1;if(!1!==o.enabled&&(this.group=e.g("range-selector-group").attr({zIndex:7}).add(),this.div=d("div",void 0,{position:"relative",height:0,zIndex:n}),this.buttonOptions.length&&this.renderButtons(),i.parentNode&&i.parentNode.insertBefore(this.div,i),r)){this.inputGroup=e.g("input-group").add(this.group);let t=this.drawInput("min");this.minDateBox=t.dateBox,this.minLabel=t.label,this.minInput=t.input;let i=this.drawInput("max");this.maxDateBox=i.dateBox,this.maxLabel=i.label,this.maxInput=i.input}}render(t,e){let i=this.chart,s=i.options.rangeSelector,o=s.inputEnabled;if(!1!==s.enabled){if(o){this.setInputValue("min",t),this.setInputValue("max",e);let o=i.scroller&&i.scroller.getUnionExtremes()||i.xAxis[0]||{};if(p(o.dataMin)&&p(o.dataMax)){let t=i.xAxis[0].minRange||0;this.setInputExtremes("min",o.dataMin,Math.min(o.dataMax,this.getInputValue("max"))-t),this.setInputExtremes("max",Math.max(o.dataMin,this.getInputValue("min"))+t,o.dataMax)}if(this.inputGroup){let t=0;[this.minLabel,this.minDateBox,this.maxLabel,this.maxDateBox].forEach(e=>{if(e){let{width:i}=e.getBBox();i&&(e.attr({x:t}),t+=i+s.inputSpacing)}})}}this.alignElements(),this.updateButtonStates()}}renderButtons(){let{buttons:t,chart:e,options:i}=this,o=l.lang,r=e.renderer,n=y(i.buttonTheme),a=n&&n.states,c=n.width||28;delete n.width,delete n.states,this.buttonGroup=r.g("range-selector-buttons").add(this.group);let p=this.dropdown=d("select",void 0,{position:"absolute",padding:0,border:0,cursor:"pointer",opacity:1e-4},this.div),u=e.userOptions.rangeSelector?.buttonTheme;this.dropdownLabel=r.button("",0,0,()=>{},y(n,{"stroke-width":k(n["stroke-width"],0),width:"auto",paddingLeft:k(i.buttonTheme.paddingLeft,u?.padding,8),paddingRight:k(i.buttonTheme.paddingRight,u?.padding,8)}),a&&a.hover,a&&a.select,a&&a.disabled).hide().add(this.group),h(p,"touchstart",()=>{p.style.fontSize="16px"});let g=s.isMS?"mouseover":"mouseenter",f=s.isMS?"mouseout":"mouseleave";h(p,g,()=>{m(this.dropdownLabel.element,g)}),h(p,f,()=>{m(this.dropdownLabel.element,f)}),h(p,"change",()=>{m(this.buttons[p.selectedIndex-1].element,"click")}),this.zoomText=r.label(o.rangeSelectorZoom||"",0).attr({padding:i.buttonTheme.padding,height:i.buttonTheme.height,paddingLeft:0,paddingRight:0}).add(this.buttonGroup),this.chart.styledMode||(this.zoomText.css(i.labelStyle),n["stroke-width"]=k(n["stroke-width"],0)),d("option",{textContent:this.zoomText.textStr,disabled:!0},void 0,p),this.buttonOptions.forEach((e,i)=>{d("option",{textContent:e.title||e.text},void 0,p),t[i]=r.button(e.text,0,0,t=>{let s,o=e.events&&e.events.click;o&&(s=o.call(e,t)),!1!==s&&this.clickButton(i),this.isActive=!0},n,a&&a.hover,a&&a.select,a&&a.disabled).attr({"text-align":"center",width:c}).add(this.buttonGroup),e.title&&t[i].attr("title",e.title)})}alignElements(){let{buttonGroup:t,buttons:e,chart:i,group:s,inputGroup:o,options:r,zoomText:n}=this,a=i.options,l=a.exporting&&!1!==a.exporting.enabled&&a.navigation&&a.navigation.buttonOptions,{buttonPosition:h,inputPosition:d,verticalAlign:c}=r,p=(t,e)=>l&&this.titleCollision(i)&&"top"===c&&"right"===e.align&&e.y-t.getBBox().height-12<(l.y||0)+(l.height||0)+i.spacing[0]?-40:0,u=i.plotLeft;if(s&&h&&d){let a=h.x-i.spacing[3];if(t){if(this.positionButtons(),!this.initialButtonGroupWidth){let t=0;n&&(t+=n.getBBox().width+5),e.forEach((i,s)=>{t+=i.width||0,s!==e.length-1&&(t+=r.buttonSpacing)}),this.initialButtonGroupWidth=t}u-=i.spacing[3];let o=p(t,h);this.alignButtonGroup(o),this.buttonGroup?.translateY&&this.dropdownLabel.attr({y:this.buttonGroup.translateY}),s.placed=t.placed=i.hasLoaded}let l=0;o&&(l=p(o,d),"left"===d.align?a=u:"right"===d.align&&(a=-Math.max(i.axisOffset[1],-l)),o.align({y:d.y,width:o.getBBox().width,align:d.align,x:d.x+a-2},!0,i.spacingBox),o.placed=i.hasLoaded),this.handleCollision(l),s.align({verticalAlign:c},!0,i.spacingBox);let g=s.alignAttr.translateY,f=s.getBBox().height+20,m=0;if("bottom"===c){let t=i.legend&&i.legend.options;m=g-(f=f+(t&&"bottom"===t.verticalAlign&&t.enabled&&!t.floating?i.legend.legendHeight+k(t.margin,10):0)-20)-(r.floating?0:r.y)-(i.titleOffset?i.titleOffset[2]:0)-10}"top"===c?(r.floating&&(m=0),i.titleOffset&&i.titleOffset[0]&&(m=i.titleOffset[0]),m+=i.margin[0]-i.spacing[0]||0):"middle"===c&&(d.y===h.y?m=g:(d.y||h.y)&&(d.y<0||h.y<0?m-=Math.min(d.y,h.y):m=g-f)),s.translate(r.x,r.y+Math.floor(m));
5let{minInput:x,maxInput:y,dropdown:b}=this;r.inputEnabled&&x&&y&&(x.style.marginTop=s.translateY+"px",y.style.marginTop=s.translateY+"px"),b&&(b.style.marginTop=s.translateY+"px")}}alignButtonGroup(t,e){let{chart:i,options:s,buttonGroup:o}=this,{buttonPosition:r}=s,n=i.plotLeft-i.spacing[3],a=r.x-i.spacing[3];"right"===r.align?a+=t-n:"center"===r.align&&(a-=n/2),o&&o.align({y:r.y,width:k(e,this.initialButtonGroupWidth),align:r.align,x:a},!0,i.spacingBox)}positionButtons(){let{buttons:t,chart:e,options:i,zoomText:s}=this,o=e.hasLoaded?"animate":"attr",{buttonPosition:r}=i,n=e.plotLeft,a=n;s&&"hidden"!==s.visibility&&(s[o]({x:k(n+r.x,n)}),a+=r.x+s.getBBox().width+5);for(let e=0,s=this.buttonOptions.length;e<s;++e)"hidden"!==t[e].visibility?(t[e][o]({x:a}),a+=(t[e].width||0)+i.buttonSpacing):t[e][o]({x:n})}handleCollision(t){let{chart:e,buttonGroup:i,inputGroup:s}=this,{buttonPosition:o,dropdown:r,inputPosition:n}=this.options,a=()=>{let t=0;return this.buttons.forEach(e=>{let i=e.getBBox();i.width>t&&(t=i.width)}),t},l=e=>{if(s?.alignOptions&&i){let r=s.alignAttr.translateX+s.alignOptions.x-t+s.getBBox().x+2,a=s.alignOptions.width||0,l=i.alignAttr.translateX+i.getBBox().x;return l+e>r&&r+a>l&&o.y<n.y+s.getBBox().height}return!1},h=()=>{s&&i&&s.attr({translateX:s.alignAttr.translateX+(e.axisOffset[1]>=-t?0:-t),translateY:s.alignAttr.translateY+i.getBBox().height+10})};if(i){if("always"===r){this.collapseButtons(),l(a())&&h();return}"never"===r&&this.expandButtons()}s&&i?n.align===o.align||l(this.initialButtonGroupWidth+20)?"responsive"===r?(this.collapseButtons(),l(a())&&h()):h():"responsive"===r&&this.expandButtons():i&&"responsive"===r&&(this.initialButtonGroupWidth>e.plotWidth?this.collapseButtons():this.expandButtons())}collapseButtons(){let{buttons:t,zoomText:e}=this;!0!==this.isCollapsed&&(this.isCollapsed=!0,e.hide(),t.forEach(t=>void t.hide()),this.showDropdown())}expandButtons(){let{buttons:t,zoomText:e}=this;!1!==this.isCollapsed&&(this.isCollapsed=!1,this.hideDropdown(),e.show(),t.forEach(t=>void t.show()),this.positionButtons())}showDropdown(){let{buttonGroup:t,chart:e,dropdownLabel:i,dropdown:s}=this;if(t&&s){let{translateX:o=0,translateY:r=0}=t,n=e.plotLeft+o;i.attr({x:n,y:r}).show(),c(s,{left:n+"px",top:r+"px",visibility:"inherit"}),this.hasVisibleDropdown=!0}}hideDropdown(){let{dropdown:t}=this;t&&(this.dropdownLabel.hide(),c(t,{visibility:"hidden",width:"1px",height:"1px"}),this.hasVisibleDropdown=!1)}getHeight(){let t=this.options,e=this.group,i=t.inputPosition,s=t.buttonPosition,o=t.y,r=s.y,n=i.y,a=0;if(t.height)return t.height;this.alignElements(),a=e?e.getBBox(!0).height+13+o:0;let l=Math.min(n,r);return(n<0&&r<0||n>0&&r>0)&&(a+=Math.abs(l)),a}titleCollision(t){return!(t.options.title.text||t.options.subtitle.text)}update(t,e=!0){let i=this.chart;y(!0,i.options.rangeSelector,t),this.destroy(),this.init(i),e&&this.render()}destroy(){let e=this,i=e.minInput,s=e.maxInput;e.eventsToUnbind&&(e.eventsToUnbind.forEach(t=>t()),e.eventsToUnbind=void 0),u(e.buttons),i&&(i.onfocus=i.onblur=i.onchange=null),s&&(s.onfocus=s.onblur=s.onchange=null),b(e,function(i,s){i&&"chart"!==s&&(i instanceof r?i.destroy():i instanceof t.HTMLElement&&g(i)),i!==S.prototype[s]&&(e[s]=null)},this)}}return f(S.prototype,{defaultButtons:[{type:"month",count:1,text:"1m",title:"View 1 month"},{type:"month",count:3,text:"3m",title:"View 3 months"},{type:"month",count:6,text:"6m",title:"View 6 months"},{type:"ytd",text:"YTD",title:"View year to date"},{type:"year",count:1,text:"1y",title:"View 1 year"},{type:"all",text:"All",title:"View all"}],inputTypeFormats:{"datetime-local":"%Y-%m-%dT%H:%M:%S",date:"%Y-%m-%d",time:"%H:%M:%S"}}),S}),i(e,"Core/Chart/StockChart.js",[e["Core/Chart/Chart.js"],e["Core/Templating.js"],e["Core/Defaults.js"],e["Stock/Navigator/NavigatorDefaults.js"],e["Stock/RangeSelector/RangeSelectorDefaults.js"],e["Stock/Scrollbar/ScrollbarDefaults.js"],e["Stock/Utilities/StockUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n,a){let{format:l}=e,{getOptions:h}=i,{setFixedRange:d}=n,{addEvent:c,clamp:p,crisp:u,defined:g,extend:f,find:m,isNumber:x,isString:y,merge:b,pick:v,splat:k}=a;function w(t,e,i){return"xAxis"===t?{minPadding:0,maxPadding:0,overscroll:0,ordinal:!0}:"yAxis"===t?{labels:{y:-2}
5,opposite:i.opposite??e.opposite??!0,showLastLabel:!!(e.categories||"category"===e.type),title:{text:i.title?.text!=="Values"?i.title?.text:null}}:{}}function M(t,e){if("xAxis"===t){let t=v(e.navigator&&e.navigator.enabled,s.enabled,!0),i={type:"datetime",categories:void 0};return t&&(i.startOnTick=!1,i.endOnTick=!1),i}return{}}class S extends t{init(t,e){let i=h(),n=t.xAxis,a=t.yAxis,l=v(t.navigator&&t.navigator.enabled,s.enabled,!0);t.xAxis=t.yAxis=void 0;let d=b({chart:{panning:{enabled:!0,type:"x"},zooming:{pinchType:"x",mouseWheel:{type:"x"}}},navigator:{enabled:l},scrollbar:{enabled:v(r.enabled,!0)},rangeSelector:{enabled:v(o.rangeSelector.enabled,!0)},title:{text:null},tooltip:{split:v(i.tooltip&&i.tooltip.split,!0),crosshairs:!0},legend:{enabled:!1}},t,{isStock:!0});t.xAxis=n,t.yAxis=a,d.xAxis=k(t.xAxis||{}).map(e=>b(w("xAxis",e,i.xAxis),e,M("xAxis",t))),d.yAxis=k(t.yAxis||{}).map(t=>b(w("yAxis",t,i.yAxis),t)),super.init(d,e)}createAxis(t,e){return e.axis=b(w(t,e.axis,h()[t]),e.axis,M(t,this.userOptions)),super.createAxis(t,e)}}return c(t,"update",function(t){let e=t.options;"scrollbar"in e&&this.navigator&&(b(!0,this.options.scrollbar,e.scrollbar),this.navigator.update({enabled:!!this.navigator.navigatorEnabled}),delete e.scrollbar)}),function(t){function e(t){if(!this.crosshair||!this.crosshair.label||!this.crosshair.label.enabled||!this.cross||!x(this.min)||!x(this.max))return;let e=this.chart,i=this.logarithmic,s=this.crosshair.label,o=this.horiz,r=this.opposite,n=this.left,a=this.top,h=this.width,d="inside"===this.options.tickPosition,c=!1!==this.crosshair.snap,p=t.e||this.cross&&this.cross.e,u=t.point,g=this.crossLabel,m,y,b=s.format,k="",w,M=0,S=this.min,C=this.max;i&&(S=i.lin2log(this.min),C=i.lin2log(this.max));let A=o?"center":r?"right"===this.labelAlign?"right":"left":"left"===this.labelAlign?"left":"center";g||(g=this.crossLabel=e.renderer.label("",0,void 0,s.shape||"callout").addClass("highcharts-crosshair-label highcharts-color-"+(u&&u.series?u.series.colorIndex:this.series[0]&&this.series[0].colorIndex)).attr({align:s.align||A,padding:v(s.padding,8),r:v(s.borderRadius,3),zIndex:2}).add(this.labelGroup),e.styledMode||g.attr({fill:s.backgroundColor||u&&u.series&&u.series.color||"#666666",stroke:s.borderColor||"","stroke-width":s.borderWidth||0}).css(f({color:"#ffffff",fontWeight:"normal",fontSize:"0.7em",textAlign:"center"},s.style||{}))),o?(m=c?(u.plotX||0)+n:p.chartX,y=a+(r?0:this.height)):(m=n+this.offset+(r?h:0),y=c?(u.plotY||0)+a:p.chartY),b||s.formatter||(this.dateTime&&(k="%b %d, %Y"),b="{value"+(k?":"+k:"")+"}");let T=c?this.isXAxis?u.x:u.y:this.toValue(o?p.chartX:p.chartY),P=u&&u.series?u.series.isPointInside(u):x(T)&&T>S&&T<C,O="";b?O=l(b,{value:T},e):s.formatter&&x(T)&&(O=s.formatter.call(this,T)),g.attr({text:O,x:m,y:y,visibility:P?"inherit":"hidden"});let L=g.getBBox();!x(g.x)||o||r||(m=g.x-L.width/2),x(g.y)&&(o?(d&&!r||!d&&r)&&(y=g.y-L.height):y=g.y-L.height/2),w=o?{left:n,right:n+this.width}:{left:"left"===this.labelAlign?n:0,right:"right"===this.labelAlign?n+this.width:e.chartWidth};let E=g.translateX||0;E<w.left&&(M=w.left-E),E+L.width>=w.right&&(M=-(E+L.width-w.right)),g.attr({x:m+M,y:y,anchorX:o?m:this.opposite?0:e.chartWidth,anchorY:o?this.opposite?e.chartHeight:0:y+L.height/2})}function i(){this.crossLabel&&(this.crossLabel=this.crossLabel.hide())}function s(t){let e=this.chart,i=this.options,s=e._labelPanes=e._labelPanes||{},o=i.labels;if(e.options.isStock&&"yAxis"===this.coll){let e=i.top+","+i.height;!s[e]&&o.enabled&&(15===o.distance&&1===this.side&&(o.distance=0),void 0===o.align&&(o.align="right"),s[e]=this,t.align="right",t.preventDefault())}}function o(){let t=this.chart,e=this.options&&this.options.top+","+this.options.height;e&&t._labelPanes&&t._labelPanes[e]===this&&delete t._labelPanes[e]}function r(t){let e=this.isLinked&&!this.series&&this.linkedParent?this.linkedParent.series:this.series,i=this.chart,s=i.renderer,o=this.left,r=this.top,n=[],a=t.translatedValue,l=t.value,h=t.force,d,c,u,f,b=[],k,w;if(i.options.isStock&&!1!==t.acrossPanes&&"xAxis"===this.coll||"yAxis"===this.coll){let M,S;for(let s of(t.preventDefault(),M="xAxis"===this.coll?"yAxis":"xAxis",b
5=x(S=this.options[M])?[i[M][S]]:y(S)?[i.get(S)]:e.map(t=>t[M]),this.isXAxis?i.yAxis:i.xAxis))if(!s.options.isInternal){let t=s.isXAxis?"yAxis":"xAxis";this===(g(s.options[t])?i[t][s.options[t]]:i[t][0])&&b.push(s)}for(let t of(k=b.length?[]:[this.isXAxis?i.yAxis[0]:i.xAxis[0]],b))-1!==k.indexOf(t)||m(k,e=>e.pos===t.pos&&e.len===t.len)||k.push(t);if(x(w=v(a,this.translate(l||0,void 0,void 0,t.old))))if(this.horiz)for(let t of k){let e;f=(c=t.pos)+t.len,d=u=Math.round(w+this.transB),"pass"!==h&&(d<o||d>o+this.width)&&(h?d=u=p(d,o,o+this.width):e=!0),e||n.push(["M",d,c],["L",u,f])}else for(let t of k){let e;u=(d=t.pos)+t.len,c=f=Math.round(r+this.height-w),"pass"!==h&&(c<r||c>r+this.height)&&(h?c=f=p(c,r,r+this.height):e=!0),e||n.push(["M",d,c],["L",u,f])}t.path=n.length>0?s.crispPolyLine(n,t.lineWidth||1):void 0}}function n(t){if(this.chart.options.isStock){let e;this.is("column")||this.is("columnrange")?e={borderWidth:0,shadow:!1}:this.is("scatter")||this.is("sma")||(e={marker:{enabled:!1,radius:2}}),e&&(t.plotOptions[this.type]=b(t.plotOptions[this.type],e))}}function a(){let t=this.chart,e=this.options.dataGrouping;return!1!==this.allowDG&&e&&v(e.enabled,t.options.isStock)}function h(t,e){for(let i=0;i<t.length;i+=2){let s=t[i],o=t[i+1];g(s[1])&&s[1]===o[1]&&(s[1]=o[1]=u(s[1],e)),g(s[2])&&s[2]===o[2]&&(s[2]=o[2]=u(s[2],e))}return t}t.compose=function(t,l,p,u){let g=p.prototype;g.forceCropping||(c(l,"afterDrawCrosshair",e),c(l,"afterHideCrosshair",i),c(l,"autoLabelAlign",s),c(l,"destroy",o),c(l,"getPlotLinePath",r),t.prototype.setFixedRange=d,g.forceCropping=a,c(p,"setOptions",n),u.prototype.crispPolyLine=h)},t.stockChart=function(e,i,s){return new t(e,i,s)}}(S||(S={})),S}),i(e,"Series/HLC/HLCPoint.js",[e["Core/Series/SeriesRegistry.js"]],function(t){let{column:{prototype:{pointClass:e}}}=t.seriesTypes;return class extends e{}}),i(e,"Series/HLC/HLCSeriesDefaults.js",[],function(){return{lineWidth:1,tooltip:{pointFormat:'<span style="color:{point.color}">●</span> <b> {series.name}</b><br/>High: {point.high}<br/>Low: {point.low}<br/>Close: {point.close}<br/>'},threshold:null,states:{hover:{lineWidth:3}},stickyTracking:!0}}),i(e,"Series/HLC/HLCSeries.js",[e["Series/HLC/HLCPoint.js"],e["Series/HLC/HLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{column:o}=i.seriesTypes,{crisp:r,extend:n,merge:a}=s;class l extends o{extendStem(t,e,i){let s=t[0],o=t[1];"number"==typeof s[2]&&(s[2]=Math.max(i+e,s[2])),"number"==typeof o[2]&&(o[2]=Math.min(i-e,o[2]))}getPointPath(t,e){let i=e.strokeWidth(),s=t.series,o=r(t.plotX||0,i),n=Math.round(t.shapeArgs.width/2),a=[["M",o,Math.round(t.yBottom)],["L",o,Math.round(t.plotHigh)]];if(null!==t.close){let e=r(t.plotClose,i);a.push(["M",o,e],["L",o+n,e]),s.extendStem(a,i/2,e)}return a}drawSinglePoint(t){let e=t.series,i=e.chart,s,o=t.graphic;void 0!==t.plotY&&(o||(t.graphic=o=i.renderer.path().add(e.group)),i.styledMode||o.attr(e.pointAttribs(t,t.selected&&"select")),s=e.getPointPath(t,o),o[o?"animate":"attr"]({d:s}).addClass(t.getClassName(),!0))}drawPoints(){this.points.forEach(this.drawSinglePoint)}init(){super.init.apply(this,arguments),this.options.stacking=void 0}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e);return delete i.fill,i}toYData(t){return[t.high,t.low,t.close]}translate(){let t=this,e=t.yAxis,i=this.pointArrayMap&&this.pointArrayMap.slice()||[],s=i.map(t=>`plot${t.charAt(0).toUpperCase()+t.slice(1)}`);s.push("yBottom"),i.push("low"),super.translate.apply(t),t.points.forEach(function(o){i.forEach(function(i,r){let n=o[i];null!==n&&(t.dataModify&&(n=t.dataModify.modifyValue(n)),o[s[r]]=e.toPixels(n,!0))}),o.tooltipPos[1]=o.plotHigh+e.pos-t.chart.plotTop})}}return l.defaultOptions=a(o.defaultOptions,e),n(l.prototype,{pointClass:t,animate:null,directTouch:!1,pointArrayMap:["high","low","close"],pointAttrToOptions:{stroke:"color","stroke-width":"lineWidth"},pointValKey:"close"}),i.registerSeriesType("hlc",l),l}),i(e,"Series/OHLC/OHLCPoint.js",[e["Core/Series/SeriesRegistry.js"]],function(t){let{seriesTypes:{hlc:e}}=t;class i extends e.prototype.pointClass{getClassName(){return super.getClassName.call(this)+(this.open<this.close?" highcharts-point-up":" highcharts-point-down")}resolveUpColor(){this.open<this.close&&!this.options.color&&this.series.options.upColor&&(this.color=this.series.options.upColor)}
5resolveColor(){super.resolveColor(),this.series.is("heikinashi")||this.resolveUpColor()}getZone(){let t=super.getZone();return this.resolveUpColor(),t}applyOptions(){return super.applyOptions.apply(this,arguments),this.resolveColor&&this.resolveColor(),this}}return i}),i(e,"Series/OHLC/OHLCSeriesDefaults.js",[],function(){return{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/>'}}}),i(e,"Series/OHLC/OHLCSeries.js",[e["Core/Globals.js"],e["Series/OHLC/OHLCPoint.js"],e["Series/OHLC/OHLCSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{composed:r}=t,{hlc:n}=s.seriesTypes,{addEvent:a,crisp:l,extend:h,merge:d,pushUnique:c}=o;function p(t){let e=t.options,i=e.dataGrouping;i&&e.useOhlcData&&"highcharts-navigator-series"!==e.id&&(i.approximation="ohlc")}function u(t){let e=t.options;e.useOhlcData&&"highcharts-navigator-series"!==e.id&&h(this,{pointValKey:g.prototype.pointValKey,pointArrayMap:g.prototype.pointArrayMap,toYData:g.prototype.toYData})}
5class g extends n{static compose(t){c(r,"OHLCSeries")&&(a(t,"afterSetOptions",p),a(t,"init",u))}getPointPath(t,e){let i=super.getPointPath(t,e),s=e.strokeWidth(),o=l(t.plotX||0,s),r=Math.round(t.shapeArgs.width/2);if(null!==t.open){let e=l(t.plotOpen,s);i.push(["M",o,e],["L",o-r,e]),super.extendStem(i,s/2,e)}return i}pointAttribs(t,e){let i=super.pointAttribs.call(this,t,e),s=this.options;return delete i.fill,!t.options.color&&s.upColor&&t.open<t.close&&(i.stroke=s.upColor),i}toYData(t){return[t.open,t.high,t.low,t.close]}}return g.defaultOptions=d(n.defaultOptions,i),h(g.prototype,{pointClass:e,pointArrayMap:["open","high","low","close"]}),s.registerSeriesType("ohlc",g),g}),i(e,"Series/Candlestick/CandlestickSeriesDefaults.js",[],function(){return{states:{hover:{lineWidth:2}},threshold:null,lineColor:"#000000",lineWidth:1,upColor:"#ffffff",stickyTracking:!0}}),i(e,"Series/Candlestick/CandlestickSeries.js",[e["Series/Candlestick/CandlestickSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{column:s,ohlc:o}=e.seriesTypes,{crisp:r,merge:n}=i;class a extends o{pointAttribs(t,e){let i=s.prototype.pointAttribs.call(this,t,e),o=this.options,r=t.open<t.close,n=o.lineColor||this.color,a=t.color||this.color;if(i["stroke-width"]=o.lineWidth,i.fill=t.options.color||r&&o.upColor||a,i.stroke=t.options.lineColor||r&&o.upLineColor||n,e){let t=o.states[e];i.fill=t.color||i.fill,i.stroke=t.lineColor||i.stroke,i["stroke-width"]=t.lineWidth||i["stroke-width"]}return i}drawPoints(){let t=this.points,e=this.chart,i=this.yAxis.reversed;for(let s of t){let t=s.graphic,o,n,a,l,h,d,c,p,u,g=!t;if(void 0!==s.plotY){t||(s.graphic=t=e.renderer.path().add(this.group)),this.chart.styledMode||t.attr(this.pointAttribs(s,s.selected&&"select")).shadow(this.options.shadow);let f=t.strokeWidth();c=r(s.plotX||0,f),a=Math.min(o=s.plotOpen,n=s.plotClose),l=Math.max(o,n),u=Math.round(s.shapeArgs.width/2),h=i?l!==s.yBottom:Math.round(a)!==Math.round(s.plotHigh||0),d=i?Math.round(a)!==Math.round(s.plotHigh||0):l!==s.yBottom,a=r(a,f),l=r(l,f),(p=[]).push(["M",c-u,l],["L",c-u,a],["L",c+u,a],["L",c+u,l],["Z"],["M",c,a],["L",c,h?Math.round(i?s.yBottom:s.plotHigh):a],["M",c,l],["L",c,d?Math.round(i?s.plotHigh:s.yBottom):l]),t[g?"attr":"animate"]({d:p}).addClass(s.getClassName(),!0)}}}}return a.defaultOptions=n(o.defaultOptions,{tooltip:o.defaultOptions.tooltip},t),e.registerSeriesType("candlestick",a),a}),i(e,"Series/Flags/FlagsPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{column:{prototype:{pointClass:i}}}=t.seriesTypes,{isNumber:s}=e;return class extends i{constructor(){super(...arguments),this.ttBelow=!1}isValid(){return s(this.y)||void 0===this.y}hasNewShapeType(){let t=this.options.shape||this.series.options.shape;return this.graphic&&t&&t!==this.graphic.symbolKey}}}),i(e,"Series/Flags/FlagsSeriesDefaults.js",[],function(){return{borderRadius:0,pointRange:0,allowOverlapX:!1,shape:"flag",stackDistance:12,textAlign:"center",tooltip:{pointFormat:"{point.text}"},threshold:null,y:-30,fillColor:"#ffffff",lineWidth:1,states:{hover:{lineColor:"#000000",fillColor:"#ccd3ff"}},style:{fontSize:"0.7em",fontWeight:"bold"}}}),i(e,"Series/Flags/FlagsSymbols.js",[e["Core/Renderer/RendererRegistry.js"]],function(t){var e;return function(e){let i=[];function s(t,e,i,s,o){let r=o&&o.anchorX||t,n=o&&o.anchorY||e,a=this.circle(r-1,n-1,2,2);return a.push(["M",r,n],["L",t,e+s],["L",t,e],["L",t+i,e],["L",t+i,e+s],["L",t,e+s],["Z"]),a}function o(t,e){t[e+"pin"]=function(i,s,o,r,n){let a,l=n&&n.anchorX,h=n&&n.anchorY;if("circle"===e&&r>o&&(i-=Math.round((r-o)/2),o=r),a=t[e](i,s,o,r,n),l&&h){let n=l;if("circle"===e)n=i+o/2;else{let t=a[0],e=a[1];"M"===t[0]&&"L"===e[0]&&(n=(t[1]+e[1])/2)}let d=s>h?s:s+r;a.push(["M",n,d],["L",l,h]),a=a.concat(t.circle(l-1,h-1,2,2))}return a}}e.compose=function(e){if(-1===i.indexOf(e)){i.push(e);let t=e.prototype.symbols;t.flag=s,o(t,"circle"),o(t,"square")}let r=t.getRendererType();i.indexOf(r)&&i.push(r)}}(e||(e={})),e}),i(e,"Series/OnSeriesComposition.js",[e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,
vendor: 4,660 bytes, line 5
5i,s){var o;let{composed:r}=e,{prototype:n}=t,{prototype:a}=i,{defined:l,pushUnique:h,stableSort:d}=s;return function(t){function e(t){return a.getPlotBox.call(this.options.onSeries&&this.chart.get(this.options.onSeries)||this,t)}function i(){n.translate.apply(this);let t=this,e=t.options,i=t.chart,s=t.points,o=e.onSeries,r=o&&i.get(o),a=r&&r.options.step,h=r&&r.points,c=i.inverted,p=t.xAxis,u=t.yAxis,g=s.length-1,f,m,x=e.onKey||"y",y=h&&h.length,b=0,v,k,w,M,S;if(r&&r.visible&&y){for(b=(r.pointXOffset||0)+(r.barW||0)/2,M=r.currentDataGrouping,k=h[y-1].x+(M?M.totalRange:0),d(s,(t,e)=>t.x-e.x),x="plot"+x[0].toUpperCase()+x.substr(1);y--&&s[g];)if(v=h[y],(f=s[g]).y=v.y,v.x<=f.x&&void 0!==v[x]){if(f.x<=k&&(f.plotY=v[x],v.x<f.x&&!a&&(w=h[y+1])&&void 0!==w[x]))if(l(f.plotX)&&r.is("spline")){let t=[v.plotX||0,v.plotY||0],e=[w.plotX||0,w.plotY||0],i=v.controlPoints?.high||t,s=w.controlPoints?.low||e,o=(o,r)=>Math.pow(1-o,3)*t[r]+3*(1-o)*(1-o)*o*i[r]+3*(1-o)*o*o*s[r]+o*o*o*e[r],r=0,n=1,a;for(let t=0;t<100;t++){let t=(r+n)/2,e=o(t,0);if(null===e)break;if(.25>Math.abs(e-f.plotX)){a=t;break}e<f.plotX?r=t:n=t}l(a)&&(f.plotY=o(a,1),f.y=u.toValue(f.plotY,!0))}else S=(f.x-v.x)/(w.x-v.x),f.plotY+=S*(w[x]-v[x]),f.y+=S*(w.y-v.y);if(g--,y++,g<0)break}}s.forEach((e,i)=>{let o;e.plotX+=b,(void 0===e.plotY||c)&&(e.plotX>=0&&e.plotX<=p.len?c?(e.plotY=p.translate(e.x,0,1,0,1),e.plotX=l(e.y)?u.translate(e.y,0,0,0,1):0):e.plotY=(p.opposite?0:t.yAxis.len)+p.offset:e.shapeArgs={}),(m=s[i-1])&&m.plotX===e.plotX&&(void 0===m.stackIndex&&(m.stackIndex=0),o=m.stackIndex+1),e.stackIndex=o}),this.onSeries=r}t.compose=function(t){if(h(r,"OnSeries")){let s=t.prototype;s.getPlotBox=e,s.translate=i}return t},t.getPlotBox=e,t.translate=i}(o||(o={})),o}),i(e,"Series/Flags/FlagsSeries.js",[e["Series/Flags/FlagsPoint.js"],e["Series/Flags/FlagsSeriesDefaults.js"],e["Series/Flags/FlagsSymbols.js"],e["Core/Globals.js"],e["Series/OnSeriesComposition.js"],e["Core/Renderer/RendererUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r,n,a,l){let{noop:h}=s,{distribute:d}=r,{series:c,seriesTypes:{column:p}}=n,{addEvent:u,defined:g,extend:f,isNumber:m,merge:x,objectEach:y,wrap:b}=l;class v extends p{animate(t){t&&this.setClip()}drawPoints(){let t,e,i,s,o,r,n,l,h,c,p,u=this.points,f=this.chart,v=f.renderer,k=f.inverted,w=this.options,M=w.y,S=this.yAxis,C={},A=[],T=m(w.borderRadius)?w.borderRadius:0;for(s=u.length;s--;)o=u[s],c=(k?o.plotY:o.plotX)>this.xAxis.len,t=o.plotX,n=o.stackIndex,i=o.options.shape||w.shape,void 0!==(e=o.plotY)&&(e=o.plotY+M-(void 0!==n&&n*w.stackDistance)),o.anchorX=n?void 0:o.plotX,l=n?void 0:o.plotY,p="flag"!==i,r=o.graphic,void 0!==e&&t>=0&&!c?(r&&o.hasNewShapeType()&&(r=r.destroy()),r||(r=o.graphic=v.label("",0,void 0,i,void 0,void 0,w.useHTML).addClass("highcharts-point").add(this.markerGroup),o.graphic.div&&(o.graphic.div.point=o),r.isNew=!0),r.attr({align:p?"center":"left",width:w.width,height:w.height,"text-align":w.textAlign,r:T}),f.styledMode||r.attr(this.pointAttribs(o)).css(x(w.style,o.style)).shadow(w.shadow),t>0&&(t-=r.strokeWidth()%2),h={y:e,anchorY:l},w.allowOverlapX&&(h.x=t,h.anchorX=o.anchorX),r.attr({text:o.options.title??w.title??"A"})[r.isNew?"attr":"animate"](h),w.allowOverlapX||(C[o.plotX]?C[o.plotX].size=Math.max(C[o.plotX].size,r.width||0):C[o.plotX]={align:.5*!!p,size:r.width||0,target:t,anchorX:t}),o.tooltipPos=[t,e+S.pos-f.plotTop]):r&&(o.graphic=r.destroy());if(!w.allowOverlapX){let t=100;for(let e of(y(C,function(e){e.plotX=e.anchorX,A.push(e),t=Math.max(e.size,t)}),d(A,k?S.len:this.xAxis.len,t),u)){let t=e.plotX,i=e.graphic,s=i&&C[t];s&&i&&(g(s.pos)?i[i.isNew?"attr":"animate"]({x:s.pos+(s.align||0)*s.size,anchorX:e.anchorX}).show().isNew=!1:i.hide().isNew=!0)}}w.useHTML&&this.markerGroup&&b(this.markerGroup,"on",function(t){return a.prototype.on.apply(t.apply(this,[].slice.call(arguments,1)),[].slice.call(arguments,1))})}drawTracker(){let t=this.points;for(let e of(super.drawTracker(),t)){let i=e.graphic;i&&(e.unbindMouseOver&&e.unbindMouseOver(),e.unbindMouseOver=u(i.element,"mouseover",function(){for(let s of(e.stackIndex>0&&!e.raised&&(e._y=i.y,i.attr({y:e._y-8}),e.raised=!0),t))s!==e&&s.raised&&s.graphic&&(s.graphic.attr({y:s._y}),s.raised=!1)}))}}pointAttribs(t,e){let i=this.options,s=t&&t.color||this.color,o=i.lineColor,r=t&&t.lineWidth,n=t&&t.fillColor||i.fillColor;return e&&(n=i.states[e].fillColor,o=i.states[e].lineColor,r=i.states[e].lineWidth),{fill:n||s,stroke:o||s,"stroke-width":r||i.lineWidth||0}}setClip(){c.prototype.setClip.apply(this,arguments),!1!==this.options.clip&&this.sharedCl
5ipKey&&this.markerGroup&&this.markerGroup.clip(this.chart.sharedClips[this.sharedClipKey])}}return v.compose=i.compose,v.defaultOptions=x(p.defaultOptions,e),o.compose(v),f(v.prototype,{allowDG:!1,forceCrop:!0,invertible:!1,noSharedTooltip:!0,pointClass:t,sorted:!1,takeOrdinalPosition:!1,trackerGroups:["markerGroup"],buildKDTree:h,init:c.prototype.init}),n.registerSeriesType("flags",v),v}),i(e,"Core/Axis/BrokenAxis.js",[e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],function(t,e){var i;let{addEvent:s,find:o,fireEvent:r,isArray:n,isNumber:a,pick:l}=e;return function(e){function i(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function h(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function d(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;i<e.length;i++)t.isInAnyBreak(e[i])||s.push(e[i]);this.tickPositions=s,this.tickPositions.info=i}}function c(){this.brokenAxis||(this.brokenAxis=new m(this))}function p(){let{isDirty:t,options:{connectNulls:e},points:i,xAxis:s,yAxis:o}=this;if(t){let t=i.length;for(;t--;){let r=i[t],n=(null!==r.y||!1!==e)&&(s?.brokenAxis?.isInAnyBreak(r.x,!0)||o?.brokenAxis?.isInAnyBreak(r.y,!0));r.visible=!n&&!1!==r.options.visible}}}function u(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,l(this.pointArrayMap,["y"]))}function g(t,e){let i,s,o,n=this,h=n.points;if(t?.brokenAxis?.hasBreaks){let d=t.brokenAxis;e.forEach(function(e){i=d?.breakArray||[],s=t.isXAxis?t.min:l(n.options.threshold,t.min);let c=t?.options?.breaks?.filter(function(t){let e=!0;for(let s=0;s<i.length;s++){let o=i[s];if(o.from===t.from&&o.to===t.to){e=!1;break}}return e});h.forEach(function(n){o=l(n["stack"+e.toUpperCase()],n[e]),i.forEach(function(e){if(a(s)&&a(o)){let i="";s<e.from&&o>e.to||s>e.from&&o<e.from?i="pointBreak":(s<e.from&&o>e.from&&o<e.to||s>e.from&&o>e.to&&o<e.from)&&(i="pointInBreak"),i&&r(t,i,{point:n,brk:e})}}),c?.forEach(function(e){r(t,"pointOutsideOfBreak",{point:n,brk:e})})})})}}function f(){let e=this.currentDataGrouping,i=e?.gapSize,s=this.points.slice(),o=this.yAxis,r=this.options.gapSize,n=s.length-1;if(r&&n>0){let e,a;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);n--;)if(a&&!1!==a.visible||(a=s[n+1]),e=s[n],!1!==a.visible&&!1!==e.visible){if(a.x-e.x>r){let i=(e.x+a.x)/2;s.splice(n+1,0,{isNull:!0,x:i}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][i]=new t(o,o.options.stackLabels,!1,i,this.stack)).total=0)}a=e}}return this.getGraphPath(s)}e.compose=function(t,e){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),s(t,"init",c),s(t,"afterInit",i),s(t,"afterSetTickPositions",d),s(t,"afterSetOptions",h);let o=e.prototype;o.drawBreaks=g,o.gappedPath=f,s(e,"afterGeneratePoints",p),s(e,"afterRender",u)}return t};class m{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,o=t.to-t.from,r=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?r<=o:r<o&&0!==r}static lin2Val(t){let e=this.brokenAxis,i=e&&e.breakArray;if(!i||!a(t))return t;let s=t,o,r;for(r=0;r<i.length&&!((o=i[r]).from>=s);r++)o.to<s?s+=o.len:m.isInBreak(o,s)&&(s+=o.len);return s}static val2Lin(t){let e=this.brokenAxis,i=e&&e.breakArray;if(!i||!a(t))return t;let s=t,o,r;for(r=0;r<i.length;r++)if((o=i[r]).to<=t)s-=o.len;else if(o.from>=t)break;else if(m.isInBreak(o,t)){s-=t-o.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return o(e,function(e){return e.from<t&&t<e.to})}isInAnyBreak(t,e){let i=this.axis,s=i.options.breaks||[],o=s.length,r,n,h;if(o&&a(t)){for(;o--;)m.isInBreak(s[o],t)&&(r=!0,n||(n=l(s[o].showPoints,!i.isXAxis)));h=r&&e?r&&!n:r}return h}setBreaks(t,e){let i=this,s=i.axis,o=n(t)&&!!t.length&&!!Object.keys(t[0]).length;s.isDirty=i.hasBreaks!==o,i.hasBreaks=o,t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),o||s.val2lin!==m.val2Lin||(delete s.val2lin,delete s.lin2val),o&&(s.userOptions.ordinal=!1,s.lin2val=m.lin2Val,s.val2lin=m.val2Lin,s.setExtremes=function(t,e,o,r,n){if(i.hasBreaks){let s,o=this.options.breaks||[];for(;s=i.findBreakAt(t,o);)t=s.to;for(;s=i.findBreakAt(e,o);)e=s.from;e<t&&(e=t)}s.constructor.prototype.setExtremes.call(this,t,e,o,r,n)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let t=s.options.breaks||[],e=[],o=[],n=l(s.pointRangePadding,0),h=0,d,c,p=s.userMin||s.min,u=s.userMax||s.max,g,f;t.forEach(function(t){c=t.repeat||1/0,a(p)&&a(u)&&(m.isInBreak(t,p)&&(p+=t.to%c-p%c),m.isInBreak(t,u)&&(u-=u%c-t.from%c))}),t.forEach(function(t){if(g=t.from,c=t.repeat||1/0,a(p)&&a(u)){for(;g-c>p;)g-=c;for(;g<p;)g+=c;for(f=g;f<u;f+=c)e.push({value:f,move:"in"}),e.push({value:f+t.to-t.from,move:"out",size:t.breakSize})}}),e.sort(function(t,e){return t.value===e.value?("in"!==t.move)-("in"!==e.move):t.value-e.value}),d=0,g=p,e.forEach(function(t){1===(d+="in"===t.move?1:-1)&&"in"===t.move&&(g=t.value),0===d&&a(g)&&(o.push({from:g,to:t.value,len:t.value-g-(t.size||0)}),h+=t.value-g-(t.size||0))}),i.breakArray=o,a(p)&&a(u)&&a(s.min)&&(i.unitLength=u-p-h+n,r(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:i.unitLength&&(s.transA*=(u-s.min+n)/i.unitLength),n&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=p,s.max=u)}}),l(e,!0)&&s.chart.redraw()}}e.Additions=m}(i||(i={})),i}),i(e,"masters/modules/broken-axis.src.js",[e["Core/Globals.js"],e["Core/Axis/BrokenAxis.js"]],function(t,e){return t.BrokenAxis=t.BrokenAxis||e,t.BrokenAxis.compose(t.Axis,t.Series),t}),i(e,"Extensions/DataGrouping/ApproximationRegistry.js",[],function(){return{}}),i(e,"Extensions/DataGrouping/ApproximationDefaults.js",[e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{arrayMax:i,arrayMin:s,correctFloat:o,extend:r,isNumber:n}=e;function a(t){let e=t.length,i=l(t);return n(i)&&e&&(i=o(i/e)),i}function l(t){let e=t.length,i;if(!e&&t.hasNulls)i=null;else if(e)for(i=0;e--;)i+=t[e];return i}let h={average:a,averages:function(){let t=[];return[].forEach.call(arguments,function(e){t.push(a(e))}),void 0===t[0]?void 0:t},close:function(t){return t.length?t[t.length-1]:t.hasNulls?null:void 0}
5,high:function(t){return t.length?i(t):t.hasNulls?null:void 0},hlc:function(e,i,s){if(e=t.high(e),i=t.low(i),s=t.close(s),n(e)||n(i)||n(s))return[e,i,s]},low:function(t){return t.length?s(t):t.hasNulls?null:void 0},ohlc:function(e,i,s,o){if(e=t.open(e),i=t.high(i),s=t.low(s),o=t.close(o),n(e)||n(i)||n(s)||n(o))return[e,i,s,o]},open:function(t){return t.length?t[0]:t.hasNulls?null:void 0},range:function(e,i){return(e=t.low(e),i=t.high(i),n(e)||n(i))?[e,i]:null===e&&null===i?null:void 0},sum:l};return r(t,h),h}),i(e,"Extensions/DataGrouping/DataGroupingDefaults.js",[],function(){return{common:{groupPixelWidth:2,dateTimeLabelFormats:{millisecond:["%A, %e %b, %H:%M:%S.%L","%A, %e %b, %H:%M:%S.%L","-%H:%M:%S.%L"],second:["%A, %e %b, %H:%M:%S","%A, %e %b, %H:%M:%S","-%H:%M:%S"],minute:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],hour:["%A, %e %b, %H:%M","%A, %e %b, %H:%M","-%H:%M"],day:["%A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],week:["Week from %A, %e %b %Y","%A, %e %b","-%A, %e %b %Y"],month:["%B %Y","%B","-%B %Y"],year:["%Y","%Y","-%Y"]}},seriesSpecific:{line:{},spline:{},area:{},areaspline:{},arearange:{},column:{groupPixelWidth:10},columnrange:{groupPixelWidth:10},candlestick:{groupPixelWidth:10},ohlc:{groupPixelWidth:5},hlc:{groupPixelWidth:5},heikinashi:{groupPixelWidth:10}},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]],["week",[1]],["month",[1,3,6]],["year",null]]}}),i(e,"Extensions/DataGrouping/DataGroupingAxisComposition.js",[e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Core/Utilities.js"]],function(t,e){let i,{addEvent:s,extend:o,merge:r,pick:n}=e;function a(t){let e=this,i=e.series;i.forEach(function(t){t.groupPixelWidth=void 0}
5),i.forEach(function(i){i.groupPixelWidth=e.getGroupPixelWidth&&e.getGroupPixelWidth(),i.groupPixelWidth&&(i.hasProcessed=!0),i.applyGrouping(!!t.hasExtremesChanged)})}function l(){let e=this.series,i=e.length,s=0,o=!1,r,a;for(;i--;)(a=e[i].options.dataGrouping)&&(s=Math.max(s,n(a.groupPixelWidth,t.common.groupPixelWidth)),r=(e[i].processedXData||e[i].data).length,(e[i].groupPixelWidth||r>this.chart.plotSizeX/s||r&&a.forced)&&(o=!0));return o?s:0}function h(){this.series.forEach(function(t){t.hasProcessed=!1})}function d(t,e){let s;if(e=n(e,!0),t||(t={forced:!1,units:null}),this instanceof i)for(s=this.series.length;s--;)this.series[s].update({dataGrouping:t},!1);else this.chart.options.series.forEach(function(e){e.dataGrouping="boolean"==typeof t?t:r(t,e.dataGrouping)});this.ordinal&&(this.ordinal.slope=void 0),e&&this.chart.redraw()}return{compose:function(t){i=t;let e=t.prototype;e.applyGrouping||(s(t,"afterSetScale",h),s(t,"postProcessData",a),o(e,{applyGrouping:a,getGroupPixelWidth:l,setDataGrouping:d}))}}}),i(e,"Extensions/DataGrouping/DataGroupingSeriesComposition.js",[e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Core/Axis/DateTimeAxis.js"],e["Core/Defaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{series:{prototype:n}}=o,{addEvent:a,defined:l,error:h,extend:d,isNumber:c,merge:p,pick:u}=r,g=n.generatePoints;function f(t){var s;let o,r,a=this.chart,d=this.options.dataGrouping,p=!1!==this.allowDG&&d&&u(d.enabled,a.options.isStock),g=this.reserveSpace(),f=this.currentDataGrouping,m,x,y=!1;p&&!this.requireSorting&&(this.requireSorting=y=!0);let b=!1==!(this.isCartesian&&!this.isDirty&&!this.xAxis.isDirty&&!this.yAxis.isDirty&&!t)||!p;if(y&&(this.requireSorting=!1),b)return;this.destroyGroupedData();let v=d.groupAll?this.xData:this.processedXData,k=d.groupAll?this.yData:this.processedYData,w=a.plotSizeX,M=this.xAxis,S=M.options.ordinal,C=this.groupPixelWidth;if(C&&v&&v.length&&w){r=!0,this.isDirty=!0,this.points=null;let t=M.getExtremes(),p=t.min,u=t.max,f=S&&M.ordinal&&M.ordinal.getGroupIntervalFactor(p,u,this)||1,y=C*(u-p)/w*f,b=M.getTimeTicks(i.Additions.prototype.normalizeTimeTickInterval(y,d.units||e.units),Math.min(p,v[0]),Math.max(u,v[v.length-1]),M.options.startOfWeek,v,this.closestPointRange),A=n.groupData.apply(this,[v,k,b,d.approximation]),T=A.groupedXData,P=A.groupedYData,O=0;for(d&&d.smoothed&&T.length&&(d.firstAnchor="firstPoint",d.anchor="middle",d.lastAnchor="lastPoint",h(32,!1,a,{"dataGrouping.smoothed":"use dataGrouping.anchor"})),o=1;o<b.length;o++)b.info.segmentStarts&&-1!==b.info.segmentStarts.indexOf(o)||(O=Math.max(b[o]-b[o-1],O));(m=b.info).gapSize=O,this.closestPointRange=b.info.totalRange,this.groupMap=A.groupMap,this.currentDataGrouping=m,function(t,e,i){let s=t.options.dataGrouping,o=t.currentDataGrouping&&t.currentDataGrouping.gapSize;if(!(s&&t.xData&&o&&t.groupMap))return;let r=e.length-1,n=s.anchor,a=s.firstAnchor,l=s.lastAnchor,h=e.length-1,d=0;if(a&&t.xData[0]>=e[0]){let i;d++;let s=t.groupMap[0].start,r=t.groupMap[0].length;c(s)&&c(r)&&(i=s+(r-1)),e[0]=({start:e[0],middle:e[0]+.5*o,end:e[0]+o,firstPoint:t.xData[0],lastPoint:i&&t.xData[i]})[a]}if(r>0&&l&&o&&e[r]>=i-o){h--;let i=t.groupMap[t.groupMap.length-1].start;e[r]=({start:e[r],middle:e[r]+.5*o,end:e[r]+o,firstPoint:i&&t.xData[i],lastPoint:t.xData[t.xData.length-1]})[l]}if(n&&"start"!==n){let t=o*({middle:.5,end:1})[n];for(;h>=d;)e[h]+=t,h--}}(this,T,u),g&&(l((s=T)[0])&&c(M.min)&&c(M.dataMin)&&s[0]<M.min&&((!l(M.options.min)&&M.min<=M.dataMin||M.min===M.dataMin)&&(M.min=Math.min(s[0],M.min)),M.dataMin=Math.min(s[0],M.dataMin)),l(s[s.length-1])&&c(M.max)&&c(M.dataMax)&&s[s.length-1]>M.max&&((!l(M.options.max)&&c(M.dataMax)&&M.max>=M.dataMax||M.max===M.dataMax)&&(M.max=Math.max(s[s.length-1],M.max)),M.dataMax=Math.max(s[s.length-1],M.dataMax))),d.groupAll&&(this.allGroupedData=P,T=(x=this.cropData(T,P,M.min,M.max)).xData,P=x.yData,this.cropStart=x.start),this.processedXData=T,this.processedYData=P}else this.groupMap=null,this.currentDataGrouping=void 0;this.hasGroupedData=r,this.preventGraphAnimation=(f&&f.totalRange)!==(m&&m.totalRange)}function m(){this.groupedData&&(this.groupedData.forEach(function(t,e){t&&(this.groupedData[e]=t.destroy?t.destroy():null)},this),this.groupedData.length=0,delete this.allGroupedData)}function x(){g.apply(this),this.destroyGroupedData(),this.groupedData=this.hasGroupedData?this.points:null}function y(){return this.is("arearange")?"range":this.is("ohlc")?"ohlc":this.is("hlc")?"hlc":this.is("column")||this.options.cumulative?"sum":"average"}function b(e,i,s,o){let r=this,n=r.data,a=r.options&&r.options.data,h=[],d=[],u=[],g=e.length,f=!!i,m=[],x=r.pointArrayMap,y=x&&x.length,b=["x"].concat(x||["y"]),v=this.options.dataGrouping&&this.options.dataGrouping.groupAll,k,w,M,S=0,C=0,A="function"==typeof o?o:o&&t[o]?t[o]:t[r.getDGApproximation&&r.getDGApproximation()||"average"];if(y){let t=x.length;for(;t--;)m.push([])}else m.push([]);let T=y||1;for(let t=0;t<=g;t++)if(!(e[t]<s[0])){for(;void 0!==s[S+1]&&e[t]>=s[S+1]||t===g;){k=s[S],r.dataGroupInfo={start:v?C:r.cropStart+C,length:m[0].length,groupStart:k},M=A.apply(r,m),r.pointClass&&!l(r.dataGroupInfo.options)&&(r.dataGroupInfo.options=p(r.pointClass.prototype.optionsToObject.call({series:r},r.options.data[r.cropStart+C])),b.forEach(function(t){delete r.dataGroupInfo.options[t]})),void 0!==M&&(h.push(k),d.push(M),u.push(r.dataGroupInfo)),C=t;
5for(let t=0;t<T;t++)m[t].length=0,m[t].hasNulls=!1;if(S+=1,t===g)break}if(t===g)break;if(x){let e,i=r.options.dataGrouping&&r.options.dataGrouping.groupAll?t:r.cropStart+t,s=n&&n[i]||r.pointClass.prototype.applyOptions.apply({series:r},[a[i]]);for(let t=0;t<y;t++)c(e=s[x[t]])?m[t].push(e):null===e&&(m[t].hasNulls=!0)}else c(w=f?i[t]:null)?m[0].push(w):null===w&&(m[0].hasNulls=!0)}return{groupedXData:h,groupedYData:d,groupMap:u}}function v(t){let i=t.options,o=this.type,r=this.chart.options.plotOptions,n=this.useCommonDataGrouping&&e.common,a=e.seriesSpecific,l=s.defaultOptions.plotOptions[o].dataGrouping;if(r&&(a[o]||n)){let t=this.chart.rangeSelector;l||(l=p(e.common,a[o])),i.dataGrouping=p(n,l,r.series&&r.series.dataGrouping,r[o].dataGrouping,this.userOptions.dataGrouping,!i.isInternal&&t&&c(t.selected)&&t.buttonOptions[t.selected].dataGrouping)}}return{compose:function(t){let e=t.prototype;e.applyGrouping||(a(t.prototype.pointClass,"update",function(){if(this.dataGroup)return h(24,!1,this.series.chart),!1}),a(t,"afterSetOptions",v),a(t,"destroy",m),d(e,{applyGrouping:f,destroyGroupedData:m,generatePoints:x,getDGApproximation:y,groupData:b}))},groupData:b}}),i(e,"Extensions/DataGrouping/DataGrouping.js",[e["Extensions/DataGrouping/DataGroupingAxisComposition.js"],e["Extensions/DataGrouping/DataGroupingDefaults.js"],e["Extensions/DataGrouping/DataGroupingSeriesComposition.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{format:n}=s,{composed:a}=o,{addEvent:l,extend:h,isNumber:d,pick:c,pushUnique:p}=r;function u(t){let i=this.chart,s=i.time,o=t.labelConfig,r=o.series,a=o.point,l=r.options,p=r.tooltipOptions,u=l.dataGrouping,g=r.xAxis,f=p.xDateFormat,m,x,y,b,v,k=p[t.isFooter?"footerFormat":"headerFormat"];if(g&&"datetime"===g.options.type&&u&&d(o.key)){x=r.currentDataGrouping,y=u.dateTimeLabelFormats||e.common.dateTimeLabelFormats,x?(b=y[x.unitName],1===x.count?f=b[0]:(f=b[1],m=b[2])):!f&&y&&g.dateTime&&(f=g.dateTime.getXDateFormat(o.x,p.dateTimeLabelFormats));let l=c(r.groupMap?.[a.index].groupStart,o.key),d=l+x?.totalRange-1;v=s.dateFormat(f,l),m&&(v+=s.dateFormat(m,d)),r.chart.styledMode&&(k=this.styledModeFormat(k)),t.text=n(k,{point:h(o.point,{key:v}),series:r},i),t.preventDefault()}}return{compose:function(e,s,o){t.compose(e),i.compose(s),o&&p(a,"DataGrouping")&&l(o,"headerFormatter",u)},groupData:i.groupData}}),i(e,"masters/modules/datagrouping.src.js",[e["Core/Globals.js"],e["Extensions/DataGrouping/ApproximationDefaults.js"],e["Extensions/DataGrouping/ApproximationRegistry.js"],e["Extensions/DataGrouping/DataGrouping.js"]],function(t,e,i,s){return t.dataGrouping=t.dataGrouping||{},t.dataGrouping.approximationDefaults=t.dataGrouping.approximationDefaults||e,t.dataGrouping.approximations=t.dataGrouping.approximations||i,s.compose(t.Axis,t.Series,t.Tooltip),t}),i(e,"Extensions/Annotations/NavigationBindingsUtilities.js",[e["Core/Utilities.js"]],function(t){let{defined:e,isNumber:i,pick:s}=t,o={backgroundColor:"string",borderColor:"string",borderRadius:"string",color:"string",fill:"string",fontSize:"string",labels:"string",name:"string",stroke:"string",title:"string"};return{annotationsFieldsTypes:o,getAssignedAxis:function(t){return t.filter(t=>{let e=t.axis.getExtremes(),o=e.min,r=e.max,n=s(t.axis.minPointOffset,0);return i(o)&&i(r)&&t.value>=o-n&&t.value<=r+n&&!t.axis.options.isInternal})[0]},getFieldType:function(t,i){let s=o[t],r=typeof i;return e(s)&&(r=s),({string:"text",number:"number",boolean:"checkbox"})[r]}}}),i(e,"Extensions/MouseWheelZoom/MouseWheelZoom.js",[e["Core/Utilities.js"],e["Extensions/Annotations/NavigationBindingsUtilities.js"]],function(t,e){let i,{addEvent:s,isObject:o,pick:r,defined:n,merge:a}=t,{getAssignedAxis:l}=e,h=[],d={enabled:!0,sensitivity:1.1},c=function(t,e,s,o,a,l,h){let d=r(h.type,t.zooming.type,""),c=[];"x"===d?c=s:"y"===d?c=o:"xy"===d&&(c=t.axes);let p=t.transform({axes:c,to:{x:a-5,y:l-5,width:10,height:10},from:{x:a-5*e,y:l-5*e,width:10*e,height:10*e},trigger:"mousewheel"});return p&&(n(i)&&clearTimeout(i),i=setTimeout(()=>{t.pointer?.drop()},400)),p};function p(){let t,e=(o(t=this.zooming.mouseWheel)||(t={enabled:t??!0}),a(d,t));e.enabled&&s(this.container,"wheel",t=>{t=this.pointer?.normalize(t)||t;let{pointer:i}=this,s=i&&!i.inClass(t.target,"highcharts-no-mousewheel");if(this.isInsidePlot(t.chartX-this.plotLeft,t.chartY-this.plotTop)&&s){let s=e.sensitivity||1.1,o=t.detail||(t.deltaY||0)/120,r=l(i.getCoordinates(t).xAxis),n=l(i.getCoordinates(t).yAxis);c(this,Math.pow(s,o),r?[r.axis]:this.xAxis,n?[n.axis]:this.yAxis,t.chartX,t.chartY,e)&&t.preventDefault?.()}})}return{compose:function(t){-1===h.indexOf(t)&&(h.push(t),s(t,"afterGetContainer",p))}}}),i(e,"masters/modules/mouse-wheel-zoom.src.js",[e["Core/Globals.js"],e["Extensions/MouseWheelZoom/MouseWheelZoom.js"]],function(t,e){return t.MouseWheelZoom=t.MouseWheelZoom||e,t.MouseWheelZoom.compose(t.Chart),t}),i(e,"masters/modules/stock.src.js",[e["Core/Globals.js"],e["Series/DataModifyComposition.js"],e["Stock/Navigator/Navigator.js"],e["Core/Axis/OrdinalAxis.js"],e["Stock/RangeSelector/RangeSelector.js"],e["Stock/Scrollbar/Scrollbar.
5js"],e["Core/Chart/StockChart.js"],e["Series/OHLC/OHLCSeries.js"],e["Series/Flags/FlagsSeries.js"]],function(t,e,i,s,o,r,n,a,l){return t.Navigator=t.Navigator||i,t.OrdinalAxis=t.OrdinalAxis||s,t.RangeSelector=t.RangeSelector||o,t.Scrollbar=t.Scrollbar||r,t.stockChart=t.stockChart||n.stockChart,t.StockChart=t.StockChart||t.stockChart,t.extend(t.StockChart,n),e.compose(t.Series,t.Axis,t.Point),l.compose(t.Renderer),a.compose(t.Series),t.Navigator.compose(t.Chart,t.Axis,t.Series),t.OrdinalAxis.compose(t.Axis,t.Series,t.Chart),t.RangeSelector.compose(t.Axis,t.Chart),t.Scrollbar.compose(t.Axis),t.StockChart.compose(t.Chart,t.Axis,t.Series,t.SVGRenderer),t}),i(e,"masters/highstock.src.js",[e["masters/highcharts.src.js"]],function(t){return t.product="Highstock",t}),e["masters/highstock.src.js"]._modules=e,e["masters/highstock.src.js"]},t.exports?(r.default=r,t.exports=o&&o.document?r(o):r):void 0===(s=(function(){return r(o)}).call(e,i,e,t))||(t.exports=s)}}]);
6//# sourceMappingURL=highcharts-vendor-080d02979aa12a64.js.map

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.