diff --git a/docs/build/bundle.css b/docs/build/bundle.css index 46df1e7..2e6f69a 100644 --- a/docs/build/bundle.css +++ b/docs/build/bundle.css @@ -1,3 +1,69 @@ -button.svelte-1rpfrgq{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid #a6a6a6;background-color:var(--sk-back-2);transition:border-color 0.25s}.check.svelte-1rpfrgq{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--sk-back-4);box-shadow:0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06);transition:transform 0.25s;pointer-events:none}.check.checked.svelte-1rpfrgq{transform:translate(18px)}.icon.svelte-1rpfrgq{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon.svelte-1rpfrgq svg{position:absolute;top:3px;left:3px;width:12px;height:12px} -div.svelte-ibamk9{border:1px solid;box-shadow:1px 1px 1px;background:white;color:black;border-radius:4px;padding:4px;position:absolute} -.csl-entry.svelte-cxj045{padding-left:22px;text-indent:-22px}ul.svelte-cxj045{margin:0;padding:5px 0px 7px 20px}li.svelte-cxj045{margin-bottom:2px} + + button.svelte-1rpfrgq { + position: relative; + border-radius: 11px; + display: block; + width: 40px; + height: 22px; + flex-shrink: 0; + border: 1px solid #a6a6a6; + background-color: var(--sk-back-2); + transition: border-color 0.25s; + } + + .check.svelte-1rpfrgq { + position: absolute; + top: 1px; + left: 1px; + width: 18px; + height: 18px; + border-radius: 50%; + background-color: var(--sk-back-4); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.06); + transition: transform 0.25s; + pointer-events: none; + } + + .check.checked.svelte-1rpfrgq { + transform: translate(18px); + } + + .icon.svelte-1rpfrgq { + position: relative; + display: block; + width: 18px; + height: 18px; + border-radius: 50%; + overflow: hidden; + } + + .icon.svelte-1rpfrgq svg { + position: absolute; + top: 3px; + left: 3px; + width: 12px; + height: 12px; + } + + + div.svelte-ibamk9 { + border: 1px solid; + box-shadow: 1px 1px 1px; + background: white; + color: black; + border-radius: 4px; + padding: 4px; + position: absolute; + } + + + /* for indenting the 2nd line of citations */ + .csl-entry.svelte-cxj045 { + padding-left: 22px; + text-indent: -22px; + } + + ul.svelte-cxj045 { margin: 0; padding: 5px 0px 7px 20px; } + li.svelte-cxj045 { margin-bottom: 2px; } + + diff --git a/docs/build/bundle.js b/docs/build/bundle.js index 9f0af8e..1a2d332 100644 --- a/docs/build/bundle.js +++ b/docs/build/bundle.js @@ -1 +1 @@ -var app=function(){"use strict";function t(){}function e(t,e){for(const i in e)t[i]=e[i];return t}function i(t){return t()}function s(){return Object.create(null)}function o(t){t.forEach(i)}function r(t){return"function"==typeof t}function n(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}function a(e,...i){if(null==e){for(const t of i)t(void 0);return t}const s=e.subscribe(...i);return s.unsubscribe?()=>s.unsubscribe():s}function l(t,e,i){t.$$.on_destroy.push(a(e,i))}function h(t,i,s,o){return t[1]&&o?e(s.ctx.slice(),t[1](o(i))):s.ctx}function c(t,e,i){return t.set(i),e}function d(e){return e&&r(e.destroy)?e.destroy:t}function p(t,e){t.appendChild(e)}function u(t,e,i){t.insertBefore(e,i||null)}function g(t){t.parentNode&&t.parentNode.removeChild(t)}function m(t,e){for(let i=0;it.removeEventListener(e,i,s)}function w(t,e,i){null==i?t.removeAttribute(e):t.getAttribute(e)!==i&&t.setAttribute(e,i)}function C(t,e){e=""+e,t.data!==e&&(t.data=e)}function k(t,e,i,s){null==i?t.style.removeProperty(e):t.style.setProperty(e,i,s?"important":"")}function S(t,e,i){t.classList.toggle(e,!!i)}class A{is_svg=!1;e=void 0;n=void 0;t=void 0;a=void 0;constructor(t=!1){this.is_svg=t,this.e=this.n=null}c(t){this.h(t)}m(t,e,i=null){var s;this.e||(this.is_svg?this.e=(s=e.nodeName,document.createElementNS("http://www.w3.org/2000/svg",s)):this.e=f(11===e.nodeType?"TEMPLATE":e.nodeName),this.t="TEMPLATE"!==e.tagName?e:e.content,this.c(t)),this.i(i)}h(t){this.e.innerHTML=t,this.n=Array.from("TEMPLATE"===this.e.nodeName?this.e.content.childNodes:this.e.childNodes)}i(t){for(let e=0;e{const o=t.$$.callbacks[e];if(o){const r=function(t,e,{bubbles:i=!1,cancelable:s=!1}={}){return new CustomEvent(t,{detail:e,bubbles:i,cancelable:s})}(e,i,{cancelable:s});return o.slice().forEach((e=>{e.call(t,r)})),!r.defaultPrevented}return!0}}function N(t,e){const i=t.$$.callbacks[e.type];i&&i.slice().forEach((t=>t.call(this,e)))}const I=[],B=[];let R=[];const z=[],F=Promise.resolve();let H=!1;function X(){H||(H=!0,F.then(U))}function G(t){R.push(t)}const Y=new Set;let W=0;function U(){if(0!==W)return;const t=P;do{try{for(;W{q.delete(t),s&&(i&&t.d(1),s())})),t.o(e)}else s&&s()}function Q(t){return void 0!==t?.length?t:Array.from(t)}function tt(t,e){const i={},s={},o={$$scope:1};let r=t.length;for(;r--;){const n=t[r],a=e[r];if(a){for(const t in n)t in a||(s[t]=1);for(const t in a)o[t]||(i[t]=a[t],o[t]=1);t[r]=a}else for(const t in n)o[t]=1}for(const t in s)t in i||(i[t]=void 0);return i}function et(t){return"object"==typeof t&&null!==t?t:{}}function it(t){t&&t.c()}function st(t,e,s){const{fragment:n,after_update:a}=t.$$;n&&n.m(e,s),G((()=>{const e=t.$$.on_mount.map(i).filter(r);t.$$.on_destroy?t.$$.on_destroy.push(...e):o(e),t.$$.on_mount=[]})),a.forEach(G)}function ot(t,e){const i=t.$$;null!==i.fragment&&(!function(t){const e=[],i=[];R.forEach((s=>-1===t.indexOf(s)?e.push(s):i.push(s))),i.forEach((t=>t())),R=e}(i.after_update),o(i.on_destroy),i.fragment&&i.fragment.d(e),i.on_destroy=i.fragment=null,i.ctx=[])}function rt(e,i,r,n,a,l,h=null,c=[-1]){const d=P;T(e);const p=e.$$={fragment:null,ctx:[],props:l,update:t,not_equal:a,bound:s(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(i.context||(d?d.$$.context:[])),callbacks:s(),dirty:c,skip_bound:!1,root:i.target||d.$$.root};h&&h(p.root);let u=!1;if(p.ctx=r?r(e,i.props||{},((t,i,...s)=>{const o=s.length?s[0]:i;return p.ctx&&a(p.ctx[t],p.ctx[t]=o)&&(!p.skip_bound&&p.bound[t]&&p.bound[t](o),u&&function(t,e){-1===t.$$.dirty[0]&&(I.push(t),X(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const t=s.indexOf(i);-1!==t&&s.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}"undefined"!=typeof window&&(window.__svelte||(window.__svelte={v:new Set})).v.add("4");const at=[];function lt(t,e){return{subscribe:ht(t,e).subscribe}}function ht(e,i=t){let s;const o=new Set;function r(t){if(n(e,t)&&(e=t,s)){const t=!at.length;for(const t of o)t[1](),at.push(t,e);if(t){for(let t=0;t{o.delete(h),0===o.size&&s&&(s(),s=null)}}}}function ct(e,i,s){const n=!Array.isArray(e),l=n?[e]:e;if(!l.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const h=i.length<2;return lt(s,((e,s)=>{let c=!1;const d=[];let p=0,u=t;const g=()=>{if(p)return;u();const o=i(n?d[0]:d,e,s);h?e(o):u=r(o)?o:t},m=l.map(((t,e)=>a(t,(t=>{d[e]=t,p&=~(1<{p|=1<"A Progress Report on the Training of Probability Assessors." In Judgment Under Uncertainty: Heuristics and Biases, edited by Daniel Kahneman, Paul Slovic, and Amos Tversky, 294-305. Cambridge University Press, 1982. http://dx.doi.org/10.1017/CBO9780511809477.022.'},{id:"Gill2005",text:'Gill, C. J. "Why Clinicians Are Natural Bayesians." BMJ 330, no. 7499 (May 7, 2005): 1080-1083. doi:10.1136/bmj.330.7499.1080.'},{id:"GunzelmannGluck2004",text:'Gunzelmann, G., and K.A. Gluck. "Knowledge Tracing for Complex Training Applications: Beyond Bayesian Mastery Estimates" In Proceedings of the Thirteenth Conference on Behavior Representation in Modeling and Simulation, 383-384. Orlando, FL: Simulation Interoperability Standards Organization, 2004.'},{id:"Hubbard2010",text:'Hubbard, Douglas W. \x3c!--http://www.jpmeloche.com/crr/ebooksclub.org__How_to_Measure_Anything__Finding_the_Value_of_Intangibles_in_Business__Second_Edition.pdf--\x3eHow to Measure Anything Finding the Value of Intangibles in Business. 2ed. Wiley, 2010.'},{id:"Jeffery2002",text:'Jeffery, Richard. Subjective Probability: The Real Thing. Cambridge University Press, 2002.'},{id:"Kahneman2011",text:'Kahneman, Daniel. "Don\'t Blink! The Hazards of Confidence." The New York Times, October 19, 2011, sec. Magazine.'},{id:"KassinFong1999",text:'Kassin, Saul M., and Christina T. Fong. "\'I\'m Innocent!\': Effects of Training on Judgments of Truth and Deception in the Interrogation Room." Law and Human Behavior 23, no. 5 (October 1, 1999): 499-516. doi:10.1023/A:1022330011811.'},{id:"Knight1921",text:'Knight, Frank H. (Frank Hyneman). \x3c!--http://www.econlib.org/library/Knight/knRUP.html--\x3eRisk, Uncertainty and Profit. Boston, New York, Houghton Mifflin Company, 1921.'},{id:"LichtensteinFischhoff1978",text:'Lichtenstein, Sarah, and Baruch Fischhoff. Training for Calibration, November 1978.'},{id:"LichtensteinEtAl1982",text:'Lichtenstein, Sarah, Baruch Fischhoff, and Lawrence D. Phillips. "Calibration of Probabilities: The State of the Art to 1980." In Judgment Under Uncertainty: Heuristics and Biases, edited by Daniel Kahneman, Paul Slovic, and Amos Tversky, 306-334. Cambridge, UK: Cambridge University Press, 1982.'},{id:"LindeyEtAl1979",text:'Lindley, D. V., A. Tversky, and R. V. Brown. "On the Reconciliation of Probability Assessments." Journal of the Royal Statistical Society. Series A (General) 142, no. 2 (January 1, 1979): 146-180. doi:10.2307/2345078.'},{id:"Marx2013",text:'Marx, Vivien. "Data Visualization: Ambiguity as a Fellow Traveler." Nature Methods 10, no. 7 (July 2013): 613-615. doi:10.1038/nmeth.2530.'},{id:"McIntyre2007",text:'McIntyre, M.E. "On Thinking Probabilistically." In Extreme Events (Proc. 15th \'Aha Huliko\'a Workshop), 153-161. U. of Hawaii: SOEST, 2007.'},{id:"Oskamp1965",text:'Oskamp, Stuart. "Overconfidence in Case-study Judgments." Journal of Consulting Psychology 29, no. 3 (1965): 261-265. doi:10.1037/h0022125.'},{id:"Plous1993",text:'Plous, Scott. The Psychology of Judgment and Decision Making. New York: McGraw-Hill, 1993.'},{id:"RadzevickMoore2009",text:'Radzevick, Joseph R., and Don A. Moore. "Competing to Be Certain (but Wrong): Social Pressure and Overprecision in Judgment." Academy of Management Proceedings 2009, no. 1 (August 1, 2009): 1-6. doi:10.5465/AMBPP.2009.44246308.'},{id:"Silver2012",text:'Silver, Nate. The Signal and the Noise: Why So Many Predictions Fail - but Some Don\'t. 1ed. Penguin Press HC, The, 2012.'},{id:"Wilson1994",text:'Wilson, Alyson G. "Cognitive Factors Affecting Subjective Probability Assessment," 1994.'}]);function mt(e){let i,s,n,a,l,h,c,d,m,x,S,A,M,P,T,E,L,D,O,j,N,I,B,R,z,F,H,X,G,Y,W,U,$,q,V=e[0].text+"",_=e[0].o1.name+"",K=e[0].o2.name+"";return{c(){i=f("div"),s=f("div"),n=f("h5"),a=b(V),l=y(),h=f("div"),c=f("div"),d=b(_),m=y(),x=f("div"),S=f("button"),S.textContent="95%",A=y(),M=f("button"),M.textContent="85%",P=y(),T=f("button"),T.textContent="75%",E=y(),L=f("button"),L.textContent="65%",D=y(),O=f("button"),O.textContent="55%",j=y(),N=f("button"),N.textContent="55%",I=y(),B=f("button"),B.textContent="65%",R=y(),z=f("button"),z.textContent="75%",F=y(),H=f("button"),H.textContent="85%",X=y(),G=f("button"),G.textContent="95%",Y=y(),W=f("div"),U=b(K),w(n,"class","card-title text-center p-4"),w(c,"class","p-2 d-inline-block text-right"),k(c,"width","12rem"),w(x,"class","align-items-center justify-content-center d-inline-block"),w(W,"class","p-2 d-inline-block text-left"),k(W,"width","12rem"),w(h,"class","card-text pb-3"),w(s,"class","card-body text-center"),w(i,"class","card")},m(t,o){u(t,i,o),p(i,s),p(s,n),p(n,a),p(s,l),p(s,h),p(h,c),p(c,d),p(h,m),p(h,x),p(x,S),p(x,A),p(x,M),p(x,P),p(x,T),p(x,E),p(x,L),p(x,D),p(x,O),p(x,j),p(x,N),p(x,I),p(x,B),p(x,R),p(x,z),p(x,F),p(x,H),p(x,X),p(x,G),p(h,Y),p(h,W),p(W,U),$||(q=[v(S,"click",(function(){r(e[1](e[0].fact,e[0].k1,95,!1))&&e[1](e[0].fact,e[0].k1,95,!1).apply(this,arguments)}),{once:!0}),v(M,"click",(function(){r(e[1](e[0].fact,e[0].k1,85,!1))&&e[1](e[0].fact,e[0].k1,85,!1).apply(this,arguments)}),{once:!0}),v(T,"click",(function(){r(e[1](e[0].fact,e[0].k1,75,!1))&&e[1](e[0].fact,e[0].k1,75,!1).apply(this,arguments)}),{once:!0}),v(L,"click",(function(){r(e[1](e[0].fact,e[0].k1,65,!1))&&e[1](e[0].fact,e[0].k1,65,!1).apply(this,arguments)}),{once:!0}),v(O,"click",(function(){r(e[1](e[0].fact,e[0].k1,55,!1))&&e[1](e[0].fact,e[0].k1,55,!1).apply(this,arguments)}),{once:!0}),v(N,"click",(function(){r(e[1](e[0].fact,e[0].k2,55,!1))&&e[1](e[0].fact,e[0].k2,55,!1).apply(this,arguments)}),{once:!0}),v(B,"click",(function(){r(e[1](e[0].fact,e[0].k2,65,!1))&&e[1](e[0].fact,e[0].k2,65,!1).apply(this,arguments)}),{once:!0}),v(z,"click",(function(){r(e[1](e[0].fact,e[0].k2,75,!1))&&e[1](e[0].fact,e[0].k2,75,!1).apply(this,arguments)}),{once:!0}),v(H,"click",(function(){r(e[1](e[0].fact,e[0].k2,85,!1))&&e[1](e[0].fact,e[0].k2,85,!1).apply(this,arguments)}),{once:!0}),v(G,"click",(function(){r(e[1](e[0].fact,e[0].k2,95,!1))&&e[1](e[0].fact,e[0].k2,95,!1).apply(this,arguments)}),{once:!0})],$=!0)},p(t,[i]){e=t,1&i&&V!==(V=e[0].text+"")&&C(a,V),1&i&&_!==(_=e[0].o1.name+"")&&C(d,_),1&i&&K!==(K=e[0].o2.name+"")&&C(U,K)},i:t,o:t,d(t){t&&g(i),$=!1,o(q)}}}function ft(t,e,i){let{question:s}=e;const o=j();return t.$$set=t=>{"question"in t&&i(0,s=t.question)},[s,(t,e,i,s)=>{o("answer",{fact:t,answer:e,confidence:i,hinted:s})}]}class bt extends nt{constructor(t){super(),rt(this,t,ft,mt,n,{question:0})}}function yt(t){let e;return{c(){e=f("h6"),e.textContent="incorrect",w(e,"class","card-subtitle mb-2 text-warning")},m(t,i){u(t,e,i)},d(t){t&&g(e)}}}function xt(t){let e;return{c(){e=f("h6"),e.textContent="correct",w(e,"class","card-subtitle mb-2 text-primary")},m(t,i){u(t,e,i)},d(t){t&&g(e)}}}function vt(e){let i,s,o,r,n,a,l,h,c,d,m,x,v,S,A=e[0].options[Object.keys(e[0].options)[0]].name+"",M=e[0].options[Object.keys(e[0].options)[0]].text+"",P=e[0].options[Object.keys(e[0].options)[1]].name+"",T=e[0].options[Object.keys(e[0].options)[1]].text+"";function E(t,e){return t[1].correct?xt:yt}let L=E(e),D=L(e);return{c(){i=f("div"),s=f("div"),o=f("h6"),o.textContent="Last question",r=y(),D.c(),n=y(),a=f("p"),l=b(A),h=b(": "),c=b(M),d=y(),m=f("p"),x=b(P),v=b(": "),S=b(T),w(o,"class","card-title"),w(a,"class","card-text"),w(m,"class","card-text"),w(s,"class","card-body text-center"),w(i,"class","card"),k(i,"width","30rem")},m(t,e){u(t,i,e),p(i,s),p(s,o),p(s,r),D.m(s,null),p(s,n),p(s,a),p(a,l),p(a,h),p(a,c),p(s,d),p(s,m),p(m,x),p(m,v),p(m,S)},p(t,[e]){L!==(L=E(t))&&(D.d(1),D=L(t),D&&(D.c(),D.m(s,n))),1&e&&A!==(A=t[0].options[Object.keys(t[0].options)[0]].name+"")&&C(l,A),1&e&&M!==(M=t[0].options[Object.keys(t[0].options)[0]].text+"")&&C(c,M),1&e&&P!==(P=t[0].options[Object.keys(t[0].options)[1]].name+"")&&C(x,P),1&e&&T!==(T=t[0].options[Object.keys(t[0].options)[1]].text+"")&&C(S,T)},i:t,o:t,d(t){t&&g(i),D.d()}}}function wt(t,e,i){let{question:s}=e,{response:o}=e;return t.$$set=t=>{"question"in t&&i(0,s=t.question),"response"in t&&i(1,o=t.response)},[s,o]}class Ct extends nt{constructor(t){super(),rt(this,t,wt,vt,n,{question:0,response:1})}}var kt={local:{},session:{}};const St=function(t,e,i){var s,o,r,n,a,l,h,c;(null==i?void 0:i.onError)&&console.warn("onError has been deprecated. Please use onWriteError instead");const d=null!=(s=null==i?void 0:i.serializer)?s:JSON,p=null!=(o=null==i?void 0:i.storage)?o:"local",u=null==(r=null==i?void 0:i.syncTabs)||r,g=null!=(a=null!=(n=null==i?void 0:i.onWriteError)?n:null==i?void 0:i.onError)?a:e=>console.error(`Error when writing value from persisted store "${t}" to ${p}`,e),m=null!=(l=null==i?void 0:i.onParseError)?l:(e,i)=>console.error(`Error when parsing ${e?'"'+e+'"':"value"} from persisted store "${t}"`,i),f=null!=(h=null==i?void 0:i.beforeRead)?h:t=>t,b=null!=(c=null==i?void 0:i.beforeWrite)?c:t=>t,y="undefined"!=typeof window&&"undefined"!=typeof document,x=y?"local"===p?localStorage:sessionStorage:null;function v(t,e){const i=b(e);try{null==x||x.setItem(t,d.stringify(i))}catch(t){g(t)}}if(!kt[p][t]){const i=ht(function(){const i=null==x?void 0:x.getItem(t);if(null==i)return e;const s=function(t){try{return d.parse(t)}catch(e){m(t,e)}}(i);return null==s?e:f(s)}(),(e=>{if(y&&"local"==p&&u){const i=i=>{if(i.key===t&&i.newValue){let t;try{t=d.parse(i.newValue)}catch(t){return void m(i.newValue,t)}const s=f(t);e(s)}};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)}})),{subscribe:s,set:o}=i;kt[p][t]={set(e){o(e),v(t,e)},update:e=>i.update((i=>{const s=e(i);return v(t,s),s})),reset(){this.set(e)},subscribe:s}}return kt[p][t]}("svelte:theme",{preference:"system",current:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"});function At(t){let e,i;return{c(){e=new A(!1),i=x(),e.a=i},m(t,s){e.m('',t,s),u(t,i,s)},d(t){t&&(g(i),e.d())}}}function Mt(t){let e,i;return{c(){e=new A(!1),i=x(),e.a=i},m(t,s){e.m('',t,s),u(t,i,s)},d(t){t&&(g(i),e.d())}}}function Pt(t){let e,i,s,o,r,n,a;const l=t[4].default,c=function(t,e,i,s){if(t){const o=h(t,e,i,s);return t[0](o)}}(l,t,t[3],null);let d=function(t){let e;function i(t,e){return"dark"===t[0].current?Mt:At}let s=i(t),o=s(t);return{c(){o.c(),e=x()},m(t,i){o.m(t,i),u(t,e,i)},p(t,r){s!==(s=i(t))&&(o.d(1),o=s(t),o&&(o.c(),o.m(e.parentNode,e)))},d(t){t&&g(e),o.d(t)}}}(t);return{c(){e=f("button"),c&&c.c(),i=y(),s=f("span"),o=f("span"),d&&d.c(),w(o,"class","icon svelte-1rpfrgq"),w(s,"class","check svelte-1rpfrgq"),S(s,"checked","dark"===t[0].current),w(e,"type","button"),w(e,"class","svelte-1rpfrgq")},m(l,h){u(l,e,h),c&&c.m(e,null),p(e,i),p(e,s),p(s,o),d&&d.m(o,null),r=!0,n||(a=v(e,"click",t[1]),n=!0)},p(t,[e]){c&&c.p&&(!r||8&e)&&function(t,e,i,s,o,r){if(o){const n=h(e,i,s,r);t.p(n,o)}}(c,l,t,t[3],r?function(t,e,i,s){if(t[2]&&s){const o=t[2](s(i));if(void 0===e.dirty)return o;if("object"==typeof o){const t=[],i=Math.max(e.dirty.length,o.length);for(let s=0;s32){const e=[],i=t.ctx.length/32;for(let t=0;ti(0,s=t)));let{$$slots:o={},$$scope:r}=e;const n=t=>St.set({preference:s.preference,current:t.matches?"dark":"light"});let a;return O((()=>a?.removeEventListener("change",n))),L((()=>{(document.getElementById("container")||{}).className="system"===s.current?"":`highcharts-${s.current}`,"system"===s.preference&&(i(2,a=window.matchMedia("(prefers-color-scheme: dark)")),a.addEventListener("change",n)),document.documentElement.setAttribute("data-bs-theme",s.current)})),t.$$set=t=>{"$$scope"in t&&i(3,r=t.$$scope)},t.$$.update=()=>{4&t.$$.dirty&&a?.removeEventListener("change",n)},[s,function(){const t="light"===s.current?"dark":"light";t===(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")?c(St,s.preference="system",s):c(St,s.preference=t,s),document.documentElement.setAttribute("data-bs-theme",t),(document.getElementById("container")||{}).className=`highcharts-${t}`,c(St,s.current=t,s)},a,r,o]}St.subscribe((t=>{document.body.classList.remove("light","dark"),document.body.classList.add(t.current)}));class Et extends nt{constructor(t){super(),rt(this,t,Tt,Pt,n,{})}}function Lt(e){let i,s,o,r,n,a,l;return a=new Et({}),{c(){i=f("nav"),s=f("a"),s.textContent="An Educated Guess",o=y(),r=f("div"),r.innerHTML='',n=y(),it(a.$$.fragment),w(s,"class","navbar-brand p-3"),w(s,"href","#/"),w(r,"class","collapse navbar-collapse"),w(r,"id","navbarNavAltMarkup"),w(i,"class","navbar navbar-expand")},m(t,e){u(t,i,e),p(i,s),p(i,o),p(i,r),p(i,n),st(a,i,null),l=!0},p:t,i(t){l||(Z(a.$$.fragment,t),l=!0)},o(t){J(a.$$.fragment,t),l=!1},d(t){t&&g(i),ot(a)}}}class Dt extends nt{constructor(t){super(),rt(this,t,null,Lt,n,{})}}var Ot="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function jt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Nt,It,Bt={exports:{}};It=function(t){var e=t?t._modules:{};function i(e,i,s,o){e.hasOwnProperty(i)||(e[i]=o.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Accessibility/Utils/HTMLUtilities.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{doc:i,win:s}=t,{css:o}=e,r=s.EventTarget&&new s.EventTarget||"none";function n(t){if("function"==typeof s.MouseEvent)return new s.MouseEvent(t.type,t);if(i.createEvent){let e=i.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t.type,t.bubbles,t.cancelable,t.view||s,t.detail,t.screenX,t.screenY,t.clientX,t.clientY,t.ctrlKey,t.altKey,t.shiftKey,t.metaKey,t.button,t.relatedTarget),e}return a(t.type)}function a(t,e,o){let n=e||{x:0,y:0};if("function"==typeof s.MouseEvent)return new s.MouseEvent(t,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:o||r,view:s,detail:"click"===t?1:0,screenX:n.x,screenY:n.y,clientX:n.x,clientY:n.y});if(i.createEvent){let e=i.createEvent("MouseEvent");if(e.initMouseEvent)return e.initMouseEvent(t,!0,!0,s,"click"===t?1:0,n.x,n.y,n.x,n.y,!1,!1,!1,!1,0,null),e}return{type:t}}return{addClass:function(t,e){t.classList?t.classList.add(e):0>t.className.indexOf(e)&&(t.className+=" "+e)},cloneMouseEvent:n,cloneTouchEvent:function(t){let e=t=>{let e=[];for(let i=0;i/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(t){return i.getElementById(t)},getFakeMouseEvent:a,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"p";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:r,stripHTMLTagsFromString:function(t,e=!1){return"string"==typeof t?e?t.replace(/<\/?[^>]+(>|$)/g,""):t.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):t},visuallyHideElement:function(t){o(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})}}})),i(e,"Accessibility/A11yI18n.js",[e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{format:s}=t,{getNestedProperty:o,pick:r}=e;return function(t){function e(t,e,i){let n,a,l=(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}},h=[],c=0;do{n=l(t,c),(a=t.substring(c,n&&n.begin-1)).length&&h.push({value:a,type:"constant"}),n&&h.push({value:n.statement,type:"statement"}),c=n?n.end+1:c+1}while(n);return h.forEach((t=>{"statement"===t.type&&(t.value=function(t,e){let i,s,n=t.indexOf("#each("),a=t.indexOf("#plural("),l=t.indexOf("["),h=t.indexOf("]");if(n>-1){let r,a=t.slice(n).indexOf(")")+n,l=t.substring(0,n),h=t.substring(a+1),c=t.substring(n+6,a).split(","),d=Number(c[1]);if(s="",i=o(c[0],e)){r=(d=isNaN(d)?i.length:d)<0?i.length+d:Math.min(d,i.length);for(let t=0;t-1){var c;let i=t.slice(a).indexOf(")")+a,n=t.substring(a+8,i).split(",");switch(Number(o(n[0],e))){case 0:s=r(n[4],n[1]);break;case 1:s=r(n[2],n[1]);break;case 2:s=r(n[3],n[1]);break;default:s=n[1]}return s?(c=s).trim&&c.trim()||c.replace(/^\s+|\s+$/g,""):""}if(l>-1){let s,r=t.substring(0,l),n=Number(t.substring(l+1,h));return i=o(r,e),!isNaN(n)&&i&&(n<0?void 0===(s=i[i.length+n])&&(s=i[0]):void 0===(s=i[n])&&(s=i[i.length-1])),void 0!==s?s:""}return"{"+t+"}"}(t.value,e))})),s(h.reduce(((t,e)=>t+e.value),""),e,i)}function i(t,i){let s=t.split("."),o=this.options.lang,r=0;for(;r!!t.graphic));return e&&e.graphic&&e.graphic.element}}function h(t){let e=l(t);return e&&e.parentNode||t.graph&&t.graph.element||t.group&&t.group.element}return{fireEventOnWrappedOrUnwrappedElement:function t(e,i){let o=i.type,r=e.hcEvents;s.createEvent&&(e.dispatchEvent||e.fireEvent)?e.dispatchEvent?e.dispatchEvent(i):e.fireEvent(o,i):r&&r[o]?a(e,o,i):e.element&&t(e.element,i)},getChartTitle:function(t){return o(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&&"categories"||t.dateTime&&"Time"||"values")},getAxisRangeDescription:function(t){let e=t.options||{};return e.accessibility&&void 0!==e.accessibility.rangeDescription?e.accessibility.rangeDescription:t.categories?function(t){let e=t.chart;return t.dataMax&&t.dataMin?e.langFormat("accessibility.axis.rangeCategories",{chart:e,axis:t,numCategories:t.dataMax-t.dataMin+1}):""}(t):!t.dateTime||0!==t.min&&0!==t.dataMin?function(t){let e=t.chart,i=e.options,s=i&&i.accessibility&&i.accessibility.screenReaderSection.axisRangeDateFormat||"",o={min:t.dataMin||t.min||0,max:t.dataMax||t.max||0},r=function(i){return t.dateTime?e.time.dateFormat(s,o[i]):o[i].toString()};return e.langFormat("accessibility.axis.rangeFromTo",{chart:e,axis:t,rangeFrom:r("min"),rangeTo:r("max")})}(t):function(t){let e=t.chart,i={},s=t.dataMin||t.min||0,o=t.dataMax||t.max||0,r="Seconds";i.Seconds=(o-s)/1e3,i.Minutes=i.Seconds/60,i.Hours=i.Minutes/60,i.Days=i.Hours/24,["Minutes","Hours","Days"].forEach((function(t){i[t]>2&&(r=t)}));let n=i[r].toFixed("Seconds"!==r&&"Minutes"!==r?1:0);return e.langFormat("accessibility.axis.timeRange"+r,{chart:e,axis:t,range:n.replace(".0","")})}(t)},getPointFromXY:function(t,e,i){let s,o=t.length;for(;o--;)if(s=n(t[o].points||[],(function(t){return t.x===e&&t.y===i})))return s},getSeriesFirstPointElement:l,getSeriesFromName:function(t,e){return e?(t.series||[]).filter((function(t){return t.name===e})):t.series},getSeriesA11yElement:h,unhideChartElementFromAT:function t(e,i){i.setAttribute("aria-hidden",!1),i!==e.renderTo&&i.parentNode&&i.parentNode!==s.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=h(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&&r(o.to)&&r(o.from)){let e=o.to-o.from,i=function(t,e){if(!r(t.dataMin)||!r(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),a(o,"changed",{from:o.from,to:o.to,trigger:"scrollbar",DOMEvent:null})}}}})),i(e,"Accessibility/Utils/DOMElementProvider.js",[e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e){let{doc:i}=t,{removeElement:s}=e;return class{constructor(){this.elements=[]}createElement(){let t=i.createElement.apply(i,arguments);return this.elements.push(t),t}removeElement(t){s(t),this.elements.splice(this.elements.indexOf(t),1)}destroyCreatedElements(){this.elements.forEach((function(t){s(t)})),this.elements=[]}}})),i(e,"Accessibility/Utils/EventProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{addEvent:i}=e;return class{constructor(){this.eventRemovers=[]}addEvent(){let e=i.apply(t,arguments);return this.eventRemovers.push({element:arguments[0],remover:e}),e}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=[]}}})),i(e,"Accessibility/AccessibilityComponent.js",[e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{fireEventOnWrappedOrUnwrappedElement:r}=t,{getFakeMouseEvent:n}=s,{extend:a}=o;class l{initBase(t,s){this.chart=t,this.eventProvider=new i,this.domElementProvider=new e,this.proxyProvider=s,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){r(t,n("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}return a(l.prototype,{init(){},getKeyboardNavigation:function(){},onChartUpdate(){},onChartRender(){},destroy(){}}),l})),i(e,"Accessibility/KeyboardNavigationHandler.js",[e["Core/Utilities.js"]],(function(t){let{find:e}=t;return 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 i=t.which||t.keyCode,s=this.response.noHandler,o=e(this.keyCodeMap,(function(t){return t[0].indexOf(i)>-1}));return o?s=o[1].call(this,i,t):9===i&&(s=this.response[t.shiftKey?"prev":"next"]),s}}})),i(e,"Accessibility/Components/ContainerComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,o){let{unhideChartElementFromAT:r,getChartTitle:n}=i,{doc:a}=s,{stripHTMLTagsFromString:l}=o;return class extends t{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let t=this.chart,e="highcharts-title-"+t.index,i=l(t.langFormat("accessibility.svgContainerTitle",{chartTitle:n(t)}));if(i.length){let s=this.svgTitleElement=this.svgTitleElement||a.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:n(t)});t.renderer.box&&e.length&&t.renderer.box.setAttribute("aria-label",e)}setGraphicContainerAttrs(){let t=this.chart,e=t.langFormat("accessibility.graphicContainerLabel",{chartTitle:n(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:n(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:l(e.textStr,t.renderer.forExport)})),r(t,e.element))}getKeyboardNavigation(){let t=this.chart;return new e(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)}}})),i(e,"Accessibility/FocusBorder.js",[e["Core/Utilities.js"]],(function(t){var e;let{addEvent:i,pick:s}=t;return function(t){let e=["x","y","transform","width","height","r","d","stroke-width"];function o(){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 r(t,e){let s=this.options.accessibility.keyboardNavigation.focusBorder,o=e||t.element;o&&o.focus&&(o.hcEvents&&o.hcEvents.focusin||i(o,"focusin",(function(){})),o.focus(),s.hideBrowserFocusOutline&&(o.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=t,this.renderFocusBorder()}function n(t,i){this.focusBorder&&this.removeFocusBorder();let o=this.getBBox(),r=s(t,3),n=this.parentGroup,a=this.scaleX||n&&n.scaleX,l=this.scaleY||n&&n.scaleY,h=(a?!l:l)?Math.abs(a||l||1):(Math.abs(a||1)+Math.abs(l||1))/2;o.x+=this.translateX?this.translateX:0,o.y+=this.translateY?this.translateY:0;let c=o.x-r,d=o.y-r,p=o.width+2*r,u=o.height+2*r,g=!!this.text;if("text"===this.element.nodeName||g){let t,e,i=!!this.rotation,s=g?{x:i?1:0,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)||(c=n-o.width*s.x-r),isNaN(a)||(d=a-o.height*s.y-r),g&&i){let t=p;p=u,u=t,isNaN(n)||(c=n-o.height*s.x-r),isNaN(a)||(d=a-o.width*s.y-r)}}this.focusBorder=this.renderer.rect(c,d,p,u,parseInt((i&&i.r||0).toString(),10)/h).addClass("highcharts-focus-border").attr({zIndex:99}).add(n),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,"stroke-width":(i&&i.strokeWidth||0)/h}),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.focusBorder.destroy(),e.apply(t,arguments)},t.focusBorderDestroyHook=e}(this)}function a(){var t;(t=this).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 i=t.prototype,s=e.prototype;i.renderFocusBorder||(i.renderFocusBorder=o,i.setFocusToElement=r),s.addFocusBorder||(s.addFocusBorder=n,s.removeFocusBorder=a)}}(e||(e={})),e})),i(e,"Accessibility/Utils/Announcer.js",[e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{doc:r}=i,{addClass:n,visuallyHideElement:a}=s,{attr:l}=o;return class{constructor(t,i){this.chart=t,this.domElementProvider=new e,this.announceRegion=this.addAnnounceRegion(i)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(e){t.setElementHTML(this.announceRegion,e),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout((()=>{this.announceRegion.innerHTML=t.emptyHTML,delete this.clearAnnouncementRegionTimer}),3e3)}addAnnounceRegion(t){let e=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return l(i,{"aria-hidden":!1,"aria-live":t,"aria-atomic":!0}),this.chart.styledMode?n(i,"highcharts-visually-hidden"):a(i),e.appendChild(i),i}createAnnouncerContainer(){let t=this.chart,e=r.createElement("div");return l(e,{"aria-hidden":!1,class:"highcharts-announcer-container"}),e.style.position="relative",t.renderTo.insertBefore(e,t.renderTo.firstChild),t.announcerContainer=e,e}}})),i(e,"Accessibility/Components/AnnotationsA11y.js",[e["Accessibility/Utils/HTMLUtilities.js"]],(function(t){let{escapeStringForHTML:e,stripHTMLTagsFromString:i}=t;function s(t){return(t.annotations||[]).reduce(((t,e)=>(e.options&&!1!==e.options.visible&&(t=t.concat(e.labels)),t)),[])}function o(t){return t.options&&t.options.accessibility&&t.options.accessibility.description||t.graphic&&t.graphic.text&&t.graphic.text.textStr||""}function r(t){let e=t.options&&t.options.accessibility&&t.options.accessibility.description;if(e)return e;let i=t.chart,s=o(t),r=t.points,n=r.filter((t=>!!t.graphic)).map((t=>{let e=t.accessibility&&t.accessibility.valueDescription||(t=>t.graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||"")(t),i=t&&t.series.name||"";return(i?i+", ":"")+"data point "+e})).filter((t=>!!t)),a=n.length,l=a>1?"MultiplePoints":a?"SinglePoint":"NoPoints",h={annotationText:s,annotation:t,numPoints:a,annotationPoint:n[0],additionalAnnotationPoints:n.slice(1)};return i.langFormat("accessibility.screenReaderSection.annotations.description"+l,h)}function n(t){return s(t).map((s=>{let o=e(i(r(s),t.renderer.forExport));return o?`
  • ${o}
  • `:""}))}return{getAnnotationsInfoHTML:function(t){let e=t.annotations;return e&&e.length?`
      ${n(t).join(" ")}
    `:""},getAnnotationLabelDescription:r,getAnnotationListItems:n,getPointAnnotationTexts:function(t){let e=s(t.series.chart).filter((e=>e.points.indexOf(t)>-1));return e.length?e.map((t=>`${o(t)}`)):[]}}})),i(e,"Accessibility/Components/InfoRegionsComponent.js",[e["Accessibility/A11yI18n.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Components/AnnotationsA11y.js"],e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o,r,n,a,l,h){let{getAnnotationsInfoHTML:c}=s,{getAxisDescription:d,getAxisRangeDescription:p,getChartTitle:u,unhideChartElementFromAT:g}=r,{format:m}=n,{doc:f}=a,{addClass:b,getElement:y,getHeadingTagNameForElement:x,stripHTMLTagsFromString:v,visuallyHideElement:w}=l,{attr:C,pick:k,replaceNested:S}=h;function A(t){return S(t,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}return class extends e{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")})),this.announcer=new i(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.defaultBeforeChartFormatter(i)},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.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(){let t=this;this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),Object.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=m(t,this.chart),i=f.querySelectorAll(e);return 1===i.length?i[0]:void 0}setLinkedDescriptionAttrs(){let t=this.linkedDescriptionElement;t&&(t.setAttribute("aria-hidden","true"),b(t,"highcharts-linked-description"))}updateScreenReaderSection(t){let e=this.chart,i=this.screenReaderSections[t],s=i.buildContent(e),r=i.element=i.element||this.createElement("div"),n=r.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(r,t),o.setElementHTML(n,s),r.appendChild(n),i.insertIntoDOM(r,e),e.styledMode?b(n,"highcharts-visually-hidden"):w(n),g(e,n),i.afterInserted&&i.afterInserted()):(r.parentNode&&r.parentNode.removeChild(r),i.element=null)}setScreenReaderSectionAttribs(t,e){let i=this.chart,s=i.langFormat("accessibility.screenReaderSection."+e+"RegionLabel",{chart:i,chartTitle:u(i)});C(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 e=this.chart,i=e.options.accessibility.screenReaderSection.beforeChartFormat;if(!i)return"";let s=this.getAxesDescription(),o=e.sonify&&e.options.sonification&&e.options.sonification.enabled,r="highcharts-a11y-sonify-data-btn-"+e.index,n="hc-linkto-highcharts-data-table-"+e.index,a=c(e),l=e.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:e}),h={headingTagName:x(e.renderTo),chartTitle:u(e),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:s.xAxis,yAxisDescription:s.yAxis,playAsSoundButton:o?this.getSonifyButtonText(r):"",viewTableButton:e.getCSV?this.getDataTableButtonText(n):"",annotationsTitle:a?l:"",annotationsList:a},d=t.i18nFormat(i,h,e);return this.dataTableButtonId=n,this.sonifyButtonId=r,A(d)}defaultAfterChartFormatter(){let e=this.chart,i=e.options.accessibility.screenReaderSection.afterChartFormat;if(!i)return"";let s={endOfChartMarker:this.getEndOfChartMarkerText()};return A(t.i18nFormat(i,s,e))}getLinkedDescription(){let t=this.linkedDescriptionElement;return v(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(){let t=this.chart;return t.types?t.options.accessibility.typeDescription||function(t,e){let i=e[0],s=t.series&&t.series[0]||{},o=t.mapView&&t.mapView.geoMap&&t.mapView.geoMap.title,r={numSeries:t.series.length,numPoints:s.points&&s.points.length,chart:t,mapTitle:o};return i?"map"===i||"tiledwebmap"===i?r.mapTitle?t.langFormat("accessibility.chartTypes.mapTypeDescription",r):t.langFormat("accessibility.chartTypes.unknownMap",r):t.types.length>1?t.langFormat("accessibility.chartTypes.combinationChart",r):function(t,e,i){let s=e[0],o=t.langFormat("accessibility.seriesTypeDescriptions."+s,i),r=t.series&&t.series.length<2?"Single":"Multiple";return(t.langFormat("accessibility.chartTypes."+s+r,i)||t.langFormat("accessibility.chartTypes.default"+r,i))+(o?" "+o:"")}(t,e,r):t.langFormat("accessibility.chartTypes.emptyChart",r)}(t,t.types):""}getDataTableButtonText(t){let e=this.chart;return'"}getSonifyButtonText(t){let e=this.chart;return e.options.sonification&&!1===e.options.sonification.enabled?"":'"}getSubtitleText(){let t=this.chart.options.subtitle;return v(t&&t.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let t=y(`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'
    '+i+"
    "}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=y(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)})}initDataTableButton(t){let e=this.viewDataTableButton=y(t),i=this.chart,s=t.replace("hc-linkto-","");e&&(C(e,{tabindex:-1,"aria-expanded":!!y(s)}),e.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.viewData()})}getAxesDescription(){let t=this.chart,e=function(e,i){let s=t[e];return s.length>1||s[0]&&k(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 d(t)})),ranges:i.map((function(t){return p(t)})),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}}})),i(e,"Accessibility/Components/MenuComponent.js",[e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,o){let{attr:r}=t,{getChartTitle:n,unhideChartElementFromAT:a}=s,{getFakeMouseEvent:l}=o;function h(t){return t.exportSVGElements&&t.exportSVGElements[0]}class c extends e{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.exportContextMenu;t&&t.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}onMenuShown(){let t=this.chart,e=t.exportContextMenu;e&&(this.addAccessibleContextMenuAttribs(),a(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.exportingGroup&&(e.focusBorder?t.setFocusToElement(e,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){let t=this.chart,e=this.proxyProvider,i=h(t);(function(t){let e=t.options.exporting,i=h(t);return!!(e&&!1!==e.enabled&&e.accessibility&&e.accessibility.enabled&&i&&i.element)})(t)&&i&&(this.exportButtonProxy=e.addProxyElement("chartMenu",{click:i},"button",{"aria-label":t.langFormat("accessibility.exporting.menuButtonLabel",{chart:t,chartTitle:n(t)}),"aria-expanded":!1,title:t.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){let t=this.chart,e=t.exportDivElements;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&&r(i,{"aria-hidden":void 0,"aria-label":t.langFormat("accessibility.exporting.chartMenuLabel",{chart:t}),role:"list"})}}getKeyboardNavigation(){let t=this.keyCodes,e=this.chart,s=this;return new i(e,{keyCodeMap:[[[t.left,t.up],function(){return s.onKbdPrevious(this)}],[[t.right,t.down],function(){return s.onKbdNext(this)}],[[t.enter,t.space],function(){return s.onKbdClick(this)}]],validate:function(){return!!e.exporting&&!1!==e.options.exporting.enabled&&!1!==e.options.exporting.accessibility.enabled},init:function(){let t=s.exportButtonProxy,i=s.chart.exportingGroup;t&&i&&e.setFocusToElement(i,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{t&&"highcharts-menu-item"===t.className&&t.onmouseout&&t.onmouseout(l("mouseout"))})),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function s(t){let e=this.exportDivElements&&this.exportDivElements[t],i=this.exportDivElements&&this.exportDivElements[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(l("mouseout")),e.onmouseover&&e.onmouseover(l("mouseover")),this.highlightedExportItemIx=t,!0}return!1}function o(){if(this.exportDivElements){let t=this.exportDivElements.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)}}(c||(c={})),c})),i(e,"Accessibility/KeyboardNavigation.js",[e["Core/Globals.js"],e["Accessibility/Components/MenuComponent.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,o){let{doc:r,win:n}=t,{addEvent:a,defined:l,fireEvent:h}=i,{getElement:c,simulatedEventTarget:d}=o;class p{constructor(t,e){this.currentModuleIx=NaN,this.modules=[],this.init(t,e)}init(t,e){let i=this.eventProvider=new s;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(r,t,(t=>this.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=c(`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!==d){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||n.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=r.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&&l(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||n.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&&t.dismissPopupContent&&t.dismissPopupContent()}))}i.compose=function(t){e.compose(t);let i=t.prototype;return i.dismissPopupContent||(i.dismissPopupContent=s,a(r,"keydown",o)),t}}(p||(p={})),p})),i(e,"Accessibility/Components/LegendComponent.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Legend/Legend.js"],e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,o,r,n,a){let{animObject:l}=t,{doc:h}=e,{addEvent:c,fireEvent:d,isNumber:p,pick:u,syncTimeout:g}=s,{getChartTitle:m}=n,{stripHTMLTagsFromString:f,addClass:b,removeClass:y}=a;function x(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 v(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&&d(o,t?"mouseover":"mouseout")}}class w extends o{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let t=this;this.recreateProxies(),this.addEvent(i,"afterScroll",(function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),t.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(t.highlightedLegendItemIx))})),this.addEvent(i,"afterPositionItem",(function(e){this.chart===t.chart&&this.chart.renderer&&t.updateProxyPositionForItem(e.item)})),this.addEvent(i,"afterRender",(function(){this.chart===t.chart&&this.chart.renderer&&t.recreateProxies()&&g((()=>t.proxyProvider.updateGroupProxyElementPositions("legend")),l(u(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?b(a,"highcharts-a11y-invisible"):a.style.visibility="hidden":(y(a,"highcharts-a11y-invisible"),a.style.visibility="")}}))}onChartRender(){x(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=h.activeElement,e=this.proxyGroup,i=t&&e&&e.contains(t);return this.removeProxies(),!!x(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=f((t.legend&&t.legend.options.title&&t.legend.options.title.text||"").replace(/
    /g," "),t.renderer.forExport),i=t.langFormat("accessibility.legend.legendLabel"+(e?"":"NoTitle"),{chart:t,legendTitle:e,chartTitle:m(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||{};if(!e.label||!e.group)return;let i=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:f(t.name,this.chart.renderer.forExport),item:t}),s={tabindex:-1,"aria-pressed":t.visible,"aria-label":i},o=e.group.div?e.label:e.group;t.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:e.label,visual:o.element},"button",s)}getKeyboardNavigation(){let t=this.keyCodes,e=this,i=this.chart;return new r(i,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(t){return e.onKbdArrowKey(this,t)}],[[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=>v(!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(!x(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()}}return function(t){function e(t){let e=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,s=e[t],o=s?.legendItem||{};if(s){p(i)&&e[i]&&v(!1,e[i]),function(t,e){let i=(t.allItems[e].legendItem||{}).pageIx,s=t.currentPage;void 0!==i&&i+1!==s&&t.scroll(1+i-s)}(this.legend,t);let r=o.label,n=s.a11yProxyElement&&s.a11yProxyElement.innerElement;return r&&r.element&&n&&this.setFocusToElement(r,n),v(!0,s),!0}return!1}function i(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")}t.compose=function(t,s){let o=t.prototype;o.highlightLegendItem||(o.highlightLegendItem=e,c(s,"afterColorizeItem",i))}}(w||(w={})),w})),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.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 c(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 d(){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",c),o(t,"beforeRender",d),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 c(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,c=s.zooming.type;if(this.isXAxis&&(n?.enabled||h?.enabled))if("y"===c&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===c||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 c{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,c=a(i,l.translate(t,!0,!l.horiz)),d=a(s,l.translate(e,!0,!l.horiz));return r(i)||(c=o(c+h)),r(s)||(d=o(d-h)),n(c)&&n(d)||(c=d=void 0),{min:c,max:d}}}return c})),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,i,s,o,r,n,a){let{setOptions:l}=t,{composed:h}=e,{getRendererType:c}=r,{setFixedRange:d}=n,{addEvent:p,extend:u,pushUnique:g}=a;function m(){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=d,u(c().prototype.symbols,o),p(r,"afterUpdate",m),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),c=h-l;if(r(n)&&r(a))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=l+c*this.to,o=l+c*this.from):(s=l+c*(1-this.from),o=l+c*(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 c(){let t,e,s,{scrollMin:o,scrollMax:n}=i(this),a=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,c=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?c:0),this.width,this.height),this.opposite||(h[1]+=c),t=1;else{let e;this.opposite&&(h[0]+=l),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:c):this.opposite?0:c,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=c),t=0}h[t]+=a.size+(a.options.margin||0),isNaN(o)||isNaN(n)||!r(this.min)||!r(this.max)||this.min===this.max?a.setRange(0,1):(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",c))}}(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:c,fireEvent:d,merge:p,pick:u,removeEvent:g}=o;class m{static compose(t){i.compose(t,m)}static swapXY(t,e){return e&&t.forEach((t=>{let e,i=t.length;for(let s=0;sthis.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,c(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(m.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&&d(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&d(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(m.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,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!h(l))return;let d=l*Math.min(e,1);i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=a(d-i),s=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),d(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 m.defaultOptions=s,r.scrollbar=p(!0,m.defaultOptions,r.scrollbar),m})),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.js"],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:c}=s,{prototype:{symbols:d}}=a,{addEvent:p,clamp:u,correctFloat:g,defined:m,destroyObjectProperties:f,erase:b,extend:y,find:x,fireEvent:v,isArray:w,isNumber:C,merge:k,pick:S,removeEvent:A,splat:M}=l;function P(t,...e){let i=[].filter.call(e,C);if(i.length)return Math[t].apply(0,i)}class T{static compose(t,i,s){e.compose(t,T),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,r,n=this.navigatorOptions.maskInside,a=this.outline.strokeWidth(),l=a/2,h=a%2/2,c=this.scrollButtonSize,d=this.size,p=this.top,u=this.height,g=p-l,m=p+u,f=this.left;i?(o=p+e+h,r=[["M",f+u,p-c-h],["L",f+u,o],["L",f,o],["M",f,e=p+t+h],["L",f+u,e],["L",f+u,p+d+c]],n&&r.push(["M",f+u,o-l],["L",f+u,e+l])):(f-=c,r=[["M",f,g],["L",t+=f+c-h,g],["L",t,m],["M",e+=f+c-h,m],["L",e,g],["L",f+d+2*c,g]],n&&r.push(["M",t-l,g],["L",e+l,g])),this.outline[s]({d:r})}drawMasks(t,e,i,s){let o,r,n,a,l=this.left,h=this.top,c=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],r=[c,c,c],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=[c,c,c]),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]){if(h!==t.handles[e].symbolName){let i=d[h].call(d,-l/2-1,0,l,o);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else 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);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(k(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),m(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=>{A(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,r,n,a,l,h=this.chart,c=this.xAxis,d=c.pointRange||0,p=c.navigatorAxis.fake?h.xAxis[0]:c,f=this.navigatorEnabled,b=this.rendered,y=h.inverted,x=h.xAxis[0].minRange,w=h.xAxis[0].options.maxRange,k=this.scrollButtonSize,A=this.scrollbarHeight;if(this.hasDragged&&!m(i))return;if(this.isDirty&&this.renderElements(),t=g(t-d/2),e=g(e+d/2),!C(t)||!C(e)){if(!b)return;i=0,s=S(c.width,p.width)}this.left=S(c.left,h.plotLeft+k+(y?h.plotWidth:0));let M=this.size=a=S(c.len,(y?h.plotHeight:h.plotWidth)-2*k);o=y?A:a+2*k,i=S(i,c.toPixels(t,!0)),s=S(s,c.toPixels(e,!0)),C(i)&&Math.abs(i)!==1/0||(i=0,s=o);let P=c.toValue(i,!0),T=c.toValue(s,!0),E=Math.abs(g(T-P));Ew&&(this.grabbedLeft?i=c.toPixels(T-w-d,!0):this.grabbedRight&&(s=c.toPixels(P+w+d,!0))),this.zoomedMax=u(Math.max(i,s),0,M),this.zoomedMin=u(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax);let L=Math.round(this.zoomedMin);f&&(this.navigatorGroup.attr({visibility:"inherit"}),l=b&&!this.hasDragged?"animate":"attr",this.drawMasks(L,M,y,l),this.drawOutline(L,M,y,l),this.navigatorOptions.handles.enabled&&(this.drawHandle(L,0,y,l),this.drawHandle(M,1,y,l))),this.scrollbar&&(y?(n=this.top-k,r=this.left-A+(f||!p.opposite?0:(p.titleOffset||0)+p.axisTitleMargin),A=a+2*k):(n=this.top+(f?this.height:-A),r=this.left-k),this.scrollbar.position(r,n,o,A),this.scrollbar.setRange(this.zoomedMin/(a||1),this.zoomedMax/(a||1))),this.rendered=!0,this.isDirty=!1,v(this,"afterRender")}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=i.getPartsEvents("mousedown")).push(p(s.renderTo,"mousemove",t),p(o.ownerDocument,"mouseup",e),p(s.renderTo,"touchmove",t),p(o.ownerDocument,"touchend",e)),r.concat(i.getPartsEvents("touchstart")),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push(p(i.series[0].xAxis,"foundExtremes",(function(){s.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,s,o,r,n=this.chart,a=this.xAxis,l=this.zoomedMin,h=this.size,c=this.range,d=this.left,p=t.chartX;n.inverted&&(p=t.chartY,d=this.top),1===e?(this.grabbedCenter=p,this.fixedWidth=c,this.dragOffset=p-l):(r=p-d-c/2,0===e?r=Math.max(0,r):2===e&&r+c>=h&&(r=h-c,this.reversedExtremes?(r-=c,s=this.getUnionExtremes().dataMin):i=this.getUnionExtremes().dataMax),r!==l&&(this.fixedWidth=c,m((o=a.navigatorAxis.toFixedRange(r,r+c,s,i)).min)&&v(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.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,i=this,s=i.chart,o=i.navigatorSize,r=i.range,n=i.dragOffset,a=s.inverted,l=i.left;(!t.touches||0!==t.touches[0].pageX)&&(e=(t=s.pointer?.normalize(t)||t).chartX,a&&(l=i.top,e=t.chartY),i.grabbedLeft?(i.hasDragged=!0,i.render(0,0,e-l,i.otherHandlePos)):i.grabbedRight?(i.hasDragged=!0,i.render(0,0,i.otherHandlePos,e-l)):i.grabbedCenter&&(i.hasDragged=!0,eo+n-r&&(e=o+n-r),i.render(0,0,e-n,e-n+r)),i.hasDragged&&i.scrollbar&&S(i.scrollbar.options.liveRedraw,!c&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout((function(){i.onMouseUp(t)}),0)))}onMouseUp(t){let e,i,s,o,r,n,a=this.chart,l=this.xAxis,h=this.scrollbar,c=t.DOMEvent||t,d=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),m((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:c}})),"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&&C(this.zoomedMin)&&C(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,d,p),this.outline&&this.drawOutline(i,e,d,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,p),this.drawHandle(e,1,d,p)))}removeEvents(){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){A(t,"updatedData",this.updatedDataHandler)}),this),t[0].xAxis&&A(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,c=l&&a.height||0,d=a.buttonsEnabled&&c||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=h,this.scrollbarHeight=c,this.scrollButtonSize=d,this.scrollbarEnabled=l,this.navigatorEnabled=r,this.navigatorOptions=s,this.scrollbarOptions=a,this.setOpposite();let u=this,g=u.baseSeries,m=e.xAxis.length,f=e.yAxis.length,b=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,k({breaks:b.options.breaks,ordinal:b.options.ordinal,overscroll:b.options.overscroll},s.xAxis,{type:"datetime",index:m,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:b.options.ordinal?0:b.options.minPadding,maxPadding:b.options.ordinal?0:b.options.maxPadding,zoomEnabled:!1},e.inverted?{offsets:i,width:h}:{offsets:i,height:h}),"xAxis"),u.yAxis=new t(e,k(s.yAxis,{alignTicks:!1,offset:0,index:f,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*d,n=P("min",s.options.min,o.dataMin),a=P("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=k(e.options.scrollbar,{vertical:e.inverted});!C(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,P("min",r.min,i.dataMin,s.dataMin,s.min)),dataMax:S(o&&o.max,P("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?x(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,s,o,r=this,n=r.chart,a=r.baseSeries,l={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}}},c=r.series=(r.series||[]).filter((t=>{let e=t.baseSeries;return!(0>a.indexOf(e)&&(e&&(A(e,"updatedData",r.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))})),d=r.navigatorOptions.series;a&&a.length&&a.forEach((t=>{let p=t.navigatorSeries,u=y({color:t.color,visible:t.visible},w(d)?h.navigator.series:d);if(p&&!1===r.navigatorOptions.adaptToUpdatedData)return;l.name="Navigator "+a.length,o=(i=t.options||{}).navigatorOptions||{},u.dataLabels=M(u.dataLabels),(s=k(i,l,u,o)).pointRange=S(u.pointRange,o.pointRange,h.plotOptions[s.type||"line"].pointRange);let g=o.data||u.data;r.hasNavigatorData=r.hasNavigatorData||!!g,s.data=g||i.data&&i.data.slice(0),p&&p.options?p.update(s,e):(t.navigatorSeries=n.initSeries(s),n.setSortedData(),t.navigatorSeries.baseSeries=t,c.push(t.navigatorSeries))})),(d.data&&!(a&&a.length)||w(d))&&(r.hasNavigatorData=!1,(d=M(d)).forEach(((t,e)=>{l.name="Navigator "+(c.length+1),(s=k(h.navigator.series,{color:n.series[e]&&!n.series[e].options.isInternal&&n.series[e].color||n.options.colors[e]||n.options.colors[0]},l,t)).data=t.data,s.data&&(r.hasNavigatorData=!0,c.push(n.initSeries(s)))}))),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&&b(e,i),this.navigatorSeries&&(b(t.series,this.navigatorSeries),m(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,c=i.stickToMax,d=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),c&&(t=a+d,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||c)&&C(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!(!C(o)||!C(r))&&(n&&o-i>0?o-i{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=>{f(t)})),this.navigatorEnabled=!1}}return T})),i(e,"Accessibility/Components/NavigatorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Stock/Navigator/Navigator.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/Utils/ChartUtilities.js"]],(function(t,e,i,s,o,r,n,a,l){let{animObject:h}=o,{format:c}=r,{clamp:d,pick:p,syncTimeout:u}=n,{getFakeMouseEvent:g}=a,{getAxisRangeDescription:m,fireEventOnWrappedOrUnwrappedElement:f}=l;return class extends t{init(){let t=this.chart,i=this;this.announcer=new e(t,"polite"),this.addEvent(s,"afterRender",(function(){this.chart===i.chart&&this.chart.renderer&&u((()=>{i.proxyProvider.updateGroupProxyElementPositions("navigator"),i.updateHandleValues()}),h(p(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":c(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":c(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,s=this.chart,o=t?this.maxHandleProxy:this.minHandleProxy,r=this.keyCodes;return new i(s,{keyCodeMap:[[[r.left,r.right,r.up,r.down],function(i){if(o){let n=i===r.left||i===r.up?-1:1;o.value=""+d(parseFloat(o.value)+n,0,100),e.updateNavigator((()=>{let i=e.getHandleByIx(t);i&&s.setFocusToElement(i,o)}))}return this.response.success}]],init:()=>{s.setFocusToElement(this.getHandleByIx(t),o)},validate:()=>!!(this.getHandleByIx(t)&&o&&s.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(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){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((t=>{let e=this.chart,{navigator:i,pointer:s}=e;if(i&&s&&this.minHandleProxy&&this.maxHandleProxy){let o=s.getChartPosition(),r=parseFloat(this.minHandleProxy.value)/100*i.size,n=parseFloat(this.maxHandleProxy.value)/100*i.size;[[0,"mousedown",i.zoomedMin],[0,"mousemove",r],[0,"mouseup",r],[1,"mousedown",i.zoomedMax],[1,"mousemove",n],[1,"mouseup",n]].forEach((([t,e,s])=>{let r=this.getHandleByIx(t)?.element;r&&f(r,g(e,{x:o.left+i.left+s,y:o.top+i.top},r))})),t&&t();let a=e.options.lang.accessibility?.navigator.changeAnnouncement,l=m(e.xAxis[0]);this.announcer.announce(c(a,{axisRangeDescription:l,chart:e},e))}}).bind(this,t),20)}}})),i(e,"Accessibility/Components/SeriesComponent/SeriesDescriber.js",[e["Accessibility/Components/AnnotationsA11y.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{getPointAnnotationTexts:r}=t,{getAxisDescription:n,getSeriesFirstPointElement:a,getSeriesA11yElement:l,unhideChartElementFromAT:h}=e,{format:c,numberFormat:d}=i,{reverseChildNodes:p,stripHTMLTagsFromString:u}=s,{find:g,isNumber:m,isString:f,pick:b,defined:y}=o;function x(t){let e=t.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==e&&t.points&&t.points.length>=+e)}function v(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 m(e)?d(e,r.valueDecimals||o.valueDecimals||n.valueDecimals||-1,a.decimalPoint,a.accessibility.thousandsSep||a.thousandsSep):e}function w(t,e){let i=t[e];return t.chart.langFormat("accessibility.series."+e+"Description",{name:n(i),series:t})}function C(t){let e=t.series,i=e.chart.series.length>1||e.options.name,s=function(t){let e=t.series,i=e.chart,s=e.options.accessibility,o=s&&s.point&&s.point.valueDescriptionFormat||i.options.accessibility.point.valueDescriptionFormat,r=b(e.xAxis&&e.xAxis.options.accessibility&&e.xAxis.options.accessibility.enabled,!i.angular&&"flowmap"!==e.type),n=r?function(t){let 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&&o.dateFormatter(t)||s.dateFormat||o.dateFormat||e;return i.time.dateFormat(n,t.x||0,void 0)}}(t),i=(t.series.xAxis||{}).categories&&y(t.category)&&(""+t.category).replace("
    "," "),s=y(t.id)&&0>(""+t.id).indexOf("highcharts-"),o="x, "+t.x;return t.name||e||i||(s?t.id:o)}(t):"";return c(o,{point:t,index:y(t.index)?t.index+1:"",xDescription:n,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=v(t,t[void 0!==t.value?"value":"y"]);return t.isNull?e.chart.langFormat("accessibility.series.nullPointValue",{point:t}):e.pointArrayMap?function(t,e,i){let s=e||"",o=i||"",r=function(e){let i=v(t,b(t[e],t.options[e]));return void 0!==i?e+": "+s+i+o:i};return t.series.pointArrayMap.reduce((function(t,e){let i=r(e);return i?t+(t.length?", ":"")+i:t}),"")}(t,r,n):r+a+n}(t),separator:r?", ":""},i)}(t),o=t.options&&t.options.accessibility&&t.options.accessibility.description,n=i?" "+e.name+".":"",a=function(t){let e=t.series.chart,i=r(t);return i.length?e.langFormat("accessibility.series.pointAnnotationsDescription",{point:t,annotations:i}):""}(t);return t.accessibility=t.accessibility||{},t.accessibility.valueDescription=s,s+(o?" "+o:"")+n+(a?" "+a:"")}function k(t){let e=t.chart,i=e.types||[],s=function(t){let e=(t.options.accessibility||{}).description;return e&&t.chart.langFormat("accessibility.series.description",{description:e,series:t})||""}(t),o=function(i){return e[i]&&e[i].length>1&&t[i]},r=t.index+1,n=w(t,"xAxis"),a=w(t,"yAxis"),l={seriesNumber:r,series:t,chart:e},h=i.length>1?"Combination":"",d=e.langFormat("accessibility.series.summary."+t.type+h,l)||e.langFormat("accessibility.series.summary.default"+h,l),p=(o("yAxis")?" "+a+".":"")+(o("xAxis")?" "+n+".":"");return c(b(t.options.accessibility&&t.options.accessibility.descriptionFormat,e.options.accessibility.series.descriptionFormat,""),{seriesDescription:d,authorDescription:s?" "+s:"",axisDescription:p,series:t,chart:e,seriesNumber:r},void 0)}return{defaultPointDescriptionFormatter:C,defaultSeriesDescriptionFormatter:k,describeSeries:function(t){let e=t.chart,i=a(t),s=l(t),o=e.is3d&&e.is3d();s&&(s.lastChild!==i||o||p(s),function(t){let e=function(t){let e=t.options.accessibility||{};return!x(t)&&!e.exposeAsGroupOnly}(t),i=function(t){let e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!(!t.points||!(t.points.length<+e.pointNavigationEnabledThreshold||!1===e.pointNavigationEnabledThreshold))}(t),s=t.chart.options.accessibility.point.describeNull;(e||i)&&t.points.forEach((i=>{let o=i.graphic&&i.graphic.element||function(t){let e=t.series,i=e&&e.chart,s=e&&e.is("sunburst"),o=t.isNull,r=i&&i.options.accessibility.point.describeNull;return o&&!s&&r}(i)&&function(t){let e=t.series,i=function(t){let e=t.index;return t.series&&t.series.data&&y(e)&&g(t.series.data,(function(t){return!!(t&&void 0!==t.index&&t.index>e&&t.graphic&&t.graphic.element)}))||null}(t),s=i&&i.graphic,o=s?s.parentGroup:e.graph||e.group,r=function(t,e){let i=t.series.chart.renderer.rect(e.x,e.y,1,1);return i.attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),i}(t,i?{x:b(t.plotX,i.plotX,0),y:b(t.plotY,i.plotY,0)}:{x:b(t.plotX,0),y:b(t.plotY,0)});if(o&&o.element)return t.graphic=r,t.hasMockGraphic=!0,r.add(o),o.element.insertBefore(r.element,s?s.element:null),r.element}(i),r=i.options&&i.options.accessibility&&!1===i.options.accessibility.enabled;if(o){if(i.isNull&&!s)return void o.setAttribute("aria-hidden",!0);o.setAttribute("tabindex","-1"),t.chart.styledMode||(o.style.outline="none"),e&&!r?function(t,e){let i=t.series,s=i.options.accessibility?.point||{},o=i.chart.options.accessibility.point||{},r=u(f(s.descriptionFormat)&&c(s.descriptionFormat,t,i.chart)||s.descriptionFormatter?.(t)||f(o.descriptionFormat)&&c(o.descriptionFormat,t,i.chart)||o.descriptionFormatter?.(t)||C(t),i.chart.renderer.forExport);e.setAttribute("role","img"),e.setAttribute("aria-label",r)}(i,o):o.setAttribute("aria-hidden",!0)}}))}(t),h(e,s),function(t){let e=t.chart,i=e.options.chart,s=i.options3d&&i.options3d.enabled,o=e.series.length>1,r=e.options.accessibility.series.describeSingleSeries,n=(t.options.accessibility||{}).exposeAsGroupOnly;return!(s&&o)&&(o||r||n||x(t))}(t)?function(t,e){let i=t.options.accessibility||{},s=t.chart.options.accessibility,o=s.landmarkVerbosity;i.exposeAsGroupOnly?e.setAttribute("role","img"):"all"===o?e.setAttribute("role","region"):e.setAttribute("role","group"),e.setAttribute("tabindex","-1"),t.chart.styledMode||(e.style.outline="none"),e.setAttribute("aria-label",u(s.series.descriptionFormatter&&s.series.descriptionFormatter(t)||k(t),t.chart.renderer.forExport))}(t,s):s.removeAttribute("aria-label"))}}})),i(e,"Accessibility/Components/SeriesComponent/NewDataAnnouncer.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],(function(t,e,i,s,o,r){let{composed:n}=t,{addEvent:a,defined:l,pushUnique:h}=e,{getChartTitle:c}=s,{defaultPointDescriptionFormatter:d,defaultSeriesDescriptionFormatter:p}=r;function u(t){return!!t.options.accessibility.announceNewData.enabled}class g{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 o,this.announcer=new i(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){u(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[t.name+t.index]=t,this.dirty.newSeries=l(this.dirty.newSeries)?void 0:t)}announceDirtyData(){let t=this.chart,e=this;if(t.options.accessibility.announceNewData&&this.dirty.hasDirty){let t=this.dirty.newPoint;t&&(t=function(t){let e=t.series.data.filter((e=>t.x===e.x&&t.y===e.y));return 1===e.length?e[0]:t}(t)),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map((t=>e.dirty.allSeries[t])),this.dirty.newSeries,t),this.dirty={allSeries:{}}}}queueAnnouncement(t,e,i){let s=this.chart.options.accessibility.announceNewData;if(s.enabled){let o=+new Date,r=o-this.lastAnnouncementTime,n=Math.max(0,s.minAnnounceInterval-r),a=function(t,e){let i=(t||[]).concat(e||[]).reduce(((t,e)=>(t[e.name+e.index]=e,t)),{});return Object.keys(i).map((t=>i[t]))}(this.queuedAnnouncement&&this.queuedAnnouncement.series,t),l=this.buildAnnouncementMessage(a,e,i);l&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:o,message:l,series:a},this.queuedAnnouncementTimer=setTimeout((()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)}),n))}}buildAnnouncementMessage(e,i,s){let o=this.chart,r=o.options.accessibility.announceNewData;if(r.announcementFormatter){let t=r.announcementFormatter(e,i,s);if(!1!==t)return t.length?t:null}let n=t.charts&&t.charts.length>1?"Multiple":"Single",a=i?"newSeriesAnnounce"+n:s?"newPointAnnounce"+n:"newDataAnnounce",l=c(o);return o.langFormat("accessibility.announceNewData."+a,{chartTitle:l,seriesDesc:i?p(i):null,pointDesc:s?d(s):null,point:s,series:i})}}return function(t){function e(t){let e=this.chart,i=e.accessibility?.components.series.newDataAnnouncer;i&&i.chart===e&&u(e)&&(i.dirty.newPoint=l(i.dirty.newPoint)?void 0:t.point)}function i(){let t=this.chart,e=t.accessibility?.components.series.newDataAnnouncer;e&&e.chart===t&&u(t)&&(e.dirty.hasDirty=!0,e.dirty.allSeries[this.name+this.index]=this)}t.compose=function(t){h(n,"A11y.NDA")&&(a(t,"addPoint",e),a(t,"updatedData",i))}}(g||(g={})),g})),i(e,"Accessibility/ProxyElement.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,o){let{doc:r}=t,{attr:n,css:a,merge:l}=e,{fireEventOnWrappedOrUnwrappedElement:h}=s,{cloneMouseEvent:c,cloneTouchEvent:d,getFakeMouseEvent:p,removeElement:u}=o;return class{constructor(t,e,s="button",o,n){this.chart=t,this.target=e,this.eventProvider=new i;let a=this.innerElement=r.createElement(s),l=this.element=o?r.createElement(o):a;t.styledMode||this.hideElementVisually(a),o&&("li"!==o||t.styledMode||(l.style.listStyle="none"),l.appendChild(a),this.element=l),this.updateTarget(e,n)}click(){let t=this.getTargetPosition();t.x+=t.width/2,t.y+=t.height/2;let e=p("click",t);h(this.target.click,e)}updateTarget(t,e){this.target=t,this.updateCSSClassName();let i=e||{};Object.keys(i).forEach((t=>{null===i[t]&&delete i[t]}));let s=this.getTargetAttr(t.click,"aria-label");n(this.innerElement,l(s?{"aria-label":s}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,t.click),this.refreshPosition()}refreshPosition(){let t=this.getTargetPosition();a(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(),u(this.element)}updateCSSClassName(){let t=t=>t.indexOf("highcharts-no-tooltip")>-1,e=this.chart.legend,i=e.group&&e.group.div,s=t(i&&i.className||""),o=t(this.getTargetAttr(this.target.click,"class")||"");this.innerElement.className=s||o?"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?d(t):c(t);e&&h(e,i),t.stopPropagation(),s||t.preventDefault()}),{passive:!1})}))}hideElementVisually(t){a(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=i.getBoundingClientRect(),e=o.getChartPosition();return{x:(t.left-e.left)/e.scaleX,y:(t.top-e.top)/e.scaleY,width:t.right/e.scaleX-t.left/e.scaleX,height:t.bottom/e.scaleY-t.top/e.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(t,e){return t.element?t.element.getAttribute(e):t.getAttribute(e)}}})),i(e,"Accessibility/ProxyProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/ProxyElement.js"]],(function(t,e,i,s,o,r){let{doc:n}=t,{attr:a,css:l}=e,{unhideChartElementFromAT:h}=i,{removeChildNodes:c}=o;return class{constructor(t){this.chart=t,this.domElementProvider=new s,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 n="ul"===o.type||"ol"===o.type?"li":void 0,a=new r(this.chart,e,i,n,s);return o.proxyContainerElement.appendChild(a.element),o.proxyElements.push(a),a}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:[]},a(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);a(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=n.activeElement;["before","after"].forEach((t=>{let e=this["before"===t?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];c(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);c(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:""),l(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"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),h(this.chart,this.afterChartProxyPosContainer),h(this.chart,this.beforeChartProxyPosContainer)}}})),i(e,"Accessibility/Components/RangeSelectorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{unhideChartElementFromAT:r,getAxisRangeDescription:n}=i,{addEvent:a,attr:l}=o;class h extends t{init(){let t=this.chart;this.announcer=new e(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 n=i[s];n&&(r(t,n),e.setRangeInputAttrs(n,"accessibility.rangeSelector."+(o?"max":"min")+"InputLabel"))})))}updateSelectorVisibility(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[],o=t=>t.setAttribute("aria-hidden",!0);e&&e.hasVisibleDropdown&&i?(r(t,i),s.forEach((t=>o(t.element)))):(i&&o(i),s.forEach((e=>r(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){l(t.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(t,e){let i=this.chart;l(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=n(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,l=o&&o.maxInput;if(i.highlightedInputRangeIx=s,r&&n&&l){i.setFocusToElement(r,s?l: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=a(n,"keydown",t),h=a(l,"keydown",t);this.removeInputKeydownHandler=()=>{o(),h()}}}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=a(i,"keydown",(e=>{let i=(e.which||e.keyCode)===this.keyCodes.tab,s=t.accessibility;i&&(e.preventDefault(),e.stopPropagation(),s&&(s.keyboardNavigation.tabindexContainer.focus(),s.keyboardNavigation.move(e.shiftKey?-1:1)))})))}getRangeSelectorButtonNavigation(){let t=this.chart,e=this.keyCodes,i=this;return new s(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 s(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()}}return function(t){function e(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 i(){let t=this.chart.accessibility;if(t&&t.components.rangeSelector)return t.components.rangeSelector.onAfterBtnClick()}t.compose=function(t,s){let o=t.prototype;o.highlightRangeSelectorButton||(o.highlightRangeSelectorButton=e,a(s,"afterBtnClick",i))}}(h||(h={})),h})),i(e,"Accessibility/Components/SeriesComponent/ForcedMarkers.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{composed:s}=t,{addEvent:o,merge:r,pushUnique:n}=e;return function(t){function e(t){r(!0,t,{marker:{enabled:!0,states:{normal:{opacity:0}}}})}function i(t){return t.marker.states&&t.marker.states.normal&&t.marker.states.normal.opacity}function a(t){return!!(t._hasPointMarkers&&t.points&&t.points.length)}function l(){this.chart.styledMode&&(this.markerGroup&&this.markerGroup[this.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden"),a(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 h(t){this.resetA11yMarkerOptions=r(t.options.marker||{},this.userOptions.marker||{})}function c(){let t=this.options;!function(t){let e=t.chart.options.accessibility.enabled,i=!1!==(t.options.accessibility&&t.options.accessibility.enabled);return e&&i&&function(t){let e=t.chart.options.accessibility;return t.points.length-1;s.highlightedPoint===this&&e!==t&&!o&&t&&t.focus&&t.focus()}))}onDrillupAll(){let t,e=this.lastDrilledDownPoint,i=this.chart,s=e&&u(i,e.seriesName);e&&s&&c(e.x)&&c(e.y)&&(t=p(s,e.x,e.y)),t=t||y(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 r(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},d(s.series,"click",e),s.firePointEvent("click",e)}return this.response.success}],[[e.home],function(){return v(i),this.response.success}],[[e.end],function(){return x(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!!y(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():v(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;return r.mode&&"serialize"===r.mode?this.attemptHighlightAdjacentPoint(t,o):(i[i.highlightedPoint&&i.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries"](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?v(i):x(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()}}return function(t){function e(t){let e,i,s=this.series,o=this.highlightedPoint,r=o&&m(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 b(i)?(f(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,i=this.highlightedPoint,s=1/0;return!(!c(i.plotX)||!c(i.plotY))&&(this.series.forEach((o=>{f(o)||o.points.forEach((r=>{if(!c(r.plotY)||!c(r.plotX)||r===i)return;let n=r.plotY-i.plotY,a=Math.abs(r.plotX-i.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||b(r))&&l!(c(t.plotX)&&c(t.plotY));if(!h(t)){for(;l--;)!h(o=e.points[l])&&(n=(t.plotX-o.plotX)*(t.plotX-o.plotX)*4+(t.plotY-o.plotY)*(t.plotY-o.plotY)*1)=0;--t)if(!b(i[t]))return i[t].highlight()}return!1}t.compose=function(t,n,a){let h=t.prototype,c=n.prototype,d=a.prototype;h.highlightAdjacentPoint||(h.highlightAdjacentPoint=e,h.highlightAdjacentPointVertical=i,h.highlightAdjacentSeries=s,c.highlight=o,d.keyboardMoveVertical=!0,["column","gantt","pie"].forEach((t=>{l[t]&&(l[t].prototype.keyboardMoveVertical=!1)})),d.highlightNextValidPoint=r)}}(w||(w={})),w})),i(e,"Accessibility/Components/SeriesComponent/SeriesComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Components/SeriesComponent/ForcedMarkers.js"],e["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"],e["Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js"]],(function(t,e,i,s,o,r){let{hideSeriesFromAT:n}=e,{describeSeries:a}=o;return class extends t{static compose(t,e,o){s.compose(o),i.compose(o),r.compose(t,e,o)}init(){this.newDataAnnouncer=new s(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new r(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.forEach((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?a(t):n(t)}))}getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}}})),i(e,"Accessibility/Components/ZoomComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{unhideChartElementFromAT:r}=e,{getFakeMouseEvent:n}=i,{attr:a,pick:l}=o;return class extends t{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)=>{r(t,i.element),e.setMapNavButtonAttrs(i.element,"accessibility.zoom.mapZoom"+(s?"Out":"In"))}))}setMapNavButtonAttrs(t,e){let i=this.chart;a(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 s(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,a=e===s.left||e===s.up?1:-1,l=(r?i.plotHeight:i.plotWidth)/10*a,h=10*Math.random(),c={x:o.offsetLeft+i.plotLeft+i.plotWidth/2+h,y:o.offsetTop+i.plotTop+i.plotHeight/2+h},d=r?{x:c.x,y:c.y+l}:{x:c.x+l,y:c.y};return[n("mousedown",c),n("mousemove",d),n("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 o=this.keyCodes,r=this,n=this.chart;return new s(n,{keyCodeMap:[[[o.tab,o.up,o.down,o.left,o.right],function(t,e){let i=t===o.tab&&e.shiftKey||t===o.left||t===o.up;return this.response[i?"prev":"next"]}],[[o.space,o.enter],function(){return l(i(this,n),this.response.success)}]],validate:function(){return n[t]&&n[t].box&&r[e].innerElement},init:function(){n.setFocusToElement(n[t].box,r[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()]}}})),i(e,"Accessibility/HighContrastMode.js",[e["Core/Globals.js"]],(function(t){let{doc:e,isMS:i,win:s}=t;return{isHighContrastModeActive:function(){let t=/(Edg)/.test(s.navigator.userAgent);if(s.matchMedia&&t)return s.matchMedia("(-ms-high-contrast: active)").matches;if(i&&s.getComputedStyle){let t=e.createElement("div");t.style.backgroundImage="url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)",e.body.appendChild(t);let i=(t.currentStyle||s.getComputedStyle(t)).backgroundImage;return e.body.removeChild(t),"none"===i}return s.matchMedia&&s.matchMedia("(forced-colors: active)").matches},setHighContrastTheme:function(t){t.highContrastModeActive=!0;let e=t.options.accessibility.highContrastTheme;t.update(e,!1);let i=e.colors?.length>1;t.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()}}})),i(e,"Accessibility/HighContrastTheme.js",[],(function(){return{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"}}})),i(e,"Accessibility/Options/A11yDefaults.js",[],(function(){return{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<{headingTagName}>{chartTitle}
    {typeDescription}
    {chartSubtitle}
    {chartLongdesc}
    {playAsSoundButton}
    {viewTableButton}
    {xAxisDescription}
    {yAxisDescription}
    {annotationsTitle}{annotationsList}
    ",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:!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}}}})),i(e,"Accessibility/Options/LangDefaults.js",[],(function(){return{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}"},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}"},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} categories."},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}"}}}})),i(e,"Accessibility/Options/DeprecatedOptions.js",[e["Core/Utilities.js"]],(function(t){let{error:e,pick:i}=t;function s(t,e,s){let o,r=t,n=0;for(;n"series"!==t))):Object.keys(this.components):[]}update(){let t=this.components,e=this.chart,i=e.options.accessibility;M(e,"beforeA11yUpdate"),e.types=this.getChartTypes();let s=i.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach((function(i){t[i].onChartUpdate(),M(e,"afterA11yComponentUpdate",{name:i,component:t[i]})})),this.keyboardNavigation.update(s),!e.highContrastModeActive&&!1!==i.highContrastMode&&(b.isHighContrastModeActive()||!0===i.highContrastMode)&&b.setHighContrastTheme(e),M(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&&T(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)}}return 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),P(!0,this.options.accessibility,e),this.accessibility&&this.accessibility.destroy&&(this.accessibility.destroy(),delete this.accessibility)),this.a11yDirty=!0}function r(){let e=this.accessibility,i=this.options.accessibility;i&&i.enabled?e&&!e.zombie?e.update():(this.accessibility=e=new t(this),e&&!e.zombie&&e.update()):e?(e.destroy&&e.destroy(),delete this.accessibility):this.renderTo.setAttribute("aria-hidden",!0)}function a(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}t.i18nFormat=o.i18nFormat,t.compose=function(t,d,u,f,b,y){l.compose(t),p.compose(f),h.compose(t,d),c.compose(t),m.compose(t,u,f),o.compose(t),n.compose(t,b),y&&g.compose(t,y);let x=t.prototype;x.updateA11yEnabled||(x.updateA11yEnabled=r,S(t,"destroy",e),S(t,"render",i),S(t,"update",s),["addSeries","init"].forEach((e=>{S(t,e,(function(){this.a11yDirty=!0}))})),["afterApplyDrilldown","drillupall"].forEach((e=>{S(t,e,(function(){let t=this.accessibility;t&&!t.zombie&&t.update()}))})),S(u,"update",a),["update","updatedData","remove"].forEach((t=>{S(f,t,(function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)}))})))}}(E||(E={})),P(!0,C,x,{accessibility:{highContrastTheme:y},lang:v}),E})),i(e,"masters/modules/accessibility.src.js",[e["Core/Globals.js"],e["Accessibility/Accessibility.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],(function(t,e,i,s,o,r,n){return t.i18nFormat=e.i18nFormat,t.A11yChartUtilities=s,t.A11yHTMLUtilities=o,t.AccessibilityComponent=i,t.KeyboardNavigationHandler=r,t.SeriesAccessibilityDescriber=n,e.compose(t.Chart,t.Legend,t.Point,t.Series,t.SVGElement,t.RangeSelector),t}))},(Nt=Bt).exports?(It.default=It,Nt.exports=It):It("undefined"!=typeof Highcharts?Highcharts:void 0);var Rt=jt(Bt.exports),zt={exports:{}};!function(t){var e;e=function(t){var e=t?t._modules:{};function i(e,i,s,o){e.hasOwnProperty(i)||(e[i]=o.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Extensions/Pane/PaneComposition.js",[e["Core/Utilities.js"]],(function(t){let{addEvent:e,correctFloat:i,defined:s,pick:o}=t;function r(t){let e,i=this;return t&&i.pane.forEach((s=>{n(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)})),e}function n(t,e,o,r,n){let a=!0,l=o[0],h=o[1],c=Math.sqrt(Math.pow(t-l,2)+Math.pow(e-h,2));if(s(r)&&s(n)){let s=Math.atan2(i(e-h,8),i(t-l,8));n!==r&&(a=r>n?s>=r&&s<=Math.PI||s<=n&&s>=-Math.PI:s>=r&&s<=i(n,8))}return c<=Math.ceil(o[2]/2)&&a}function a(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some((e=>n(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad))))}function l(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!n(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function h(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(i){return i.visible&&!(!t.shared&&i.directTouch)&&o(i.options.enableMouseTracking,!0)&&(!e.hoverPane||i.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}return{compose:function(t,i){let s=t.prototype;s.getHoverPane||(s.collectionsWithUpdate.push("pane"),s.getHoverPane=r,e(t,"afterIsInsidePlot",a),e(i,"afterGetHoverData",l),e(i,"beforeGetHoverData",h))}}})),i(e,"Extensions/Pane/PaneDefaults.js",[],(function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderRadius:0,borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}})),i(e,"Extensions/Pane/Pane.js",[e["Series/CenteredUtilities.js"],e["Extensions/Pane/PaneComposition.js"],e["Extensions/Pane/PaneDefaults.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{extend:o,merge:r,splat:n}=s;class a{constructor(t,e){this.coll="pane",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}setOptions(t){this.options=t=r(i.pane,this.chart.angular?{background:{}}:void 0,t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g("pane-group").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let s=this.options.background;if(s){let t=Math.max((s=n(s)).length,this.background.length||0);for(let e=0;er,e.y=e.high,e._plotY=e.plotY,e.plotY=o,l[t]=e.dataLabel,e.dataLabel=e.dataLabelUpper,e.below=i,p?s.align||(s.align=i?"right":"left"):s.verticalAlign||(s.verticalAlign=i?"top":"bottom")}for(this.options.dataLabels=s,n.drawDataLabels&&n.drawDataLabels.apply(this,arguments),t=a;t--;)(e=r[t])&&(e.dataLabelUpper=e.dataLabel,e.dataLabel=l[t],delete e.dataLabels,e.y=e.low,e.plotY=e._plotY)}if(o.enabled||this.hasDataLabels?.()){for(t=a;t--;)if(e=r[t]){let{plotHigh:t=0,plotLow:s=0}=e;i=o.inside?ts,e.below=!i,p?o.align||(o.align=i?"left":"right"):o.verticalAlign||(o.verticalAlign=i?"bottom":"top")}this.options.dataLabels=o,n.drawDataLabels&&n.drawDataLabels.apply(this,arguments)}if(s.enabled)for(t=a;t--;)(e=r[t])&&(e.dataLabels=[e.dataLabelUpper,e.dataLabel].filter((function(t){return!!t})));this.options.dataLabels=h}}alignDataLabel(){a.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=g(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e,i=this.points.length,s=this.modifyMarkerSettings();for(n.drawPoints.apply(this,arguments),this.restoreMarkerSettings(s),t=0;t=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(n.drawPoints.apply(this,arguments),t=0;t● {series.name}: {point.low} - {point.high}
    '},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),l(m,"afterTranslate",(function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach((t=>{let e=t.high,i=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=i,t.plotHigh=p(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))}))}),{order:0}),l(m,"afterTranslate",(function(){this.points.forEach((t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,t.plotLow),i=t.pos(!1,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}}))}),{order:3}),c(m.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:t,pointValKey:"low",setStackedPoints:o}),i.registerSeriesType("arearange",m),m})),i(e,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[e["Series/AreaRange/AreaRangeSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{spline:{prototype:s}}=e.seriesTypes,{merge:o,extend:r}=i;class n extends t{}return n.defaultOptions=o(t.defaultOptions),r(n.prototype,{getPointSpline:s.getPointSpline}),e.registerSeriesType("areasplinerange",n),n})),i(e,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],(function(){return{threshold:null,tooltip:{pointFormat:' {series.name}
    Maximum: {point.high}
    Upper quartile: {point.q3}
    Median: {point.median}
    Lower quartile: {point.q1}
    Minimum: {point.low}
    '},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}})),i(e,"Series/BoxPlot/BoxPlotSeries.js",[e["Series/BoxPlot/BoxPlotSeriesDefaults.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{noop:r}=i,{crisp:n,extend:a,merge:l,pick:h}=o;class c extends e{pointAttribs(){return{}}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach((function(i){e.forEach((function(e){null!==i[e]&&(i[e+"Plot"]=t.translate(i[e],0,1,0,1))})),i.plotHigh=i.highPlot}))}drawPoints(){let t,e,i,s,o,r,a,l,c,d,p,u=this.points,g=this.options,m=this.chart,f=m.renderer,b=!1!==this.doQuartiles,y=this.options.whiskerLength;for(let x of u){let u=(r=x.graphic)?"animate":"attr",v=x.shapeArgs,w={},C={},k={},S={},A=x.color||this.color;if(void 0!==x.plotY){let M;a=v.width,c=(l=v.x)+a,d=a/2,t=b?x.q1Plot:x.lowPlot,e=b?x.q3Plot:x.lowPlot,i=x.highPlot,s=x.lowPlot,r||(x.graphic=r=f.g("point").add(this.group),x.stem=f.path().addClass("highcharts-boxplot-stem").add(r),y&&(x.whiskers=f.path().addClass("highcharts-boxplot-whisker").add(r)),b&&(x.box=f.path(void 0).addClass("highcharts-boxplot-box").add(r)),x.medianShape=f.path(void 0).addClass("highcharts-boxplot-median").add(r)),m.styledMode||(C.stroke=x.stemColor||g.stemColor||A,C["stroke-width"]=h(x.stemWidth,g.stemWidth,g.lineWidth),C.dashstyle=x.stemDashStyle||g.stemDashStyle||g.dashStyle,x.stem.attr(C),y&&(k.stroke=x.whiskerColor||g.whiskerColor||A,k["stroke-width"]=h(x.whiskerWidth,g.whiskerWidth,g.lineWidth),k.dashstyle=x.whiskerDashStyle||g.whiskerDashStyle||g.dashStyle,x.whiskers.attr(k)),b&&(w.fill=x.fillColor||g.fillColor||A,w.stroke=g.lineColor||A,w["stroke-width"]=g.lineWidth||0,w.dashstyle=x.boxDashStyle||g.boxDashStyle||g.dashStyle,x.box.attr(w)),S.stroke=x.medianColor||g.medianColor||A,S["stroke-width"]=h(x.medianWidth,g.medianWidth,g.lineWidth),S.dashstyle=x.medianDashStyle||g.medianDashStyle||g.dashStyle,x.medianShape.attr(S));let P=n((x.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,x.stem.strokeWidth());if(M=[["M",P,e],["L",P,i],["M",P,t],["L",P,s]],x.stem[u]({d:M}),b){let i=x.box.strokeWidth();t=n(t,i),e=n(e,i),M=[["M",l=n(l,i),e],["L",l,t],["L",c=n(c,i),t],["L",c,e],["L",l,e],["Z"]],x.box[u]({d:M})}if(y){let t=x.whiskers.strokeWidth();i=n(x.highPlot,t),s=n(x.lowPlot,t),M=[["M",n(P-(p="string"==typeof y&&/%$/.test(y)?d*parseFloat(y)/100:Number(y)/2)),i],["L",n(P+p),i],["M",n(P-p),s],["L",n(P+p),s]],x.whiskers[u]({d:M})}M=[["M",l,o=n(x.medianPlot,x.medianShape.strokeWidth())],["L",c,o]],x.medianShape[u]({d:M})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}return c.defaultOptions=l(e.defaultOptions,t),a(c.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:r,setStackedPoints:r}),s.registerSeriesType("boxplot",c),c})),i(e,"Series/Bubble/BubbleLegendDefaults.js",[],(function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}})),i(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{parse:o}=t,{noop:r}=i,{arrayMax:n,arrayMin:a,isNumber:l,merge:h,pick:c,stableSort:d}=s;return class{constructor(t,e){this.setState=r,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=c(t.options.itemDistance,20),s=this.legendItem||{},o=this.options,r=o.ranges,n=o.connectorDistance;if(!r||!r.length||!l(r[0].value))return void(t.options.bubbleLegend.autoRanges=!0);d(r,(function(t,e){return e.value-t.value})),this.ranges=r,this.setOptions(),this.render();let a=this.getMaxLabelSize(),h=this.ranges[0].radius,p=2*h;e=(e=n-h+a.width)>0?e:0,this.maxLabel=a,this.movementX="left"===o.labels.align?e:0,s.labelWidth=p+e+i,s.labelHeight=p+a.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,r={zIndex:e.zIndex,"stroke-width":e.borderWidth},n={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=i.options.marker.fillOpacity,d=this.chart.styledMode;t.forEach((function(p,u){d||(r.stroke=c(p.borderColor,e.borderColor,i.color),r.fill=c(p.color,e.color,1!==l?o(i.color).setOpacity(l).get("rgba"):i.color),n.stroke=c(p.connectorColor,e.connectorColor,i.color)),t[u].radius=this.getRangeRadius(p.value),t[u]=h(t[u],{center:t[0].radius-t[u].radius+s}),d||h(!0,t[u],{bubbleAttribs:h(r),connectorAttribs:h(n),labelAttribs:a})}),this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],o=e.ranges[0].value,r=e.ranges[e.ranges.length-1].value,n=e.minSize,a=e.maxSize;return s.getRadius.call(this,r,o,n,a,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,o=s.labels,r=this.chart,n=r.series[s.seriesIndex],a=r.renderer,l=this.symbols,h=l.labels,c=t.center,d=Math.abs(t.radius),p=s.connectorDistance||0,u=o.align,g=i.options.rtl,m=s.borderWidth,f=s.connectorWidth,b=e.radius||0,y=c-d-m/2+f/2,x=(y%1?1:.5)-(f%2?0:.5),v=a.styledMode,w=g||"left"===u?-p:p;"center"===u&&(w=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(a.circle(b,c+x,d).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+n.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(a.path(a.crispLine([["M",b,y],["L",b+w,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let C=a.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:o.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),k={x:b+w+s.labels.x,y:y+s.labels.y+.4*C.getBBox().height};C.attr(k),h.push(C),C.placed=!0,C.alignAttr=k}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach((function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e})),t||{}}formatLabel(t){let i=this.options,s=i.labels.formatter,o=i.labels.format,{numberFormatter:r}=this.chart;return o?e.format(o,t):s?s.call(t):r(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach((function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()})))}getRanges(){let t,e,i=this.legend.bubbleLegend,s=i.chart.series,o=i.options.ranges,r=Number.MAX_VALUE,d=-Number.MAX_VALUE;return s.forEach((function(t){t.isBubble&&!t.ignoreSeries&&(e=t.zData.filter(l)).length&&(r=c(t.options.zMin,Math.min(r,Math.max(a(e),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),d=c(t.options.zMax,Math.max(d,n(e))))})),t=r===d?[{value:d}]:[{value:r},{value:(r+d)/2},{value:d,autoRanges:!0}],o.length&&o[0].radius&&t.reverse(),t.forEach((function(e,i){o&&o[i]&&(t[i]=h(o[i],e))})),t}predictBubbleSizes(){let t,e=this.chart,i=e.legend.options,s=i.floating,o="horizontal"===i.layout,r=o?e.legend.lastLineHeight:0,n=e.plotSizeX,a=e.plotSizeY,l=e.series[this.options.seriesIndex],h=l.getPxExtremes(),c=Math.ceil(h.minPxSize),d=Math.ceil(h.maxPxSize),p=Math.min(a,n),u=l.options.maxSize;return s||!/%$/.test(u)?t=d:(t=(p+r)*(u=parseFloat(u))/100/(u/100+1),(o&&a-t>=n||!o&&n-t>=a)&&(t=d)),[c,Math.ceil(t)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}})),i(e,"Series/Bubble/BubbleLegendComposition.js",[e["Series/Bubble/BubbleLegendDefaults.js"],e["Series/Bubble/BubbleLegendItem.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{setOptions:r}=i,{composed:n}=s,{addEvent:a,objectEach:l,pushUnique:h,wrap:c}=o;function d(t,e,i){let s,o,r,n=this.legend,a=p(this)>=0;n&&n.options.enabled&&n.bubbleLegend&&n.options.bubbleLegend.autoRanges&&a?(s=n.bubbleLegend.options,o=n.bubbleLegend.predictBubbleSizes(),n.bubbleLegend.updateRanges(o[0],o[1]),s.placed||(n.group.placed=!1,n.allItems.forEach((t=>{(r=t.legendItem||{}).group&&(r.group.translateY=void 0)}))),n.render(),s.placed||(this.getMargins(),this.axes.forEach((function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,(function(t){t.isNew=!0,t.isNewLabel=!0})))})),this.getMargins()),s.placed=!0,t.call(this,e,i),n.bubbleLegend.correctSizes(),f(n,u(n))):(t.call(this,e,i),n&&n.options.enabled&&n.bubbleLegend&&(n.render(),f(n,u(n))))}function p(t){let e=t.series,i=0;for(;ie.height&&(e.height=o[l].itemHeight);e.step=a}return r}function g(t){let i=this.bubbleLegend,s=this.options,o=s.bubbleLegend,r=p(this.chart);i&&i.ranges&&i.ranges.length&&(o.ranges.length&&(o.autoRanges=!!o.ranges[0].autoRanges),this.destroyItem(i)),r>=0&&s.enabled&&o.enabled&&(o.seriesIndex=r,this.bubbleLegend=new e(o,this),this.bubbleLegend.addToLegend(t.allItems))}function m(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,o=i.visible;this&&this.bubbleLegend&&(i.visible=!o,i.ignoreSeries=o,e=p(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=o)}function f(t,e){let i,s,o,r,n=t.allItems,a=t.options.rtl,l=0;n.forEach(((t,n)=>{(r=t.legendItem||{}).group&&(i=r.group.translateX||0,s=r.y||0,((o=t.movementX)||a&&t.ranges)&&(o=a?i-t.options.maxSize/2:i+o,r.group.attr({translateX:o})),n>e[l].step&&l++,r.group.attr({translateY:Math.round(s+e[l].height/2)}),r.y=s+e[l].height/2)}))}return{compose:function(e,i){h(n,"Series.BubbleLegend")&&(r({legend:{bubbleLegend:t}}),c(e.prototype,"drawChartBox",d),a(i,"afterGetAllItems",g),a(i,"itemClick",m))}}})),i(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:s}}}}=e,{extend:o}=i;class r extends s{haloPath(e){return t.prototype.haloPath.call(this,0===e?0:(this.marker&&this.marker.radius||0)+e)}}return o(r.prototype,{ttBelow:!1}),r})),i(e,"Series/Bubble/BubbleSeries.js",[e["Series/Bubble/BubbleLegendComposition.js"],e["Series/Bubble/BubblePoint.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o,r){let{parse:n}=i,{composed:a,noop:l}=s,{series:h,seriesTypes:{column:{prototype:c},scatter:d}}=o,{addEvent:p,arrayMax:u,arrayMin:g,clamp:m,extend:f,isNumber:b,merge:y,pick:x,pushUnique:v}=r;function w(){let t,e=this.len,{coll:i,isXAxis:s,min:o}=this,r=s?"xData":"yData",n=(this.max||0)-(o||0),a=0,l=e,h=e/n;("xAxis"===i||"yAxis"===i)&&(this.series.forEach((e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,t=!0;let i=e[r];if(s&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),n>0){let t=i.length;for(;t--;)if(b(i[t])&&this.dataMin<=i[t]&&i[t]<=this.max){let s=e.radii&&e.radii[t]||0;a=Math.min((i[t]-o)*h-s,a),l=Math.max((i[t]-o)*h+s,l)}}}})),t&&n>0&&!this.logarithmic&&(l-=e,h*=(e+Math.max(0,a)-Math.min(l,e))/e,[["min","userMin",a],["max","userMax",l]].forEach((t=>{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/h)}))))}class C extends d{static compose(e,i,s){t.compose(i,s),v(a,"Series.Bubble")&&p(e,"foundExtremes",w)}animate(t){!t&&this.points.length{if(s.bubblePadding&&s.reserveSpace()){let o=(s.onPoint||s).getZExtremes();o&&(e=Math.min(x(e,o.zMin),o.zMin),i=Math.max(x(i,o.zMax),o.zMax),t=!0)}})),t?(n={zMin:e,zMax:i},this.chart.bubbleZExtremes=n):n={zMin:0,zMax:0}}for(e=0,t=s.length;e0&&(c=(o-t)/h)}return a&&c>=0&&(c=Math.sqrt(c)),Math.ceil(i+c*(s-i))/2}hasData(){return!!this.processedXData.length}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:o=0}=i;return this.chart.inverted?f(i,{x:(t.plotX||0)-o/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=n(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),o=t.length;for(;o--;){let r=t[o],n=i?i[o]:0;"z"===this.zoneAxis&&(r.negative=(r.z||0)<(e.zThreshold||0)),b(n)&&n>=s/2?(r.marker=f(r.marker,{radius:n,width:2*n,height:2*n}),r.dlBox={x:r.plotX-n,y:r.plotY-n,width:2*n,height:2*n}):(r.shapeArgs=r.plotY=r.dlBox=void 0,r.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(x(this.options.minSize,8));return{minPxSize:i,maxPxSize:Math.max(e(x(this.options.maxSize,"20%")),i)}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(b);if(e.length){let i=x(t.zMin,m(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=x(t.zMax,u(e));if(b(i)&&b(s))return{zMin:i,zMax:s}}}}return C.defaultOptions=y(d.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return b(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),f(C.prototype,{alignDataLabel:c.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),p(C,"updatedData",(t=>{delete t.target.chart.bubbleZExtremes})),p(C,"remove",(t=>{delete t.target.chart.bubbleZExtremes})),o.registerSeriesType("bubble",C),C})),i(e,"Series/ColumnRange/ColumnRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{seriesTypes:{column:{prototype:{pointClass:{prototype:i}}},arearange:{prototype:{pointClass:s}}}}=t,{extend:o,isNumber:r}=e;class n extends s{isValid(){return r(this.low)}}return o(n.prototype,{setState:i.setState}),n})),i(e,"Series/ColumnRange/ColumnRangeSeries.js",[e["Series/ColumnRange/ColumnRangePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:o}=e,{seriesTypes:{arearange:r,column:n,column:{prototype:a}}}=i,{addEvent:l,clamp:h,extend:c,isNumber:d,merge:p,pick:u}=s;class g extends r{setOptions(){return p(!0,arguments[0],{stacking:void 0}),r.prototype.setOptions.apply(this,arguments)}translate(){return a.translate.apply(this)}pointAttribs(){return a.pointAttribs.apply(this,arguments)}translate3dPoints(){return a.translate3dPoints.apply(this,arguments)}translate3dShapes(){return a.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,i,s,o=this.yAxis,r=this.xAxis,n=r.startAngleRad,a=this.chart,l=this.xAxis.isRadial,c=Math.max(a.chartWidth,a.chartHeight)+999;this.points.forEach((g=>{let m=g.shapeArgs||{},f=this.options.minPointLength,b=g.plotY,y=o.translate(g.high,0,1,0,1);if(d(y)&&d(b))if(g.plotHigh=h(y,-c,c),g.plotLow=h(b,-c,c),s=g.plotHigh,Math.abs(t=u(g.rectPlotY,g.plotY)-g.plotHigh)● {series.name}: {point.low} - {point.high}
    '},whiskerWidth:null}})),i(e,"Series/ErrorBar/ErrorBarSeries.js",[e["Series/BoxPlot/BoxPlotSeries.js"],e["Series/Column/ColumnSeries.js"],e["Series/ErrorBar/ErrorBarSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o){let{arearange:r}=s.seriesTypes,{addEvent:n,merge:a,extend:l}=o;class h extends t{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||e.prototype.getColumnMetrics.call(this)}drawDataLabels(){let t=this.pointValKey;if(r)for(let e of(r.prototype.drawDataLabels.call(this),this.points))e.y=e[t]}toYData(t){return[t.low,t.high]}}return h.defaultOptions=a(t.defaultOptions,i),n(h,"afterTranslate",(function(){for(let t of this.points)t.plotLow=t.plotY}),{order:0}),l(h.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),s.registerSeriesType("errorbar",h),h})),i(e,"Series/Gauge/GaugePoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let{series:{prototype:{pointClass:e}}}=t;return class extends e{setState(t){this.state=t}}})),i(e,"Series/Gauge/GaugeSeries.js",[e["Series/Gauge/GaugePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:o}=e,{series:r,seriesTypes:{column:n}}=i,{clamp:a,isNumber:l,extend:h,merge:c,pick:d,pInt:p,defined:u}=s;class g extends r{translate(){let t=this.yAxis,e=this.options,i=t.center;this.generatePoints(),this.points.forEach((s=>{let o=c(e.dial,s.dial),r=p(o.radius)*i[2]/200,n=p(o.baseLength)*r/100,h=p(o.rearLength)*r/100,d=o.baseWidth,g=o.topWidth,m=e.overshoot,f=t.startAngleRad+t.translate(s.y,void 0,void 0,void 0,!0);(l(m)||!1===e.wrap)&&(m=l(m)?m/180*Math.PI:0,f=a(f,t.startAngleRad-m,t.endAngleRad+m)),f=180*f/Math.PI,s.shapeType="path";let b=o.path||[["M",-h,-d/2],["L",n,-d/2],["L",r,-g/2],["L",r,g/2],["L",n,d/2],["L",-h,d/2],["Z"]];s.shapeArgs={d:b,translateX:i[0],translateY:i[1],rotation:f},s.plotX=i[0],s.plotY=i[1],u(s.y)&&t.max-t.min&&(s.percentage=(s.y-t.min)/(t.max-t.min)*100)}))}drawPoints(){let t=this,e=t.chart,i=t.yAxis.center,s=t.pivot,o=t.options,r=o.pivot,n=e.renderer;t.points.forEach((i=>{let s=i.graphic,r=i.shapeArgs,a=r.d,l=c(o.dial,i.dial);s?(s.animate(r),r.d=a):i.graphic=n[i.shapeType](r).addClass("highcharts-dial").add(t.group),e.styledMode||i.graphic[s?"animate":"attr"]({stroke:l.borderColor,"stroke-width":l.borderWidth,fill:l.backgroundColor})})),s?s.animate({translateX:i[0],translateY:i[1]}):r&&(t.pivot=n.circle(0,0,r.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(i[0],i[1]).add(t.group),e.styledMode||t.pivot.attr({fill:r.backgroundColor,stroke:r.borderColor,"stroke-width":r.borderWidth}))}animate(t){let e=this;t||e.points.forEach((t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))}))}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),r.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(t,e){r.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),d(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return g.defaultOptions=c(r.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),h(g.prototype,{angular:!0,directTouch:!0,drawGraph:o,drawTracker:n.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:t,trackerGroups:["group","dataLabelsGroup"]}),i.registerSeriesType("gauge",g),g})),i(e,"Series/DragNodesComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{composed:i}=t,{addEvent:s,pushUnique:o}=e;function r(){let t,e,i,o=this;o.container&&(t=s(o.container,"mousedown",(t=>{let r=o.hoverPoint;r&&r.series&&r.series.hasDraggableNodes&&r.series.options.draggable&&(r.series.onMouseDown(r,t),e=s(o.container,"mousemove",(t=>r&&r.series&&r.series.onMouseMove(r,t))),i=s(o.container.ownerDocument,"mouseup",(t=>(e(),i(),r&&r.series&&r.series.onMouseUp(r,t)))))}))),s(o,"destroy",(function(){t()}))}return{compose:function(t){o(i,"DragNodes")&&s(t,"load",r)},onMouseDown:function(t,e){let i=this.chart.pointer?.normalize(e)||e;t.fixedPosition={chartX:i.chartX,chartY:i.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){let i,s,o=this.chart,r=o.pointer?.normalize(e)||e,n=t.fixedPosition.chartX-r.chartX,a=t.fixedPosition.chartY-r.chartY,l=o.graphLayoutsLookup;(Math.abs(n)>5||Math.abs(a)>5)&&(i=t.fixedPosition.plotX-n,s=t.fixedPosition.plotY-a,o.isInsidePlot(i,s)&&(t.plotX=i,t.plotY=s,t.hasDragged=!0,this.redrawHalo(t),l.forEach((t=>{t.restartSimulation()}))))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath(this.options.states.hover.halo.size)})}}})),i(e,"Series/GraphLayoutComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{setAnimation:s}=t,{composed:o}=e,{addEvent:r,pushUnique:n}=i;function a(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach((t=>{t.updateSimulation()})),this.redraw())}function l(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach((t=>{t.updateSimulation(!1)})),this.redraw())}function h(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach((t=>{t.stop()}))}function c(){let t,e=!1,i=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup){for(s(!1,this),this.graphLayoutsLookup.forEach((t=>t.start()));!t;)t=!0,this.graphLayoutsLookup.forEach(i);e&&this.series.forEach((t=>{t&&t.layout&&t.render()}))}}return{compose:function(t){n(o,"GraphLayout")&&(r(t,"afterPrint",a),r(t,"beforePrint",l),r(t,"predraw",h),r(t,"render",c))},integrations:{},layouts:{}}})),i(e,"Series/PackedBubble/PackedBubblePoint.js",[e["Core/Chart/Chart.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"]],(function(t,e,i){let{seriesTypes:{bubble:{prototype:{pointClass:s}}}}=i;return class extends s{destroy(){return this.series?.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),e.prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let i=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,e.prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=i}else e.prototype.firePointEvent.apply(this,arguments)}select(){let i=this.series.chart;this.isParentNode?(i.getSelectedPoints=i.getSelectedParentNodes,e.prototype.select.apply(this,arguments),i.getSelectedPoints=t.prototype.getSelectedPoints):e.prototype.select.apply(this,arguments)}}})),i(e,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[e["Core/Utilities.js"]],(function(t){let{isNumber:e}=t;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}})),i(e,"Series/Networkgraph/VerletIntegration.js",[],(function(){return{attractive:function(t,e,i){let s=t.getMass(),o=-i.x*e*this.diffTemperature,r=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=o*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=r*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=o*s.toNode/t.toNode.degree,t.toNode.plotY+=r*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant||0,e=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*t,i=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*t;this.nodes.forEach((function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)}))},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,o=e.prevX,r=e.prevY,n=(e.plotX+e.dispX-o)*i,a=(e.plotY+e.dispY-r)*i,l=Math.abs,h=l(n)/(n||1),c=l(a)/(a||1),d=h*Math.min(s,Math.abs(n)),p=c*Math.min(s,Math.abs(a));e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=d,e.plotY+=p,e.temperature=t.vectorLength({x:d,y:p})},repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t?1:0)}}})),i(e,"Series/PackedBubble/PackedBubbleIntegration.js",[e["Core/Globals.js"],e["Series/Networkgraph/VerletIntegration.js"]],(function(t,e){let{noop:i}=t;return{barycenter:function(){let t,e,i=this.options.gravitationalConstant,s=this.box,o=this.nodes;for(let r of o)this.options.splitSeries&&!r.isParentNode?(t=r.series.parentNode.plotX,e=r.series.parentNode.plotY):(t=s.width/2,e=s.height/2),r.fixedPosition||(r.plotX-=(r.plotX-t)*i/(r.mass*Math.sqrt(o.length)),r.plotY-=(r.plotY-e)*i/(r.mass*Math.sqrt(o.length)))},getK:i,integrate:e.integrate,repulsive:function(t,e,i,s){let o=e*this.diffTemperature/t.mass/t.degree,r=i.x*o,n=i.y*o;t.fixedPosition||(t.plotX+=r,t.plotY+=n),s.fixedPosition||(s.plotX-=r,s.plotY-=n)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}}})),i(e,"Series/Networkgraph/EulerIntegration.js",[],(function(){return{attractive:function(t,e,i,s){let o=t.getMass(),r=i.x/s*e,n=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=r*o.fromNode/t.fromNode.degree,t.fromNode.dispY-=n*o.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dispX+=r*o.toNode/t.toNode.degree,t.toNode.dispY+=n*o.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach((function(s){if(!s.fixedPosition){let o=s.getDegree(),r=o*(1+o/2);s.dispX+=(e-s.plotX)*t*r/s.degree,s.dispY+=(i-s.plotY)*t*r/s.degree}}))},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction;let i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY});0!==i&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}}})),i(e,"Series/Networkgraph/QuadTreeNode.js",[],(function(){class t{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let e=this.box.width/2,i=this.box.height/2;this.nodes[0]=new t({left:this.box.left,top:this.box.top,width:e,height:i}),this.nodes[1]=new t({left:this.box.left+e,top:this.box.top,width:e,height:i}),this.nodes[2]=new t({left:this.box.left+e,top:this.box.top+i,width:e,height:i}),this.nodes[3]=new t({left:this.box.left,top:this.box.top+i,width:e,height:i})}getBoxPosition(t){let e=t.plotXthis.step()))):(this.simulation=!1,this.series.forEach((t=>{c(t,"afterSimulation")})))}}stop(){this.simulation&&n.cancelAnimationFrame(this.simulation)}setArea(t,e,i,s){this.box={left:t,top:e,width:i,height:s}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(t,e){for(let i of t)-1===e.indexOf(i)&&e.push(i)}removeElementFromCollection(t,e){let i=e.indexOf(t);-1!==i&&e.splice(i,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(t){this.maxIterations=d(t,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(t){this.initialRendering=t}createQuadTree(){this.quadTree=new s(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let t=this.options.initialPositions;if(h(t))for(let e of(t.call(this),this.nodes))l(e.prevX)||(e.prevX=e.plotX),l(e.prevY)||(e.prevY=e.plotY),e.dispX=0,e.dispY=0;else"circle"===t?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let t,e=this.box,i=this.nodes,s=2*Math.PI/(i.length+1),o=i.filter((function(t){return 0===t.linksTo.length})),r={},n=this.options.initialPositionRadius,a=t=>{for(let e of t.linksFrom||[])r[e.toNode.id]||(r[e.toNode.id]=!0,l.push(e.toNode),a(e.toNode))},l=[];for(let t of o)l.push(t),a(t);if(l.length)for(let t of i)-1===l.indexOf(t)&&l.push(t);else l=i;for(let i=0,o=l.length;i{let e=t*t/Math.PI;return e-Math.floor(e)};for(let r=0,n=i.length;rthis.barnesHutApproximation(t,e)));else{let t,e,i;for(let s of this.nodes)for(let o of this.nodes)s===o||s.fixedPosition||(i=this.getDistXY(s,o),0!==(e=this.vectorLength(i))&&(t=this.repulsiveForce(e,this.k),this.force("repulsive",s,t*o.mass,i,e)))}}attractiveForces(){let t,e,i;for(let s of this.links)s.fromNode&&s.toNode&&(t=this.getDistXY(s.fromNode,s.toNode),0!==(e=this.vectorLength(t))&&(i=this.attractiveForce(e,this.k),this.force("attractive",s,i,t,e)))}applyLimits(){for(let t of this.nodes)t.fixedPosition||(this.integration.integrate(this,t),this.applyLimitBox(t,this.box),t.dispX=0,t.dispY=0)}applyLimitBox(t,e){let i=t.radius;t.plotX=a(t.plotX,e.left+i,e.width-i),t.plotY=a(t.plotY,e.top+i,e.height-i)}coolDown(t,e,i){return t-e*i}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let t=0;for(let e of this.nodes)t+=e.temperature;return t}vectorLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}getDistR(t,e){let i=this.getDistXY(t,e);return this.vectorLength(i)}getDistXY(t,e){let i=t.plotX-e.plotX,s=t.plotY-e.plotY;return{x:i,y:s,absX:Math.abs(i),absY:Math.abs(s)}}}return p})),i(e,"Series/PackedBubble/PackedBubbleLayout.js",[e["Series/GraphLayoutComposition.js"],e["Series/PackedBubble/PackedBubbleIntegration.js"],e["Series/Networkgraph/ReingoldFruchtermanLayout.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{addEvent:o,pick:r}=s;function n(){let t=this.series,e=[];return t.forEach((t=>{t.parentNode&&t.parentNode.selected&&e.push(t.parentNode)})),e}function a(){this.allDataPoints&&delete this.allDataPoints}class l extends i{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(s){i.compose(s),t.integrations.packedbubble=e,t.layouts.packedbubble=l;let r=s.prototype;r.getSelectedParentNodes||(o(s,"beforeRedraw",a),r.getSelectedParentNodes=n)}beforeStep(){this.options.marker&&this.series.forEach((t=>{t&&t.calculateParentRadius()}))}isStable(){let t=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&t<1e-5||this.temperature<=0}setCircularPositions(){let t,e,i=this.box,s=this.nodes,o=2*Math.PI/(s.length+1),n=this.options.initialPositionRadius,a=0;for(let l of s)this.options.splitSeries&&!l.isParentNode?(t=l.series.parentNode.plotX,e=l.series.parentNode.plotY):(t=i.width/2,e=i.height/2),l.plotX=l.prevX=r(l.plotX,t+n*Math.cos(l.index||a*o)),l.plotY=l.prevY=r(l.plotY,e+n*Math.sin(l.index||a*o)),l.dispX=0,l.dispY=0,a++}repulsiveForces(){let t,e,i,s=this,o=s.options.bubblePadding,r=s.nodes;r.forEach((n=>{n.degree=n.mass,n.neighbours=0,r.forEach((r=>{t=0,n!==r&&!n.fixedPosition&&(s.options.seriesInteraction||n.series===r.series)&&(i=s.getDistXY(n,r),(e=s.vectorLength(i)-(n.marker.radius+r.marker.radius+o))<0&&(n.degree+=.01,n.neighbours++,t=s.repulsiveForce(-e/Math.sqrt(n.neighbours),s.k,n,r)),s.force("repulsive",n,t*r.mass,i,r,e))}))}))}applyLimitBox(t,e){let i,s;this.options.splitSeries&&!t.isParentNode&&this.options.parentNodeLimit&&(i=this.getDistXY(t,t.series.parentNode),(s=t.series.parentNodeRadius-t.marker.radius-this.vectorLength(i))<0&&s>-2*t.marker.radius&&(t.plotX-=.01*i.x,t.plotY-=.01*i.y)),super.applyLimitBox(t,e)}}return t.layouts.packedbubble=l,l})),i(e,"Series/SimulationSeriesUtilities.js",[e["Core/Utilities.js"],e["Core/Animation/AnimationUtilities.js"]],(function(t,e){let{merge:i,syncTimeout:s}=t,{animObject:o}=e;return{initDataLabels:function(){let t=this.options.dataLabels;if(!this.dataLabelsGroup){let e=this.initDataLabelsGroup();return!this.chart.styledMode&&t?.style&&e.css(t.style),e.attr({opacity:0}),this.visible&&e.show(),e}return this.dataLabelsGroup.attr(i({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){let t=this.options.dataLabels;t?.defer&&this.options.layoutAlgorithm?.enableSimulation?s((()=>{this.deferDataLabels=!1}),t?o(t.animation).defer:0):this.deferDataLabels=!1}}})),i(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{deg2rad:i}=t,{addEvent:s,merge:o,uniqueKey:r,defined:n,extend:a}=e;function l(t,e){e=o(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,l=this.text||this,h=l.textPath,{attributes:c,enabled:d}=e;if(t=t||h&&h.path,h&&h.undo(),t&&d){let e=s(l,"afterModifyTree",(e=>{if(t&&d){let s=t.attr("id");s||t.attr("id",s=r());let o={x:0,y:0};n(c.dx)&&(o.dx=c.dx,delete c.dx),n(c.dy)&&(o.dy=c.dy,delete c.dy),l.attr(o),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:a(c,{"text-anchor":c.textAnchor,href:`${i}#${s}`}),children:h}}}));l.textPath={path:t,undo:e}}else l.attr({dx:0,dy:0}),delete l.textPath;return this.added&&(l.textCache="",this.renderer.buildText(l)),this}function h(t){let e=t.bBox,s=this.element?.querySelector("textPath");if(s){let o=[],{b:r,h:n}=this.renderer.fontMetrics(this.element),a=n-r,l=RegExp('(|]*>|<\\/tspan>)',"g"),h=s.innerHTML.replace(l,"").split(/]*>/),c=h.length,d=(t,e)=>{let{x:o,y:n}=e,l=(s.getRotationOfChar(t)-90)*i,h=Math.cos(l),c=Math.sin(l);return[[o-a*h,n-a*c],[o+r*h,n+r*c]]};for(let e=0,i=0;i{t.mass=2,t.degree=1,t.collisionNmb=1})),t.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),t.addElementsToCollection([this],t.series),t.addElementsToCollection(this.points,t.nodes)}addSeriesLayout(){let t=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},e=t.type||"packedbubble",s=this.chart.graphLayoutsStorage,o=this.chart.graphLayoutsLookup,r=A(t,t.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),n=s[e+"-series"];n||(s[e+"-series"]=n=new i.layouts[e],n.init(r),o.splice(n.index,0,n)),this.parentNodeLayout=n,this.createParentNodes()}calculateParentRadius(){let t=this.seriesBox();this.parentNodeRadius=x(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,t?Math.max(Math.sqrt(Math.pow(t.width,2)+Math.pow(t.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let t=this.chart.series,e=this.options.zMin,i=this.options.zMax,s=1/0,o=-1/0;return e&&i?[e,i]:(t.forEach((t=>{t.yData.forEach((t=>{v(t)&&(t>o&&(o=t),t{this.parentNodeMass+=Math.PI*Math.pow(t.marker.radius,2)})),this.calculateParentRadius(),s.nodes.forEach((e=>{e.seriesIndex===this.index&&(t=!0)})),s.setArea(0,0,i.plotWidth,i.plotHeight),t||(r||(r=new e(this,{mass:this.parentNodeRadius/2,marker:n,dataLabels:{inside:!1},states:{normal:{marker:n},hover:{marker:n}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(r.plotX=this.parentNode.plotX,r.plotY=this.parentNode.plotY),this.parentNode=r,s.addElementsToCollection([this],s.series),s.addElementsToCollection([r],s.nodes))}deferLayout(){let t=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),t.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach((t=>{t.removeElementFromCollection(this,t.series)}),this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),g.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(g.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",g.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;let t=this.chart,e=this.layout.options.parentNodeOptions.marker,i={fill:e.fillColor||p(this.color).brighten(.4).get(),opacity:e.fillOpacity,stroke:e.lineColor||this.color,"stroke-width":M(e.lineWidth,this.options.lineWidth)},s={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,t.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&v(this.parentNode.plotX)&&v(this.parentNode.plotY)&&v(this.parentNodeRadius)&&(s=A({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},i),this.parentNode.graphic||(this.graph=this.parentNode.graphic=t.renderer.symbol(i.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(s))}drawTracker(){let t,e=this.parentNode;super.drawTracker(),e&&(t=k(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach((t=>{(t.div||t.element).point=e})))}getPointRadius(){let t,e,i,s,o=this.chart,r=o.plotWidth,n=o.plotHeight,a=this.options,l=a.useSimulation,h=Math.min(r,n),c={},d=[],p=o.allDataPoints||[],u=p.length;["minSize","maxSize"].forEach((t=>{let e=parseInt(a[t],10),i=/%$/.test(a[t]);c[t]=i?h*e/100:e*Math.sqrt(u)})),o.minRadius=t=c.minSize/Math.sqrt(u),o.maxRadius=e=c.maxSize/Math.sqrt(u);let g=l?this.calculateZExtremes():[t,e];p.forEach(((o,r)=>{i=l?x(o[2],g[0],g[1]):o[2],0===(s=this.getRadius(g[0],g[1],t,e,i))&&(s=null),p[r][2]=s,d.push(s)})),this.radii=d}init(){return g.init.apply(this,arguments),b.call(this),this.eventsToUnbind.push(y(this,"updatedData",(function(){this.chart.series.forEach((t=>{t.type===this.type&&(t.isDirty=!0)}),this)}))),this}onMouseUp(t){if(t.fixedPosition&&!t.removed){let i,s=this.layout,o=this.parentNodeLayout;o&&s.options.dragBetweenSeries&&o.nodes.forEach((e=>{t&&t.marker&&e!==t.series.parentNode&&(i=s.getDistXY(t,e),s.vectorLength(i)-e.marker.radius-t.marker.radius<0&&(e.series.addPoint(A(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),s.removeElementFromCollection(t,s.nodes),t.remove()))})),e.onMouseUp.apply(this,arguments)}}placeBubbles(t){let e,i,s=this.checkOverlap,o=this.positionBubble,r=[],n=1,a=0,l=0,h=[],c=t.sort(((t,e)=>e[2]-t[2]));if(c.length){if(r.push([[0,0,c[0][2],c[0][3],c[0][4]]]),c.length>1)for(r.push([[0,0-c[1][2]-c[0][2],c[1][2],c[1][3],c[1][4]]]),i=2;i1&&r[n-1][l+1]&&s(e,r[n-1][l+1])?(l++,r[n].push(o(r[n][a],r[n-1][l],c[i])),a++):(a++,r[n].push(e));this.chart.stages=r,this.chart.rawPositions=[].concat.apply([],r),this.resizeRadius(),h=this.chart.rawPositions}return h}pointAttribs(t,e){let i=this.options,s=t&&t.isParentNode,o=i.marker;s&&i.layoutAlgorithm&&i.layoutAlgorithm.parentNodeOptions&&(o=i.layoutAlgorithm.parentNodeOptions.marker);let r=o.fillOpacity,n=g.pointAttribs.call(this,t,e);return 1!==r&&(n["fill-opacity"]=r),n}positionBubble(t,e,i){let s=Math.asin,o=Math.acos,r=Math.pow,n=Math.abs,a=(0,Math.sqrt)(r(t[0]-e[0],2)+r(t[1]-e[1],2)),l=o((r(a,2)+r(i[2]+e[2],2)-r(i[2]+t[2],2))/(2*(i[2]+e[2])*a)),h=s(n(t[0]-e[0])/a),c=(t[1]-e[1]<0?0:Math.PI)+l+h*((t[0]-e[0])*(t[1]-e[1])<0?1:-1),d=Math.cos(c),p=Math.sin(c);return[e[0]+(e[2]+i[2])*p,e[1]-(e[2]+i[2])*d,i[2],i[3],i[4]]}render(){let t=[];g.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach((e=>{k(e.dataLabels)&&e.dataLabels.forEach((e=>{t.push(e)}))})),this.options.useSimulation&&this.chart.hideOverlappingLabels(t))}resizeRadius(){let t,e,i,s,o,r=this.chart,n=r.rawPositions,a=Math.min,l=Math.max,h=r.plotLeft,c=r.plotTop,d=r.plotHeight,p=r.plotWidth;for(let r of(t=i=Number.POSITIVE_INFINITY,e=s=Number.NEGATIVE_INFINITY,n))o=r[2],t=a(t,r[0]-o),e=l(e,r[0]+o),i=a(i,r[1]-o),s=l(s,r[1]+o);let u=[e-t,s-i],g=[(p-h)/u[0],(d-c)/u[1]],m=a.apply([],g);if(Math.abs(m-1)>1e-10){for(let t of n)t[2]*=m;this.placeBubbles(n)}else r.diffY=d/2+c-i-(s-i)/2,r.diffX=p/2+h-t-(e-t)/2}seriesBox(){let t,e=this.chart,i=this.data,s=Math.max,o=Math.min,r=[e.plotLeft,e.plotLeft+e.plotWidth,e.plotTop,e.plotTop+e.plotHeight];return i.forEach((e=>{v(e.plotX)&&v(e.plotY)&&e.marker.radius&&(t=e.marker.radius,r[0]=o(r[0],e.plotX-t),r[1]=s(r[1],e.plotX+t),r[2]=o(r[2],e.plotY-t),r[3]=s(r[3],e.plotY+t))})),S(r.width/r.height)?r:null}setVisible(){let t=this;g.setVisible.apply(t,arguments),t.parentNodeLayout&&t.graph?t.visible?(t.graph.show(),t.parentNode.dataLabel&&t.parentNode.dataLabel.show()):(t.graph.hide(),t.parentNodeLayout.removeElementFromCollection(t.parentNode,t.parentNodeLayout.nodes),t.parentNode.dataLabel&&t.parentNode.dataLabel.hide()):t.layout&&(t.visible?t.layout.addElementsToCollection(t.points,t.layout.nodes):t.points.forEach((e=>{t.layout.removeElementFromCollection(e,t.layout.nodes)})))}translate(){let t,e,i,s=this.chart,o=this.data,r=this.index,n=this.options.useSimulation;for(let a of(this.processedXData=this.xData,this.generatePoints(),v(s.allDataPoints)||(s.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),n?i=s.allDataPoints:(i=this.placeBubbles(s.allDataPoints),this.options.draggable=!1),i))a[3]===r&&(t=o[a[4]],e=M(a[2],void 0),n||(t.plotX=a[0]-s.plotLeft+s.diffX,t.plotY=a[1]-s.plotTop+s.diffY),S(e)&&(t.marker=w(t.marker,{radius:e,width:2*e,height:2*e}),t.radius=e));n&&this.deferLayout(),C(this,"afterTranslate")}}return P.defaultOptions=A(m.defaultOptions,r),w(P.prototype,{pointClass:o,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:f,alignDataLabel:g.alignDataLabel,indexateNodes:u,onMouseDown:e.onMouseDown,onMouseMove:e.onMouseMove,redrawHalo:e.redrawHalo,searchPoint:u}),a.registerSeriesType("packedbubble",P),P})),i(e,"Series/Polygon/PolygonSeriesDefaults.js",[],(function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}})),i(e,"Series/Polygon/PolygonSeries.js",[e["Core/Globals.js"],e["Series/Polygon/PolygonSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:o}=t,{area:r,line:n,scatter:a}=i.seriesTypes,{extend:l,merge:h}=s;class c extends a{getGraphPath(){let t=n.prototype.getGraphPath.call(this),e=t.length+1;for(;e--;)(e===t.length||"M"===t[e][0])&&e>0&&t.splice(e,0,["Z"]);return this.areaPath=t,t}drawGraph(){this.options.fillColor=this.color,r.prototype.drawGraph.call(this)}}return c.defaultOptions=h(a.defaultOptions,e),l(c.prototype,{type:"polygon",drawTracker:n.prototype.drawTracker,setStackedPoints:o}),i.registerSeriesType("polygon",c),c})),i(e,"Core/Axis/RadialAxisDefaults.js",[],(function(){return{circular:{gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},radial:{gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",padding:5,x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},radialGauge:{endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2}}})),i(e,"Core/Axis/RadialAxis.js",[e["Core/Axis/RadialAxisDefaults.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var o;let{defaultOptions:r}=e,{composed:n,noop:a}=i,{addEvent:l,correctFloat:h,defined:c,extend:d,fireEvent:p,isObject:u,merge:g,pick:m,pushUnique:f,relativeLength:b,wrap:y}=s;return function(e){function s(){this.autoConnect=this.isCircular&&void 0===m(this.userMax,this.options.max)&&h(this.endAngleRad-this.startAngleRad)===h(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function o(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map((t=>this.ticks[t]&&this.ticks[t].label)).filter((t=>!!t))}}function x(){return a}function v(t,e,i){let s,o,r,n=this.pane.center,a=t.value;return this.isCircular?(c(a)?t.point&&(t.point.shapeArgs||{}).start&&(a=this.chart.inverted?this.translate(t.point.rectPlotY,!0):t.point.x):(o=t.chartX||0,r=t.chartY||0,a=this.translate(Math.atan2(r-i,o-e)-this.startAngleRad,!0)),o=(s=this.getPosition(a)).x,r=s.y):(c(a)||(o=t.chartX,r=t.chartY),c(o)&&c(r)&&(i=n[1]+this.chart.plotTop,a=this.translate(Math.min(Math.sqrt(Math.pow(o-e,2)+Math.pow(r-i,2)),n[2]/2)-n[3]/2,!0))),[a,o||0,r||0]}function w(t,e,i){let s,o,r=this.pane.center,n=this.chart,a=this.left||0,l=this.top||0,h=m(e,r[2]/2-this.offset);return void 0===i&&(i=this.horiz?0:this.center&&-this.center[3]/2),i&&(h+=i),this.isCircular||void 0!==e?((o=this.chart.renderer.symbols.arc(a+r[0],l+r[1],h,h,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[a+r[0]],o.yBounds=[l+r[1]-h]):(s=this.postTranslate(this.angleRad,h),o=[["M",this.center[0]+n.plotLeft,this.center[1]+n.plotTop],["L",s.x,s.y]]),o}function C(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function k(t,e,i){let s,o,r,n,a,l,h=this.chart,c=t=>{if("string"==typeof t){let e=parseInt(t,10);return y.test(t)&&(e=e*u/100),e}return t},d=this.center,p=this.startAngleRad,u=d[2]/2,g=Math.min(this.offset,0),f=this.left||0,b=this.top||0,y=/%$/,x=this.isCircular,v=m(c(i.outerRadius),u),w=c(i.innerRadius),C=m(c(i.thickness),10);if("polygon"===this.options.gridLineInterpolation)l=this.getPlotLinePath({value:t}).concat(this.getPlotLinePath({value:e,reverse:!0}));else{t=Math.max(t,this.min),e=Math.min(e,this.max);let c=this.translate(t),u=this.translate(e);x||(v=c||0,w=u||0),"circle"!==i.shape&&x?(s=p+(c||0),o=p+(u||0)):(s=-Math.PI/2,o=1.5*Math.PI,a=!0),v-=g,C-=g,l=h.renderer.symbols.arc(f+d[0],b+d[1],v,v,{start:Math.min(s,o),end:Math.max(s,o),innerR:m(w,v-C),open:a,borderRadius:i.borderRadius}),x&&(r=(o+s)/2,n=f+d[0]+d[2]/2*Math.cos(r),l.xBounds=r>-Math.PI/2&&r-Math.PI&&r<0||r>Math.PI?-10:10)}return l}function S(t){let e,i,s,o,r,n,a,l,h,c=this.pane.center,d=this.chart,p=d.inverted,u=t.reverse,g=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},m=g.innerRadius||"0%",f=g.outerRadius||"100%",y=c[0]+d.plotLeft,x=c[1]+d.plotTop,v=this.height,w=t.isCrosshair,C=c[3]/2,k=t.value,S=this.getPosition(k),A=S.x,M=S.y;if(w&&(k=(l=this.getCrosshairPosition(t,y,x))[0],A=l[1],M=l[2]),this.isCircular)i=Math.sqrt(Math.pow(A-y,2)+Math.pow(M-x,2)),s="string"==typeof m?b(m,1):m/i,o="string"==typeof f?b(f,1):f/i,c&&C&&(s<(e=C/i)&&(s=e),ov)&&(k=0),"circle"===this.options.gridLineInterpolation)h=this.getLinePath(0,k,C);else if(h=[],d[p?"yAxis":"xAxis"].forEach((t=>{t.pane===this.pane&&(r=t)})),r){a=r.tickPositions,r.autoConnect&&(a=a.concat([a[0]])),u&&(a=a.slice().reverse()),k&&(k+=C);for(let t=0;tMath.PI&&(r-=t),n>Math.PI&&(n-=t),this.normalizedStartAngleRad=r,this.normalizedEndAngleRad=n}}function E(t){this.isRadial&&(t.align=void 0,t.preventDefault())}function L(){if(this.chart&&this.chart.labelCollectors){let t=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;t>=0&&this.chart.labelCollectors.splice(t,1)}}function D(t){let e,i=this.chart,s=i.angular,o=i.polar,r=this.isXAxis,n=this.coll,l=t.userOptions.pane||0,h=this.pane=i.pane&&i.pane[l];"colorAxis"!==n?(s?(s&&r?(this.isHidden=!0,this.createLabelCollector=x,this.getOffset=a,this.redraw=R,this.render=R,this.setScale=a,this.setCategories=a,this.setTitle=a):P(this),e=!r):o&&(P(this),e=this.horiz),s||o?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&i.labelCollectors.push(this.labelCollector)):this.isRadial=!1,h&&e&&(h.axis=this),this.isCircular=e):this.isRadial=!1}function O(){this.isRadial&&this.beforeSetTickPositions()}function j(t){let e=this.label;if(!e)return;let i,s=this.axis,o=e.getBBox(),r=s.options.labels,n=(s.translate(this.pos)+s.startAngleRad+Math.PI/2)/Math.PI*180%360,a=Math.round(n),l=c(r.y)?0:-.3*o.height,h=r.y,d=20,p=r.align,u="end",g=a<0?a+360:a,f=g,y=0,x=0;s.isRadial&&(i=s.getPosition(this.pos,s.center[2]/2+b(m(r.distance,-25),s.center[2]/2,-s.center[2]/2)),"auto"===r.rotation?e.attr({rotation:n}):c(h)||(h=s.chart.renderer.fontMetrics(e).b-o.height/2),c(p)||(s.isCircular?(o.width>s.len*s.tickInterval/(s.max-s.min)&&(d=0),p=n>d&&n<180-d?"left":n>180+d&&n<360-d?"right":"center"):p="center",e.attr({align:p})),"auto"===p&&2===s.tickPositions.length&&s.isCircular&&(g>90&&g<180?g=180-g:g>270&&g<=360&&(g=540-g),f>180&&f<=360&&(f=360-f),(s.pane.options.startAngle===a||s.pane.options.startAngle===a+360||s.pane.options.startAngle===a-360)&&(u="start"),p=a>=-90&&a<=90||a>=-360&&a<=-270||a>=270&&a<=360?"start"===u?"right":"left":"start"===u?"left":"right",f>70&&f<110&&(p="center"),g<15||g>=180&&g<195?y=.3*o.height:g>=15&&g<=35?y="start"===u?0:.75*o.height:g>=195&&g<=215?y="start"===u?.75*o.height:0:g>35&&g<=90?y="start"===u?-.25*o.height:o.height:g>215&&g<=270&&(y="start"===u?o.height:-.25*o.height),f<15?x="start"===u?-.15*o.height:.15*o.height:f>165&&f<=180&&(x="start"===u?.15*o.height:-.15*o.height),e.attr({align:p}),e.translate(x,y+l)),t.pos.x=i.x+(r.x||0),t.pos.y=i.y+(h||0))}function N(t){this.axis.getPosition&&d(t.pos,this.axis.getPosition(this.pos))}function I({options:t}){t.xAxis&&g(!0,e.radialDefaultOptions.circular,t.xAxis),t.yAxis&&g(!0,e.radialDefaultOptions.radialGauge,t.yAxis)}function B(t,e){let i=this.chart,s=this.center;return t=this.startAngleRad+t,{x:i.plotLeft+s[0]+Math.cos(t)*e,y:i.plotTop+s[1]+Math.sin(t)*e}}function R(){this.isDirty=!1}function z(){let t,e;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),t=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(e=this.postTranslate(this.angleRad,t[3]/2),t[0]=e.x-this.chart.plotLeft,t[1]=e.y-this.chart.plotTop),this.len=this.width=this.height=(t[2]-t[3])*m(this.sector,1)/2)}function F(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.isCircular?this.transA=(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.transA=(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.isXAxis?this.minPixelPadding=this.transA*this.minPointOffset:this.minPixelPadding=0)}function H(t){let{coll:i}=this,{angular:s,inverted:o,polar:n}=this.chart,a={};s?this.isXAxis||(a=g(r.yAxis,e.radialDefaultOptions.radialGauge)):n&&(a=this.horiz?g(r.xAxis,e.radialDefaultOptions.circular):g("xAxis"===i?r.xAxis:r.yAxis,e.radialDefaultOptions.radial)),o&&"yAxis"===i&&(a.stackLabels=u(r.yAxis,!0)?r.yAxis.stackLabels:{},a.reversedStacks=!0);let l=this.options=g(a,t);l.plotBands||(l.plotBands=[]),p(this,"afterSetOptions")}function X(t,e,i,s,o,r,n){let a,l=this.axis;return l.isRadial?["M",e,i,"L",(a=l.getPosition(this.pos,l.center[2]/2+s)).x,a.y]:t.call(this,e,i,s,o,r,n)}e.radialDefaultOptions=g(t),e.compose=function(t,e){return f(n,"Axis.Radial")&&(l(t,"afterInit",T),l(t,"autoLabelAlign",E),l(t,"destroy",L),l(t,"init",D),l(t,"initialAxisTranslation",O),l(e,"afterGetLabelPosition",j),l(e,"afterGetPosition",N),l(i,"setOptions",I),y(e.prototype,"getMarkPath",X)),t}}(o||(o={})),o})),i(e,"Series/PolarComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Extensions/Pane/Pane.js"],e["Core/Axis/RadialAxis.js"],e["Core/Utilities.js"]],(function(t,e,i,s,o,r){let{animObject:n}=t,{composed:a}=e,{addEvent:l,defined:h,find:c,isNumber:d,merge:p,pick:u,pushUnique:g,relativeLength:m,splat:f,uniqueKey:b,wrap:y}=r;function x(){(this.pane||[]).forEach((t=>{t.render()}))}function v(t){let e=t.args[0].xAxis,i=t.args[0].yAxis,s=t.args[0].chart;e&&i&&("polygon"===i.gridLineInterpolation?(e.startOnTick=!0,e.endOnTick=!0):"polygon"===e.gridLineInterpolation&&s.inverted&&(i.startOnTick=!0,i.endOnTick=!0))}function w(){this.pane||(this.pane=[]),this.options.pane=f(this.options.pane),this.options.pane.forEach((t=>{new s(t,this)}),this)}function C(t){let e=t.args.marker,i=this.chart.xAxis[0],s=this.chart.yAxis[0],o=this.chart.inverted,r=o?s:i,n=o?i:s;if(this.chart.polar){t.preventDefault();let i=(e.attr?e.attr("start"):e.start)-r.startAngleRad,s=e.attr?e.attr("r"):e.r,o=(e.attr?e.attr("end"):e.end)-r.startAngleRad,a=e.attr?e.attr("innerR"):e.innerR;t.result.x=i+r.pos,t.result.width=o-i,t.result.y=n.len+n.pos-s,t.result.height=s-a}}function k(t){let e=this.chart;if(e.polar&&e.hoverPane&&e.hoverPane.axis){t.preventDefault();let i=e.hoverPane.center,s=e.mouseDownX||0,o=e.mouseDownY||0,r=t.args.chartY,n=t.args.chartX,a=2*Math.PI,l=e.hoverPane.axis.startAngleRad,h=e.hoverPane.axis.endAngleRad,c=e.inverted?e.xAxis[0]:e.yAxis[0],d={},p="arc";if(d.x=i[0]+e.plotLeft,d.y=i[1]+e.plotTop,this.zoomHor){let t=l>0?h-l:Math.abs(l)+Math.abs(h),u=Math.atan2(o-e.plotTop-i[1],s-e.plotLeft-i[0])-l,g=Math.atan2(r-e.plotTop-i[1],n-e.plotLeft-i[0])-l;d.r=i[2]/2,d.innerR=i[3]/2,u<=0&&(u+=a),g<=0&&(g+=a),gh+(a-t)/2&&(g=u,u=l<=0?l:0);let m=d.start=Math.max(u+l,l),f=d.end=Math.min(g+l,h);if("polygon"===c.options.gridLineInterpolation){let t=e.hoverPane.axis,s=m-t.startAngleRad+t.pos,o=c.getPlotLinePath({value:c.max}),r=t.toValue(s),n=t.toValue(s+(f-m));if(ri[2]/2&&(c=i[2]/2),at.max?(o[r].isNull=!0,o[r].plotY=NaN):o[r].isNull=o[r].isValid&&!o[r].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(l(this,"afterRender",(function(){let t;s.polar&&!1!==this.options.clip&&(t=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2}):this.clipCircle=function(t,e,i,s,o){let r=b(),n=t.createElement("clipPath").attr({id:r}).add(t.defs),a=o?t.arc(e,i,s,o,0,2*Math.PI).add(n):t.circle(e,i,s).add(n);return a.id=r,a.clipPath=n,a}(s.renderer,t[0],t[1],t[2]/2,t[3]/2),this.group.clip(this.clipCircle),this.setClip=e.noop)}))))}}function M(t){let e=this.chart,i=this.xAxis,s=this.yAxis,o=i.pane&&i.pane.center,r=t.chartX-(o&&o[0]||0)-e.plotLeft,n=t.chartY-(o&&o[1]||0)-e.plotTop,a=e.inverted?{clientX:t.chartX-s.pos,plotY:t.chartY-i.pos}:{clientX:180+-180/Math.PI*Math.atan2(r,n)};return this.searchKDTree(a)}function P(t,e,i,s){let o=s.tickInterval,r=s.tickPositions,n=c(r,(t=>t>=i)),a=c([...r].reverse(),(t=>t<=e));return h(n)||(n=r[r.length-1]),h(a)||(a=r[0],n+=o,t[0][0]="L",t.unshift(t[t.length-3])),(t=t.slice(r.indexOf(a),r.indexOf(n)+1))[0][0]="M",t}function T(t,e){return c(this.pane||[],(t=>t.options.id===e))||t.call(this,e)}function E(t,e,s,o,r,n){let a,l,h,c=this.chart,d=u(o.inside,!!this.options.stacking);if(c.polar){if(a=e.rectPlotX/Math.PI*180,c.inverted)this.forceDL=c.isInsidePlot(e.plotX,e.plotY),d&&e.shapeArgs?(l=e.shapeArgs,r=p(r,{x:(h=this.yAxis.postTranslate(((l.start||0)+(l.end||0))/2-this.xAxis.startAngleRad,e.barX+e.pointWidth/2)).x-c.plotLeft,y:h.y-c.plotTop})):e.tooltipPos&&(r=p(r,{x:e.tooltipPos[0],y:e.tooltipPos[1]})),o.align=u(o.align,"center"),o.verticalAlign=u(o.verticalAlign,"middle");else{var g;let t,e;null===(g=o).align&&(t=a>20&&a<160?"left":a>200&&a<340?"right":"center",g.align=t),null===g.verticalAlign&&(e=a<45||a>315?"bottom":a>135&&a<225?"top":"middle",g.verticalAlign=e),o=g}i.prototype.alignDataLabel.call(this,e,s,o,r,n),this.isRadialBar&&e.shapeArgs&&e.shapeArgs.start===e.shapeArgs.end?s.hide():s.show()}else t.call(this,e,s,o,r,n)}function L(){let t,e,i,s,o,n,a,l,c,p,u,g,f,b=this.options,y=b.stacking,x=this.chart,v=this.xAxis,w=this.yAxis,C=w.reversed,k=w.center,S=v.startAngleRad,A=v.endAngleRad-S,M=b.threshold,P=0,T=0,E=0;if(v.isRadial)for(i=(t=this.points).length,s=w.translate(w.min),o=w.translate(w.max),M=b.threshold||0,x.inverted&&d(M)&&h(P=w.translate(M))&&(P<0?P=0:P>A&&(P=A),this.translatedThreshold=P+S);i--;){if(u=(e=t[i]).barX,a=e.x,l=e.y,e.shapeType="arc",x.inverted){e.plotY=w.translate(l),y&&w.stacking?(p=w.stacking.stacks[(l<0?"-":"")+this.stackKey],this.visible&&p&&p[a]&&!e.isNull&&(c=p[a].points[this.getStackIndicator(void 0,a,this.index).key],T=w.translate(c[0]),E=w.translate(c[1]),h(T)&&(T=r.clamp(T,0,A)))):(T=P,E=e.plotY),T>E&&(E=[T,T=E][0]),C?E>s?E=s:Ts||Eo?E=o:(Eo)&&(T=E=0),w.min>w.max&&(T=E=C?A:0),T+=S,E+=S,k&&(e.barX=u+=k[3]/2),g=Math.max(u,0),f=Math.max(u+e.pointWidth,0);let t=b.borderRadius,i=m(("object"==typeof t?t.radius:t)||0,f-g);e.shapeArgs={x:k[0],y:k[1],r:f,innerR:g,start:T,end:E,borderRadius:i},e.opacity=T===E?0:void 0,e.plotY=(h(this.translatedThreshold)&&(Tk[1])}}function D(t,e){let i,s,o=this;if(this.chart.polar){e=e||this.points;for(let t=0;t{void 0===t.polarPlotY&&o.polar.toXY(t)}))}let r=t.apply(this,[].slice.call(arguments,1));return s&&e.pop(),r}function O(t,e){let i=this.chart,s={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach((t=>{if("colorAxis"===t.coll)return;let o=t.isXAxis,r=t.center,n=e.chartX-r[0]-i.plotLeft,a=e.chartY-r[1]-i.plotTop;s[o?"xAxis":"yAxis"].push({axis:t,value:t.translate(o?Math.PI-Math.atan2(n,a):Math.sqrt(Math.pow(n,2)+Math.pow(a,2)),!0)})})):s=t.call(this,e),s}function j(t,e){this.chart.polar||t.call(this,e)}function N(t,i){let s,o,r,a,l,h,c=this,d=this.chart,p=this.group,g=this.markerGroup,m=this.xAxis&&this.xAxis.center,f=d.plotLeft,b=d.plotTop,y=this.options.animation;d.polar?c.isRadialBar?i||(c.startAngleRad=u(c.translatedThreshold,c.xAxis.startAngleRad),e.seriesTypes.pie.prototype.animate.call(c,i)):(y=n(y),c.is("column")?i||(o=m[3]/2,c.points.forEach((t=>{r=t.graphic,l=(a=t.shapeArgs)&&a.r,h=a&&a.innerR,r&&a&&(r.attr({r:o,innerR:o}),r.animate({r:l,innerR:h},c.options.animation))}))):i?(s={translateX:m[0]+f,translateY:m[1]+b,scaleX:.001,scaleY:.001},p.attr(s),g&&g.attr(s)):(s={translateX:f,translateY:b,scaleX:1,scaleY:1},p.animate(s,y),g&&g.animate(s,y))):t.call(this,i)}function I(t,e,i,s){let o,r;if(this.chart.polar)if(s){let t=(r=function t(e,i,s,o){let r,n,a,l,h,c,d=o?1:0,p=(r=i>=0&&i<=e.length-1?i:i<0?e.length-1+i:0)-1<0?e.length-(1+d):r-1,u=r+1>e.length-1?d:r+1,g=e[p],m=e[u],f=g.plotX,b=g.plotY,y=m.plotX,x=m.plotY,v=e[r].plotX,w=e[r].plotY;n=(1.5*v+f)/2.5,a=(1.5*w+b)/2.5,l=(1.5*v+y)/2.5,h=(1.5*w+x)/2.5;let C=Math.sqrt(Math.pow(n-v,2)+Math.pow(a-w,2)),k=Math.sqrt(Math.pow(l-v,2)+Math.pow(h-w,2)),S=Math.atan2(a-w,n-v);c=Math.PI/2+(S+Math.atan2(h-w,l-v))/2,Math.abs(S-c)>Math.PI/2&&(c-=Math.PI),n=v+Math.cos(c)*C,a=w+Math.sin(c)*C;let A={rightContX:l=v+Math.cos(Math.PI+c)*k,rightContY:h=w+Math.sin(Math.PI+c)*k,leftContX:n,leftContY:a,plotX:v,plotY:w};return s&&(A.prevPointCont=t(e,p,!1,o)),A}(e,s,!0,this.connectEnds)).prevPointCont&&r.prevPointCont.rightContX,i=r.prevPointCont&&r.prevPointCont.rightContY;o=["C",d(t)?t:r.plotX,d(i)?i:r.plotY,d(r.leftContX)?r.leftContX:r.plotX,d(r.leftContY)?r.leftContY:r.plotY,r.plotX,r.plotY]}else o=["M",i.plotX,i.plotY];else o=t.call(this,e,i,s);return o}function B(t,e,i=this.plotY){if(!this.destroyed){let{plotX:s,series:o}=this,{chart:r}=o;return r.polar&&d(s)&&d(i)?[s+(e?r.plotLeft:0),i+(e?r.plotTop:0)]:t.call(this,e,i)}}class R{static compose(t,e,i,r,n,h,c,d,p,u){if(s.compose(e,i),o.compose(t,n),g(a,"Polar")){let t=e.prototype,s=h.prototype,o=i.prototype,n=r.prototype;if(l(e,"afterDrawChartBox",x),l(e,"getAxes",w),l(e,"init",v),y(t,"get",T),y(o,"getCoordinates",O),y(o,"pinch",j),l(i,"getSelectionMarkerAttrs",k),l(i,"getSelectionBox",C),l(r,"afterInit",S),l(r,"afterTranslate",A,{order:2}),l(r,"afterColumnTranslate",L,{order:4}),y(n,"animate",N),y(s,"pos",B),d){let t=d.prototype;y(t,"alignDataLabel",E),y(t,"animate",N)}if(p&&y(p.prototype,"getGraphPath",D),u){let t=u.prototype;y(t,"getPointSpline",I),c&&(c.prototype.getPointSpline=t.getPointSpline)}}}constructor(t){this.series=t}arc(t,e,i,s){let o=this.series,r=o.xAxis.center,n=o.yAxis.len,a=r[3]/2,l=n-e+a,h=n-u(t,n)+a;return o.yAxis.reversed&&(l<0&&(l=a),h<0&&(h=a)),{x:r[0],y:r[1],r:l,innerR:h,start:i,end:s}}toXY(t){let e,i=this.series,s=i.chart,o=i.xAxis,r=i.yAxis,n=t.plotX,a=s.inverted,l=t.y,h=t.plotY,c=a?n:r.len-h;if(a&&i&&!i.isRadialBar&&(t.plotY=h=d(l)?r.translate(l):0),t.rectPlotX=n,t.rectPlotY=h,r.center&&(c+=r.center[3]/2),d(h)){let e=a?r.postTranslate(h,c):o.postTranslate(n,c);t.plotX=t.polarPlotX=e.x-s.plotLeft,t.plotY=t.polarPlotY=e.y-s.plotTop}i.kdByAngle?((e=(n/Math.PI*180+o.pane.options.startAngle)%360)<0&&(e+=360),t.clientX=e):t.clientX=t.plotX}}return R})),i(e,"Core/Axis/WaterfallAxis.js",[e["Core/Globals.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{composed:o}=t,{addEvent:r,objectEach:n,pushUnique:a}=i;return function(t){function i(){let t=this.waterfall.stacks;t&&(t.changed=!1,delete t.alreadyChanged)}function s(){let t=this.options.stackLabels;t&&t.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function l(){this.waterfall||(this.waterfall=new c(this))}function h(){let t=this.axes;for(let e of this.series)if(e.options.stacking){for(let e of t)e.isXAxis||(e.waterfall.stacks.changed=!0);break}}t.compose=function(t,e){a(o,"Axis.Waterfall")&&(r(t,"init",l),r(t,"afterBuildStacks",i),r(t,"afterRender",s),r(e,"beforeRedraw",h))};class c{constructor(t){this.axis=t,this.stacks={changed:!1}}renderStackTotals(){let t=this.axis,i=t.waterfall.stacks,s=t.stacking&&t.stacking.stackTotalGroup,o=new e(t,t.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=o,s&&n(i,(t=>{n(t,((t,i)=>{o.total=t.stackTotal,o.x=+i,t.label&&(o.label=t.label),e.prototype.render.call(o,s),t.label=o.label,delete o.label}))})),o.total=null}}t.Composition=c}(s||(s={})),s})),i(e,"Series/Waterfall/WaterfallPoint.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i){let{isNumber:s}=i;class o extends t.prototype.pointClass{getClassName(){let t=e.prototype.getClassName.call(this);return this.isSum?t+=" highcharts-sum":this.isIntermediateSum&&(t+=" highcharts-intermediate-sum"),t}isValid(){return s(this.y)||this.isSum||!!this.isIntermediateSum}}return o})),i(e,"Series/Waterfall/WaterfallSeriesDefaults.js",[],(function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}})),i(e,"Series/Waterfall/WaterfallSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Core/Axis/WaterfallAxis.js"],e["Series/Waterfall/WaterfallPoint.js"],e["Series/Waterfall/WaterfallSeriesDefaults.js"]],(function(t,e,i,s,o){let{column:r,line:n}=t.seriesTypes,{addEvent:a,arrayMax:l,arrayMin:h,correctFloat:c,crisp:d,extend:p,isNumber:u,merge:g,objectEach:m,pick:f}=e;function b(t,e){return Object.hasOwnProperty.call(t,e)}class y extends r{generatePoints(){r.prototype.generatePoints.apply(this);for(let t=0,e=this.points.length;t0?i:void 0);let s=r.prototype.pointAttribs.call(this,t,e);return delete s.dashstyle,s}getGraphPath(){return[["M",0,0]]}getCrispPath(){let t=this.data.filter((t=>u(t.y))),e=this.yAxis,i=t.length,s=this.graph?.strokeWidth()||0,o=this.xAxis.reversed,r=this.yAxis.reversed,n=this.options.stacking,a=[];for(let l=1;l0?-p.height:0;if(g&&p&&i){let t,c=g[l-1];if(n){let i=c.connectorThreshold;t=d(e.translate(i,!1,!0,!1,!0)+(r?m:0),s)}else t=d(p.y+(h.minPointLengthOffset||0),s);a.push(["M",(p.x||0)+(o?0:p.width||0),t],["L",(i.x||0)+(o&&i.width||0),t])}if(p&&a.length&&(!n&&c<0&&!r||c>0&&r)){let t=a[a.length-2];t&&"number"==typeof t[2]&&(t[2]+=p.height||0);let e=a[a.length-1];e&&"number"==typeof e[2]&&(e[2]+=p.height||0)}}return a}drawGraph(){n.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(t){let e,i,s,o,r,n,a,l,h,c=this.options,d=t.waterfall?.stacks,p=c.threshold||0,u=this.stackKey,g=this.xData,m=g.length,f=p,b=f,y=0,x=0,v=0,w=(t,s,o,r)=>{if(e){if(i)for(;ol.indexOf(u)&&(h=!0),d[u]||(d[u]={});let t=d[u];if(t)for(let l=0;l=0?e.posTotal+=n:e.negTotal+=n,r=c.data[l],s=e.absolutePos=e.posTotal,o=e.absoluteNeg=e.negTotal,e.stackTotal=s+o,i=e.stackState.length,r&&r.isIntermediateSum?(w(v,x,0,v),v=x,x=p,f^=b,b^=f,f^=b):r&&r.isSum?(w(p,y,i,0),f=p):(w(f,n,0,y),r&&(y+=n,x+=n)),e.stateIndex++,e.threshold=f,f+=e.stackTotal;d.changed=!1,d.alreadyChanged||(d.alreadyChanged=[]),d.alreadyChanged.push(u)}}getExtremes(){let t,e,i,s=this.options.stacking;return s?(t=this.yAxis.waterfall.stacks,e=this.stackedYNeg=[],i=this.stackedYPos=[],m(t[this.stackKey],"overlap"===s?function(t){e.push(h(t.stackState)),i.push(l(t.stackState))}:function(t){e.push(t.negTotal+t.threshold),i.push(t.posTotal+t.threshold)}),{dataMin:h(e),dataMax:l(i)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return y.defaultOptions=g(r.defaultOptions,o),y.compose=i.compose,p(y.prototype,{pointValKey:"y",showLine:!0,pointClass:s}),a(y,"afterColumnTranslate",(function(){let t,e,i,s,{options:o,points:r,yAxis:n}=this,a=f(o.minPointLength,5),l=a/2,h=o.threshold||0,c=o.stacking,m=n.waterfall.stacks[this.stackKey],y=h,x=h;for(let o=0;o=0?e:e-k,b(r,"absolutePos")&&delete r.absolutePos,b(r,"absoluteNeg")&&delete r.absoluteNeg):(k>=0?(e=r.threshold+r.posTotal,r.posTotal-=k,t=e):(e=r.threshold+r.negTotal,r.negTotal-=k,t=e-k),!r.posTotal&&u(r.absolutePos)&&b(r,"absolutePos")&&(r.posTotal=r.absolutePos,delete r.absolutePos),!r.negTotal&&u(r.absoluteNeg)&&b(r,"absoluteNeg")&&(r.negTotal=r.absoluteNeg,delete r.absoluteNeg)),f.isSum||(r.connectorThreshold=r.threshold+r.stackTotal),n.reversed?(i=k>=0?t-k:t+k,s=t):(i=t,s=t-k),f.below=i<=h,w.y=n.translate(i,!1,!0,!1,!0),w.height=Math.abs(w.y-n.translate(s,!1,!0,!1,!0));let a=n.waterfall.dummyStackItem;a&&(a.x=o,a.label=m[o].label,a.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[o],this.stackedYPos[o],void 0,this.xAxis))}}else t=Math.max(x,x+k)+C[0],w.y=n.translate(t,!1,!0,!1,!0),f.isSum?(w.y=n.translate(C[1],!1,!0,!1,!0),w.height=Math.min(n.translate(C[0],!1,!0,!1,!0),n.len)-w.y,f.below=C[1]<=h):f.isIntermediateSum?(k>=0?(i=C[1]+y,s=y):(i=y,s=C[1]+y),n.reversed&&(i^=s,s^=i,i^=s),w.y=n.translate(i,!1,!0,!1,!0),w.height=Math.abs(w.y-Math.min(n.translate(s,!1,!0,!1,!0),n.len)),y+=C[1],f.below=i<=h):(w.height=v>0?n.translate(x,!1,!0,!1,!0)-w.y:n.translate(x,!1,!0,!1,!0)-n.translate(x-v,!1,!0,!1,!0),x+=v,f.below=xparseInt(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,{charts:i,doc:s,win:o}=t;function r(e,i,s,n){let a=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${a}: Deprecated member`);let l=p(e),h=l?`${a} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==n){let t="";l&&(h+="?"),C(n,(function(e,i){t+=`\n - ${i}: ${e}`,l&&(h+=encodeURI(i)+"="+encodeURI(e))})),h+=t}S(t,"displayError",{chart:s,code:e,message:h,params:n},(function(){if(i)throw Error(h);o.console&&-1===r.messages.indexOf(h)&&console.warn(h)})),r.messages.push(h)}function n(t,e){return parseInt(t,e||10)}function a(t){return"string"==typeof t}function l(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function h(t,e){return!(!t||"object"!=typeof t||e&&l(t))}function c(t){return h(t)&&"number"==typeof t.nodeType}function d(t){let e=t&&t.constructor;return!(!h(t,!0)||c(t)||!e||!e.name||"Object"===e.name)}function p(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function u(t){return null!=t}function g(t,e,i){let s,o=a(e)&&!u(i),r=(e,i)=>{u(e)?t.setAttribute(i,e):o?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return a(e)?r(i,e):C(e,r),s}function m(t){return l(t)?t:[t]}function f(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;i1e14?t:parseFloat(t.toPrecision(e||14))}(r||(r={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let w=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;it.order-e.order)),t.forEach((t=>{!1===t.fn.call(e,o)&&o.preventDefault()}))}r&&!o.defaultPrevented&&r.call(e,o)}C({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},(function(e,i){t[i]=function(t){return r(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${e}`}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}}));let A=function(){let t=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(e?"":t)+i++}}();return o.jQuery&&(o.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[a(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):i[g(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(){k(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]e?t{let s=e%2/2,o=i?-1:1;return(Math.round(t*o-s)+s)*o},css:y,defined:u,destroyObjectProperties:function(t,e,i){C(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;C(e,(function(i,c){if(!n&&s&&s.indexOf(c)>-1&&o[c]){i=m(i),r[c]=[];for(let e=0;e{if(t.length>1)for(o=t.length-1;o>0;o--)(s=t[o]-t[o-1])<0&&!r?(e?.(),e=void 0):s&&(void 0===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 a=o.getComputedStyle(e,void 0);return a&&(r=a.getPropertyValue(i),b(s,"opacity"!==i)&&(r=n(r))),r},inArray:function(t,e,i){return r(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i,s=t.options.index,o=e.length;for(i=t.options.isInternal?o:0;i=t))&&(o||!(a<=(e[r]+(e[r+1]||e[r]))/2)));r++);return v(n*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:C,offset:function(t){let e=s.documentElement,i=t.parentElement||t.parentNode?t.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:i.top+(o.pageYOffset||e.scrollTop)-(e.clientTop||0),left:i.left+(o.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:n,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:k,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:m,stableSort:function(t,e){let i,s,o=t.length;for(s=0;s0?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:A,useSerialIds:function(t){return e=b(t,e)},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:c,pick:d,splat:p,timeUnits:u}=e,g=t.isSafari&&i.Intl&&i.Intl.DateTimeFormat.prototype.formatRange,m=t.isSafari&&i.Intl&&!i.Intl.DateTimeFormat.prototype.formatRange;class f{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=d(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)||m||(n-=36e5)):n=new this.Date(t,e,d(i,1),d(s,0),d(o,0),d(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]=(f.formatCache[i]=f.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.invalidDate||"";e=d(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),m=this.get("FullYear",a),f=t.defaultOptions.lang,b=f&&f.weekdays,y=f&&f.shortWeekdays;return h(r({a:y?y[p]:b[p].substr(0,3),A:b[p],d:c(u),e:c(u,2," "),w:p,b:f.shortMonths[g],B:f.months[g],m:c(g+1),o:g+1,y:m.toString().substr(2,2),Y:m,H:c(l),k:l,I:c(l%12||12),l:l%12||12,M:c(this.get("Minutes",a)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:c(this.get("Seconds",a)),L:c(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,c=this,p=c.Date,g=[],m={},f=new p(e),b=t.unitRange,y=t.count||1;if(o=d(o,1),s(e)){c.set("Milliseconds",f,b>=u.second?0:y*Math.floor(c.get("Milliseconds",f)/y)),b>=u.second&&c.set("Seconds",f,b>=u.minute?0:y*Math.floor(c.get("Seconds",f)/y)),b>=u.minute&&c.set("Minutes",f,b>=u.hour?0:y*Math.floor(c.get("Minutes",f)/y)),b>=u.hour&&c.set("Hours",f,b>=u.day?0:y*Math.floor(c.get("Hours",f)/y)),b>=u.day&&c.set("Date",f,b>=u.month?1:Math.max(1,y*Math.floor(c.get("Date",f)/y))),b>=u.month&&(c.set("Month",f,b>=u.year?0:y*Math.floor(c.get("Month",f)/y)),a=c.get("FullYear",f)),b>=u.year&&(a-=a%y,c.set("FullYear",f,a)),b===u.week&&(h=c.get("Day",f),c.set("Date",f,c.get("Date",f)-h+o+(h4*u.month||c.getTimezoneOffset(e)!==c.getTimezoneOffset(i));let p=f.getTime();for(n=1;p1?p=c.makeTime(a,t,r,d+n*y):p+=b*y:p=c.makeTime(a,t,r+n*y*(b===u.day?1:7)),n++;g.push(p),b<=u.hour&&g.length<1e4&&g.forEach((function(t){t%18e5==0&&"000000000"===c.dateFormat("%H%M%S%L",t)&&(m[t]="day")}))}return g.info=r(t,{higherRanks:m,totalRange:b*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 f.formatCache={},f})),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:'{point.key}
    ',pointFormat:' {series.name}: {point.y}
    ',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=>new 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=[(16711680&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]?"rgb("+o[0]+","+o[1]+","+o[2]+")":"a"===t?`${o[3]}`:"rgba("+o.join(",")+")":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=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,o,n,a,l=t.startX,h=t.endX,c=i.slice(),d=t.isArea,p=d?2:1,u=e&&i.length>e.length&&i.hasStackedCliffs,g=e&&e.slice();if(!g||u)return[c,c];function m(t,e){for(;t.length{let s=c(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:d}})),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:c,splat:d}=e,{trustedTypes:p}=s,u=p&&l(p.createPolicy)&&p.createPolicy("highcharts",{createHTML:t=>t}),g=u?u.createHTML(""):"",m=function(){try{return!!(new DOMParser).parseFromString(g,"text/html")}catch(t){return!1}}();class f{static filterUserAttributes(t){return c(t,((e,i)=>{let s=!0;-1===f.allowedAttributes.indexOf(i)&&(s=!1),-1!==["background","dynsrc","href","lowsrc","src"].indexOf(i)&&(s=h(e)&&f.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(/{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=f.emptyHTML,e&&new f(e).addToDOM(t)}constructor(t){this.nodes="string"==typeof t?this.parseMarkup(t):t}addToDOM(e){return function e(s,r){let l;return d(s).forEach((function(s){let h,d=s.tagName,p=s.textContent?t.doc.createTextNode(s.textContent):void 0,u=f.bypassHTMLFiltering;if(d)if("#text"===d)h=p;else if(-1!==f.allowedTags.indexOf(d)||u){let a="svg"===d?i:r.namespaceURI||i,l=t.doc.createElementNS(a,d),g=s.attributes||{};c(s,(function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(g[e]=t)})),o(l,u?g:f.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":d});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"),m)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=f.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 f.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","summary","target","tabindex","text-align","text-anchor","textAnchor","textLength","title","type","valign","width","x","x1","x2","xlink:href","y","y1","y2","zIndex"],f.allowedReferences=["https://","http://","mailto:","/","../","./","#"],f.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"],f.emptyHTML=g,f.bypassHTMLFiltering=!1,f})),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:c}=e,d={add:(t,e)=>t+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)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function p(t="",e,o){let n,a,l,c=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,g=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,m=[],f=/f$/,b=/\.(\d)/,y=i.lang,x=o&&o.time||s,v=o&&o.numberFormatter||u,w=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:r(t,e))},C=0;for(;null!==(n=c.exec(t));){let i=g.exec(n[1]);i&&(n=i,l=!0),a&&a.isBlock||(a={ctx:e,expression:n[1],find:n[0],isBlock:"#"===n[1].charAt(0),start:n.index,startInner:n.index+n[0].length,length:n[0].length});let s=n[1].split(" ")[0].replace("#","");d[s]&&(a.isBlock&&s===a.fn&&C++,a.fn||(a.fn=s));let o="else"===n[1];if(a.isBlock&&a.fn&&(n[1]===`/${a.fn}`||o))if(C)!o&&C--;else{let e=a.startInner,i=t.substr(e,n.index-e);void 0===a.body?(a.body=i,a.startInner=n.index+n[0].length):a.elseBody=i,a.find+=i+n[0],o||(m.push(a),a=void 0)}else a.isBlock||m.push(a);if(i&&!a?.isBlock)break}return m.forEach((i=>{let s,r,{body:n,elseBody:a,expression:l,fn:c}=i;if(c){let t=[i],h=l.split(" ");for(r=d[c].length;r--;)t.unshift(w(h[r+1]));s=d[c].apply(e,t),i.isBlock&&"boolean"==typeof s&&(s=p(s?n:a,e,o))}else{let t=l.split(":");if(s=w(t.shift()||""),t.length&&"number"==typeof s){let e=t.join(":");if(f.test(e)){let t=parseInt((e.match(b)||["","-1"])[1],10);null!==s&&(s=v(s,t,y.decimalPoint,e.indexOf(",")>-1?y.thousandsSep:""))}else s=x.dateFormat(e,s)}}t=t.replace(i.find,h(s,""))})),l?p(t,e,o):t}function u(t,e,s,o){let r,n;t=+t||0,e=+e;let l=i.lang,d=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(d,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,d)-1)).toFixed(e),m=String(c(g)),f=m.length>3?m.length%3:0;return s=h(s,l.decimalPoint),o=h(o,l.thousandsSep),r=(t<0?"-":"")+(f?m.substr(0,f)+o:""),0>+p[1]&&!u?r="0":r+=m.substr(f).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:d,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,h,c,d,p,u,g=e,m=g.reducedLen||n,f=(t,e)=>t.target-e.target,b=[],y=e.length,x=[],v=b.push,w=!0,C=0;for(l=y;l--;)C+=e[l].size;if(C>m){for(r(e,((t,e)=>(e.rank||0)-(t.rank||0))),c=(u=e[0].rank===e[e.length-1].rank)?y/2:-1,h=u?c:y-1;c&&C>m;)d=e[l=Math.floor(h)],o(x,l)&&(C-=d.size),h+=c,u&&h>=e.length&&(c/=2,h=c);x.sort(((t,e)=>e-t)).forEach((t=>v.apply(b,e.splice(t,1))))}for(r(e,f),e=e.map((t=>({size:t.size,targets:[t.target],align:s(t.align,.5)})));w;){for(l=e.length;l--;)d=e[l],p=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=i(p-d.size*d.align,0,n-d.size);for(l=e.length,w=!1;l--;)l>0&&e[l-1].pos+e[l-1].size>e[l].pos&&(e[l-1].size+=e[l].size,e[l-1].targets=e[l-1].targets.concat(e[l].targets),e[l-1].align=.5,e[l-1].pos+e[l-1].size>n&&(e[l-1].pos=n-e[l-1].size),e.splice(l,1),w=!0)}return v.apply(g,b),l=0,e.some((e=>{let i=0;return(e.targets||[]).some((()=>(g[l].pos=e.pos+i,void 0!==a&&Math.abs(g[l].pos-g[l].target)>a?(g.slice(0,l+1).forEach((t=>delete t.pos)),g.reducedLen=(g.reducedLen||n)-.1*n,g.reducedLen>.1*n&&t(g,n,a),!0):(i+=g[l].size,l++,!1))))})),r(g,f),g},e})),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:c,win:d}=i,{addEvent:p,attr:u,createElement:g,crisp:m,css:f,defined:b,erase:y,extend:x,fireEvent:v,isArray:w,isFunction:C,isObject:k,isString:S,merge:A,objectEach:M,pick:P,pInt:T,pushUnique:E,replaceNested:L,syncTimeout:D,uniqueKey:O}=s;class j{_defaultGetter(t){let e=P(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,c=h.alignedObjects,d=!!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&&(d&&E(c,this),i=void 0);let u=P(i,h[p],h),g=t.align,m=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"===m?a=1:"middle"===m&&(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(P(e,this.renderer.globalAnimation,!0)),n=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),D((()=>{this.element&&o(this,t,s)}),n)):(this.attr(t,void 0,i||s.complete),M(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(c,"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(c,"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 o,r,a,{element:l}=this,h=j.symbolCustomAttribs,c=this;return"string"==typeof t&&void 0!==e&&(o=t,(t={})[o]=e),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,l):(M(t,(function(e,i){a=!1,s||n(this,i),this.symbolName&&-1!==h.indexOf(i)&&(r||(this.symbolAttr(t),r=!0),a=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),a||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,l)}),this),this.afterSetters()),i&&i.call(this),c}clip(t){if(t&&!t.clipPath){let e=O()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);x(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=m(i,e),a=m(s,e);return x(t,{x:n,y:a,width:m(o,e)-n,height:m(r,e)-a}),b(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let o,r,n,a,l,h,c,d,p,u,g,m=this.renderer,f=[];v(this.renderer,"complexColor",{args:arguments},(function(){if(t.radialGradient?r="radialGradient":t.linearGradient&&(r="linearGradient"),r){if(n=t[r],l=m.gradients,h=t.stops,p=s.radialReference,w(n)&&(t[r]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===r&&p&&!b(n.gradientUnits)&&(a=n,n=A(n,m.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),M(n,(function(t,e){"id"!==e&&f.push(e,t)})),M(h,(function(t){f.push(t)})),l[f=f.join(",")])u=l[f].attr("id");else{n.id=u=O();let t=l[f]=m.createElement(r).attr(n).add(m.defs);t.radAttr=a,t.stops=[],h.forEach((function(i){0===i[1].indexOf("rgba")?(c=(o=e.parse(i[1])).get("rgb"),d=o.get("a")):(c=i[1],d=1);let s=m.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(s)}))}g="url("+m.url+"#"+u+")",s.setAttribute(i,g),s.gradient=f,t.toString=function(){return g}}}))}css(t){let e,i=this.styles,s={},o=this.element,r=!i;if(i&&M(t,(function(t,e){i&&i[e]!==t&&(s[e]=t,r=!0)})),r){i&&(t=x(i,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===o.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=T(t.width)),x(this.styles,t),e&&!h&&this.renderer.forExport&&delete t.width;let r=A(t);o.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach((t=>r&&delete r[t])),r.color&&(r.fill=r.color)),f(o,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]=""+T(s[e])*P(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t,e,i=this,s=i.element||{},o=i.renderer,r=s.ownerSVGElement,a="SPAN"===s.nodeName&&i.parentGroup||void 0;if(s.onclick=s.onmouseout=s.onmouseover=s.onmousemove=s.point=null,n(i),i.clipPath&&r){let t=i.clipPath;[].forEach.call(r.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(e){e.getAttribute("clip-path").indexOf(t.element.id)>-1&&e.removeAttribute("clip-path")})),i.clipPath=t.destroy()}if(i.connector=i.connector?.destroy(),i.stops){for(e=0;ee&&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:c}=this,{cache:d,cacheKeys:p}=l,u=a.namespaceURI===this.SVG_NS,g=P(e,this.rotation,0),m=l.styledMode?a&&j.prototype.getStyle.call(a,"font-size"):h.fontSize;if(b(c)&&(-1===(r=c.toString()).indexOf("<")&&(r=r.replace(/\d/g,"0")),r+=["",l.rootFontSize,m,g,this.textWidth,n,h.textOverflow,h.fontWeight].join(",")),r&&!t&&(i=d[r]),!i||i.polygon){if(u||l.forExport){try{o=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&f(e,{display:t})},C(o)&&o("none"),i=a.getBBox?x({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},C(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}[`${m||""},${Math.round(s)}`]||s),g&&(i=this.getRotatedBox(i,g));let e={bBox:i};v(this,"afterGetBBox",e),i=e.bBox}if(r&&(""===c||i.height>0)){for(;p.length>250;)delete d[p.shift()];d[r]||p.push(r),d[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:c=0}=this,d={right:1,center:.5}[n||0]||0,p=Number(this.element.getAttribute("y")||0)-(l?0:s),u=e*a,g=(e-90)*a,m=Math.cos(u),f=Math.sin(u),b=o*m,y=o*f,x=Math.cos(g),v=Math.sin(g),[[w,C],[k,S]]=[h,c].map((t=>[t-t*m,t*f])),A=i+d*(o-b)+w+S+p*x,M=A+b,P=M-r*x,T=P-b,E=s+p-d*y-C+k+p*v,L=E+y,D=L-r*v,O=D-y,j=Math.min(A,M,P,T),N=Math.min(E,L,D,O);return{x:j,y:N,width:Math.max(A,M,P,T)-j,height:Math.max(E,L,D,O)-N,polygon:[[A,E],[M,L],[P,D],[T,O]]}}getStyle(t){return d.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=c,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=A(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},k(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,e=this.getStyle("stroke-width"),i=0;return/px$/.test(e)?i=T(e):""!==e&&(u(t=l.createElementNS(c,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i}symbolAttr(t){let e=this;j.symbolCustomAttribs.forEach((function(i){e[i]=P(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(P(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/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,c=["translate("+l+","+h+")"];b(i)&&c.push("matrix("+i.join(",")+")"),s&&(c.push("rotate("+s+" "+P(o,e.getAttribute("x"),0)+" "+P(r,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(o||0)-this.padding,rotationOriginY:(r||0)-this.padding})),(b(n)||b(a))&&c.push("scale("+P(n,1)+" "+P(a,1)+")"),c.length&&!(this.text||this).textPath&&e.setAttribute(t,c.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,s,o,r,n,a=this.renderer,l=this.parentGroup,h=(l||a).element||a.box,c=this.element,d=h===a.box,p=!1,u=this.added;if(b(t)?(c.setAttribute("data-z-index",t),t=+t,this[e]===t&&(u=!1)):b(this[e])&&c.removeAttribute("data-z-index"),this[e]=t,u){for((t=this.zIndex)&&l&&(l.handleZ=!0),n=(i=h.childNodes).length-1;n>=0&&!p;n--)r=!b(o=(s=i[n]).getAttribute("data-z-index")),s!==c&&(t<0&&r&&!d&&!n?(h.insertBefore(c,i[n]),p=!0):(T(o)<=t||r&&(!b(t)||t>=0))&&(h.insertBefore(c,i[n+1]),p=!0));p||(h.insertBefore(c,i[d?3:0]),p=!0)}return p}}return j.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],j.prototype.strokeSetter=j.prototype.fillSetter,j.prototype.yGetter=j.prototype.xGetter,j.prototype.matrixSetter=j.prototype.rotationOriginXSetter=j.prototype.rotationOriginYSetter=j.prototype.rotationSetter=j.prototype.scaleXSetter=j.prototype.scaleYSetter=j.prototype.translateXSetter=j.prototype.translateYSetter=j.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},j})),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,c){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=h,this.className=c,this.addClass("button"===c?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),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=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,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),c={width:a,height:s,x:o+this.bBox.x-l,y:r+this.bBox.y-i+this.baselineOffset};return h&&(c=this.getRotatedBox(c,h)),c}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)?l.emptyBBox:e.getBBox(void 0,0);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)}t=this.getCrispAdjust(),r.x=t,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),c=s(n.r,r||o),d=2e-4/Math.max(h,1),p=Math.abs((n.end||0)-l-2*Math.PI)0&&c0)return d;if(t+h>s-l)if(c>e+l&&ce+l&&c0){let i=co&&hl&&d.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-a,e]);return d},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:c,pick:d}=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=d(e.textStr,"").toString(),n=-1!==r.indexOf("<"),a=i.childNodes,l=!e.added&&o.box,c=[r,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(c!==e.textCache){e.textCache=c,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||//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||"",["<",">"])),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)&&/^[\s\u200B]*$/.test(t.textContent||" ");)e.element.removeChild(t);[].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(" "),c=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),d=this.getLineHeight(r),p=0,u=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,a-.8*d),((t,e)=>t.substring(0,e)+"…"));else if(c){let l=[],c=[];for(;r.firstChild&&r.firstChild!==t;)c.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++;c.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:d,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,c=[],d=i?1:0,p=(e||i||"").length,u=p,g=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(t){}return c[r]};if(l.rotation=0,s+(a=g(t.textContent.length))>o){for(;d<=p;)u=Math.ceil((d+p)/2),i&&(n=r(i,u)),a=g(u,n&&n.length-1),d===p?d=p+1:a>o?p=u-1:d=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 c(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,i,s,o,r,n,a,l,h){let c,{defaultOptions:d}=e,{charts:p,deg2rad:u,doc:g,isFirefox:m,isMS:f,isWebKit:b,noop:y,SVG_NS:x,symbolSizes:v,win:w}=s,{addEvent:C,attr:k,createElement:S,crisp:A,css:M,defined:P,destroyObjectProperties:T,extend:E,isArray:L,isNumber:D,isObject:O,isString:j,merge:N,pick:I,pInt:B,replaceNested:R,uniqueKey:z}=h;class F{constructor(t,e,i,s,o,r,n){let a,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;n||h.css(this.getStyle(s||{})),t.appendChild(c),k(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&k(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 11.4.6")),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),m&&t.getBoundingClientRect&&((a=function(){M(t,{left:0,top:0}),l=t.getBoundingClientRect(),M(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=C(w,"resize",a))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((m||b)&&g.getElementsByTagName("base").length){if(!P(c)){let e=z(),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);M(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=g.elementFromPoint(6,6);c="hitme"===(s&&s.id),g.body.removeChild(i)}if(c)return R(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=E({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(),T(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=N({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,c){let p=this.label(e,i,s,h,void 0,void 0,c,void 0,"button"),u=this.styledMode,g=arguments,m=0;r=N(d.global.buttonTheme,r),u&&(delete r.fill,delete r.stroke,delete r["stroke-width"]);let b=r.states||{},y=r.style||{};delete r.states,delete r.style;let x=[t.filterUserAttributes(r)],v=[y];return u||["hover","select","disabled"].forEach(((e,i)=>{x.push(N(x[0],t.filterUserAttributes(g[i+5]||b[e]||{}))),v.push(x[i+1].style),delete x[i+1].style})),C(p.element,f?"mouseover":"mouseenter",(function(){3!==m&&p.setState(1)})),C(p.element,f?"mouseout":"mouseleave",(function(){3!==m&&p.setState(m)})),p.setState=(t=0)=>{if(1!==t&&(p.state=m=t),p.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][t]),!u){p.attr(x[t]);let e=v[t];O(e)&&p.css(e)}},p.attr(x[0]),!u&&(p.css(E({cursor:"default"},y)),c&&p.text.css({pointerEvents:"none"})),p.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==m&&o.call(p,t)}))}crispLine(t,e){let[i,s]=t;return P(i[1])&&i[1]===s[1]&&(i[1]=s[1]=A(i[1],e)),P(i[2])&&i[2]===s[2]&&(i[2]=s[2]=A(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return L(t)?e.d=t:O(t)&&E(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=O(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;O(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=O(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,E(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,k(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:I(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"};D(e)&&(n.x=e),D(i)&&(n.y=i),D(s)&&(n.width=s),D(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 w.Image;C(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,c=this,d=/^url\((.*?)\)$/,u=d.test(t),m=!u&&(this.symbols[t]?t:"circle"),f=m&&this.symbols[m];if(f)"number"==typeof e&&(a=f.call(this.symbols,e||0,i||0,s||0,o||0,r)),n=this.path(a),c.styledMode||n.attr("fill","none"),E(n,{symbolName:m||void 0,x:e,y:i,width:s,height:o}),r&&E(n,r);else if(u){l=t.match(d)[1];let s=n=this.image(l);s.imgwidth=I(r&&r.width,v[l]&&v[l].width),s.imgheight=I(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,c=1;r&&"within"===r.backgroundSize&&o&&n&&a&&l?(c=Math.min(o/a,n/l),k(s,{width:Math.round(a*c),height:Math.round(l*c)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((o||0)-a*c)/2,((n||0)-l*c)/2)}})),P(e)&&s.attr({x:e,y:i}),s.isImg=!0,P(s.imgwidth)&&P(s.imgheight)?h(s):(s.attr({width:0,height:0}),S("img",{onload:function(){let t=p[c.chartIndex];0===this.width&&(M(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),c.imgCount--,c.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)),P(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,r=0;rt.align()))}}return E(F.prototype,{Element:r,SVG_NS:x,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:a,draw:y}),o.registerRendererType("svg",F,!0),F})),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,i,s){let{composed:o}=e,{attr:r,css:n,createElement:a,defined:l,extend:h,pInt:c,pushUnique:d}=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){d(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=c(o)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(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)return void(this.alignOnAdd=!0);let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:o,styles:r,textAlign:a="left",textWidth:h,translateX:c=0,translateY:d=0,x:p=0,y:u=0}=this,g={left:0,center:.5,right:1}[a],m=r.whiteSpace;if(n(t,{marginLeft:`${c}px`,marginTop:`${d}px`}),"SPAN"===t.tagName){let r,c=[i,a,t.innerHTML,h,this.textAlign].join(","),d=-1*this.parentGroup?.padding||0,f=!1;if(h!==this.oldTextWidth){let e=this.textPxLength?this.textPxLength:(n(t,{width:"",whiteSpace:m||"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:m||"normal"}),this.oldTextWidth=h,f=!0)}this.hasBoxWidthChanged=f,c!==this.cTT&&(r=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.getSpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,r,g));let{xCorr:b=0,yCorr:y=0}=this;n(t,{left:`${p+b}px`,top:`${u+y}px`,transformOrigin:`${(s??p)-b-p-d}px ${(o??u)-y-u-d}px`}),this.cTT=c,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 m=g.prototype;return m.visibilitySetter=m.opacitySetter=p,m.ySetter=m.rotationSetter=m.rotationOriginXSetter=m.rotationOriginYSetter=m.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"}},type:"linear",uniqueNames:!0,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:c,merge:d,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,i,s,o=this,a=o.axis,d=a.options,p=a.chart,g=a.categories,m=a.logarithmic,f=a.names,b=o.pos,y=u(o.options&&o.options.labels,d.labels),x=a.tickPositions,v=b===x[0],w=b===x[x.length-1],C=(!y.step||1===y.step)&&1===a.tickInterval,k=x.info,S=o.label,A=this.parameters.category||(g?u(g[b],f[b],b):b);m&&c(A)&&(A=r(m.lin2log(A))),a.dateTime&&(k?e=(i=p.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&k.higherRanks[b]||k.unitName])).main:c(A)&&(e=a.dateTime.getXDateFormat(A,d.dateTimeLabelFormats||{}))),o.isFirst=v,o.isLast=w;let M={axis:a,chart:p,dateTimeLabelFormat:e,isFirst:v,isLast:w,pos:b,tick:o,tickPositionInfo:k,value:A};h(this,"labelFormat",M);let P=e=>y.formatter?y.formatter.call(e,e):y.format?(e.text=a.defaultLabelFormatter.call(e),t.format(y.format,e,p)):a.defaultLabelFormatter.call(e),T=P.call(M,M),E=i&&i.list;o.shortenLabel=E?function(){for(s=0;s0&&a+m*f>d&&(o=Math.round((l-a)/Math.cos(g*s))):(e=a-m*f,i=a+(1-m)*f,ed&&(x=d-t.x+x*m,v=-1),(x=Math.min(b,x))x||r.autoRotation&&(p.styles||{}).width)&&(o=x)),o&&(this.shortenLabel?this.shortenLabel():(y.width=Math.floor(o)+"px",(n.style||{}).textOverflow||(y.textOverflow="ellipsis"),p.css(y)))}moveLabel(t,e){let i,s=this,o=s.label,r=s.axis,n=!1;o&&o.textStr===t?(s.movedLabel=o,n=!0,delete s.label):p(r.ticks,(function(e){n||e.isNew||e===s||!e.label||e.label.textStr!==t||(s.movedLabel=e.label,n=!0,e.labelPos=s.movedLabel.xy,delete e.label)})),!n&&(s.labelPos||o)&&(i=s.labelPos||o.xy,s.movedLabel=s.createLabel(t,e,i),s.movedLabel&&s.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),c=l.x,d=l.y,p=s.pos,g=p+s.len,m=o?c:d;!s.chart.polar&&this.isNew&&(r(m)g)&&(i=0);let f=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,f,t),this.isNew=!1,h(this,"afterRender")}renderGridLine(t,e){let i,s=this.axis,o=s.options,r={},n=this.pos,a=this.type,l=u(this.tickmarkOffset,s.tickmarkOffset),h=s.chart.renderer,c=this.gridLine,d=o.gridLineWidth,p=o.gridLineColor,g=o.gridLineDashStyle;"minor"===this.type&&(d=o.minorGridLineWidth,p=o.minorGridLineColor,g=o.minorGridLineDashStyle),c||(s.chart.styledMode||(r.stroke=p,r["stroke-width"]=d||0,r.dashstyle=g),a||(r.zIndex=1),t&&(e=0),this.gridLine=c=h.path().attr(r).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(s.gridGroup)),c&&(i=s.getPlotLinePath({value:n+l,lineWidth:c.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&c[t||this.isNew?"attr":"animate"]({d:i,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),c=s["minor"!==r?"tickColor":"minorTickColor"],d=this.mark,p=!d;n&&(i.opposite&&(n[0]=-n[0]),d||(this.mark=d=o.path().addClass("highcharts-"+(r?r+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||d.attr({stroke:c,"stroke-width":h})),d[p?"attr":"animate"]({d:this.getMarkPath(a,l,n[0],d.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=u(this.tickmarkOffset,o.tickmarkOffset),p=t.x,g=t.y,m=!0;a&&c(p)&&(a.xy=t=this.getLabelPosition(p,g,a,r,l,d,s,h),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?m=!1:!r||l.step||l.rotation||e||0===i||this.handleOverflow(t),h&&s%h&&(m=!1),m&&c(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},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:c}=e,{defaultOptions:d}=s,{registerEventOptions:p}=o,{deg2rad:u}=r,{arrayMax:g,arrayMin:m,clamp:f,correctFloat:b,defined:y,destroyObjectProperties:x,erase:v,error:w,extend:C,fireEvent:k,getClosestDistance:S,insertItem:A,isArray:M,isNumber:P,isString:T,merge:E,normalizeTickInterval:L,objectEach:D,pick:O,relativeLength:j,removeEvent:N,splat:I,syncTimeout:B}=a,R=(t,e)=>L(e,void 0,void 0,O(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);C(d,{xAxis:h,yAxis:E(h,c)});class z{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,k(this,"init",{userOptions:e}),this.opposite=O(e.opposite,this.opposite),this.side=O(e.side,this.side,o?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let r=this.options,n=r.labels,a=r.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=O(r.reversed,this.reversed),this.visible=r.visible,this.zoomEnabled=r.zoomEnabled,this.hasNames="category"===a||!0===r.categories,this.categories=M(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 l=O(r.crosshair,I(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===l?{}:l,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),A(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=P(n.rotation)?n.rotation:void 0,p(this,r),k(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=E(e,d[this.coll],t),k(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,e,i=this.axis,{numberFormatter:s}=this.chart,o=P(this.value)?this.value:NaN,r=i.chart.time,n=i.categories,a=this.dateTimeLabelFormat,l=d.lang,h=l.numericSymbols,c=l.numericSymbolMagnitude||1e3,p=i.logarithmic?Math.abs(o):i.tickInterval,u=h&&h.length;if(n)e=`${this.value}`;else if(a)e=r.dateFormat(a,o);else if(u&&h&&p>=1e3)for(;u--&&void 0===e;)p>=(t=Math.pow(c,u+1))&&10*o%t==0&&null!==h[u]&&0!==o&&(e=s(o/t,-1)+h[u]);return void 0===e&&(e=Math.abs(o)>=1e4?s(o,-1):s(o,-1,void 0,"")),e}getSeriesExtremes(){let t,e=this;k(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,o,r,n=i.options,a=n.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(a||0)&&(a=void 0),e.isXAxis)(s=i.xData)&&s.length&&(s=e.logarithmic?s.filter((t=>t>0)):s,o=(t=i.getXExtremes(s)).min,r=t.max,P(o)||o instanceof Date||(s=s.filter(P),o=(t=i.getXExtremes(s)).min,r=t.max),s.length&&(e.dataMin=Math.min(O(e.dataMin,o),o),e.dataMax=Math.max(O(e.dataMax,r),r)));else{let t=i.applyExtremes();P(t.dataMin)&&(o=t.dataMin,e.dataMin=Math.min(O(e.dataMin,o),o)),P(t.dataMax)&&(r=t.dataMax,e.dataMax=Math.max(O(e.dataMax,r),r)),y(a)&&(e.threshold=a),(!n.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}}))})),k(this,"afterGetSeriesExtremes")}translate(t,e,i,s,o,r){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!P(a))return NaN;let l=n.minPixelPadding,h=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&o)&&n.lin2val,c=1,d=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(c*=-1,d=n.len),n.reversed&&(c*=-1,d-=c*(n.sector||n.len)),e?(u=(t=t*c+d-l)/p+a,h&&(u=n.lin2val(u))):(h&&(t=n.val2lin(t)),u=c*(t-a)*p+d+c*l+(P(r)?p*r:0),n.isRadial||(u=b(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,i,s,o,r,n=this,a=n.chart,l=n.left,h=n.top,c=t.old,d=t.value,p=t.lineWidth,u=c&&a.oldChartHeight||a.chartHeight,g=c&&a.oldChartWidth||a.chartWidth,m=n.transB,b=t.translatedValue,y=t.force;function x(t,e,i){return"pass"!==y&&(ti)&&(y?t=f(t,e,i):r=!0),t}let v={value:d,lineWidth:p,old:c,force:y,acrossPanes:t.acrossPanes,translatedValue:b};return k(this,"getPlotLinePath",v,(function(t){e=s=(b=f(b=O(b,n.translate(d,void 0,void 0,c)),-1e5,1e5))+m,i=o=u-b-m,P(b)?n.horiz?(i=h,o=u-n.bottom+(n.options.isInternal?0:a.scrollablePixelsY||0),e=s=x(e,l,l+n.width)):(e=l,s=g-n.right+(a.scrollablePixelsX||0),i=o=x(i,h,h+n.height)):(r=!0,y=!1),t.path=r&&!y?void 0:a.renderer.crispLine([["M",e,i],["L",s,o]],p||1)})),v.path}getLinearTickPositions(t,e,i){let s,o,r,n=b(Math.floor(e/t)*t),a=b(Math.ceil(i/t)*t),l=[];if(b(n+t)===n&&(r=20),this.single)return[e];for(s=n;s<=a&&(l.push(s),(s=b(s+t,r))!==o);)o=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?O(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t,e=this.options,i=this.tickPositions,s=this.minorTickInterval,o=this.pointRangePadding||0,r=(this.min||0)-o,n=(this.max||0)+o,a=n-r,l=[];if(a&&a/s(t.xIncrement?t.xData?.slice(0,2):t.xData)||[])))||0),this.dataMax-this.dataMin)),P(n)&&P(a)&&P(l)&&n-a=l,t=(l-n+a)/2,i=[a-t,O(o.min,a-t)],e&&(i[2]=r?r.log2lin(this.dataMin):this.dataMin),s=[(a=g(i))+l,O(o.max,a+l)],e&&(s[2]=r?r.log2lin(this.dataMax):this.dataMax),(n=m(s))-at-e)),t=S([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e,i=M(this.options.categories),s=i?this.categories:this.names,o=t.options.x;return t.series.requireSorting=!1,y(o)||(o=this.options.uniqueNames&&s?i?s.indexOf(t.name):O(s.keys[t.name],-1):t.series.autoIncrement()),-1===o?!i&&s&&(e=s.length):e=o,void 0!==e?(this.names[e]=t.name,this.names.keys[t.name]=e):t.x&&(e=t.x),e}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,e,i=this,s=i.max-i.min,o=i.linkedParent,r=!!i.categories,n=i.isXAxis,a=i.axisPointRange||0,l=0,h=0,c=i.transA;(n||r||a)&&(t=i.getClosest(),o?(l=o.minPointOffset,h=o.pointRangePadding):i.series.forEach((function(e){let s=r?1:n?O(e.options.pointRange,t,0):i.axisPointRange||0,o=e.options.pointPlacement;if(a=Math.max(a,s),!i.single||r){let t=e.is("xrange")?!n:n;l=Math.max(l,t&&T(o)?0:s/2),h=Math.max(h,t&&"on"===o?0:s)}})),e=i.ordinal&&i.ordinal.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=l*=e,i.pointRangePadding=h*=e,i.pointRange=Math.min(a,i.single&&r?1:s),n&&t&&(i.closestPointRange=t)),i.translationSlope=i.transA=c=i.staticScale||i.len/(s+h||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=c*l,k(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return P(t)&&P(e)&&t-e||void 0}setTickInterval(t){let e,i,s,o,r,{categories:n,chart:a,dataMax:l,dataMin:h,dateTime:c,isXAxis:d,logarithmic:p,options:u,softThreshold:g}=this,m=P(this.threshold)?this.threshold:void 0,f=this.minRange||0,{ceiling:x,floor:v,linkedTo:C,softMax:S,softMin:A}=u,M=P(C)&&a[this.coll]?.[C],T=u.tickPixelInterval,E=u.maxPadding,L=u.minPadding,D=0,j=P(u.tickInterval)&&u.tickInterval>=0?u.tickInterval:void 0;if(c||n||M||this.getTickAmount(),o=O(this.userMin,u.min),r=O(this.userMax,u.max),M?(this.linkedParent=M,e=M.getExtremes(),this.min=O(e.min,e.dataMin),this.max=O(e.max,e.dataMax),u.type!==M.options.type&&w(11,!0,a)):(g&&y(m)&&P(l)&&P(h)&&(h>=m?(i=m,L=0):l<=m&&(s=m,E=0)),this.min=O(o,i,h),this.max=O(r,s,l)),P(this.max)&&P(this.min)&&(p&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,O(h,this.min))&&w(10,!0,a),this.min=b(p.log2lin(this.min),16),this.max=b(p.log2lin(this.max),16)),this.range&&P(h)&&(this.userMin=this.min=o=Math.max(h,this.minFromRange()||0),this.userMax=r=this.max,this.range=void 0)),k(this,"foundExtremes"),this.adjustForMinRange(),P(this.min)&&P(this.max)){if(!P(this.userMin)&&P(A)&&Athis.max&&(this.max=r=S),n||this.axisPointRange||this.stacking?.usePercentage||M||!(D=this.max-this.min)||(!y(o)&&L&&(this.min-=D*L),y(r)||!E||(this.max+=D*E)),!P(this.userMin)&&P(v)&&(this.min=Math.max(this.min,v)),!P(this.userMax)&&P(x)&&(this.max=Math.min(this.max,x)),g&&P(h)&&P(l)){let t=m||0;!y(o)&&this.min=t?this.min=u.minRange?Math.min(t,this.max-f):t:!y(r)&&this.max>t&&l<=t&&(this.max=u.minRange?Math.max(t,this.min+f):t)}!a.polar&&this.min>this.max&&(y(u.min)?this.max=this.min:y(u.max)&&(this.min=this.max)),D=this.max-this.min}if(this.min!==this.max&&P(this.min)&&P(this.max)?M&&!j&&T===M.options.tickPixelInterval?this.tickInterval=j=M.tickInterval:this.tickInterval=O(j,this.tickAmount?D/Math.max(this.tickAmount-1,1):void 0,n?1:D*T/Math.max(this.len,T)):this.tickInterval=1,d&&!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)})),k(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),k(this,"initialAxisTranslation"),this.pointRange&&!j&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let N=O(u.minTickInterval,c&&!this.series.some((t=>t.noSharedTooltip))?this.closestPointRange:0);!j&&this.tickIntervalMath.max(2*this.len,200))l=[this.min,this.max],w(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount);)this.tickInterval=R(this,e*=1.1)}l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),s&&(this.tickPositions=l,(t=s.apply(this,[this.min,this.max]))&&(l=t))}this.tickPositions=l,this.paddedTicks=l.slice(0),this.trimTicks(l,n,a),!this.isLinked&&P(this.min)&&P(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),k(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],o=t[t.length-1],r=!this.isOrdinal&&this.minPointOffset||0;if(k(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{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);P(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((!P(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData)))&&this.getSeriesExtremes(),P(this.threshold)){let t=f((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.lenl.push(b(l[l.length-1]+u)),m=()=>l.unshift(b(l[0]-u));if(P(c)&&(i=c<.5?Math.ceil(c*(h-1)):Math.floor(c*(h-1)),a.reversed&&(i=h-1-i)),s.hasData()&&P(n)&&P(r)){let c=()=>{s.transA*=(d-1)/(h-1),s.min=a.startOnTick?l[0]:Math.min(n,l[0]),s.max=a.endOnTick?l[l.length-1]:Math.max(r,l[l.length-1])};if(P(i)&&P(s.threshold)){for(;l[i]!==p||l.length!==h||l[0]>n||l[l.length-1]s.threshold?m():g();if(u>8*s.tickInterval)break;u*=2}c()}else if(d0&&e{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,k(this,"afterSetScale")}setExtremes(t,e,i=!0,s,o){this.series.forEach((t=>{delete t.kdTree})),k(this,"setExtremes",o=C(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(j(O(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),r=this.height=Math.round(j(O(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(j(O(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(j(O(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?b(t.lin2log(this.min)):this.min,max:t?b(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:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")})),i.align}tickSize(t){let e,i=this.options,s=O(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),o=i["tick"===t?"tickLength":"minorTickLength"];s&&o&&("inside"===i[t+"Position"]&&(o=-o),e=[o,s]);let r={tickSize:e};return k(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,e,i=this.options.labels,s=i.padding||0,o=this.horiz,r=this.tickInterval,n=this.len/(((this.categories?1:0)+this.max-this.min)/r),a=i.rotation,l=b(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),c=function(t){let e=(t+2*s)/(n||1);return(e=e>1?Math.ceil(e):1)*r>h&&t!==1/0&&n!==1/0&&h&&(e=Math.ceil(h/r)),b(e*r)},d=r,p=Number.MAX_VALUE;if(o){if(!i.staggerLines&&(P(a)?e=[a]:n=-90&&o<=90)&&(s=(i=c(Math.abs(l/Math.sin(u*o))))+Math.abs(o/360))f&&(f=e.label.textPxLength)})),this.maxLabelLength=f,this.autoRotation)f>p&&f>g.h?u.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=p,!m))for(e="clip",s=n.length;!c&&s--;)(i=a[n[s]].label)&&("ellipsis"===i.styles.textOverflow?i.css({textOverflow:"clip"}):i.textPxLength>d&&i.css({width:d+"px"}),i.getBBox().height>this.len/n.length-(g.h-g.f)&&(i.specificTextOverflow="ellipsis"));u.rotation&&(t=f>.5*o.chartHeight?.33*o.chartHeight:f,m||(e="ellipsis")),this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(u.align=this.labelAlign),n.forEach((function(i){let s=a[i],o=s&&s.label,r=h.width,n={};o&&(o.attr(u),s.shortenLabel?s.shortenLabel():t&&!r&&"nowrap"!==h.whiteSpace&&(to.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,e,i,s,o=this,{chart:r,horiz:n,options:a,side:l,ticks:h,tickPositions:c,coll:d}=o,p=r.inverted&&!o.isZAxis?[1,0,3,2][l]:l,u=o.hasData(),g=a.title,m=a.labels,f=P(a.crossing),b=r.axisOffset,x=r.clipOffset,v=[-1,1,1,-1][l],w=0,C=0,S=0;if(o.showAxis=t=u||a.showEmpty,o.staggerLines=o.horiz&&m.staggerLines||void 0,o.createGroups(),u||o.isLinked?(c.forEach((function(t){o.generateTick(t)})),o.renderUnsquish(),o.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===o.labelAlign,O(m.reserveSpace,!f&&null,"center"===o.labelAlign||null,o.reserveSpaceDefault)&&c.forEach((function(t){S=Math.max(h[t].getLabelSize(),S)})),o.staggerLines&&(S*=o.staggerLines),o.labelOffset=S*(o.opposite?-1:1)):D(h,(function(t,e){t.destroy(),delete h[e]})),g?.text&&!1!==g.enabled&&(o.addTitle(t),t&&!f&&!1!==g.reserveSpace&&(o.titleOffset=w=o.axisTitle.getBBox()[n?"height":"width"],C=y(e=g.offset)?0:O(g.margin,n?5:10))),o.renderLine(),o.offset=v*O(a.offset,b[l]?b[l]+(a.margin||0):0),o.tickRotCorr=o.tickRotCorr||{x:0,y:0},s=0===l?-o.labelMetrics().h:2===l?o.tickRotCorr.y:0,i=Math.abs(S)+C,S&&(i-=s,i+=v*(n?O(m.y,o.tickRotCorr.y+v*m.distance):O(m.x,v*m.distance))),o.axisTitleMargin=O(e,i),o.getMaxLabelDimensions&&(o.maxLabelDimensions=o.getMaxLabelDimensions(h,c)),"colorAxis"!==d&&x){let t=this.tickSize("tick");b[l]=Math.max(b[l],(o.axisTitleMargin||0)+w+v*o.offset,i,c&&c.length&&t?t[0]+v*o.offset:0);let e=!o.axisLine||a.offset?0:o.axisLine.strokeWidth()/2;x[p]=Math.max(x[p],e)}k(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,c=r.y,d=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-d.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,d.f,-p][this.side],m={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+c-(a?this.height:0)+l:u+c};return k(this,"afterGetTitlePosition",{titlePosition:m}),m}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)}renderTick(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,c=i.isLinked,d=i.tickPositions,p=i.axisTitle,u=i.ticks,g=i.minorTicks,m=i.alternateBands,f=h.stackLabels,b=h.alternateGridColor,y=h.crossing,x=i.tickmarkOffset,v=i.axisLine,w=i.showAxis,C=l(a.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,g,m].forEach((function(t){D(t,(function(t){t.isActive=!1}))})),P(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()||c){let a=i.chart.hasRendered&&i.old&&P(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach((function(t){i.renderMinorTick(t,a)})),d.length&&(d.forEach((function(t,e){i.renderTick(t,e,a)})),x&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new n(i,-1,null,!0)),u[-1].render(-1))),b&&d.forEach((function(n,a){e=void 0!==d[a+1]?d[a+1]+x:i.max-x,a%2==0&&n=.5)t=Math.round(t),h=n.getLinearTickPositions(t,e,i);else if(t>=.08){let s,o,n,a,l,c,d;for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],o=Math.floor(e);oe&&(!r||c<=i)&&void 0!==c&&h.push(c),c>i&&(d=!0),c=l}else{let c=this.lin2log(e),d=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,(d-c)*u/(g||1))),h=n.getLinearTickPositions(t,c,d).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,r,n=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),a=[],l=this.horiz,h=!o(this.min)||!o(this.max)||tthis.max&&e>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),d=1;if(c&&n)for(h&&(r=c.toString()===n.toString(),d=0),s=0;s{w?.on(e,(t=>{d[e].apply(this,[t])}))})),this.eventsAdded=!0),!A&&w.d||!C?.length?w&&(C?(w.show(),w.animate({d:C})):w.d&&(w.hide(),v&&(this.label=v=v.destroy()))):w.attr({d:C}),x&&(o(x.text)||o(x.formatter))&&C?.length&&e.width>0&&e.height>0&&!C.isFlat?(x=l({align:s&&k?"center":void 0,x:s?!k&&4:10,verticalAlign:!s&&k?"middle":void 0,y:s?k?16:10:k?6:-4,rotation:s&&!k?90:0},x),this.renderLabel(x,C,k,p)):v&&v.hide(),this}renderLabel(t,e,o,r){let n=this.axis,a=n.chart.renderer,h=this.label;h||(this.label=h=a.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(o?"band":"line")+"-label "+(t.className||""),zIndex:r}),n.chart.styledMode||h.css(l({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),h.add());let c=e.xBounds||[e[0][1],e[1][1],o?e[2][1]:e[0][1]],d=e.yBounds||[e[0][2],e[1][2],o?e[2][2]:e[0][2]],p=s(c),u=s(d);if(h.align(t,!1,{x:p,y:u,width:i(c)-p,height:i(d)-u}),!h.alignValue||"left"===h.alignValue){let e=t.clip?n.width:n.chart.chartWidth;h.css({width:(90===h.rotation?n.height-(h.alignAttr.y-n.top):e-(h.alignAttr.x-n.left))+"px"})}h.show(!0)}getLabelText(t){return o(t.formatter)?t.formatter.call(this):t.text}destroy(){n(this.axis.plotLinesAndBands,this),delete this.axis,r(this)}}return d})),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:c,isSafari:d}=i,{distribute:p}=s,{addEvent:u,clamp:g,css:m,discardElement:f,extend:b,fireEvent:y,isArray:x,isNumber:v,isString:w,merge:C,pick:k,pushUnique:S,splat:A,syncTimeout:M}=r;class P{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||A(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(),f(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=A(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-"+k(t.colorIndex,o.colorIndex),r&&r.className].filter(w).join(" ")}getLabel(){let t=this,e=this.chart.styledMode,s=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.options.chart.style,e=o.getRendererType();this.container=n=i.doc.createElement("div"),n.className="highcharts-tooltip-container",m(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=a=new e(n,0,0,t,void 0,void 0,a.styledMode)}if(r?this.label=a.g("tooltip"):(this.label=a.label("",0,0,s.shape,void 0,void 0,s.useHTML,void 0,"tooltip").attr({padding:s.padding,r:s.borderRadius}),e||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth||0}).css(s.style).css({pointerEvents:s.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label;[e.xSetter,e.ySetter].forEach(((i,s)=>{e[s?"ySetter":"xSetter"]=o=>{i.call(e,t.distance),e[s?"y":"x"]=o,n&&(n.style[s?"top":"left"]=`${o}px`)}}))}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return n&&!n.parentElement&&i.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=c,{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 s,{distance:o,chart:r,outside:n,pointer:a}=this,{inverted:l,plotLeft:h,plotTop:c,polar:d}=r,{plotX:p=0,plotY:u=0}=i,g={},m=l&&i.h||0,{height:f,width:b}=this.getPlayingField(),y=a.getChartPosition(),x=t=>t*y.scaleX,v=t=>t*y.scaleY,w=i=>{let s="x"===i;return[i,s?b:f,s?t:e].concat(n?[s?x(t):v(e),s?y.left-o+x(p+h):y.top-o+v(u+c),0,s?b:f]:[s?t:e,s?p+h:u+c,s?h:c,s?h+r.plotWidth:c+r.plotHeight])},C=w("y"),S=w("x"),A=!!i.negative;!d&&r.hoverSeries?.yAxis?.reversed&&(A=!A);let M=!this.followPointer&&k(i.ttBelow,!d&&!l===A),P=function(t,e,i,s,r,a,l){let h=n?"y"===t?v(o):x(o):o,c=(i-s)/2,d=se?f:f+m)}},T=function(t,e,i,s,r){if(re-o)return!1;g[t]=re-s/2?e-s-2:r-i/2},E=function(t){[C,S]=[S,C],s=t},L=()=>{!1!==P.apply(0,C)?!1!==T.apply(0,S)||s||(E(!0),L()):s?g.x=g.y=0:(E(!0),L())};return(l&&!d||this.len>1)&&E(),L(),g}hide(t){let e=this;r.clearTimeout(this.hideTimer),t=k(t,this.options.hideDelay),this.isHidden||(this.hideTimer=M((function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{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=k(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={x:t,y:e};o.followPointer||(o.len||0)>1||(n.anchorX=i,n.anchorY=s),r.step=()=>o.drawTracker(),o.getLabel().animate(n,r)}refresh(t,e){let{chart:i,options:s,pointer:o,shared:n}=this,a=A(t),h=a[0],c=[],d=s.format,p=s.formatter||this.defaultFormatter,u=i.styledMode,g={};if(!s.enabled||!h.series)return;r.clearTimeout(this.hideTimer),this.allowShared=!(!x(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let m=this.getAnchor(t,e),f=m[0],b=m[1];n&&this.allowShared?(o.applyInactiveState(a),a.forEach((function(t){t.setState("hover"),c.push(t.getLabelConfig())})),(g=h.getLabelConfig()).points=c):g=h.getLabelConfig(),this.len=c.length;let v=w(d)?l(d,g,i):p.call(g,this),C=h.series;if(this.distance=k(C.tooltipOptions.distance,16),!1===v)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(v,a);else{let t=f,r=b;if(e&&o.isDirectTouch&&(t=e.chartX-i.plotLeft,r=e.chartY-i.plotTop),!i.polar&&!1!==C.options.clip&&!a.some((e=>o.isDirectTouch||e.series.shouldShowTooltip(t,r))))return void this.hide();{let t=this.getLabel();(!s.style.width||u)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(h),text:v&&v.join?v.join(""):v}),u||t.attr({stroke:s.borderColor||h.color||C.color||"#666666"}),this.updatePosition({plotX:f,plotY:b,negative:h.negative,ttBelow:h.ttBelow,h:m[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:m},distance:f,options:y,options:{positioner:x},pointer:v}=i,{scrollLeft:C=0,scrollTop:S=0}=s.scrollablePlotArea?.scrollingContainer||{},A=i.outside&&"number"!=typeof u?c.documentElement.getBoundingClientRect():{left:C,right:C+o,top:S,bottom:S+r},M=i.getLabel(),P=this.renderer||s.renderer,T=!(!s.xAxis[0]||!s.xAxis[0].opposite),{left:E,top:L}=v.getChartPosition(),D=l+S,O=0,j=n-h;function N(t,e,s,o,r=!0){let n,a;return s?(n=T?0:j,a=g(t-o/2,A.left,A.right-o-(i.outside?E:0))):(n=e-D,a=g(a=r?t-o-f:t+f,r?a:A.left,A.right)),{x:a,y:n}}w(t)&&(t=[!1,t]);let I=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,c=h?i:r.series,d=c.tt=function(t,e,s){let o=t,{isHeader:r,series:n}=e;if(!o){let t={padding:y.padding,r:y.borderRadius};m||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),o=P.label("",0,0,y[r?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(i.getClassName(e,!0,r)).attr(t).add(M)}return o.isActive=!0,o.attr({text:s}),m||o.css(y.style).attr({stroke:y.borderColor||e.color||n.color||"#333333"}),o}(c.tt,r,s.toString()),p=d.getBBox(),u=p.width+d.strokeWidth();h&&(O=p.height,j+=O,T&&(D-=O));let{anchorX:b,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,-f,t.len+f),h.shouldShowTooltip(0,s.pos-l+r,{ignoreX:!0})&&(i=s.pos+r)}return{anchorX:e=g(e,A.left-f,A.right+f),anchorY:i}}(r);if("number"==typeof v){let e=p.height+1,s=x?x.call(i,u,e,r):N(b,v,h,u);t.push({align:x?0:void 0,anchorX:b,anchorY:v,boxWidth:u,point:r,rank:k(s.rank,h?1:0),size:e,target:s.y,tt:d,x:s.x})}else d.isActive=!1}return t}),[]);!x&&I.some((t=>{let{outside:e}=i,s=(e?E:0)+t.anchorX;return ss}))&&(I=I.map((t=>{let{x:e,y:i}=N(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return b(t,{target:i,x:e})}))),i.cleanSplit(),p(I,j);let B={left:E,right:E};I.forEach((function(t){let{x:e,boxWidth:s,isHeader:o}=t;!o&&(i.outside&&E+eB.right&&(B.right=E+e))})),I.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)+D,anchorX:s,anchorY:o};if(i.outside&&e0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(B.right-B.left)/2,a.anchorX=s+t))}t.tt.attr(a)}));let{container:R,outside:z,renderer:F}=i;if(z&&R&&F){let{width:t,height:e,x:i,y:s}=M.getBBox();F.setSize(t+i,e+s,!1),R.style.left=B.left+"px",R.style.top=L+"px"}d&&M.attr({opacity:1===M.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));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"]).forEach((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,C(!0,this.options,t))}updatePosition(t){let e,{chart:i,container:s,distance:o,options:r,pointer:n,renderer:a}=this,{height:l=0,width:h=0}=this.getLabel(),{left:c,top:d,scaleX:p,scaleY:u}=n.getChartPosition(),g=(r.positioner||this.getPosition).call(this,h,l,t),f=(t.plotX||0)+i.plotLeft,b=(t.plotY||0)+i.plotTop;a&&s&&(r.positioner&&(g.x+=c-o,g.y+=d-o),e=(r.borderWidth||0)+2*o+2,a.setSize(h+e,l+e,!1),(1!==p||1!==u)&&(m(s,{transform:`scale(${p}, ${u})`}),f*=p,b*=u),f+=c-g.x,b+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),f,b)}}return(n=P||(P={})).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))}))},P})),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:c,extend:d,fireEvent:p,getNestedProperty:u,isArray:g,isFunction:m,isNumber:f,isObject:b,merge:y,pick:x,syncTimeout:v,removeEvent:w,uniqueKey:C}=o;class k{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(d({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 d(this,t=k.prototype.optionsToObject.call(this,t)),this.options=this.options?d(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=k.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():f(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)&&(w(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),o&&(t.setState(),c(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,e=this.series,i=e.zones,s=e.zoneAxis||"y",o=0;for(t=i[0];this[s]>=t.value;)t=i[++o];return this.nonZonedColor||(this.nonZonedColor=this.color),t&&t.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t}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=C()),this.resolveColor(),t.chart.pointCount++,p(this,"afterInit")}isValid(){return(f(this.x)||this.x instanceof Date)&&f(this.y)}optionsToObject(t){let e,i=this.series,s=i.options.keys,o=s||i.pointArrayMap||["y"],r=o.length,n={},a=0,l=0;if(f(t)||null===t)n[o[0]]=t;else if(g(t))for(!s&&t.length>r&&("string"==(e=typeof t[0])?n.name=t[0]:"number"===e&&(n.x=t[0]),a++);l0?k.prototype.setNestedProperty(n,t[a],o[l]):n[o[l]]=t[a]),a++,l++;else"object"==typeof t&&(n=t,t.dataLabels&&(i.hasDataLabels=()=>!0),t.marker&&(i._hasPointMarkers=!0));return n}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(f(i)&&f(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,e,i,s=this.series,o=s.chart.options.chart,r=s.chart.styledMode,n=o.colorCount;delete this.nonZonedColor,s.options.colorByPoint?(r||(t=(e=s.options.colors||s.chart.options.colors)[s.colorCounter],n=e.length),i=s.colorCounter,s.colorCounter++,s.colorCounter===n&&(s.colorCounter=0)):(r||(t=s.color),i=s.colorIndex),this.colorIndex=x(this.options.colorIndex,i),this.color=x(this.options.color,t)}setNestedProperty(t,e,i){return i.split(".").reduce((function(t,i,s,o){let r=o.length-1===s;return t[i]=r?e:b(t[i],!0)?t[i]:{},t[i]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=x(i.valueDecimals,""),o=i.valuePrefix||"",r=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach((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 c(){r.applyOptions(t);let s=a&&r.hasMockGraphic,c=null===r.y?!s:s;a&&c&&(r.graphic=a.destroy(),delete r.hasMockGraphic),b(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]=b(h.data[o],!0)||b(t,!0)?r.options:x(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=x(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=x(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().forEach((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];!m(i)||this.hcEvents?.[t]&&-1!==this.hcEvents?.[t]?.map((t=>t.fn)).indexOf(i)?this.importedUserEvent&&!i&&this.hcEvents?.[t]&&(w(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=l(this,t,i))}setState(e,i){let s,o,r,a,l=this.series,h=this.state,c=l.options.states[e||"normal"]||{},u=n.plotOptions[l.type].marker&&l.options.marker,g=u&&!1===u.enabled,m=u&&u.states&&u.states[e||"normal"]||{},b=!1===m.enabled,y=this.marker||{},v=l.chart,w=u&&l.markerAttribs,C=l.halo,k=l.stateMarkerGraphic;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===c.enabled||e&&(b||g&&!1===m.enabled)||e&&y.states&&y.states[e]&&!1===y.states[e].enabled)return;if(this.state=e,w&&(s=l.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(h&&this.graphic.removeClass("highcharts-point-"+h),e&&this.graphic.addClass("highcharts-point-"+e),!v.styledMode){o=l.pointAttribs(this,e),r=x(v.options.chart.animation,c.animation);let t=o.opacity;l.options.inactiveOtherPoints&&f(t)&&(this.dataLabels||[]).forEach((function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},r),e.connector&&e.connector.animate({opacity:t},r))})),this.graphic.animate(o,r)}s&&this.graphic.animate(s,x(v.options.chart.animation,m.animation,u.animation)),k&&k.hide()}else e&&m&&(a=y.symbol||l.symbol,k&&k.currentSymbol!==a&&(k=k.destroy()),s&&(k?k[i?"animate":"attr"]({x:s.x,y:s.y}):a&&(l.stateMarkerGraphic=k=v.renderer.symbol(a,s.x,s.y,s.width,s.height).add(l.markerGroup),k.currentSymbol=a)),!v.styledMode&&k&&"inactive"!==this.state&&k.attr(l.pointAttribs(this,e))),k&&(k[e&&this.isInside?"show":"hide"](),k.element.point=this,k.addClass(this.getClassName(),!0));let S=c.halo,A=this.graphic||k,M=A&&A.visibility||"inherit";S&&S.size&&A&&"hidden"!==M&&!this.isCluster?(C||(l.halo=C=v.renderer.path().add(A.parentGroup)),C.show()[i?"animate":"attr"]({d:this.haloPath(S.size)}),C.attr({class:"highcharts-halo highcharts-color-"+x(this.colorIndex,l.colorIndex)+(this.className?" "+this.className:""),visibility:M,zIndex:-1}),C.point=this,v.styledMode||C.attr(d({fill:this.color||l.color,"fill-opacity":S.opacity},t.filterUserAttributes(S.attributes||{})))):C?.point?.haloPath&&!C.point.destroyed&&C.animate({d:C.point.haloPath(0)},null,C.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 k})),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:c,extend:d,find:p,fireEvent:u,isNumber:g,isObject:m,objectEach:f,offset:b,pick:y,pushUnique:x,splat:v}=i;class w{applyInactiveState(t){let e,i=[];(t||[]).forEach((function(t){e=t.series,i.push(e),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)})),this.chart.series.forEach((function(t){-1===i.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&&(w.unbindDocumentMouseUp&&(w.unbindDocumentMouseUp=w.unbindDocumentMouseUp()),w.unbindDocumentTouchEnd&&(w.unbindDocumentTouchEnd=w.unbindDocumentTouchEnd())),clearInterval(t.tooltipTimeout),f(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&&(s=t-a,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+a),n&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)})),i}drag(t){let e,{chart:i}=this,{mouseDownX:s=0,mouseDownY:r=0}=i,{panning:n,panKey:a,selectionMarkerFill:l}=i.options.chart,h=i.plotLeft,c=i.plotTop,d=i.plotWidth,p=i.plotHeight,u=m(n)?n.enabled:n,g=a&&t[`${a}Key`],f=t.chartX,b=t.chartY,y=this.selectionMarker;if((!y||!y.touch)&&(fh+d&&(f=h+d),bc+p&&(b=c+p),this.hasDragged=Math.sqrt(Math.pow(s-f,2)+Math.pow(r-b,2)),this.hasDragged>10)){e=i.isInsidePlot(s-h,r-c,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(f,b);(i.hasCartesianSeries||i.mapView)&&this.hasZoom&&e&&!g&&!y&&(this.selectionMarker=y=i.renderer[a](),y.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||y.attr({fill:l||o("#334eff").setOpacity(.25).get()})),y&&y.attr(d),e&&!y&&u&&i.pan(t,n)}}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)&&(c(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){let o=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),r=t.searchPoint(i,o);m(r,!0)&&r.series&&(!m(s,!0)||function(t,i){let s=t.distX-i.distX,o=t.dist-i.dist,r=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==o?o:0!==r?r:t.series.index>i.series.index?-1:1}(s,r)>0)&&(s=r)})),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=b(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=[],l=function(t){return t.visible&&!(!o&&t.directTouch)&&y(t.options.enableMouseTracking,!0)},h=e,c={chartX:r?r.chartX:void 0,chartY:r?r.chartY:void 0,shared:o};u(this,"beforeGetHoverData",c),n=h&&!h.stickyTracking?[h]:i.filter((t=>t.stickyTracking&&(c.filter||l)(t)));let d=s&&t||!r?t:this.findNearestKDPoint(n,o,r);return h=d&&d.series,d&&(o&&!h.noSharedTooltip?(n=i.filter((function(t){return c.filter?c.filter(t):l(t)&&!t.noSharedTooltip}))).forEach((function(t){let e=p(t.points,(function(t){return t.x===d.x&&!t.isNull}));m(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))})):a.push(d)),u(this,"afterGetHoverData",c={hoverPoint:d}),{hoverPoint:c.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}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,s=t;for(;s;){if(i=h(s,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}s=s.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 d(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",d(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(d(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));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(w.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(w.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,c=h&&h.series||s.hoverSeries,d=(!t||"touchmove"!==t.type)&&(!!e||c&&c.directTouch&&this.isDirectTouch),u=this.getHoverData(h,c,o,d,a,t);h=u.hoverPoint,c=u.hoverSeries;let g=u.hoverPoints,m=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split,f=a&&c&&!c.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||n&&n.isHidden)){if((s.hoverPoints||[]).forEach((function(t){-1===g.indexOf(t)&&t.setState()})),s.hoverSeries!==c&&c.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(f?g:h,t)}))}else if(m&&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[w.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t))),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach((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))),w.unbindDocumentMouseUp||(w.unbindDocumentMouseUp=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})),w.unbindDocumentTouchEnd||(w.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||c(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||c(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(w.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||(w.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,i,s=this.chart,o=s.inverted,r=s.zooming.type||"";/touch/.test(t.type)&&(r=y(s.zooming.pinchType,r)),this.zoomX=e=/x/.test(r),this.zoomY=i=/y/.test(r),this.zoomHor=e&&!o||i&&o,this.zoomVert=i&&!o||e&&o,this.hasZoom=e||i}}return(s=w||(w={})).compose=function(t){x(n,"Core.Pointer")&&l(t,"beforeRender",(function(){this.pointer=new s(this,this.options)}))},w})),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,a=this.legendItem=this.legendItem||{},{chart:l,options:h}=this,{baseline:c=0,symbolWidth:d,symbolHeight:p}=t,u=this.symbol||"circle",g=p/2,m=l.renderer,f=a.group,b=c-Math.round(p*(r?.4:.3)),y={},x=h.marker,v=0;if(l.styledMode||(y["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?y.dashstyle=h.dashStyle:"square"===h.linecap||(y["stroke-linecap"]="round")),a.line=m.path().addClass("highcharts-graph").attr(y).add(f),r&&(a.area=m.path().addClass("highcharts-area").add(f)),y["stroke-linecap"]&&(v=Math.min(a.line.strokeWidth(),d)/2),d){let t=[["M",v,b],["L",d-v,b]];a.line.attr({d:t}),a.area?.attr({d:[...t,["L",d-v,c],["L",v,c]]})}if(x&&!1!==x.enabled&&d){let t=Math.min(o(x.radius,g),g);0===u.indexOf("url")&&(x=s(x,{width:p,height:p}),t=0),a.symbol=n=m.symbol(u,d/2-t,b-t,2*t,2*t,i({context:"legend"},x)).addClass("highcharts-point").add(f),n.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||{},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,c,d){let p=r.plotOptions||{};if(o=o||"",p[t]=l(p[o],h),delete e.seriesTypes[t],s(t,a(e.seriesTypes[o]||function(){},c)),e.seriesTypes[t].prototype.type=t,d){class s extends i{}n(s.prototype,d),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:c,setAnimation:d}=t,{defaultOptions:p}=e,{registerEventOptions:u}=i,{svg:g,win:m}=s,{seriesTypes:f}=a,{arrayMax:b,arrayMin:y,clamp:x,correctFloat:v,crisp:w,defined:C,destroyObjectProperties:k,diffObjects:S,erase:A,error:M,extend:P,find:T,fireEvent:E,getClosestDistance:L,getNestedProperty:D,insertItem:O,isArray:j,isNumber:N,isString:I,merge:B,objectEach:R,pick:z,removeEvent:F,splat:H,syncTimeout:X}=h;class G{constructor(){this.zoneAxis="y"}init(t,e){let i;E(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(),P(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=z(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",O(this,o)),r.dataSorting&&r.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(r.data,!1),E(this,"afterInit")}is(t){return f[t]&&this instanceof f[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;E(this,"bindAxes",null,(function(){(e.axisTypes||[]).forEach((function(o){(s[o]||[]).forEach((function(s){t=s.options,(z(i[o],0)===s.index||void 0!==i[o]&&i[o]===t.id)&&(O(e,s.series),e[o]=s,s.isDirty=!0)})),e[o]||e.optionalAxis===o||M(18,!0,s)}))})),E(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,o=N(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,i,s=this.options,o=s.pointIntervalUnit,r=s.relativeXValue,n=this.chart.time,a=this.xIncrement;return a=z(a,s.pointStart,0),this.pointInterval=i=z(this.pointInterval,s.pointInterval,1),r&&N(t)&&(i*=t),o&&(e=new n.Date(a),"day"===o?n.set("Date",e,n.get("Date",e)+i):"month"===o?n.set("Month",e,n.get("Month",e)+i):"year"===o&&n.set("FullYear",e,n.get("FullYear",e)+i),i=e.getTime()-a),r&&N(t)?a+i:(this.xIncrement=a+i,a)}setDataSortingOptions(){let t=this.options;P(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),C(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,o=i.userOptions||{},r=B(t),n=i.styledMode,a={plotOptions:s,userOptions:r};E(this,"setOptions",a);let l=a.plotOptions[this.type],h=o.plotOptions||{},c=h.series||{},d=p.plotOptions[this.type]||{},u=h[this.type]||{};this.userOptions=a.userOptions;let g=B(l,s.series,u,r);this.tooltipOptions=B(p.tooltip,p.plotOptions.series?.tooltip,d?.tooltip,i.userOptions.tooltip,h.series?.tooltip,u.tooltip,r.tooltip),this.stickyTracking=z(r.stickyTracking,u.stickyTracking,c.stickyTracking,!!this.tooltipOptions.shared&&!this.noSharedTooltip||g.stickyTracking),null===l.marker&&delete g.marker,this.zoneAxis=g.zoneAxis||"y";let m=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),m.push(e)),m.length&&C(m[m.length-1].value)&&m.push(n?{}:{color:this.color,fillColor:this.fillColor}),E(this,"afterSetOptions",{options:g}),g}getName(){return z(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&&(C(o=z("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=T(l,e)))return}return i&&void 0!==(o=i&&i.index)&&(s=!0),void 0===o&&N(a)&&(o=this.xData.indexOf(a,e)),-1!==o&&void 0!==o&&this.cropped&&(o=o>=this.cropStart?o-this.cropStart:o),!s&&N(o)&&l[o]&&l[o].touched&&(o=void 0),o}updateData(t,e){let i,s,o,r,n=this.options,a=n.dataSorting,l=this.points,h=[],c=this.requireSorting,d=t.length===l.length,p=!0;if(this.xIncrement=null,t.forEach((function(t,e){let s,o=C(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=o.x;o.id||N(p)?(-1===(s=this.findPointIndex(o,r))||void 0===s?h.push(t):l[s]&&t!==n.data[s]?(l[s].update(t,!1,null,!1),l[s].touched=!0,c&&(r=s+1)):l[s]&&(l[s].touched=!0),(!d||e!==s||a&&a.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)}),this),i)for(s=l.length;s--;)(o=l[s])&&!o.touched&&o.remove&&o.remove(!1,e);else!d||a&&a.enabled?p=!1:(t.forEach((function(t,e){t===l[e].y||l[e].destroyed||l[e].update(t,!1,null,!1)})),h.length=0);return l.forEach((function(t){t&&(t.touched=!1)})),!!p&&(h.forEach((function(t){this.addPoint(t,!1,null,null,!1)}),this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=b(this.xData),this.autoIncrement()),!0)}setData(t,e=!0,i,s){let o,r,n,a,l=this,h=l.points,c=h&&h.length||0,d=l.options,p=l.chart,u=d.dataSorting,g=l.xAxis,m=d.turboThreshold,f=this.xData,b=this.yData,y=l.pointArrayMap,x=y&&y.length,v=d.keys,w=0,C=1;p.options.chart.allowMutatingData||(d.data&&delete l.options.data,l.userOptions.data&&delete l.userOptions.data,a=B(!0,t));let k=(t=a||t||[]).length;if(u&&u.enabled&&(t=this.sortData(t)),p.options.chart.allowMutatingData&&!1!==s&&k&&c&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.boosted&&(n=this.updateData(t,i)),!n){l.xIncrement=null,l.colorCounter=0,this.parallelArrays.forEach((function(t){l[t+"Data"].length=0}));let e=m&&k>m;if(e){let i=l.getFirstValidPoint(t),s=l.getFirstValidPoint(t,k-1,-1),n=t=>!(!j(t)||!v&&!N(t[0]));if(N(i)&&N(s))for(o=0;o=0?w:0,C=C>=0?C:1),1===i.length&&(C=0),w===C)for(o=0;o{let s=D(i,t),o=D(i,e);return os?1:0})).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,i,s,o,r,n=this,a=n.xAxis,l=n.options.cropThreshold,h=a?.logarithmic,c=n.isCartesian,d=0,p=n.xData,u=n.yData,g=!1,m=p.length;a&&(o=(s=a.getExtremes()).min,r=s.max,g=!(!a.categories||a.names.length)),c&&n.sorted&&!t&&(!l||m>l||n.forceCrop)&&(p[m-1]r?(p=[],u=[]):n.yData&&(p[0]r)&&(p=(e=this.cropData(n.xData,n.yData,o,r)).xData,u=e.yData,d=e.start,i=!0));let f=L([h?p.map(h.log2lin):p],(()=>n.requireSorting&&!g&&M(15,!1,n.chart)));return{xData:p,yData:u,cropped:i,cropStart:d,closestPointRange:f}}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,E(this,"afterProcessData")}cropData(t,e,i,s){let o,r,n=t.length,a=0,l=n;for(o=0;o=i){a=Math.max(0,o-1);break}for(r=o;rs){l=r+1;break}return{xData:t.slice(a,l),yData:e.slice(a,l),start:a,end:l}}generatePoints(){let t,e,i,s,o=this.options,r=this.processedData||o.data,n=this.processedXData,a=this.processedYData,l=this.pointClass,h=n.length,c=this.cropStart||0,d=this.hasGroupedData,p=o.keys,u=[],g=o.dataGrouping&&o.dataGrouping.groupAll?c:0,m=this.data;if(!m&&!d){let t=[];t.length=r.length,m=this.data=t}for(p&&d&&(this.options.keys=!1),s=0;s0:n.length)||!u),o=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!h||(k[a+p]||r)>=x&&(k[a-p]||r)<=v,s&&o)if(l=n.length)for(;l--;)N(n[l])&&(d[w++]=n[l]);else d[w++]=n;let S={activeYData:d,dataMin:y(d),dataMax:b(d)};return E(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&&o1)&&(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(),R(this.chart.sharedClips,((t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])})),this.finishedAnimating=!0,E(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,o,r,n,a,l=this.chart,h=l.styledMode,{colorAxis:c,options:d}=this,p=d.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,m=z(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||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?c&&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,s,o=this.options,r=o.marker,n=t.marker||{},a=n.symbol||r.symbol,l={},h=z(n.radius,r&&r.radius);e&&(i=r.states[e],h=z((s=n.states&&n.states[e])&&s.radius,i&&i.radius,h&&h+(i&&i.radiusPlus||0))),t.hasImage=a&&0===a.indexOf("url"),t.hasImage&&(h=0);let c=t.pos();return N(h)&&c&&(o.crisp&&(c[0]=w(c[0],t.hasImage?0:"rect"===a?r?.lineWidth||0:1)),l.x=c[0]-h,l.y=c[1]-h),h&&(l.width=l.height=2*h),l}pointAttribs(t,e){let i,s,o,r,n=this.options.marker,a=t&&t.options,l=a&&a.marker||{},h=a&&a.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,p=this.color,u=z(l.lineWidth,n.lineWidth),g=1;return p=h||d||c||p,o=l.fillColor||n.fillColor||p,r=l.lineColor||n.lineColor||p,e=e||"normal",i=n.states[e]||{},u=z((s=l.states&&l.states[e]||{}).lineWidth,i.lineWidth,u+z(s.lineWidthPlus,i.lineWidthPlus,0)),o=s.fillColor||i.fillColor||o,{stroke:r=s.lineColor||i.lineColor||r,"stroke-width":u,fill:o,opacity:g=z(s.opacity,i.opacity,g)}}destroy(t){let e,i,s,o=this,r=o.chart,n=/AppleWebKit\/533/.test(m.navigator.userAgent),a=o.data||[];for(E(o,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(o.axisTypes||[]).forEach((function(t){(s=o[t])&&s.series&&(A(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)k(t,void 0,!0);h.clearTimeout(o.animationTimeout),R(o,(function(t,e){t instanceof l&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()})),r.hoverSeries===o&&(r.hoverSeries=void 0),A(r.series,o),r.orderItems("series"),R(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,c=this[`${a}Axis`],{isXAxis:d,len:p=0}=c||{},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){t.forEach(((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],d?p-e[1]:e[1],d?e[2]:p-e[2]])}))};if(s.forEach((t=>{t.lineClip=[],t.translated=x(c.toPixels(z(t.value,e),!0)||0,0,p)})),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&o.length{let s=e.lineClip||[],o=Math.round(e.translated||0);r.reversed&&s.reverse();let{clip:a,simpleClip:c}=e,p=0,g=0,b=r.len,y=n.len;d?(p=o,b=f):(g=o,y=f);let x=[["M",p,g],["L",b,g],["L",b,y],["L",p,y],["Z"]],v=[x[0],...s,x[1],x[2],...m,x[3],x[4]];m=s.reverse(),f=o,l&&(u(v),t&&u(x)),a?(a.animate({d:v}),c?.animate({d:x})):(a=e.clip=h.path(v),t&&(c=e.simpleClip=h.path(x))),i&&e.graph?.clip(a),t&&e.area?.clip(c)}))}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 C(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 "+(C(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:o?90:0,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||F(this),e.length&&(e.forEach((t=>{t()})),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,o=c(i.animation),r=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:o.duration;E(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=X((()=>{t.afterAnimate()}),l||0)),t.isDirty=!1,t.hasRendered=!0,E(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,X((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||"touchstart"===t?.type?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 c,d,p=i.point,u=s.kdAxisArray[a%h],g=p;!function(t,e){let i=t[o],s=e[o],n=C(i)&&C(s)?i-s:null,a=t[r],h=e[r],c=C(a)&&C(h)?a-h:0,d=l&&e.marker?.radius||0;e.dist=Math.sqrt((n&&n*n||0)+c*c)-d,e.distX=C(n)?Math.abs(n)-d:Number.MAX_VALUE}(e,p);let m=(e[u]||0)-(p[u]||0)+(l&&p.marker?.radius||0),f=m<0?"left":"right",b=m<0?"right":"left";return i[f]&&(g=(c=t(e,i[f],a+1,h))[n]=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)+")",c=t.tracker;c?c.attr({d:s}):t.graph&&(t.tracker=c=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),o.styledMode||c.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[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))}))),E(this,"afterDrawTracker")}addPoint(t,e,i,s,o){let r,n,a=this.options,l=this.data,h=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,p=a.data,u=this.xData;e=z(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let m=g.x;if(n=u.length,this.requireSorting&&mm;)n--;this.updateParallelArrays(g,"splice",[n,0,0]),this.updateParallelArrays(g,n),d&&g.name&&(d[m]=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&&E(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()};d(i,a),e=z(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),z(t,!0)&&r.redraw(e)}!1!==i?E(o,"remove",null,n):n()}update(t,e){E(this,"update",{options:t=S(t,this.userOptions)});let i,s,o=this,r=o.chart,n=o.userOptions,a=o.initialType||o.type,l=r.options.plotOptions,h=f[a].prototype,c=o.finishedAnimating&&{animation:!1},d={},p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||n.type||r.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=>o.hasOptionChanged(t))));u=u||a,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"),o.parallelArrays.forEach((function(t){p.push(t+"Data")})),t.data&&(t.dataSorting&&P(o.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=B(n,{index:void 0===n.index?o.index:n.index,pointStart:l?.series?.pointStart??n.pointStart??o.xData?.[0]},!g&&{data:o.options.data},t,c),g&&t.data&&(t.data=o.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach((function(t){p[t]=o[t],delete o[t]}));let m=!1;if(f[u]){if(m=u!==o.type,o.remove(!1,!1,!1,!0),m)if(r.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(o,f[u].prototype);else{let t=Object.hasOwnProperty.call(o,"hcEvents")&&o.hcEvents;for(s in h)o[s]=void 0;P(o,f[u].prototype),t?o.hcEvents=t:delete o.hcEvents}}else M(17,!0,r,{missingModuleFor:u});if(p.forEach((function(t){o[t]=p[t]})),o.init(r,t),g&&this.points)for(let t of(!1===(i=o.options).visible?(d.graphic=1,d.dataLabel=1):(this.hasMarkerChanged(i,n)&&(d.graphic=1),o.hasDataLabels?.()||(d.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(d).length&&t.destroyElements(d),!1===i.showInLegend&&t.legendItem&&r.legend.destroyItem(t));o.initialType=a,r.linkSeries(),r.setSortedData(),m&&o.linkedSeries.length&&(o.isDirtyData=!0),E(this,"afterUpdate"),z(e,!0)&&r.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=z(s?.[this.type]?.[t],s?.series?.[t]);return o&&!C(r)?i!==o:i!==z(r,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&E(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&&E(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=z(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=z(n[t].opacity,h)),o&&!o.dashstyle&&N(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),E(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),E(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 G.defaultOptions=n,G.types=a.seriesTypes,G.registerType=a.registerSeriesType,P(G.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=G,G})),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:c}=t,{registerEventOptions:d}=e,{composed:p,marginNames:u}=i,{distribute:g}=r,{format:m}=n,{addEvent:f,createElement:b,css:y,defined:x,discardElement:v,find:w,fireEvent:C,isNumber:k,merge:S,pick:A,pushUnique:M,relativeLength:P,stableSort:T,syncTimeout:E}=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(),d(this,e),f(this.chart,"endResize",(function(){this.legend.positionCheckboxes()}))),f(this.chart,"render",(()=>{this.options.enabled&&this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(t){let e=A(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=A(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&&d(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,A(e,!0)&&i.redraw(),C(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:c,marker:d}=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:c||t.color})),n&&n.attr(p(d&&n.isMarker?t.pointAttribs():{fill:t.color})),i?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}C(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&&e.element){let o={translateX:n?i:this.legendWidth-i-2*r-4,translateY:s};e[x(e.translateY)?"animate":"attr"](o,void 0,(()=>{C(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&&r1.5*w?v.height:w))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,o=t.itemHeight,r=this.itemMarginBottom,n=this.itemMarginTop,a=s?A(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,c=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),c.x=this.itemX,c.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&&A(i.showInLegend,!x(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))})),C(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)&&!x(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"]+A(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,a,l=s;t.yAxis&&(t.xAxis.options.reversed&&(l=!l),t.points&&(o=w(l?t.points:t.points.slice(0).reverse(),(function(t){return k(t.plotY)}))),r=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,a=t.yAxis.top-e.plotTop,n=t.visible?(o?o.plotY:t.yAxis.height)+(a-.3*r):a+t.yAxis.height,i.push({target:n,size:r,item:t}))}),this),g(i,e.plotHeight)))t=o.item.legendItem||{},k(o.pos)&&(t.y=e.plotTop-e.spacing[0]+o.pos)}render(){let t,e,i,s,o=this.chart,r=o.renderer,n=this.options,a=this.padding,l=this.getAllItems(),h=this.group,c=this.box;this.itemX=a,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=P(n.width,o.spacingBox.width-a),s=o.spacingBox.width-2*a-n.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,h||(this.group=h=r.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=r.g().attr({zIndex:1}).add(h),this.scrollGroup=r.g().add(this.contentGroup)),this.renderTitle(),T(l,((t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0))),n.reversed&&l.reverse(),this.allItems=l,this.display=t=!!l.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,l.forEach(this.renderItem,this),l.forEach(this.layoutItem,this),e=(this.widthOption||this.offsetWidth)+a,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+a,c||(this.box=c=r.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(h)),o.styledMode||c.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),h[t?"show":"hide"](),o.styledMode&&"none"===h.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),C(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,i,s,o=this,r=this.chart,n=r.renderer,a=this.options,l=a.y,h="top"===a.verticalAlign,c=this.padding,d=a.maxHeight,p=a.navigation,u=A(p.animation,!0),g=p.arrowSize||12,m=this.pages,f=this.allItems,b=function(t){"number"==typeof t?w.attr({height:t}):w&&(o.clipRect=w.destroy(),o.contentGroup.clip()),o.contentGroup.div&&(o.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},y=function(t){return o[t]=n.circle(0,0,1.3*g).translate(g/2,g/2).add(v),r.styledMode||o[t].attr("fill","rgba(0,0,0,0.0001)"),o[t]},x=r.spacingBox.height+(h?-l:l)-c,v=this.nav,w=this.clipRect;return"horizontal"!==a.layout||"middle"===a.verticalAlign||a.floating||(x/=2),d&&(x=Math.min(x,d)),m.length=0,t&&x>0&&t>x&&!1!==p.enabled?(this.clipHeight=e=Math.max(x-20-this.titleHeight-c,0),this.currentPage=A(this.currentPage,1),this.fullHeight=t,f.forEach(((t,o)=>{let r=(s=t.legendItem||{}).y||0,n=Math.round(s.label.getBBox().height),a=m.length;(!a||r-m[a-1]>e&&(i||r)!==m[a-1])&&(m.push(i||r),a++),s.pageIx=a-1,i&&((f[o-1].legendItem||{}).pageIx=a-1),o===f.length-1&&r+n-m[a-1]>e&&r>m[a-1]&&(m.push(r),s.pageIx=a),r!==i&&(i=r)})),w||(w=o.clipRect=n.clipRect(0,c-2,9999,0),o.contentGroup.clip(w)),b(e),v||(this.nav=v=n.g().attr({zIndex:1}).add(this.group),this.up=n.symbol("triangle",0,0,g,g).add(v),y("upTracker").on("click",(function(){o.scroll(-1,u)})),this.pager=n.text("",15,10).addClass("highcharts-legend-navigation"),!r.styledMode&&p.style&&this.pager.css(p.style),this.pager.add(v),this.down=n.symbol("triangle-down",0,0,g,g).add(v),y("downTracker").on("click",(function(){o.scroll(1,u)}))),o.scroll(0),t=x):v&&(b(),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,d=this.currentPage+t;d>o&&(d=o),d>0&&(void 0!==e&&c(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===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),a.attr({text:d+"/"+o}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:d===o?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),i.styledMode||(this.up.attr({fill:1===d?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===d?"default":"pointer"}),this.down.attr({fill:d===o?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:d===o?"default":"pointer"})),this.scrollOffset=-s[d-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=d,this.positionCheckboxes(),E((()=>{C(this,"afterScroll",{currentPage:d})}),h(A(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,c="highcharts-legend-"+(l?"point":"series")+"-active",d=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(c),d||e.css(r.options.itemHoverStyle)})).on("mouseout",(function(){r.chart.styledMode||e.css(S(t.visible?r.itemStyle:r.itemHiddenStyle)),u(""),a.removeClass(c),t.setState()})).on("click",(function(e){a.removeClass(c),C(r,"itemClick",{browserEvent:e,legendItem:t},(function(){t.setVisible&&t.setVisible(),u(t.visible?"inactive":"")})),l?t.firePointEvent("legendItemClick",{browserEvent:e}):h&&C(t,"legendItemClick",{browserEvent:e})}))}createCheckboxForItem(t){t.checkbox=b("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:t.selected,defaultChecked:t.selected},this.options.itemCheckboxStyle,this.chart.container),f(t.checkbox,"click",(function(e){let i=e.target;C(t.series||t,"checkboxClick",{checked:i.checked,item:t},(function(){t.select()}))}))}}return(l=L||(L={})).compose=function(t){M(p,"Core.Legend")&&f(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,c,d,p,u){let{animate:g,animObject:m,setAnimation:f}=t,{defaultOptions:b,defaultTime:y}=i,{numberFormat:x}=s,{registerEventOptions:v}=o,{charts:w,doc:C,marginNames:k,svg:S,win:A}=r,{seriesTypes:M}=l,{addEvent:P,attr:T,createElement:E,css:L,defined:D,diffObjects:O,discardElement:j,erase:N,error:I,extend:B,find:R,fireEvent:z,getStyle:F,isArray:H,isNumber:X,isObject:G,isString:Y,merge:W,objectEach:U,pick:$,pInt:q,relativeLength:V,removeEvent:_,splat:K,syncTimeout:Z,uniqueKey:J}=d;class Q{static chart(t,e,i){return new Q(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(Y(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:$(t.zoomType,e.type),key:$(t.zoomKey,e.key),pinchType:$(t.pinchType,e.pinchType),singleTouch:$(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:W(e.resetButton,t.resetZoomButton)}}init(t,e){z(this,"init",{args:arguments},(function(){let i=W(b,t),s=i.chart;this.userOptions=B({},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 c(t.time):r.time,this.numberFormatter=s.numberFormatter||x,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=w.length,w.push(this),r.chartCount++,v(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),z(this,"afterInit"),this.firstRender()}))}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=M[i];s||I(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]=K(this.options[t]).slice(),o=this.userOptions[t]=this.userOptions[t]?K(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),o.splice(e)),i)for(let t=e,r=i.length;t=Math.max(l+r,t.pos)&&e<=Math.min(l+r+d.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||c&&(s?c.xAxis:c.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+d.height,t.pos+t.len)||(g.isInsidePlot=!1)}return z(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){z(this,"beforeRedraw");let e,i,s,o,r=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,a=this.pointer,l=this.legend,h=this.userOptions.legend,c=this.renderer,d=c.isHidden(),p=[],u=this.isDirtyBox,g=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),f(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),s=n.length;s--;)if(((o=n[s]).options.stacking||o.options.centerInCategory)&&(i=!0,o.isDirty)){e=!0;break}if(e)for(s=n.length;s--;)(o=n[s]).options.stacking&&(o.isDirty=!0);n.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):h&&(h.labelFormatter||h.labelFormat)&&(g=!0)),t.isDirtyData&&z(t,"updatedData")})),g&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1),i&&this.getStacks(),r.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),r.forEach((function(t){t.isDirty&&(u=!0)})),r.forEach((function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,p.push((function(){z(t,"afterSetExtremes",B(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(u||i)&&t.redraw()})),u&&this.drawChartBox(),z(this,"predraw"),n.forEach((function(t){(u||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),a&&a.reset(!0),c.draw(),z(this,"redraw"),z(this,"render"),d&&this.temporaryDisplay(!0),p.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=R(this.axes,i)||R(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach((e=>{$(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]=W(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(B("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(B({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,z(this,"afterLayOutTitles"),!this.isDirtyBox&&o&&(this.isDirtyBox=this.isDirtyLegend=o,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:F(this.renderTo,"width",!0)||0,height:F(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox();this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,V(i,this.chartWidth)||(s.height>1?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(L(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(C.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style&&(C.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,C.body.appendChild(i)),("none"===F(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),L(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==C.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",o=J(),a=this.renderTo;a||(this.renderTo=a=i.renderTo),Y(a)&&(this.renderTo=a=C.getElementById(a)),a||I(13,!0,this);let l=q(T(a,s));X(l)&&w[l]&&w[l].hasRendered&&w[l].destroy(),T(a,s,this.index),a.innerHTML=p.emptyHTML,i.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let c=this.chartHeight,d=this.chartWidth;L(a,{overflow:"hidden",pointerEvents:r.isChrome?"fill":"auto"}),this.styledMode||(t=B({position:"relative",overflow:"hidden",width:d+"px",height:c+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},i.style||{}));let u=E("div",{id:o},t,a);this.container=u,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||L(u,{width:$(i.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=u.style.cursor;let g=i.renderer||!S?n.getRendererType(i.renderer):h;if(this.renderer=new g(u,d,c,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),f(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,z(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!D(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!D(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),z(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),k.forEach((function(i,o){D(s[o])||(t[i]+=e[o])})),t.setChartSize()}getOptions(){return O(this.userOptions,b)}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)&&(d.clearTimeout(e.reflowTimeout),e.reflowTimeout=Z((function(){e.container&&e.setSize(void 0,void 0,!1)}),t?100:0)),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=P(A,"resize",e);P(this,"destroy",t)}}setSize(t,e,i){let s=this,o=s.renderer;s.isResizing+=1,f(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,z(s,"resize"),setTimeout((()=>{s&&z(s,"endResize")}),m(r).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,o,{chartHeight:r,chartWidth:n,inverted:a,spacing:l,renderer:h}=this,c=this.clipOffset,d=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},c&&(this.clipBox={x:d(c[3]),y:d(c[0]),width:d(this.plotSizeX-c[1]-c[3]),height:d(this.plotSizeY-c[0]-c[2])}),t||(this.axes.forEach((function(t){t.setAxisSize(),t.setAxisTranslation()})),h.alignElements()),z(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){z(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=G(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((function(s,r){t[i][r]=$(e[i+s],o[r])}))})),k.forEach((function(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,e,i,s=this.options.chart,o=this.renderer,r=this.chartWidth,n=this.chartHeight,a=this.styledMode,l=this.plotBGImage,h=s.backgroundColor,c=s.plotBackgroundColor,d=s.plotBackgroundImage,p=this.plotLeft,u=this.plotTop,g=this.plotWidth,m=this.plotHeight,f=this.plotBox,b=this.clipRect,y=this.clipBox,x=this.chartBackground,v=this.plotBackground,w=this.plotBorder,C="animate";x||(this.chartBackground=x=o.rect().addClass("highcharts-background").add(),C="attr"),a?t=e=x.strokeWidth():(e=(t=s.borderWidth||0)+(s.shadow?8:0),i={fill:h||"none"},(t||x["stroke-width"])&&(i.stroke=s.borderColor,i["stroke-width"]=t),x.attr(i).shadow(s.shadow)),x[C]({x:e/2,y:e/2,width:r-e-t%2,height:n-e-t%2,r:s.borderRadius}),C="animate",v||(C="attr",this.plotBackground=v=o.rect().addClass("highcharts-plot-background").add()),v[C](f),!a&&(v.attr({fill:c||"none"}).shadow(s.plotShadow),d&&(l?(d!==l.attr("href")&&l.attr("href",d),l.animate(f)):this.plotBGImage=o.image(d,p,u,g,m).add())),b?b.animate({width:y.width,height:y.height}):this.clipRect=o.clipRect(y),C="animate",w||(C="attr",this.plotBorder=w=o.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),a||w.attr({stroke:s.plotBorderColor,"stroke-width":s.plotBorderWidth||0,fill:"none"}),w[C](w.crisp({x:p,y:u,width:g,height:m},-w.strokeWidth())),this.isDirtyBox=!1,z(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=M[o.type],i=o[n]||e&&e.prototype[n],t=r&&r.length;!i&&t--;)(e=M[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(Y(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=$(t.options.visible,s.options.visible,t.visible))}})),z(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,e=this.axes,i=this.colorAxis,s=this.renderer,o=this.options.chart.axisLayoutRuns||2,r=t=>{t.forEach((t=>{t.visible&&t.render()}))},n=0,a=!0,l=0;for(let t of(this.setTitle(),z(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),e)){let{options:e}=t,{labels:i}=e;if(this.hasCartesianSeries&&t.horiz&&t.visible&&i.enabled&&t.series.length&&"colorAxis"!==t.coll&&!this.polar){n=e.tickLength,t.createGroups();let s=new u(t,0,"",!0),o=s.createLabel("x",i);if(s.destroy(),o&&$(i.reserveSpace,!X(e.crossing))&&(n=o.getBBox().height+i.distance+Math.max(e.offset||0,0)),n){o?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-n,0);(a||t||o>1)&&l(l?1:1.1),t=s/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?r(e):i&&i.length&&r(i),this.seriesGroup||(this.seriesGroup=s.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=W(!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&&(A.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(z(e,"destroy"),e.renderer.forExport?N(w,e):w[e.index]=void 0,r.chartCount--,e.renderTo.removeAttribute("data-highcharts-chart"),_(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();["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,_(o),n&&j(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=H(e.series)?e.series:[];e.series=[],i.forEach((function(e){t.initSeries(e)})),t.linkSeries(),t.setSortedData(),z(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),z(this,"load"),z(this,"render"),D(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(/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),z(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 e,i,{axes:s=this.axes,event:o,from:r={},reset:n,selection:a,to:l={},trigger:h}=t,{inverted:c}=this,d=!1;for(let t of(this.hoverPoints?.forEach((t=>t.setState())),s)){let{horiz:s,len:p,minPointOffset:u=0,options:g,reversed:m}=t,f=s?"width":"height",b=s?"x":"y",y=$(l[f],t.len),x=$(r[f],t.len),v=10>Math.abs(y)?1:y/x,w=(r[b]||0)+x/2-t.pos,C=w-((l[b]??t.pos)+y/2-t.pos)/v,k=m&&!c||!m&&c?-1:1;if(!n&&(w<0||w>t.len))continue;let S=t.toValue(C,!0)+(a?0:u*k),A=t.toValue(C+p/v,!0)-(a?0:u*k||0),M=t.allExtremes;if(S>A&&([S,A]=[A,S]),1===v&&!n&&"yAxis"===t.coll&&!M){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).yData,!0);M??(M={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),X(t.dataMin)&&X(t.dataMax)&&(M.dataMin=Math.min(t.dataMin,M.dataMin),M.dataMax=Math.max(t.dataMax,M.dataMax))}t.allExtremes=M}let{dataMin:P,dataMax:T,min:E,max:L}=B(t.getExtremes(),M||{}),O=P??g.min,j=T??g.max,N=A-S,I=t.categories?0:Math.min(N,j-O),R=O-I*(D(g.min)?0:g.minPadding),z=j+I*(D(g.max)?0:g.maxPadding),F=t.allowZoomOutside||1===v||"zoom"!==h&&v>1,H=Math.min(g.min??R,R,F?E:R),G=Math.max(g.max??z,z,F?L:z);(!t.isOrdinal||1!==v||n)&&(S=1&&(A=S+N)),A>G&&(A=G,v>=1&&(S=A-N)),(n||t.series.length&&(S!==E||A!==L)&&S>=H&&A<=G)&&(a?a[t.coll].push({axis:t,min:S,max:A}):(t.isPanning="zoom"!==h,t.isPanning&&(i=!0),t.setExtremes(n?void 0:S,n?void 0:A,!1,!1,{move:C,trigger:h,scale:v}),!n&&(S>H||A{delete t.selection,t.trigger="zoom",this.transform(t)})):(!e||i||this.resetZoomButton?!e&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===h&&(this.options.chart.animation??this.pointCount<100)))),d}}return B(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","plotBackgroundColor","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:c,pushUnique:d}=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){d(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:d,renderer:p}=t;if(!p.forExport&&(r?(t.scrollablePixelsX=i=Math.max(0,r-t.chartWidth),i&&(t.scrollablePlotBox=c(t.plotBox),l.width=t.plotWidth+=i,a[d?"height":"width"]+=i,o=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),h(s)&&(t.scrollablePlotBox=c(t.plotBox),l.height=t.plotHeight+=s,a[d?"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),c={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(c.overflowX="auto"),t.scrollablePixelsY&&(c.overflowY="auto"),this.chart=t;let d=this.parentDiv=a("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),p=this.scrollingContainer=a("div",{className:"highcharts-scrolling"},c,d),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),m=this.fixedRenderer=new o(g,t.chartWidth,t.chartHeight,s.style);this.mask=m.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:c,plotHeight:d,plotLeft:p,plotTop:u,plotWidth:g,scrollablePixelsX:m=0,scrollablePixelsY:f=0}=t,{scrollPositionX:b=0,scrollPositionY:y=0}=t.options.chart.scrollablePlotArea||{},x=n+m,v=a+f;e.setSize(n,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),o(t.container),l(c,{width:`${x}px`,height:`${v}px`}),t.renderer.boxWrapper.attr({width:x,height:v,viewBox:[0,0,x,v].join(" ")}),t.chartBackground?.attr({width:x,height:v}),l(s,{width:`${n}px`,height:`${a}px`}),h(i)||(s.scrollLeft=m*b,s.scrollTop=f*y);let w=u-r[0]-1,C=p-r[3]-1,k=u+d+r[2]+1,S=p+g+r[1]+1,A=p+g-m,M=u+d-f,P=[["M",0,0]];m?P=[["M",0,w],["L",p-1,w],["L",p-1,k],["L",0,k],["Z"],["M",A,w],["L",n,w],["L",n,k],["L",A,k],["Z"]]:f&&(P=[["M",C,0],["L",C,u-1],["L",S,u-1],["L",S,0],["Z"],["M",C,M],["L",C,a],["L",S,a],["L",S,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:P})}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=>{(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:c,axis:d,label:p,options:u,textAlign:g}=this,m=d.chart,f=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:r,xAxis:h}),{verticalAlign:b}=c;if(p&&f){let t,e=p.getBBox(void 0,0),i=p.padding,s="justify"===l(u.overflow,"justify");c.x=u.x||0,c.y=u.y||0;let{x:r,y:n}=this.adjustStackPosition({labelBox:e,verticalAlign:b,textAlign:g});f.x-=r,f.y-=n,p.align(c,!1,f),(t=m.isInsidePlot(p.alignAttr.x+c.x+r,p.alignAttr.y+c.y+n))||(s=!1),s&&o.prototype.justifyDataLabel.call(d,p,c,p.alignAttr,e,f),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:e.width*{left:0,center:.5,right:1}[u.textAlign||"center"],rotationOriginY:e.height/2}),l(!s&&u.crop,!0)&&(t=a(p.x)&&a(p.y)&&m.isInsidePlot(p.x-i+(p.width||0),p.y)&&m.isInsidePlot(p.x+i,p.y)),p[t?"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,c=e.stacking.usePercentage?100:l(s,this.total,0),d=e.toPixels(c),p=t.xAxis||i.xAxis[0],u=l(o,p.translate(this.x))+r,g=Math.abs(d-e.toPixels(h||a(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),m=i.inverted,f=this.isNegative;return m?{x:(f?d:d-g)-i.plotLeft,y:p.height-u-n+p.top-i.plotTop,width:g,height:n}:{x:u+p.transB-i.plotLeft,y:(f?d-g:d)-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:c,destroyObjectProperties:d,fireEvent:p,isArray:u,isNumber:g,objectEach:m,pick:f}=o;function b(){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,f(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;m(e,((t,i)=>{d(t),delete e[i]})),t.stackTotalGroup?.destroy()}}function x(){this.stacking||(this.stacking=new A(this))}function v(t,e,i,s){return!c(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 w(){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"];a&&[s,"-"+s].forEach((i=>{let s,n,l,h=r.length;for(;h--;)s=r[h],t=e.getStackIndicator(t,s,e.index,i),n=o[i]?.[s],(l=n?.points[t.key||""])&&a.call(e,l,n,h)}))}function C(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 k(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,d,p,g,m=e||this.options.stacking;if(!m||!this.reserveSpace()||({group:"xAxis"}[m]||"yAxis")!==t.coll)return;let b=this.processedXData,y=this.processedYData,x=[],v=y.length,w=this.options,C=w.threshold||0,k=w.startFromThreshold?C:0,S=w.stack,A=e?`${this.type},${m}`:this.stackKey||"",M="-"+A,P=this.negStacks,T=t.stacking,E=T.stacks,L=T.oldStacks;for(T.stacksTouched+=1,d=0;d0&&!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"===m?(n=o?A:M,e=P&&E[n]?.[p]?(n=E[n][p]).total=Math.max(n.total||0,e)+Math.abs(g)||0:h(e+(Math.abs(g)||0))):"group"===m?(u(g)&&(g=g[0]),null!==g&&e++):e=h(e+(g||0)),r.cumulative="group"===m?(e||1)-1:h(f(r.cumulative,k)+(g||0)),r.total=e,null!==g&&(r.points[l].push(r.cumulative),x[d]=r.cumulative,r.hasValidPoints=!0)}"percent"===m&&(T.usePercentage=!0),"group"!==m&&(this.stackedYData=x),T.oldStacks={}}class A{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{m(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){m(this.stacks,(t=>{m(t,((e,i)=>{g(e.touched)&&e.touched{m(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",x),l(t,"destroy",y),s.getStacks=b,o.getStackIndicator=v,o.modifyStacks=w,o.percentStacker=C,o.setGroupedPoints=k,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",c=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"},c?a.dashstyle=c:"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,r=this,n=r.options,a=[],l=[],h=n.step,c=(t=t||r.points).reversed;return c&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&c&&(h=4-h),(t=this.getValidPoints(t,!1,!(n.connectNulls&&!e&&!i))).forEach((function(c,d){let p,u=c.plotX,g=c.plotY,m=t[d-1],f=c.isNull||"number"!=typeof g;(c.leftCliff||m&&m.rightCliff)&&!i&&(o=!0),f&&!s(e)&&d>0?o=!n.connectNulls:f&&!e?o=!0:(0===d||o?p=[["M",c.plotX,c.plotY]]:r.getPointSpline?p=[r.getPointSpline(t,c,d)]:h?(p=1===h?[["L",m.plotX,g]]:2===h?[["L",(m.plotX+u)/2,m.plotY],["L",(m.plotX+u)/2,g]]:[["L",u,m.plotY]]).push(["L",u,g]):p=[["L",u,g]],l.push(c.x),h&&(l.push(c.x),2===h&&l.push(c.x)),a.push.apply(a,p),o=!1)})),a.xMap=l,r.graphPath=a,a}}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,c=[],d=[],p=this.index,u=h.stacking.stacks[this.stackKey],g=n.threshold,m=Math.round(h.getThreshold(n.threshold)),f=a(n.connectNulls,"percent"===l),b=function(i,s,o){let r,n,a=t[i],f=l&&u[a.x].points[p],b=a[o+"Null"]||0,y=a[o+"Cliff"]||0,x=!0;y||b?(r=(b?f[0]:f[1])+y,n=f[0]+y,x=!!b):!l&&t[s]&&t[s].isNull&&(r=n=g),void 0!==r&&(d.push({plotX:e,plotY:null===r?m:h.getThreshold(r),isNull:x,isCliff:!0}),c.push({plotX:e,plotY:null===n?m:h.getThreshold(n),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let s=0,r=t.length;s1&&l&&d.some((t=>t.isCliff))&&(w.hasStackedCliffs=C.hasStackedCliffs=!0),w.xMap=y.xMap,this.areaPath=w,C}getStackPoints(t){let e=this,i=[],s=[],o=this.xAxis,r=this.yAxis,l=r.stacking.stacks[this.stackKey],h={},c=r.series,d=c.length,p=r.options.reversedStacks?1:-1,u=c.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible));s.forEach((function(t,n){let m,f,b=0;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=0&&ei&&r>h?(r=Math.max(i,h),a=2*h-r):rp&&a>h?(a=Math.max(p,h),r=2*h-a):a1){let o=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),r=0,n=0;x(this.xAxis.stacking?.stacks,(t=>{if("number"==typeof i.x){let e=t[i.x.toString()];if(e&&m(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?0:1),n=t.xAxis,a=t.yAxis,l=i.threshold,h=y(i.minPointLength,5),d=t.getColumnMetrics(),u=d.width,m=t.pointXOffset=d.offset,b=t.dataMin,x=t.dataMax,v=t.translatedThreshold=a.getThreshold(l),w=t.barW=Math.max(u,1+2*r);i.pointPadding&&(w=Math.ceil(w)),o.prototype.translate.apply(t),t.points.forEach((function(s){let o,r=y(s.yBottom,v),g=999+Math.abs(r),C=s.plotX||0,k=c(s.plotY,-g,a.len+g),S=Math.min(k,r),A=Math.max(k,r)-S,M=u,P=C+m,T=w;h&&Math.abs(A)h?r-h:v-(o?h:0)),p(s.options.pointWidth)&&(P-=Math.round(((M=T=Math.ceil(s.options.pointWidth))-u)/2)),i.centerInCategory&&!i.stacking&&(P=t.adjustForMissingColumns(P,M,s,d)),s.barX=P,s.pointWidth=M,s.tooltipPos=e.inverted?[c(a.len+a.pos-e.plotLeft-k,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),n.len+n.pos-e.plotTop-P-T/2,A]:[n.left-e.plotLeft+P+T/2,c(k+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),A],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(P,s.isNull?v:S,T,s.isNull?0:A)})),g(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i,s,o,r=this.options,n=this.pointAttrToOptions||{},a=n.stroke||"borderColor",h=n["stroke-width"]||"borderWidth",c=t&&t.color||this.color,d=t&&t[a]||r[a]||c,p=t&&t.options.dashStyle||r.dashStyle,u=t&&t[h]||r[h]||this[h]||0,g=y(t&&t.opacity,r.opacity,1);t&&this.zones.length&&(s=t.getZone(),c=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(d=s.borderColor||d,p=s.dashStyle||p,u=s.borderWidth||u)),e&&t&&(o=(i=b(r.states[e],t.options.states&&t.options.states[e]||{})).brightness,c=i.color||void 0!==o&&l(c).brighten(i.brightness).get()||c,d=i[a]||d,u=i[h]||u,p=i.dashStyle||p,g=y(i.opacity,g));let m={fill:c,stroke:d,"stroke-width":u,opacity:g};return p&&(m.dashstyle=p),m}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,c=l&&s.pointCountt?.enabled))}function i(t,e,i,s,o){let{chart:r,enabledDataSorting:l}=this,h=this.isCartesian&&r.inverted,c=t.plotX,p=t.plotY,g=i.rotation||0,m=n(c)&&n(p)&&r.isInsidePlot(c,Math.round(p),{inverted:h,paneCoordinates:!0,series:this}),f=0===g&&"justify"===u(i.overflow,l?"none":"justify"),b=this.visible&&!1!==t.visible&&n(c)&&(t.series.forceDL||l&&!f||m||u(i.inside,!!this.options.stacking)&&s&&r.isInsidePlot(c,h?s.x+1:s.y+s.height-1,{inverted:h,paneCoordinates:!0,series:this})),y=t.pos();if(b&&y){var x;let n=e.getBBox(),c=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}),x=s,l&&this.xAxis&&!f&&this.setDataLabelStartPos(t,e,o,m,x),e.align(d(i,{width:c.width,height:c.height}),!1,s,!1),e.alignAttr.x+=p*(c.width-n.width),e.alignAttr.y+=v*(c.height-n.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(n.width-c.width)/2,y:e.alignAttr.y+(n.height-c.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),f&&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;b=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),b||l&&!f?(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 f(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 b(t){let e;t=t||this.points;let i=this,s=i.chart,a=i.options,h=s.renderer,{backgroundColor:d,plotBackgroundColor:f}=s.options.chart,b=h.getContrast(c(f)&&f||c(d)&&d||"#000000"),y=v(i),{animation:w,defer:C}=y[0],k=C?o(s,w,i):{defer:0,duration:0};l(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(k),t.forEach((t=>{let o=t.dataLabels||[];m(x(y,t.dlOptions||t.options?.dataLabels)).forEach(((d,m)=>{let f,y,x,v,w,C=d.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="===e&&s>=o||"<="===e&&s<=o||"=="===e&&s==o||"==="===e&&s===o||"!="===e&&s!=o||"!=="===e&&s!==o}return!0}(t,d),{backgroundColor:k,borderColor:S,distance:A,style:M={}}=d,P={},T=o[m],E=!T;C&&(y=u(d[t.formatPrefix+"Format"],d.format),f=t.getLabelConfig(),x=n(y)?r(y,f,s):(d[t.formatPrefix+"Formatter"]||d.formatter).call(f,d),v=d.rotation,!s.styledMode&&(M.color=u(d.color,M.color,c(i.color)?i.color:void 0,"#000000"),"contrast"===M.color?("none"!==k&&(w=k),t.contrastColor=h.getContrast("auto"!==w&&w||t.color||i.color),M.color=w||!n(A)&&d.inside||0>g(A||0)||a.stacking?t.contrastColor:b):delete t.contrastColor,a.cursor&&(M.cursor=a.cursor)),P={r:d.borderRadius||0,rotation:v,padding:d.padding,zIndex:1},s.styledMode||(P.fill="auto"===k?t.color:k,P.stroke="auto"===S?t.color:S,P["stroke-width"]=d.borderWidth),p(P,((t,e)=>{void 0===t&&delete P[e]}))),!T||C&&n(x)&&!!T.div==!!d.useHTML&&(T.rotation&&d.rotation||T.rotation===d.rotation)||(T=void 0,E=!0),C&&n(x)&&(T?P.text=x:(T=h.label(x,0,0,d.shape,void 0,void 0,d.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":"")),T&&(T.options=d,T.attr(P),s.styledMode||T.css(M).shadow(d.shadow),l(T,"beforeAddingDataLabel",{labelOptions:d,point:t}),T.added||T.add(e),i.alignDataLabel(t,T,d,void 0,E),T.isActive=!0,o[m]&&o[m]!==T&&o[m].destroy(),o[m]=T))}));let d=o.length;for(;d--;)o[d]&&o[d].isActive?o[d].isActive=!1:(o[d]?.destroy(),o.splice(d,1));t.dataLabel=o[0],t.dataLabels=o}))),l(this,"afterDrawDataLabels")}function y(t,e,i,s,o,r){let n,a,l=this.chart,h=e.align,c=e.verticalAlign,d=t.box?0:t.padding||0,p=l.inverted?this.yAxis:this.xAxis,u=p?p.left-l.plotLeft:0,g=l.inverted?this.xAxis:this.yAxis,m=g?g.top-l.plotTop:0,{x:f=0,y:b=0}=e;return(n=(i.x||0)+d+u)<0&&("right"===h&&f>=0?(e.align="left",e.inside=!0):f-=n,a=!0),(n=(i.x||0)+s.width-d+u)>l.plotWidth&&("left"===h&&f<=0?(e.align="right",e.inside=!0):f+=l.plotWidth-n,a=!0),(n=i.y+d+m)<0&&("bottom"===c&&b>=0?(e.verticalAlign="top",e.inside=!0):b-=n,a=!0),(n=(i.y||0)+s.height-d+m)>l.plotHeight&&("top"===c&&b<=0?(e.verticalAlign="bottom",e.inside=!0):b+=l.plotHeight-n,a=!0),a&&(e.x=f,e.y=b,t.placed=!r,t.align(e,void 0,o)),a}function x(t,e){let i,s=[];if(h(t)&&!h(e))s=t.map((function(t){return d(t,e)}));else if(h(e)&&!h(t))s=e.map((function(e){return d(t,e)}));else if(h(t)||h(e)){if(h(t)&&h(e))for(i=Math.max(t.length,e.length);i--;)s[i]=d(t[i],e[i])}else s=d(t,e);return s}function v(t){let e=t.chart.options.plotOptions;return m(x(x(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function w(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,c=t.pointWidth,d=c?c/2:0;e.startXPos=n?o.x:l?-h-d:a.width-h+d,e.startYPos=n?l?this.yAxis.height-h+d:-h-d:o.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},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=f,o.initDataLabelsGroup=s,o.alignDataLabel=i,o.drawDataLabels=b,o.justifyDataLabel=y,o.setDataLabelStartPos=w,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,c=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,d=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=l(t.below,t.plotY>l(this.translatedThreshold,d)),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-d;t>0&&t {series.name}
    ',pointFormat:"x: {point.x}
    y: {point.y}
    "}}})),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=Math.max(0,(s[a]||0)-h),e=Math.min(l.len,(s[a]||0)+h);s[a]=t+(e-t)*function(t){let e=1e4*Math.sin(t);return e-Math.floor(e)}(o+n*i),"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,i,s,o=this.options,r=this.chart,c=2*(o.slicedOffset||0),d=r.plotWidth-2*c,p=r.plotHeight-2*c,u=o.center,g=Math.min(d,p),m=o.thickness,f=o.size,b=o.innerSize||0;"string"==typeof f&&(f=parseFloat(f)),"string"==typeof b&&(b=parseFloat(b));let y=[l(u[0],"50%"),l(u[1],"50%"),l(f&&f<0?void 0:o.size,"100%"),l(b&&b<0?void 0:o.innerSize||0,"0%")];for(!r.angular||this instanceof e||(y[3]=0),i=0;i<4;++i)s=y[i],t=i<2||2===i&&/%$/.test(s),y[i]=h(s,[d,p,g,y[2]][i])+(t?c:0);return y[3]>y[2]&&(y[3]=y[2]),a(m)&&2*m0&&(y[3]=y[2]-2*m),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,i){let{setAnimation:s}=t,{addEvent:o,defined:r,extend:n,isNumber:a,pick:l,relativeLength:h}=i;class c 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(c.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,c=l/2,{plotLeft:d,plotWidth:p}=r.chart,u="left"===t.alignment,{x:g,y:m}=t,f=s.x;if(i.crookDistance){let t=h(i.crookDistance,1);f=u?n+c+(p+d-n-c)*(1-t):d+(n-c)*t}else f=n+(a-m)*Math.tan((this.angle||0)-Math.PI/2);let b=[["M",g,m]];return(u?f<=g&&f>=s.x:f>=g&&f<=s.x)&&b.push(["L",f,m]),b.push(["L",s.x,s.y],["L",o.x,o.y]),b}}}),c})),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:c}=i,{clamp:d,extend:p,fireEvent:u,merge:g,pick:m}=l;class f 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:m(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(d((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,i,s,o,r,n,a,l=this.options,c=l.slicedOffset,d=h(l.startAngle,l.endAngle),p=this.startAngleRad=d.start,g=(this.endAngleRad=d.end)-p,m=this.points,f=l.ignoreHiddenPoint,b=m.length,y=0;for(t||(this.center=t=this.getCenter()),n=0;n1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(s)*c),translateY:Math.round(Math.sin(s)*c)},o=Math.cos(s)*t[2]/2,r=Math.sin(s)*t[2]/2,a.tooltipPos=[t[0]+.7*o,t[1]+.7*r],a.half=s<-Math.PI/2||s>Math.PI/2?1:0,a.angle=s}u(this,"afterTranslate")}updateTotals(){let t,e,i=this.points,s=i.length,o=this.options.ignoreHiddenPoint,r=0;for(t=0;t0&&(e.visible||!o)?e.y/r*100:0,e.total=r}}return f.defaultOptions=g(r.defaultOptions,o),p(f.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:c,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:c,trackerGroups:["group","dataLabelsGroup"]}),n.registerSeriesType("pie",f),f})),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:c,clamp:d,defined:p,pick:u,pushUnique:g,relativeLength:m}=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,r=0;return t.forEach((function(t){(o=t.dataLabel.getBBox().width)>r&&(r=o)})),e?r+s:i-r-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,c=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:l+n*e,y:h+a*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+n*c,y:h+a*c},touchingSliceAt:{x:l,y:h}},distance:e}}function o(){let t,e,i,s=this,o=s.points,r=s.chart,n=r.plotWidth,a=r.plotHeight,d=r.plotLeft,g=Math.round(r.chartWidth/3),f=s.center,b=f[2]/2,y=f[1],x=[[],[]],v=[0,0,0,0],w=s.dataLabelPositioners,C=0;s.visible&&s.hasDataLabels?.()&&(o.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),h.prototype.drawDataLabels.apply(s),o.forEach((t=>{(t.dataLabels||[]).forEach(((e,i)=>{let s=f[2]/2,o=e.options,r=m(o?.distance||0,s);0===i&&x[t.half].push(t),!p(o?.style?.width)&&e.getBBox().width>g&&(e.css({width:Math.round(.7*g)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,r),C=Math.max(C,r)}))})),x.forEach(((t,o)=>{let h,c,g,m=t.length,x=[],k=0;m&&(s.sortByAngle(t,o-.5),C>0&&(h=Math.max(0,y-b-C),c=Math.min(y+b+C,r.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((e=>{let i=e.dataLabelPosition;i&&i.distance>0&&(i.top=Math.max(0,y-b-i.distance),i.bottom=Math.min(y+b+i.distance,r.plotHeight),k=e.getBBox().height||21,e.lineHeight=r.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-i.top+e.lineHeight/2,size:k,rank:t.y},x.push(t.distributeBox))}))})),l(x,g=c+k-h,g/5)),t.forEach((r=>{(r.dataLabels||[]).forEach((l=>{let h=l.options||{},c=r.distributeBox,g=l.dataLabelPosition,m=g?.natural.y||0,y=h.connectorPadding||0,C=l.lineHeight||21,k=(C-l.getBBox().height)/2,S=0,A=m,M="inherit";if(g){if(x&&p(c)&&g.distance>0&&(void 0===c.pos?M="hidden":(i=c.size,A=w.radialDistributionY(r,l))),h.justify)S=w.justify(r,l,b,f);else switch(h.alignTo){case"connectors":S=w.alignToConnectors(t,o,n,d);break;case"plotEdges":S=w.alignToPlotEdges(l,o,n,d);break;default:S=w.radialDistributionX(s,r,A-k,m,l)}if(g.attribs={visibility:M,align:g.alignment},g.posAttribs={x:S+(h.x||0)+({left:y,right:-y}[g.alignment]||0),y:A+(h.y||0)-C/2},g.computed.x=S,g.computed.y=A-k,u(h.crop,!0)){let t;S-(e=l.getBBox().width)n-y&&0===o&&(t=Math.round(S+e-n+y),v[1]=Math.max(t,v[1])),A-i/2<0?v[0]=Math.max(Math.round(i/2-A),v[0]):A+i/2>a&&(v[2]=Math.max(Math.round(A+i/2-a),v[2])),g.sideOverflow=t}}}))})))})),(0===c(v)||this.verifyDataLabelOverflow(v))&&(this.placeDataLabels(),this.points.forEach((e=>{(e.dataLabels||[]).forEach((i=>{let{connectorColor:o,connectorWidth:n=1}=i.options||{},a=i.dataLabelPosition;if(n){let l;t=i.connector,a&&a.distance>0?(l=!t,t||(i.connector=t=r.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(s.dataLabelsGroup)),r.styledMode||t.attr({"stroke-width":n,stroke:o||e.color||"#666666"}),t[l?"attr":"animate"]({d:e.getConnectorPath(i)}),t.attr({visibility:a.attribs?.visibility})):t&&(i.connector=t.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 f(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=d(r,o,e[2]-Math.max(t[0],t[2])):(r=d(r,o,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),r(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))},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,o,r=i.length,n=!1;for(s=0,o=r-1;se!=h>e&&t<(l-r)*(e-a)/(h-a)+r&&(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,s,r,n,a,h=t.length,c=(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),d=(t,e)=>{for(let s of t)if(i({x:s[0],y:s[1]},e))return!0;return!1},p=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0)));for(let e=0;e{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))}}})),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,c={radius:0,scope:"stack",where:void 0},d=o,p=o;function u(t,e,i,s,o={}){let r=d(t,e,i,s,o),{innerR:n=0,r:a=i,start:l=0,end:c=0}=o;if(o.open||!o.borderRadius)return r;let p=c-l,u=Math.sin(p/2),g=Math.max(Math.min(h(o.borderRadius||0,a-n),(a-n)/2,a*u/(1+u)),0),m=Math.min(g,p/Math.PI*2*n),f=r.length-1;for(;f--;)!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]?"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,o=n):(s=n,o=a,r=!0),s&&o&&o.params){let n=o[1],a=o[5],l=o.params,{start:h,end:c,cx:d,cy:p}=l,u=a?n-i:n+i,g=u?Math.asin(i/u):0,m=a?g:-g,f=Math.cos(g)*u;r?(l.start=h+m,s[1]=d+f*Math.cos(h),s[2]=p+f*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,d+n*Math.cos(l.start),p+n*Math.sin(l.start)])):(l.end=c-m,o[6]=d+n*Math.cos(l.end),o[7]=p+n*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,d+f*Math.cos(c),p+f*Math.sin(c)])),o[4]=Math.abs(l.end-l.start)1?m:g);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=m(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:c=0,y:d=0}=o,p=d,u=c;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,m=r.where;!m&&this.is("waterfall")&&Math.abs((s.yBottom||0)-(this.translatedThreshold||0))>this.borderWidth&&(m="all"),m||(m="end");let f=Math.min(h(r.radius,a),a/2,"all"===m?c/2:1/0)||0;"end"===m&&(g&&(p-=f),u+=f),n(o,{brBoxHeight:u,brBoxY:p,r:f})}}}}function m(t,e){return a(t)||(t={radius:t||0}),l(c,e,t)}function f(){let t=m(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 b(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,c=l+a-(e+s),d=h-n>-.1?0:n,u=c-n>-.1?0:n,g=Math.max(d&&h,0),m=Math.max(u&&c,0),f=[t+d,e],b=[t+i-d,e],y=[t+i,e+d],x=[t+i,e+s-u],v=[t+i-u,e+s],w=[t+u,e+s],C=[t,e+s-u],k=[t,e+d],S=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=S(d,d-g);f[0]-=t,b[0]+=t,y[1]=k[1]=e+d-g}if(s=n(i.minWidth,0)&&this.chartHeight>=n(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s,n=this.options.responsive,l=this.currentResponsive,h=[];!e&&n&&n.rules&&n.rules.forEach((t=>{void 0===t._id&&(t._id=a()),this.matchResponsiveRule(t,h)}),this);let c=r(...h.map((t=>o((n||{}).rules||[],(e=>e._id===t)))).map((t=>t&&t.chartOptions)));c.isResponsiveOptions=!0,h=h.toString()||void 0;let d=l&&l.ruleIds;h===d||(l&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(l.undoOptions,t,!0),this.updatingResponsive=!1),h?((s=i(c,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:h,mergedOptions:c,undoOptions:s},this.updatingResponsive||this.update(c,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/BorderRadius.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,c,d,p,u,g,m,f,b,y,x,v,w,C,k,S,A,M,P,T,E,L,D,O,j,N,I){return t.AST=r,t.Axis=p,t.Chart=C,t.Color=N,t.DataLabel=L,t.Fx=s,t.HTMLElement=d,t.Legend=v,t.LegendSymbol=w,t.OverlappingDataLabels=t.OverlappingDataLabels||D,t.PlotLineOrBand=m,t.Point=y,t.Pointer=x,t.RendererRegistry=a,t.Series=M,t.SeriesRegistry=P,t.StackItem=A,t.SVGElement=h,t.SVGRenderer=c,t.Templating=n,t.Tick=f,t.Time=I,t.Tooltip=b,t.animate=o.animate,t.animObject=o.animObject,t.chart=C.chart,t.color=N.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=P.seriesType,t.setAnimation=o.setAnimation,t.setOptions=i.setOptions,t.stop=o.stop,t.time=i.defaultTime,t.timers=s.timers,O.compose(t.Series,t.SVGElement,t.SVGRenderer),T.compose(t.Series.types.column),L.compose(t.Series),u.compose(t.Axis),d.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),D.compose(t.Chart),E.compose(t.Series.types.pie),m.compose(t.Axis),x.compose(t.Chart),j.compose(t.Chart),k.compose(t.Axis,t.Chart,t.Series),S.compose(t.Axis,t.Chart,t.Series),b.compose(t.Pointer),e.extend(t,e),t})),e["masters/highcharts.src.js"]._modules=e,e["masters/highcharts.src.js"]}))}(Ht);var Xt=jt(Ht.exports);function Gt(t,e,i){const s=t.slice();return s[7]=e[i],s[9]=i,s}function Yt(t){let e,i,s;return i=new bt({props:{question:t[7]}}),i.$on("answer",t[3]),{c(){e=f("div"),it(i.$$.fragment),w(e,"class","d-flex justify-content-center p-3")},m(t,o){u(t,e,o),st(i,e,null),s=!0},p(t,e){const s={};4&e&&(s.question=t[7]),i.$set(s)},i(t){s||(Z(i.$$.fragment,t),s=!0)},o(t){J(i.$$.fragment,t),s=!1},d(t){t&&g(e),ot(i)}}}function Wt(t){let e,i,s=t[0]===t[9]&&Yt(t);return{c(){s&&s.c(),e=x()},m(t,o){s&&s.m(t,o),u(t,e,o),i=!0},p(t,i){t[0]===t[9]?s?(s.p(t,i),1&i&&Z(s,1)):(s=Yt(t),s.c(),Z(s,1),s.m(e.parentNode,e)):s&&(_(),J(s,1,1,(()=>{s=null})),K())},i(t){i||(Z(s),i=!0)},o(t){J(s),i=!1},d(t){t&&g(e),s&&s.d(t)}}}function Ut(t){let e,i,s;return i=new Ct({props:{question:t[2][t[0]-1],response:t[1][t[0]-1]}}),{c(){e=f("div"),it(i.$$.fragment),w(e,"class","col d-flex justify-content-center")},m(t,o){u(t,e,o),st(i,e,null),s=!0},p(t,e){const s={};5&e&&(s.question=t[2][t[0]-1]),3&e&&(s.response=t[1][t[0]-1]),i.$set(s)},i(t){s||(Z(i.$$.fragment,t),s=!0)},o(t){J(i.$$.fragment,t),s=!1},d(t){t&&g(e),ot(i)}}}function $t(t){let e,i,s,o,r,n,a;e=new Dt({});let l=Q(t[2]),h=[];for(let e=0;eJ(h[t],1,1,(()=>{h[t]=null}));let d=t[0]>0&&Ut(t);return{c(){it(e.$$.fragment),i=y(),s=f("main");for(let t=0;t',n=y(),d&&d.c(),w(r,"class","highcharts-figure d-flex justify-content-center")},m(t,l){st(e,t,l),u(t,i,l),u(t,s,l);for(let t=0;t0?d?(d.p(t,e),1&e&&Z(d,1)):(d=Ut(t),d.c(),Z(d,1),d.m(s,null)):d&&(_(),J(d,1,1,(()=>{d=null})),K())},i(t){if(!a){Z(e.$$.fragment,t);for(let t=0;ti(0,s=t))),l(t,pt,(t=>i(1,o=t))),l(t,dt,(t=>i(2,r=t)));let n={};return D((()=>{var t;t=function(){let t=[];for(var e=55;e<=95;e+=10){var i=0,s=0;o.forEach((t=>{t.confidence===e&&(i+=1,s+=t.correct?1:0)})),t.push({x:e,high:e,low:0===i?e:s/i*100,y:i,total:i})}return t}(),n.series[0].setData(t),n.series[3].setData(t)})),L((async()=>{fetch("questions.json").then((t=>t.json())).then((t=>{dt.set(t.map((t=>{var[e,i]=Object.keys(t.options);return t.k1=e,t.k2=i,t.o1=t.options[e],t.o2=t.options[i],t})).map((t=>({value:t,sort:Math.random()}))).sort(((t,e)=>t.sort-e.sort)).map((({value:t})=>t)))})).catch((t=>(console.log(t),[]))),n=Xt.chart("container",{chart:{type:"areasplinerange",zoomType:"x",alignTicks:!1,sytle:{display:"block; overflow-y: hidden;"}},plotOptions:{series:{states:{hover:{enabled:!1}}}},credits:{enabled:!1},title:{text:""},xAxis:{type:"linear",tickPositions:[55,65,75,85,95],labels:{style:{color:"#"}},title:{text:"reported confidence"}},yAxis:[{min:55,max:95,labels:{style:{color:"#"}},title:{text:"% correct"}},{min:0,max:20,title:null,opposite:!0,lineWidth:0,minorGridLineWidth:0,gridLineColor:"transparent",labels:{enabled:!1}}],tooltip:{crosshairs:!0,shared:!0,style:{color:"#"},formatter(){var t;if(this.points.forEach((function(e){"confidence"===e.series.name&&(t=e.point)})),t){var e=t.high-t.low;return t.total&&0!==t.total?0===e?"perfectly confident!":(e>0?"over":"under")+"confident by "+Math.round(Math.abs(t.high-t.low))+" % points
    ":"no answers"}}},legend:{enabled:!1,itemStyle:{fontSize:"10px",fontWeight:"normal"}},series:[{marker:{enabled:!1},name:"confidence",fillOpacity:.1,showInLegend:!1,data:[[55,55,55],[65,65,65],[75,75,75],[85,85,85],[95,95,95]]},{name:"underconfident",fillOpacity:.2,color:"#ADD8E6",data:[[55,55,100],[65,65,100],[75,75,100],[85,85,100],[95,95,100]]},{name:"overconfident",fillOpacity:.2,color:"#FF9900",data:[[55,0,55],[65,0,65],[75,0,75],[85,0,85],[95,0,95]]},{name:"#answers",type:"spline",yAxis:1,data:[],tooltip:{valueSuffix:" mm"},marker:{enabled:!1},dashStyle:"shortdot"}]})})),[s,o,r,function(t){o.push({response:t.detail.answer,confidence:t.detail.confidence,fact:t.detail.fact,correct:t.detail.fact===t.detail.answer,hinted:t.detail.hinted}),c(ut,s++,s)}]}Ft(Xt),Rt(Xt);class Vt extends nt{constructor(t){super(),rt(this,t,qt,$t,n,{})}}function _t(e){let i,s;return{c(){i=f("div"),s=b(e[0]),k(i,"top",e[2]+5+"px"),k(i,"left",e[1]+5+"px"),w(i,"class","svelte-ibamk9")},m(t,e){u(t,i,e),p(i,s)},p(t,[e]){1&e&&C(s,t[0]),4&e&&k(i,"top",t[2]+5+"px"),2&e&&k(i,"left",t[1]+5+"px")},i:t,o:t,d(t){t&&g(i)}}}function Kt(t,e,i){let{title:s}=e,{x:o}=e,{y:r}=e;return t.$$set=t=>{"title"in t&&i(0,s=t.title),"x"in t&&i(1,o=t.x),"y"in t&&i(2,r=t.y)},[s,o,r]}class Zt extends nt{constructor(t){super(),rt(this,t,Kt,_t,n,{title:0,x:1,y:2})}}function Jt(t){let e,i;function s(s){e=t.getAttribute("title"),t.removeAttribute("title"),i=new Zt({props:{title:e,x:s.pageX,y:s.pageY},target:document.body})}function o(t){i.$set({x:t.pageX,y:t.pageY})}function r(){i.$destroy(),t.setAttribute("title",e)}return t.addEventListener("mouseover",s),t.addEventListener("mouseleave",r),t.addEventListener("mousemove",o),{destroy(){t.removeEventListener("mouseover",s),t.removeEventListener("mouseleave",r),t.removeEventListener("mousemove",o)}}}function Qt(e){let i,s,o,r;return{c(){i=f("sup"),s=b(e[1]),w(i,"title",e[0].id)},m(t,e){u(t,i,e),p(i,s),o||(r=d(Jt.call(null,i)),o=!0)},p:t,i:t,o:t,d(t){t&&g(i),o=!1,r()}}}function te(t,e,i){let s;l(t,gt,(t=>i(3,s=t)));let{id:o=""}=e;const r=s.find((t=>t.id===o)),n=s.indexOf(r)+1;return t.$$set=t=>{"id"in t&&i(2,o=t.id)},[r,n,o]}class ee extends nt{constructor(t){super(),rt(this,t,te,Qt,n,{id:2})}}function ie(t,e,i){const s=t.slice();return s[1]=e[i],s}function se(t){let e,i,s=t[1].text+"";return{c(){e=f("div"),w(e,"class","csl-entry svelte-cxj045"),w(e,"id",i=t[1].id)},m(t,i){u(t,e,i),e.innerHTML=s},p(t,o){1&o&&s!==(s=t[1].text+"")&&(e.innerHTML=s),1&o&&i!==(i=t[1].id)&&w(e,"id",i)},d(t){t&&g(e)}}}function oe(t){let e,i,s,r,n,a,l,h,c,x,v,C,k,S,A,M,P,T,E,L,D,O,j,N,I,B,R,z,F,H,X,G,Y,W,U,$,q,V,_,K,tt,et,rt,nt,at,lt,ht,ct,dt,pt,ut,gt,mt,ft,bt,yt,xt,vt,wt,Ct,kt,St,At,Mt,Pt,Tt,Et,Lt,Ot,jt,Nt,It,Bt,Rt,zt,Ft,Ht,Xt,Gt,Yt,Wt,Ut,$t,qt,Vt,_t,Kt,Zt,Qt,te,oe,re,ne,ae,le,he,ce,de,pe,ue,ge,me,fe,be,ye,xe,ve,we,Ce,ke,Se,Ae,Me,Pe,Te,Ee,Le,De,Oe,je,Ne,Ie,Be,Re,ze,Fe,He,Xe,Ge,Ye,We,Ue,$e,qe,Ve,_e,Ke,Ze,Je,Qe,ti,ei,ii,si,oi,ri,ni,ai,li,hi,ci,di,pi,ui,gi,mi,fi,bi;e=new Dt({}),P=new ee({props:{id:"AlpertRaffia1982"}}),E=new ee({props:{id:"LichtensteinEtAl1982"}}),N=new ee({props:{id:"Wilson1994"}}),H=new ee({props:{id:"LichtensteinEtAl1982"}}),U=new ee({props:{id:"Silver2012"}}),tt=new ee({props:{id:"Plous1993"}}),pt=new ee({props:{id:"RadzevickMoore2009"}}),xt=new ee({props:{id:"Kahneman2011"}}),Tt=new ee({props:{id:"Marx2013"}}),Lt=new ee({props:{id:"Plous1993"}}),jt=new ee({props:{id:"Knight1921"}}),Yt=new ee({props:{id:"Jeffery2002"}}),Ut=new ee({props:{id:"LichtensteinFischhoff1978"}}),qt=new ee({props:{id:"GunzelmannGluck2004"}}),_t=new ee({props:{id:"Gill2005"}}),Zt=new ee({props:{id:"LindeyEtAl1979"}}),de=new ee({props:{id:"McIntyre2007"}}),ge=new ee({props:{id:"Hubbard2010"}}),be=new ee({props:{id:"LichtensteinEtAl1982"}}),Ce=new ee({props:{id:"Plous1993"}}),Te=new ee({props:{id:"Hubbard2010"}}),Ie=new ee({props:{id:"KassinFong1999"}}),Re=new ee({props:{id:"Oskamp1965"}}),Ge=new ee({props:{id:"LichtensteinEtAl1982"}}),ci=new ee({props:{id:"Plous1993"}});let yi=Q(t[0]),xi=[];for(let e=0;eThe Goonies, the answer would probably be wrong, not through personal faults, but because the question tests exact domain knowledge. Rephrasing the question:\n ",h=f("blockquote"),h.innerHTML='

    “What are your high and low estimates for the gross domestic earnings of the The Goonies? What interval estimate of confidence would you give this range?”

    ',c=b("\n\n The answer might be:\n "),x=f("blockquote"),v=f("p"),C=b("“Between $100,000 to $100,000,000, inclusive, with 90% confidence.”"),k=f("sup"),k.textContent="[note]",S=y(),A=f("p"),M=b("Given enough data points in a sufficiently ideal world, the estimated confidence interval would match observed accuracy. In other words, the range estimates given with 90% confidence should be correct 90% of the time"),it(P.$$.fragment),T=b(". This changes the exercise from a measurement of trivia knowledge to a measurement of ability to gauge uncertainty. However, that's rarely the case and we habitually estimate with overconfidence. What we know is about 10-35 percentage points less than what we think we know"),it(E.$$.fragment),L=b("."),D=y(),O=f("p"),j=b("Researchers have explored the limits and prejudices of probability estimates, and have a few theories on potential causes"),it(N.$$.fragment),I=b(".\n "),B=f("ul"),R=f("li"),z=f("a"),z.textContent="Anchoring",F=b(": the wording and structure of the questions can decrease epistemic accuracy by up to 53 percentage points"),it(H.$$.fragment),X=b("."),G=y(),Y=f("li"),W=b("Pattern-seeking habits of humans create the illusion of signal where there is only noisy data"),it(U.$$.fragment),$=b("."),q=y(),V=f("li"),_=f("a"),_.textContent="Prospect theory",K=b(": small probabilities are overweighed, especially when attached to high-consequence events"),it(tt.$$.fragment),et=b("."),rt=y(),nt=f("li"),nt.innerHTML='Our educational training emphasizes algebra and calculus as the end goals, not probability and statistics.',at=y(),lt=f("li"),lt.innerHTML='We ignore prior probabilities.',ht=y(),ct=f("li"),dt=b("Many social and professional systems reward overconfidence"),it(pt.$$.fragment),ut=b("."),gt=y(),mt=f("li"),ft=b("In situations determined primarily by chance, we often build narratives"),bt=f("sup"),bt.textContent="[note]",yt=b(" to coherently explain the events, giving the illusion of control"),it(xt.$$.fragment),vt=b(". E.g., market fluctuations due to labor reports, portfolio performance due to investment strategies or combat effectiveness predicted by training exercises"),wt=f("sup"),wt.textContent="[note]",Ct=b("."),kt=y(),St=f("p"),At=b("These biases are to estimation as "),Mt=f("a"),Mt.textContent="optical illusions",Pt=b(" are to psychometrics, where a simple change of the problem context causes a predictable change in the perceived reality. In general, humans have a very troubled relationship with uncertainty. We don't understand it instinctually, we don't communicate it well"),it(Tt.$$.fragment),Et=b(" and we're willing to pay "),it(Lt.$$.fragment),Ot=f("sup"),Ot.textContent=",",it(jt.$$.fragment),Nt=b(" to avoid it."),It=y(),Bt=f("p"),Rt=b("Even if we don't live in a region with legalized gambling or work in a forecasting profession, everyday failures of estimation hurt our quality of life, whether due to inaccurate project estimates, poor investments or being late to the next appointment. We make decisions based on uncertainty and imperfect knowledge, knowing much less than we think we know. As far as ubiquitous problems of human existence, it's right up there with communicable disease"),zt=f("sup"),zt.textContent="[note]",Ft=b("."),Ht=y(),Xt=f("p"),Gt=b("More importantly, inability to accurately estimate closes the door to powerful tools of probabilistic thinking"),it(Yt.$$.fragment),Wt=b(". With accurate prior probabilities, Bayesian prediction avoids the nuances of frequentist statistics, while allowing our mental model to adapt as the facts change. It's something which the Army"),it(Ut.$$.fragment),$t=b(" and Air Force"),it(qt.$$.fragment),Vt=b(" train, and M.D.s understand through years of experience"),it(_t.$$.fragment),Kt=f("sup"),Kt.textContent=",",it(Zt.$$.fragment),Qt=b(". Along with the "),te=f("a"),te.textContent="distance-rate-time",oe=b(" equation, "),re=f("a"),re.textContent="time-value",ne=b(" equation and "),ae=f("a"),ae.textContent="logical equalities",le=b(", "),he=f("a"),he.textContent="Bayes' Theorem",ce=b(" is one of the those unreasonably effective structures of math, which internalizing will vastly improve our thinking"),it(de.$$.fragment),pe=b("."),ue=b("\n\n Overconfidence follows a predictable pattern. Overconfidence is common for difficult assessments (although slightly less for true/false tests"),it(ge.$$.fragment),me=f("sup"),me.textContent="(p64.)",fe=b("). In some cases, very easy questions inspire underconfidence"),it(be.$$.fragment),ye=b(". Two simple calibration techniques can help to correct this:\n "),xe=f("ul"),ve=f("li"),we=b("Consider the reasons why the judgment might be wrong "),it(Ce.$$.fragment),ke=f("sup"),ke.textContent="(p228.)",Se=b("."),Ae=y(),Me=f("li"),Pe=b("Range estimates can reduce the anchoring effect of a point estimate, particularly by working towards a narrow range from an absurdly large range"),it(Te.$$.fragment),Ee=f("sup"),Ee.textContent="(p64-5.)",Le=b("."),De=b("\n Things that don't fix overconfidence:\n "),Oe=f("ul"),je=f("li"),Ne=b("More information. Paradoxically, providing more information to the problem increases one's confidence in the answer, but not accuracy"),it(Ie.$$.fragment),Be=f("sup"),Be.textContent=", ",it(Re.$$.fragment),ze=b("."),Fe=y(),He=f("p"),Xe=b("Most importantly, feedback and iterative practice allow us to improve our estimation techniques"),it(Ge.$$.fragment),Ye=b(". That's where this project comes in. The page will give instant feedback on your progress. When choosing your confidence level, 95% confidence indicates almost certainty of the correct answer. 55% is almost a toss-up. The line on the chart shows perfect confidence calibration. Anything above the line is underconfidence (e.g., we thought we'd be correct 75% of the time, but actually we were correct more often). Anything below the line is overconfidence."),We=y(),Ue=f("p"),Ue.innerHTML='probability distribution',$e=y(),qe=f("a"),qe.textContent="Start Guessing",Ve=y(),_e=f("p"),_e.textContent="The more questions have been answered, the more reliable the results will be.",Ke=y(),Ze=f("h4"),Ze.textContent="Prior (mostly defunct) Examples",Je=y(),Qe=f("ul"),ti=f("li"),ti.innerHTML='A list of them.',ei=y(),ii=f("li"),ii.innerHTML='An automated quiz that produces a nifty graph.',si=y(),oi=f("li"),ri=b("A "),ni=f("a"),ni.textContent="range estimate quiz",ai=b(" reproduced from "),li=f("a"),li.innerHTML="Decision Traps",hi=b(", and also in Plous's book"),it(ci.$$.fragment),di=b("."),pi=y(),ui=f("h4"),ui.textContent="Sources",gi=y();for(let t=0;ti(0,s=t))),[s]}class ne extends nt{constructor(t){super(),rt(this,t,re,oe,n,{})}}function ae(t){let i,s,o;const r=[t[2]];var n=t[0];function a(t,i){let s={};for(let t=0;t{ot(t,1)})),K()}n?(i=M(n,a(t,e)),i.$on("routeEvent",t[7]),it(i.$$.fragment),Z(i.$$.fragment,1),st(i,s.parentNode,s)):i=null}else if(n){const s=4&e?tt(r,[et(t[2])]):{};i.$set(s)}},i(t){o||(i&&Z(i.$$.fragment,t),o=!0)},o(t){i&&J(i.$$.fragment,t),o=!1},d(t){t&&g(s),i&&ot(i,t)}}}function le(t){let i,s,o;const r=[{params:t[1]},t[2]];var n=t[0];function a(t,i){let s={};for(let t=0;t{ot(t,1)})),K()}n?(i=M(n,a(t,e)),i.$on("routeEvent",t[6]),it(i.$$.fragment),Z(i.$$.fragment,1),st(i,s.parentNode,s)):i=null}else if(n){const s=6&e?tt(r,[2&e&&{params:t[1]},4&e&&et(t[2])]):{};i.$set(s)}},i(t){o||(i&&Z(i.$$.fragment,t),o=!0)},o(t){i&&J(i.$$.fragment,t),o=!1},d(t){t&&g(s),i&&ot(i,t)}}}function he(t){let e,i,s,o;const r=[le,ae],n=[];function a(t,e){return t[1]?0:1}return e=a(t),i=n[e]=r[e](t),{c(){i.c(),s=x()},m(t,i){n[e].m(t,i),u(t,s,i),o=!0},p(t,[o]){let l=e;e=a(t),e===l?n[e].p(t,o):(_(),J(n[l],1,1,(()=>{n[l]=null})),K(),i=n[e],i?i.p(t,o):(i=n[e]=r[e](t),i.c()),Z(i,1),i.m(s.parentNode,s))},i(t){o||(Z(i),o=!0)},o(t){J(i),o=!1},d(t){t&&g(s),n[e].d(t)}}}function ce(){const t=window.location.href.indexOf("#/");let e=t>-1?window.location.href.substr(t+1):"/";const i=e.indexOf("?");let s="";return i>-1&&(s=e.substr(i+1),e=e.substr(0,i)),{location:e,querystring:s}}const de=lt(null,(function(t){t(ce());const e=()=>{t(ce())};return window.addEventListener("hashchange",e,!1),function(){window.removeEventListener("hashchange",e,!1)}}));ct(de,(t=>t.location)),ct(de,(t=>t.querystring));const pe=ht(void 0);function ue(t,e,i){let{routes:s={}}=e,{prefix:o=""}=e,{restoreScrollState:r=!1}=e;class n{constructor(t,e){if(!e||"function"!=typeof e&&("object"!=typeof e||!0!==e._sveltesparouter))throw Error("Invalid component object");if(!t||"string"==typeof t&&(t.length<1||"/"!=t.charAt(0)&&"*"!=t.charAt(0))||"object"==typeof t&&!(t instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:i,keys:s}=function(t,e){if(t instanceof RegExp)return{keys:!1,pattern:t};var i,s,o,r,n=[],a="",l=t.split("/");for(l[0]||l.shift();o=l.shift();)"*"===(i=o[0])?(n.push("wild"),a+="/(.*)"):":"===i?(s=o.indexOf("?",1),r=o.indexOf(".",1),n.push(o.substring(1,~s?s:~r?r:o.length)),a+=~s&&!~r?"(?:/([^/]+?))?":"/([^/]+?)",~r&&(a+=(~s?"?":"")+"\\"+o.substring(r))):a+="/"+o;return{keys:n,pattern:new RegExp("^"+a+(e?"(?=$|/)":"/?$"),"i")}}(t);this.path=t,"object"==typeof e&&!0===e._sveltesparouter?(this.component=e.component,this.conditions=e.conditions||[],this.userData=e.userData,this.props=e.props||{}):(this.component=()=>Promise.resolve(e),this.conditions=[],this.props={}),this._pattern=i,this._keys=s}match(t){if(o)if("string"==typeof o){if(!t.startsWith(o))return null;t=t.substr(o.length)||"/"}else if(o instanceof RegExp){const e=t.match(o);if(!e||!e[0])return null;t=t.substr(e[0].length)||"/"}const e=this._pattern.exec(t);if(null===e)return null;if(!1===this._keys)return e;const i={};let s=0;for(;s{a.push(new n(e,t))})):Object.keys(s).forEach((t=>{a.push(new n(t,s[t]))}));let l=null,h=null,c={};const d=j();async function p(t,e){await(X(),F),d(t,e)}let u=null,g=null;r&&(g=t=>{u=t.state&&(t.state.__svelte_spa_router_scrollY||t.state.__svelte_spa_router_scrollX)?t.state:null},window.addEventListener("popstate",g),D((()=>{var t;(t=u)?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)})));let m=null,f=null;const b=de.subscribe((async t=>{m=t;let e=0;for(;e{pe.set(h)}))}i(0,l=null),f=null,pe.set(void 0)}));return O((()=>{b(),g&&window.removeEventListener("popstate",g)})),t.$$set=t=>{"routes"in t&&i(3,s=t.routes),"prefix"in t&&i(4,o=t.prefix),"restoreScrollState"in t&&i(5,r=t.restoreScrollState)},t.$$.update=()=>{32&t.$$.dirty&&(history.scrollRestoration=r?"manual":"auto")},[l,h,c,s,o,r,function(e){N.call(this,t,e)},function(e){N.call(this,t,e)}]}class ge extends nt{constructor(t){super(),rt(this,t,ue,he,n,{routes:3,prefix:4,restoreScrollState:5})}}function me(e){let i,s,o,r,n,a,l,h;return l=new ge({props:{routes:e[0]}}),{c(){i=f("html"),s=f("link"),o=f("link"),r=f("link"),n=f("link"),a=y(),it(l.$$.fragment),document.title="A tool for calibrated probability estimation",w(i,"lang","en"),w(s,"href","https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"),w(s,"rel","stylesheet"),w(s,"integrity","sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"),w(s,"crossorigin","anonymous"),w(o,"href","https://code.highcharts.com/css/highcharts.css"),w(o,"rel","stylesheet"),w(r,"href","build/bundle.css"),w(r,"rel","stylesheet"),w(n,"href","global.css"),w(n,"rel","stylesheet")},m(t,e){p(document.head,i),p(document.head,s),p(document.head,o),p(document.head,r),p(document.head,n),u(t,a,e),st(l,t,e),h=!0},p:t,i(t){h||(Z(l.$$.fragment,t),h=!0)},o(t){J(l.$$.fragment,t),h=!1},d(t){t&&g(a),g(i),g(s),g(o),g(r),g(n),ot(l,t)}}}function fe(t){return[{"/":Vt,"/about/":ne}]}return new class extends nt{constructor(t){super(),rt(this,t,fe,me,n,{})}}({target:document.body})}(); +var app=function(){"use strict";"undefined"!=typeof window&&(window.__svelte||={v:new Set}).v.add("5");const t=1,e=2,i=4,s=8,r=16,o=1,n=2,a=4,l=8,h=16,c=Symbol(),d=!0;var p=Array.isArray,u=Array.from,g=Object.defineProperty,f=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors,b=Object.prototype,y=Array.prototype,x=Object.getPrototypeOf;function v(t){return"function"==typeof t}const w=()=>{};function k(t){return t()}function C(t){for(var e=0;e{t(),s.ran||(s.ran=!0,$(i.l.r2,!0),ue(e))}))}function dt(){var t=Zt;pt((()=>{if(pe(t.l.r2)){for(var e of t.l.r1){var i=e.effect;i.f&O&&fe(i,N),te(i)&&re(i),e.ran=!1}t.l.r2.v=!1}}))}function pt(t){return nt(M,t,!0)}function ut(t){return gt(t)}function gt(t,e=0){return nt(M|P|e,t,!0)}function ft(t,e=!0){return nt(M|T,t,!0,e)}function mt(t){var e=t.teardown;if(null!==e){const t=Bt,i=Xt;zt(!0),Gt(null);try{e.call(null)}finally{zt(t),Gt(i)}}}function bt(t){var e=t.deriveds;if(null!==e){t.deriveds=null;for(var i=0;i{xt(t),e&&e()}))}function kt(t,e){var i=t.length;if(i>0){var s=()=>--i||e();for(var r of t)r.out(s)}else e()}function Ct(t,e,i){if(!(t.f&I)){if(t.f^=I,null!==t.transitions)for(const s of t.transitions)(s.is_global||i)&&e.push(s);for(var s=t.first;null!==s;){var r=s.next;Ct(s,e,!!(!!(s.f&z)||!!(s.f&T))&&i),s=r}}}function St(t){At(t,!0)}function At(t,e){if(t.f&I){t.f^=I,te(t)&&re(t);for(var i=t.first;null!==i;){var s=i.next;At(i,!!(!!(i.f&z)||!!(i.f&T))&&e),i=s}if(null!==t.transitions)for(const i of t.transitions)(i.is_global||e)&&i.in()}}let Mt=!1,Pt=[];function Tt(){Mt=!1;const t=Pt.slice();Pt=[],C(t)}function Et(t){Mt||(Mt=!0,queueMicrotask(Tt)),Pt.push(t)}function Lt(t){throw new Error("lifecycle_outside_component")}const Dt=0,Ot=1;let jt=Dt,Nt=!1,It=!1,Bt=!1;function Rt(t){It=t}function zt(t){Bt=t}let Ft=[],Ht=0,Xt=null;function Gt(t){Xt=t}let Wt=null;function Yt(t){Wt=t}let Ut=null;let qt=null,Vt=0,_t=null;let Kt=0,$t=!1,Zt=null;function Jt(){return++Kt}function Qt(){return null!==Zt&&null===Zt.l}function te(t){var e=t.f;if(e&j)return!0;if(e&N){var i=t.deps,s=!!(e&L);if(null!==i){var r;if(e&D){for(r=0;rt.version)return!0}}s||fe(t,O)}return!1}function ee(t){var e=qt,i=Vt,s=_t,r=Xt,o=$t,n=Ut,a=t.f;qt=null,Vt=0,_t=null,Xt=a&(T|E)?null:t,$t=!It&&!!(a&L),Ut=null;try{var l=(0,t.fn)(),h=t.deps;if(null!==qt){var c;if(se(t,Vt),null!==h&&Vt>0)for(h.length=Vt+qt.length,c=0;c1e3&&(Ht=0,function(){throw new Error("effect_update_depth_exceeded")}()),Ht++}function ne(t){var e=t.length;if(0!==e){oe();var i=It;It=!0;try{for(var s=0;s1001)return;const t=Ft;Ft=[],ne(t),Nt||(Ht=0)}function he(t){jt===Dt&&(Nt||(Nt=!0,queueMicrotask(le)));for(var e=t;null!==e.parent;){var i=(e=e.parent).f;if(i&(E|T)){if(!(i&O))return;e.f^=O}}Ft.push(e)}function ce(t,e){var i=t.first,s=[];t:for(;null!==i;){var r=i.f,o=!!(r&T);if(!(o&&!!(r&O)||r&I))if(r&M){o?i.f^=O:te(i)&&re(i);var n=i.first;if(null!==n){i=n;continue}}else r&A&&s.push(i);var a=i.next;if(null===a){let e=i.parent;for(;null!==e;){if(t===e)break t;var l=e.next;if(null!==l){i=l;continue t}e=e.parent}}i=a}for(var h=0;h0||e.length>0)&&de(),Ht=0,s}finally{jt=e,Ft=i}}function pe(t){var e=t.f,i=!!(e&S);if(i&&e&B){var s=it(t);return rt(t),s}if(null!==Xt){null!==Ut&&Ut.includes(t)&&function(){throw new Error("state_unsafe_local_read")}();var r=Xt.deps;null===qt&&null!==r&&r[Vt]===t?Vt++:null===qt?qt=[t]:qt.push(t),null!==_t&&null!==Wt&&Wt.f&O&&!(Wt.f&T)&&_t.includes(t)&&(fe(Wt,j),he(Wt))}else if(i&&null===t.deps){var o=t,n=o.parent;null===n||n.deriveds?.includes(o)||(n.deriveds??=[]).push(o)}return i&&te(o=t)&&st(o),t.v}function ue(t){const e=Xt;try{return Xt=null,t()}finally{Xt=e}}const ge=~(j|N|O);function fe(t,e){t.f=t.f&ge|e}function me(t,e=!1,i){Zt={p:Zt,c:null,e:null,m:!1,s:t,x:null,l:null},e||(Zt.l={s:null,u:null,r1:[],r2:V(!1)})}function be(t){const e=Zt;if(null!==e){void 0!==t&&(e.x=t);const n=e.e;if(null!==n){var i=Wt,s=Xt;e.e=null;try{for(var r=0;r=g.v&&$(g,m+1)}we(a)}return!0},ownKeys(t){pe(a);var e=Reflect.ownKeys(t).filter((t=>{var e=o.get(t);return void 0===e||e.v!==c}));for(var[i,s]of o)s.v===c||i in t||e.push(i);return e},setPrototypeOf(){!function(){throw new Error("state_prototype_fixed")}()}})}function we(t,e=1){$(t,t.v+e)}var ke,Ce;function Se(t=""){return document.createTextNode(t)}function Ae(t){return ke.call(t)}function Me(t){return Ce.call(t)}function Pe(t){return Ae(t)}function Te(t,e){var i=Ae(t);return i instanceof Comment&&""===i.data?Me(i):i}function Ee(t,e=1,i=!1){let s=t;for(;e--;)s=Me(s);return s}let Le=!1;function De(t,e,i,s){function r(t){if(s.capture||je.call(e,t),!t.cancelBubble)return i.call(this,t)}return t.startsWith("pointer")||t.startsWith("touch")||"wheel"===t?Et((()=>{e.addEventListener(t,r,s)})):e.addEventListener(t,r,s),r}function Oe(t,e,i,s,r){var o={capture:s,passive:r},n=De(t,e,i,o);e!==document.body&&e!==window&&e!==document||at((()=>{e.removeEventListener(t,n,o)}))}function je(t){var e=this,i=e.ownerDocument,s=t.type,r=t.composedPath?.()||[],o=r[0]||t.target,n=0,a=t.__root;if(a){var l=r.indexOf(a);if(-1!==l&&(e===document||e===window))return void(t.__root=e);var h=r.indexOf(e);if(-1===h)return;l<=h&&(n=l)}if((o=r[n]||t.target)!==e){g(t,"currentTarget",{configurable:!0,get:()=>o||i});try{for(var c,d=[];null!==o;){var u=o.assignedSlot||o.parentNode||o.host||null;try{var f=o["__"+s];if(void 0!==f&&!o.disabled)if(p(f)){var[m,...b]=f;m.apply(o,[t,...b])}else f.call(o,t)}catch(t){c?d.push(t):c=t}if(t.cancelBubble||u===e||null===u)break;o=u}if(c){for(let t of d)queueMicrotask((()=>{throw t}));throw c}}finally{t.__root=e,delete t.currentTarget}}}function Ne(t){var e=document.createElement("template");return e.innerHTML=t,e.content}function Ie(t,e){var i=Wt;null===i.nodes_start&&(i.nodes_start=t,i.nodes_end=e)}function Be(t,e){var i,s=!!(1&e),r=!!(2&e),o=!t.startsWith("");return()=>{void 0===i&&(i=Ne(o?t:""+t),s||(i=Ae(i)));var e=r?document.importNode(i,!0):i.cloneNode(!0);s?Ie(Ae(e),e.lastChild):Ie(e,e);return e}}function Re(){var t=document.createDocumentFragment(),e=document.createComment(""),i=Se();return t.append(e,i),Ie(e,i),t}function ze(t,e){null!==t&&t.before(e)}function Fe(t,e){var i=null==e?"":"object"==typeof e?e+"":e;i!==(t.__t??=t.nodeValue)&&(t.__t=i,t.nodeValue=null==i?"":i+"")}function He(t,e,i,s=null,r=!1){var o=t,n=null,a=null,l=null;gt((()=>{l!==(l=!!e())&&(l?(n?St(n):n=ft((()=>i(o))),a&&wt(a,(()=>{a=null}))):(a?St(a):s&&(a=ft((()=>s(o)))),n&&wt(n,(()=>{n=null}))))}),r?z:0)}let Xe=null;function Ge(t,e){return e}function We(r,o,n,a,l,h=null){var c=r,d={flags:o,items:new Map,first:null};!(o&i)||(c=r.appendChild(Se()));var g=null,f=!1;gt((()=>{var r=n(),m=p(r)?r:null==r?[]:u(r),b=m.length;f&&0===b||(f=0===b,function(r,o,n,a,l,h){var c,d,p,g,f,m,b=!!(l&s),y=!!(l&(t|e)),x=r.length,v=o.items,w=o.first,k=w,C=null,S=[],A=[];if(b)for(m=0;m0){var O=l&i&&0===x?n:null;if(b){for(m=0;m0&&0===r.length&&null!==i;if(a){var l=i.parentNode;l.textContent="",l.append(i),s.clear(),Ve(t,e[0].prev,e[o-1].next)}kt(r,(()=>{for(var i=0;i{if(void 0!==d)for(f of d)f.a?.apply()}));Wt.first=o.first&&o.first.e,Wt.last=C&&C.e}(m,d,c,l,o,a),null!==h&&(0===b?g?St(g):g=ft((()=>h(c))):null!==g&&wt(g,(()=>{g=null}))),n())}))}function Ye(i,s,r,o){o&t&&Z(i.v,s),o&e?Z(i.i,r):i.i=r}function Ue(i,s,o,n,a,l,h,c,d){var p=Xe;try{var u=!!(d&t)?!(d&r)?_(a):V(a):a,g=d&e?V(h):h,f={i:g,v:u,k:l,a:null,e:null,prev:o,next:n};return Xe=f,f.e=ft((()=>c(i,u,g)),Le),f.e.prev=o&&o.e,f.e.next=n&&n.e,null===o?s.first=f:(o.next=f,o.e.next=f.e),null!==n&&(n.prev=f,n.e.prev=f.e),f}finally{Xe=p}}function qe(t,e,i){for(var s=t.next?t.next.e.nodes_start:i,r=e?e.e.nodes_start:i,o=t.e.nodes_start;o!==s;){var n=Me(o);r.before(o),o=n}}function Ve(t,e,i){null===e?t.first=i:(e.next=i,e.e.next=i&&i.e),null!==i&&(i.prev=e,i.e.prev=e&&e.e)}function _e(t,e,i,s,r){var o,n=t,a="";gt((()=>{a!==(a=e()??"")&&(void 0!==o&&(xt(o),o=void 0),""!==a&&(o=ft((()=>{var t=a+"";i?t=`${t}`:s&&(t=`${t}`);var e=Ne(t);if((i||s)&&(e=Ae(e)),Ie(Ae(e),e.lastChild),i||s)for(;Ae(e);)n.before(Ae(e));else n.before(e)}))))}))}function Ke(t,e,i){var s,r,o=t;gt((()=>{s!==(s=e())&&(r&&(wt(r),r=null),s&&(r=ft((()=>i(o,s)))))}),z)}function $e(t,e,i){ht((()=>{var s=ue((()=>e(t,i?.())||{}));if(i&&s?.update){var r=!1,o={};pt((()=>{var t=i();ye(t),r&&U(o,t)&&(o=t,s.update(t))})),r=!0}if(s?.destroy)return()=>s.destroy()}))}function Ze(t,e,i,s){var r=t.__attributes??={};r[e]!==(r[e]=i)&&("loading"===e&&(t[W]=i),null==i?t.removeAttribute(e):"string"!=typeof i&&function(t){var e,i=Je.get(t.nodeName);if(i)return i;Je.set(t.nodeName,i=[]);var s=x(t);for(;"Element"!==s.constructor.name;){for(var r in e=m(s))e[r].set&&i.push(r);s=x(s)}return i}(t).includes(e)?t[e]=i:t.setAttribute(e,i))}var Je=new Map;function Qe(t){var e=!1;return function(...i){if(!e)return e=!0,t?.apply(this,i)}}function ti(t=!1){const e=Zt,i=e.l.u;if(!i)return;let s=()=>ye(e.s);if(t){let t=0,i={};const r=Q((()=>{let s=!1;const r=e.s;for(const t in r)r[t]!==i[t]&&(i[t]=r[t],s=!0);return s&&t++,t}));s=()=>pe(r)}var r;i.b.length&&(r=()=>{ei(e,s),C(i.b)},ot(),pt(r)),lt((()=>{const t=ue((()=>i.m.map(k)));return()=>{for(const e of t)"function"==typeof e&&e()}})),i.a.length&<((()=>{ei(e,s),C(i.a)}))}function ei(t,e){if(t.l.s)for(const e of t.l.s)pe(e);e()}function ii(t,e){var i=t.$$events?.[e.type],s=p(i)?i.slice():null==i?[]:[i];for(var r of s)r.call(this,e)}const si={get(t,e){let i=t.props.length;for(;i--;){let s=t.props[i];if(v(s)&&(s=s()),"object"==typeof s&&null!==s&&e in s)return s[e]}},getOwnPropertyDescriptor(t,e){let i=t.props.length;for(;i--;){let s=t.props[i];if(v(s)&&(s=s()),"object"==typeof s&&null!==s&&e in s){const t=f(s,e);return t&&!t.configurable&&(t.configurable=!0),t}}},has(t,e){for(let i of t.props)if(v(i)&&(i=i()),null!=i&&e in i)return!0;return!1},ownKeys(t){const e=[];for(let i of t.props){v(i)&&(i=i());for(const t in i)e.includes(t)||e.push(t)}return e}};function ri(...t){return new Proxy({props:t},si)}function oi(t){for(var e=Wt,i=Wt;null!==e&&!(e.f&(T|E));)e=e.parent;try{return Yt(e),t()}finally{Yt(i)}}function ni(t,e,i,s){var r,c=!!(i&o),d=!!(i&n),p=!!(i&l),u=!!(i&h),g=t[e],m=f(t,e)?.set,b=s,y=!0,x=!1,v=()=>(x=!0,y&&(y=!1,b=u?ue(s):s),b);if(void 0===g&&void 0!==s&&(m&&d&&function(t){throw new Error("props_invalid_value")}(),g=v(),m&&m(g)),d)r=()=>{var i=t[e];return void 0===i?v():(y=!0,x=!1,i)};else{var w=oi((()=>(c?Q:tt)((()=>t[e]))));w.f|=F,r=()=>{var t=pe(w);return void 0!==t&&(b=void 0),void 0===t?b:t}}if(!(i&a))return r;if(m){var k=t.$$legacy;return function(t,e){return arguments.length>0?(d&&e&&!k||m(e?r():t),t):r()}}var C=!1,S=_(g),A=oi((()=>Q((()=>{var t=r(),e=pe(S);return C||void 0===t&&Xt.f&B?(C=!1,!0,e):(!1,S.v=t)}))));return c||(A.equals=q),function(t,e){var i=pe(A);if(arguments.length>0){const i=e?pe(A):d&&p?ve(t):t;return A.equals(i)||(C=!0,$(S,i),x&&void 0!==b&&(b=i),pe(A)),t}return i}}function ai(t,e,i){if(null==t)return e(void 0),i&&i(void 0),w;const s=t.subscribe(e,i);return s.unsubscribe?()=>s.unsubscribe():s}function li(t,e,i){const s=i[e]??={store:null,source:_(void 0),unsubscribe:w};if(s.store!==t)if(s.unsubscribe(),s.store=t??null,null==t)s.source.v=void 0,s.unsubscribe=w;else{var r=!0;s.unsubscribe=ai(t,(t=>{r?s.source.v=t:$(s.source,t)})),r=!1}return pe(s.source)}function hi(){const t={};return at((()=>{for(var e in t){t[e].unsubscribe()}})),t}function ci(t,e,i){return t.set(i),e}function di(t){null===Zt&&Lt(),null!==Zt.l?fi(Zt).m.push(t):lt((()=>{const e=ue(t);if("function"==typeof e)return e}))}function pi(t){null===Zt&&Lt(),di((()=>()=>ue(t)))}function ui(){const t=Zt;return null===t&&Lt(),(e,i,s)=>{const r=t.s.$$events?.[e];if(r){const o=p(r)?r.slice():[r],n=function(t,e,{bubbles:i=!1,cancelable:s=!1}={}){return new CustomEvent(t,{detail:e,bubbles:i,cancelable:s})}(e,i,s);for(const e of o)e.call(t.x,n);return!n.defaultPrevented}return!0}}function gi(t){null===Zt&&Lt(),null===Zt.l&&function(t){throw new Error("lifecycle_legacy_only")}(),fi(Zt).a.push(t)}function fi(t){var e=t.l;return e.u??={a:[],b:[],m:[]}}const mi=[];function bi(t,e){return{subscribe:yi(t,e).subscribe}}function yi(t,e=w){let i=null;const s=new Set;function r(e){if(U(t,e)&&(t=e,i)){const e=!mi.length;for(const e of s)e[1](),mi.push(e,t);if(e){for(let t=0;t{s.delete(l),0===s.size&&i&&(i(),i=null)}}}}function xi(t,e,i){const s=!Array.isArray(t),r=s?[t]:t;if(!r.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const o=e.length<2;return bi(i,((t,i)=>{let n=!1;const a=[];let l=0,h=w;const c=()=>{if(l)return;h();const r=e(s?a[0]:a,t,i);o?t(r):h="function"==typeof r?r:w},d=r.map(((t,e)=>ai(t,(t=>{a[e]=t,l&=~(1<{l|=1<"A Progress Report on the Training of Probability Assessors." In Judgment Under Uncertainty: Heuristics and Biases, edited by Daniel Kahneman, Paul Slovic, and Amos Tversky, 294-305. Cambridge University Press, 1982. http://dx.doi.org/10.1017/CBO9780511809477.022.'},{id:"Gill2005",text:'Gill, C. J. "Why Clinicians Are Natural Bayesians." BMJ 330, no. 7499 (May 7, 2005): 1080-1083. doi:10.1136/bmj.330.7499.1080.'},{id:"GunzelmannGluck2004",text:'Gunzelmann, G., and K.A. Gluck. "Knowledge Tracing for Complex Training Applications: Beyond Bayesian Mastery Estimates" In Proceedings of the Thirteenth Conference on Behavior Representation in Modeling and Simulation, 383-384. Orlando, FL: Simulation Interoperability Standards Organization, 2004.'},{id:"Hubbard2010",text:'Hubbard, Douglas W. \x3c!--http://www.jpmeloche.com/crr/ebooksclub.org__How_to_Measure_Anything__Finding_the_Value_of_Intangibles_in_Business__Second_Edition.pdf--\x3eHow to Measure Anything Finding the Value of Intangibles in Business. 2ed. Wiley, 2010.'},{id:"Jeffery2002",text:'Jeffery, Richard. Subjective Probability: The Real Thing. Cambridge University Press, 2002.'},{id:"Kahneman2011",text:'Kahneman, Daniel. "Don\'t Blink! The Hazards of Confidence." The New York Times, October 19, 2011, sec. Magazine.'},{id:"KassinFong1999",text:'Kassin, Saul M., and Christina T. Fong. "\'I\'m Innocent!\': Effects of Training on Judgments of Truth and Deception in the Interrogation Room." Law and Human Behavior 23, no. 5 (October 1, 1999): 499-516. doi:10.1023/A:1022330011811.'},{id:"Knight1921",text:'Knight, Frank H. (Frank Hyneman). \x3c!--http://www.econlib.org/library/Knight/knRUP.html--\x3eRisk, Uncertainty and Profit. Boston, New York, Houghton Mifflin Company, 1921.'},{id:"LichtensteinFischhoff1978",text:'Lichtenstein, Sarah, and Baruch Fischhoff. Training for Calibration, November 1978.'},{id:"LichtensteinEtAl1982",text:'Lichtenstein, Sarah, Baruch Fischhoff, and Lawrence D. Phillips. "Calibration of Probabilities: The State of the Art to 1980." In Judgment Under Uncertainty: Heuristics and Biases, edited by Daniel Kahneman, Paul Slovic, and Amos Tversky, 306-334. Cambridge, UK: Cambridge University Press, 1982.'},{id:"LindeyEtAl1979",text:'Lindley, D. V., A. Tversky, and R. V. Brown. "On the Reconciliation of Probability Assessments." Journal of the Royal Statistical Society. Series A (General) 142, no. 2 (January 1, 1979): 146-180. doi:10.2307/2345078.'},{id:"Marx2013",text:'Marx, Vivien. "Data Visualization: Ambiguity as a Fellow Traveler." Nature Methods 10, no. 7 (July 2013): 613-615. doi:10.1038/nmeth.2530.'},{id:"McIntyre2007",text:'McIntyre, M.E. "On Thinking Probabilistically." In Extreme Events (Proc. 15th \'Aha Huliko\'a Workshop), 153-161. U. of Hawaii: SOEST, 2007.'},{id:"Oskamp1965",text:'Oskamp, Stuart. "Overconfidence in Case-study Judgments." Journal of Consulting Psychology 29, no. 3 (1965): 261-265. doi:10.1037/h0022125.'},{id:"Plous1993",text:'Plous, Scott. The Psychology of Judgment and Decision Making. New York: McGraw-Hill, 1993.'},{id:"RadzevickMoore2009",text:'Radzevick, Joseph R., and Don A. Moore. "Competing to Be Certain (but Wrong): Social Pressure and Overprecision in Judgment." Academy of Management Proceedings 2009, no. 1 (August 1, 2009): 1-6. doi:10.5465/AMBPP.2009.44246308.'},{id:"Silver2012",text:'Silver, Nate. The Signal and the Noise: Why So Many Predictions Fail - but Some Don\'t. 1ed. Penguin Press HC, The, 2012.'},{id:"Wilson1994",text:'Wilson, Alyson G. "Cognitive Factors Affecting Subjective Probability Assessment," 1994.'}]);var Si=Be('
    ');var Ai=Be('
    correct
    '),Mi=Be('
    incorrect
    '),Pi=Be('
    Last question

    ');var Ti={local:{},session:{}};const Ei=function(t,e,i){var s,r,o,n,a,l,h,c;(null==i?void 0:i.onError)&&console.warn("onError has been deprecated. Please use onWriteError instead");const d=null!=(s=null==i?void 0:i.serializer)?s:JSON,p=null!=(r=null==i?void 0:i.storage)?r:"local",u=null==(o=null==i?void 0:i.syncTabs)||o,g=null!=(a=null!=(n=null==i?void 0:i.onWriteError)?n:null==i?void 0:i.onError)?a:e=>console.error(`Error when writing value from persisted store "${t}" to ${p}`,e),f=null!=(l=null==i?void 0:i.onParseError)?l:(e,i)=>console.error(`Error when parsing ${e?'"'+e+'"':"value"} from persisted store "${t}"`,i),m=null!=(h=null==i?void 0:i.beforeRead)?h:t=>t,b=null!=(c=null==i?void 0:i.beforeWrite)?c:t=>t,y="undefined"!=typeof window&&"undefined"!=typeof document,x=y?"local"===p?localStorage:sessionStorage:null;function v(t,e){const i=b(e);try{null==x||x.setItem(t,d.stringify(i))}catch(t){g(t)}}if(!Ti[p][t]){const i=yi(function(){const i=null==x?void 0:x.getItem(t);if(null==i)return e;const s=function(t){try{return d.parse(t)}catch(e){f(t,e)}}(i);return null==s?e:m(s)}(),(e=>{if(y&&"local"==p&&u){const i=i=>{if(i.key===t&&i.newValue){let t;try{t=d.parse(i.newValue)}catch(t){return void f(i.newValue,t)}const s=m(t);e(s)}};return window.addEventListener("storage",i),()=>window.removeEventListener("storage",i)}})),{subscribe:s,set:r}=i;Ti[p][t]={set(e){r(e),v(t,e)},update:e=>i.update((i=>{const s=e(i);return v(t,s),s})),reset(){this.set(e)},subscribe:s}}return Ti[p][t]}("svelte:theme",{preference:"system",current:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"});Ei.subscribe((t=>{document.body.classList.remove("light","dark"),document.body.classList.add(t.current)}));var Li=Be('');var Di=Be('');function Oi(t){var e=Di();!function(t,e){me(e,!1);const i=hi(),s=()=>li(Ei,"$theme",i),r=t=>Ei.set({preference:s().preference,current:t.matches?"dark":"light"});let o=K();pi((()=>pe(o)?.removeEventListener("change",r))),di((()=>{(document.getElementById("container")||{}).className="system"===s().current?"":`highcharts-${s().current}`,"system"===s().preference&&($(o,window.matchMedia("(prefers-color-scheme: dark)")),pe(o).addEventListener("change",r)),document.documentElement.setAttribute("data-bs-theme",s().current)})),ct((()=>pe(o)),(()=>{pe(o)?.removeEventListener("change",r)})),dt(),ti();var n=Li(),a=Pe(n);!function(t,e,i,s,r){var o=e.$$slots?.[i],n=!1;!0===o&&(o=e["default"===i?"children":i],n=!0),void 0===o?null!==r&&r(t):o(t,n?()=>s:s)}(a,e,"default",{},null);var l=Ee(a,2),h=Pe(l);He(Pe(h),(()=>d),(t=>{var e=Re();He(Te(e),(()=>"dark"===s().current),(t=>{var e=Re();_e(Te(e),(()=>''),!1,!1),ze(t,e)}),(t=>{var e=Re();_e(Te(e),(()=>''),!1,!1),ze(t,e)})),ze(t,e)})),ut((()=>function(t,e,i){if(i){if(t.classList.contains(e))return;t.classList.add(e)}else{if(!t.classList.contains(e))return;t.classList.remove(e)}}(l,"checked","dark"===s().current))),Oe("click",n,(function(){const t="light"===s().current?"dark":"light";t===(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")?ci(Ei,ue(s).preference="system",ue(s)):ci(Ei,ue(s).preference=t,ue(s)),document.documentElement.setAttribute("data-bs-theme",t),(document.getElementById("container")||{}).className=`highcharts-${t}`,ci(Ei,ue(s).current=t,ue(s))})),ze(t,n),be()}(Ee(Pe(e),4),{}),ze(t,e)}var ji="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ni(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ii,Bi,Ri,zi={exports:{}};Ii=zi,Bi="undefined"!=typeof window?window:ji,Ri=function(t){var e={};function i(e,i,s,r){e.hasOwnProperty(i)||(e[i]=r.apply(null,s),"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.6",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,{charts:i,doc:s,win:r}=t;function o(e,i,s,n){let a=i?"Highcharts error":"Highcharts warning";32===e&&(e=`${a}: Deprecated member`);let l=p(e),h=l?`${a} #${e}: www.highcharts.com/errors/${e}/`:e.toString();if(void 0!==n){let t="";l&&(h+="?"),k(n,(function(e,i){t+=`\n - ${i}: ${e}`,l&&(h+=encodeURI(i)+"="+encodeURI(e))})),h+=t}S(t,"displayError",{chart:s,code:e,message:h,params:n},(function(){if(i)throw Error(h);r.console&&-1===o.messages.indexOf(h)&&console.warn(h)})),o.messages.push(h)}function n(t,e){return parseInt(t,e||10)}function a(t){return"string"==typeof t}function l(t){let e=Object.prototype.toString.call(t);return"[object Array]"===e||"[object Array Iterator]"===e}function h(t,e){return!(!t||"object"!=typeof t||e&&l(t))}function c(t){return h(t)&&"number"==typeof t.nodeType}function d(t){let e=t&&t.constructor;return!(!h(t,!0)||c(t)||!e||!e.name||"Object"===e.name)}function p(t){return"number"==typeof t&&!isNaN(t)&&t<1/0&&t>-1/0}function u(t){return null!=t}function g(t,e,i){let s,r=a(e)&&!u(i),o=(e,i)=>{u(e)?t.setAttribute(i,e):r?(s=t.getAttribute(i))||"class"!==i||(s=t.getAttribute(i+"Name")):t.removeAttribute(i)};return a(e)?o(i,e):k(e,o),s}function f(t){return l(t)?t:[t]}function m(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;i1e14?t:parseFloat(t.toPrecision(e||14))}(o||(o={})).messages=[],Math.easeInOutSine=function(t){return-.5*(Math.cos(Math.PI*t)-1)};let w=Array.prototype.find?function(t,e){return t.find(e)}:function(t,e){let i,s=t.length;for(i=0;it.order-e.order)),t.forEach((t=>{!1===t.fn.call(e,r)&&r.preventDefault()}))}o&&!r.defaultPrevented&&o.call(e,r)}k({map:"map",each:"forEach",grep:"filter",reduce:"reduce",some:"some"},(function(e,i){t[i]=function(t){return o(32,!1,void 0,{[`Highcharts.${i}`]:`use Array.${e}`}),Array.prototype[e].apply(t,[].slice.call(arguments,1))}}));let A=function(){let t=Math.random().toString(36).substring(2,9)+"-",i=0;return function(){return"highcharts-"+(e?"":t)+i++}}();return r.jQuery&&(r.jQuery.fn.highcharts=function(){let e=[].slice.call(arguments);if(this[0])return e[0]?(new(t[a(e[0])?e.shift():"Chart"])(this[0],e[0],e[1]),this):i[g(this[0],"data-highcharts-chart")]}),{addEvent:function(e,i,s,r={}){let o="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(o,"hcEvents")||(o.hcEvents={});let n=o.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===r.passive?-1!==i.indexOf("touch"):r.passive,capture:!1}),n[i]||(n[i]=[]);let l={fn:s,order:"number"==typeof r.order?r.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]e?t{let s=e%2/2,r=i?-1:1;return(Math.round(t*r-s)+s)*r},css:y,defined:u,destroyObjectProperties:function(t,e,i){k(t,(function(s,r){s!==e&&s?.destroy&&s.destroy(),(s?.destroy||!i)&&delete t[r]}))},diffObjects:function(t,e,i,s){let r={};return function t(e,r,o,n){let a=i?r:e;k(e,(function(i,c){if(!n&&s&&s.indexOf(c)>-1&&r[c]){i=f(i),o[c]=[];for(let e=0;e{if(t.length>1)for(r=t.length-1;r>0;r--)(s=t[r]-t[r-1])<0&&!o?(e?.(),e=void 0):s&&(void 0===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 a=r.getComputedStyle(e,void 0);return a&&(o=a.getPropertyValue(i),b(s,"opacity"!==i)&&(o=n(o))),o},inArray:function(t,e,i){return o(32,!1,void 0,{"Highcharts.inArray":"use Array.indexOf"}),e.indexOf(t,i)},insertItem:function(t,e){let i,s=t.options.index,r=e.length;for(i=t.options.isInternal?r:0;i=t))&&(r||!(a<=(e[o]+(e[o+1]||e[o]))/2)));o++);return v(n*i,-Math.round(Math.log(.001)/Math.LN10))},objectEach:k,offset:function(t){let e=s.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}},pad:function(t,e,i){return Array((e||2)+1-String(t).replace("-","").length).join(i||"0")+t},pick:b,pInt:n,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:f,stableSort:function(t,e){let i,s,r=t.length;for(s=0;s0?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:A,useSerialIds:function(t){return e=b(t,e)},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:r,extend:o,isNumber:n,isObject:a,merge:l,objectEach:h,pad:c,pick:d,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 r=e["getUTC"+t]();return e.setTime(i),r}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),r=e.getTime()-s;e.setTime(r),e["setUTC"+t](i);let o=this.getTimezoneOffset(e);return r=e.getTime()+o,e.setTime(r)}return this.useUTC||g&&"FullYear"===t?e["setUTC"+t](i):e["set"+t](i)}update(t={}){let e=d(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,r,o){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,d(i,1),d(s,0),d(r,0),d(o,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,r,o,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*(o+l/60);if(n(h))return h}catch(t){r(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,r){if(!s(i)||isNaN(i))return t.defaultOptions.lang&&t.defaultOptions.lang.invalidDate||"";e=d(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,b=m&&m.weekdays,y=m&&m.shortWeekdays;return h(o({a:y?y[p]:b[p].substr(0,3),A:b[p],d:c(u),e:c(u,2," "),w:p,b:m.shortMonths[g],B:m.months[g],m:c(g+1),o:g+1,y:f.toString().substr(2,2),Y:f,H:c(l),k:l,I:c(l%12||12),l:l%12||12,M:c(this.get("Minutes",a)),p:l<12?"AM":"PM",P:l<12?"am":"pm",S:c(this.get("Seconds",a)),L:c(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)})),r?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,r){let n,a,l,h,c=this,p=c.Date,g=[],f={},m=new p(e),b=t.unitRange,y=t.count||1;if(r=d(r,1),s(e)){c.set("Milliseconds",m,b>=u.second?0:y*Math.floor(c.get("Milliseconds",m)/y)),b>=u.second&&c.set("Seconds",m,b>=u.minute?0:y*Math.floor(c.get("Seconds",m)/y)),b>=u.minute&&c.set("Minutes",m,b>=u.hour?0:y*Math.floor(c.get("Minutes",m)/y)),b>=u.hour&&c.set("Hours",m,b>=u.day?0:y*Math.floor(c.get("Hours",m)/y)),b>=u.day&&c.set("Date",m,b>=u.month?1:Math.max(1,y*Math.floor(c.get("Date",m)/y))),b>=u.month&&(c.set("Month",m,b>=u.year?0:y*Math.floor(c.get("Month",m)/y)),a=c.get("FullYear",m)),b>=u.year&&(a-=a%y,c.set("FullYear",m,a)),b===u.week&&(h=c.get("Day",m),c.set("Date",m,c.get("Date",m)-h+r+(h4*u.month||c.getTimezoneOffset(e)!==c.getTimezoneOffset(i));let p=m.getTime();for(n=1;p1?p=c.makeTime(a,t,o,d+n*y):p+=b*y:p=c.makeTime(a,t,o+n*y*(b===u.day?1:7)),n++;g.push(p),b<=u.hour&&g.length<1e4&&g.forEach((function(t){t%18e5==0&&"000000000"===c.dateFormat("%H%M%S%L",t)&&(f[t]="day")}))}return g.info=o(t,{higherRanks:f,totalRange:b*y}),g}getDateFormat(t,e,i,s){let r=this.dateFormat("%m-%d %H:%M:%S.%L",e),o="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&&r.substr(6)===o.substr(6)){a="week";break}if(u[a]>t){a=l;break}if(n[a]&&r.substr(n[a])!==o.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,r){let{isTouchDevice:o}=e,{fireEvent:n,merge:a}=r,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:o?25:10,headerFormat:'{point.key}
    ',pointFormat:' {series.name}: {point.y}
    ',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:r}=e;class o{static parse(t){return t?new o(t):o.None}constructor(e){let i,s,r,n;this.rgba=[NaN,NaN,NaN,NaN],this.input=e;let a=t.Color;if(a&&a!==o)return new a(e);if("object"==typeof e&&void 0!==e.stops)this.stops=e.stops.map((t=>new o(t[1])));else if("string"==typeof e){if(this.input=e=o.names[e.toLowerCase()]||e,"#"===e.charAt(0)){let t=e.length,i=parseInt(e.substr(1),16);7===t?s=[(16711680&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(r=o.parsers.length;r--&&!s;)(i=(n=o.parsers[r]).regex.exec(e))&&(s=n.parse(i))}s&&(this.rgba=s)}get(t){let e=this.input,r=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 r&&i(r[0])?"rgb"===t||!t&&1===r[3]?"rgb("+r[0]+","+r[1]+","+r[2]+")":"a"===t?`${r[3]}`:"rgba("+r.join(",")+")":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]+=r(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,r=t.rgba;if(!i(s[0])||!i(r[0]))return t.input||"none";let o=1!==r[3]||1!==s[3];return(o?"rgba(":"rgb(")+Math.round(r[0]+(s[0]-r[0])*(1-e))+","+Math.round(r[1]+(s[1]-r[1])*(1-e))+","+Math.round(r[2]+(s[2]-r[2])*(1-e))+(o?","+(r[3]+(s[3]-r[3])*(1-e)):"")+")"}}return o.names={white:"#ffffff",black:"#000000"},o.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[r(t[1]),r(t[2]),r(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[r(t[1]),r(t[2]),r(t[3]),1]}}],o.None=new o(""),o})),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:r}=e,{isNumber:o,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,r=[];if(1!==s&&e&&i)if(e.length===i.length&&s<1)for(let t=0;t=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(o),e=!1):(this.pos=r.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,r,n,a,l=t.startX,h=t.endX,c=i.slice(),d=t.isArea,p=d?2:1,u=e&&i.length>e.length&&i.hasStackedCliffs,g=e&&e.slice();if(!g||u)return[c,c];function f(t,e){for(;t.length{let s=c(t.options.animation);a=n(e)&&i(e.defer)?r.defer:Math.max(a,s.duration+s.defer),l=Math.min(r.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:d}})),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:r,createElement:o,css:n,error:a,isFunction:l,isString:h,objectEach:c,splat:d}=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 c(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(/{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,o){let l;return d(s).forEach((function(s){let h,d=s.tagName,p=s.textContent?t.doc.createTextNode(s.textContent):void 0,u=m.bypassHTMLFiltering;if(d)if("#text"===d)h=p;else if(-1!==m.allowedTags.indexOf(d)||u){let a="svg"===d?i:o.namespaceURI||i,l=t.doc.createElementNS(a,d),g=s.attributes||{};c(s,(function(t,e){"tagName"!==e&&"attributes"!==e&&"children"!==e&&"style"!==e&&"textContent"!==e&&(g[e]=t)})),r(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":d});h&&o.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=o("div");i.innerHTML=t,e={body:i}}let s=(t,e)=>{let i=t.nodeName.toLowerCase(),r={tagName:i};"#text"===i&&(r.textContent=t.textContent||"");let o=t.attributes;if(o){let t={};[].forEach.call(o,(e=>{"data-style"===e.name?r.style=m.parseStyle(e.value):t[e.name]=e.value})),r.attributes=t}if(t.childNodes.length){let e=[];[].forEach.call(t.childNodes,(t=>{s(t,e)})),e.length&&(r.children=e)}e.push(r)};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","summary","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:r,getNestedProperty:o,isArray:n,isNumber:a,isObject:l,pick:h,pInt:c}=e,d={add:(t,e)=>t+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,r(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)=>tt*e,ne:(t,e)=>t!=e,subtract:(t,e)=>t-e,unless:t=>!t};function p(t="",e,r){let n,a,l,c=/\{([\w\:\.\,;\-\/<>%@"'’= #\(\)]+)\}/g,g=/\(([\w\:\.\,;\-\/<>%@"'= ]+)\)/g,f=[],m=/f$/,b=/\.(\d)/,y=i.lang,x=r&&r.time||s,v=r&&r.numberFormatter||u,w=(t="")=>{let i;return"true"===t||"false"!==t&&((i=Number(t)).toString()===t?i:o(t,e))},k=0;for(;null!==(n=c.exec(t));){let i=g.exec(n[1]);i&&(n=i,l=!0),a&&a.isBlock||(a={ctx:e,expression:n[1],find:n[0],isBlock:"#"===n[1].charAt(0),start:n.index,startInner:n.index+n[0].length,length:n[0].length});let s=n[1].split(" ")[0].replace("#","");d[s]&&(a.isBlock&&s===a.fn&&k++,a.fn||(a.fn=s));let r="else"===n[1];if(a.isBlock&&a.fn&&(n[1]===`/${a.fn}`||r))if(k)!r&&k--;else{let e=a.startInner,i=t.substr(e,n.index-e);void 0===a.body?(a.body=i,a.startInner=n.index+n[0].length):a.elseBody=i,a.find+=i+n[0],r||(f.push(a),a=void 0)}else a.isBlock||f.push(a);if(i&&!a?.isBlock)break}return f.forEach((i=>{let s,o,{body:n,elseBody:a,expression:l,fn:c}=i;if(c){let t=[i],h=l.split(" ");for(o=d[c].length;o--;)t.unshift(w(h[o+1]));s=d[c].apply(e,t),i.isBlock&&"boolean"==typeof s&&(s=p(s?n:a,e,r))}else{let t=l.split(":");if(s=w(t.shift()||""),t.length&&"number"==typeof s){let e=t.join(":");if(m.test(e)){let t=parseInt((e.match(b)||["","-1"])[1],10);null!==s&&(s=v(s,t,y.decimalPoint,e.indexOf(",")>-1?y.thousandsSep:""))}else s=x.dateFormat(e,s)}}t=t.replace(i.find,h(s,""))})),l?p(t,e,r):t}function u(t,e,s,r){let o,n;t=+t||0,e=+e;let l=i.lang,d=(t.toString().split(".")[1]||"").split("e")[0].length,p=t.toString().split("e"),u=e;-1===e?e=Math.min(d,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,d)-1)).toFixed(e),f=String(c(g)),m=f.length>3?f.length%3:0;return s=h(s,l.decimalPoint),r=h(r,l.thousandsSep),o=(t<0?"-":"")+(m?f.substr(0,m)+r:""),0>+p[1]&&!u?o="0":o+=f.substr(m).replace(/(\d{3})(?=\d)/g,"$1"+r),e?o+=s+g.slice(-e):0==+o&&(o="0"),p[1]&&0!=+o&&(o+="e"+p[1]),o}return{dateFormat:function(t,e,i){return s.dateFormat(t,e,i)},format:p,helpers:d,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,r,o){i.rendererTypes[e]=r,(!s||o)&&(s=e,t.Renderer=r)},e})),i(e,"Core/Renderer/RendererUtilities.js",[e["Core/Utilities.js"]],(function(t){var e;let{clamp:i,pick:s,pushUnique:r,stableSort:o}=t;return(e||(e={})).distribute=function t(e,n,a){let l,h,c,d,p,u,g=e,f=g.reducedLen||n,m=(t,e)=>t.target-e.target,b=[],y=e.length,x=[],v=b.push,w=!0,k=0;for(l=y;l--;)k+=e[l].size;if(k>f){for(o(e,((t,e)=>(e.rank||0)-(t.rank||0))),c=(u=e[0].rank===e[e.length-1].rank)?y/2:-1,h=u?c:y-1;c&&k>f;)d=e[l=Math.floor(h)],r(x,l)&&(k-=d.size),h+=c,u&&h>=e.length&&(c/=2,h=c);x.sort(((t,e)=>e-t)).forEach((t=>v.apply(b,e.splice(t,1))))}for(o(e,m),e=e.map((t=>({size:t.size,targets:[t.target],align:s(t.align,.5)})));w;){for(l=e.length;l--;)d=e[l],p=(Math.min.apply(0,d.targets)+Math.max.apply(0,d.targets))/2,d.pos=i(p-d.size*d.align,0,n-d.size);for(l=e.length,w=!1;l--;)l>0&&e[l-1].pos+e[l-1].size>e[l].pos&&(e[l-1].size+=e[l].size,e[l-1].targets=e[l-1].targets.concat(e[l].targets),e[l-1].align=.5,e[l-1].pos+e[l-1].size>n&&(e[l-1].pos=n-e[l-1].size),e.splice(l,1),w=!0)}return v.apply(g,b),l=0,e.some((e=>{let i=0;return(e.targets||[]).some((()=>(g[l].pos=e.pos+i,void 0!==a&&Math.abs(g[l].pos-g[l].target)>a?(g.slice(0,l+1).forEach((t=>delete t.pos)),g.reducedLen=(g.reducedLen||n)-.1*n,g.reducedLen>.1*n&&t(g,n,a),!0):(i+=g[l].size,l++,!1))))})),o(g,m),g},e})),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:r,animObject:o,stop:n}=t,{deg2rad:a,doc:l,svg:h,SVG_NS:c,win:d}=i,{addEvent:p,attr:u,createElement:g,crisp:f,css:m,defined:b,erase:y,extend:x,fireEvent:v,isArray:w,isFunction:k,isObject:C,isString:S,merge:A,objectEach:M,pick:P,pInt:T,pushUnique:E,replaceNested:L,syncTimeout:D,uniqueKey:O}=s;class j{_defaultGetter(t){let e=P(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 r,o,n,a,l={},h=this.renderer,c=h.alignedObjects,d=!!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&&(d&&E(c,this),i=void 0);let u=P(i,h[p],h),g=t.align,f=t.verticalAlign;return r=(u.x||0)+(t.x||0),o=(u.y||0)+(t.y||0),"right"===g?n=1:"center"===g&&(n=2),n&&(r+=((u.width||0)-(t.width||0))/n),l[e?"translateX":"x"]=Math.round(r),"bottom"===f?a=1:"middle"===f&&(a=2),a&&(o+=((u.height||0)-(t.height||0))/a),l[e?"translateY":"y"]=Math.round(o),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=o(P(e,this.renderer.globalAnimation,!0)),n=s.defer;return l.hidden&&(s.duration=0),0!==s.duration?(i&&(s.complete=i),D((()=>{this.element&&r(this,t,s)}),n)):(this.attr(t,void 0,i||s.complete),M(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(" "),r=s[s.length-1],o=s[0];if(o&&"none"!==o&&i.svg){this.fakeTS=!0,o=o.replace(/(^[\d\.]+)(.*?)$/g,(function(t,e,i){return 2*Number(e)+i})),this.removeTextOutline();let t=l.createElementNS(c,"tspan");u(t,{class:"highcharts-text-outline",fill:r,stroke:r,"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 s=0;[].forEach.call(i.querySelectorAll("text tspan"),(t=>{s+=Number(t.getAttribute("dy"))}));let n=l.createElementNS(c,"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 r,o,a,{element:l}=this,h=j.symbolCustomAttribs,c=this;return"string"==typeof t&&void 0!==e&&(r=t,(t={})[r]=e),"string"==typeof t?c=(this[t+"Getter"]||this._defaultGetter).call(this,t,l):(M(t,(function(e,i){a=!1,s||n(this,i),this.symbolName&&-1!==h.indexOf(i)&&(o||(this.symbolAttr(t),o=!0),a=!0),this.rotation&&("x"===i||"y"===i)&&(this.doTransform=!0),a||(this[i+"Setter"]||this._defaultSetter).call(this,e,i,l)}),this),this.afterSetters()),i&&i.call(this),c}clip(t){if(t&&!t.clipPath){let e=O()+"-",i=this.renderer.createElement("clipPath").attr({id:e}).add(this.renderer.defs);x(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,r=(t.width||this.width||0)+i,o=(t.height||this.height||0)+s,n=f(i,e),a=f(s,e);return x(t,{x:n,y:a,width:f(r,e)-n,height:f(o,e)-a}),b(t.strokeWidth)&&(t.strokeWidth=e),t}complexColor(t,i,s){let r,o,n,a,l,h,c,d,p,u,g,f=this.renderer,m=[];v(this.renderer,"complexColor",{args:arguments},(function(){if(t.radialGradient?o="radialGradient":t.linearGradient&&(o="linearGradient"),o){if(n=t[o],l=f.gradients,h=t.stops,p=s.radialReference,w(n)&&(t[o]=n={x1:n[0],y1:n[1],x2:n[2],y2:n[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===o&&p&&!b(n.gradientUnits)&&(a=n,n=A(n,f.getRadialAttr(p,a),{gradientUnits:"userSpaceOnUse"})),M(n,(function(t,e){"id"!==e&&m.push(e,t)})),M(h,(function(t){m.push(t)})),l[m=m.join(",")])u=l[m].attr("id");else{n.id=u=O();let t=l[m]=f.createElement(o).attr(n).add(f.defs);t.radAttr=a,t.stops=[],h.forEach((function(i){0===i[1].indexOf("rgba")?(c=(r=e.parse(i[1])).get("rgb"),d=r.get("a")):(c=i[1],d=1);let s=f.createElement("stop").attr({offset:i[0],"stop-color":c,"stop-opacity":d}).add(t);t.stops.push(s)}))}g="url("+f.url+"#"+u+")",s.setAttribute(i,g),s.gradient=m,t.toString=function(){return g}}}))}css(t){let e,i=this.styles,s={},r=this.element,o=!i;if(i&&M(t,(function(t,e){i&&i[e]!==t&&(s[e]=t,o=!0)})),o){i&&(t=x(i,s)),null===t.width||"auto"===t.width?delete this.textWidth:"text"===r.nodeName.toLowerCase()&&t.width&&(e=this.textWidth=T(t.width)),x(this.styles,t),e&&!h&&this.renderer.forExport&&delete t.width;let o=A(t);r.namespaceURI===this.SVG_NS&&(["textOutline","textOverflow","width"].forEach((t=>o&&delete o[t])),o.color&&(o.fill=o.color)),m(r,o)}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]=""+T(s[e])*P(i,NaN);t=s.join(",").replace(/NaN/g,"none"),this.element.setAttribute("stroke-dasharray",t)}}destroy(){let t,e,i=this,s=i.element||{},r=i.renderer,o=s.ownerSVGElement,a="SPAN"===s.nodeName&&i.parentGroup||void 0;if(s.onclick=s.onmouseout=s.onmouseover=s.onmousemove=s.point=null,n(i),i.clipPath&&o){let t=i.clipPath;[].forEach.call(o.querySelectorAll("[clip-path],[CLIP-PATH]"),(function(e){e.getAttribute("clip-path").indexOf(t.element.id)>-1&&e.removeAttribute("clip-path")})),i.clipPath=t.destroy()}if(i.connector=i.connector?.destroy(),i.stops){for(e=0;ee&&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,r,o,{alignValue:n,element:a,renderer:l,styles:h,textStr:c}=this,{cache:d,cacheKeys:p}=l,u=a.namespaceURI===this.SVG_NS,g=P(e,this.rotation,0),f=l.styledMode?a&&j.prototype.getStyle.call(a,"font-size"):h.fontSize;if(b(c)&&(-1===(o=c.toString()).indexOf("<")&&(o=o.replace(/\d/g,"0")),o+=["",l.rootFontSize,f,g,this.textWidth,n,h.textOverflow,h.fontWeight].join(",")),o&&!t&&(i=d[o]),!i||i.polygon){if(u||l.forExport){try{r=this.fakeTS&&function(t){let e=a.querySelector(".highcharts-text-outline");e&&m(e,{display:t})},k(r)&&r("none"),i=a.getBBox?x({},a.getBBox()):{width:a.offsetWidth,height:a.offsetHeight,x:0,y:0},k(r)&&r("")}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 e={bBox:i};v(this,"afterGetBBox",e),i=e.bBox}if(o&&(""===c||i.height>0)){for(;p.length>250;)delete d[p.shift()];d[o]||p.push(o),d[o]=i}return i}getRotatedBox(t,e){let{x:i,y:s,width:r,height:o}=t,{alignValue:n,translateY:l,rotationOriginX:h=0,rotationOriginY:c=0}=this,d={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),b=r*f,y=r*m,x=Math.cos(g),v=Math.sin(g),[[w,k],[C,S]]=[h,c].map((t=>[t-t*f,t*m])),A=i+d*(r-b)+w+S+p*x,M=A+b,P=M-o*x,T=P-b,E=s+p-d*y-k+C+p*v,L=E+y,D=L-o*v,O=D-y,j=Math.min(A,M,P,T),N=Math.min(E,L,D,O);return{x:j,y:N,width:Math.max(A,M,P,T)-j,height:Math.max(E,L,D,O)-N,polygon:[[A,E],[M,L],[P,D],[T,O]]}}getStyle(t){return d.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=c,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=A(90===this.parentGroup?.rotation?{offsetX:-1,offsetY:-1}:{},C(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,e=this.getStyle("stroke-width"),i=0;return/px$/.test(e)?i=T(e):""!==e&&(u(t=l.createElementNS(c,"rect"),{width:e,"stroke-width":0}),this.element.parentNode.appendChild(t),i=t.getBBox().width,t.parentNode.removeChild(t)),i}symbolAttr(t){let e=this;j.symbolCustomAttribs.forEach((function(i){e[i]=P(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(P(t,""),[/<[^>]*>/g,""]).replace(/</g,"<").replace(/>/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:r,rotationOriginY:o,scaleX:n,scaleY:a,translateX:l=0,translateY:h=0}=this,c=["translate("+l+","+h+")"];b(i)&&c.push("matrix("+i.join(",")+")"),s&&(c.push("rotate("+s+" "+P(r,e.getAttribute("x"),0)+" "+P(o,e.getAttribute("y")||0)+")"),"SPAN"===this.text?.element.tagName&&this.text.attr({rotation:s,rotationOriginX:(r||0)-this.padding,rotationOriginY:(o||0)-this.padding})),(b(n)||b(a))&&c.push("scale("+P(n,1)+" "+P(a,1)+")"),c.length&&!(this.text||this).textPath&&e.setAttribute(t,c.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,s,r,o,n,a=this.renderer,l=this.parentGroup,h=(l||a).element||a.box,c=this.element,d=h===a.box,p=!1,u=this.added;if(b(t)?(c.setAttribute("data-z-index",t),t=+t,this[e]===t&&(u=!1)):b(this[e])&&c.removeAttribute("data-z-index"),this[e]=t,u){for((t=this.zIndex)&&l&&(l.handleZ=!0),n=(i=h.childNodes).length-1;n>=0&&!p;n--)o=!b(r=(s=i[n]).getAttribute("data-z-index")),s!==c&&(t<0&&o&&!d&&!n?(h.insertBefore(c,i[n]),p=!0):(T(r)<=t||o&&(!b(t)||t>=0))&&(h.insertBefore(c,i[n+1]),p=!0));p||(h.insertBefore(c,i[d?3:0]),p=!0)}return p}}return j.symbolCustomAttribs=["anchorX","anchorY","clockwise","end","height","innerR","r","start","width","x","y"],j.prototype.strokeSetter=j.prototype.fillSetter,j.prototype.yGetter=j.prototype.xGetter,j.prototype.matrixSetter=j.prototype.rotationOriginXSetter=j.prototype.rotationOriginYSetter=j.prototype.rotationSetter=j.prototype.scaleXSetter=j.prototype.scaleYSetter=j.prototype.translateXSetter=j.prototype.translateYSetter=j.prototype.verticalAlignSetter=function(t,e){this[e]=t,this.doTransform=!0},j})),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:r,merge:o,pick:n,removeEvent:a}=e;class l extends t{constructor(t,e,i,s,r,o,n,a,h,c){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=o,this.anchorY=n,this.baseline=h,this.className=c,this.addClass("button"===c?"highcharts-no-tooltip":"highcharts-label"),c&&this.addClass("highcharts-"+c),this.text=t.text(void 0,0,0,a).attr({zIndex:1}),"string"==typeof r&&((d=/^url\((.*?)\)$/.test(r))||this.renderer.symbols[r])&&(this.symbolKey=r),this.bBox=l.emptyBBox,this.padding=3,this.baselineOffset=0,this.needsBox=t.styledMode||d,this.deferredAttr={},this.alignFactor=0}alignSetter(t){let e={left:0,center:.5,right:1}[t];e!==this.alignFactor&&(this.alignFactor=e,this.bBox&&r(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=o(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:r=0,translateY:o=0,width:a=0}=this,l=n(this.paddingLeft,i),h=e??(this.rotation||0),c={width:a,height:s,x:r+this.bBox.x-l,y:o+this.bBox.y-i+this.baselineOffset};return h&&(c=this.getRotatedBox(c,h)),c}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){r(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,o={},n=this.padding,a=this.bBox=r(this.widthSetting)&&r(this.heightSetting)&&!this.textAlign||!i(e.textStr)?l.emptyBBox:e.getBBox(void 0,0);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)}t=this.getCrispAdjust(),o.x=t,o.y=(this.baseline?-this.baselineOffset:0)+t,o.width=Math.round(this.width),o.height=Math.round(this.height),this.box.attr(s(o,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=r(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 r(t,i,r,o,n){let a=[];if(n){let l=n.start||0,h=s(n.r,r),c=s(n.r,o||r),d=2e-4/Math.max(h,1),p=Math.abs((n.end||0)-l-2*Math.PI)0&&c0)return d;if(t+h>s-l)if(c>e+l&&ce+l&&c0){let i=cr&&hl&&d.splice(1,1,["L",h-6,e],["L",h,e-6],["L",h+6,e],["L",s-a,e]);return d},circle:function(t,e,i,s){return r(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:o,roundedRect:n,square:o,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:r,win:o}=e,{attr:n,extend:a,fireEvent:l,isString:h,objectEach:c,pick:d}=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,r=e.renderer,o=d(e.textStr,"").toString(),n=-1!==o.indexOf("<"),a=i.childNodes,l=!e.added&&r.box,c=[o,this.ellipsis,this.noWrap,this.textLineHeight,this.textOutline,e.getStyle("font-size"),this.width].join(",");if(c!==e.textCache){e.textCache=c,delete e.actualWidth;for(let t=a.length;t--;)i.removeChild(a[t]);if(n||this.ellipsis||this.width||e.textPath||-1!==o.indexOf(" ")&&(!this.noWrap||//g.test(o))){if(""!==o){l&&l.appendChild(i);let s=new t(o);this.modifyTree(s.nodes),s.addToDOM(i),this.modifyDOM(),this.ellipsis&&-1!==(i.textContent||"").indexOf("…")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),l&&l.removeChild(i)}}else i.appendChild(s.createTextNode(this.unescapeEntities(o)));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)&&/^[\s\u200B]*$/.test(t.textContent||" ");)e.element.removeChild(t);[].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,o)=>{let l=t.textContent||"",h=l.replace(/([^\^])-/g,"$1- ").split(" "),c=!this.noWrap&&(h.length>1||e.element.childNodes.length>1),d=this.getLineHeight(o),p=0,u=e.actualWidth;if(this.ellipsis)l&&this.truncate(t,l,void 0,0,Math.max(0,a-.8*d),((t,e)=>t.substring(0,e)+"…"));else if(c){let l=[],c=[];for(;o.firstChild&&o.firstChild!==t;)c.push(o.firstChild),o.removeChild(o.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++;c.forEach((e=>{o.insertBefore(e,t)})),l.forEach((e=>{o.insertBefore(s.createTextNode(e),t);let a=s.createElementNS(r,"tspan");a.textContent="​",n(a,{dy:d,x:i}),o.insertBefore(a,t)}))}},h=t=>{[].slice.call(t.childNodes).forEach((i=>{i.nodeType===o.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===o.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:r={},children:o,style:n={},tagName:l}=i,h=this.renderer.styledMode;if("b"===l||"strong"===l?h?r.class="highcharts-strong":n.fontWeight="bold":("i"===l||"em"===l)&&(h?r.class="highcharts-emphasized":n.fontStyle="italic"),n&&n.color&&(n.fill=n.color),"br"===l){r.class="highcharts-br",i.textContent="​";let e=t[s+1];e&&e.textContent&&(e.textContent=e.textContent.replace(/^ +/gm,""))}else"a"===l&&o&&o.some((t=>"#text"===t.tagName))&&(i.children=[{children:o,tagName:"tspan"}]);"#text"!==l&&"a"!==l&&(i.tagName="tspan"),a(i,{attributes:r,style:n}),o&&o.filter((t=>"#text"!==t.tagName)).forEach(e)};t.forEach(e),l(this.svgElement,"afterModifyTree",{nodes:t})}truncate(t,e,i,s,r,o){let n,a,l=this.svgElement,{rotation:h}=l,c=[],d=i?1:0,p=(e||i||"").length,u=p,g=function(e,r){let o=r||e,n=t.parentNode;if(n&&void 0===c[o]&&n.getSubStringLength)try{c[o]=s+n.getSubStringLength(0,i?o+1:o)}catch(t){}return c[o]};if(l.rotation=0,s+(a=g(t.textContent.length))>r){for(;d<=p;)u=Math.ceil((d+p)/2),i&&(n=o(i,u)),a=g(u,n&&n.length-1),d===p?d=p+1:a>r?p=u-1:d=u;0===p?t.textContent="":e&&p===e.length-1||(t.textContent=n||o(e||i,u))}i&&i.splice(0,u),l.actualWidth=a,l.rotation=h}unescapeEntities(t,e){return c(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,i,s,r,o,n,a,l,h){let c,{defaultOptions:d}=e,{charts:p,deg2rad:u,doc:g,isFirefox:f,isMS:m,isWebKit:b,noop:y,SVG_NS:x,symbolSizes:v,win:w}=s,{addEvent:k,attr:C,createElement:S,crisp:A,css:M,defined:P,destroyObjectProperties:T,extend:E,isArray:L,isNumber:D,isObject:O,isString:j,merge:N,pick:I,pInt:B,replaceNested:R,uniqueKey:z}=h;class F{constructor(t,e,i,s,r,o,n){let a,l,h=this.createElement("svg").attr({version:"1.1",class:"highcharts-root"}),c=h.element;n||h.css(this.getStyle(s||{})),t.appendChild(c),C(t,"dir","ltr"),-1===t.innerHTML.indexOf("xmlns")&&C(c,"xmlns",this.SVG_NS),this.box=c,this.boxWrapper=h,this.alignedObjects=[],this.url=this.getReferenceURL(),this.createElement("desc").add().element.appendChild(g.createTextNode("Created with Highcharts 11.4.6")),this.defs=this.createElement("defs").add(),this.allowHTML=o,this.forExport=r,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(){M(t,{left:0,top:0}),l=t.getBoundingClientRect(),M(t,{left:Math.ceil(l.left)-l.left+"px",top:Math.ceil(l.top)-l.top+"px"})})(),this.unSubPixelFix=k(w,"resize",a))}definition(e){return new t([e]).addToDOM(this.defs.element)}getReferenceURL(){if((f||b)&&g.getElementsByTagName("base").length){if(!P(c)){let e=z(),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);M(i,{position:"fixed",top:0,left:0,zIndex:9e5});let s=g.elementFromPoint(6,6);c="hitme"===(s&&s.id),g.body.removeChild(i)}if(c)return R(w.location.href.split("#")[0],[/<[^>]*>/g,""],[/([\('\)])/g,"\\$1"],[/ /g,"%20"])}return""}getStyle(t){return this.style=E({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(),T(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=N({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,r,o={},n,a,l,h,c){let p=this.label(e,i,s,h,void 0,void 0,c,void 0,"button"),u=this.styledMode,g=arguments,f=0;o=N(d.global.buttonTheme,o),u&&(delete o.fill,delete o.stroke,delete o["stroke-width"]);let b=o.states||{},y=o.style||{};delete o.states,delete o.style;let x=[t.filterUserAttributes(o)],v=[y];return u||["hover","select","disabled"].forEach(((e,i)=>{x.push(N(x[0],t.filterUserAttributes(g[i+5]||b[e]||{}))),v.push(x[i+1].style),delete x[i+1].style})),k(p.element,m?"mouseover":"mouseenter",(function(){3!==f&&p.setState(1)})),k(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(x[t]);let e=v[t];O(e)&&p.css(e)}},p.attr(x[0]),!u&&(p.css(E({cursor:"default"},y)),c&&p.text.css({pointerEvents:"none"})),p.on("touchstart",(t=>t.stopPropagation())).on("click",(function(t){3!==f&&r.call(p,t)}))}crispLine(t,e){let[i,s]=t;return P(i[1])&&i[1]===s[1]&&(i[1]=s[1]=A(i[1],e)),P(i[2])&&i[2]===s[2]&&(i[2]=s[2]=A(i[2],e)),t}path(t){let e=this.styledMode?{}:{fill:"none"};return L(t)?e.d=t:O(t)&&E(e,t),this.createElement("path").attr(e)}circle(t,e,i){let s=O(t)?t:void 0===t?{}:{x:t,y:e,r:i},r=this.createElement("circle");return r.xSetter=r.ySetter=function(t,e,i){i.setAttribute("c"+e,t)},r.attr(s)}arc(t,e,i,s,r,o){let n;O(t)?(e=(n=t).y,i=n.r,s=n.innerR,r=n.start,o=n.end,t=n.x):n={innerR:s,start:r,end:o};let a=this.symbol("arc",t,e,i,i,n);return a.r=i,a}rect(t,e,i,s,r,o){let n=O(t)?t:void 0===t?{}:{x:t,y:e,r:r,width:Math.max(i||0,0),height:Math.max(s||0,0)},a=this.createElement("rect");return this.styledMode||(void 0!==o&&(n["stroke-width"]=o,E(n,a.crisp(n))),n.fill="none"),a.rSetter=function(t,e,i){a.r=t,C(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:I(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,r,o){let n={preserveAspectRatio:"none"};D(e)&&(n.x=e),D(i)&&(n.y=i),D(s)&&(n.width=s),D(r)&&(n.height=r);let a=this.createElement("image").attr(n),l=function(e){a.attr({href:t}),o.call(a,e)};if(o){a.attr({href:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="});let e=new w.Image;k(e,"load",l),e.src=t,e.complete&&l({})}else a.attr({href:t});return a}symbol(t,e,i,s,r,o){let n,a,l,h,c=this,d=/^url\((.*?)\)$/,u=d.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,r||0,o)),n=this.path(a),c.styledMode||n.attr("fill","none"),E(n,{symbolName:f||void 0,x:e,y:i,width:s,height:r}),o&&E(n,o);else if(u){l=t.match(d)[1];let s=n=this.image(l);s.imgwidth=I(o&&o.width,v[l]&&v[l].width),s.imgheight=I(o&&o.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:r,height:n,imgwidth:a,imgheight:l}=this,h="width"===e?a:l,c=1;o&&"within"===o.backgroundSize&&r&&n&&a&&l?(c=Math.min(r/a,n/l),C(s,{width:Math.round(a*c),height:Math.round(l*c)})):s&&h&&s.setAttribute(e,h),!i&&a&&l&&this.translate(((r||0)-a*c)/2,((n||0)-l*c)/2)}})),P(e)&&s.attr({x:e,y:i}),s.isImg=!0,P(s.imgwidth)&&P(s.imgheight)?h(s):(s.attr({width:0,height:0}),S("img",{onload:function(){let t=p[c.chartIndex];0===this.width&&(M(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),c.imgCount--,c.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 r={};if(s&&(this.allowHTML||!this.forExport))return this.html(t,e,i);r.x=Math.round(e||0),i&&(r.y=Math.round(i)),P(t)&&(r.text=t);let o=this.createElement("text").attr(r);return s&&(!this.forExport||this.allowHTML)||(o.xSetter=function(t,e,i){let s=i.getElementsByTagName("tspan"),r=i.getAttribute(e);for(let i,o=0;ot.align()))}}return E(F.prototype,{Element:o,SVG_NS:x,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:a,draw:y}),r.registerRendererType("svg",F,!0),F})),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,i,s){let{composed:r}=e,{attr:o,css:n,createElement:a,defined:l,extend:h,pInt:c,pushUnique:d}=s;function p(t,e,s){let r=this.div?.style||s.style;i.prototype[`${e}Setter`].call(this,t,e,s),r&&(r[e]=t)}let u=(t,e)=>{if(!t.div){let s=o(t.element,"class"),r=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=>(r.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){d(r,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,r=s&&t.width;return s&&(delete t.width,this.textWidth=c(r)||void 0,e=!0),"ellipsis"===t?.textOverflow&&(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)return void(this.alignOnAdd=!0);let{element:t,renderer:e,rotation:i,rotationOriginX:s,rotationOriginY:r,styles:o,textAlign:a="left",textWidth:h,translateX:c=0,translateY:d=0,x:p=0,y:u=0}=this,g={left:0,center:.5,right:1}[a],f=o.whiteSpace;if(n(t,{marginLeft:`${c}px`,marginTop:`${d}px`}),"SPAN"===t.tagName){let o,c=[i,a,t.innerHTML,h,this.textAlign].join(","),d=-1*this.parentGroup?.padding||0,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,c!==this.cTT&&(o=e.fontMetrics(t).b,l(i)&&(i!==(this.oldRotation||0)||a!==this.oldAlign)&&this.setSpanRotation(i,d,d),this.getSpanCorrection(!l(i)&&this.textPxLength||t.offsetWidth,o,g));let{xCorr:b=0,yCorr:y=0}=this;n(t,{left:`${p+b}px`,top:`${u+y}px`,transformOrigin:`${(s??p)-b-p-d}px ${(r??u)-y-u-d}px`}),this.cTT=c,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 r=t;for(;r;)s.push(r),r=r.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"}},type:"linear",uniqueNames:!0,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:r,removeEvent:o}=t;return(e||(e={})).registerEventOptions=function(t,e){t.eventOptions=t.eventOptions||{},r(e.events,(function(e,r){t.eventOptions[r]!==e&&(t.eventOptions[r]&&(o(t,r,t.eventOptions[r]),delete t.eventOptions[r]),s(e)&&(t.eventOptions[r]=e,i(t,r,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:r,correctFloat:o,defined:n,destroyObjectProperties:a,extend:l,fireEvent:h,isNumber:c,merge:d,objectEach:p,pick:u}=i;return class{constructor(t,e,i,s,r){this.isNew=!0,this.isNewLabel=!0,this.axis=t,this.pos=e,this.type=i||"",this.parameters=r||{},this.tickmarkOffset=this.parameters.tickmarkOffset,this.options=this.parameters.options,h(this,"init"),i||s||this.addLabel()}addLabel(){let e,i,s,r=this,a=r.axis,d=a.options,p=a.chart,g=a.categories,f=a.logarithmic,m=a.names,b=r.pos,y=u(r.options&&r.options.labels,d.labels),x=a.tickPositions,v=b===x[0],w=b===x[x.length-1],k=(!y.step||1===y.step)&&1===a.tickInterval,C=x.info,S=r.label,A=this.parameters.category||(g?u(g[b],m[b],b):b);f&&c(A)&&(A=o(f.lin2log(A))),a.dateTime&&(C?e=(i=p.time.resolveDTLFormat(d.dateTimeLabelFormats[!d.grid&&C.higherRanks[b]||C.unitName])).main:c(A)&&(e=a.dateTime.getXDateFormat(A,d.dateTimeLabelFormats||{}))),r.isFirst=v,r.isLast=w;let M={axis:a,chart:p,dateTimeLabelFormat:e,isFirst:v,isLast:w,pos:b,tick:r,tickPositionInfo:C,value:A};h(this,"labelFormat",M);let P=e=>y.formatter?y.formatter.call(e,e):y.format?(e.text=a.defaultLabelFormatter.call(e),t.format(y.format,e,p)):a.defaultLabelFormatter.call(e),T=P.call(M,M),E=i&&i.list;r.shortenLabel=E?function(){for(s=0;s0&&a+f*m>d&&(r=Math.round((l-a)/Math.cos(g*s))):(e=a-f*m,i=a+(1-f)*m,ed&&(x=d-t.x+x*f,v=-1),(x=Math.min(b,x))x||o.autoRotation&&(p.styles||{}).width)&&(r=x)),r&&(this.shortenLabel?this.shortenLabel():(y.width=Math.floor(r)+"px",(n.style||{}).textOverflow||(y.textOverflow="ellipsis"),p.css(y)))}moveLabel(t,e){let i,s=this,r=s.label,o=s.axis,n=!1;r&&r.textStr===t?(s.movedLabel=r,n=!0,delete s.label):p(o.ticks,(function(e){n||e.isNew||e===s||!e.label||e.label.textStr!==t||(s.movedLabel=e.label,n=!0,e.labelPos=s.movedLabel.xy,delete e.label)})),!n&&(s.labelPos||r)&&(i=s.labelPos||r.xy,s.movedLabel=s.createLabel(t,e,i),s.movedLabel&&s.movedLabel.attr({opacity:0}))}render(t,e,i){let s=this.axis,r=s.horiz,n=this.pos,a=u(this.tickmarkOffset,s.tickmarkOffset),l=this.getPosition(r,n,a,e),c=l.x,d=l.y,p=s.pos,g=p+s.len,f=r?c:d;!s.chart.polar&&this.isNew&&(o(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,s=this.axis,r=s.options,o={},n=this.pos,a=this.type,l=u(this.tickmarkOffset,s.tickmarkOffset),h=s.chart.renderer,c=this.gridLine,d=r.gridLineWidth,p=r.gridLineColor,g=r.gridLineDashStyle;"minor"===this.type&&(d=r.minorGridLineWidth,p=r.minorGridLineColor,g=r.minorGridLineDashStyle),c||(s.chart.styledMode||(o.stroke=p,o["stroke-width"]=d||0,o.dashstyle=g),a||(o.zIndex=1),t&&(e=0),this.gridLine=c=h.path().attr(o).addClass("highcharts-"+(a?a+"-":"")+"grid-line").add(s.gridGroup)),c&&(i=s.getPlotLinePath({value:n+l,lineWidth:c.strokeWidth(),force:"pass",old:t,acrossPanes:!1}))&&c[t||this.isNew?"attr":"animate"]({d:i,opacity:e})}renderMark(t,e){let i=this.axis,s=i.options,r=i.chart.renderer,o=this.type,n=i.tickSize(o?o+"Tick":"tick"),a=t.x,l=t.y,h=u(s["minor"!==o?"tickWidth":"minorTickWidth"],!o&&i.isXAxis?1:0),c=s["minor"!==o?"tickColor":"minorTickColor"],d=this.mark,p=!d;n&&(i.opposite&&(n[0]=-n[0]),d||(this.mark=d=r.path().addClass("highcharts-"+(o?o+"-":"")+"tick").add(i.axisGroup),i.chart.styledMode||d.attr({stroke:c,"stroke-width":h})),d[p?"attr":"animate"]({d:this.getMarkPath(a,l,n[0],d.strokeWidth(),i.horiz,r),opacity:e}))}renderLabel(t,e,i,s){let r=this.axis,o=r.horiz,n=r.options,a=this.label,l=n.labels,h=l.step,d=u(this.tickmarkOffset,r.tickmarkOffset),p=t.x,g=t.y,f=!0;a&&c(p)&&(a.xy=t=this.getLabelPosition(p,g,a,o,l,d,s,h),this.isFirst&&!this.isLast&&!n.showFirstLabel||this.isLast&&!this.isFirst&&!n.showLastLabel?f=!1:!o||l.step||l.rotation||e||0===i||this.handleOverflow(t),h&&s%h&&(f=!1),f&&c(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},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,r,o,n,a){let{animObject:l}=t,{xAxis:h,yAxis:c}=e,{defaultOptions:d}=s,{registerEventOptions:p}=r,{deg2rad:u}=o,{arrayMax:g,arrayMin:f,clamp:m,correctFloat:b,defined:y,destroyObjectProperties:x,erase:v,error:w,extend:k,fireEvent:C,getClosestDistance:S,insertItem:A,isArray:M,isNumber:P,isString:T,merge:E,normalizeTickInterval:L,objectEach:D,pick:O,relativeLength:j,removeEvent:N,splat:I,syncTimeout:B}=a,R=(t,e)=>L(e,void 0,void 0,O(t.options.allowDecimals,e<.5||void 0!==t.tickAmount),!!t.tickAmount);k(d,{xAxis:h,yAxis:E(h,c)});class z{constructor(t,e,i){this.init(t,e,i)}init(t,e,i=this.coll){let s="xAxis"===i,r=this.isZAxis||(t.inverted?!s:s);this.chart=t,this.horiz=r,this.isXAxis=s,this.coll=i,C(this,"init",{userOptions:e}),this.opposite=O(e.opposite,this.opposite),this.side=O(e.side,this.side,r?this.opposite?0:2:this.opposite?1:3),this.setOptions(e);let o=this.options,n=o.labels,a=o.type;this.userOptions=e,this.minPixelPadding=0,this.reversed=O(o.reversed,this.reversed),this.visible=o.visible,this.zoomEnabled=o.zoomEnabled,this.hasNames="category"===a||!0===o.categories,this.categories=M(o.categories)&&o.categories||(this.hasNames?[]:void 0),this.names||(this.names=[],this.names.keys={}),this.plotLinesAndBandsGroups={},this.positiveValuesOnly=!!this.logarithmic,this.isLinked=y(o.linkedTo),this.ticks={},this.labelEdge=[],this.minorTicks={},this.plotLinesAndBands=[],this.alternateBands={},this.len??(this.len=0),this.minRange=this.userMinRange=o.minRange||o.maxZoom,this.range=o.range,this.offset=o.offset||0,this.max=void 0,this.min=void 0;let l=O(o.crosshair,I(t.options.tooltip.crosshairs)[s?0:1]);this.crosshair=!0===l?{}:l,-1===t.axes.indexOf(this)&&(s?t.axes.splice(t.xAxis.length,0,this):t.axes.push(this),A(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=P(n.rotation)?n.rotation:void 0,p(this,o),C(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=E(e,d[this.coll],t),C(this,"afterSetOptions",{userOptions:t})}defaultLabelFormatter(){let t,e,i=this.axis,{numberFormatter:s}=this.chart,r=P(this.value)?this.value:NaN,o=i.chart.time,n=i.categories,a=this.dateTimeLabelFormat,l=d.lang,h=l.numericSymbols,c=l.numericSymbolMagnitude||1e3,p=i.logarithmic?Math.abs(r):i.tickInterval,u=h&&h.length;if(n)e=`${this.value}`;else if(a)e=o.dateFormat(a,r);else if(u&&h&&p>=1e3)for(;u--&&void 0===e;)p>=(t=Math.pow(c,u+1))&&10*r%t==0&&null!==h[u]&&0!==r&&(e=s(r/t,-1)+h[u]);return void 0===e&&(e=Math.abs(r)>=1e4?s(r,-1):s(r,-1,void 0,"")),e}getSeriesExtremes(){let t,e=this;C(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,r,o,n=i.options,a=n.threshold;if(e.hasVisibleSeries=!0,e.positiveValuesOnly&&0>=(a||0)&&(a=void 0),e.isXAxis)(s=i.xData)&&s.length&&(s=e.logarithmic?s.filter((t=>t>0)):s,r=(t=i.getXExtremes(s)).min,o=t.max,P(r)||r instanceof Date||(s=s.filter(P),r=(t=i.getXExtremes(s)).min,o=t.max),s.length&&(e.dataMin=Math.min(O(e.dataMin,r),r),e.dataMax=Math.max(O(e.dataMax,o),o)));else{let t=i.applyExtremes();P(t.dataMin)&&(r=t.dataMin,e.dataMin=Math.min(O(e.dataMin,r),r)),P(t.dataMax)&&(o=t.dataMax,e.dataMax=Math.max(O(e.dataMax,o),o)),y(a)&&(e.threshold=a),(!n.softThreshold||e.positiveValuesOnly)&&(e.softThreshold=!1)}}}))})),C(this,"afterGetSeriesExtremes")}translate(t,e,i,s,r,o){let n=this.linkedParent||this,a=s&&n.old?n.old.min:n.min;if(!P(a))return NaN;let l=n.minPixelPadding,h=(n.isOrdinal||n.brokenAxis?.hasBreaks||n.logarithmic&&r)&&n.lin2val,c=1,d=0,p=s&&n.old?n.old.transA:n.transA,u=0;return p||(p=n.transA),i&&(c*=-1,d=n.len),n.reversed&&(c*=-1,d-=c*(n.sector||n.len)),e?(u=(t=t*c+d-l)/p+a,h&&(u=n.lin2val(u))):(h&&(t=n.val2lin(t)),u=c*(t-a)*p+d+c*l+(P(o)?p*o:0),n.isRadial||(u=b(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,i,s,r,o,n=this,a=n.chart,l=n.left,h=n.top,c=t.old,d=t.value,p=t.lineWidth,u=c&&a.oldChartHeight||a.chartHeight,g=c&&a.oldChartWidth||a.chartWidth,f=n.transB,b=t.translatedValue,y=t.force;function x(t,e,i){return"pass"!==y&&(ti)&&(y?t=m(t,e,i):o=!0),t}let v={value:d,lineWidth:p,old:c,force:y,acrossPanes:t.acrossPanes,translatedValue:b};return C(this,"getPlotLinePath",v,(function(t){e=s=(b=m(b=O(b,n.translate(d,void 0,void 0,c)),-1e5,1e5))+f,i=r=u-b-f,P(b)?n.horiz?(i=h,r=u-n.bottom+(n.options.isInternal?0:a.scrollablePixelsY||0),e=s=x(e,l,l+n.width)):(e=l,s=g-n.right+(a.scrollablePixelsX||0),i=r=x(i,h,h+n.height)):(o=!0,y=!1),t.path=o&&!y?void 0:a.renderer.crispLine([["M",e,i],["L",s,r]],p||1)})),v.path}getLinearTickPositions(t,e,i){let s,r,o,n=b(Math.floor(e/t)*t),a=b(Math.ceil(i/t)*t),l=[];if(b(n+t)===n&&(o=20),this.single)return[e];for(s=n;s<=a&&(l.push(s),(s=b(s+t,o))!==r);)r=s;return l}getMinorTickInterval(){let{minorTicks:t,minorTickInterval:e}=this.options;return!0===t?O(e,"auto"):!1!==t?e:void 0}getMinorTickPositions(){let t,e=this.options,i=this.tickPositions,s=this.minorTickInterval,r=this.pointRangePadding||0,o=(this.min||0)-r,n=(this.max||0)+r,a=n-o,l=[];if(a&&a/s(t.xIncrement?t.xData?.slice(0,2):t.xData)||[])))||0),this.dataMax-this.dataMin)),P(n)&&P(a)&&P(l)&&n-a=l,t=(l-n+a)/2,i=[a-t,O(r.min,a-t)],e&&(i[2]=o?o.log2lin(this.dataMin):this.dataMin),s=[(a=g(i))+l,O(r.max,a+l)],e&&(s[2]=o?o.log2lin(this.dataMax):this.dataMax),(n=f(s))-at-e)),t=S([i]))}return t&&e?Math.min(t,e):t||e}nameToX(t){let e,i=M(this.options.categories),s=i?this.categories:this.names,r=t.options.x;return t.series.requireSorting=!1,y(r)||(r=this.options.uniqueNames&&s?i?s.indexOf(t.name):O(s.keys[t.name],-1):t.series.autoIncrement()),-1===r?!i&&s&&(e=s.length):e=r,void 0!==e?(this.names[e]=t.name,this.names.keys[t.name]=e):t.x&&(e=t.x),e}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 r;i?.options&&void 0!==i.name&&void 0!==(r=t.nameToX(i))&&r!==i.x&&(i.x=r,e.xData[s]=r)}))})))}setAxisTranslation(){let t,e,i=this,s=i.max-i.min,r=i.linkedParent,o=!!i.categories,n=i.isXAxis,a=i.axisPointRange||0,l=0,h=0,c=i.transA;(n||o||a)&&(t=i.getClosest(),r?(l=r.minPointOffset,h=r.pointRangePadding):i.series.forEach((function(e){let s=o?1:n?O(e.options.pointRange,t,0):i.axisPointRange||0,r=e.options.pointPlacement;if(a=Math.max(a,s),!i.single||o){let t=e.is("xrange")?!n:n;l=Math.max(l,t&&T(r)?0:s/2),h=Math.max(h,t&&"on"===r?0:s)}})),e=i.ordinal&&i.ordinal.slope&&t?i.ordinal.slope/t:1,i.minPointOffset=l*=e,i.pointRangePadding=h*=e,i.pointRange=Math.min(a,i.single&&o?1:s),n&&t&&(i.closestPointRange=t)),i.translationSlope=i.transA=c=i.staticScale||i.len/(s+h||1),i.transB=i.horiz?i.left:i.bottom,i.minPixelPadding=c*l,C(this,"afterSetAxisTranslation")}minFromRange(){let{max:t,min:e}=this;return P(t)&&P(e)&&t-e||void 0}setTickInterval(t){let e,i,s,r,o,{categories:n,chart:a,dataMax:l,dataMin:h,dateTime:c,isXAxis:d,logarithmic:p,options:u,softThreshold:g}=this,f=P(this.threshold)?this.threshold:void 0,m=this.minRange||0,{ceiling:x,floor:v,linkedTo:k,softMax:S,softMin:A}=u,M=P(k)&&a[this.coll]?.[k],T=u.tickPixelInterval,E=u.maxPadding,L=u.minPadding,D=0,j=P(u.tickInterval)&&u.tickInterval>=0?u.tickInterval:void 0;if(c||n||M||this.getTickAmount(),r=O(this.userMin,u.min),o=O(this.userMax,u.max),M?(this.linkedParent=M,e=M.getExtremes(),this.min=O(e.min,e.dataMin),this.max=O(e.max,e.dataMax),u.type!==M.options.type&&w(11,!0,a)):(g&&y(f)&&P(l)&&P(h)&&(h>=f?(i=f,L=0):l<=f&&(s=f,E=0)),this.min=O(r,i,h),this.max=O(o,s,l)),P(this.max)&&P(this.min)&&(p&&(this.positiveValuesOnly&&!t&&0>=Math.min(this.min,O(h,this.min))&&w(10,!0,a),this.min=b(p.log2lin(this.min),16),this.max=b(p.log2lin(this.max),16)),this.range&&P(h)&&(this.userMin=this.min=r=Math.max(h,this.minFromRange()||0),this.userMax=o=this.max,this.range=void 0)),C(this,"foundExtremes"),this.adjustForMinRange(),P(this.min)&&P(this.max)){if(!P(this.userMin)&&P(A)&&Athis.max&&(this.max=o=S),n||this.axisPointRange||this.stacking?.usePercentage||M||!(D=this.max-this.min)||(!y(r)&&L&&(this.min-=D*L),y(o)||!E||(this.max+=D*E)),!P(this.userMin)&&P(v)&&(this.min=Math.max(this.min,v)),!P(this.userMax)&&P(x)&&(this.max=Math.min(this.max,x)),g&&P(h)&&P(l)){let t=f||0;!y(r)&&this.min=t?this.min=u.minRange?Math.min(t,this.max-m):t:!y(o)&&this.max>t&&l<=t&&(this.max=u.minRange?Math.max(t,this.min+m):t)}!a.polar&&this.min>this.max&&(y(u.min)?this.max=this.min:y(u.max)&&(this.min=this.max)),D=this.max-this.min}if(this.min!==this.max&&P(this.min)&&P(this.max)?M&&!j&&T===M.options.tickPixelInterval?this.tickInterval=j=M.tickInterval:this.tickInterval=O(j,this.tickAmount?D/Math.max(this.tickAmount-1,1):void 0,n?1:D*T/Math.max(this.len,T)):this.tickInterval=1,d&&!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)})),C(this,"postProcessData",{hasExtremesChanged:t})}this.setAxisTranslation(),C(this,"initialAxisTranslation"),this.pointRange&&!j&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval));let N=O(u.minTickInterval,c&&!this.series.some((t=>t.noSharedTooltip))?this.closestPointRange:0);!j&&this.tickIntervalMath.max(2*this.len,200))l=[this.min,this.max],w(19,!1,this.chart);else if(this.dateTime)l=this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,e.units),this.min,this.max,e.startOfWeek,this.ordinal?.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else{let t=this.tickInterval,e=t;for(;e<=2*t&&(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount);)this.tickInterval=R(this,e*=1.1)}l.length>this.len&&(l=[l[0],l[l.length-1]])[0]===l[1]&&(l.length=1),s&&(this.tickPositions=l,(t=s.apply(this,[this.min,this.max]))&&(l=t))}this.tickPositions=l,this.paddedTicks=l.slice(0),this.trimTicks(l,n,a),!this.isLinked&&P(this.min)&&P(this.max)&&(this.single&&l.length<2&&!this.categories&&!this.series.some((t=>t.is("heatmap")&&"between"===t.options.pointPlacement))&&(this.min-=.5,this.max+=.5),i||t||this.adjustTickAmount()),C(this,"afterSetTickPositions")}trimTicks(t,e,i){let s=t[0],r=t[t.length-1],o=!this.isOrdinal&&this.minPointOffset||0;if(C(this,"trimTicks"),!this.isLinked){if(e&&s!==-1/0)this.min=s;else for(;this.min-o>t[0];)t.shift();if(i)this.max=r;else for(;this.max+o{let{horiz:e,options:i}=t;return[e?i.left:i.top,i.width,i.height,i.pane].join(",")},o=r(this);i[this.coll].forEach((function(i){let{series:n}=i;n.length&&n.some((t=>t.visible))&&i!==e&&r(i)===o&&(t=!0,s.push(i))}))}if(t&&n){s.forEach((t=>{let i=t.getThresholdAlignment(e);P(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((!P(this.dataMin)||this!==t&&this.series.some((t=>t.isDirty||t.isDirtyData)))&&this.getSeriesExtremes(),P(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.lenl.push(b(l[l.length-1]+u)),f=()=>l.unshift(b(l[0]-u));if(P(c)&&(i=c<.5?Math.ceil(c*(h-1)):Math.floor(c*(h-1)),a.reversed&&(i=h-1-i)),s.hasData()&&P(n)&&P(o)){let c=()=>{s.transA*=(d-1)/(h-1),s.min=a.startOnTick?l[0]:Math.min(n,l[0]),s.max=a.endOnTick?l[l.length-1]:Math.max(o,l[l.length-1])};if(P(i)&&P(s.threshold)){for(;l[i]!==p||l.length!==h||l[0]>n||l[l.length-1]s.threshold?f():g();if(u>8*s.tickInterval)break;u*=2}c()}else if(d0&&e{i=i||t.isDirtyData||t.isDirty,s=s||t.xAxis&&t.xAxis.isDirty||!1})),this.setAxisSize();let r=this.len!==(this.old&&this.old.len);r||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=r||this.min!==this.old?.min||this.max!==this.old?.max)):e&&e.cleanStacks(),i&&delete this.allExtremes,C(this,"afterSetScale")}setExtremes(t,e,i=!0,s,r){this.series.forEach((t=>{delete t.kdTree})),C(this,"setExtremes",r=k(r,{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,r=this.width=Math.round(j(O(e.width,t.plotWidth-i[3]+i[1]),t.plotWidth)),o=this.height=Math.round(j(O(e.height,t.plotHeight-i[0]+i[2]),t.plotHeight)),n=this.top=Math.round(j(O(e.top,t.plotTop+i[0]),t.plotHeight,t.plotTop)),a=this.left=Math.round(j(O(e.left,t.plotLeft+i[3]),t.plotWidth,t.plotLeft));this.bottom=t.chartHeight-o-n,this.right=t.chartWidth-r-a,this.len=Math.max(s?r:o,0),this.pos=s?a:n}getExtremes(){let t=this.logarithmic;return{min:t?b(t.lin2log(this.min)):this.min,max:t?b(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:s15&&e<165?t.align="right":e>195&&e<345&&(t.align="left")})),i.align}tickSize(t){let e,i=this.options,s=O(i["tick"===t?"tickWidth":"minorTickWidth"],"tick"===t&&this.isXAxis&&!this.categories?1:0),r=i["tick"===t?"tickLength":"minorTickLength"];s&&r&&("inside"===i[t+"Position"]&&(r=-r),e=[r,s]);let o={tickSize:e};return C(this,"afterTickSize",o),o.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,e,i=this.options.labels,s=i.padding||0,r=this.horiz,o=this.tickInterval,n=this.len/(((this.categories?1:0)+this.max-this.min)/o),a=i.rotation,l=b(.8*this.labelMetrics().h),h=Math.max(this.max-this.min,0),c=function(t){let e=(t+2*s)/(n||1);return(e=e>1?Math.ceil(e):1)*o>h&&t!==1/0&&n!==1/0&&h&&(e=Math.ceil(h/o)),b(e*o)},d=o,p=Number.MAX_VALUE;if(r){if(!i.staggerLines&&(P(a)?e=[a]:n=-90&&r<=90)&&(s=(i=c(Math.abs(l/Math.sin(u*r))))+Math.abs(r/360))m&&(m=e.label.textPxLength)})),this.maxLabelLength=m,this.autoRotation)m>p&&m>g.h?u.rotation=this.labelRotation:this.labelRotation=0;else if(d&&(t=p,!f))for(e="clip",s=n.length;!c&&s--;)(i=a[n[s]].label)&&("ellipsis"===i.styles.textOverflow?i.css({textOverflow:"clip"}):i.textPxLength>d&&i.css({width:d+"px"}),i.getBBox().height>this.len/n.length-(g.h-g.f)&&(i.specificTextOverflow="ellipsis"));u.rotation&&(t=m>.5*r.chartHeight?.33*r.chartHeight:m,f||(e="ellipsis")),this.labelAlign=l.align||this.autoLabelAlign(this.labelRotation),this.labelAlign&&(u.align=this.labelAlign),n.forEach((function(i){let s=a[i],r=s&&s.label,o=h.width,n={};r&&(r.attr(u),s.shortenLabel?s.shortenLabel():t&&!o&&"nowrap"!==h.whiteSpace&&(tr.g(e).attr({zIndex:n}).addClass(`highcharts-${i.toLowerCase()}${o} `+(this.isRadial?`highcharts-radial-axis${o} `:"")+(s.className||"")).add(t);this.axisGroup||(this.gridGroup=o("grid","-grid",s.gridZIndex),this.axisGroup=o("axis","",s.zIndex),this.labelGroup=o("axis-labels","-labels",s.labels.zIndex))}getOffset(){let t,e,i,s,r=this,{chart:o,horiz:n,options:a,side:l,ticks:h,tickPositions:c,coll:d}=r,p=o.inverted&&!r.isZAxis?[1,0,3,2][l]:l,u=r.hasData(),g=a.title,f=a.labels,m=P(a.crossing),b=o.axisOffset,x=o.clipOffset,v=[-1,1,1,-1][l],w=0,k=0,S=0;if(r.showAxis=t=u||a.showEmpty,r.staggerLines=r.horiz&&f.staggerLines||void 0,r.createGroups(),u||r.isLinked?(c.forEach((function(t){r.generateTick(t)})),r.renderUnsquish(),r.reserveSpaceDefault=0===l||2===l||{1:"left",3:"right"}[l]===r.labelAlign,O(f.reserveSpace,!m&&null,"center"===r.labelAlign||null,r.reserveSpaceDefault)&&c.forEach((function(t){S=Math.max(h[t].getLabelSize(),S)})),r.staggerLines&&(S*=r.staggerLines),r.labelOffset=S*(r.opposite?-1:1)):D(h,(function(t,e){t.destroy(),delete h[e]})),g?.text&&!1!==g.enabled&&(r.addTitle(t),t&&!m&&!1!==g.reserveSpace&&(r.titleOffset=w=r.axisTitle.getBBox()[n?"height":"width"],k=y(e=g.offset)?0:O(g.margin,n?5:10))),r.renderLine(),r.offset=v*O(a.offset,b[l]?b[l]+(a.margin||0):0),r.tickRotCorr=r.tickRotCorr||{x:0,y:0},s=0===l?-r.labelMetrics().h:2===l?r.tickRotCorr.y:0,i=Math.abs(S)+k,S&&(i-=s,i+=v*(n?O(f.y,r.tickRotCorr.y+v*f.distance):O(f.x,v*f.distance))),r.axisTitleMargin=O(e,i),r.getMaxLabelDimensions&&(r.maxLabelDimensions=r.getMaxLabelDimensions(h,c)),"colorAxis"!==d&&x){let t=this.tickSize("tick");b[l]=Math.max(b[l],(r.axisTitleMargin||0)+w+v*r.offset,i,c&&c.length&&t?t[0]+v*r.offset:0);let e=!r.axisLine||a.offset?0:r.axisLine.strokeWidth()/2;x[p]=Math.max(x[p],e)}C(this,"afterGetOffset")}getLinePath(t){let e=this.chart,i=this.opposite,s=this.offset,r=this.horiz,o=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",r?this.left:o,r?n:this.top],["L",r?e.chartWidth-this.right:o,r?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,r=this.len,o=this.options.title,n=e?i:s,a=this.opposite,l=this.offset,h=o.x,c=o.y,d=this.chart.renderer.fontMetrics(t),p=t?Math.max(t.getBBox(!1,0).height-d.h-1,0):0,u={low:n+(e?0:r),middle:n+r/2,high:n+(e?r:0)}[o.align],g=(e?s+this.height:i)+(e?1:-1)*(a?-1:1)*(this.axisTitleMargin||0)+[-p,p,d.f,-p][this.side],f={x:e?u+h:g+(a?this.width:0)+l+h,y:e?g+c-(a?this.height:0)+l:u+c};return C(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)}renderTick(t,e,i){let s=this.isLinked,r=this.ticks;(!s||t>=this.min&&t<=this.max||this.grid&&this.grid.isColumn)&&(r[t]||(r[t]=new n(this,t)),i&&r[t].isNew&&r[t].render(e,!0,-1),r[t].render(e))}render(){let t,e,i=this,s=i.chart,r=i.logarithmic,a=s.renderer,h=i.options,c=i.isLinked,d=i.tickPositions,p=i.axisTitle,u=i.ticks,g=i.minorTicks,f=i.alternateBands,m=h.stackLabels,b=h.alternateGridColor,y=h.crossing,x=i.tickmarkOffset,v=i.axisLine,w=i.showAxis,k=l(a.globalAnimation);if(i.labelEdge.length=0,i.overlap=!1,[u,g,f].forEach((function(t){D(t,(function(t){t.isActive=!1}))})),P(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()||c){let a=i.chart.hasRendered&&i.old&&P(i.old.min);i.minorTickInterval&&!i.categories&&i.getMinorTickPositions().forEach((function(t){i.renderMinorTick(t,a)})),d.length&&(d.forEach((function(t,e){i.renderTick(t,e,a)})),x&&(0===i.min||i.single)&&(u[-1]||(u[-1]=new n(i,-1,null,!0)),u[-1].render(-1))),b&&d.forEach((function(n,a){e=void 0!==d[a+1]?d[a+1]+x:i.max-x,a%2==0&&n=.5)t=Math.round(t),h=n.getLinearTickPositions(t,e,i);else if(t>=.08){let s,r,n,a,l,c,d;for(s=t>.3?[1,2,4]:t>.15?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9],r=Math.floor(e);re&&(!o||c<=i)&&void 0!==c&&h.push(c),c>i&&(d=!0),c=l}else{let c=this.lin2log(e),d=this.lin2log(i),p=o?n.getMinorTickInterval():l.tickInterval,u=l.tickPixelInterval/(o?5:1),g=o?a/n.tickPositions.length:a;t=s(t=r("auto"===p?null:p,this.minorAutoInterval,(d-c)*u/(g||1))),h=n.getLinearTickPositions(t,c,d).map(this.log2lin),o||(this.minorAutoInterval=t/5)}return o||(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:r}=t;return function(t){let e;function o(t){return this.addPlotBandOrLine(t,"plotBands")}function n(t,i){let s=this.userOptions,r=new e(this,t);if(this.visible&&(r=r.render()),r){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(r)}return r}function a(t){return this.addPlotBandOrLine(t,"plotLines")}function l(t,e,i){i=i||this.options;let s,o,n=this.getPlotLinePath({value:e,force:!0,acrossPanes:i.acrossPanes}),a=[],l=this.horiz,h=!r(this.min)||!r(this.max)||tthis.max&&e>this.max,c=this.getPlotLinePath({value:t,force:!0,acrossPanes:i.acrossPanes}),d=1;if(c&&n)for(h&&(o=c.toString()===n.toString(),d=0),s=0;s{w?.on(e,(t=>{d[e].apply(this,[t])}))})),this.eventsAdded=!0),!A&&w.d||!k?.length?w&&(k?(w.show(),w.animate({d:k})):w.d&&(w.hide(),v&&(this.label=v=v.destroy()))):w.attr({d:k}),x&&(r(x.text)||r(x.formatter))&&k?.length&&e.width>0&&e.height>0&&!k.isFlat?(x=l({align:s&&C?"center":void 0,x:s?!C&&4:10,verticalAlign:!s&&C?"middle":void 0,y:s?C?16:10:C?6:-4,rotation:s&&!C?90:0},x),this.renderLabel(x,k,C,p)):v&&v.hide(),this}renderLabel(t,e,r,o){let n=this.axis,a=n.chart.renderer,h=this.label;h||(this.label=h=a.text(this.getLabelText(t),0,0,t.useHTML).attr({align:t.textAlign||t.align,rotation:t.rotation,class:"highcharts-plot-"+(r?"band":"line")+"-label "+(t.className||""),zIndex:o}),n.chart.styledMode||h.css(l({fontSize:"0.8em",textOverflow:"ellipsis"},t.style)),h.add());let c=e.xBounds||[e[0][1],e[1][1],r?e[2][1]:e[0][1]],d=e.yBounds||[e[0][2],e[1][2],r?e[2][2]:e[0][2]],p=s(c),u=s(d);if(h.align(t,!1,{x:p,y:u,width:i(c)-p,height:i(d)-u}),!h.alignValue||"left"===h.alignValue){let e=t.clip?n.width:n.chart.chartWidth;h.css({width:(90===h.rotation?n.height-(h.alignAttr.y-n.top):e-(h.alignAttr.x-n.left))+"px"})}h.show(!0)}getLabelText(t){return r(t.formatter)?t.formatter.call(this):t.text}destroy(){n(this.axis.plotLinesAndBands,this),delete this.axis,o(this)}}return d})),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,r,o){var n;let{animObject:a}=t,{format:l}=e,{composed:h,doc:c,isSafari:d}=i,{distribute:p}=s,{addEvent:u,clamp:g,css:f,discardElement:m,extend:b,fireEvent:y,isArray:x,isNumber:v,isString:w,merge:k,pick:C,pushUnique:S,splat:A,syncTimeout:M}=o;class P{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||A(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)),o.clearTimeout(this.hideTimer)}getAnchor(t,e){let i,{chart:s,pointer:r}=this,o=s.inverted,n=s.plotTop,a=s.plotLeft;if((t=A(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=r.normalize(e)),i=[e.chartX-a,e.chartY-n];else if(t[0].tooltipPos)i=t[0].tooltipPos;else{let s=0,r=0;t.forEach((function(t){let e=t.pos(!0);e&&(s+=e[0],r+=e[1])})),s/=t.length,r/=t.length,this.shared&&t.length>1&&e&&(o?s=e.chartX:r=e.chartY),i=[s-a,r-n]}return i.map(Math.round)}getClassName(t,e,i){let s=this.options,r=t.series,o=r.options;return[s.className,"highcharts-label",i&&"highcharts-tooltip-header",e?"highcharts-tooltip-box":"highcharts-tooltip",!i&&"highcharts-color-"+C(t.colorIndex,r.colorIndex),o&&o.className].filter(w).join(" ")}getLabel(){let t=this,e=this.chart.styledMode,s=this.options,o=this.split&&this.allowShared,n=this.container,a=this.chart.renderer;if(this.label){let t=!this.label.hasClass("highcharts-label");(!o&&t||o&&!t)&&this.destroy()}if(!this.label){if(this.outside){let t=this.chart.options.chart.style,e=r.getRendererType();this.container=n=i.doc.createElement("div"),n.className="highcharts-tooltip-container",f(n,{position:"absolute",top:"1px",pointerEvents:"none",zIndex:Math.max(this.options.style.zIndex||0,(t&&t.zIndex||0)+3)}),this.renderer=a=new e(n,0,0,t,void 0,void 0,a.styledMode)}if(o?this.label=a.g("tooltip"):(this.label=a.label("",0,0,s.shape,void 0,void 0,s.useHTML,void 0,"tooltip").attr({padding:s.padding,r:s.borderRadius}),e||this.label.attr({fill:s.backgroundColor,"stroke-width":s.borderWidth||0}).css(s.style).css({pointerEvents:s.style.pointerEvents||(this.shouldStickOnContact()?"auto":"none")})),t.outside){let e=this.label;[e.xSetter,e.ySetter].forEach(((i,s)=>{e[s?"ySetter":"xSetter"]=r=>{i.call(e,t.distance),e[s?"y":"x"]=r,n&&(n.style[s?"top":"left"]=`${r}px`)}}))}this.label.attr({zIndex:8}).shadow(s.shadow).add()}return n&&!n.parentElement&&i.doc.body.appendChild(n),this.label}getPlayingField(){let{body:t,documentElement:e}=c,{chart:i,distance:s,outside:r}=this;return{width:r?Math.max(t.scrollWidth,e.scrollWidth,t.offsetWidth,e.offsetWidth,e.clientWidth)-2*s:i.chartWidth,height:r?Math.max(t.scrollHeight,e.scrollHeight,t.offsetHeight,e.offsetHeight,e.clientHeight):i.chartHeight}}getPosition(t,e,i){let s,{distance:r,chart:o,outside:n,pointer:a}=this,{inverted:l,plotLeft:h,plotTop:c,polar:d}=o,{plotX:p=0,plotY:u=0}=i,g={},f=l&&i.h||0,{height:m,width:b}=this.getPlayingField(),y=a.getChartPosition(),x=t=>t*y.scaleX,v=t=>t*y.scaleY,w=i=>{let s="x"===i;return[i,s?b:m,s?t:e].concat(n?[s?x(t):v(e),s?y.left-r+x(p+h):y.top-r+v(u+c),0,s?b:m]:[s?t:e,s?p+h:u+c,s?h:c,s?h+o.plotWidth:c+o.plotHeight])},k=w("y"),S=w("x"),A=!!i.negative;!d&&o.hoverSeries?.yAxis?.reversed&&(A=!A);let M=!this.followPointer&&C(i.ttBelow,!d&&!l===A),P=function(t,e,i,s,o,a,l){let h=n?"y"===t?v(r):x(r):r,c=(i-s)/2,d=se?m:m+f)}},T=function(t,e,i,s,o){if(oe-r)return!1;g[t]=oe-s/2?e-s-2:o-i/2},E=function(t){[k,S]=[S,k],s=t},L=()=>{!1!==P.apply(0,k)?!1!==T.apply(0,S)||s||(E(!0),L()):s?g.x=g.y=0:(E(!0),L())};return(l&&!d||this.len>1)&&E(),L(),g}hide(t){let e=this;o.clearTimeout(this.hideTimer),t=C(t,this.options.hideDelay),this.isHidden||(this.hideTimer=M((function(){let i=e.getLabel();e.getLabel().animate({opacity:0},{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=C(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 r=this,o=a(!r.isHidden&&r.options.animation),n={x:t,y:e};r.followPointer||(r.len||0)>1||(n.anchorX=i,n.anchorY=s),o.step=()=>r.drawTracker(),r.getLabel().animate(n,o)}refresh(t,e){let{chart:i,options:s,pointer:r,shared:n}=this,a=A(t),h=a[0],c=[],d=s.format,p=s.formatter||this.defaultFormatter,u=i.styledMode,g={};if(!s.enabled||!h.series)return;o.clearTimeout(this.hideTimer),this.allowShared=!(!x(t)&&t.series&&t.series.noSharedTooltip),this.followPointer=!this.split&&h.series.tooltipOptions.followPointer;let f=this.getAnchor(t,e),m=f[0],b=f[1];n&&this.allowShared?(r.applyInactiveState(a),a.forEach((function(t){t.setState("hover"),c.push(t.getLabelConfig())})),(g=h.getLabelConfig()).points=c):g=h.getLabelConfig(),this.len=c.length;let v=w(d)?l(d,g,i):p.call(g,this),k=h.series;if(this.distance=C(k.tooltipOptions.distance,16),!1===v)this.hide();else{if(this.split&&this.allowShared)this.renderSplit(v,a);else{let t=m,o=b;if(e&&r.isDirectTouch&&(t=e.chartX-i.plotLeft,o=e.chartY-i.plotTop),!i.polar&&!1!==k.options.clip&&!a.some((e=>r.isDirectTouch||e.series.shouldShowTooltip(t,o))))return void this.hide();{let t=this.getLabel();(!s.style.width||u)&&t.css({width:(this.outside?this.getPlayingField():i.spacingBox).width+"px"}),t.attr({class:this.getClassName(h),text:v&&v.join?v.join(""):v}),u||t.attr({stroke:s.borderColor||h.color||k.color||"#666666"}),this.updatePosition({plotX:m,plotY:b,negative:h.negative,ttBelow:h.ttBelow,h:f[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:r,chartHeight:o,plotHeight:n,plotLeft:a,plotTop:l,scrollablePixelsY:h=0,scrollablePixelsX:u,styledMode:f},distance:m,options:y,options:{positioner:x},pointer:v}=i,{scrollLeft:k=0,scrollTop:S=0}=s.scrollablePlotArea?.scrollingContainer||{},A=i.outside&&"number"!=typeof u?c.documentElement.getBoundingClientRect():{left:k,right:k+r,top:S,bottom:S+o},M=i.getLabel(),P=this.renderer||s.renderer,T=!(!s.xAxis[0]||!s.xAxis[0].opposite),{left:E,top:L}=v.getChartPosition(),D=l+S,O=0,j=n-h;function N(t,e,s,r,o=!0){let n,a;return s?(n=T?0:j,a=g(t-r/2,A.left,A.right-r-(i.outside?E:0))):(n=e-D,a=g(a=o?t-r-m:t+m,o?a:A.left,A.right)),{x:a,y:n}}w(t)&&(t=[!1,t]);let I=t.slice(0,e.length+1).reduce((function(t,s,r){if(!1!==s&&""!==s){let o=e[r-1]||{isHeader:!0,plotX:e[0].plotX,plotY:n,series:{}},h=o.isHeader,c=h?i:o.series,d=c.tt=function(t,e,s){let r=t,{isHeader:o,series:n}=e;if(!r){let t={padding:y.padding,r:y.borderRadius};f||(t.fill=y.backgroundColor,t["stroke-width"]=y.borderWidth??1),r=P.label("",0,0,y[o?"headerShape":"shape"],void 0,void 0,y.useHTML).addClass(i.getClassName(e,!0,o)).attr(t).add(M)}return r.isActive=!0,r.attr({text:s}),f||r.css(y.style).attr({stroke:y.borderColor||e.color||n.color||"#333333"}),r}(c.tt,o,s.toString()),p=d.getBBox(),u=p.width+d.strokeWidth();h&&(O=p.height,j+=O,T&&(D-=O));let{anchorX:b,anchorY:v}=function(t){let e,i,{isHeader:s,plotX:r=0,plotY:o=0,series:h}=t;if(s)e=Math.max(a+r,a),i=l+n/2;else{let{xAxis:t,yAxis:s}=h;e=t.pos+g(r,-m,t.len+m),h.shouldShowTooltip(0,s.pos-l+o,{ignoreX:!0})&&(i=s.pos+o)}return{anchorX:e=g(e,A.left-m,A.right+m),anchorY:i}}(o);if("number"==typeof v){let e=p.height+1,s=x?x.call(i,u,e,o):N(b,v,h,u);t.push({align:x?0:void 0,anchorX:b,anchorY:v,boxWidth:u,point:o,rank:C(s.rank,h?1:0),size:e,target:s.y,tt:d,x:s.x})}else d.isActive=!1}return t}),[]);!x&&I.some((t=>{let{outside:e}=i,s=(e?E:0)+t.anchorX;return ss}))&&(I=I.map((t=>{let{x:e,y:i}=N(t.anchorX,t.anchorY,t.point.isHeader,t.boxWidth,!1);return b(t,{target:i,x:e})}))),i.cleanSplit(),p(I,j);let B={left:E,right:E};I.forEach((function(t){let{x:e,boxWidth:s,isHeader:r}=t;!r&&(i.outside&&E+eB.right&&(B.right=E+e))})),I.forEach((function(t){let{x:e,anchorX:s,anchorY:r,pos:o,point:{isHeader:n}}=t,a={visibility:void 0===o?"hidden":"inherit",x:e,y:(o||0)+D,anchorX:s,anchorY:r};if(i.outside&&e0&&(n||(a.x=e+t,a.anchorX=s+t),n&&(a.x=(B.right-B.left)/2,a.anchorX=s+t))}t.tt.attr(a)}));let{container:R,outside:z,renderer:F}=i;if(z&&R&&F){let{width:t,height:e,x:i,y:s}=M.getBBox();F.setSize(t+i,e+s,!1),R.style.left=B.left+"px",R.style.top=L+"px"}d&&M.attr({opacity:1===M.opacity?.999:1})}drawTracker(){if(!this.shouldStickOnContact())return void(this.tracker&&(this.tracker=this.tracker.destroy()));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},r=this.getAnchor(i),o=e.getBBox();r[0]+=t.plotLeft-(e.translateX||0),r[1]+=t.plotTop-(e.translateY||0),s.x=Math.min(0,r[0]),s.y=Math.min(0,r[1]),s.width=r[0]<0?Math.max(Math.abs(r[0]),o.width-r[0]):Math.max(Math.abs(r[0]),o.width),s.height=r[1]<0?Math.max(Math.abs(r[1]),o.height-Math.abs(r[1])):Math.max(Math.abs(r[1]),o.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,r=i.xAxis,o=r&&r.dateTime,n={isFooter:e,labelConfig:t},a=s.xDateFormat,h=s[e?"footerFormat":"headerFormat"];return y(this,"headerFormatter",n,(function(e){o&&!a&&v(t.key)&&(a=o.getXDateFormat(t.key,s.dateTimeLabelFormats)),o&&a&&(t.point&&t.point.tooltipDateKeys||["key"]).forEach((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,k(!0,this.options,t))}updatePosition(t){let e,{chart:i,container:s,distance:r,options:o,pointer:n,renderer:a}=this,{height:l=0,width:h=0}=this.getLabel(),{left:c,top:d,scaleX:p,scaleY:u}=n.getChartPosition(),g=(o.positioner||this.getPosition).call(this,h,l,t),m=(t.plotX||0)+i.plotLeft,b=(t.plotY||0)+i.plotTop;a&&s&&(o.positioner&&(g.x+=c-r,g.y+=d-r),e=(o.borderWidth||0)+2*r+2,a.setSize(h+e,l+e,!1),(1!==p||1!==u)&&(f(s,{transform:`scale(${p}, ${u})`}),m*=p,b*=u),m+=c-g.x,b+=d-g.y),this.move(Math.round(g.x),Math.round(g.y||0),m,b)}}return(n=P||(P={})).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))}))},P})),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,r){let{animObject:o}=e,{defaultOptions:n}=i,{format:a}=s,{addEvent:l,crisp:h,erase:c,extend:d,fireEvent:p,getNestedProperty:u,isArray:g,isFunction:f,isNumber:m,isObject:b,merge:y,pick:x,syncTimeout:v,removeEvent:w,uniqueKey:k}=r;class C{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(d({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 d(this,t=C.prototype.optionsToObject.call(this,t)),this.options=this.options?d(this.options,t):t,t.group&&delete this.group,t.dataLabels&&delete this.dataLabels,s&&(this.y=C.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,r=i.hoverPoints,n=o(t.series.chart.renderer.globalAnimation),a=()=>{for(let e in(t.graphic||t.graphics||t.dataLabel||t.dataLabels)&&(w(t),t.destroyElements()),t)delete t[e]};t.legendItem&&i.legend.destroyItem(t),r&&(t.setState(),c(r,t),r.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,r=this.series.options;s.manageEvent(t),"click"===t&&r.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,r=[],o={singular:[],plural:[]};for((t=t||{graphic:1,dataLabel:1}).graphic&&r.push("graphic","connector"),t.dataLabel&&r.push("dataLabel","dataLabelPath","dataLabelUpper"),i=r.length;i--;)s[e=r[i]]&&o.singular.push(e);return["graphic","dataLabel"].forEach((function(e){let i=e+"s";t[e]&&s[i]&&o.plural.push(i)})),o}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,e=this.series,i=e.zones,s=e.zoneAxis||"y",r=0;for(t=i[0];this[s]>=t.value;)t=i[++r];return this.nonZonedColor||(this.nonZonedColor=this.color),t&&t.color&&!this.options.color?this.color=t.color:this.color=this.nonZonedColor,t}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=k()),this.resolveColor(),t.chart.pointCount++,p(this,"afterInit")}isValid(){return(m(this.x)||this.x instanceof Date)&&m(this.y)}optionsToObject(t){let e,i=this.series,s=i.options.keys,r=s||i.pointArrayMap||["y"],o=r.length,n={},a=0,l=0;if(m(t)||null===t)n[r[0]]=t;else if(g(t))for(!s&&t.length>o&&("string"==(e=typeof t[0])?n.name=t[0]:"number"===e&&(n.x=t[0]),a++);l0?C.prototype.setNestedProperty(n,t[a],r[l]):n[r[l]]=t[a]),a++,l++;else"object"==typeof t&&(n=t,t.dataLabels&&(i.hasDataLabels=()=>!0),t.marker&&(i._hasPointMarkers=!0));return n}pos(t,e=this.plotY){if(!this.destroyed){let{plotX:i,series:s}=this,{chart:r,xAxis:o,yAxis:n}=s,a=0,l=0;if(m(i)&&m(e))return t&&(a=o?o.pos:r.plotLeft,l=n?n.pos:r.plotTop),r.inverted&&o&&n?[n.len-e+l,o.len-i+a]:[i+a,e+l]}}resolveColor(){let t,e,i,s=this.series,r=s.chart.options.chart,o=s.chart.styledMode,n=r.colorCount;delete this.nonZonedColor,s.options.colorByPoint?(o||(t=(e=s.options.colors||s.chart.options.colors)[s.colorCounter],n=e.length),i=s.colorCounter,s.colorCounter++,s.colorCounter===n&&(s.colorCounter=0)):(o||(t=s.color),i=s.colorIndex),this.colorIndex=x(this.options.colorIndex,i),this.color=x(this.options.color,t)}setNestedProperty(t,e,i){return i.split(".").reduce((function(t,i,s,r){let o=r.length-1===s;return t[i]=o?e:b(t[i],!0)?t[i]:{},t[i]}),t),t}shouldDraw(){return!this.isNull}tooltipFormatter(t){let e=this.series,i=e.tooltipOptions,s=x(i.valueDecimals,""),r=i.valuePrefix||"",o=i.valueSuffix||"";return e.chart.styledMode&&(t=e.chart.tooltip.styledModeFormat(t)),(e.pointArrayMap||["y"]).forEach((function(e){e="{point."+e,(r||o)&&(t=t.replace(RegExp(e+"}","g"),r+e+"}"+o)),t=t.replace(RegExp(e+"}","g"),e+":,."+s+"f}")})),a(t,{point:this,series:this.series},e.chart)}update(t,e,i,s){let r,o=this,n=o.series,a=o.graphic,l=n.chart,h=n.options;function c(){o.applyOptions(t);let s=a&&o.hasMockGraphic,c=null===o.y?!s:s;a&&c&&(o.graphic=a.destroy(),delete o.hasMockGraphic),b(t,!0)&&(a&&a.element&&t&&t.marker&&void 0!==t.marker.symbol&&(o.graphic=a.destroy()),t?.dataLabels&&o.dataLabel&&(o.dataLabel=o.dataLabel.destroy())),r=o.index,n.updateParallelArrays(o,r),h.data[r]=b(h.data[r],!0)||b(t,!0)?o.options:x(t,h.data[r]),n.isDirty=n.isDirtyData=!0,!n.fixedBox&&n.hasCartesianSeries&&(l.isDirtyBox=!0),"point"===h.legendType&&(l.isDirtyLegend=!0),e&&l.redraw(i)}e=x(e,!0),!1===s?c():o.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,r=s.chart;t=x(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||r.getSelectedPoints().forEach((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(r.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]&&-1!==this.hcEvents?.[t]?.map((t=>t.fn)).indexOf(i)?this.importedUserEvent&&!i&&this.hcEvents?.[t]&&(w(this,t),delete this.hcEvents[t],Object.keys(this.hcEvents)||delete this.importedUserEvent):(this.importedUserEvent?.(),this.importedUserEvent=l(this,t,i))}setState(e,i){let s,r,o,a,l=this.series,h=this.state,c=l.options.states[e||"normal"]||{},u=n.plotOptions[l.type].marker&&l.options.marker,g=u&&!1===u.enabled,f=u&&u.states&&u.states[e||"normal"]||{},b=!1===f.enabled,y=this.marker||{},v=l.chart,w=u&&l.markerAttribs,k=l.halo,C=l.stateMarkerGraphic;if((e=e||"")===this.state&&!i||this.selected&&"select"!==e||!1===c.enabled||e&&(b||g&&!1===f.enabled)||e&&y.states&&y.states[e]&&!1===y.states[e].enabled)return;if(this.state=e,w&&(s=l.markerAttribs(this,e)),this.graphic&&!this.hasMockGraphic){if(h&&this.graphic.removeClass("highcharts-point-"+h),e&&this.graphic.addClass("highcharts-point-"+e),!v.styledMode){r=l.pointAttribs(this,e),o=x(v.options.chart.animation,c.animation);let t=r.opacity;l.options.inactiveOtherPoints&&m(t)&&(this.dataLabels||[]).forEach((function(e){e&&!e.hasClass("highcharts-data-label-hidden")&&(e.animate({opacity:t},o),e.connector&&e.connector.animate({opacity:t},o))})),this.graphic.animate(r,o)}s&&this.graphic.animate(s,x(v.options.chart.animation,f.animation,u.animation)),C&&C.hide()}else e&&f&&(a=y.symbol||l.symbol,C&&C.currentSymbol!==a&&(C=C.destroy()),s&&(C?C[i?"animate":"attr"]({x:s.x,y:s.y}):a&&(l.stateMarkerGraphic=C=v.renderer.symbol(a,s.x,s.y,s.width,s.height).add(l.markerGroup),C.currentSymbol=a)),!v.styledMode&&C&&"inactive"!==this.state&&C.attr(l.pointAttribs(this,e))),C&&(C[e&&this.isInside?"show":"hide"](),C.element.point=this,C.addClass(this.getClassName(),!0));let S=c.halo,A=this.graphic||C,M=A&&A.visibility||"inherit";S&&S.size&&A&&"hidden"!==M&&!this.isCluster?(k||(l.halo=k=v.renderer.path().add(A.parentGroup)),k.show()[i?"animate":"attr"]({d:this.haloPath(S.size)}),k.attr({class:"highcharts-halo highcharts-color-"+x(this.colorIndex,l.colorIndex)+(this.className?" "+this.className:""),visibility:M,zIndex:-1}),k.point=this,v.styledMode||k.attr(d({fill:this.color||l.color,"fill-opacity":S.opacity},t.filterUserAttributes(S.attributes||{})))):k?.point?.haloPath&&!k.point.destroyed&&k.animate({d:k.point.haloPath(0)},null,k.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 C})),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:r}=t,{charts:o,composed:n,isTouchDevice:a}=e,{addEvent:l,attr:h,css:c,extend:d,find:p,fireEvent:u,isNumber:g,isObject:f,objectEach:m,offset:b,pick:y,pushUnique:x,splat:v}=i;class w{applyInactiveState(t){let e,i=[];(t||[]).forEach((function(t){e=t.series,i.push(e),e.linkedParent&&i.push(e.linkedParent),e.linkedSeries&&(i=i.concat(e.linkedSeries)),e.navigatorSeries&&i.push(e.navigatorSeries)})),this.chart.series.forEach((function(t){-1===i.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&&(w.unbindDocumentMouseUp&&(w.unbindDocumentMouseUp=w.unbindDocumentMouseUp()),w.unbindDocumentTouchEnd&&(w.unbindDocumentTouchEnd=w.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:r,zoomHor:o,zoomVert:n}=this,{mouseDownX:a=0,mouseDownY:l=0}=r,h=i.attrs;h.x=r.plotLeft,h.y=r.plotTop,h.width=o?1:r.plotWidth,h.height=n?1:r.plotHeight,o&&(s=t-a,h.width=Math.max(1,Math.abs(s)),h.x=(s>0?0:s)+a),n&&(s=e-l,h.height=Math.max(1,Math.abs(s)),h.y=(s>0?0:s)+l)})),i}drag(t){let e,{chart:i}=this,{mouseDownX:s=0,mouseDownY:o=0}=i,{panning:n,panKey:a,selectionMarkerFill:l}=i.options.chart,h=i.plotLeft,c=i.plotTop,d=i.plotWidth,p=i.plotHeight,u=f(n)?n.enabled:n,g=a&&t[`${a}Key`],m=t.chartX,b=t.chartY,y=this.selectionMarker;if((!y||!y.touch)&&(mh+d&&(m=h+d),bc+p&&(b=c+p),this.hasDragged=Math.sqrt(Math.pow(s-m,2)+Math.pow(o-b,2)),this.hasDragged>10)){e=i.isInsidePlot(s-h,o-c,{visiblePlotOnly:!0});let{shapeType:a,attrs:d}=this.getSelectionMarkerAttrs(m,b);(i.hasCartesianSeries||i.mapView)&&this.hasZoom&&e&&!g&&!y&&(this.selectionMarker=y=i.renderer[a](),y.attr({class:"highcharts-selection-marker",zIndex:7}).add(),i.styledMode||y.attr({fill:l||r("#334eff").setOpacity(.25).get()})),y&&y.attr(d),e&&!y&&u&&i.pan(t,n)}}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)&&(c(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){let r=!(t.noSharedTooltip&&e)&&0>t.options.findNearestPointBy.indexOf("y"),o=t.searchPoint(i,r);f(o,!0)&&o.series&&(!f(s,!0)||function(t,i){let s=t.distX-i.distX,r=t.dist-i.dist,o=i.series.group?.zIndex-t.series.group?.zIndex;return 0!==s&&e?s:0!==r?r:0!==o?o:t.series.index>i.series.index?-1:1}(s,o)>0)&&(s=o)})),s}getChartCoordinatesFromPoint(t,e){let{xAxis:i,yAxis:s}=t.series,r=t.shapeArgs;if(i&&s){let o=t.clientX??t.plotX??0,n=t.plotY||0;return t.isNode&&r&&g(r.x)&&g(r.y)&&(o=r.x,n=r.y),e?{chartX:s.len+s.pos-n,chartY:i.len+i.pos-o}:{chartX:o+i.pos,chartY:n+s.pos}}if(r&&r.x&&r.y)return{chartX:r.x,chartY:r.y}}getChartPosition(){if(this.chartPosition)return this.chartPosition;let{container:t}=this.chart,e=b(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,r,o){let n,a=[],l=function(t){return t.visible&&!(!r&&t.directTouch)&&y(t.options.enableMouseTracking,!0)},h=e,c={chartX:o?o.chartX:void 0,chartY:o?o.chartY:void 0,shared:r};u(this,"beforeGetHoverData",c),n=h&&!h.stickyTracking?[h]:i.filter((t=>t.stickyTracking&&(c.filter||l)(t)));let d=s&&t||!o?t:this.findNearestKDPoint(n,r,o);return h=d&&d.series,d&&(r&&!h.noSharedTooltip?(n=i.filter((function(t){return c.filter?c.filter(t):l(t)&&!t.noSharedTooltip}))).forEach((function(t){let e=p(t.points,(function(t){return t.x===d.x&&!t.isNull}));f(e)&&(t.boosted&&t.boost&&(e=t.boost.getPoint(e)),a.push(e))})):a.push(d)),u(this,"afterGetHoverData",c={hoverPoint:d}),{hoverPoint:c.hoverPoint,hoverSeries:h,hoverPoints:a}}getPointFromEvent(t){let e,i=t.target;for(;i&&!e;)e=i.point,i=i.parentNode;return e}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,s=t;for(;s;){if(i=h(s,"class")){if(-1!==i.indexOf(e))return!0;if(-1!==i.indexOf("highcharts-container"))return!1}s=s.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 r=s.pageX-e.left,o=s.pageY-e.top;return d(t,{chartX:Math.round(r/=e.scaleX),chartY:Math.round(o/=e.scaleY)})}onContainerClick(t){let e=this.chart,i=e.hoverPoint,s=this.normalize(t),r=e.plotLeft,o=e.plotTop;!e.cancelClick&&(i&&this.inClass(s.target,"highcharts-tracker")?(u(i.series,"click",d(s,{point:i})),e.hoverPoint&&i.firePointEvent("click",s)):(d(s,this.getCoordinates(s)),e.isInsidePlot(s.chartX-r,s.chartY-o,{visiblePlotOnly:!0})&&u(e,"click",s)))}onContainerMouseDown(t){let i=!(1&~(t.buttons||t.button));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}=o[y(w.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,r=this.normalize(t,s);!s||e.isInsidePlot(r.chartX-e.plotLeft,r.chartY-e.plotTop,{visiblePlotOnly:!0})||i&&i.shouldStickOnContact(r)||r.target!==e.container.ownerDocument&&this.inClass(r.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(t){o[y(w.hoverChartIndex,-1)]?.pointer?.drop(t)}pinch(t){let e=this,{chart:i,hasZoom:s,lastTouches:r}=e,o=[].map.call(t.touches||[],(t=>e.normalize(t))),n=o.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=o,e.res=!0,i.mouseDownX=t.chartX):h?this.runPointActions(e.normalize(t)):r&&(u(i,"touchpan",{originalEvent:t,touches:o},(()=>{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(o),from:e(r),trigger:t.type})})),e.res&&(e.res=!1,this.reset(!1,0))),e.lastTouches=o}reset(t,e){let i=this.chart,s=i.hoverSeries,r=i.hoverPoint,o=i.hoverPoints,n=i.tooltip,a=n&&n.shared?o:r;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&&o?o.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))})):r&&(r.setState(r.state,!0),i.axes.forEach((function(t){t.crosshair&&r.series[t.coll]===t&&t.drawCrosshair(null,r)})))):(r&&r.onMouseOut(),o&&o.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,r=s.series,n=s.tooltip&&s.tooltip.options.enabled?s.tooltip:void 0,a=!!n&&n.shared,h=e||s.hoverPoint,c=h&&h.series||s.hoverSeries,d=(!t||"touchmove"!==t.type)&&(!!e||c&&c.directTouch&&this.isDirectTouch),u=this.getHoverData(h,c,r,d,a,t);h=u.hoverPoint,c=u.hoverSeries;let g=u.hoverPoints,f=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split,m=a&&c&&!c.noSharedTooltip;if(h&&(i||h!==s.hoverPoint||n&&n.isHidden)){if((s.hoverPoints||[]).forEach((function(t){-1===g.indexOf(t)&&t.setState()})),s.hoverSeries!==c&&c.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=>o[w.hoverChartIndex??-1]?.pointer?.onDocumentMouseMove(t))),this.eventsToUnbind.push(this.unDocMouseMove)),s.axes.forEach((function(e){let i,r=y((e.crosshair||{}).snap,!0);!r||(i=s.hoverPoint)&&i.series[e.coll]===e||(i=p(g,(t=>t.series&&t.series[e.coll]===e))),i||!r?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))),w.unbindDocumentMouseUp||(w.unbindDocumentMouseUp=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})),w.unbindDocumentTouchEnd||(w.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||c(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||c(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(w.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||(w.hoverChartIndex=i.index)}touch(t,e){let i,{chart:s,pinchDown:r=[]}=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=!!r[0]&&Math.pow(r[0].chartX-t.chartX,2)+Math.pow(r[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,i,s=this.chart,r=s.inverted,o=s.zooming.type||"";/touch/.test(t.type)&&(o=y(s.zooming.pinchType,o)),this.zoomX=e=/x/.test(o),this.zoomY=i=/y/.test(o),this.zoomHor=e&&!r||i&&r,this.zoomVert=i&&!r||e&&r,this.hasZoom=e||i}}return(s=w||(w={})).compose=function(t){x(n,"Core.Pointer")&&l(t,"beforeRender",(function(){this.pointer=new s(this,this.options)}))},w})),i(e,"Core/Legend/LegendSymbol.js",[e["Core/Utilities.js"]],(function(t){var e;let{extend:i,merge:s,pick:r}=t;return function(t){function e(t,e,o){let n,a=this.legendItem=this.legendItem||{},{chart:l,options:h}=this,{baseline:c=0,symbolWidth:d,symbolHeight:p}=t,u=this.symbol||"circle",g=p/2,f=l.renderer,m=a.group,b=c-Math.round(p*(o?.4:.3)),y={},x=h.marker,v=0;if(l.styledMode||(y["stroke-width"]=Math.min(h.lineWidth||0,24),h.dashStyle?y.dashstyle=h.dashStyle:"square"===h.linecap||(y["stroke-linecap"]="round")),a.line=f.path().addClass("highcharts-graph").attr(y).add(m),o&&(a.area=f.path().addClass("highcharts-area").add(m)),y["stroke-linecap"]&&(v=Math.min(a.line.strokeWidth(),d)/2),d){let t=[["M",v,b],["L",d-v,b]];a.line.attr({d:t}),a.area?.attr({d:[...t,["L",d-v,c],["L",v,c]]})}if(x&&!1!==x.enabled&&d){let t=Math.min(r(x.radius,g),g);0===u.indexOf("url")&&(x=s(x,{width:p,height:p}),t=0),a.symbol=n=f.symbol(u,d/2-t,b-t,2*t,2*t,i({context:"legend"},x)).addClass("highcharts-point").add(m),n.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||{},s=t.options,o=t.symbolHeight,n=s.squareSymbol,a=n?o:t.symbolWidth;i.symbol=this.chart.renderer.rect(n?(t.symbolWidth-o)/2:0,t.baseline-o+1,a,o,r(t.options.symbolRadius,o/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 r;let{defaultOptions:o}=e,{extend:n,extendClass:a,merge:l}=s;return function(e){function s(t,s){let r=o.plotOptions||{},n=s.defaultOptions,a=s.prototype;return a.type=t,a.pointClass||(a.pointClass=i),!e.seriesTypes[t]&&(n&&(r[t]=n),e.seriesTypes[t]=s,!0)}e.seriesTypes=t.seriesTypes,e.registerSeriesType=s,e.seriesType=function(t,r,h,c,d){let p=o.plotOptions||{};if(r=r||"",p[t]=l(p[r],h),delete e.seriesTypes[t],s(t,a(e.seriesTypes[r]||function(){},c)),e.seriesTypes[t].prototype.type=t,d){class s extends i{}n(s.prototype,d),e.seriesTypes[t].prototype.pointClass=s}return e.seriesTypes[t]}}(r||(r={})),r})),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,r,o,n,a,l,h){let{animObject:c,setAnimation:d}=t,{defaultOptions:p}=e,{registerEventOptions:u}=i,{svg:g,win:f}=s,{seriesTypes:m}=a,{arrayMax:b,arrayMin:y,clamp:x,correctFloat:v,crisp:w,defined:k,destroyObjectProperties:C,diffObjects:S,erase:A,error:M,extend:P,find:T,fireEvent:E,getClosestDistance:L,getNestedProperty:D,insertItem:O,isArray:j,isNumber:N,isString:I,merge:B,objectEach:R,pick:z,removeEvent:F,splat:H,syncTimeout:X}=h;class G{constructor(){this.zoneAxis="y"}init(t,e){let i;E(this,"init",{options:e});let s=this,r=t.series;this.eventsToUnbind=[],s.chart=t,s.options=s.setOptions(e);let o=s.options,n=!1!==o.visible;s.linkedSeries=[],s.bindAxes(),P(s,{name:o.name,state:"",visible:n,selected:!0===o.selected}),u(this,o);let a=o.events;(a&&a.click||o.point&&o.point.events&&o.point.events.click||o.allowPointSelect)&&(t.runTrackerClick=!0),s.getColor(),s.getSymbol(),s.parallelArrays.forEach((function(t){s[t+"Data"]||(s[t+"Data"]=[])})),s.isCartesian&&(t.hasCartesianSeries=!0),r.length&&(i=r[r.length-1]),s._i=z(i&&i._i,-1)+1,s.opacity=s.options.opacity,t.orderItems("series",O(this,r)),o.dataSorting&&o.dataSorting.enabled?s.setDataSortingOptions():s.points||s.data||s.setData(o.data,!1),E(this,"afterInit")}is(t){return m[t]&&this instanceof m[t]}bindAxes(){let t,e=this,i=e.options,s=e.chart;E(this,"bindAxes",null,(function(){(e.axisTypes||[]).forEach((function(r){(s[r]||[]).forEach((function(s){t=s.options,(z(i[r],0)===s.index||void 0!==i[r]&&i[r]===t.id)&&(O(e,s.series),e[r]=s,s.isDirty=!0)})),e[r]||e.optionalAxis===r||M(18,!0,s)}))})),E(this,"afterBindAxes")}updateParallelArrays(t,e,i){let s=t.series,r=N(e)?function(i){let r="y"===i&&s.toYData?s.toYData(t):t[i];s[i+"Data"][e]=r}:function(t){Array.prototype[e].apply(s[t+"Data"],i)};s.parallelArrays.forEach(r)}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,i,s=this.options,r=s.pointIntervalUnit,o=s.relativeXValue,n=this.chart.time,a=this.xIncrement;return a=z(a,s.pointStart,0),this.pointInterval=i=z(this.pointInterval,s.pointInterval,1),o&&N(t)&&(i*=t),r&&(e=new n.Date(a),"day"===r?n.set("Date",e,n.get("Date",e)+i):"month"===r?n.set("Month",e,n.get("Month",e)+i):"year"===r&&n.set("FullYear",e,n.get("FullYear",e)+i),i=e.getTime()-a),o&&N(t)?a+i:(this.xIncrement=a+i,a)}setDataSortingOptions(){let t=this.options;P(this,{requireSorting:!1,sorted:!1,enabledDataSorting:!0,allowDG:!1}),k(t.pointRange)||(t.pointRange=1)}setOptions(t){let e,i=this.chart,s=i.options.plotOptions,r=i.userOptions||{},o=B(t),n=i.styledMode,a={plotOptions:s,userOptions:o};E(this,"setOptions",a);let l=a.plotOptions[this.type],h=r.plotOptions||{},c=h.series||{},d=p.plotOptions[this.type]||{},u=h[this.type]||{};this.userOptions=a.userOptions;let g=B(l,s.series,u,o);this.tooltipOptions=B(p.tooltip,p.plotOptions.series?.tooltip,d?.tooltip,i.userOptions.tooltip,h.series?.tooltip,u.tooltip,o.tooltip),this.stickyTracking=z(o.stickyTracking,u.stickyTracking,c.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&&k(f[f.length-1].value)&&f.push(n?{}:{color:this.color,fillColor:this.fillColor}),E(this,"afterSetOptions",{options:g}),g}getName(){return z(this.options.name,"Series "+(this.index+1))}getCyclic(t,e,i){let s,r,o=this.chart,n=`${t}Index`,a=`${t}Counter`,l=i?.length||o.options.chart.colorCount;!e&&(k(r=z("color"===t?this.options.colorIndex:void 0,this[n]))?s=r:(o.series.length||(o[a]=0),s=o[a]%l,o[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,r,n=t.id,a=t.x,l=this.points,h=this.options.dataSorting;if(n){let t=this.chart.get(n);t instanceof o&&(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=T(l,e)))return}return i&&void 0!==(r=i&&i.index)&&(s=!0),void 0===r&&N(a)&&(r=this.xData.indexOf(a,e)),-1!==r&&void 0!==r&&this.cropped&&(r=r>=this.cropStart?r-this.cropStart:r),!s&&N(r)&&l[r]&&l[r].touched&&(r=void 0),r}updateData(t,e){let i,s,r,o,n=this.options,a=n.dataSorting,l=this.points,h=[],c=this.requireSorting,d=t.length===l.length,p=!0;if(this.xIncrement=null,t.forEach((function(t,e){let s,r=k(t)&&this.pointClass.prototype.optionsToObject.call({series:this},t)||{},p=r.x;r.id||N(p)?(-1===(s=this.findPointIndex(r,o))||void 0===s?h.push(t):l[s]&&t!==n.data[s]?(l[s].update(t,!1,null,!1),l[s].touched=!0,c&&(o=s+1)):l[s]&&(l[s].touched=!0),(!d||e!==s||a&&a.enabled||this.hasDerivedData)&&(i=!0)):h.push(t)}),this),i)for(s=l.length;s--;)(r=l[s])&&!r.touched&&r.remove&&r.remove(!1,e);else!d||a&&a.enabled?p=!1:(t.forEach((function(t,e){t===l[e].y||l[e].destroyed||l[e].update(t,!1,null,!1)})),h.length=0);return l.forEach((function(t){t&&(t.touched=!1)})),!!p&&(h.forEach((function(t){this.addPoint(t,!1,null,null,!1)}),this),null===this.xIncrement&&this.xData&&this.xData.length&&(this.xIncrement=b(this.xData),this.autoIncrement()),!0)}setData(t,e=!0,i,s){let r,o,n,a,l=this,h=l.points,c=h&&h.length||0,d=l.options,p=l.chart,u=d.dataSorting,g=l.xAxis,f=d.turboThreshold,m=this.xData,b=this.yData,y=l.pointArrayMap,x=y&&y.length,v=d.keys,w=0,k=1;p.options.chart.allowMutatingData||(d.data&&delete l.options.data,l.userOptions.data&&delete l.userOptions.data,a=B(!0,t));let C=(t=a||t||[]).length;if(u&&u.enabled&&(t=this.sortData(t)),p.options.chart.allowMutatingData&&!1!==s&&C&&c&&!l.cropped&&!l.hasGroupedData&&l.visible&&!l.boosted&&(n=this.updateData(t,i)),!n){l.xIncrement=null,l.colorCounter=0,this.parallelArrays.forEach((function(t){l[t+"Data"].length=0}));let e=f&&C>f;if(e){let i=l.getFirstValidPoint(t),s=l.getFirstValidPoint(t,C-1,-1),n=t=>!(!j(t)||!v&&!N(t[0]));if(N(i)&&N(s))for(r=0;r=0?w:0,k=k>=0?k:1),1===i.length&&(k=0),w===k)for(r=0;r{let s=D(i,t),r=D(i,e);return rs?1:0})).forEach((function(t,e){t.x=e}),this),e.linkedSeries&&e.linkedSeries.forEach((function(e){let i=e.options,r=i.data;i.dataSorting&&i.dataSorting.enabled||!r||(r.forEach((function(i,o){r[o]=s(e,i),t[o]&&(r[o].x=t[o].x,r[o].index=o)})),e.setData(r,!1))})),t}getProcessedData(t){let e,i,s,r,o,n=this,a=n.xAxis,l=n.options.cropThreshold,h=a?.logarithmic,c=n.isCartesian,d=0,p=n.xData,u=n.yData,g=!1,f=p.length;a&&(r=(s=a.getExtremes()).min,o=s.max,g=!(!a.categories||a.names.length)),c&&n.sorted&&!t&&(!l||f>l||n.forceCrop)&&(p[f-1]o?(p=[],u=[]):n.yData&&(p[0]o)&&(p=(e=this.cropData(n.xData,n.yData,r,o)).xData,u=e.yData,d=e.start,i=!0));let m=L([h?p.map(h.log2lin):p],(()=>n.requireSorting&&!g&&M(15,!1,n.chart)));return{xData:p,yData:u,cropped:i,cropStart:d,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,E(this,"afterProcessData")}cropData(t,e,i,s){let r,o,n=t.length,a=0,l=n;for(r=0;r=i){a=Math.max(0,r-1);break}for(o=r;os){l=o+1;break}return{xData:t.slice(a,l),yData:e.slice(a,l),start:a,end:l}}generatePoints(){let t,e,i,s,r=this.options,o=this.processedData||r.data,n=this.processedXData,a=this.processedYData,l=this.pointClass,h=n.length,c=this.cropStart||0,d=this.hasGroupedData,p=r.keys,u=[],g=r.dataGrouping&&r.dataGrouping.groupAll?c:0,f=this.data;if(!f&&!d){let t=[];t.length=o.length,f=this.data=t}for(p&&d&&(this.options.keys=!1),s=0;s0:n.length)||!u),r=e||this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||!h||(C[a+p]||o)>=x&&(C[a-p]||o)<=v,s&&r)if(l=n.length)for(;l--;)N(n[l])&&(d[w++]=n[l]);else d[w++]=n;let S={activeYData:d,dataMin:y(d),dataMax:b(d)};return E(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,r=e;for(;r>=0&&r1)&&(o.step=function(t,e){i&&i.apply(e,arguments),"width"===e.prop&&l?.element&&l.attr(r?"height":"width",t+99)}),a.addClass("highcharts-animating").animate(t,o)}}afterAnimate(){this.setClip(),R(this.chart.sharedClips,((t,e,i)=>{t&&!this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`)&&(t.destroy(),delete i[e])})),this.finishedAnimating=!0,E(this,"afterAnimate")}drawPoints(t=this.points){let e,i,s,r,o,n,a,l=this.chart,h=l.styledMode,{colorAxis:c,options:d}=this,p=d.marker,u=this[this.specialGroup||"markerGroup"],g=this.xAxis,f=z(p.enabled,!g||!!g.isRadial||null,this.closestPointRangePx>=p.enabledThreshold*p.radius);if(!1!==p.enabled||this._hasPointMarkers)for(e=0;e0||i.hasImage)&&(i.graphic=s=l.renderer.symbol(t,a.x,a.y,a.width,a.height,n?o:p).add(u),this.enabledDataSorting&&l.hasRendered&&(s.attr({x:i.startXPos}),r="animate")),s&&"animate"===r&&s[e?"show":"hide"](e).animate(a),s){let t=this.pointAttribs(i,h||!i.selected?void 0:"select");h?c&&s.css({fill:t.fill}):s[r](t)}s&&s.addClass(i.getClassName(),!0)}else s&&(i.graphic=s.destroy())}markerAttribs(t,e){let i,s,r=this.options,o=r.marker,n=t.marker||{},a=n.symbol||o.symbol,l={},h=z(n.radius,o&&o.radius);e&&(i=o.states[e],h=z((s=n.states&&n.states[e])&&s.radius,i&&i.radius,h&&h+(i&&i.radiusPlus||0))),t.hasImage=a&&0===a.indexOf("url"),t.hasImage&&(h=0);let c=t.pos();return N(h)&&c&&(r.crisp&&(c[0]=w(c[0],t.hasImage?0:"rect"===a?o?.lineWidth||0:1)),l.x=c[0]-h,l.y=c[1]-h),h&&(l.width=l.height=2*h),l}pointAttribs(t,e){let i,s,r,o,n=this.options.marker,a=t&&t.options,l=a&&a.marker||{},h=a&&a.color,c=t&&t.color,d=t&&t.zone&&t.zone.color,p=this.color,u=z(l.lineWidth,n.lineWidth),g=1;return p=h||d||c||p,r=l.fillColor||n.fillColor||p,o=l.lineColor||n.lineColor||p,e=e||"normal",i=n.states[e]||{},u=z((s=l.states&&l.states[e]||{}).lineWidth,i.lineWidth,u+z(s.lineWidthPlus,i.lineWidthPlus,0)),r=s.fillColor||i.fillColor||r,{stroke:o=s.lineColor||i.lineColor||o,"stroke-width":u,fill:r,opacity:g=z(s.opacity,i.opacity,g)}}destroy(t){let e,i,s,r=this,o=r.chart,n=/AppleWebKit\/533/.test(f.navigator.userAgent),a=r.data||[];for(E(r,"destroy",{keepEventsForUpdate:t}),this.removeEvents(t),(r.axisTypes||[]).forEach((function(t){(s=r[t])&&s.series&&(A(s.series,r),s.isDirty=s.forceRedraw=!0)})),r.legendItem&&r.chart.legend.destroyItem(r),e=a.length;e--;)(i=a[e])&&i.destroy&&i.destroy();for(let t of r.zones)C(t,void 0,!0);h.clearTimeout(r.animationTimeout),R(r,(function(t,e){t instanceof l&&!t.survive&&t[n&&"group"===e?"hide":"destroy"]()})),o.hoverSeries===r&&(o.hoverSeries=void 0),A(o.series,r),o.orderItems("series"),R(r,(function(e,i){t&&"hcEvents"===i||delete r[i]}))}applyZones(){let{area:t,chart:e,graph:i,zones:s,points:r,xAxis:o,yAxis:n,zoneAxis:a}=this,{inverted:l,renderer:h}=e,c=this[`${a}Axis`],{isXAxis:d,len:p=0}=c||{},u=(i?.strokeWidth()||0)/2+1,g=(t,e=0,i=0)=>{l&&(i=p-i);let{translated:s=0,lineClip:r}=t,o=i-s;r?.push(["L",e,Math.abs(o){t.forEach(((e,i)=>{("M"===e[0]||"L"===e[0])&&(t[i]=[e[0],d?p-e[1]:e[1],d?e[2]:p-e[2]])}))};if(s.forEach((t=>{t.lineClip=[],t.translated=x(c.toPixels(z(t.value,e),!0)||0,0,p)})),i&&!this.showLine&&i.hide(),t&&t.hide(),"y"===a&&r.length{let s=e.lineClip||[],r=Math.round(e.translated||0);o.reversed&&s.reverse();let{clip:a,simpleClip:c}=e,p=0,g=0,b=o.len,y=n.len;d?(p=r,b=m):(g=r,y=m);let x=[["M",p,g],["L",b,g],["L",b,y],["L",p,y],["Z"]],v=[x[0],...s,x[1],x[2],...f,x[3],x[4]];f=s.reverse(),m=r,l&&(u(v),t&&u(x)),a?(a.animate({d:v}),c?.animate({d:x})):(a=e.clip=h.path(v),t&&(c=e.simpleClip=h.path(x))),i&&e.graph?.clip(a),t&&e.area?.clip(c)}))}else this.visible&&(i&&i.show(),t&&t.show())}plotGroup(t,e,i,s,r){let o=this[t],n=!o,a={visibility:i,zIndex:s||.1};return k(this.opacity)&&!this.chart.styledMode&&"inactive"!==this.state&&(a.opacity=this.opacity),o||(this[t]=o=this.chart.renderer.g().add(r)),o.addClass("highcharts-"+e+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(k(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(o.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0),o.attr(a)[n?"attr":"animate"](this.getPlotBox(e)),o}getPlotBox(t){let e=this.xAxis,i=this.yAxis,s=this.chart,r=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:r?90:0,rotationOriginX:r?(e.len-i.len)/2:0,rotationOriginY:r?(e.len+i.len)/2:0,scaleX:r?-1:1,scaleY:1}}removeEvents(t){let{eventsToUnbind:e}=this;t||F(this),e.length&&(e.forEach((t=>{t()})),e.length=0)}render(){let t=this,{chart:e,options:i,hasRendered:s}=t,r=c(i.animation),o=t.visible?"inherit":"hidden",n=i.zIndex,a=e.seriesGroup,l=t.finishedAnimating?0:r.duration;E(this,"render"),t.plotGroup("group","series",o,n,a),t.markerGroup=t.plotGroup("markerGroup","markers",o,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&&r.defer&&(l+=r.defer),t.animationTimeout=X((()=>{t.afterAnimate()}),l||0)),t.isDirty=!1,t.hasRendered=!0,E(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,r=this.chart.inverted;return this.searchKDTree({clientX:r?i.len-t.chartY+i.pos:t.chartX-i.pos,plotY:r?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,X((function(){e.kdTree=function t(i,s,r){let o,n,a=i?.length;if(a)return o=e.kdAxisArray[s%r],i.sort(((t,e)=>(t[o]||0)-(e[o]||0))),{point:i[n=Math.floor(a/2)],left:t(i.slice(0,n),s+1,r),right:t(i.slice(n+1),s+1,r)}}(e.getValidPoints(void 0,!e.directTouch),i,i),e.buildingKdTree=!1}),e.options.kdNow||"touchstart"===t?.type?0:1)}searchKDTree(t,e,i){let s=this,[r,o]=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 c,d,p=i.point,u=s.kdAxisArray[a%h],g=p;!function(t,e){let i=t[r],s=e[r],n=k(i)&&k(s)?i-s:null,a=t[o],h=e[o],c=k(a)&&k(h)?a-h:0,d=l&&e.marker?.radius||0;e.dist=Math.sqrt((n&&n*n||0)+c*c)-d,e.distX=k(n)?Math.abs(n)-d:Number.MAX_VALUE}(e,p);let f=(e[u]||0)-(p[u]||0)+(l&&p.marker?.radius||0),m=f<0?"left":"right",b=f<0?"right":"left";return i[m]&&(g=(c=t(e,i[m],a+1,h))[n]=0&&o<=(s?s.len:e.plotHeight)&&r>=0&&r<=(i?i.len:e.plotWidth)}drawTracker(){let t=this,e=t.options,i=e.trackByArea,s=[].concat((i?t.areaPath:t.graphPath)||[]),r=t.chart,o=r.pointer,n=r.renderer,a=r.options.tooltip?.snap||0,l=()=>{e.enableMouseTracking&&r.hoverSeries!==t&&t.onMouseOver()},h="rgba(192,192,192,"+(g?1e-4:.002)+")",c=t.tracker;c?c.attr({d:s}):t.graph&&(t.tracker=c=n.path(s).attr({visibility:t.visible?"inherit":"hidden",zIndex:2}).addClass(i?"highcharts-tracker-area":"highcharts-tracker-line").add(t.group),r.styledMode||c.attr({"stroke-linecap":"round","stroke-linejoin":"round",stroke:h,fill:i?h:"none","stroke-width":t.graph.strokeWidth()+(i?0:2*a)}),[t.tracker,t.markerGroup,t.dataLabelsGroup].forEach((t=>{t&&(t.addClass("highcharts-tracker").on("mouseover",l).on("mouseout",(t=>{o?.onTrackerMouseOut(t)})),e.cursor&&!r.styledMode&&t.css({cursor:e.cursor}),t.on("touchstart",l))}))),E(this,"afterDrawTracker")}addPoint(t,e,i,s,r){let o,n,a=this.options,l=this.data,h=this.chart,c=this.xAxis,d=c&&c.hasNames&&c.names,p=a.data,u=this.xData;e=z(e,!0);let g={series:this};this.pointClass.prototype.applyOptions.apply(g,[t]);let f=g.x;if(n=u.length,this.requireSorting&&ff;)n--;this.updateParallelArrays(g,"splice",[n,0,0]),this.updateParallelArrays(g,n),d&&g.name&&(d[f]=g.name),p.splice(n,0,t),(o||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!==r&&E(this,"addPoint",{point:g}),this.isDirty=!0,this.isDirtyData=!0,e&&h.redraw(s)}removePoint(t,e,i){let s=this,r=s.data,o=r[t],n=s.points,a=s.chart,l=function(){n&&n.length===r.length&&n.splice(t,1),r.splice(t,1),s.options.data.splice(t,1),s.updateParallelArrays(o||{series:s},"splice",[t,1]),o&&o.destroy(),s.isDirty=!0,s.isDirtyData=!0,e&&a.redraw()};d(i,a),e=z(e,!0),o?o.firePointEvent("remove",null,l):l()}remove(t,e,i,s){let r=this,o=r.chart;function n(){r.destroy(s),o.isDirtyLegend=o.isDirtyBox=!0,o.linkSeries(s),z(t,!0)&&o.redraw(e)}!1!==i?E(r,"remove",null,n):n()}update(t,e){E(this,"update",{options:t=S(t,this.userOptions)});let i,s,r=this,o=r.chart,n=r.userOptions,a=r.initialType||r.type,l=o.options.plotOptions,h=m[a].prototype,c=r.finishedAnimating&&{animation:!1},d={},p=["colorIndex","eventOptions","navigatorSeries","symbolIndex","baseSeries"],u=t.type||n.type||o.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=>r.hasOptionChanged(t))));u=u||a,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"),r.parallelArrays.forEach((function(t){p.push(t+"Data")})),t.data&&(t.dataSorting&&P(r.options.dataSorting,t.dataSorting),this.setData(t.data,!1))),t=B(n,{index:void 0===n.index?r.index:n.index,pointStart:l?.series?.pointStart??n.pointStart??r.xData?.[0]},!g&&{data:r.options.data},t,c),g&&t.data&&(t.data=r.options.data),(p=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(p)).forEach((function(t){p[t]=r[t],delete r[t]}));let f=!1;if(m[u]){if(f=u!==r.type,r.remove(!1,!1,!1,!0),f)if(o.propFromSeries(),Object.setPrototypeOf)Object.setPrototypeOf(r,m[u].prototype);else{let t=Object.hasOwnProperty.call(r,"hcEvents")&&r.hcEvents;for(s in h)r[s]=void 0;P(r,m[u].prototype),t?r.hcEvents=t:delete r.hcEvents}}else M(17,!0,o,{missingModuleFor:u});if(p.forEach((function(t){r[t]=p[t]})),r.init(o,t),g&&this.points)for(let t of(!1===(i=r.options).visible?(d.graphic=1,d.dataLabel=1):(this.hasMarkerChanged(i,n)&&(d.graphic=1),r.hasDataLabels?.()||(d.dataLabel=1)),this.points))t&&t.series&&(t.resolveColor(),Object.keys(d).length&&t.destroyElements(d),!1===i.showInLegend&&t.legendItem&&o.legend.destroyItem(t));r.initialType=a,o.linkSeries(),o.setSortedData(),f&&r.linkedSeries.length&&(r.isDirtyData=!0),E(this,"afterUpdate"),z(e,!0)&&o.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,r=this.userOptions[t],o=z(s?.[this.type]?.[t],s?.series?.[t]);return r&&!k(o)?i!==r:i!==z(o,i)}onMouseOver(){let t=this.chart,e=t.hoverSeries,i=t.pointer;i?.setHoverChartIndex(),e&&e!==this&&e.onMouseOut(),this.options.events.mouseOver&&E(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&&E(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,r=i.graph,o=s.inactiveOtherPoints,n=s.states,a=z(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=z(n[t].opacity,h)),r&&!r.dashstyle&&N(l))for(let t of[r,...this.zones.map((t=>t.graph))])t?.animate({"stroke-width":l},a);o||[i.group,i.markerGroup,i.dataLabelsGroup,i.labelBySeries].forEach((function(t){t&&t.animate({opacity:h},a)}))}e&&o&&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,r=s.options.chart.ignoreHiddenSeries,o=i.visible;i.visible=t=i.options.visible=i.userOptions.visible=void 0===t?!o: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)})),r&&(s.isDirtyBox=!0),E(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),E(this,t?"select":"unselect")}shouldShowTooltip(t,e,i={}){return i.series=this,i.visiblePlotOnly=!0,this.chart.isInsidePlot(t,e,i)}drawLegendSymbol(t,e){r[this.options.legendSymbol||"rectangle"]?.call(this,t,e)}}return G.defaultOptions=n,G.types=a.seriesTypes,G.registerType=a.registerSeriesType,P(G.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,directTouch:!1,invertible:!0,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:o,requireSorting:!0,sorted:!0}),a.series=G,G})),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,r,o,n,a){var l;let{animObject:h,setAnimation:c}=t,{registerEventOptions:d}=e,{composed:p,marginNames:u}=i,{distribute:g}=o,{format:f}=n,{addEvent:m,createElement:b,css:y,defined:x,discardElement:v,find:w,fireEvent:k,isNumber:C,merge:S,pick:A,pushUnique:M,relativeLength:P,stableSort:T,syncTimeout:E}=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(),d(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=A(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=A(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&&d(this,this.options),this.destroy(),i.isDirtyLegend=i.isDirtyBox=!0,A(e,!0)&&i.redraw(),k(this,"afterUpdate",{redraw:e})}colorizeItem(t,e){let{area:i,group:s,label:r,line:o,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:c,marker:d}=t.options,p=t=>(!e&&(t.fill&&(t.fill=a),t.stroke&&(t.stroke=a)),t);r?.css(S(e?this.itemStyle:s)),o?.attr(p({stroke:c||t.color})),n&&n.attr(p(d&&n.isMarker?t.pointAttribs():{fill:t.color})),i?.attr(p({fill:l||t.color,"fill-opacity":l?1:h??.75}))}k(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||{},r=this.options,o=r.symbolPadding,n=!r.rtl,a=t.checkbox;if(e&&e.element){let r={translateX:n?i:this.legendWidth-i-2*o-4,translateY:s};e[x(e.translateY)?"animate":"attr"](r,void 0,(()=>{k(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(r){let o,n=r.checkbox;n&&(o=t+s+n.y+(this.scrollOffset||0)+3,y(n,{left:e.translateX+r.checkboxOffset+n.x-20+"px",top:o+"px",display:this.proximate||o>t-6&&o1.5*w?v.height:w))}layoutItem(t){let e=this.options,i=this.padding,s="horizontal"===e.layout,r=t.itemHeight,o=this.itemMarginBottom,n=this.itemMarginTop,a=s?A(e.itemDistance,20):0,l=this.maxLegendWidth,h=e.alignColumns&&this.totalItemWidth>l?this.maxItemWidth:t.itemWidth,c=t.legendItem||{};s&&this.itemX-i+h>l&&(this.itemX=i,this.lastLineHeight&&(this.itemY+=n+this.lastLineHeight+o),this.lastLineHeight=0),this.lastItemY=n+this.itemY+o,this.lastLineHeight=Math.max(r,this.lastLineHeight),c.x=this.itemX,c.y=this.itemY,s?this.itemX+=h:(this.itemY+=n+r+o,this.lastLineHeight=r),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&&A(i.showInLegend,!x(i.linkedTo)&&void 0,!0)&&(t=t.concat((e.legendItem||{}).labels||("point"===i.legendType?e.data:e)))})),k(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,r=this.getAlignment();r&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach((function(o,n){o.test(r)&&!x(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"]+A(s.margin,12)+e[n]+(i.titleOffset[n]||0)))}))}proximatePositions(){let t,e=this.chart,i=[],s="left"===this.options.align;for(let r of(this.allItems.forEach((function(t){let r,o,n,a,l=s;t.yAxis&&(t.xAxis.options.reversed&&(l=!l),t.points&&(r=w(l?t.points:t.points.slice(0).reverse(),(function(t){return C(t.plotY)}))),o=this.itemMarginTop+t.legendItem.label.getBBox().height+this.itemMarginBottom,a=t.yAxis.top-e.plotTop,n=t.visible?(r?r.plotY:t.yAxis.height)+(a-.3*o):a+t.yAxis.height,i.push({target:n,size:o,item:t}))}),this),g(i,e.plotHeight)))t=r.item.legendItem||{},C(r.pos)&&(t.y=e.plotTop-e.spacing[0]+r.pos)}render(){let t,e,i,s,r=this.chart,o=r.renderer,n=this.options,a=this.padding,l=this.getAllItems(),h=this.group,c=this.box;this.itemX=a,this.itemY=this.initialItemY,this.offsetWidth=0,this.lastItemY=0,this.widthOption=P(n.width,r.spacingBox.width-a),s=r.spacingBox.width-2*a-n.x,["rm","lm"].indexOf(this.getAlignment().substring(0,2))>-1&&(s/=2),this.maxLegendWidth=this.widthOption||s,h||(this.group=h=o.g("legend").addClass(n.className||"").attr({zIndex:7}).add(),this.contentGroup=o.g().attr({zIndex:1}).add(h),this.scrollGroup=o.g().add(this.contentGroup)),this.renderTitle(),T(l,((t,e)=>(t.options&&t.options.legendIndex||0)-(e.options&&e.options.legendIndex||0))),n.reversed&&l.reverse(),this.allItems=l,this.display=t=!!l.length,this.lastLineHeight=0,this.maxItemWidth=0,this.totalItemWidth=0,this.itemHeight=0,l.forEach(this.renderItem,this),l.forEach(this.layoutItem,this),e=(this.widthOption||this.offsetWidth)+a,i=this.lastItemY+this.lastLineHeight+this.titleHeight,i=this.handleOverflow(i)+a,c||(this.box=c=o.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(h)),r.styledMode||c.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow),e>0&&i>0&&c[c.placed?"animate":"attr"](c.crisp.call({},{x:0,y:0,width:e,height:i},c.strokeWidth())),h[t?"show":"hide"](),r.styledMode&&"none"===h.getStyle("display")&&(e=i=0),this.legendWidth=e,this.legendHeight=i,t&&this.align(),this.proximate||this.positionItems(),k(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,i,s,r=this,o=this.chart,n=o.renderer,a=this.options,l=a.y,h="top"===a.verticalAlign,c=this.padding,d=a.maxHeight,p=a.navigation,u=A(p.animation,!0),g=p.arrowSize||12,f=this.pages,m=this.allItems,b=function(t){"number"==typeof t?w.attr({height:t}):w&&(r.clipRect=w.destroy(),r.contentGroup.clip()),r.contentGroup.div&&(r.contentGroup.div.style.clip=t?"rect("+c+"px,9999px,"+(c+t)+"px,0)":"auto")},y=function(t){return r[t]=n.circle(0,0,1.3*g).translate(g/2,g/2).add(v),o.styledMode||r[t].attr("fill","rgba(0,0,0,0.0001)"),r[t]},x=o.spacingBox.height+(h?-l:l)-c,v=this.nav,w=this.clipRect;return"horizontal"!==a.layout||"middle"===a.verticalAlign||a.floating||(x/=2),d&&(x=Math.min(x,d)),f.length=0,t&&x>0&&t>x&&!1!==p.enabled?(this.clipHeight=e=Math.max(x-20-this.titleHeight-c,0),this.currentPage=A(this.currentPage,1),this.fullHeight=t,m.forEach(((t,r)=>{let o=(s=t.legendItem||{}).y||0,n=Math.round(s.label.getBBox().height),a=f.length;(!a||o-f[a-1]>e&&(i||o)!==f[a-1])&&(f.push(i||o),a++),s.pageIx=a-1,i&&((m[r-1].legendItem||{}).pageIx=a-1),r===m.length-1&&o+n-f[a-1]>e&&o>f[a-1]&&(f.push(o),s.pageIx=a),o!==i&&(i=o)})),w||(w=r.clipRect=n.clipRect(0,c-2,9999,0),r.contentGroup.clip(w)),b(e),v||(this.nav=v=n.g().attr({zIndex:1}).add(this.group),this.up=n.symbol("triangle",0,0,g,g).add(v),y("upTracker").on("click",(function(){r.scroll(-1,u)})),this.pager=n.text("",15,10).addClass("highcharts-legend-navigation"),!o.styledMode&&p.style&&this.pager.css(p.style),this.pager.add(v),this.down=n.symbol("triangle-down",0,0,g,g).add(v),y("downTracker").on("click",(function(){r.scroll(1,u)}))),r.scroll(0),t=x):v&&(b(),this.nav=v.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0),t}scroll(t,e){let i=this.chart,s=this.pages,r=s.length,o=this.clipHeight,n=this.options.navigation,a=this.pager,l=this.padding,d=this.currentPage+t;d>r&&(d=r),d>0&&(void 0!==e&&c(e,i),this.nav.attr({translateX:l,translateY:o+this.padding+7+this.titleHeight,visibility:"inherit"}),[this.up,this.upTracker].forEach((function(t){t.attr({class:1===d?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})})),a.attr({text:d+"/"+r}),[this.down,this.downTracker].forEach((function(t){t.attr({x:18+this.pager.getBBox().width,class:d===r?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"})}),this),i.styledMode||(this.up.attr({fill:1===d?n.inactiveColor:n.activeColor}),this.upTracker.css({cursor:1===d?"default":"pointer"}),this.down.attr({fill:d===r?n.inactiveColor:n.activeColor}),this.downTracker.css({cursor:d===r?"default":"pointer"})),this.scrollOffset=-s[d-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=d,this.positionCheckboxes(),E((()=>{k(this,"afterScroll",{currentPage:d})}),h(A(e,i.renderer.globalAnimation,!0)).duration))}setItemEvents(t,e,i){let o=this,n=t.legendItem||{},a=o.chart.renderer.boxWrapper,l=t instanceof r,h=t instanceof s,c="highcharts-legend-"+(l?"point":"series")+"-active",d=o.chart.styledMode,p=i?[e,n.symbol]:[n.group],u=e=>{o.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(c),d||e.css(o.options.itemHoverStyle)})).on("mouseout",(function(){o.chart.styledMode||e.css(S(t.visible?o.itemStyle:o.itemHiddenStyle)),u(""),a.removeClass(c),t.setState()})).on("click",(function(e){a.removeClass(c),k(o,"itemClick",{browserEvent:e,legendItem:t},(function(){t.setVisible&&t.setVisible(),u(t.visible?"inactive":"")})),l?t.firePointEvent("legendItemClick",{browserEvent:e}):h&&k(t,"legendItemClick",{browserEvent:e})}))}createCheckboxForItem(t){t.checkbox=b("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;k(t.series||t,"checkboxClick",{checked:i.checked,item:t},(function(){t.select()}))}))}}return(l=L||(L={})).compose=function(t){M(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,r,o,n,a,l,h,c,d,p,u){let{animate:g,animObject:f,setAnimation:m}=t,{defaultOptions:b,defaultTime:y}=i,{numberFormat:x}=s,{registerEventOptions:v}=r,{charts:w,doc:k,marginNames:C,svg:S,win:A}=o,{seriesTypes:M}=l,{addEvent:P,attr:T,createElement:E,css:L,defined:D,diffObjects:O,discardElement:j,erase:N,error:I,extend:B,find:R,fireEvent:z,getStyle:F,isArray:H,isNumber:X,isObject:G,isString:W,merge:Y,objectEach:U,pick:q,pInt:V,relativeLength:_,removeEvent:K,splat:$,syncTimeout:Z,uniqueKey:J}=d;class Q{static chart(t,e,i){return new Q(t,e,i)}constructor(t,e,i){this.sharedClips={};let s=[...arguments];(W(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:q(t.zoomType,e.type),key:q(t.zoomKey,e.key),pinchType:q(t.pinchType,e.pinchType),singleTouch:q(t.zoomBySingleTouch,e.singleTouch,!1),resetButton:Y(e.resetButton,t.resetZoomButton)}}init(t,e){z(this,"init",{args:arguments},(function(){let i=Y(b,t),s=i.chart;this.userOptions=B({},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 c(t.time):o.time,this.numberFormatter=s.numberFormatter||x,this.styledMode=s.styledMode,this.hasCartesianSeries=s.showAxes,this.index=w.length,w.push(this),o.chartCount++,v(this,s),this.xAxis=[],this.yAxis=[],this.pointCount=this.colorCounter=this.symbolCounter=0,this.setZoomOptions(),z(this,"afterInit"),this.firstRender()}))}initSeries(t){let e=this.options.chart,i=t.type||e.type,s=M[i];s||I(17,!0,this,{missingModuleFor:i});let r=new s;return"function"==typeof r.init&&r.init(this,t),r}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]=$(this.options[t]).slice(),r=this.userOptions[t]=this.userOptions[t]?$(this.userOptions[t]).slice():[];if(this.hasRendered&&(s.splice(e),r.splice(e)),i)for(let t=e,o=i.length;t=Math.max(l+o,t.pos)&&e<=Math.min(l+o+d.width,t.pos+t.len)||(g.isInsidePlot=!1)}if(!i.ignoreY&&g.isInsidePlot){let t=!s&&i.axis&&!i.axis.isXAxis&&i.axis||c&&(s?c.xAxis:c.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+d.height,t.pos+t.len)||(g.isInsidePlot=!1)}return z(this,"afterIsInsidePlot",g),g.isInsidePlot}redraw(t){z(this,"beforeRedraw");let e,i,s,r,o=this.hasCartesianSeries?this.axes:this.colorAxis||[],n=this.series,a=this.pointer,l=this.legend,h=this.userOptions.legend,c=this.renderer,d=c.isHidden(),p=[],u=this.isDirtyBox,g=this.isDirtyLegend;for(c.rootFontSize=c.boxWrapper.getStyle("font-size"),this.setResponsive&&this.setResponsive(!1),m(!!this.hasRendered&&t,this),d&&this.temporaryDisplay(),this.layOutTitles(!1),s=n.length;s--;)if(((r=n[s]).options.stacking||r.options.centerInCategory)&&(i=!0,r.isDirty)){e=!0;break}if(e)for(s=n.length;s--;)(r=n[s]).options.stacking&&(r.isDirty=!0);n.forEach((function(t){t.isDirty&&("point"===t.options.legendType?("function"==typeof t.updateTotals&&t.updateTotals(),g=!0):h&&(h.labelFormatter||h.labelFormat)&&(g=!0)),t.isDirtyData&&z(t,"updatedData")})),g&&l&&l.options.enabled&&(l.render(),this.isDirtyLegend=!1),i&&this.getStacks(),o.forEach((function(t){t.updateNames(),t.setScale()})),this.getMargins(),o.forEach((function(t){t.isDirty&&(u=!0)})),o.forEach((function(t){let e=t.min+","+t.max;t.extKey!==e&&(t.extKey=e,p.push((function(){z(t,"afterSetExtremes",B(t.eventArgs,t.getExtremes())),delete t.eventArgs}))),(u||i)&&t.redraw()})),u&&this.drawChartBox(),z(this,"predraw"),n.forEach((function(t){(u||t.isDirty)&&t.visible&&t.redraw(),t.isDirtyData=!1})),a&&a.reset(!0),c.draw(),z(this,"redraw"),z(this,"render"),d&&this.temporaryDisplay(!0),p.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=R(this.axes,i)||R(this.series,i);for(let t=0;!s&&t(e.getPointsCollection().forEach((e=>{q(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),r=this[t];r&&e&&(this[t]=r=r.destroy()),s&&!r&&((r=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||r.css(B("title"===t?{fontSize:this.options.isStock?"1em":"1.2em"}:{},s.style)),this[t]=r)}layOutTitles(t=!0){let e=[0,0,0],i=this.renderer,s=this.spacingBox;["title","subtitle","caption"].forEach((function(t){let r=this[t],o=this.options[t],n=o.verticalAlign||"top",a="title"===t?"top"===n?-3:0:"top"===n?e[0]+2:0;if(r){r.css({width:(o.width||s.width+(o.widthAdjust||0))+"px"});let t=i.fontMetrics(r).b,l=Math.round(r.getBBox(o.useHTML).height);r.align(B({y:"bottom"===n?t:a+t,height:l},o),!1,"spacingBox"),o.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 r=!this.titleOffset||this.titleOffset.join(",")!==e.join(",");this.titleOffset=e,z(this,"afterLayOutTitles"),!this.isDirtyBox&&r&&(this.isDirtyBox=this.isDirtyLegend=r,this.hasRendered&&t&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:F(this.renderTo,"width",!0)||0,height:F(this.renderTo,"height",!0)||0}}getChartSize(){let t=this.options.chart,e=t.width,i=t.height,s=this.getContainerBox();this.chartWidth=Math.max(0,e||s.width||600),this.chartHeight=Math.max(0,_(i,this.chartWidth)||(s.height>1?s.height:400)),this.containerBox=s}temporaryDisplay(t){let e,i=this.renderTo;if(t)for(;i&&i.style;)i.hcOrigStyle&&(L(i,i.hcOrigStyle),delete i.hcOrigStyle),i.hcOrigDetached&&(k.body.removeChild(i),i.hcOrigDetached=!1),i=i.parentNode;else for(;i&&i.style&&(k.body.contains(i)||i.parentNode||(i.hcOrigDetached=!0,k.body.appendChild(i)),("none"===F(i,"display",!1)||i.hcOricDetached)&&(i.hcOrigStyle={display:i.style.display,height:i.style.height,overflow:i.style.overflow},e={display:"block",overflow:"hidden"},i!==this.renderTo&&(e.height=0),L(i,e),i.offsetWidth||i.style.setProperty("display","block","important")),(i=i.parentNode)!==k.body););}setClassName(t){this.container.className="highcharts-container "+(t||"")}getContainer(){let t,e=this.options,i=e.chart,s="data-highcharts-chart",r=J(),a=this.renderTo;a||(this.renderTo=a=i.renderTo),W(a)&&(this.renderTo=a=k.getElementById(a)),a||I(13,!0,this);let l=V(T(a,s));X(l)&&w[l]&&w[l].hasRendered&&w[l].destroy(),T(a,s,this.index),a.innerHTML=p.emptyHTML,i.skipClone||a.offsetWidth||this.temporaryDisplay(),this.getChartSize();let c=this.chartHeight,d=this.chartWidth;L(a,{overflow:"hidden",pointerEvents:o.isChrome?"fill":"auto"}),this.styledMode||(t=B({position:"relative",overflow:"hidden",width:d+"px",height:c+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)",userSelect:"none","touch-action":"manipulation",outline:"none"},i.style||{}));let u=E("div",{id:r},t,a);this.container=u,this.getChartSize(),d===this.chartWidth||(d=this.chartWidth,this.styledMode||L(u,{width:q(i.style?.width,d+"px")})),this.containerBox=this.getContainerBox(),this._cursor=u.style.cursor;let g=i.renderer||!S?n.getRendererType(i.renderer):h;if(this.renderer=new g(u,d,c,void 0,i.forExport,e.exporting&&e.exporting.allowHTML,this.styledMode),m(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,z(this,"afterGetContainer")}getMargins(t){let{spacing:e,margin:i,titleOffset:s}=this;this.resetMargins(),s[0]&&!D(i[0])&&(this.plotTop=Math.max(this.plotTop,s[0]+e[0])),s[2]&&!D(i[2])&&(this.marginBottom=Math.max(this.marginBottom,s[2]+e[2])),this.legend&&this.legend.display&&this.legend.adjustMargins(i,e),z(this,"getMargins"),t||this.getAxisMargins()}getAxisMargins(){let t=this,e=t.axisOffset=[0,0,0,0],i=t.colorAxis,s=t.margin,r=function(t){t.forEach((function(t){t.visible&&t.getOffset()}))};t.hasCartesianSeries?r(t.axes):i&&i.length&&r(i),C.forEach((function(i,r){D(s[r])||(t[i]+=e[r])})),t.setChartSize()}getOptions(){return O(this.userOptions,b)}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)&&(d.clearTimeout(e.reflowTimeout),e.reflowTimeout=Z((function(){e.container&&e.setSize(void 0,void 0,!1)}),t?100:0)),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=P(A,"resize",e);P(this,"destroy",t)}}setSize(t,e,i){let s=this,r=s.renderer;s.isResizing+=1,m(i,s);let o=r.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||(o?g:L)(s.container,{width:`${n+l}px`,height:`${a+h}px`},o),s.setChartSize(!0),r.setSize(n,a,o),s.axes.forEach((function(t){t.isDirty=!0,t.setScale()})),s.isDirtyLegend=!0,s.isDirtyBox=!0,s.layOutTitles(),s.getMargins(),s.redraw(o),s.oldChartHeight=void 0,z(s,"resize"),setTimeout((()=>{s&&z(s,"endResize")}),f(o).duration)),s.isResizing-=1}setChartSize(t){let e,i,s,r,{chartHeight:o,chartWidth:n,inverted:a,spacing:l,renderer:h}=this,c=this.clipOffset,d=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=r=Math.max(0,Math.round(o-i-this.marginBottom)),this.plotSizeX=a?r:s,this.plotSizeY=a?s:r,this.spacingBox=h.spacingBox={x:l[3],y:l[0],width:n-l[3]-l[1],height:o-l[0]-l[2]},this.plotBox=h.plotBox={x:e,y:i,width:s,height:r},c&&(this.clipBox={x:d(c[3]),y:d(c[0]),width:d(this.plotSizeX-c[1]-c[3]),height:d(this.plotSizeY-c[0]-c[2])}),t||(this.axes.forEach((function(t){t.setAxisSize(),t.setAxisTranslation()})),h.alignElements()),z(this,"afterSetChartSize",{skipAxes:t})}resetMargins(){z(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],r=G(s)?s:[s,s,s,s];["Top","Right","Bottom","Left"].forEach((function(s,o){t[i][o]=q(e[i+s],r[o])}))})),C.forEach((function(e,i){t[e]=q(t.margin[i],t.spacing[i])})),t.axisOffset=[0,0,0,0],t.clipOffset=[s,s,s,s],t.plotBorderWidth=i}drawChartBox(){let t,e,i,s=this.options.chart,r=this.renderer,o=this.chartWidth,n=this.chartHeight,a=this.styledMode,l=this.plotBGImage,h=s.backgroundColor,c=s.plotBackgroundColor,d=s.plotBackgroundImage,p=this.plotLeft,u=this.plotTop,g=this.plotWidth,f=this.plotHeight,m=this.plotBox,b=this.clipRect,y=this.clipBox,x=this.chartBackground,v=this.plotBackground,w=this.plotBorder,k="animate";x||(this.chartBackground=x=r.rect().addClass("highcharts-background").add(),k="attr"),a?t=e=x.strokeWidth():(e=(t=s.borderWidth||0)+(s.shadow?8:0),i={fill:h||"none"},(t||x["stroke-width"])&&(i.stroke=s.borderColor,i["stroke-width"]=t),x.attr(i).shadow(s.shadow)),x[k]({x:e/2,y:e/2,width:o-e-t%2,height:n-e-t%2,r:s.borderRadius}),k="animate",v||(k="attr",this.plotBackground=v=r.rect().addClass("highcharts-plot-background").add()),v[k](m),!a&&(v.attr({fill:c||"none"}).shadow(s.plotShadow),d&&(l?(d!==l.attr("href")&&l.attr("href",d),l.animate(m)):this.plotBGImage=r.image(d,p,u,g,f).add())),b?b.animate({width:y.width,height:y.height}):this.clipRect=r.clipRect(y),k="animate",w||(k="attr",this.plotBorder=w=r.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add()),a||w.attr({stroke:s.plotBorderColor,"stroke-width":s.plotBorderWidth||0,fill:"none"}),w[k](w.crisp({x:p,y:u,width:g,height:f},-w.strokeWidth())),this.isDirtyBox=!1,z(this,"afterDrawChartBox")}propFromSeries(){let t,e,i,s=this,r=s.options.chart,o=s.options.series;["inverted","angular","polar"].forEach((function(n){for(e=M[r.type],i=r[n]||e&&e.prototype[n],t=o&&o.length;!i&&t--;)(e=M[o[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(W(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=q(t.options.visible,s.options.visible,t.visible))}})),z(this,"afterLinkSeries",{isUpdating:t})}renderSeries(){this.series.forEach((function(t){t.translate(),t.render()}))}render(){let t,e=this.axes,i=this.colorAxis,s=this.renderer,r=this.options.chart.axisLayoutRuns||2,o=t=>{t.forEach((t=>{t.visible&&t.render()}))},n=0,a=!0,l=0;for(let t of(this.setTitle(),z(this,"beforeMargins"),this.getStacks?.(),this.getMargins(!0),this.setChartSize(),e)){let{options:e}=t,{labels:i}=e;if(this.hasCartesianSeries&&t.horiz&&t.visible&&i.enabled&&t.series.length&&"colorAxis"!==t.coll&&!this.polar){n=e.tickLength,t.createGroups();let s=new u(t,0,"",!0),r=s.createLabel("x",i);if(s.destroy(),r&&q(i.reserveSpace,!X(e.crossing))&&(n=r.getBBox().height+i.distance+Math.max(e.offset||0,0)),n){r?.destroy();break}}}for(this.plotHeight=Math.max(this.plotHeight-n,0);(a||t||r>1)&&l(l?1:1.1),t=s/this.plotHeight>(l?1:1.05),l++}this.drawChartBox(),this.hasCartesianSeries?o(e):i&&i.length&&o(i),this.seriesGroup||(this.seriesGroup=s.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&&(A.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,r=e.container,n=r&&r.parentNode;for(z(e,"destroy"),e.renderer.forExport?N(w,e):w[e.index]=void 0,o.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();["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())})),r&&(r.innerHTML=p.emptyHTML,K(r),n&&j(r)),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=H(e.series)?e.series:[];e.series=[],i.forEach((function(e){t.initSeries(e)})),t.linkSeries(),t.setSortedData(),z(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),z(this,"load"),z(this,"render"),D(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(/this.transform({reset:!0,trigger:"zoom"})))}pan(t,e){let i=this,s="object"==typeof e?e:{enabled:e,type:"x"},r=s.type,o=r&&i[{x:"xAxis",xy:"axes",y:"yAxis"}[r]].filter((t=>t.options.panningEnabled&&!t.options.isInternal)),n=i.options.chart;n?.panning&&(n.panning=s),z(this,"pan",{originalEvent:t},(()=>{i.transform({axes:o,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 e,i,{axes:s=this.axes,event:r,from:o={},reset:n,selection:a,to:l={},trigger:h}=t,{inverted:c}=this,d=!1;for(let t of(this.hoverPoints?.forEach((t=>t.setState())),s)){let{horiz:s,len:p,minPointOffset:u=0,options:g,reversed:f}=t,m=s?"width":"height",b=s?"x":"y",y=q(l[m],t.len),x=q(o[m],t.len),v=10>Math.abs(y)?1:y/x,w=(o[b]||0)+x/2-t.pos,k=w-((l[b]??t.pos)+y/2-t.pos)/v,C=f&&!c||!f&&c?-1:1;if(!n&&(w<0||w>t.len))continue;let S=t.toValue(k,!0)+(a?0:u*C),A=t.toValue(k+p/v,!0)-(a?0:u*C||0),M=t.allExtremes;if(S>A&&([S,A]=[A,S]),1===v&&!n&&"yAxis"===t.coll&&!M){for(let e of t.series){let t=e.getExtremes(e.getProcessedData(!0).yData,!0);M??(M={dataMin:Number.MAX_VALUE,dataMax:-Number.MAX_VALUE}),X(t.dataMin)&&X(t.dataMax)&&(M.dataMin=Math.min(t.dataMin,M.dataMin),M.dataMax=Math.max(t.dataMax,M.dataMax))}t.allExtremes=M}let{dataMin:P,dataMax:T,min:E,max:L}=B(t.getExtremes(),M||{}),O=P??g.min,j=T??g.max,N=A-S,I=t.categories?0:Math.min(N,j-O),R=O-I*(D(g.min)?0:g.minPadding),z=j+I*(D(g.max)?0:g.maxPadding),F=t.allowZoomOutside||1===v||"zoom"!==h&&v>1,H=Math.min(g.min??R,R,F?E:R),G=Math.max(g.max??z,z,F?L:z);(!t.isOrdinal||1!==v||n)&&(S=1&&(A=S+N)),A>G&&(A=G,v>=1&&(S=A-N)),(n||t.series.length&&(S!==E||A!==L)&&S>=H&&A<=G)&&(a?a[t.coll].push({axis:t,min:S,max:A}):(t.isPanning="zoom"!==h,t.isPanning&&(i=!0),t.setExtremes(n?void 0:S,n?void 0:A,!1,!1,{move:k,trigger:h,scale:v}),!n&&(S>H||A{delete t.selection,t.trigger="zoom",this.transform(t)})):(!e||i||this.resetZoomButton?!e&&this.resetZoomButton&&(this.resetZoomButton=this.resetZoomButton.destroy()):this.showResetZoom(),this.redraw("zoom"===h&&(this.options.chart.animation??this.pointCount<100)))),d}}return B(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","plotBackgroundColor","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:r}=t,{composed:o}=e,{addEvent:n,createElement:a,css:l,defined:h,merge:c,pushUnique:d}=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){d(o,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,r,{minWidth:o,minHeight:n}=t.options.chart.scrollablePlotArea||{},{clipBox:a,plotBox:l,inverted:d,renderer:p}=t;if(!p.forExport&&(o?(t.scrollablePixelsX=i=Math.max(0,o-t.chartWidth),i&&(t.scrollablePlotBox=c(t.plotBox),l.width=t.plotWidth+=i,a[d?"height":"width"]+=i,r=!0)):n&&(t.scrollablePixelsY=s=Math.max(0,n-t.chartHeight),h(s)&&(t.scrollablePlotBox=c(t.plotBox),l.height=t.plotHeight+=s,a[d?"width":"height"]+=s,r=!1)),h(r)&&!e.skipAxes))for(let e of t.axes)e.horiz===r&&(e.setAxisSize(),e.setAxisTranslation())}constructor(t){let e,s=t.options.chart,r=i.getRendererType(),o=s.scrollablePlotArea||{},h=this.moveFixedElements.bind(this),c={WebkitOverflowScrolling:"touch",overflowX:"hidden",overflowY:"hidden"};t.scrollablePixelsX&&(c.overflowX="auto"),t.scrollablePixelsY&&(c.overflowY="auto"),this.chart=t;let d=this.parentDiv=a("div",{className:"highcharts-scrolling-parent"},{position:"relative"},t.renderTo),p=this.scrollingContainer=a("div",{className:"highcharts-scrolling"},c,d),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 r(g,t.chartWidth,t.chartHeight,s.style);this.mask=f.path().attr({fill:s.backgroundColor||"#fff","fill-opacity":o.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:o,chartWidth:n,chartHeight:a,container:c,plotHeight:d,plotLeft:p,plotTop:u,plotWidth:g,scrollablePixelsX:f=0,scrollablePixelsY:m=0}=t,{scrollPositionX:b=0,scrollPositionY:y=0}=t.options.chart.scrollablePlotArea||{},x=n+f,v=a+m;e.setSize(n,a),(i??!0)&&(this.isDirty=!1,this.moveFixedElements()),r(t.container),l(c,{width:`${x}px`,height:`${v}px`}),t.renderer.boxWrapper.attr({width:x,height:v,viewBox:[0,0,x,v].join(" ")}),t.chartBackground?.attr({width:x,height:v}),l(s,{width:`${n}px`,height:`${a}px`}),h(i)||(s.scrollLeft=f*b,s.scrollTop=m*y);let w=u-o[0]-1,k=p-o[3]-1,C=u+d+o[2]+1,S=p+g+o[1]+1,A=p+g-f,M=u+d-m,P=[["M",0,0]];f?P=[["M",0,w],["L",p-1,w],["L",p-1,C],["L",0,C],["Z"],["M",A,w],["L",n,w],["L",n,C],["L",A,C],["Z"]]:m&&(P=[["M",k,0],["L",k,u-1],["L",S,u-1],["L",S,0],["Z"],["M",k,M],["L",k,a],["L",S,a],["L",S,M],["Z"]]),"adjustHeight"!==t.redrawTrigger&&this.mask.attr({d:P})}moveFixedElements(){let t,{container:e,inverted:i,scrollablePixelsX:s,scrollablePixelsY:r}=this.chart,o=this.fixedRenderer,n=g.fixedSelectors;for(let a of(s&&!i?t=".highcharts-yaxis":s&&i||r&&!i?t=".highcharts-xaxis":r&&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=>{(t.namespaceURI===o.SVG_NS?o.box:o.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:r}=e,{destroyObjectProperties:o,fireEvent:n,isNumber:a,pick:l}=i;return class{constructor(t,e,i,s,r){let o=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=r,this.leftCliff=0,this.rightCliff=0,this.alignOptions={align:e.align||(o?a?"left":"right":"center"),verticalAlign:e.verticalAlign||(o?"middle":a?"bottom":"top"),y:e.y,x:e.x},this.textAlign=e.textAlign||(o?a?"right":"left":"center")}destroy(){o(this,this.axis)}render(t){let e=this.axis.chart,i=this.options,r=i.format,o=r?s(r,this,e):i.formatter.call(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: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,o,h){let{alignOptions:c,axis:d,label:p,options:u,textAlign:g}=this,f=d.chart,m=this.getStackBox({xOffset:t,width:e,boxBottom:i,boxTop:s,defaultX:o,xAxis:h}),{verticalAlign:b}=c;if(p&&m){let t,e=p.getBBox(void 0,0),i=p.padding,s="justify"===l(u.overflow,"justify");c.x=u.x||0,c.y=u.y||0;let{x:o,y:n}=this.adjustStackPosition({labelBox:e,verticalAlign:b,textAlign:g});m.x-=o,m.y-=n,p.align(c,!1,m),(t=f.isInsidePlot(p.alignAttr.x+c.x+o,p.alignAttr.y+c.y+n))||(s=!1),s&&r.prototype.justifyDataLabel.call(d,p,c,p.alignAttr,e,m),p.attr({x:p.alignAttr.x,y:p.alignAttr.y,rotation:u.rotation,rotationOriginX:e.width*{left:0,center:.5,right:1}[u.textAlign||"center"],rotationOriginY:e.height/2}),l(!s&&u.crop,!0)&&(t=a(p.x)&&a(p.y)&&f.isInsidePlot(p.x-i+(p.width||0),p.y)&&f.isInsidePlot(p.x+i,p.y)),p[t?"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},r=s[e],o=s[i];return{x:t.width/2+t.width/2*o,y:t.height/2*r}}getStackBox(t){let e=this.axis,i=e.chart,{boxTop:s,defaultX:r,xOffset:o,width:n,boxBottom:h}=t,c=e.stacking.usePercentage?100:l(s,this.total,0),d=e.toPixels(c),p=t.xAxis||i.xAxis[0],u=l(r,p.translate(this.x))+o,g=Math.abs(d-e.toPixels(h||a(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0)),f=i.inverted,m=this.isNegative;return f?{x:(m?d:d-g)-i.plotLeft,y:p.height-u-n+p.top-i.plotTop,width:g,height:n}:{x:u+p.transB-i.plotLeft,y:(m?d-g:d)-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,r){var o;let{getDeferredAnimation:n}=t,{series:{prototype:a}}=i,{addEvent:l,correctFloat:h,defined:c,destroyObjectProperties:d,fireEvent:p,isArray:u,isNumber:g,objectEach:f,pick:m}=r;function b(){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)=>{d(t),delete e[i]})),t.stackTotalGroup?.destroy()}}function x(){this.stacking||(this.stacking=new A(this))}function v(t,e,i,s){return!c(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 w(){let t,e=this,i=e.yAxis,s=e.stackKey||"",r=i.stacking.stacks,o=e.processedXData,n=e.options.stacking,a=e[n+"Stacker"];a&&[s,"-"+s].forEach((i=>{let s,n,l,h=o.length;for(;h--;)s=o[h],t=e.getStackIndicator(t,s,e.index,i),n=r[i]?.[s],(l=n?.points[t.key||""])&&a.call(e,l,n,h)}))}function k(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 C(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,r,o,n,a,l,d,p,g,f=e||this.options.stacking;if(!f||!this.reserveSpace()||({group:"xAxis"}[f]||"yAxis")!==t.coll)return;let b=this.processedXData,y=this.processedYData,x=[],v=y.length,w=this.options,k=w.threshold||0,C=w.startFromThreshold?k:0,S=w.stack,A=e?`${this.type},${f}`:this.stackKey||"",M="-"+A,P=this.negStacks,T=t.stacking,E=T.stacks,L=T.oldStacks;for(T.stacksTouched+=1,d=0;d0&&!1===this.singleStacks&&(o.points[l][0]=o.points[this.index+","+p+",0"][0])):(delete o.points[l],delete o.points[this.index]);let e=o.total||0;"percent"===f?(n=r?A:M,e=P&&E[n]?.[p]?(n=E[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)),o.cumulative="group"===f?(e||1)-1:h(m(o.cumulative,C)+(g||0)),o.total=e,null!==g&&(o.points[l].push(o.cumulative),x[d]=o.cumulative,o.hasValidPoints=!0)}"percent"===f&&(T.usePercentage=!0),"group"!==f&&(this.stackedYData=x),T.oldStacks={}}class A{constructor(t){this.oldStacks={},this.stacks={},this.stacksTouched=0,this.axis=t}buildStacks(){let t,e,i=this.axis,s=i.series,r="xAxis"===i.coll,o=i.options.reversedStacks,n=s.length;for(this.resetStacks(),this.usePercentage=!1,e=n;e--;)t=s[o?e:n-e-1],r&&t.setGroupedPoints(i),t.setStackedPoints(i);if(!r)for(e=0;e{f(t,(t=>{t.cumulative=t.total}))})))}resetStacks(){f(this.stacks,(t=>{f(t,((e,i)=>{g(e.touched)&&e.touched{f(t,(t=>{t.render(o)}))})),o.animate({opacity:1},r)}}return(o||(o={})).compose=function(t,e,i){let s=e.prototype,r=i.prototype;s.getStacks||(l(t,"init",x),l(t,"destroy",y),s.getStacks=b,r.getStackIndicator=v,r.modifyStacks=w,r.percentStacker=k,r.setGroupedPoints=C,r.setStackedPoints=S)},o})),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:r,isObject:o}=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",c=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"},c?a.dashstyle=c:"square"!==t.linecap&&(a["stroke-linecap"]=a["stroke-linejoin"]="round"),l[h](a).shadow(n<2&&t.shadow&&r({filterUnits:"userSpaceOnUse"},o(t.shadow)?t.shadow:{}))),l&&(l.startX=e.xMap,l.isArea=e.isArea)}))}getGraphPath(t,e,i){let r,o=this,n=o.options,a=[],l=[],h=n.step,c=(t=t||o.points).reversed;return c&&t.reverse(),(h={right:1,center:2}[h]||h&&3)&&c&&(h=4-h),(t=this.getValidPoints(t,!1,!(n.connectNulls&&!e&&!i))).forEach((function(c,d){let p,u=c.plotX,g=c.plotY,f=t[d-1],m=c.isNull||"number"!=typeof g;(c.leftCliff||f&&f.rightCliff)&&!i&&(r=!0),m&&!s(e)&&d>0?r=!n.connectNulls:m&&!e?r=!0:(0===d||r?p=[["M",c.plotX,c.plotY]]:o.getPointSpline?p=[o.getPointSpline(t,c,d)]: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]],l.push(c.x),h&&(l.push(c.x),2===h&&l.push(c.x)),a.push.apply(a,p),r=!1)})),a.xMap=l,o.graphPath=a,a}}return n.defaultOptions=r(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:r,merge:o,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 r={},o=i.fillColor||e.fillColor,n=i.area,a=n?"animate":"attr";n?(n.endX=this.preventGraphAnimation?null:t.xMap,n.animate({d:t})):(r.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||(r.fill=o||i.color||this.color,r["fill-opacity"]=o?1:e.fillOpacity??.75,n.css({pointerEvents:this.stickyTracking?"none":"auto"})),n[a](r),n.startX=t.xMap,n.shiftUnit=e.step?2:1}))}getGraphPath(t){let e,i,r,o=s.prototype.getGraphPath,n=this.options,l=n.stacking,h=this.yAxis,c=[],d=[],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),b=function(i,s,r){let o,n,a=t[i],m=l&&u[a.x].points[p],b=a[r+"Null"]||0,y=a[r+"Cliff"]||0,x=!0;y||b?(o=(b?m[0]:m[1])+y,n=m[0]+y,x=!!b):!l&&t[s]&&t[s].isNull&&(o=n=g),void 0!==o&&(d.push({plotX:e,plotY:null===o?f:h.getThreshold(o),isNull:x,isCliff:!0}),c.push({plotX:e,plotY:null===n?f:h.getThreshold(n),doCurve:!1}))};t=t||this.points,l&&(t=this.getStackPoints(t));for(let s=0,o=t.length;s1&&l&&d.some((t=>t.isCliff))&&(w.hasStackedCliffs=k.hasStackedCliffs=!0),w.xMap=y.xMap,this.areaPath=w,k}getStackPoints(t){let e=this,i=[],s=[],r=this.xAxis,o=this.yAxis,l=o.stacking.stacks[this.stackKey],h={},c=o.series,d=c.length,p=o.options.reversedStacks?1:-1,u=c.indexOf(e);if(t=t||this.points,this.options.stacking){for(let e=0;et.visible));s.forEach((function(t,n){let f,m,b=0;if(h[t]&&!h[t].isNull)i.push(h[t]),[-1,1].forEach((function(i){let r=1===i?"rightNull":"leftNull",o=l[s[n+i]],a=0;if(o){let i=u;for(;i>=0&&i=0&&ei&&o>h?(o=Math.max(i,h),a=2*h-o):op&&a>h?(a=Math.max(p,h),o=2*h-a):a1){let r=this.xAxis.series.filter((t=>t.visible)).map((t=>t.index)),o=0,n=0;x(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!==r.indexOf(t))).sort(((t,e)=>e-t));o=t.indexOf(this.index),n=t.length}}})),o=this.xAxis.reversed?n-1-o:o;let a=(n-1)*s.paddedWidth+e;t=(i.plotX||0)+a/2-e-o*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=y(i.borderWidth,s?0:1),n=t.xAxis,a=t.yAxis,l=i.threshold,h=y(i.minPointLength,5),d=t.getColumnMetrics(),u=d.width,f=t.pointXOffset=d.offset,b=t.dataMin,x=t.dataMax,v=t.translatedThreshold=a.getThreshold(l),w=t.barW=Math.max(u,1+2*o);i.pointPadding&&(w=Math.ceil(w)),r.prototype.translate.apply(t),t.points.forEach((function(s){let r,o=y(s.yBottom,v),g=999+Math.abs(o),k=s.plotX||0,C=c(s.plotY,-g,a.len+g),S=Math.min(C,o),A=Math.max(C,o)-S,M=u,P=k+f,T=w;h&&Math.abs(A)h?o-h:v-(r?h:0)),p(s.options.pointWidth)&&(P-=Math.round(((M=T=Math.ceil(s.options.pointWidth))-u)/2)),i.centerInCategory&&!i.stacking&&(P=t.adjustForMissingColumns(P,M,s,d)),s.barX=P,s.pointWidth=M,s.tooltipPos=e.inverted?[c(a.len+a.pos-e.plotLeft-C,a.pos-e.plotLeft,a.len+a.pos-e.plotLeft),n.len+n.pos-e.plotTop-P-T/2,A]:[n.left-e.plotLeft+P+T/2,c(C+a.pos-e.plotTop,a.pos-e.plotTop,a.len+a.pos-e.plotTop),A],s.shapeType=t.pointClass.prototype.shapeType||"roundedRect",s.shapeArgs=t.crispCol(P,s.isNull?v:S,T,s.isNull?0:A)})),g(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(t,e){let i,s,r,o=this.options,n=this.pointAttrToOptions||{},a=n.stroke||"borderColor",h=n["stroke-width"]||"borderWidth",c=t&&t.color||this.color,d=t&&t[a]||o[a]||c,p=t&&t.options.dashStyle||o.dashStyle,u=t&&t[h]||o[h]||this[h]||0,g=y(t&&t.opacity,o.opacity,1);t&&this.zones.length&&(s=t.getZone(),c=t.options.color||s&&(s.color||t.nonZonedColor)||this.color,s&&(d=s.borderColor||d,p=s.dashStyle||p,u=s.borderWidth||u)),e&&t&&(r=(i=b(o.states[e],t.options.states&&t.options.states[e]||{})).brightness,c=i.color||void 0!==r&&l(c).brighten(i.brightness).get()||c,d=i[a]||d,u=i[h]||u,p=i.dashStyle||p,g=y(i.opacity,g));let f={fill:c,stroke:d,"stroke-width":u,opacity:g};return p&&(f.dashstyle=p),f}drawPoints(t=this.points){let e,i=this,s=this.chart,r=i.options,o=s.renderer,n=r.animationLimit||250;t.forEach((function(t){let a=t.plotY,l=t.graphic,h=!!l,c=l&&s.pointCountt?.enabled))}function i(t,e,i,s,r){let{chart:o,enabledDataSorting:l}=this,h=this.isCartesian&&o.inverted,c=t.plotX,p=t.plotY,g=i.rotation||0,f=n(c)&&n(p)&&o.isInsidePlot(c,Math.round(p),{inverted:h,paneCoordinates:!0,series:this}),m=0===g&&"justify"===u(i.overflow,l?"none":"justify"),b=this.visible&&!1!==t.visible&&n(c)&&(t.series.forceDL||l&&!m||f||u(i.inside,!!this.options.stacking)&&s&&o.isInsidePlot(c,h?s.x+1:s.y+s.height-1,{inverted:h,paneCoordinates:!0,series:this})),y=t.pos();if(b&&y){var x;let n=e.getBBox(),c=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}),x=s,l&&this.xAxis&&!m&&this.setDataLabelStartPos(t,e,r,f,x),e.align(d(i,{width:c.width,height:c.height}),!1,s,!1),e.alignAttr.x+=p*(c.width-n.width),e.alignAttr.y+=v*(c.height-n.height),e[e.placed?"animate":"attr"]({x:e.alignAttr.x+(n.width-c.width)/2,y:e.alignAttr.y+(n.height-c.height)/2,rotationOriginX:(e.width||0)/2,rotationOriginY:(e.height||0)/2}),m&&s.height>=0)this.justifyDataLabel(e,i,e.alignAttr,n,s,r);else if(u(i.crop,!0)){let{x:t,y:i}=e.alignAttr;b=o.isInsidePlot(t,i,{paneCoordinates:!0,series:this})&&o.isInsidePlot(t+n.width-1,i+n.height-1,{paneCoordinates:!0,series:this})}i.shape&&!g&&e[r?"attr":"animate"]({anchorX:y[0],anchorY:y[1]})}r&&l&&(e.placed=!1),b||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 b(t){let e;t=t||this.points;let i=this,s=i.chart,a=i.options,h=s.renderer,{backgroundColor:d,plotBackgroundColor:m}=s.options.chart,b=h.getContrast(c(m)&&m||c(d)&&d||"#000000"),y=v(i),{animation:w,defer:k}=y[0],C=k?r(s,w,i):{defer:0,duration:0};l(this,"drawDataLabels"),i.hasDataLabels?.()&&(e=this.initDataLabels(C),t.forEach((t=>{let r=t.dataLabels||[];f(x(y,t.dlOptions||t.options?.dataLabels)).forEach(((d,f)=>{let m,y,x,v,w,k=d.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],r=i.value;return">"===e&&s>r||"<"===e&&s="===e&&s>=r||"<="===e&&s<=r||"=="===e&&s==r||"==="===e&&s===r||"!="===e&&s!=r||"!=="===e&&s!==r}return!0}(t,d),{backgroundColor:C,borderColor:S,distance:A,style:M={}}=d,P={},T=r[f],E=!T;k&&(y=u(d[t.formatPrefix+"Format"],d.format),m=t.getLabelConfig(),x=n(y)?o(y,m,s):(d[t.formatPrefix+"Formatter"]||d.formatter).call(m,d),v=d.rotation,!s.styledMode&&(M.color=u(d.color,M.color,c(i.color)?i.color:void 0,"#000000"),"contrast"===M.color?("none"!==C&&(w=C),t.contrastColor=h.getContrast("auto"!==w&&w||t.color||i.color),M.color=w||!n(A)&&d.inside||0>g(A||0)||a.stacking?t.contrastColor:b):delete t.contrastColor,a.cursor&&(M.cursor=a.cursor)),P={r:d.borderRadius||0,rotation:v,padding:d.padding,zIndex:1},s.styledMode||(P.fill="auto"===C?t.color:C,P.stroke="auto"===S?t.color:S,P["stroke-width"]=d.borderWidth),p(P,((t,e)=>{void 0===t&&delete P[e]}))),!T||k&&n(x)&&!!T.div==!!d.useHTML&&(T.rotation&&d.rotation||T.rotation===d.rotation)||(T=void 0,E=!0),k&&n(x)&&(T?P.text=x:(T=h.label(x,0,0,d.shape,void 0,void 0,d.useHTML,void 0,"data-label")).addClass(" highcharts-data-label-color-"+t.colorIndex+" "+(d.className||"")+(d.useHTML?" highcharts-tracker":"")),T&&(T.options=d,T.attr(P),s.styledMode||T.css(M).shadow(d.shadow),l(T,"beforeAddingDataLabel",{labelOptions:d,point:t}),T.added||T.add(e),i.alignDataLabel(t,T,d,void 0,E),T.isActive=!0,r[f]&&r[f]!==T&&r[f].destroy(),r[f]=T))}));let d=r.length;for(;d--;)r[d]&&r[d].isActive?r[d].isActive=!1:(r[d]?.destroy(),r.splice(d,1));t.dataLabel=r[0],t.dataLabels=r}))),l(this,"afterDrawDataLabels")}function y(t,e,i,s,r,o){let n,a,l=this.chart,h=e.align,c=e.verticalAlign,d=t.box?0:t.padding||0,p=l.inverted?this.yAxis:this.xAxis,u=p?p.left-l.plotLeft:0,g=l.inverted?this.xAxis:this.yAxis,f=g?g.top-l.plotTop:0,{x:m=0,y:b=0}=e;return(n=(i.x||0)+d+u)<0&&("right"===h&&m>=0?(e.align="left",e.inside=!0):m-=n,a=!0),(n=(i.x||0)+s.width-d+u)>l.plotWidth&&("left"===h&&m<=0?(e.align="right",e.inside=!0):m+=l.plotWidth-n,a=!0),(n=i.y+d+f)<0&&("bottom"===c&&b>=0?(e.verticalAlign="top",e.inside=!0):b-=n,a=!0),(n=(i.y||0)+s.height-d+f)>l.plotHeight&&("top"===c&&b<=0?(e.verticalAlign="bottom",e.inside=!0):b+=l.plotHeight-n,a=!0),a&&(e.x=m,e.y=b,t.placed=!o,t.align(e,void 0,r)),a}function x(t,e){let i,s=[];if(h(t)&&!h(e))s=t.map((function(t){return d(t,e)}));else if(h(e)&&!h(t))s=e.map((function(e){return d(t,e)}));else if(h(t)||h(e)){if(h(t)&&h(e))for(i=Math.max(t.length,e.length);i--;)s[i]=d(t[i],e[i])}else s=d(t,e);return s}function v(t){let e=t.chart.options.plotOptions;return f(x(x(e?.series?.dataLabels,e?.[t.type]?.dataLabels),t.options.dataLabels))}function w(t,e,i,s,r){let o=this.chart,n=o.inverted,a=this.xAxis,l=a.reversed,h=((n?e.height:e.width)||0)/2,c=t.pointWidth,d=c?c/2:0;e.startXPos=n?r.x:l?-h-d:a.width-h+d,e.startYPos=n?l?this.yAxis.height-h+d:-h-d:r.y,s?"hidden"===e.visibility&&(e.show(),e.attr({opacity:0}).animate({opacity:1})):e.attr({opacity:1}).animate({opacity:0},void 0,e.hide),o.hasRendered&&(i&&e.attr({x:e.startXPos,y:e.startYPos}),e.placed=!0)}t.compose=function(t){let r=t.prototype;r.initDataLabels||(r.initDataLabels=m,r.initDataLabelsGroup=s,r.alignDataLabel=i,r.drawDataLabels=b,r.justifyDataLabel=y,r.setDataLabelStartPos=w,r.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 r;let{composed:o}=e,{series:n}=i,{merge:a,pick:l,pushUnique:h}=s;return function(e){function i(t,e,i,s,r){let o=this.chart.inverted,h=t.series,c=(h.xAxis?h.xAxis.len:this.chart.plotSizeX)||0,d=(h.yAxis?h.yAxis.len:this.chart.plotSizeY)||0,p=t.dlBox||t.shapeArgs,u=l(t.below,t.plotY>l(this.translatedThreshold,d)),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-d;t>0&&t {series.name}
    ',pointFormat:"x: {point.x}
    y: {point.y}
    "}}})),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:r}=e.seriesTypes,{addEvent:o,extend:n,merge:a}=i;class l extends r{applyJitter(){let t=this,e=this.options.jitter,i=this.points.length;e&&this.points.forEach((function(s,r){["x","y"].forEach((function(o,n){if(e[o]&&!s.isNull){let a=`plot${o.toUpperCase()}`,l=t[`${o}Axis`],h=e[o]*l.transA;if(l&&!l.logarithmic){let t=Math.max(0,(s[a]||0)-h),e=Math.min(l.len,(s[a]||0)+h);s[a]=t+(e-t)*function(t){let e=1e4*Math.sin(t);return e-Math.floor(e)}(r+n*i),"x"===o&&(s.clientX=s.plotX)}}}))}))}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}return l.defaultOptions=a(r.defaultOptions,t),n(l.prototype,{drawTracker:s.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"]}),o(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,r;let{deg2rad:o}=t,{fireEvent:n,isNumber:a,pick:l,relativeLength:h}=i;return(r=s||(s={})).getCenter=function(){let t,i,s,r=this.options,o=this.chart,c=2*(r.slicedOffset||0),d=o.plotWidth-2*c,p=o.plotHeight-2*c,u=r.center,g=Math.min(d,p),f=r.thickness,m=r.size,b=r.innerSize||0;"string"==typeof m&&(m=parseFloat(m)),"string"==typeof b&&(b=parseFloat(b));let y=[l(u[0],"50%"),l(u[1],"50%"),l(m&&m<0?void 0:r.size,"100%"),l(b&&b<0?void 0:r.innerSize||0,"0%")];for(!o.angular||this instanceof e||(y[3]=0),i=0;i<4;++i)s=y[i],t=i<2||2===i&&/%$/.test(s),y[i]=h(s,[d,p,g,y[2]][i])+(t?c:0);return y[3]>y[2]&&(y[3]=y[2]),a(f)&&2*f0&&(y[3]=y[2]-2*f),n(this,"afterGetCenter",{positions:y}),y},r.getStartAndEndRadians=function(t,e){let i=a(t)?t:0,s=a(e)&&e>i&&e-i<360?e:i+360;return{start:o*(i+-90),end:o*(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,i){let{setAnimation:s}=t,{addEvent:r,defined:o,extend:n,isNumber:a,pick:l,relativeLength:h}=i;class c extends e{getConnectorPath(t){let e=t.dataLabelPosition,i=t.options||{},s=i.connectorShape,r=this.connectorShapes[s]||s;return e&&r.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)};r(this,"select",s),r(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 r=this.series;s(i,r.chart),e=l(e,!0),this.sliced=this.options.sliced=t=o(t)?t:!this.sliced,r.options.data[r.data.indexOf(this)]=this.options,this.graphic&&this.graphic.animate(this.getTranslate())}}return n(c.prototype,{connectorShapes:{fixedOffset:function(t,e,i){let s=e.breakAt,r=e.touchingSliceAt,o=i.softConnector?["C",t.x+("left"===t.alignment?-5:5),t.y,2*s.x-r.x,2*s.y-r.y,s.x,s.y]:["L",s.x,s.y];return[["M",t.x,t.y],o,["L",r.x,r.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:r}=e,{series:o}=this,[n,a,l]=o.center,c=l/2,{plotLeft:d,plotWidth:p}=o.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+c+(p+d-n-c)*(1-t):d+(n-c)*t}else m=n+(a-f)*Math.tan((this.angle||0)-Math.PI/2);let b=[["M",g,f]];return(u?m<=g&&m>=s.x:m>=g&&m<=s.x)&&b.push(["L",m,f]),b.push(["L",s.x,s.y],["L",r.x,r.y]),b}}}),c})),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,r,o,n,a,l){let{getStartAndEndRadians:h}=t,{noop:c}=i,{clamp:d,extend:p,fireEvent:u,merge:g,pick:f}=l;class m extends o{animate(t){let e=this,i=e.points,s=e.startAngleRad;t||i.forEach((function(t){let i=t.graphic,r=t.shapeArgs;i&&r&&(i.attr({r:f(t.startR,e.center&&e.center[3]/2),start:s,end:s}),i.animate({r:r.r,start:r.start,end:r.end},e.options.animation))}))}drawEmpty(){let t,e,i=this.startAngleRad,s=this.endAngleRad,r=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":r.borderWidth,fill:r.fillColor||"none",stroke:r.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 r=this.center,o=this.radii?this.radii[i.index]||0:r[2]/2,n=s.dataLabelPosition,a=n?.distance||0,l=Math.asin(d((t-r[1])/(o+a),-1,1));return r[0]+Math.cos(l)*(o+a)*(e?-1:1)+(a>0?(e?-1:1)*(s.padding||0):0)}hasData(){return!!this.processedXData.length}redrawPoints(){let t,e,i,s,r=this,o=r.chart;this.drawEmpty(),r.group&&!o.styledMode&&r.group.shadow(r.options.shadow),r.points.forEach((function(n){let a={};e=n.graphic,!n.isNull&&e?(s=n.shapeArgs,t=n.getTranslate(),o.styledMode||(i=r.pointAttribs(n,n.selected&&"select")),n.delayedRendering?(e.setRadialReference(r.center).attr(s).attr(t),o.styledMode||e.attr(i).attr({"stroke-linejoin":"round"}),n.delayedRendering=!1):(e.setRadialReference(r.center),o.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,i,s,r,o,n,a,l=this.options,c=l.slicedOffset,d=h(l.startAngle,l.endAngle),p=this.startAngleRad=d.start,g=(this.endAngleRad=d.end)-p,f=this.points,m=l.ignoreHiddenPoint,b=f.length,y=0;for(t||(this.center=t=this.getCenter()),n=0;n1.5*Math.PI?s-=2*Math.PI:s<-Math.PI/2&&(s+=2*Math.PI),a.slicedTranslation={translateX:Math.round(Math.cos(s)*c),translateY:Math.round(Math.sin(s)*c)},r=Math.cos(s)*t[2]/2,o=Math.sin(s)*t[2]/2,a.tooltipPos=[t[0]+.7*r,t[1]+.7*o],a.half=s<-Math.PI/2||s>Math.PI/2?1:0,a.angle=s}u(this,"afterTranslate")}updateTotals(){let t,e,i=this.points,s=i.length,r=this.options.ignoreHiddenPoint,o=0;for(t=0;t0&&(e.visible||!r)?e.y/o*100:0,e.total=o}}return m.defaultOptions=g(o.defaultOptions,r),p(m.prototype,{axisTypes:[],directTouch:!0,drawGraph:void 0,drawTracker:e.prototype.drawTracker,getCenter:t.getCenter,getSymbol:c,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointAttribs:e.prototype.pointAttribs,pointClass:s,requireSorting:!1,searchPoint:c,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,r){var o;let{composed:n,noop:a}=e,{distribute:l}=i,{series:h}=s,{arrayMax:c,clamp:d,defined:p,pick:u,pushUnique:g,relativeLength:f}=r;return function(e){let i={radialDistributionY:function(t,e){return(e.dataLabelPosition?.top||0)+t.distributeBox.pos},radialDistributionX:function(t,e,i,s,r){let o=r.dataLabelPosition;return t.getX(i<(o?.top||0)+2||i>(o?.bottom||0)-2?s:i,e.half,e,r)},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 r=t.getBBox().width;return e?r+s:i-r-s},alignToConnectors:function(t,e,i,s){let r,o=0;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,r=i[2]/2,o=t.angle||0,n=Math.cos(o),a=Math.sin(o),l=i[0]+n*r,h=i[1]+a*r,c=Math.min((s.slicedOffset||0)+(s.borderWidth||0),e/5);return{natural:{x:l+n*e,y:h+a*e},computed:{},alignment:e<0?"center":t.half?"right":"left",connectorPosition:{breakAt:{x:l+n*c,y:h+a*c},touchingSliceAt:{x:l,y:h}},distance:e}}function r(){let t,e,i,s=this,r=s.points,o=s.chart,n=o.plotWidth,a=o.plotHeight,d=o.plotLeft,g=Math.round(o.chartWidth/3),m=s.center,b=m[2]/2,y=m[1],x=[[],[]],v=[0,0,0,0],w=s.dataLabelPositioners,k=0;s.visible&&s.hasDataLabels?.()&&(r.forEach((t=>{(t.dataLabels||[]).forEach((t=>{t.shortened&&(t.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),t.shortened=!1)}))})),h.prototype.drawDataLabels.apply(s),r.forEach((t=>{(t.dataLabels||[]).forEach(((e,i)=>{let s=m[2]/2,r=e.options,o=f(r?.distance||0,s);0===i&&x[t.half].push(t),!p(r?.style?.width)&&e.getBBox().width>g&&(e.css({width:Math.round(.7*g)+"px"}),e.shortened=!0),e.dataLabelPosition=this.getDataLabelPosition(t,o),k=Math.max(k,o)}))})),x.forEach(((t,r)=>{let h,c,g,f=t.length,x=[],C=0;f&&(s.sortByAngle(t,r-.5),k>0&&(h=Math.max(0,y-b-k),c=Math.min(y+b+k,o.plotHeight),t.forEach((t=>{(t.dataLabels||[]).forEach((e=>{let i=e.dataLabelPosition;i&&i.distance>0&&(i.top=Math.max(0,y-b-i.distance),i.bottom=Math.min(y+b+i.distance,o.plotHeight),C=e.getBBox().height||21,e.lineHeight=o.renderer.fontMetrics(e.text||e).h+2*e.padding,t.distributeBox={target:(e.dataLabelPosition?.natural.y||0)-i.top+e.lineHeight/2,size:C,rank:t.y},x.push(t.distributeBox))}))})),l(x,g=c+C-h,g/5)),t.forEach((o=>{(o.dataLabels||[]).forEach((l=>{let h=l.options||{},c=o.distributeBox,g=l.dataLabelPosition,f=g?.natural.y||0,y=h.connectorPadding||0,k=l.lineHeight||21,C=(k-l.getBBox().height)/2,S=0,A=f,M="inherit";if(g){if(x&&p(c)&&g.distance>0&&(void 0===c.pos?M="hidden":(i=c.size,A=w.radialDistributionY(o,l))),h.justify)S=w.justify(o,l,b,m);else switch(h.alignTo){case"connectors":S=w.alignToConnectors(t,r,n,d);break;case"plotEdges":S=w.alignToPlotEdges(l,r,n,d);break;default:S=w.radialDistributionX(s,o,A-C,f,l)}if(g.attribs={visibility:M,align:g.alignment},g.posAttribs={x:S+(h.x||0)+({left:y,right:-y}[g.alignment]||0),y:A+(h.y||0)-k/2},g.computed.x=S,g.computed.y=A-C,u(h.crop,!0)){let t;S-(e=l.getBBox().width)n-y&&0===r&&(t=Math.round(S+e-n+y),v[1]=Math.max(t,v[1])),A-i/2<0?v[0]=Math.max(Math.round(i/2-A),v[0]):A+i/2>a&&(v[2]=Math.max(Math.round(A+i/2-a),v[2])),g.sideOverflow=t}}}))})))})),(0===c(v)||this.verifyDataLabelOverflow(v))&&(this.placeDataLabels(),this.points.forEach((e=>{(e.dataLabels||[]).forEach((i=>{let{connectorColor:r,connectorWidth:n=1}=i.options||{},a=i.dataLabelPosition;if(n){let l;t=i.connector,a&&a.distance>0?(l=!t,t||(i.connector=t=o.renderer.path().addClass("highcharts-data-label-connector highcharts-color-"+e.colorIndex+(e.className?" "+e.className:"")).add(s.dataLabelsGroup)),o.styledMode||t.attr({"stroke-width":n,stroke:r||e.color||"#666666"}),t[l?"attr":"animate"]({d:e.getConnectorPath(i)}),t.attr({visibility:a.attribs?.visibility})):t&&(i.connector=t.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 m(t){let e=this.center,i=this.options,s=i.center,r=i.minSize||80,o=r,n=null!==i.size;return!n&&(null!==s[0]?o=Math.max(e[2]-Math.max(t[1],t[3]),r):(o=Math.max(e[2]-t[1]-t[3],r),e[0]+=(t[3]-t[1])/2),null!==s[1]?o=d(o,r,e[2]-Math.max(t[0],t[2])):(o=d(o,r,e[2]-t[0]-t[2]),e[1]+=(t[0]-t[2])/2),o(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))},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,r,o=i.length,n=!1;for(s=0,r=o-1;se!=h>e&&t<(l-o)*(e-a)/(h-a)+o&&(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:r,objectEach:o,pick:n}=e;function a(t){let e,s,o,n,a,h=t.length,c=(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),d=(t,e)=>{for(let s of t)if(i({x:s[0],y:s[1]},e))return!0;return!1},p=!1;for(let i=0;i(e.labelrank||0)-(t.labelrank||0)));for(let e=0;e{o(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 r=i.options||{};i.labelrank=n(r.labelrank,s.labelrank,s.shapeArgs?.height),r.allowOverlap??Number(r.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))}}})),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:r}=e,{addEvent:o,extend:n,isObject:a,merge:l,relativeLength:h}=i,c={radius:0,scope:"stack",where:void 0},d=r,p=r;function u(t,e,i,s,r={}){let o=d(t,e,i,s,r),{innerR:n=0,r:a=i,start:l=0,end:c=0}=r;if(r.open||!r.borderRadius)return o;let p=c-l,u=Math.sin(p/2),g=Math.max(Math.min(h(r.borderRadius||0,a-n),(a-n)/2,a*u/(1+u)),0),f=Math.min(g,p/Math.PI*2*n),m=o.length-1;for(;m--;)!function(t,e,i){let s,r,o,n=t[e],a=t[e+1];if("Z"===a[0]&&(a=t[0]),"M"!==n[0]&&"L"!==n[0]||"A"!==a[0]?"A"===n[0]&&("M"===a[0]||"L"===a[0])&&(s=a,r=n):(s=n,r=a,o=!0),s&&r&&r.params){let n=r[1],a=r[5],l=r.params,{start:h,end:c,cx:d,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;o?(l.start=h+f,s[1]=d+m*Math.cos(h),s[2]=p+m*Math.sin(h),t.splice(e+1,0,["A",i,i,0,0,1,d+n*Math.cos(l.start),p+n*Math.sin(l.start)])):(l.end=c-f,r[6]=d+n*Math.cos(l.end),r[7]=p+n*Math.sin(l.end),t.splice(e+1,0,["A",i,i,0,0,1,d+m*Math.cos(c),p+m*Math.sin(c)])),r[4]=Math.abs(l.end-l.start)1?f:g);return o}function g(){if(this.options.borderRadius&&(!this.chart.is3d||!this.chart.is3d())){let{options:t,yAxis:e}=this,i="percent"===t.stacking,r=s.plotOptions?.[this.type]?.borderRadius,o=f(t.borderRadius,a(r)?r:{}),l=e.options.reversed;for(let s of this.points){let{shapeArgs:r}=s;if("roundedRect"===s.shapeType&&r){let{width:a=0,height:c=0,y:d=0}=r,p=d,u=c;if("stack"===o.scope&&s.stackTotal){let r=e.translate(i?100:s.stackTotal,!1,!0,!1,!0),o=e.translate(t.threshold||0,!1,!0,!1,!0),n=this.crispCol(0,Math.min(r,o),0,Math.abs(r-o));p=n.y,u=n.height}let g=(s.negative?-1:1)*(l?-1:1)==-1,f=o.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(o.radius,a),a/2,"all"===f?c/2:1/0)||0;"end"===f&&(g&&(p-=m),u+=m),n(r,{brBoxHeight:u,brBoxY:p,r:m})}}}}function f(t,e){return a(t)||(t={radius:t||0}),l(c,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 b(t,e,i,s,r={}){let o=p(t,e,i,s,r),{r:n=0,brBoxHeight:a=s,brBoxY:l=e}=r,h=e-l,c=l+a-(e+s),d=h-n>-.1?0:n,u=c-n>-.1?0:n,g=Math.max(d&&h,0),f=Math.max(u&&c,0),m=[t+d,e],b=[t+i-d,e],y=[t+i,e+d],x=[t+i,e+s-u],v=[t+i-u,e+s],w=[t+u,e+s],k=[t,e+s-u],C=[t,e+d],S=(t,e)=>Math.sqrt(Math.pow(t,2)-Math.pow(e,2));if(g){let t=S(d,d-g);m[0]-=t,b[0]+=t,y[1]=C[1]=e+d-g}if(s=n(i.minWidth,0)&&this.chartHeight>=n(i.minHeight,0)}).call(this)&&e.push(t._id)}function l(t,e){let s,n=this.options.responsive,l=this.currentResponsive,h=[];!e&&n&&n.rules&&n.rules.forEach((t=>{void 0===t._id&&(t._id=a()),this.matchResponsiveRule(t,h)}),this);let c=o(...h.map((t=>r((n||{}).rules||[],(e=>e._id===t)))).map((t=>t&&t.chartOptions)));c.isResponsiveOptions=!0,h=h.toString()||void 0;let d=l&&l.ruleIds;h===d||(l&&(this.currentResponsive=void 0,this.updatingResponsive=!0,this.update(l.undoOptions,t,!0),this.updatingResponsive=!1),h?((s=i(c,this.options,!0,this.collectionsWithUpdate)).isResponsiveOptions=!0,this.currentResponsive={ruleIds:h,mergedOptions:c,undoOptions:s},this.updatingResponsive||this.update(c,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/BorderRadius.js"],e["Core/Responsive.js"],e["Core/Color/Color.js"],e["Core/Time.js"]],(function(t,e,i,s,r,o,n,a,l,h,c,d,p,u,g,f,m,b,y,x,v,w,k,C,S,A,M,P,T,E,L,D,O,j,N,I){return t.AST=o,t.Axis=p,t.Chart=k,t.Color=N,t.DataLabel=L,t.Fx=s,t.HTMLElement=d,t.Legend=v,t.LegendSymbol=w,t.OverlappingDataLabels=t.OverlappingDataLabels||D,t.PlotLineOrBand=f,t.Point=y,t.Pointer=x,t.RendererRegistry=a,t.Series=M,t.SeriesRegistry=P,t.StackItem=A,t.SVGElement=h,t.SVGRenderer=c,t.Templating=n,t.Tick=m,t.Time=I,t.Tooltip=b,t.animate=r.animate,t.animObject=r.animObject,t.chart=k.chart,t.color=N.parse,t.dateFormat=n.dateFormat,t.defaultOptions=i.defaultOptions,t.distribute=l.distribute,t.format=n.format,t.getDeferredAnimation=r.getDeferredAnimation,t.getOptions=i.getOptions,t.numberFormat=n.numberFormat,t.seriesType=P.seriesType,t.setAnimation=r.setAnimation,t.setOptions=i.setOptions,t.stop=r.stop,t.time=i.defaultTime,t.timers=s.timers,O.compose(t.Series,t.SVGElement,t.SVGRenderer),T.compose(t.Series.types.column),L.compose(t.Series),u.compose(t.Axis),d.compose(t.SVGRenderer),v.compose(t.Chart),g.compose(t.Axis),D.compose(t.Chart),E.compose(t.Series.types.pie),f.compose(t.Axis),x.compose(t.Chart),j.compose(t.Chart),C.compose(t.Axis,t.Chart,t.Series),S.compose(t.Axis,t.Chart,t.Series),b.compose(t.Pointer),e.extend(t,e),t})),e["masters/highcharts.src.js"]._modules=e,e["masters/highcharts.src.js"]},Ii.exports?(Ri.default=Ri,Ii.exports=Bi&&Bi.document?Ri(Bi):Ri):(Bi.Highcharts&&Bi.Highcharts.error(16,!0),Bi.Highcharts=Ri(Bi));var Fi=Ni(zi.exports),Hi={exports:{}};!function(t){!function(e){t.exports?(e.default=e,t.exports=e):e("undefined"!=typeof Highcharts?Highcharts:void 0)}((function(t){var e=t?t._modules:{};function i(e,i,s,r){e.hasOwnProperty(i)||(e[i]=r.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Extensions/Pane/PaneComposition.js",[e["Core/Utilities.js"]],(function(t){let{addEvent:e,correctFloat:i,defined:s,pick:r}=t;function o(t){let e,i=this;return t&&i.pane.forEach((s=>{n(t.chartX-i.plotLeft,t.chartY-i.plotTop,s.center)&&(e=s)})),e}function n(t,e,r,o,n){let a=!0,l=r[0],h=r[1],c=Math.sqrt(Math.pow(t-l,2)+Math.pow(e-h,2));if(s(o)&&s(n)){let s=Math.atan2(i(e-h,8),i(t-l,8));n!==o&&(a=o>n?s>=o&&s<=Math.PI||s<=n&&s>=-Math.PI:s>=o&&s<=i(n,8))}return c<=Math.ceil(r[2]/2)&&a}function a(t){this.polar&&(t.options.inverted&&([t.x,t.y]=[t.y,t.x]),t.isInsidePlot=this.pane.some((e=>n(t.x,t.y,e.center,e.axis&&e.axis.normalizedStartAngleRad,e.axis&&e.axis.normalizedEndAngleRad))))}function l(t){let e=this.chart;t.hoverPoint&&t.hoverPoint.plotX&&t.hoverPoint.plotY&&e.hoverPane&&!n(t.hoverPoint.plotX,t.hoverPoint.plotY,e.hoverPane.center)&&(t.hoverPoint=void 0)}function h(t){let e=this.chart;e.polar?(e.hoverPane=e.getHoverPane(t),t.filter=function(i){return i.visible&&!(!t.shared&&i.directTouch)&&r(i.options.enableMouseTracking,!0)&&(!e.hoverPane||i.xAxis.pane===e.hoverPane)}):e.hoverPane=void 0}return{compose:function(t,i){let s=t.prototype;s.getHoverPane||(s.collectionsWithUpdate.push("pane"),s.getHoverPane=o,e(t,"afterIsInsidePlot",a),e(i,"afterGetHoverData",l),e(i,"beforeGetHoverData",h))}}})),i(e,"Extensions/Pane/PaneDefaults.js",[],(function(){return{pane:{center:["50%","50%"],size:"85%",innerSize:"0%",startAngle:0},background:{shape:"circle",borderRadius:0,borderWidth:1,borderColor:"#cccccc",backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#ffffff"],[1,"#e6e6e6"]]},from:-Number.MAX_VALUE,innerRadius:0,to:Number.MAX_VALUE,outerRadius:"105%"}}})),i(e,"Extensions/Pane/Pane.js",[e["Series/CenteredUtilities.js"],e["Extensions/Pane/PaneComposition.js"],e["Extensions/Pane/PaneDefaults.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{extend:r,merge:o,splat:n}=s;class a{constructor(t,e){this.coll="pane",this.init(t,e)}init(t,e){this.chart=e,this.background=[],e.pane.push(this),this.setOptions(t)}setOptions(t){this.options=t=o(i.pane,this.chart.angular?{background:{}}:void 0,t)}render(){let t=this.options,e=this.chart.renderer;this.group||(this.group=e.g("pane-group").attr({zIndex:t.zIndex||0}).add()),this.updateCenter();let s=this.options.background;if(s){let t=Math.max((s=n(s)).length,this.background.length||0);for(let e=0;eo,e.y=e.high,e._plotY=e.plotY,e.plotY=r,l[t]=e.dataLabel,e.dataLabel=e.dataLabelUpper,e.below=i,p?s.align||(s.align=i?"right":"left"):s.verticalAlign||(s.verticalAlign=i?"top":"bottom")}for(this.options.dataLabels=s,n.drawDataLabels&&n.drawDataLabels.apply(this,arguments),t=a;t--;)(e=o[t])&&(e.dataLabelUpper=e.dataLabel,e.dataLabel=l[t],delete e.dataLabels,e.y=e.low,e.plotY=e._plotY)}if(r.enabled||this.hasDataLabels?.()){for(t=a;t--;)if(e=o[t]){let{plotHigh:t=0,plotLow:s=0}=e;i=r.inside?ts,e.below=!i,p?r.align||(r.align=i?"left":"right"):r.verticalAlign||(r.verticalAlign=i?"bottom":"top")}this.options.dataLabels=r,n.drawDataLabels&&n.drawDataLabels.apply(this,arguments)}if(s.enabled)for(t=a;t--;)(e=o[t])&&(e.dataLabels=[e.dataLabelUpper,e.dataLabel].filter((function(t){return!!t})));this.options.dataLabels=h}}alignDataLabel(){a.alignDataLabel.apply(this,arguments)}modifyMarkerSettings(){let t={marker:this.options.marker,symbol:this.symbol};if(this.options.lowMarker){let{options:{marker:t,lowMarker:e}}=this;this.options.marker=g(t,e),e.symbol&&(this.symbol=e.symbol)}return t}restoreMarkerSettings(t){this.options.marker=t.marker,this.symbol=t.symbol}drawPoints(){let t,e,i=this.points.length,s=this.modifyMarkerSettings();for(n.drawPoints.apply(this,arguments),this.restoreMarkerSettings(s),t=0;t=0&&e.plotY<=this.yAxis.len&&e.plotX>=0&&e.plotX<=this.xAxis.len),t++;for(n.drawPoints.apply(this,arguments),t=0;t● {series.name}: {point.low} - {point.high}
    '},trackByArea:!0,dataLabels:{align:void 0,verticalAlign:void 0,xLow:0,xHigh:0,yLow:0,yHigh:0}}),l(f,"afterTranslate",(function(){"low,high"===this.pointArrayMap.join(",")&&this.points.forEach((t=>{let e=t.high,i=t.plotY;t.isNull?t.plotY=void 0:(t.plotLow=i,t.plotHigh=p(e)?this.yAxis.translate(this.dataModify?this.dataModify.modifyValue(e):e,!1,!0,void 0,!0):void 0,this.dataModify&&(t.yBottom=t.plotHigh))}))}),{order:0}),l(f,"afterTranslate",(function(){this.points.forEach((t=>{if(this.chart.polar)this.highToXY(t),t.plotLow=t.plotY,t.tooltipPos=[((t.plotHighX||0)+(t.plotLowX||0))/2,((t.plotHigh||0)+(t.plotLow||0))/2];else{let e=t.pos(!1,t.plotLow),i=t.pos(!1,t.plotHigh);e&&i&&(e[0]=(e[0]+i[0])/2,e[1]=(e[1]+i[1])/2),t.tooltipPos=e}}))}),{order:3}),c(f.prototype,{deferTranslatePolar:!0,pointArrayMap:["low","high"],pointClass:t,pointValKey:"low",setStackedPoints:r}),i.registerSeriesType("arearange",f),f})),i(e,"Series/AreaSplineRange/AreaSplineRangeSeries.js",[e["Series/AreaRange/AreaRangeSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{spline:{prototype:s}}=e.seriesTypes,{merge:r,extend:o}=i;class n extends t{}return n.defaultOptions=r(t.defaultOptions),o(n.prototype,{getPointSpline:s.getPointSpline}),e.registerSeriesType("areasplinerange",n),n})),i(e,"Series/BoxPlot/BoxPlotSeriesDefaults.js",[],(function(){return{threshold:null,tooltip:{pointFormat:' {series.name}
    Maximum: {point.high}
    Upper quartile: {point.q3}
    Median: {point.median}
    Lower quartile: {point.q1}
    Minimum: {point.low}
    '},whiskerLength:"50%",fillColor:"#ffffff",lineWidth:1,medianWidth:2,whiskerWidth:2}})),i(e,"Series/BoxPlot/BoxPlotSeries.js",[e["Series/BoxPlot/BoxPlotSeriesDefaults.js"],e["Series/Column/ColumnSeries.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{noop:o}=i,{crisp:n,extend:a,merge:l,pick:h}=r;class c extends e{pointAttribs(){return{}}translate(){let t=this.yAxis,e=this.pointArrayMap;super.translate.apply(this),this.points.forEach((function(i){e.forEach((function(e){null!==i[e]&&(i[e+"Plot"]=t.translate(i[e],0,1,0,1))})),i.plotHigh=i.highPlot}))}drawPoints(){let t,e,i,s,r,o,a,l,c,d,p,u=this.points,g=this.options,f=this.chart,m=f.renderer,b=!1!==this.doQuartiles,y=this.options.whiskerLength;for(let x of u){let u=(o=x.graphic)?"animate":"attr",v=x.shapeArgs,w={},k={},C={},S={},A=x.color||this.color;if(void 0!==x.plotY){let M;a=v.width,c=(l=v.x)+a,d=a/2,t=b?x.q1Plot:x.lowPlot,e=b?x.q3Plot:x.lowPlot,i=x.highPlot,s=x.lowPlot,o||(x.graphic=o=m.g("point").add(this.group),x.stem=m.path().addClass("highcharts-boxplot-stem").add(o),y&&(x.whiskers=m.path().addClass("highcharts-boxplot-whisker").add(o)),b&&(x.box=m.path(undefined).addClass("highcharts-boxplot-box").add(o)),x.medianShape=m.path(undefined).addClass("highcharts-boxplot-median").add(o)),f.styledMode||(k.stroke=x.stemColor||g.stemColor||A,k["stroke-width"]=h(x.stemWidth,g.stemWidth,g.lineWidth),k.dashstyle=x.stemDashStyle||g.stemDashStyle||g.dashStyle,x.stem.attr(k),y&&(C.stroke=x.whiskerColor||g.whiskerColor||A,C["stroke-width"]=h(x.whiskerWidth,g.whiskerWidth,g.lineWidth),C.dashstyle=x.whiskerDashStyle||g.whiskerDashStyle||g.dashStyle,x.whiskers.attr(C)),b&&(w.fill=x.fillColor||g.fillColor||A,w.stroke=g.lineColor||A,w["stroke-width"]=g.lineWidth||0,w.dashstyle=x.boxDashStyle||g.boxDashStyle||g.dashStyle,x.box.attr(w)),S.stroke=x.medianColor||g.medianColor||A,S["stroke-width"]=h(x.medianWidth,g.medianWidth,g.lineWidth),S.dashstyle=x.medianDashStyle||g.medianDashStyle||g.dashStyle,x.medianShape.attr(S));let P=n((x.plotX||0)+(this.pointXOffset||0)+(this.barW||0)/2,x.stem.strokeWidth());if(M=[["M",P,e],["L",P,i],["M",P,t],["L",P,s]],x.stem[u]({d:M}),b){let i=x.box.strokeWidth();t=n(t,i),e=n(e,i),M=[["M",l=n(l,i),e],["L",l,t],["L",c=n(c,i),t],["L",c,e],["L",l,e],["Z"]],x.box[u]({d:M})}if(y){let t=x.whiskers.strokeWidth();i=n(x.highPlot,t),s=n(x.lowPlot,t),M=[["M",n(P-(p="string"==typeof y&&/%$/.test(y)?d*parseFloat(y)/100:Number(y)/2)),i],["L",n(P+p),i],["M",n(P-p),s],["L",n(P+p),s]],x.whiskers[u]({d:M})}M=[["M",l,r=n(x.medianPlot,x.medianShape.strokeWidth())],["L",c,r]],x.medianShape[u]({d:M})}}}toYData(t){return[t.low,t.q1,t.median,t.q3,t.high]}}return c.defaultOptions=l(e.defaultOptions,t),a(c.prototype,{pointArrayMap:["low","q1","median","q3","high"],pointValKey:"high",drawDataLabels:o,setStackedPoints:o}),s.registerSeriesType("boxplot",c),c})),i(e,"Series/Bubble/BubbleLegendDefaults.js",[],(function(){return{borderColor:void 0,borderWidth:2,className:void 0,color:void 0,connectorClassName:void 0,connectorColor:void 0,connectorDistance:60,connectorWidth:1,enabled:!1,labels:{className:void 0,allowOverlap:!1,format:"",formatter:void 0,align:"right",style:{fontSize:"0.9em",color:"#000000"},x:0,y:0},maxSize:60,minSize:10,legendIndex:0,ranges:{value:void 0,borderColor:void 0,color:void 0,connectorColor:void 0},sizeBy:"area",sizeByAbsoluteValue:!1,zIndex:1,zThreshold:0}})),i(e,"Series/Bubble/BubbleLegendItem.js",[e["Core/Color/Color.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{parse:r}=t,{noop:o}=i,{arrayMax:n,arrayMin:a,isNumber:l,merge:h,pick:c,stableSort:d}=s;return class{constructor(t,e){this.setState=o,this.init(t,e)}init(t,e){this.options=t,this.visible=!0,this.chart=e.chart,this.legend=e}addToLegend(t){t.splice(this.options.legendIndex,0,this)}drawLegendSymbol(t){let e,i=c(t.options.itemDistance,20),s=this.legendItem||{},r=this.options,o=r.ranges,n=r.connectorDistance;if(!o||!o.length||!l(o[0].value))return void(t.options.bubbleLegend.autoRanges=!0);d(o,(function(t,e){return e.value-t.value})),this.ranges=o,this.setOptions(),this.render();let a=this.getMaxLabelSize(),h=this.ranges[0].radius,p=2*h;e=(e=n-h+a.width)>0?e:0,this.maxLabel=a,this.movementX="left"===r.labels.align?e:0,s.labelWidth=p+e+i,s.labelHeight=p+a.height/2}setOptions(){let t=this.ranges,e=this.options,i=this.chart.series[e.seriesIndex],s=this.legend.baseline,o={zIndex:e.zIndex,"stroke-width":e.borderWidth},n={zIndex:e.zIndex,"stroke-width":e.connectorWidth},a={align:this.legend.options.rtl||"left"===e.labels.align?"right":"left",zIndex:e.zIndex},l=i.options.marker.fillOpacity,d=this.chart.styledMode;t.forEach((function(p,u){d||(o.stroke=c(p.borderColor,e.borderColor,i.color),o.fill=c(p.color,e.color,1!==l?r(i.color).setOpacity(l).get("rgba"):i.color),n.stroke=c(p.connectorColor,e.connectorColor,i.color)),t[u].radius=this.getRangeRadius(p.value),t[u]=h(t[u],{center:t[0].radius-t[u].radius+s}),d||h(!0,t[u],{bubbleAttribs:h(o),connectorAttribs:h(n),labelAttribs:a})}),this)}getRangeRadius(t){let e=this.options,i=this.options.seriesIndex,s=this.chart.series[i],r=e.ranges[0].value,o=e.ranges[e.ranges.length-1].value,n=e.minSize,a=e.maxSize;return s.getRadius.call(this,o,r,n,a,t)}render(){let t=this.legendItem||{},e=this.chart.renderer,i=this.options.zThreshold;for(let s of(this.symbols||(this.symbols={connectors:[],bubbleItems:[],labels:[]}),t.symbol=e.g("bubble-legend"),t.label=e.g("bubble-legend-item").css(this.legend.itemStyle||{}),t.symbol.translateX=0,t.symbol.translateY=0,t.symbol.add(t.label),t.label.add(t.group),this.ranges))s.value>=i&&this.renderRange(s);this.hideOverlappingLabels()}renderRange(t){let e=this.ranges[0],i=this.legend,s=this.options,r=s.labels,o=this.chart,n=o.series[s.seriesIndex],a=o.renderer,l=this.symbols,h=l.labels,c=t.center,d=Math.abs(t.radius),p=s.connectorDistance||0,u=r.align,g=i.options.rtl,f=s.borderWidth,m=s.connectorWidth,b=e.radius||0,y=c-d-f/2+m/2,x=(y%1?1:.5)-(m%2?0:.5),v=a.styledMode,w=g||"left"===u?-p:p;"center"===u&&(w=0,s.connectorDistance=0,t.labelAttribs.align="center"),l.bubbleItems.push(a.circle(b,c+x,d).attr(v?{}:t.bubbleAttribs).addClass((v?"highcharts-color-"+n.colorIndex+" ":"")+"highcharts-bubble-legend-symbol "+(s.className||"")).add(this.legendItem.symbol)),l.connectors.push(a.path(a.crispLine([["M",b,y],["L",b+w,y]],s.connectorWidth)).attr(v?{}:t.connectorAttribs).addClass((v?"highcharts-color-"+this.options.seriesIndex+" ":"")+"highcharts-bubble-legend-connectors "+(s.connectorClassName||"")).add(this.legendItem.symbol));let k=a.text(this.formatLabel(t)).attr(v?{}:t.labelAttribs).css(v?{}:r.style).addClass("highcharts-bubble-legend-labels "+(s.labels.className||"")).add(this.legendItem.symbol),C={x:b+w+s.labels.x,y:y+s.labels.y+.4*k.getBBox().height};k.attr(C),h.push(k),k.placed=!0,k.alignAttr=C}getMaxLabelSize(){let t,e;return this.symbols.labels.forEach((function(i){e=i.getBBox(!0),t=t?e.width>t.width?e:t:e})),t||{}}formatLabel(t){let i=this.options,s=i.labels.formatter,r=i.labels.format,{numberFormatter:o}=this.chart;return r?e.format(r,t):s?s.call(t):o(t.value,1)}hideOverlappingLabels(){let t=this.chart,e=this.options.labels.allowOverlap,i=this.symbols;!e&&i&&(t.hideOverlappingLabels(i.labels),i.labels.forEach((function(t,e){t.newOpacity?t.newOpacity!==t.oldOpacity&&i.connectors[e].show():i.connectors[e].hide()})))}getRanges(){let t,e,i=this.legend.bubbleLegend,s=i.chart.series,r=i.options.ranges,o=Number.MAX_VALUE,d=-Number.MAX_VALUE;return s.forEach((function(t){t.isBubble&&!t.ignoreSeries&&(e=t.zData.filter(l)).length&&(o=c(t.options.zMin,Math.min(o,Math.max(a(e),!1===t.options.displayNegative?t.options.zThreshold:-Number.MAX_VALUE))),d=c(t.options.zMax,Math.max(d,n(e))))})),t=o===d?[{value:d}]:[{value:o},{value:(o+d)/2},{value:d,autoRanges:!0}],r.length&&r[0].radius&&t.reverse(),t.forEach((function(e,i){r&&r[i]&&(t[i]=h(r[i],e))})),t}predictBubbleSizes(){let t,e=this.chart,i=e.legend.options,s=i.floating,r="horizontal"===i.layout,o=r?e.legend.lastLineHeight:0,n=e.plotSizeX,a=e.plotSizeY,l=e.series[this.options.seriesIndex],h=l.getPxExtremes(),c=Math.ceil(h.minPxSize),d=Math.ceil(h.maxPxSize),p=Math.min(a,n),u=l.options.maxSize;return s||!/%$/.test(u)?t=d:(t=(p+o)*(u=parseFloat(u))/100/(u/100+1),(r&&a-t>=n||!r&&n-t>=a)&&(t=d)),[c,Math.ceil(t)]}updateRanges(t,e){let i=this.legend.options.bubbleLegend;i.minSize=t,i.maxSize=e,i.ranges=this.getRanges()}correctSizes(){let t=this.legend,e=this.chart.series[this.options.seriesIndex].getPxExtremes();Math.abs(Math.ceil(e.maxPxSize)-this.options.maxSize)>1&&(this.updateRanges(this.options.minSize,e.maxPxSize),t.render())}}})),i(e,"Series/Bubble/BubbleLegendComposition.js",[e["Series/Bubble/BubbleLegendDefaults.js"],e["Series/Bubble/BubbleLegendItem.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{setOptions:o}=i,{composed:n}=s,{addEvent:a,objectEach:l,pushUnique:h,wrap:c}=r;function d(t,e,i){let s,r,o,n=this.legend,a=p(this)>=0;n&&n.options.enabled&&n.bubbleLegend&&n.options.bubbleLegend.autoRanges&&a?(s=n.bubbleLegend.options,r=n.bubbleLegend.predictBubbleSizes(),n.bubbleLegend.updateRanges(r[0],r[1]),s.placed||(n.group.placed=!1,n.allItems.forEach((t=>{(o=t.legendItem||{}).group&&(o.group.translateY=void 0)}))),n.render(),s.placed||(this.getMargins(),this.axes.forEach((function(t){t.visible&&t.render(),s.placed||(t.setScale(),t.updateNames(),l(t.ticks,(function(t){t.isNew=!0,t.isNewLabel=!0})))})),this.getMargins()),s.placed=!0,t.call(this,e,i),n.bubbleLegend.correctSizes(),m(n,u(n))):(t.call(this,e,i),n&&n.options.enabled&&n.bubbleLegend&&(n.render(),m(n,u(n))))}function p(t){let e=t.series,i=0;for(;ie.height&&(e.height=r[l].itemHeight);e.step=a}return o}function g(t){let i=this.bubbleLegend,s=this.options,r=s.bubbleLegend,o=p(this.chart);i&&i.ranges&&i.ranges.length&&(r.ranges.length&&(r.autoRanges=!!r.ranges[0].autoRanges),this.destroyItem(i)),o>=0&&s.enabled&&r.enabled&&(r.seriesIndex=o,this.bubbleLegend=new e(r,this),this.bubbleLegend.addToLegend(t.allItems))}function f(t){let e;if(t.defaultPrevented)return!1;let i=t.legendItem,s=this.chart,r=i.visible;this&&this.bubbleLegend&&(i.visible=!r,i.ignoreSeries=r,e=p(s)>=0,this.bubbleLegend.visible!==e&&(this.update({bubbleLegend:{enabled:e}}),this.bubbleLegend.visible=e),i.visible=r)}function m(t,e){let i,s,r,o,n=t.allItems,a=t.options.rtl,l=0;n.forEach(((t,n)=>{(o=t.legendItem||{}).group&&(i=o.group.translateX||0,s=o.y||0,((r=t.movementX)||a&&t.ranges)&&(r=a?i-t.options.maxSize/2:i+r,o.group.attr({translateX:r})),n>e[l].step&&l++,o.group.attr({translateY:Math.round(s+e[l].height/2)}),o.y=s+e[l].height/2)}))}return{compose:function(e,i){h(n,"Series.BubbleLegend")&&(o({legend:{bubbleLegend:t}}),c(e.prototype,"drawChartBox",d),a(i,"afterGetAllItems",g),a(i,"itemClick",f))}}})),i(e,"Series/Bubble/BubblePoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i){let{seriesTypes:{scatter:{prototype:{pointClass:s}}}}=e,{extend:r}=i;class o extends s{haloPath(e){return t.prototype.haloPath.call(this,0===e?0:(this.marker&&this.marker.radius||0)+e)}}return r(o.prototype,{ttBelow:!1}),o})),i(e,"Series/Bubble/BubbleSeries.js",[e["Series/Bubble/BubbleLegendComposition.js"],e["Series/Bubble/BubblePoint.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r,o){let{parse:n}=i,{composed:a,noop:l}=s,{series:h,seriesTypes:{column:{prototype:c},scatter:d}}=r,{addEvent:p,arrayMax:u,arrayMin:g,clamp:f,extend:m,isNumber:b,merge:y,pick:x,pushUnique:v}=o;function w(){let t,e=this.len,{coll:i,isXAxis:s,min:r}=this,o=s?"xData":"yData",n=(this.max||0)-(r||0),a=0,l=e,h=e/n;("xAxis"===i||"yAxis"===i)&&(this.series.forEach((e=>{if(e.bubblePadding&&e.reserveSpace()){this.allowZoomOutside=!0,t=!0;let i=e[o];if(s&&((e.onPoint||e).getRadii(0,0,e),e.onPoint&&(e.radii=e.onPoint.radii)),n>0){let t=i.length;for(;t--;)if(b(i[t])&&this.dataMin<=i[t]&&i[t]<=this.max){let s=e.radii&&e.radii[t]||0;a=Math.min((i[t]-r)*h-s,a),l=Math.max((i[t]-r)*h+s,l)}}}})),t&&n>0&&!this.logarithmic&&(l-=e,h*=(e+Math.max(0,a)-Math.min(l,e))/e,[["min","userMin",a],["max","userMax",l]].forEach((t=>{void 0===x(this.options[t[0]],this[t[1]])&&(this[t[0]]+=t[2]/h)}))))}class k extends d{static compose(e,i,s){t.compose(i,s),v(a,"Series.Bubble")&&p(e,"foundExtremes",w)}animate(t){!t&&this.points.length{if(s.bubblePadding&&s.reserveSpace()){let r=(s.onPoint||s).getZExtremes();r&&(e=Math.min(x(e,r.zMin),r.zMin),i=Math.max(x(i,r.zMax),r.zMax),t=!0)}})),t?(n={zMin:e,zMax:i},this.chart.bubbleZExtremes=n):n={zMin:0,zMax:0}}for(e=0,t=s.length;e0&&(c=(r-t)/h)}return a&&c>=0&&(c=Math.sqrt(c)),Math.ceil(i+c*(s-i))/2}hasData(){return!!this.processedXData.length}markerAttribs(t,e){let i=super.markerAttribs(t,e),{height:s=0,width:r=0}=i;return this.chart.inverted?m(i,{x:(t.plotX||0)-r/2,y:(t.plotY||0)-s/2}):i}pointAttribs(t,e){let i=this.options.marker.fillOpacity,s=h.prototype.pointAttribs.call(this,t,e);return 1!==i&&(s.fill=n(s.fill).setOpacity(i).get("rgba")),s}translate(){super.translate.call(this),this.getRadii(),this.translateBubble()}translateBubble(){let{data:t,options:e,radii:i}=this,{minPxSize:s}=this.getPxExtremes(),r=t.length;for(;r--;){let o=t[r],n=i?i[r]:0;"z"===this.zoneAxis&&(o.negative=(o.z||0)<(e.zThreshold||0)),b(n)&&n>=s/2?(o.marker=m(o.marker,{radius:n,width:2*n,height:2*n}),o.dlBox={x:o.plotX-n,y:o.plotY-n,width:2*n,height:2*n}):(o.shapeArgs=o.plotY=o.dlBox=void 0,o.isInside=!1)}}getPxExtremes(){let t=Math.min(this.chart.plotWidth,this.chart.plotHeight),e=e=>{let i;return"string"==typeof e&&(i=/%$/.test(e),e=parseInt(e,10)),i?t*e/100:e},i=e(x(this.options.minSize,8));return{minPxSize:i,maxPxSize:Math.max(e(x(this.options.maxSize,"20%")),i)}}getZExtremes(){let t=this.options,e=(this.zData||[]).filter(b);if(e.length){let i=x(t.zMin,f(g(e),!1===t.displayNegative?t.zThreshold||0:-Number.MAX_VALUE,Number.MAX_VALUE)),s=x(t.zMax,u(e));if(b(i)&&b(s))return{zMin:i,zMax:s}}}}return k.defaultOptions=y(d.defaultOptions,{dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{z:e}=this.point;return b(e)?t(e,-1):""},inside:!0,verticalAlign:"middle"},animationLimit:250,marker:{lineColor:null,lineWidth:1,fillOpacity:.5,radius:null,states:{hover:{radiusPlus:0}},symbol:"circle"},minSize:8,maxSize:"20%",softThreshold:!1,states:{hover:{halo:{size:5}}},tooltip:{pointFormat:"({point.x}, {point.y}), Size: {point.z}"},turboThreshold:0,zThreshold:0,zoneAxis:"z"}),m(k.prototype,{alignDataLabel:c.alignDataLabel,applyZones:l,bubblePadding:!0,isBubble:!0,pointArrayMap:["y","z"],pointClass:e,parallelArrays:["x","y","z"],trackerGroups:["group","dataLabelsGroup"],specialGroup:"group",zoneAxis:"z"}),p(k,"updatedData",(t=>{delete t.target.chart.bubbleZExtremes})),p(k,"remove",(t=>{delete t.target.chart.bubbleZExtremes})),r.registerSeriesType("bubble",k),k})),i(e,"Series/ColumnRange/ColumnRangePoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e){let{seriesTypes:{column:{prototype:{pointClass:{prototype:i}}},arearange:{prototype:{pointClass:s}}}}=t,{extend:r,isNumber:o}=e;class n extends s{isValid(){return o(this.low)}}return r(n.prototype,{setState:i.setState}),n})),i(e,"Series/ColumnRange/ColumnRangeSeries.js",[e["Series/ColumnRange/ColumnRangePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:r}=e,{seriesTypes:{arearange:o,column:n,column:{prototype:a}}}=i,{addEvent:l,clamp:h,extend:c,isNumber:d,merge:p,pick:u}=s;class g extends o{setOptions(){return p(!0,arguments[0],{stacking:void 0}),o.prototype.setOptions.apply(this,arguments)}translate(){return a.translate.apply(this)}pointAttribs(){return a.pointAttribs.apply(this,arguments)}translate3dPoints(){return a.translate3dPoints.apply(this,arguments)}translate3dShapes(){return a.translate3dShapes.apply(this,arguments)}afterColumnTranslate(){let t,e,i,s,r=this.yAxis,o=this.xAxis,n=o.startAngleRad,a=this.chart,l=this.xAxis.isRadial,c=Math.max(a.chartWidth,a.chartHeight)+999;this.points.forEach((g=>{let f=g.shapeArgs||{},m=this.options.minPointLength,b=g.plotY,y=r.translate(g.high,0,1,0,1);if(d(y)&&d(b))if(g.plotHigh=h(y,-c,c),g.plotLow=h(b,-c,c),s=g.plotHigh,Math.abs(t=u(g.rectPlotY,g.plotY)-g.plotHigh)● {series.name}: {point.low} - {point.high}
    '},whiskerWidth:null}})),i(e,"Series/ErrorBar/ErrorBarSeries.js",[e["Series/BoxPlot/BoxPlotSeries.js"],e["Series/Column/ColumnSeries.js"],e["Series/ErrorBar/ErrorBarSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{arearange:o}=s.seriesTypes,{addEvent:n,merge:a,extend:l}=r;class h extends t{getColumnMetrics(){return this.linkedParent&&this.linkedParent.columnMetrics||e.prototype.getColumnMetrics.call(this)}drawDataLabels(){let t=this.pointValKey;if(o)for(let e of(o.prototype.drawDataLabels.call(this),this.points))e.y=e[t]}toYData(t){return[t.low,t.high]}}return h.defaultOptions=a(t.defaultOptions,i),n(h,"afterTranslate",(function(){for(let t of this.points)t.plotLow=t.plotY}),{order:0}),l(h.prototype,{pointArrayMap:["low","high"],pointValKey:"high",doQuartiles:!1}),s.registerSeriesType("errorbar",h),h})),i(e,"Series/Gauge/GaugePoint.js",[e["Core/Series/SeriesRegistry.js"]],(function(t){let{series:{prototype:{pointClass:e}}}=t;return class extends e{setState(t){this.state=t}}})),i(e,"Series/Gauge/GaugeSeries.js",[e["Series/Gauge/GaugePoint.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:r}=e,{series:o,seriesTypes:{column:n}}=i,{clamp:a,isNumber:l,extend:h,merge:c,pick:d,pInt:p,defined:u}=s;class g extends o{translate(){let t=this.yAxis,e=this.options,i=t.center;this.generatePoints(),this.points.forEach((s=>{let r=c(e.dial,s.dial),o=p(r.radius)*i[2]/200,n=p(r.baseLength)*o/100,h=p(r.rearLength)*o/100,d=r.baseWidth,g=r.topWidth,f=e.overshoot,m=t.startAngleRad+t.translate(s.y,void 0,void 0,void 0,!0);(l(f)||!1===e.wrap)&&(f=l(f)?f/180*Math.PI:0,m=a(m,t.startAngleRad-f,t.endAngleRad+f)),m=180*m/Math.PI,s.shapeType="path";let b=r.path||[["M",-h,-d/2],["L",n,-d/2],["L",o,-g/2],["L",o,g/2],["L",n,d/2],["L",-h,d/2],["Z"]];s.shapeArgs={d:b,translateX:i[0],translateY:i[1],rotation:m},s.plotX=i[0],s.plotY=i[1],u(s.y)&&t.max-t.min&&(s.percentage=(s.y-t.min)/(t.max-t.min)*100)}))}drawPoints(){let t=this,e=t.chart,i=t.yAxis.center,s=t.pivot,r=t.options,o=r.pivot,n=e.renderer;t.points.forEach((i=>{let s=i.graphic,o=i.shapeArgs,a=o.d,l=c(r.dial,i.dial);s?(s.animate(o),o.d=a):i.graphic=n[i.shapeType](o).addClass("highcharts-dial").add(t.group),e.styledMode||i.graphic[s?"animate":"attr"]({stroke:l.borderColor,"stroke-width":l.borderWidth,fill:l.backgroundColor})})),s?s.animate({translateX:i[0],translateY:i[1]}):o&&(t.pivot=n.circle(0,0,o.radius).attr({zIndex:2}).addClass("highcharts-pivot").translate(i[0],i[1]).add(t.group),e.styledMode||t.pivot.attr({fill:o.backgroundColor,stroke:o.borderColor,"stroke-width":o.borderWidth}))}animate(t){let e=this;t||e.points.forEach((t=>{let i=t.graphic;i&&(i.attr({rotation:180*e.yAxis.startAngleRad/Math.PI}),i.animate({rotation:t.shapeArgs.rotation},e.options.animation))}))}render(){this.group=this.plotGroup("group","series",this.visible?"inherit":"hidden",this.options.zIndex,this.chart.seriesGroup),o.prototype.render.call(this),this.group.clip(this.chart.clipRect)}setData(t,e){o.prototype.setData.call(this,t,!1),this.processData(),this.generatePoints(),d(e,!0)&&this.chart.redraw()}hasData(){return!!this.points.length}}return g.defaultOptions=c(o.defaultOptions,{dataLabels:{borderColor:"#cccccc",borderRadius:3,borderWidth:1,crop:!1,defer:!1,enabled:!0,verticalAlign:"top",y:15,zIndex:2},dial:{backgroundColor:"#000000",baseLength:"70%",baseWidth:3,borderColor:"#cccccc",borderWidth:0,radius:"80%",rearLength:"10%",topWidth:1},pivot:{radius:5,borderWidth:0,borderColor:"#cccccc",backgroundColor:"#000000"},tooltip:{headerFormat:""},showInLegend:!1}),h(g.prototype,{angular:!0,directTouch:!0,drawGraph:r,drawTracker:n.prototype.drawTracker,fixedBox:!0,forceDL:!0,noSharedTooltip:!0,pointClass:t,trackerGroups:["group","dataLabelsGroup"]}),i.registerSeriesType("gauge",g),g})),i(e,"Series/DragNodesComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{composed:i}=t,{addEvent:s,pushUnique:r}=e;function o(){let t,e,i,r=this;r.container&&(t=s(r.container,"mousedown",(t=>{let o=r.hoverPoint;o&&o.series&&o.series.hasDraggableNodes&&o.series.options.draggable&&(o.series.onMouseDown(o,t),e=s(r.container,"mousemove",(t=>o&&o.series&&o.series.onMouseMove(o,t))),i=s(r.container.ownerDocument,"mouseup",(t=>(e(),i(),o&&o.series&&o.series.onMouseUp(o,t)))))}))),s(r,"destroy",(function(){t()}))}return{compose:function(t){r(i,"DragNodes")&&s(t,"load",o)},onMouseDown:function(t,e){let i=this.chart.pointer?.normalize(e)||e;t.fixedPosition={chartX:i.chartX,chartY:i.chartY,plotX:t.plotX,plotY:t.plotY},t.inDragMode=!0},onMouseMove:function(t,e){if(t.fixedPosition&&t.inDragMode){let i,s,r=this.chart,o=r.pointer?.normalize(e)||e,n=t.fixedPosition.chartX-o.chartX,a=t.fixedPosition.chartY-o.chartY,l=r.graphLayoutsLookup;(Math.abs(n)>5||Math.abs(a)>5)&&(i=t.fixedPosition.plotX-n,s=t.fixedPosition.plotY-a,r.isInsidePlot(i,s)&&(t.plotX=i,t.plotY=s,t.hasDragged=!0,this.redrawHalo(t),l.forEach((t=>{t.restartSimulation()}))))}},onMouseUp:function(t){t.fixedPosition&&(t.hasDragged&&(this.layout.enableSimulation?this.layout.start():this.chart.redraw()),t.inDragMode=t.hasDragged=!1,this.options.fixedDraggable||delete t.fixedPosition)},redrawHalo:function(t){t&&this.halo&&this.halo.attr({d:t.haloPath(this.options.states.hover.halo.size)})}}})),i(e,"Series/GraphLayoutComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i){let{setAnimation:s}=t,{composed:r}=e,{addEvent:o,pushUnique:n}=i;function a(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach((t=>{t.updateSimulation()})),this.redraw())}function l(){this.graphLayoutsLookup&&(this.graphLayoutsLookup.forEach((t=>{t.updateSimulation(!1)})),this.redraw())}function h(){this.graphLayoutsLookup&&this.graphLayoutsLookup.forEach((t=>{t.stop()}))}function c(){let t,e=!1,i=i=>{i.maxIterations--&&isFinite(i.temperature)&&!i.isStable()&&!i.enableSimulation&&(i.beforeStep&&i.beforeStep(),i.step(),t=!1,e=!0)};if(this.graphLayoutsLookup){for(s(!1,this),this.graphLayoutsLookup.forEach((t=>t.start()));!t;)t=!0,this.graphLayoutsLookup.forEach(i);e&&this.series.forEach((t=>{t&&t.layout&&t.render()}))}}return{compose:function(t){n(r,"GraphLayout")&&(o(t,"afterPrint",a),o(t,"beforePrint",l),o(t,"predraw",h),o(t,"render",c))},integrations:{},layouts:{}}})),i(e,"Series/PackedBubble/PackedBubblePoint.js",[e["Core/Chart/Chart.js"],e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"]],(function(t,e,i){let{seriesTypes:{bubble:{prototype:{pointClass:s}}}}=i;return class extends s{destroy(){return this.series?.layout&&this.series.layout.removeElementFromCollection(this,this.series.layout.nodes),e.prototype.destroy.apply(this,arguments)}firePointEvent(){let t=this.series.options;if(this.isParentNode&&t.parentNode){let i=t.allowPointSelect;t.allowPointSelect=t.parentNode.allowPointSelect,e.prototype.firePointEvent.apply(this,arguments),t.allowPointSelect=i}else e.prototype.firePointEvent.apply(this,arguments)}select(){let i=this.series.chart;this.isParentNode?(i.getSelectedPoints=i.getSelectedParentNodes,e.prototype.select.apply(this,arguments),i.getSelectedPoints=t.prototype.getSelectedPoints):e.prototype.select.apply(this,arguments)}}})),i(e,"Series/PackedBubble/PackedBubbleSeriesDefaults.js",[e["Core/Utilities.js"]],(function(t){let{isNumber:e}=t;return{minSize:"10%",maxSize:"50%",sizeBy:"area",zoneAxis:"y",crisp:!1,tooltip:{pointFormat:"Value: {point.value}"},draggable:!0,useSimulation:!0,parentNode:{allowPointSelect:!1},dataLabels:{formatter:function(){let{numberFormatter:t}=this.series.chart,{value:i}=this.point;return e(i)?t(i,-1):""},parentNodeFormatter:function(){return this.name},parentNodeTextPath:{enabled:!0},padding:0,style:{transition:"opacity 2000ms"}},layoutAlgorithm:{initialPositions:"circle",initialPositionRadius:20,bubblePadding:5,parentNodeLimit:!1,seriesInteraction:!0,dragBetweenSeries:!1,parentNodeOptions:{maxIterations:400,gravitationalConstant:.03,maxSpeed:50,initialPositionRadius:100,seriesInteraction:!0,marker:{fillColor:null,fillOpacity:1,lineWidth:null,lineColor:null,symbol:"circle"}},enableSimulation:!0,type:"packedbubble",integration:"packedbubble",maxIterations:1e3,splitSeries:!1,maxSpeed:5,gravitationalConstant:.01,friction:-.981}}})),i(e,"Series/Networkgraph/VerletIntegration.js",[],(function(){return{attractive:function(t,e,i){let s=t.getMass(),r=-i.x*e*this.diffTemperature,o=-i.y*e*this.diffTemperature;t.fromNode.fixedPosition||(t.fromNode.plotX-=r*s.fromNode/t.fromNode.degree,t.fromNode.plotY-=o*s.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.plotX+=r*s.toNode/t.toNode.degree,t.toNode.plotY+=o*s.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return(e-t)/t},barycenter:function(){let t=this.options.gravitationalConstant||0,e=(this.barycenter.xFactor-(this.box.left+this.box.width)/2)*t,i=(this.barycenter.yFactor-(this.box.top+this.box.height)/2)*t;this.nodes.forEach((function(t){t.fixedPosition||(t.plotX-=e/t.mass/t.degree,t.plotY-=i/t.mass/t.degree)}))},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.5)},integrate:function(t,e){let i=-t.options.friction,s=t.options.maxSpeed,r=e.prevX,o=e.prevY,n=(e.plotX+e.dispX-r)*i,a=(e.plotY+e.dispY-o)*i,l=Math.abs,h=l(n)/(n||1),c=l(a)/(a||1),d=h*Math.min(s,Math.abs(n)),p=c*Math.min(s,Math.abs(a));e.prevX=e.plotX+e.dispX,e.prevY=e.plotY+e.dispY,e.plotX+=d,e.plotY+=p,e.temperature=t.vectorLength({x:d,y:p})},repulsive:function(t,e,i){let s=e*this.diffTemperature/t.mass/t.degree;t.fixedPosition||(t.plotX+=i.x*s,t.plotY+=i.y*s)},repulsiveForceFunction:function(t,e){return(e-t)/t*(e>t?1:0)}}})),i(e,"Series/PackedBubble/PackedBubbleIntegration.js",[e["Core/Globals.js"],e["Series/Networkgraph/VerletIntegration.js"]],(function(t,e){let{noop:i}=t;return{barycenter:function(){let t,e,i=this.options.gravitationalConstant,s=this.box,r=this.nodes;for(let o of r)this.options.splitSeries&&!o.isParentNode?(t=o.series.parentNode.plotX,e=o.series.parentNode.plotY):(t=s.width/2,e=s.height/2),o.fixedPosition||(o.plotX-=(o.plotX-t)*i/(o.mass*Math.sqrt(r.length)),o.plotY-=(o.plotY-e)*i/(o.mass*Math.sqrt(r.length)))},getK:i,integrate:e.integrate,repulsive:function(t,e,i,s){let r=e*this.diffTemperature/t.mass/t.degree,o=i.x*r,n=i.y*r;t.fixedPosition||(t.plotX+=o,t.plotY+=n),s.fixedPosition||(s.plotX-=o,s.plotY-=n)},repulsiveForceFunction:function(t,e,i,s){return Math.min(t,(i.marker.radius+s.marker.radius)/2)}}})),i(e,"Series/Networkgraph/EulerIntegration.js",[],(function(){return{attractive:function(t,e,i,s){let r=t.getMass(),o=i.x/s*e,n=i.y/s*e;t.fromNode.fixedPosition||(t.fromNode.dispX-=o*r.fromNode/t.fromNode.degree,t.fromNode.dispY-=n*r.fromNode/t.fromNode.degree),t.toNode.fixedPosition||(t.toNode.dispX+=o*r.toNode/t.toNode.degree,t.toNode.dispY+=n*r.toNode/t.toNode.degree)},attractiveForceFunction:function(t,e){return t*t/e},barycenter:function(){let t=this.options.gravitationalConstant,e=this.barycenter.xFactor,i=this.barycenter.yFactor;this.nodes.forEach((function(s){if(!s.fixedPosition){let r=s.getDegree(),o=r*(1+r/2);s.dispX+=(e-s.plotX)*t*o/s.degree,s.dispY+=(i-s.plotY)*t*o/s.degree}}))},getK:function(t){return Math.pow(t.box.width*t.box.height/t.nodes.length,.3)},integrate:function(t,e){e.dispX+=e.dispX*t.options.friction,e.dispY+=e.dispY*t.options.friction;let i=e.temperature=t.vectorLength({x:e.dispX,y:e.dispY});0!==i&&(e.plotX+=e.dispX/i*Math.min(Math.abs(e.dispX),t.temperature),e.plotY+=e.dispY/i*Math.min(Math.abs(e.dispY),t.temperature))},repulsive:function(t,e,i,s){t.dispX+=i.x/s*e/t.degree,t.dispY+=i.y/s*e/t.degree},repulsiveForceFunction:function(t,e){return e*e/t}}})),i(e,"Series/Networkgraph/QuadTreeNode.js",[],(function(){class t{constructor(t){this.body=!1,this.isEmpty=!1,this.isInternal=!1,this.nodes=[],this.box=t,this.boxSize=Math.min(t.width,t.height)}divideBox(){let e=this.box.width/2,i=this.box.height/2;this.nodes[0]=new t({left:this.box.left,top:this.box.top,width:e,height:i}),this.nodes[1]=new t({left:this.box.left+e,top:this.box.top,width:e,height:i}),this.nodes[2]=new t({left:this.box.left+e,top:this.box.top+i,width:e,height:i}),this.nodes[3]=new t({left:this.box.left,top:this.box.top+i,width:e,height:i})}getBoxPosition(t){let e=t.plotXthis.step()))):(this.simulation=!1,this.series.forEach((t=>{c(t,"afterSimulation")})))}}stop(){this.simulation&&n.cancelAnimationFrame(this.simulation)}setArea(t,e,i,s){this.box={left:t,top:e,width:i,height:s}}setK(){this.k=this.options.linkLength||this.integration.getK(this)}addElementsToCollection(t,e){for(let i of t)-1===e.indexOf(i)&&e.push(i)}removeElementFromCollection(t,e){let i=e.indexOf(t);-1!==i&&e.splice(i,1)}clear(){this.nodes.length=0,this.links.length=0,this.series.length=0,this.resetSimulation()}resetSimulation(){this.forcedStop=!1,this.systemTemperature=0,this.setMaxIterations(),this.setTemperature(),this.setDiffTemperature()}restartSimulation(){this.simulation?this.resetSimulation():(this.setInitialRendering(!1),this.enableSimulation?this.start():this.setMaxIterations(1),this.chart&&this.chart.redraw(),this.setInitialRendering(!0))}setMaxIterations(t){this.maxIterations=d(t,this.options.maxIterations)}setTemperature(){this.temperature=this.startTemperature=Math.sqrt(this.nodes.length)}setDiffTemperature(){this.diffTemperature=this.startTemperature/(this.options.maxIterations+1)}setInitialRendering(t){this.initialRendering=t}createQuadTree(){this.quadTree=new s(this.box.left,this.box.top,this.box.width,this.box.height),this.quadTree.insertNodes(this.nodes)}initPositions(){let t=this.options.initialPositions;if(h(t))for(let e of(t.call(this),this.nodes))l(e.prevX)||(e.prevX=e.plotX),l(e.prevY)||(e.prevY=e.plotY),e.dispX=0,e.dispY=0;else"circle"===t?this.setCircularPositions():this.setRandomPositions()}setCircularPositions(){let t,e=this.box,i=this.nodes,s=2*Math.PI/(i.length+1),r=i.filter((function(t){return 0===t.linksTo.length})),o={},n=this.options.initialPositionRadius,a=t=>{for(let e of t.linksFrom||[])o[e.toNode.id]||(o[e.toNode.id]=!0,l.push(e.toNode),a(e.toNode))},l=[];for(let t of r)l.push(t),a(t);if(l.length)for(let t of i)-1===l.indexOf(t)&&l.push(t);else l=i;for(let i=0,r=l.length;i{let e=t*t/Math.PI;return e-Math.floor(e)};for(let o=0,n=i.length;othis.barnesHutApproximation(t,e)));else{let t,e,i;for(let s of this.nodes)for(let r of this.nodes)s===r||s.fixedPosition||(i=this.getDistXY(s,r),0!==(e=this.vectorLength(i))&&(t=this.repulsiveForce(e,this.k),this.force("repulsive",s,t*r.mass,i,e)))}}attractiveForces(){let t,e,i;for(let s of this.links)s.fromNode&&s.toNode&&(t=this.getDistXY(s.fromNode,s.toNode),0!==(e=this.vectorLength(t))&&(i=this.attractiveForce(e,this.k),this.force("attractive",s,i,t,e)))}applyLimits(){for(let t of this.nodes)t.fixedPosition||(this.integration.integrate(this,t),this.applyLimitBox(t,this.box),t.dispX=0,t.dispY=0)}applyLimitBox(t,e){let i=t.radius;t.plotX=a(t.plotX,e.left+i,e.width-i),t.plotY=a(t.plotY,e.top+i,e.height-i)}coolDown(t,e,i){return t-e*i}isStable(){return 1e-5>Math.abs(this.systemTemperature-this.prevSystemTemperature)||this.temperature<=0}getSystemTemperature(){let t=0;for(let e of this.nodes)t+=e.temperature;return t}vectorLength(t){return Math.sqrt(t.x*t.x+t.y*t.y)}getDistR(t,e){let i=this.getDistXY(t,e);return this.vectorLength(i)}getDistXY(t,e){let i=t.plotX-e.plotX,s=t.plotY-e.plotY;return{x:i,y:s,absX:Math.abs(i),absY:Math.abs(s)}}}return p})),i(e,"Series/PackedBubble/PackedBubbleLayout.js",[e["Series/GraphLayoutComposition.js"],e["Series/PackedBubble/PackedBubbleIntegration.js"],e["Series/Networkgraph/ReingoldFruchtermanLayout.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{addEvent:r,pick:o}=s;function n(){let t=this.series,e=[];return t.forEach((t=>{t.parentNode&&t.parentNode.selected&&e.push(t.parentNode)})),e}function a(){this.allDataPoints&&delete this.allDataPoints}class l extends i{constructor(){super(...arguments),this.index=NaN,this.nodes=[],this.series=[]}static compose(s){i.compose(s),t.integrations.packedbubble=e,t.layouts.packedbubble=l;let o=s.prototype;o.getSelectedParentNodes||(r(s,"beforeRedraw",a),o.getSelectedParentNodes=n)}beforeStep(){this.options.marker&&this.series.forEach((t=>{t&&t.calculateParentRadius()}))}isStable(){let t=Math.abs(this.prevSystemTemperature-this.systemTemperature);return 1>Math.abs(10*this.systemTemperature/Math.sqrt(this.nodes.length))&&t<1e-5||this.temperature<=0}setCircularPositions(){let t,e,i=this.box,s=this.nodes,r=2*Math.PI/(s.length+1),n=this.options.initialPositionRadius,a=0;for(let l of s)this.options.splitSeries&&!l.isParentNode?(t=l.series.parentNode.plotX,e=l.series.parentNode.plotY):(t=i.width/2,e=i.height/2),l.plotX=l.prevX=o(l.plotX,t+n*Math.cos(l.index||a*r)),l.plotY=l.prevY=o(l.plotY,e+n*Math.sin(l.index||a*r)),l.dispX=0,l.dispY=0,a++}repulsiveForces(){let t,e,i,s=this,r=s.options.bubblePadding,o=s.nodes;o.forEach((n=>{n.degree=n.mass,n.neighbours=0,o.forEach((o=>{t=0,n!==o&&!n.fixedPosition&&(s.options.seriesInteraction||n.series===o.series)&&(i=s.getDistXY(n,o),(e=s.vectorLength(i)-(n.marker.radius+o.marker.radius+r))<0&&(n.degree+=.01,n.neighbours++,t=s.repulsiveForce(-e/Math.sqrt(n.neighbours),s.k,n,o)),s.force("repulsive",n,t*o.mass,i,o,e))}))}))}applyLimitBox(t,e){let i,s;this.options.splitSeries&&!t.isParentNode&&this.options.parentNodeLimit&&(i=this.getDistXY(t,t.series.parentNode),(s=t.series.parentNodeRadius-t.marker.radius-this.vectorLength(i))<0&&s>-2*t.marker.radius&&(t.plotX-=.01*i.x,t.plotY-=.01*i.y)),super.applyLimitBox(t,e)}}return t.layouts.packedbubble=l,l})),i(e,"Series/SimulationSeriesUtilities.js",[e["Core/Utilities.js"],e["Core/Animation/AnimationUtilities.js"]],(function(t,e){let{merge:i,syncTimeout:s}=t,{animObject:r}=e;return{initDataLabels:function(){let t=this.options.dataLabels;if(!this.dataLabelsGroup){let e=this.initDataLabelsGroup();return!this.chart.styledMode&&t?.style&&e.css(t.style),e.attr({opacity:0}),this.visible&&e.show(),e}return this.dataLabelsGroup.attr(i({opacity:1},this.getPlotBox("data-labels"))),this.dataLabelsGroup},initDataLabelsDefer:function(){let t=this.options.dataLabels;t?.defer&&this.options.layoutAlgorithm?.enableSimulation?s((()=>{this.deferDataLabels=!1}),t?r(t.animation).defer:0):this.deferDataLabels=!1}}})),i(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{deg2rad:i}=t,{addEvent:s,merge:r,uniqueKey:o,defined:n,extend:a}=e;function l(t,e){e=r(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,l=this.text||this,h=l.textPath,{attributes:c,enabled:d}=e;if(t=t||h&&h.path,h&&h.undo(),t&&d){let e=s(l,"afterModifyTree",(e=>{if(t&&d){let s=t.attr("id");s||t.attr("id",s=o());let r={x:0,y:0};n(c.dx)&&(r.dx=c.dx,delete c.dx),n(c.dy)&&(r.dy=c.dy,delete c.dy),l.attr(r),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:a(c,{"text-anchor":c.textAnchor,href:`${i}#${s}`}),children:h}}}));l.textPath={path:t,undo:e}}else l.attr({dx:0,dy:0}),delete l.textPath;return this.added&&(l.textCache="",this.renderer.buildText(l)),this}function h(t){let e=t.bBox,s=this.element?.querySelector("textPath");if(s){let r=[],{b:o,h:n}=this.renderer.fontMetrics(this.element),a=n-o,l=RegExp('(|]*>|<\\/tspan>)',"g"),h=s.innerHTML.replace(l,"").split(/]*>/),c=h.length,d=(t,e)=>{let{x:r,y:n}=e,l=(s.getRotationOfChar(t)-90)*i,h=Math.cos(l),c=Math.sin(l);return[[r-a*h,n-a*c],[r+o*h,n+o*c]]};for(let e=0,i=0;i{t.mass=2,t.degree=1,t.collisionNmb=1})),t.setArea(0,0,this.chart.plotWidth,this.chart.plotHeight),t.addElementsToCollection([this],t.series),t.addElementsToCollection(this.points,t.nodes)}addSeriesLayout(){let t=this.options.layoutAlgorithm=this.options.layoutAlgorithm||{},e=t.type||"packedbubble",s=this.chart.graphLayoutsStorage,r=this.chart.graphLayoutsLookup,o=A(t,t.parentNodeOptions,{enableSimulation:this.layout.options.enableSimulation}),n=s[e+"-series"];n||(s[e+"-series"]=n=new i.layouts[e],n.init(o),r.splice(n.index,0,n)),this.parentNodeLayout=n,this.createParentNodes()}calculateParentRadius(){let t=this.seriesBox();this.parentNodeRadius=x(Math.sqrt(2*this.parentNodeMass/Math.PI)+20,20,t?Math.max(Math.sqrt(Math.pow(t.width,2)+Math.pow(t.height,2))/2+20,20):Math.sqrt(2*this.parentNodeMass/Math.PI)+20),this.parentNode&&(this.parentNode.marker.radius=this.parentNode.radius=this.parentNodeRadius)}calculateZExtremes(){let t=this.chart.series,e=this.options.zMin,i=this.options.zMax,s=1/0,r=-1/0;return e&&i?[e,i]:(t.forEach((t=>{t.yData.forEach((t=>{v(t)&&(t>r&&(r=t),t{this.parentNodeMass+=Math.PI*Math.pow(t.marker.radius,2)})),this.calculateParentRadius(),s.nodes.forEach((e=>{e.seriesIndex===this.index&&(t=!0)})),s.setArea(0,0,i.plotWidth,i.plotHeight),t||(o||(o=new e(this,{mass:this.parentNodeRadius/2,marker:n,dataLabels:{inside:!1},states:{normal:{marker:n},hover:{marker:n}},dataLabelOnNull:!0,degree:this.parentNodeRadius,isParentNode:!0,seriesIndex:this.index})),this.parentNode&&(o.plotX=this.parentNode.plotX,o.plotY=this.parentNode.plotY),this.parentNode=o,s.addElementsToCollection([this],s.series),s.addElementsToCollection([o],s.nodes))}deferLayout(){let t=this.options.layoutAlgorithm;this.visible&&(this.addLayout(),t.splitSeries&&this.addSeriesLayout())}destroy(){this.chart.graphLayoutsLookup&&this.chart.graphLayoutsLookup.forEach((t=>{t.removeElementFromCollection(this,t.series)}),this),this.parentNode&&this.parentNodeLayout&&(this.parentNodeLayout.removeElementFromCollection(this.parentNode,this.parentNodeLayout.nodes),this.parentNode.dataLabel&&(this.parentNode.dataLabel=this.parentNode.dataLabel.destroy())),g.destroy.apply(this,arguments)}drawDataLabels(){!this.deferDataLabels&&(g.drawDataLabels.call(this,this.points),this.parentNode&&(this.parentNode.formatPrefix="parentNode",g.drawDataLabels.call(this,[this.parentNode])))}drawGraph(){if(!this.layout||!this.layout.options.splitSeries)return;let t=this.chart,e=this.layout.options.parentNodeOptions.marker,i={fill:e.fillColor||p(this.color).brighten(.4).get(),opacity:e.fillOpacity,stroke:e.lineColor||this.color,"stroke-width":M(e.lineWidth,this.options.lineWidth)},s={};this.parentNodesGroup=this.plotGroup("parentNodesGroup","parentNode",this.visible?"inherit":"hidden",.1,t.seriesGroup),this.group?.attr({zIndex:2}),this.calculateParentRadius(),this.parentNode&&v(this.parentNode.plotX)&&v(this.parentNode.plotY)&&v(this.parentNodeRadius)&&(s=A({x:this.parentNode.plotX-this.parentNodeRadius,y:this.parentNode.plotY-this.parentNodeRadius,width:2*this.parentNodeRadius,height:2*this.parentNodeRadius},i),this.parentNode.graphic||(this.graph=this.parentNode.graphic=t.renderer.symbol(i.symbol).add(this.parentNodesGroup)),this.parentNode.graphic.attr(s))}drawTracker(){let t,e=this.parentNode;super.drawTracker(),e&&(t=C(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[],e.graphic&&(e.graphic.element.point=e),t.forEach((t=>{(t.div||t.element).point=e})))}getPointRadius(){let t,e,i,s,r=this.chart,o=r.plotWidth,n=r.plotHeight,a=this.options,l=a.useSimulation,h=Math.min(o,n),c={},d=[],p=r.allDataPoints||[],u=p.length;["minSize","maxSize"].forEach((t=>{let e=parseInt(a[t],10),i=/%$/.test(a[t]);c[t]=i?h*e/100:e*Math.sqrt(u)})),r.minRadius=t=c.minSize/Math.sqrt(u),r.maxRadius=e=c.maxSize/Math.sqrt(u);let g=l?this.calculateZExtremes():[t,e];p.forEach(((r,o)=>{i=l?x(r[2],g[0],g[1]):r[2],0===(s=this.getRadius(g[0],g[1],t,e,i))&&(s=null),p[o][2]=s,d.push(s)})),this.radii=d}init(){return g.init.apply(this,arguments),b.call(this),this.eventsToUnbind.push(y(this,"updatedData",(function(){this.chart.series.forEach((t=>{t.type===this.type&&(t.isDirty=!0)}),this)}))),this}onMouseUp(t){if(t.fixedPosition&&!t.removed){let i,s=this.layout,r=this.parentNodeLayout;r&&s.options.dragBetweenSeries&&r.nodes.forEach((e=>{t&&t.marker&&e!==t.series.parentNode&&(i=s.getDistXY(t,e),s.vectorLength(i)-e.marker.radius-t.marker.radius<0&&(e.series.addPoint(A(t.options,{plotX:t.plotX,plotY:t.plotY}),!1),s.removeElementFromCollection(t,s.nodes),t.remove()))})),e.onMouseUp.apply(this,arguments)}}placeBubbles(t){let e,i,s=this.checkOverlap,r=this.positionBubble,o=[],n=1,a=0,l=0,h=[],c=t.sort(((t,e)=>e[2]-t[2]));if(c.length){if(o.push([[0,0,c[0][2],c[0][3],c[0][4]]]),c.length>1)for(o.push([[0,0-c[1][2]-c[0][2],c[1][2],c[1][3],c[1][4]]]),i=2;i1&&o[n-1][l+1]&&s(e,o[n-1][l+1])?(l++,o[n].push(r(o[n][a],o[n-1][l],c[i])),a++):(a++,o[n].push(e));this.chart.stages=o,this.chart.rawPositions=[].concat.apply([],o),this.resizeRadius(),h=this.chart.rawPositions}return h}pointAttribs(t,e){let i=this.options,s=t&&t.isParentNode,r=i.marker;s&&i.layoutAlgorithm&&i.layoutAlgorithm.parentNodeOptions&&(r=i.layoutAlgorithm.parentNodeOptions.marker);let o=r.fillOpacity,n=g.pointAttribs.call(this,t,e);return 1!==o&&(n["fill-opacity"]=o),n}positionBubble(t,e,i){let s=Math.asin,r=Math.acos,o=Math.pow,n=Math.abs,a=(0,Math.sqrt)(o(t[0]-e[0],2)+o(t[1]-e[1],2)),l=r((o(a,2)+o(i[2]+e[2],2)-o(i[2]+t[2],2))/(2*(i[2]+e[2])*a)),h=s(n(t[0]-e[0])/a),c=(t[1]-e[1]<0?0:Math.PI)+l+h*((t[0]-e[0])*(t[1]-e[1])<0?1:-1),d=Math.cos(c),p=Math.sin(c);return[e[0]+(e[2]+i[2])*p,e[1]-(e[2]+i[2])*d,i[2],i[3],i[4]]}render(){let t=[];g.render.apply(this,arguments),!this.options.dataLabels.allowOverlap&&(this.data.forEach((e=>{C(e.dataLabels)&&e.dataLabels.forEach((e=>{t.push(e)}))})),this.options.useSimulation&&this.chart.hideOverlappingLabels(t))}resizeRadius(){let t,e,i,s,r,o=this.chart,n=o.rawPositions,a=Math.min,l=Math.max,h=o.plotLeft,c=o.plotTop,d=o.plotHeight,p=o.plotWidth;for(let o of(t=i=Number.POSITIVE_INFINITY,e=s=Number.NEGATIVE_INFINITY,n))r=o[2],t=a(t,o[0]-r),e=l(e,o[0]+r),i=a(i,o[1]-r),s=l(s,o[1]+r);let u=[e-t,s-i],g=[(p-h)/u[0],(d-c)/u[1]],f=a.apply([],g);if(Math.abs(f-1)>1e-10){for(let t of n)t[2]*=f;this.placeBubbles(n)}else o.diffY=d/2+c-i-(s-i)/2,o.diffX=p/2+h-t-(e-t)/2}seriesBox(){let t,e=this.chart,i=this.data,s=Math.max,r=Math.min,o=[e.plotLeft,e.plotLeft+e.plotWidth,e.plotTop,e.plotTop+e.plotHeight];return i.forEach((e=>{v(e.plotX)&&v(e.plotY)&&e.marker.radius&&(t=e.marker.radius,o[0]=r(o[0],e.plotX-t),o[1]=s(o[1],e.plotX+t),o[2]=r(o[2],e.plotY-t),o[3]=s(o[3],e.plotY+t))})),S(o.width/o.height)?o:null}setVisible(){let t=this;g.setVisible.apply(t,arguments),t.parentNodeLayout&&t.graph?t.visible?(t.graph.show(),t.parentNode.dataLabel&&t.parentNode.dataLabel.show()):(t.graph.hide(),t.parentNodeLayout.removeElementFromCollection(t.parentNode,t.parentNodeLayout.nodes),t.parentNode.dataLabel&&t.parentNode.dataLabel.hide()):t.layout&&(t.visible?t.layout.addElementsToCollection(t.points,t.layout.nodes):t.points.forEach((e=>{t.layout.removeElementFromCollection(e,t.layout.nodes)})))}translate(){let t,e,i,s=this.chart,r=this.data,o=this.index,n=this.options.useSimulation;for(let a of(this.processedXData=this.xData,this.generatePoints(),v(s.allDataPoints)||(s.allDataPoints=this.accumulateAllPoints(),this.getPointRadius()),n?i=s.allDataPoints:(i=this.placeBubbles(s.allDataPoints),this.options.draggable=!1),i))a[3]===o&&(t=r[a[4]],e=M(a[2],void 0),n||(t.plotX=a[0]-s.plotLeft+s.diffX,t.plotY=a[1]-s.plotTop+s.diffY),S(e)&&(t.marker=w(t.marker,{radius:e,width:2*e,height:2*e}),t.radius=e));n&&this.deferLayout(),k(this,"afterTranslate")}}return P.defaultOptions=A(f.defaultOptions,o),w(P.prototype,{pointClass:r,axisTypes:[],directTouch:!0,forces:["barycenter","repulsive"],hasDraggableNodes:!0,invertible:!1,isCartesian:!1,noSharedTooltip:!0,pointArrayMap:["value"],pointValKey:"value",requireSorting:!1,trackerGroups:["group","dataLabelsGroup","parentNodesGroup"],initDataLabels:m,alignDataLabel:g.alignDataLabel,indexateNodes:u,onMouseDown:e.onMouseDown,onMouseMove:e.onMouseMove,redrawHalo:e.redrawHalo,searchPoint:u}),a.registerSeriesType("packedbubble",P),P})),i(e,"Series/Polygon/PolygonSeriesDefaults.js",[],(function(){return{marker:{enabled:!1,states:{hover:{enabled:!1}}},stickyTracking:!1,tooltip:{followPointer:!0,pointFormat:""},trackByArea:!0,legendSymbol:"rectangle"}})),i(e,"Series/Polygon/PolygonSeries.js",[e["Core/Globals.js"],e["Series/Polygon/PolygonSeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],(function(t,e,i,s){let{noop:r}=t,{area:o,line:n,scatter:a}=i.seriesTypes,{extend:l,merge:h}=s;class c extends a{getGraphPath(){let t=n.prototype.getGraphPath.call(this),e=t.length+1;for(;e--;)(e===t.length||"M"===t[e][0])&&e>0&&t.splice(e,0,["Z"]);return this.areaPath=t,t}drawGraph(){this.options.fillColor=this.color,o.prototype.drawGraph.call(this)}}return c.defaultOptions=h(a.defaultOptions,e),l(c.prototype,{type:"polygon",drawTracker:n.prototype.drawTracker,setStackedPoints:r}),i.registerSeriesType("polygon",c),c})),i(e,"Core/Axis/RadialAxisDefaults.js",[],(function(){return{circular:{gridLineWidth:1,labels:{align:void 0,x:0,y:void 0,style:{textOverflow:"none"}},maxPadding:0,minPadding:0,showLastLabel:!1,tickLength:0},radial:{gridLineInterpolation:"circle",gridLineWidth:1,labels:{align:"right",padding:5,x:-3,y:-2},showLastLabel:!1,title:{x:4,text:null,rotation:90}},radialGauge:{endOnTick:!1,gridLineWidth:0,labels:{align:"center",distance:-25,x:0,y:void 0},lineWidth:1,minorGridLineWidth:0,minorTickInterval:"auto",minorTickLength:10,minorTickPosition:"inside",minorTickWidth:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickPosition:"inside",tickWidth:2,title:{rotation:0,text:""},zIndex:2}}})),i(e,"Core/Axis/RadialAxis.js",[e["Core/Axis/RadialAxisDefaults.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e,i,s){var r;let{defaultOptions:o}=e,{composed:n,noop:a}=i,{addEvent:l,correctFloat:h,defined:c,extend:d,fireEvent:p,isObject:u,merge:g,pick:f,pushUnique:m,relativeLength:b,wrap:y}=s;return function(e){function s(){this.autoConnect=this.isCircular&&void 0===f(this.userMax,this.options.max)&&h(this.endAngleRad-this.startAngleRad)===h(2*Math.PI),!this.isCircular&&this.chart.inverted&&this.max++,this.autoConnect&&(this.max+=(this.categories?1:this.pointRange)||this.closestPointRange||0)}function r(){return()=>{if(this.isRadial&&this.tickPositions&&this.options.labels&&!0!==this.options.labels.allowOverlap)return this.tickPositions.map((t=>this.ticks[t]&&this.ticks[t].label)).filter((t=>!!t))}}function x(){return a}function v(t,e,i){let s,r,o,n=this.pane.center,a=t.value;return this.isCircular?(c(a)?t.point&&(t.point.shapeArgs||{}).start&&(a=this.chart.inverted?this.translate(t.point.rectPlotY,!0):t.point.x):(r=t.chartX||0,o=t.chartY||0,a=this.translate(Math.atan2(o-i,r-e)-this.startAngleRad,!0)),r=(s=this.getPosition(a)).x,o=s.y):(c(a)||(r=t.chartX,o=t.chartY),c(r)&&c(o)&&(i=n[1]+this.chart.plotTop,a=this.translate(Math.min(Math.sqrt(Math.pow(r-e,2)+Math.pow(o-i,2)),n[2]/2)-n[3]/2,!0))),[a,r||0,o||0]}function w(t,e,i){let s,r,o=this.pane.center,n=this.chart,a=this.left||0,l=this.top||0,h=f(e,o[2]/2-this.offset);return void 0===i&&(i=this.horiz?0:this.center&&-this.center[3]/2),i&&(h+=i),this.isCircular||void 0!==e?((r=this.chart.renderer.symbols.arc(a+o[0],l+o[1],h,h,{start:this.startAngleRad,end:this.endAngleRad,open:!0,innerR:0})).xBounds=[a+o[0]],r.yBounds=[l+o[1]-h]):(s=this.postTranslate(this.angleRad,h),r=[["M",this.center[0]+n.plotLeft,this.center[1]+n.plotTop],["L",s.x,s.y]]),r}function k(){this.constructor.prototype.getOffset.call(this),this.chart.axisOffset[this.side]=0}function C(t,e,i){let s,r,o,n,a,l,h=this.chart,c=t=>{if("string"==typeof t){let e=parseInt(t,10);return y.test(t)&&(e=e*u/100),e}return t},d=this.center,p=this.startAngleRad,u=d[2]/2,g=Math.min(this.offset,0),m=this.left||0,b=this.top||0,y=/%$/,x=this.isCircular,v=f(c(i.outerRadius),u),w=c(i.innerRadius),k=f(c(i.thickness),10);if("polygon"===this.options.gridLineInterpolation)l=this.getPlotLinePath({value:t}).concat(this.getPlotLinePath({value:e,reverse:!0}));else{t=Math.max(t,this.min),e=Math.min(e,this.max);let c=this.translate(t),u=this.translate(e);x||(v=c||0,w=u||0),"circle"!==i.shape&&x?(s=p+(c||0),r=p+(u||0)):(s=-Math.PI/2,r=1.5*Math.PI,a=!0),v-=g,k-=g,l=h.renderer.symbols.arc(m+d[0],b+d[1],v,v,{start:Math.min(s,r),end:Math.max(s,r),innerR:f(w,v-k),open:a,borderRadius:i.borderRadius}),x&&(o=(r+s)/2,n=m+d[0]+d[2]/2*Math.cos(o),l.xBounds=o>-Math.PI/2&&o-Math.PI&&o<0||o>Math.PI?-10:10)}return l}function S(t){let e,i,s,r,o,n,a,l,h,c=this.pane.center,d=this.chart,p=d.inverted,u=t.reverse,g=this.pane.options.background?this.pane.options.background[0]||this.pane.options.background:{},f=g.innerRadius||"0%",m=g.outerRadius||"100%",y=c[0]+d.plotLeft,x=c[1]+d.plotTop,v=this.height,w=t.isCrosshair,k=c[3]/2,C=t.value,S=this.getPosition(C),A=S.x,M=S.y;if(w&&(C=(l=this.getCrosshairPosition(t,y,x))[0],A=l[1],M=l[2]),this.isCircular)i=Math.sqrt(Math.pow(A-y,2)+Math.pow(M-x,2)),s="string"==typeof f?b(f,1):f/i,r="string"==typeof m?b(m,1):m/i,c&&k&&(s<(e=k/i)&&(s=e),rv)&&(C=0),"circle"===this.options.gridLineInterpolation)h=this.getLinePath(0,C,k);else if(h=[],d[p?"yAxis":"xAxis"].forEach((t=>{t.pane===this.pane&&(o=t)})),o){a=o.tickPositions,o.autoConnect&&(a=a.concat([a[0]])),u&&(a=a.slice().reverse()),C&&(C+=k);for(let t=0;tMath.PI&&(o-=t),n>Math.PI&&(n-=t),this.normalizedStartAngleRad=o,this.normalizedEndAngleRad=n}}function E(t){this.isRadial&&(t.align=void 0,t.preventDefault())}function L(){if(this.chart&&this.chart.labelCollectors){let t=this.labelCollector?this.chart.labelCollectors.indexOf(this.labelCollector):-1;t>=0&&this.chart.labelCollectors.splice(t,1)}}function D(t){let e,i=this.chart,s=i.angular,r=i.polar,o=this.isXAxis,n=this.coll,l=t.userOptions.pane||0,h=this.pane=i.pane&&i.pane[l];"colorAxis"!==n?(s?(s&&o?(this.isHidden=!0,this.createLabelCollector=x,this.getOffset=a,this.redraw=R,this.render=R,this.setScale=a,this.setCategories=a,this.setTitle=a):P(this),e=!o):r&&(P(this),e=this.horiz),s||r?(this.isRadial=!0,this.labelCollector||(this.labelCollector=this.createLabelCollector()),this.labelCollector&&i.labelCollectors.push(this.labelCollector)):this.isRadial=!1,h&&e&&(h.axis=this),this.isCircular=e):this.isRadial=!1}function O(){this.isRadial&&this.beforeSetTickPositions()}function j(t){let e=this.label;if(!e)return;let i,s=this.axis,r=e.getBBox(),o=s.options.labels,n=(s.translate(this.pos)+s.startAngleRad+Math.PI/2)/Math.PI*180%360,a=Math.round(n),l=c(o.y)?0:-.3*r.height,h=o.y,d=20,p=o.align,u="end",g=a<0?a+360:a,m=g,y=0,x=0;s.isRadial&&(i=s.getPosition(this.pos,s.center[2]/2+b(f(o.distance,-25),s.center[2]/2,-s.center[2]/2)),"auto"===o.rotation?e.attr({rotation:n}):c(h)||(h=s.chart.renderer.fontMetrics(e).b-r.height/2),c(p)||(s.isCircular?(r.width>s.len*s.tickInterval/(s.max-s.min)&&(d=0),p=n>d&&n<180-d?"left":n>180+d&&n<360-d?"right":"center"):p="center",e.attr({align:p})),"auto"===p&&2===s.tickPositions.length&&s.isCircular&&(g>90&&g<180?g=180-g:g>270&&g<=360&&(g=540-g),m>180&&m<=360&&(m=360-m),(s.pane.options.startAngle===a||s.pane.options.startAngle===a+360||s.pane.options.startAngle===a-360)&&(u="start"),p=a>=-90&&a<=90||a>=-360&&a<=-270||a>=270&&a<=360?"start"===u?"right":"left":"start"===u?"left":"right",m>70&&m<110&&(p="center"),g<15||g>=180&&g<195?y=.3*r.height:g>=15&&g<=35?y="start"===u?0:.75*r.height:g>=195&&g<=215?y="start"===u?.75*r.height:0:g>35&&g<=90?y="start"===u?-.25*r.height:r.height:g>215&&g<=270&&(y="start"===u?r.height:-.25*r.height),m<15?x="start"===u?-.15*r.height:.15*r.height:m>165&&m<=180&&(x="start"===u?.15*r.height:-.15*r.height),e.attr({align:p}),e.translate(x,y+l)),t.pos.x=i.x+(o.x||0),t.pos.y=i.y+(h||0))}function N(t){this.axis.getPosition&&d(t.pos,this.axis.getPosition(this.pos))}function I({options:t}){t.xAxis&&g(!0,e.radialDefaultOptions.circular,t.xAxis),t.yAxis&&g(!0,e.radialDefaultOptions.radialGauge,t.yAxis)}function B(t,e){let i=this.chart,s=this.center;return t=this.startAngleRad+t,{x:i.plotLeft+s[0]+Math.cos(t)*e,y:i.plotTop+s[1]+Math.sin(t)*e}}function R(){this.isDirty=!1}function z(){let t,e;this.constructor.prototype.setAxisSize.call(this),this.isRadial&&(this.pane.updateCenter(this),t=this.center=this.pane.center.slice(),this.isCircular?this.sector=this.endAngleRad-this.startAngleRad:(e=this.postTranslate(this.angleRad,t[3]/2),t[0]=e.x-this.chart.plotLeft,t[1]=e.y-this.chart.plotTop),this.len=this.width=this.height=(t[2]-t[3])*f(this.sector,1)/2)}function F(){this.constructor.prototype.setAxisTranslation.call(this),this.center&&(this.isCircular?this.transA=(this.endAngleRad-this.startAngleRad)/(this.max-this.min||1):this.transA=(this.center[2]-this.center[3])/2/(this.max-this.min||1),this.isXAxis?this.minPixelPadding=this.transA*this.minPointOffset:this.minPixelPadding=0)}function H(t){let{coll:i}=this,{angular:s,inverted:r,polar:n}=this.chart,a={};s?this.isXAxis||(a=g(o.yAxis,e.radialDefaultOptions.radialGauge)):n&&(a=this.horiz?g(o.xAxis,e.radialDefaultOptions.circular):g("xAxis"===i?o.xAxis:o.yAxis,e.radialDefaultOptions.radial)),r&&"yAxis"===i&&(a.stackLabels=u(o.yAxis,!0)?o.yAxis.stackLabels:{},a.reversedStacks=!0);let l=this.options=g(a,t);l.plotBands||(l.plotBands=[]),p(this,"afterSetOptions")}function X(t,e,i,s,r,o,n){let a,l=this.axis;return l.isRadial?["M",e,i,"L",(a=l.getPosition(this.pos,l.center[2]/2+s)).x,a.y]:t.call(this,e,i,s,r,o,n)}e.radialDefaultOptions=g(t),e.compose=function(t,e){return m(n,"Axis.Radial")&&(l(t,"afterInit",T),l(t,"autoLabelAlign",E),l(t,"destroy",L),l(t,"init",D),l(t,"initialAxisTranslation",O),l(e,"afterGetLabelPosition",j),l(e,"afterGetPosition",N),l(i,"setOptions",I),y(e.prototype,"getMarkPath",X)),t}}(r||(r={})),r})),i(e,"Series/PolarComposition.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/Series.js"],e["Extensions/Pane/Pane.js"],e["Core/Axis/RadialAxis.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r,o){let{animObject:n}=t,{composed:a}=e,{addEvent:l,defined:h,find:c,isNumber:d,merge:p,pick:u,pushUnique:g,relativeLength:f,splat:m,uniqueKey:b,wrap:y}=o;function x(){(this.pane||[]).forEach((t=>{t.render()}))}function v(t){let e=t.args[0].xAxis,i=t.args[0].yAxis,s=t.args[0].chart;e&&i&&("polygon"===i.gridLineInterpolation?(e.startOnTick=!0,e.endOnTick=!0):"polygon"===e.gridLineInterpolation&&s.inverted&&(i.startOnTick=!0,i.endOnTick=!0))}function w(){this.pane||(this.pane=[]),this.options.pane=m(this.options.pane),this.options.pane.forEach((t=>{new s(t,this)}),this)}function k(t){let e=t.args.marker,i=this.chart.xAxis[0],s=this.chart.yAxis[0],r=this.chart.inverted,o=r?s:i,n=r?i:s;if(this.chart.polar){t.preventDefault();let i=(e.attr?e.attr("start"):e.start)-o.startAngleRad,s=e.attr?e.attr("r"):e.r,r=(e.attr?e.attr("end"):e.end)-o.startAngleRad,a=e.attr?e.attr("innerR"):e.innerR;t.result.x=i+o.pos,t.result.width=r-i,t.result.y=n.len+n.pos-s,t.result.height=s-a}}function C(t){let e=this.chart;if(e.polar&&e.hoverPane&&e.hoverPane.axis){t.preventDefault();let i=e.hoverPane.center,s=e.mouseDownX||0,r=e.mouseDownY||0,o=t.args.chartY,n=t.args.chartX,a=2*Math.PI,l=e.hoverPane.axis.startAngleRad,h=e.hoverPane.axis.endAngleRad,c=e.inverted?e.xAxis[0]:e.yAxis[0],d={},p="arc";if(d.x=i[0]+e.plotLeft,d.y=i[1]+e.plotTop,this.zoomHor){let t=l>0?h-l:Math.abs(l)+Math.abs(h),u=Math.atan2(r-e.plotTop-i[1],s-e.plotLeft-i[0])-l,g=Math.atan2(o-e.plotTop-i[1],n-e.plotLeft-i[0])-l;d.r=i[2]/2,d.innerR=i[3]/2,u<=0&&(u+=a),g<=0&&(g+=a),gh+(a-t)/2&&(g=u,u=l<=0?l:0);let f=d.start=Math.max(u+l,l),m=d.end=Math.min(g+l,h);if("polygon"===c.options.gridLineInterpolation){let t=e.hoverPane.axis,s=f-t.startAngleRad+t.pos,r=c.getPlotLinePath({value:c.max}),o=t.toValue(s),n=t.toValue(s+(m-f));if(oi[2]/2&&(c=i[2]/2),at.max?(r[o].isNull=!0,r[o].plotY=NaN):r[o].isNull=r[o].isValid&&!r[o].isValid());this.hasClipCircleSetter||(this.hasClipCircleSetter=!!this.eventsToUnbind.push(l(this,"afterRender",(function(){let t;s.polar&&!1!==this.options.clip&&(t=this.yAxis.pane.center,this.clipCircle?this.clipCircle.animate({x:t[0],y:t[1],r:t[2]/2,innerR:t[3]/2}):this.clipCircle=function(t,e,i,s,r){let o=b(),n=t.createElement("clipPath").attr({id:o}).add(t.defs),a=r?t.arc(e,i,s,r,0,2*Math.PI).add(n):t.circle(e,i,s).add(n);return a.id=o,a.clipPath=n,a}(s.renderer,t[0],t[1],t[2]/2,t[3]/2),this.group.clip(this.clipCircle),this.setClip=e.noop)}))))}}function M(t){let e=this.chart,i=this.xAxis,s=this.yAxis,r=i.pane&&i.pane.center,o=t.chartX-(r&&r[0]||0)-e.plotLeft,n=t.chartY-(r&&r[1]||0)-e.plotTop,a=e.inverted?{clientX:t.chartX-s.pos,plotY:t.chartY-i.pos}:{clientX:180+-180/Math.PI*Math.atan2(o,n)};return this.searchKDTree(a)}function P(t,e,i,s){let r=s.tickInterval,o=s.tickPositions,n=c(o,(t=>t>=i)),a=c([...o].reverse(),(t=>t<=e));return h(n)||(n=o[o.length-1]),h(a)||(a=o[0],n+=r,t[0][0]="L",t.unshift(t[t.length-3])),(t=t.slice(o.indexOf(a),o.indexOf(n)+1))[0][0]="M",t}function T(t,e){return c(this.pane||[],(t=>t.options.id===e))||t.call(this,e)}function E(t,e,s,r,o,n){let a,l,h,c=this.chart,d=u(r.inside,!!this.options.stacking);if(c.polar){if(a=e.rectPlotX/Math.PI*180,c.inverted)this.forceDL=c.isInsidePlot(e.plotX,e.plotY),d&&e.shapeArgs?(l=e.shapeArgs,o=p(o,{x:(h=this.yAxis.postTranslate(((l.start||0)+(l.end||0))/2-this.xAxis.startAngleRad,e.barX+e.pointWidth/2)).x-c.plotLeft,y:h.y-c.plotTop})):e.tooltipPos&&(o=p(o,{x:e.tooltipPos[0],y:e.tooltipPos[1]})),r.align=u(r.align,"center"),r.verticalAlign=u(r.verticalAlign,"middle");else{var g;let t,e;null===(g=r).align&&(t=a>20&&a<160?"left":a>200&&a<340?"right":"center",g.align=t),null===g.verticalAlign&&(e=a<45||a>315?"bottom":a>135&&a<225?"top":"middle",g.verticalAlign=e),r=g}i.prototype.alignDataLabel.call(this,e,s,r,o,n),this.isRadialBar&&e.shapeArgs&&e.shapeArgs.start===e.shapeArgs.end?s.hide():s.show()}else t.call(this,e,s,r,o,n)}function L(){let t,e,i,s,r,n,a,l,c,p,u,g,m,b=this.options,y=b.stacking,x=this.chart,v=this.xAxis,w=this.yAxis,k=w.reversed,C=w.center,S=v.startAngleRad,A=v.endAngleRad-S,M=b.threshold,P=0,T=0,E=0;if(v.isRadial)for(i=(t=this.points).length,s=w.translate(w.min),r=w.translate(w.max),M=b.threshold||0,x.inverted&&d(M)&&h(P=w.translate(M))&&(P<0?P=0:P>A&&(P=A),this.translatedThreshold=P+S);i--;){if(u=(e=t[i]).barX,a=e.x,l=e.y,e.shapeType="arc",x.inverted){e.plotY=w.translate(l),y&&w.stacking?(p=w.stacking.stacks[(l<0?"-":"")+this.stackKey],this.visible&&p&&p[a]&&!e.isNull&&(c=p[a].points[this.getStackIndicator(void 0,a,this.index).key],T=w.translate(c[0]),E=w.translate(c[1]),h(T)&&(T=o.clamp(T,0,A)))):(T=P,E=e.plotY),T>E&&(E=[T,T=E][0]),k?E>s?E=s:Ts||Er?E=r:(Er)&&(T=E=0),w.min>w.max&&(T=E=k?A:0),T+=S,E+=S,C&&(e.barX=u+=C[3]/2),g=Math.max(u,0),m=Math.max(u+e.pointWidth,0);let t=b.borderRadius,i=f(("object"==typeof t?t.radius:t)||0,m-g);e.shapeArgs={x:C[0],y:C[1],r:m,innerR:g,start:T,end:E,borderRadius:i},e.opacity=T===E?0:void 0,e.plotY=(h(this.translatedThreshold)&&(TC[1])}}function D(t,e){let i,s,r=this;if(this.chart.polar){e=e||this.points;for(let t=0;t{void 0===t.polarPlotY&&r.polar.toXY(t)}))}let o=t.apply(this,[].slice.call(arguments,1));return s&&e.pop(),o}function O(t,e){let i=this.chart,s={xAxis:[],yAxis:[]};return i.polar?i.axes.forEach((t=>{if("colorAxis"===t.coll)return;let r=t.isXAxis,o=t.center,n=e.chartX-o[0]-i.plotLeft,a=e.chartY-o[1]-i.plotTop;s[r?"xAxis":"yAxis"].push({axis:t,value:t.translate(r?Math.PI-Math.atan2(n,a):Math.sqrt(Math.pow(n,2)+Math.pow(a,2)),!0)})})):s=t.call(this,e),s}function j(t,e){this.chart.polar||t.call(this,e)}function N(t,i){let s,r,o,a,l,h,c=this,d=this.chart,p=this.group,g=this.markerGroup,f=this.xAxis&&this.xAxis.center,m=d.plotLeft,b=d.plotTop,y=this.options.animation;d.polar?c.isRadialBar?i||(c.startAngleRad=u(c.translatedThreshold,c.xAxis.startAngleRad),e.seriesTypes.pie.prototype.animate.call(c,i)):(y=n(y),c.is("column")?i||(r=f[3]/2,c.points.forEach((t=>{o=t.graphic,l=(a=t.shapeArgs)&&a.r,h=a&&a.innerR,o&&a&&(o.attr({r:r,innerR:r}),o.animate({r:l,innerR:h},c.options.animation))}))):i?(s={translateX:f[0]+m,translateY:f[1]+b,scaleX:.001,scaleY:.001},p.attr(s),g&&g.attr(s)):(s={translateX:m,translateY:b,scaleX:1,scaleY:1},p.animate(s,y),g&&g.animate(s,y))):t.call(this,i)}function I(t,e,i,s){let r,o;if(this.chart.polar)if(s){let t=(o=function t(e,i,s,r){let o,n,a,l,h,c,d=r?1:0,p=(o=i>=0&&i<=e.length-1?i:i<0?e.length-1+i:0)-1<0?e.length-(1+d):o-1,u=o+1>e.length-1?d:o+1,g=e[p],f=e[u],m=g.plotX,b=g.plotY,y=f.plotX,x=f.plotY,v=e[o].plotX,w=e[o].plotY;n=(1.5*v+m)/2.5,a=(1.5*w+b)/2.5,l=(1.5*v+y)/2.5,h=(1.5*w+x)/2.5;let k=Math.sqrt(Math.pow(n-v,2)+Math.pow(a-w,2)),C=Math.sqrt(Math.pow(l-v,2)+Math.pow(h-w,2)),S=Math.atan2(a-w,n-v);c=Math.PI/2+(S+Math.atan2(h-w,l-v))/2,Math.abs(S-c)>Math.PI/2&&(c-=Math.PI),n=v+Math.cos(c)*k,a=w+Math.sin(c)*k;let A={rightContX:l=v+Math.cos(Math.PI+c)*C,rightContY:h=w+Math.sin(Math.PI+c)*C,leftContX:n,leftContY:a,plotX:v,plotY:w};return s&&(A.prevPointCont=t(e,p,!1,r)),A}(e,s,!0,this.connectEnds)).prevPointCont&&o.prevPointCont.rightContX,i=o.prevPointCont&&o.prevPointCont.rightContY;r=["C",d(t)?t:o.plotX,d(i)?i:o.plotY,d(o.leftContX)?o.leftContX:o.plotX,d(o.leftContY)?o.leftContY:o.plotY,o.plotX,o.plotY]}else r=["M",i.plotX,i.plotY];else r=t.call(this,e,i,s);return r}function B(t,e,i=this.plotY){if(!this.destroyed){let{plotX:s,series:r}=this,{chart:o}=r;return o.polar&&d(s)&&d(i)?[s+(e?o.plotLeft:0),i+(e?o.plotTop:0)]:t.call(this,e,i)}}class R{static compose(t,e,i,o,n,h,c,d,p,u){if(s.compose(e,i),r.compose(t,n),g(a,"Polar")){let t=e.prototype,s=h.prototype,r=i.prototype,n=o.prototype;if(l(e,"afterDrawChartBox",x),l(e,"getAxes",w),l(e,"init",v),y(t,"get",T),y(r,"getCoordinates",O),y(r,"pinch",j),l(i,"getSelectionMarkerAttrs",C),l(i,"getSelectionBox",k),l(o,"afterInit",S),l(o,"afterTranslate",A,{order:2}),l(o,"afterColumnTranslate",L,{order:4}),y(n,"animate",N),y(s,"pos",B),d){let t=d.prototype;y(t,"alignDataLabel",E),y(t,"animate",N)}if(p&&y(p.prototype,"getGraphPath",D),u){let t=u.prototype;y(t,"getPointSpline",I),c&&(c.prototype.getPointSpline=t.getPointSpline)}}}constructor(t){this.series=t}arc(t,e,i,s){let r=this.series,o=r.xAxis.center,n=r.yAxis.len,a=o[3]/2,l=n-e+a,h=n-u(t,n)+a;return r.yAxis.reversed&&(l<0&&(l=a),h<0&&(h=a)),{x:o[0],y:o[1],r:l,innerR:h,start:i,end:s}}toXY(t){let e,i=this.series,s=i.chart,r=i.xAxis,o=i.yAxis,n=t.plotX,a=s.inverted,l=t.y,h=t.plotY,c=a?n:o.len-h;if(a&&i&&!i.isRadialBar&&(t.plotY=h=d(l)?o.translate(l):0),t.rectPlotX=n,t.rectPlotY=h,o.center&&(c+=o.center[3]/2),d(h)){let e=a?o.postTranslate(h,c):r.postTranslate(n,c);t.plotX=t.polarPlotX=e.x-s.plotLeft,t.plotY=t.polarPlotY=e.y-s.plotTop}i.kdByAngle?((e=(n/Math.PI*180+r.pane.options.startAngle)%360)<0&&(e+=360),t.clientX=e):t.clientX=t.plotX}}return R})),i(e,"Core/Axis/WaterfallAxis.js",[e["Core/Globals.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Utilities.js"]],(function(t,e,i){var s;let{composed:r}=t,{addEvent:o,objectEach:n,pushUnique:a}=i;return function(t){function i(){let t=this.waterfall.stacks;t&&(t.changed=!1,delete t.alreadyChanged)}function s(){let t=this.options.stackLabels;t&&t.enabled&&this.waterfall.stacks&&this.waterfall.renderStackTotals()}function l(){this.waterfall||(this.waterfall=new c(this))}function h(){let t=this.axes;for(let e of this.series)if(e.options.stacking){for(let e of t)e.isXAxis||(e.waterfall.stacks.changed=!0);break}}t.compose=function(t,e){a(r,"Axis.Waterfall")&&(o(t,"init",l),o(t,"afterBuildStacks",i),o(t,"afterRender",s),o(e,"beforeRedraw",h))};class c{constructor(t){this.axis=t,this.stacks={changed:!1}}renderStackTotals(){let t=this.axis,i=t.waterfall.stacks,s=t.stacking&&t.stacking.stackTotalGroup,r=new e(t,t.options.stackLabels||{},!1,0,void 0);this.dummyStackItem=r,s&&n(i,(t=>{n(t,((t,i)=>{r.total=t.stackTotal,r.x=+i,t.label&&(r.label=t.label),e.prototype.render.call(r,s),t.label=r.label,delete r.label}))})),r.total=null}}t.Composition=c}(s||(s={})),s})),i(e,"Series/Waterfall/WaterfallPoint.js",[e["Series/Column/ColumnSeries.js"],e["Core/Series/Point.js"],e["Core/Utilities.js"]],(function(t,e,i){let{isNumber:s}=i;class r extends t.prototype.pointClass{getClassName(){let t=e.prototype.getClassName.call(this);return this.isSum?t+=" highcharts-sum":this.isIntermediateSum&&(t+=" highcharts-intermediate-sum"),t}isValid(){return s(this.y)||this.isSum||!!this.isIntermediateSum}}return r})),i(e,"Series/Waterfall/WaterfallSeriesDefaults.js",[],(function(){return{dataLabels:{inside:!0},lineWidth:1,lineColor:"#333333",dashStyle:"Dot",borderColor:"#333333",states:{hover:{lineWidthPlus:0}}}})),i(e,"Series/Waterfall/WaterfallSeries.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Core/Axis/WaterfallAxis.js"],e["Series/Waterfall/WaterfallPoint.js"],e["Series/Waterfall/WaterfallSeriesDefaults.js"]],(function(t,e,i,s,r){let{column:o,line:n}=t.seriesTypes,{addEvent:a,arrayMax:l,arrayMin:h,correctFloat:c,crisp:d,extend:p,isNumber:u,merge:g,objectEach:f,pick:m}=e;function b(t,e){return Object.hasOwnProperty.call(t,e)}class y extends o{generatePoints(){o.prototype.generatePoints.apply(this);for(let t=0,e=this.points.length;t0?i:void 0);let s=o.prototype.pointAttribs.call(this,t,e);return delete s.dashstyle,s}getGraphPath(){return[["M",0,0]]}getCrispPath(){let t=this.data.filter((t=>u(t.y))),e=this.yAxis,i=t.length,s=this.graph?.strokeWidth()||0,r=this.xAxis.reversed,o=this.yAxis.reversed,n=this.options.stacking,a=[];for(let l=1;l0?-p.height:0;if(g&&p&&i){let t,c=g[l-1];if(n){let i=c.connectorThreshold;t=d(e.translate(i,!1,!0,!1,!0)+(o?f:0),s)}else t=d(p.y+(h.minPointLengthOffset||0),s);a.push(["M",(p.x||0)+(r?0:p.width||0),t],["L",(i.x||0)+(r&&i.width||0),t])}if(p&&a.length&&(!n&&c<0&&!o||c>0&&o)){let t=a[a.length-2];t&&"number"==typeof t[2]&&(t[2]+=p.height||0);let e=a[a.length-1];e&&"number"==typeof e[2]&&(e[2]+=p.height||0)}}return a}drawGraph(){n.prototype.drawGraph.call(this),this.graph&&this.graph.attr({d:this.getCrispPath()})}setStackedPoints(t){let e,i,s,r,o,n,a,l,h,c=this.options,d=t.waterfall?.stacks,p=c.threshold||0,u=this.stackKey,g=this.xData,f=g.length,m=p,b=m,y=0,x=0,v=0,w=(t,s,r,o)=>{if(e){if(i)for(;rl.indexOf(u)&&(h=!0),d[u]||(d[u]={});let t=d[u];if(t)for(let l=0;l=0?e.posTotal+=n:e.negTotal+=n,o=c.data[l],s=e.absolutePos=e.posTotal,r=e.absoluteNeg=e.negTotal,e.stackTotal=s+r,i=e.stackState.length,o&&o.isIntermediateSum?(w(v,x,0,v),v=x,x=p,m^=b,b^=m,m^=b):o&&o.isSum?(w(p,y,i,0),m=p):(w(m,n,0,y),o&&(y+=n,x+=n)),e.stateIndex++,e.threshold=m,m+=e.stackTotal;d.changed=!1,d.alreadyChanged||(d.alreadyChanged=[]),d.alreadyChanged.push(u)}}getExtremes(){let t,e,i,s=this.options.stacking;return s?(t=this.yAxis.waterfall.stacks,e=this.stackedYNeg=[],i=this.stackedYPos=[],f(t[this.stackKey],"overlap"===s?function(t){e.push(h(t.stackState)),i.push(l(t.stackState))}:function(t){e.push(t.negTotal+t.threshold),i.push(t.posTotal+t.threshold)}),{dataMin:h(e),dataMax:l(i)}):{dataMin:this.dataMin,dataMax:this.dataMax}}}return y.defaultOptions=g(o.defaultOptions,r),y.compose=i.compose,p(y.prototype,{pointValKey:"y",showLine:!0,pointClass:s}),a(y,"afterColumnTranslate",(function(){let t,e,i,s,{options:r,points:o,yAxis:n}=this,a=m(r.minPointLength,5),l=a/2,h=r.threshold||0,c=r.stacking,f=n.waterfall.stacks[this.stackKey],y=h,x=h;for(let r=0;r=0?e:e-C,b(o,"absolutePos")&&delete o.absolutePos,b(o,"absoluteNeg")&&delete o.absoluteNeg):(C>=0?(e=o.threshold+o.posTotal,o.posTotal-=C,t=e):(e=o.threshold+o.negTotal,o.negTotal-=C,t=e-C),!o.posTotal&&u(o.absolutePos)&&b(o,"absolutePos")&&(o.posTotal=o.absolutePos,delete o.absolutePos),!o.negTotal&&u(o.absoluteNeg)&&b(o,"absoluteNeg")&&(o.negTotal=o.absoluteNeg,delete o.absoluteNeg)),m.isSum||(o.connectorThreshold=o.threshold+o.stackTotal),n.reversed?(i=C>=0?t-C:t+C,s=t):(i=t,s=t-C),m.below=i<=h,w.y=n.translate(i,!1,!0,!1,!0),w.height=Math.abs(w.y-n.translate(s,!1,!0,!1,!0));let a=n.waterfall.dummyStackItem;a&&(a.x=r,a.label=f[r].label,a.setOffset(this.pointXOffset||0,this.barW||0,this.stackedYNeg[r],this.stackedYPos[r],void 0,this.xAxis))}}else t=Math.max(x,x+C)+k[0],w.y=n.translate(t,!1,!0,!1,!0),m.isSum?(w.y=n.translate(k[1],!1,!0,!1,!0),w.height=Math.min(n.translate(k[0],!1,!0,!1,!0),n.len)-w.y,m.below=k[1]<=h):m.isIntermediateSum?(C>=0?(i=k[1]+y,s=y):(i=y,s=k[1]+y),n.reversed&&(i^=s,s^=i,i^=s),w.y=n.translate(i,!1,!0,!1,!0),w.height=Math.abs(w.y-Math.min(n.translate(s,!1,!0,!1,!0),n.len)),y+=k[1],m.below=i<=h):(w.height=v>0?n.translate(x,!1,!0,!1,!0)-w.y:n.translate(x,!1,!0,!1,!0)-n.translate(x-v,!1,!0,!1,!0),x+=v,m.below=xt.className.indexOf(e)&&(t.className+=" "+e)},cloneMouseEvent:n,cloneTouchEvent:function(t){let e=t=>{let e=[];for(let i=0;i/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(t){return i.getElementById(t)},getFakeMouseEvent:a,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 r=(t=>{let e=t;for(;e=e.previousSibling;){let t=e.tagName||"";if(i(t))return t}return""})(t);if(r)return e(r);let o=t.parentElement;if(!o)return"p";let n=o.tagName;return i(n)?e(n):s(o)};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:o,stripHTMLTagsFromString:function(t,e=!1){return"string"==typeof t?e?t.replace(/<\/?[^>]+(>|$)/g,""):t.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):t},visuallyHideElement:function(t){r(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})}}})),i(e,"Accessibility/A11yI18n.js",[e["Core/Templating.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{format:s}=t,{getNestedProperty:r,pick:o}=e;return function(t){function e(t,e,i){let n,a,l=(t,e)=>{let i=t.slice(e||0),s=i.indexOf("{"),r=i.indexOf("}");if(s>-1&&r>s)return{statement:i.substring(s+1,r),begin:e+s+1,end:e+r}},h=[],c=0;do{n=l(t,c),(a=t.substring(c,n&&n.begin-1)).length&&h.push({value:a,type:"constant"}),n&&h.push({value:n.statement,type:"statement"}),c=n?n.end+1:c+1}while(n);return h.forEach((t=>{"statement"===t.type&&(t.value=function(t,e){let i,s,n=t.indexOf("#each("),a=t.indexOf("#plural("),l=t.indexOf("["),h=t.indexOf("]");if(n>-1){let o,a=t.slice(n).indexOf(")")+n,l=t.substring(0,n),h=t.substring(a+1),c=t.substring(n+6,a).split(","),d=Number(c[1]);if(s="",i=r(c[0],e)){o=(d=isNaN(d)?i.length:d)<0?i.length+d:Math.min(d,i.length);for(let t=0;t-1){var c;let i=t.slice(a).indexOf(")")+a,n=t.substring(a+8,i).split(",");switch(Number(r(n[0],e))){case 0:s=o(n[4],n[1]);break;case 1:s=o(n[2],n[1]);break;case 2:s=o(n[3],n[1]);break;default:s=n[1]}return s?(c=s).trim&&c.trim()||c.replace(/^\s+|\s+$/g,""):""}if(l>-1){let s,o=t.substring(0,l),n=Number(t.substring(l+1,h));return i=r(o,e),!isNaN(n)&&i&&(n<0?void 0===(s=i[i.length+n])&&(s=i[0]):void 0===(s=i[n])&&(s=i[i.length-1])),void 0!==s?s:""}return"{"+t+"}"}(t.value,e))})),s(h.reduce(((t,e)=>t+e.value),""),e,i)}function i(t,i){let s=t.split("."),r=this.options.lang,o=0;for(;o!!t.graphic));return e&&e.graphic&&e.graphic.element}}function h(t){let e=l(t);return e&&e.parentNode||t.graph&&t.graph.element||t.group&&t.group.element}return{fireEventOnWrappedOrUnwrappedElement:function t(e,i){let r=i.type,o=e.hcEvents;s.createEvent&&(e.dispatchEvent||e.fireEvent)?e.dispatchEvent?e.dispatchEvent(i):e.fireEvent(r,i):o&&o[r]?a(e,r,i):e.element&&t(e.element,i)},getChartTitle:function(t){return r(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&&"categories"||t.dateTime&&"Time"||"values")},getAxisRangeDescription:function(t){let e=t.options||{};return e.accessibility&&void 0!==e.accessibility.rangeDescription?e.accessibility.rangeDescription:t.categories?function(t){let e=t.chart;return t.dataMax&&t.dataMin?e.langFormat("accessibility.axis.rangeCategories",{chart:e,axis:t,numCategories:t.dataMax-t.dataMin+1}):""}(t):!t.dateTime||0!==t.min&&0!==t.dataMin?function(t){let e=t.chart,i=e.options,s=i&&i.accessibility&&i.accessibility.screenReaderSection.axisRangeDateFormat||"",r={min:t.dataMin||t.min||0,max:t.dataMax||t.max||0},o=function(i){return t.dateTime?e.time.dateFormat(s,r[i]):r[i].toString()};return e.langFormat("accessibility.axis.rangeFromTo",{chart:e,axis:t,rangeFrom:o("min"),rangeTo:o("max")})}(t):function(t){let e=t.chart,i={},s=t.dataMin||t.min||0,r=t.dataMax||t.max||0,o="Seconds";i.Seconds=(r-s)/1e3,i.Minutes=i.Seconds/60,i.Hours=i.Minutes/60,i.Days=i.Hours/24,["Minutes","Hours","Days"].forEach((function(t){i[t]>2&&(o=t)}));let n=i[o].toFixed("Seconds"!==o&&"Minutes"!==o?1:0);return e.langFormat("accessibility.axis.timeRange"+o,{chart:e,axis:t,range:n.replace(".0","")})}(t)},getPointFromXY:function(t,e,i){let s,r=t.length;for(;r--;)if(s=n(t[r].points||[],(function(t){return t.x===e&&t.y===i})))return s},getSeriesFirstPointElement:l,getSeriesFromName:function(t,e){return e?(t.series||[]).filter((function(t){return t.name===e})):t.series},getSeriesA11yElement:h,unhideChartElementFromAT:function t(e,i){i.setAttribute("aria-hidden",!1),i!==e.renderTo&&i.parentNode&&i.parentNode!==s.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=h(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,r=s&&s.scrollbar;if(r&&o(r.to)&&o(r.from)){let e=r.to-r.from,i=function(t,e){if(!o(t.dataMin)||!o(t.dataMax))return 0;let i=t.toPixels(t.dataMin),s=t.toPixels(t.dataMax),r="xAxis"===t.coll?"x":"y";return(t.toPixels(e[r]||0)-i)/(s-i)}(s,t);r.updatePosition(i-e/2,i+e/2),a(r,"changed",{from:r.from,to:r.to,trigger:"scrollbar",DOMEvent:null})}}}})),i(e,"Accessibility/Utils/DOMElementProvider.js",[e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e){let{doc:i}=t,{removeElement:s}=e;return class{constructor(){this.elements=[]}createElement(){let t=i.createElement.apply(i,arguments);return this.elements.push(t),t}removeElement(t){s(t),this.elements.splice(this.elements.indexOf(t),1)}destroyCreatedElements(){this.elements.forEach((function(t){s(t)})),this.elements=[]}}})),i(e,"Accessibility/Utils/EventProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let{addEvent:i}=e;return class{constructor(){this.eventRemovers=[]}addEvent(){let e=i.apply(t,arguments);return this.eventRemovers.push({element:arguments[0],remover:e}),e}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=[]}}})),i(e,"Accessibility/AccessibilityComponent.js",[e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{fireEventOnWrappedOrUnwrappedElement:o}=t,{getFakeMouseEvent:n}=s,{extend:a}=r;class l{initBase(t,s){this.chart=t,this.eventProvider=new i,this.domElementProvider=new e,this.proxyProvider=s,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){o(t,n("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}}return a(l.prototype,{init(){},getKeyboardNavigation:function(){},onChartUpdate(){},onChartRender(){},destroy(){}}),l})),i(e,"Accessibility/KeyboardNavigationHandler.js",[e["Core/Utilities.js"]],(function(t){let{find:e}=t;return 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 i=t.which||t.keyCode,s=this.response.noHandler,r=e(this.keyCodeMap,(function(t){return t[0].indexOf(i)>-1}));return r?s=r[1].call(this,i,t):9===i&&(s=this.response[t.shiftKey?"prev":"next"]),s}}})),i(e,"Accessibility/Components/ContainerComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,r){let{unhideChartElementFromAT:o,getChartTitle:n}=i,{doc:a}=s,{stripHTMLTagsFromString:l}=r;return class extends t{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let t=this.chart,e="highcharts-title-"+t.index,i=l(t.langFormat("accessibility.svgContainerTitle",{chartTitle:n(t)}));if(i.length){let s=this.svgTitleElement=this.svgTitleElement||a.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:n(t)});t.renderer.box&&e.length&&t.renderer.box.setAttribute("aria-label",e)}setGraphicContainerAttrs(){let t=this.chart,e=t.langFormat("accessibility.graphicContainerLabel",{chartTitle:n(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:n(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:l(e.textStr,t.renderer.forExport)})),o(t,e.element))}getKeyboardNavigation(){let t=this.chart;return new e(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)}}})),i(e,"Accessibility/FocusBorder.js",[e["Core/Utilities.js"]],(function(t){var e;let{addEvent:i,pick:s}=t;return function(t){let e=["x","y","transform","width","height","r","d","stroke-width"];function r(){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 o(t,e){let s=this.options.accessibility.keyboardNavigation.focusBorder,r=e||t.element;r&&r.focus&&(r.hcEvents&&r.hcEvents.focusin||i(r,"focusin",(function(){})),r.focus(),s.hideBrowserFocusOutline&&(r.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=t,this.renderFocusBorder()}function n(t,i){this.focusBorder&&this.removeFocusBorder();let r=this.getBBox(),o=s(t,3),n=this.parentGroup,a=this.scaleX||n&&n.scaleX,l=this.scaleY||n&&n.scaleY,h=(a?!l:l)?Math.abs(a||l||1):(Math.abs(a||1)+Math.abs(l||1))/2;r.x+=this.translateX?this.translateX:0,r.y+=this.translateY?this.translateY:0;let c=r.x-o,d=r.y-o,p=r.width+2*o,u=r.height+2*o,g=!!this.text;if("text"===this.element.nodeName||g){let t,e,i=!!this.rotation,s=g?{x:i?1:0,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)||(c=n-r.width*s.x-o),isNaN(a)||(d=a-r.height*s.y-o),g&&i){let t=p;p=u,u=t,isNaN(n)||(c=n-r.height*s.x-o),isNaN(a)||(d=a-r.width*s.y-o)}}this.focusBorder=this.renderer.rect(c,d,p,u,parseInt((i&&i.r||0).toString(),10)/h).addClass("highcharts-focus-border").attr({zIndex:99}).add(n),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,"stroke-width":(i&&i.strokeWidth||0)/h}),function(t,...i){t.focusBorderUpdateHooks||(t.focusBorderUpdateHooks={},e.forEach((e=>{let s=e+"Setter",r=t[s]||t._defaultSetter;t.focusBorderUpdateHooks[s]=r,t[s]=function(){let e=r.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.focusBorder.destroy(),e.apply(t,arguments)},t.focusBorderDestroyHook=e}(this)}function a(){var t;(t=this).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 i=t.prototype,s=e.prototype;i.renderFocusBorder||(i.renderFocusBorder=r,i.setFocusToElement=o),s.addFocusBorder||(s.addFocusBorder=n,s.removeFocusBorder=a)}}(e||(e={})),e})),i(e,"Accessibility/Utils/Announcer.js",[e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{doc:o}=i,{addClass:n,visuallyHideElement:a}=s,{attr:l}=r;return class{constructor(t,i){this.chart=t,this.domElementProvider=new e,this.announceRegion=this.addAnnounceRegion(i)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(e){t.setElementHTML(this.announceRegion,e),this.clearAnnouncementRegionTimer&&clearTimeout(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout((()=>{this.announceRegion.innerHTML=t.emptyHTML,delete this.clearAnnouncementRegionTimer}),3e3)}addAnnounceRegion(t){let e=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return l(i,{"aria-hidden":!1,"aria-live":t,"aria-atomic":!0}),this.chart.styledMode?n(i,"highcharts-visually-hidden"):a(i),e.appendChild(i),i}createAnnouncerContainer(){let t=this.chart,e=o.createElement("div");return l(e,{"aria-hidden":!1,class:"highcharts-announcer-container"}),e.style.position="relative",t.renderTo.insertBefore(e,t.renderTo.firstChild),t.announcerContainer=e,e}}})),i(e,"Accessibility/Components/AnnotationsA11y.js",[e["Accessibility/Utils/HTMLUtilities.js"]],(function(t){let{escapeStringForHTML:e,stripHTMLTagsFromString:i}=t;function s(t){return(t.annotations||[]).reduce(((t,e)=>(e.options&&!1!==e.options.visible&&(t=t.concat(e.labels)),t)),[])}function r(t){return t.options&&t.options.accessibility&&t.options.accessibility.description||t.graphic&&t.graphic.text&&t.graphic.text.textStr||""}function o(t){let e=t.options&&t.options.accessibility&&t.options.accessibility.description;if(e)return e;let i=t.chart,s=r(t),o=t.points,n=o.filter((t=>!!t.graphic)).map((t=>{let e=t.accessibility&&t.accessibility.valueDescription||(t=>t.graphic&&t.graphic.element&&t.graphic.element.getAttribute("aria-label")||"")(t),i=t&&t.series.name||"";return(i?i+", ":"")+"data point "+e})).filter((t=>!!t)),a=n.length,l=a>1?"MultiplePoints":a?"SinglePoint":"NoPoints",h={annotationText:s,annotation:t,numPoints:a,annotationPoint:n[0],additionalAnnotationPoints:n.slice(1)};return i.langFormat("accessibility.screenReaderSection.annotations.description"+l,h)}function n(t){return s(t).map((s=>{let r=e(i(o(s),t.renderer.forExport));return r?`
  • ${r}
  • `:""}))}return{getAnnotationsInfoHTML:function(t){let e=t.annotations;return e&&e.length?`
      ${n(t).join(" ")}
    `:""},getAnnotationLabelDescription:o,getAnnotationListItems:n,getPointAnnotationTexts:function(t){let e=s(t.series.chart).filter((e=>e.points.indexOf(t)>-1));return e.length?e.map((t=>`${r(t)}`)):[]}}})),i(e,"Accessibility/Components/InfoRegionsComponent.js",[e["Accessibility/A11yI18n.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Components/AnnotationsA11y.js"],e["Core/Renderer/HTML/AST.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r,o,n,a,l,h){let{getAnnotationsInfoHTML:c}=s,{getAxisDescription:d,getAxisRangeDescription:p,getChartTitle:u,unhideChartElementFromAT:g}=o,{format:f}=n,{doc:m}=a,{addClass:b,getElement:y,getHeadingTagNameForElement:x,stripHTMLTagsFromString:v,visuallyHideElement:w}=l,{attr:k,pick:C,replaceNested:S}=h;function A(t){return S(t,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}return class extends e{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")})),this.announcer=new i(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.defaultBeforeChartFormatter(i)},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.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(){let t=this;this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),Object.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=f(t,this.chart),i=m.querySelectorAll(e);return 1===i.length?i[0]:void 0}setLinkedDescriptionAttrs(){let t=this.linkedDescriptionElement;t&&(t.setAttribute("aria-hidden","true"),b(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"),n=o.firstChild||this.createElement("div");s?(this.setScreenReaderSectionAttribs(o,t),r.setElementHTML(n,s),o.appendChild(n),i.insertIntoDOM(o,e),e.styledMode?b(n,"highcharts-visually-hidden"):w(n),g(e,n),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:u(i)});k(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 e=this.chart,i=e.options.accessibility.screenReaderSection.beforeChartFormat;if(!i)return"";let s=this.getAxesDescription(),r=e.sonify&&e.options.sonification&&e.options.sonification.enabled,o="highcharts-a11y-sonify-data-btn-"+e.index,n="hc-linkto-highcharts-data-table-"+e.index,a=c(e),l=e.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:e}),h={headingTagName:x(e.renderTo),chartTitle:u(e),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:s.xAxis,yAxisDescription:s.yAxis,playAsSoundButton:r?this.getSonifyButtonText(o):"",viewTableButton:e.getCSV?this.getDataTableButtonText(n):"",annotationsTitle:a?l:"",annotationsList:a},d=t.i18nFormat(i,h,e);return this.dataTableButtonId=n,this.sonifyButtonId=o,A(d)}defaultAfterChartFormatter(){let e=this.chart,i=e.options.accessibility.screenReaderSection.afterChartFormat;if(!i)return"";let s={endOfChartMarker:this.getEndOfChartMarkerText()};return A(t.i18nFormat(i,s,e))}getLinkedDescription(){let t=this.linkedDescriptionElement;return v(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(){let t=this.chart;return t.types?t.options.accessibility.typeDescription||function(t,e){let i=e[0],s=t.series&&t.series[0]||{},r=t.mapView&&t.mapView.geoMap&&t.mapView.geoMap.title,o={numSeries:t.series.length,numPoints:s.points&&s.points.length,chart:t,mapTitle:r};return i?"map"===i||"tiledwebmap"===i?o.mapTitle?t.langFormat("accessibility.chartTypes.mapTypeDescription",o):t.langFormat("accessibility.chartTypes.unknownMap",o):t.types.length>1?t.langFormat("accessibility.chartTypes.combinationChart",o):function(t,e,i){let s=e[0],r=t.langFormat("accessibility.seriesTypeDescriptions."+s,i),o=t.series&&t.series.length<2?"Single":"Multiple";return(t.langFormat("accessibility.chartTypes."+s+o,i)||t.langFormat("accessibility.chartTypes.default"+o,i))+(r?" "+r:"")}(t,e,o):t.langFormat("accessibility.chartTypes.emptyChart",o)}(t,t.types):""}getDataTableButtonText(t){let e=this.chart;return'"}getSonifyButtonText(t){let e=this.chart;return e.options.sonification&&!1===e.options.sonification.enabled?"":'"}getSubtitleText(){let t=this.chart.options.subtitle;return v(t&&t.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let t=y(`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'
    '+i+"
    "}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=y(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)})}initDataTableButton(t){let e=this.viewDataTableButton=y(t),i=this.chart,s=t.replace("hc-linkto-","");e&&(k(e,{tabindex:-1,"aria-expanded":!!y(s)}),e.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.viewData()})}getAxesDescription(){let t=this.chart,e=function(e,i){let s=t[e];return s.length>1||s[0]&&C(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,r=e("xAxis",!t.angular&&s&&i),o=e("yAxis",s&&i),n={};return r&&(n.xAxis=this.getAxisDescriptionText("xAxis")),o&&(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 d(t)})),ranges:i.map((function(t){return p(t)})),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}}})),i(e,"Accessibility/Components/MenuComponent.js",[e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,r){let{attr:o}=t,{getChartTitle:n,unhideChartElementFromAT:a}=s,{getFakeMouseEvent:l}=r;function h(t){return t.exportSVGElements&&t.exportSVGElements[0]}class c extends e{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.exportContextMenu;t&&t.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}onMenuShown(){let t=this.chart,e=t.exportContextMenu;e&&(this.addAccessibleContextMenuAttribs(),a(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.exportingGroup&&(e.focusBorder?t.setFocusToElement(e,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){let t=this.chart,e=this.proxyProvider,i=h(t);(function(t){let e=t.options.exporting,i=h(t);return!!(e&&!1!==e.enabled&&e.accessibility&&e.accessibility.enabled&&i&&i.element)})(t)&&i&&(this.exportButtonProxy=e.addProxyElement("chartMenu",{click:i},"button",{"aria-label":t.langFormat("accessibility.exporting.menuButtonLabel",{chart:t,chartTitle:n(t)}),"aria-expanded":!1,title:t.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){let t=this.chart,e=t.exportDivElements;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&&o(i,{"aria-hidden":void 0,"aria-label":t.langFormat("accessibility.exporting.chartMenuLabel",{chart:t}),role:"list"})}}getKeyboardNavigation(){let t=this.keyCodes,e=this.chart,s=this;return new i(e,{keyCodeMap:[[[t.left,t.up],function(){return s.onKbdPrevious(this)}],[[t.right,t.down],function(){return s.onKbdNext(this)}],[[t.enter,t.space],function(){return s.onKbdClick(this)}]],validate:function(){return!!e.exporting&&!1!==e.options.exporting.enabled&&!1!==e.options.exporting.accessibility.enabled},init:function(){let t=s.exportButtonProxy,i=s.chart.exportingGroup;t&&i&&e.setFocusToElement(i,t.innerElement)},terminate:function(){e.hideExportMenu()}})}onKbdPrevious(t){let e=this.chart,i=e.options.accessibility,s=t.response,r=e.highlightedExportItemIx||0;for(;r--;)if(e.highlightExportItem(r))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{t&&"highcharts-menu-item"===t.className&&t.onmouseout&&t.onmouseout(l("mouseout"))})),this.highlightedExportItemIx=0,this.exportContextMenu.hideMenu(),this.container.focus())}function s(t){let e=this.exportDivElements&&this.exportDivElements[t],i=this.exportDivElements&&this.exportDivElements[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(l("mouseout")),e.onmouseover&&e.onmouseover(l("mouseover")),this.highlightedExportItemIx=t,!0}return!1}function r(){if(this.exportDivElements){let t=this.exportDivElements.length;for(;t--;)if(this.highlightExportItem(t))return!0}return!1}t.compose=function(t){let o=t.prototype;o.hideExportMenu||(o.hideExportMenu=i,o.highlightExportItem=s,o.highlightLastExportItem=r,o.showExportMenu=e)}}(c||(c={})),c})),i(e,"Accessibility/KeyboardNavigation.js",[e["Core/Globals.js"],e["Accessibility/Components/MenuComponent.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,r){let{doc:o,win:n}=t,{addEvent:a,defined:l,fireEvent:h}=i,{getElement:c,simulatedEventTarget:d}=r;class p{constructor(t,e){this.currentModuleIx=NaN,this.modules=[],this.init(t,e)}init(t,e){let i=this.eventProvider=new s;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(o,t,(t=>this.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=c(`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,r=s&&s.keyboardNavigation;if(r&&r.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!==d){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||n.event,s=this.modules&&this.modules.length&&this.modules[this.currentModuleIx],r=i.target;if((!r||"INPUT"!==r.nodeName||r.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),r=this.chart,o=r.container;r.renderTo.hasAttribute("tabindex")?(o.removeAttribute("tabindex"),t=r.renderTo):t=o,this.tabindexContainer=t;let n=t.getAttribute("tabindex");s&&!n?t.setAttribute("tabindex","0"):s||r.container.removeAttribute("tabindex")}createExitAnchor(){let t=this.chart,e=this.exitAnchor=o.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&&l(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||n.event,r=!(s.relatedTarget&&e.container.contains(s.relatedTarget)||i.exiting);if(e.focusElement&&delete e.focusElement,r){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&&t.dismissPopupContent&&t.dismissPopupContent()}))}i.compose=function(t){e.compose(t);let i=t.prototype;return i.dismissPopupContent||(i.dismissPopupContent=s,a(o,"keydown",r)),t}}(p||(p={})),p})),i(e,"Accessibility/Components/LegendComponent.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Legend/Legend.js"],e["Core/Utilities.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,r,o,n,a){let{animObject:l}=t,{doc:h}=e,{addEvent:c,fireEvent:d,isNumber:p,pick:u,syncTimeout:g}=s,{getChartTitle:f}=n,{stripHTMLTagsFromString:m,addClass:b,removeClass:y}=a;function x(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 v(t,e){let i=e.legendItem||{};for(let s of(e.setState(t?"hover":"",!0),["group","label","symbol"])){let e=i[s],r=e&&e.element||e;r&&d(r,t?"mouseover":"mouseout")}}class w extends r{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let t=this;this.recreateProxies(),this.addEvent(i,"afterScroll",(function(){this.chart===t.chart&&(t.proxyProvider.updateGroupProxyElementPositions("legend"),t.updateLegendItemProxyVisibility(),t.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(t.highlightedLegendItemIx))})),this.addEvent(i,"afterPositionItem",(function(e){this.chart===t.chart&&this.chart.renderer&&t.updateProxyPositionForItem(e.item)})),this.addEvent(i,"afterRender",(function(){this.chart===t.chart&&this.chart.renderer&&t.recreateProxies()&&g((()=>t.proxyProvider.updateGroupProxyElementPositions("legend")),l(u(this.chart.renderer.globalAnimation,!0)).duration)}))}updateLegendItemProxyVisibility(){let t,e=this.chart,i=e.legend,s=i.allItems||[],r=i.currentPage||1,o=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]>o||e!==r-1}l?e.styledMode?b(a,"highcharts-a11y-invisible"):a.style.visibility="hidden":(y(a,"highcharts-a11y-invisible"),a.style.visibility="")}}))}onChartRender(){x(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(t){let e=this.chart,i=e.legend,s=(i.currentPage||1)+t,r=i.pages||[];if(s>0&&s<=r.length){let t=0;for(let r of i.allItems)((r.legendItem||{}).pageIx||0)+1===s&&e.highlightLegendItem(t)&&(this.highlightedLegendItemIx=t),++t}}updateProxyPositionForItem(t){t.a11yProxyElement&&t.a11yProxyElement.refreshPosition()}recreateProxies(){let t=h.activeElement,e=this.proxyGroup,i=t&&e&&e.contains(t);return this.removeProxies(),!!x(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=m((t.legend&&t.legend.options.title&&t.legend.options.title.text||"").replace(/
    /g," "),t.renderer.forExport),i=t.langFormat("accessibility.legend.legendLabel"+(e?"":"NoTitle"),{chart:t,legendTitle:e,chartTitle:f(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||{};if(!e.label||!e.group)return;let i=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:m(t.name,this.chart.renderer.forExport),item:t}),s={tabindex:-1,"aria-pressed":t.visible,"aria-label":i},r=e.group.div?e.label:e.group;t.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:e.label,visual:r.element},"button",s)}getKeyboardNavigation(){let t=this.keyCodes,e=this,i=this.chart;return new o(i,{keyCodeMap:[[[t.left,t.right,t.up,t.down],function(t){return e.onKbdArrowKey(this,t)}],[[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=>v(!1,t)))}})}onKbdArrowKey(t,e){let{keyCodes:{left:i,up:s},highlightedLegendItemIx:r,chart:o}=this,n=o.legend.allItems.length,a=o.options.accessibility.keyboardNavigation.wrapAround,l=e===i||e===s?-1:1;return o.highlightLegendItem(r+l)?this.highlightedLegendItemIx+=l:a&&n>1&&(this.highlightedLegendItemIx=l>0?0:n-1,o.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(!x(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()}}return function(t){function e(t){let e=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,s=e[t],r=s?.legendItem||{};if(s){p(i)&&e[i]&&v(!1,e[i]),function(t,e){let i=(t.allItems[e].legendItem||{}).pageIx,s=t.currentPage;void 0!==i&&i+1!==s&&t.scroll(1+i-s)}(this.legend,t);let o=r.label,n=s.a11yProxyElement&&s.a11yProxyElement.innerElement;return o&&o.element&&n&&this.setFocusToElement(o,n),v(!0,s),!0}return!1}function i(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")}t.compose=function(t,s){let r=t.prototype;r.highlightLegendItem||(r.highlightLegendItem=e,c(s,"afterColorizeItem",i))}}(w||(w={})),w})),i(e,"Stock/Navigator/ChartNavigatorComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){let i,{isTouchDevice:s}=t,{addEvent:r,merge:o,pick:n}=e,a=[];function l(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function h(){let t,e,i,s=this.legend,r=this.navigator;if(r){t=s&&s.options,e=r.xAxis,i=r.yAxis;let{scrollbarHeight:o,scrollButtonSize:a}=r;this.inverted?(r.left=r.opposite?this.chartWidth-o-r.height:this.spacing[3]+o,r.top=this.plotTop+a):(r.left=n(e.left,this.plotLeft+a),r.top=r.navigatorOptions.top||this.chartHeight-r.height-o-(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=r.left:e.options.top=i.options.top=r.top,e.setAxisSize(),i.setAxisSize())}}function c(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 d(){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)&&(o(!0,this.options.navigator,e),o(!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),r(t,"afterAddSeries",l),r(t,"afterSetChartSize",h),r(t,"afterUpdate",c),r(t,"beforeRender",d),r(t,"beforeShowResetZoom",p),r(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:r,defined:o,isNumber:n,pick:a}=e;function l(){this.navigatorAxis||(this.navigatorAxis=new c(this))}function h(t){let e,s=this.chart,r=s.options,n=r.navigator,a=this.navigatorAxis,l=s.zooming.pinchType,h=r.rangeSelector,c=s.zooming.type;if(this.isXAxis&&(n?.enabled||h?.enabled))if("y"===c&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===c||i&&"xy"===l)&&this.options.range){let e=a.previousZoom;o(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 c{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,c=a(i,l.translate(t,!0,!l.horiz)),d=a(s,l.translate(e,!0,!l.horiz));return o(i)||(c=r(c+h)),o(s)||(d=r(d-h)),n(c)&&n(d)||(c=d=void 0),{min:c,max:d}}}return c})),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,r,o,n={}){let a=n.width?n.width/2:r,l=i(n.borderRadius||0,Math.min(2*a,o));return[["M",-1.5,(o=n.height||o)/2-3.5],["L",-1.5,o/2+4.5],["M",.5,o/2-3.5],["L",.5,o/2+4.5],...t.rect(-a-1,.5,2*a+1,o,{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,i,s,r,o,n,a){let{setOptions:l}=t,{composed:h}=e,{getRendererType:c}=o,{setFixedRange:d}=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,o){i.compose(e),g(h,"Navigator")&&(t.prototype.setFixedRange=d,u(c().prototype.symbols,r),p(o,"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:r,defined:o,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:o(t.dataMin)?Math.min(e,t.min,t.dataMin,n(t.threshold,1/0)):e,scrollMax:o(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),r(t.scrollbar,"changed",(function(e){let s,r,{axisMin:n,axisMax:a,scrollMin:l,scrollMax:h}=i(t),c=h-l;if(o(n)&&o(a))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=l+c*this.to,r=l+c*this.from):(s=l+c*(1-this.from),r=l+c*(1-this.to)),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes(r,s,!0,i,e)}else this.setRange(this.from,this.to)})))}function c(){let t,e,s,{scrollMin:r,scrollMax:n}=i(this),a=this.scrollbar,l=this.axisTitleMargin+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,c=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?c:0),this.width,this.height),this.opposite||(h[1]+=c),t=1;else{let e;this.opposite&&(h[0]+=l),e=a.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:c):this.opposite?0:c,a.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=c),t=0}h[t]+=a.size+(a.options.margin||0),isNaN(r)||isNaN(n)||!o(this.min)||!o(this.max)||this.min===this.max?a.setRange(0,1):(e=(this.min-r)/(n-r),s=(this.max-r)/(n-r),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,r(t,"afterGetOffset",l),r(t,"afterInit",h),r(t,"afterRender",c))}}(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,r){let{defaultOptions:o}=t,{addEvent:n,correctFloat:a,crisp:l,defined:h,destroyObjectProperties:c,fireEvent:d,merge:p,pick:u,removeEvent:g}=r;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;sthis.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,c(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,r=this.size,o=e.g().add(this.group);if(i.push(o),s.buttonsEnabled){let n=e.rect().addClass("highcharts-scrollbar-button").add(o);this.chart.styledMode||n.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),n.attr(n.crisp({x:-.5,y:-.5,width:r,height:r,r:s.buttonBorderRadius},n.strokeWidth()));let a=e.path(f.swapXY([["M",r/2+(t?-1:1),r/2-3],["L",r/2+(t?-1:1),r/2+3],["L",r/2+(t?2:-2),r/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,o.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",r=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(r[0]+e,r[1]+e),this.hasDragged&&d(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&d(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:r,margin:o=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=r?this.size:0,this.barWidth=s-(r?2*i:0),this.x=t+=o):(this.height=s=this.size,this.xOffset=l=r?this.size:0,this.barWidth=i-(r?2*s:0),this.y=this.y+o),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,r=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=r,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(r),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let o=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-l(0,o),y:-l(0,o)}),this.scrollbarGroup=t.g().add(r),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-o,width:i-o,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,r=this.options,o=r.vertical,n=r.minWidth,l=this.barWidth,c=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!h(l))return;let d=l*Math.min(e,1);i=Math.ceil(l*(t=Math.max(t,0))),this.calculatedWidth=s=a(d-i),s=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,r=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>r?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),d(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,o.scrollbar=p(!0,f.defaultOptions,o.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.js"],e["Core/Renderer/SVG/SVGRenderer.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r,o,n,a,l){let{defaultOptions:h}=i,{isTouchDevice:c}=s,{prototype:{symbols:d}}=a,{addEvent:p,clamp:u,correctFloat:g,defined:f,destroyObjectProperties:m,erase:b,extend:y,find:x,fireEvent:v,isArray:w,isNumber:k,merge:C,pick:S,removeEvent:A,splat:M}=l;function P(t,...e){let i=[].filter.call(e,k);if(i.length)return Math[t].apply(0,i)}class T{static compose(t,i,s){e.compose(t,T),o.compose(t,i,s)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let r=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-r)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-r/2-1)})}drawOutline(t,e,i,s){let r,o,n=this.navigatorOptions.maskInside,a=this.outline.strokeWidth(),l=a/2,h=a%2/2,c=this.scrollButtonSize,d=this.size,p=this.top,u=this.height,g=p-l,f=p+u,m=this.left;i?(r=p+e+h,o=[["M",m+u,p-c-h],["L",m+u,r],["L",m,r],["M",m,e=p+t+h],["L",m+u,e],["L",m+u,p+d+c]],n&&o.push(["M",m+u,r-l],["L",m+u,e+l])):(m-=c,o=[["M",m,g],["L",t+=m+c-h,g],["L",t,f],["M",e+=m+c-h,f],["L",e,g],["L",m+d+2*c,g]],n&&o.push(["M",t-l,g],["L",e+l,g])),this.outline[s]({d:o})}drawMasks(t,e,i,s){let r,o,n,a,l=this.left,h=this.top,c=this.height;i?(n=[l,l,l],a=[h,h+t,h+e],o=[c,c,c],r=[t,e-t,this.size-e]):(n=[l,l+t,l+e],a=[h,h,h],o=[t,e-t,this.size-e],r=[c,c,c]),this.shades.forEach(((t,e)=>{t[s]({x:n[e],y:a[e],width:o[e],height:r[e]})}))}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,r=s.inverted,o=s.renderer,n={cursor:r?"ns-resize":"ew-resize"},a=t.navigatorGroup??(t.navigatorGroup=o.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach(((i,r)=>{let l=t.shades[r]??(t.shades[r]=o.rect().addClass("highcharts-navigator-mask"+(1===r?"-inside":"-outside")).add(a));s.styledMode||(l.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===r&&l.css(n))})),t.outline||(t.outline=o.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:r,width:l}=i;[0,1].forEach((e=>{let h=i.symbols[e];if(t.handles[e]){if(h!==t.handles[e].symbolName){let i=d[h].call(d,-l/2-1,0,l,r);t.handles[e].attr({d:i}),t.handles[e].symbolName=h}}else t.handles[e]=o.symbol(h,-l/2-1,0,l,r,i),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(-l/2),rotationOriginY:(r+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(C(!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=>{A(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 r,o,n,a,l,h=this.chart,c=this.xAxis,d=c.pointRange||0,p=c.navigatorAxis.fake?h.xAxis[0]:c,m=this.navigatorEnabled,b=this.rendered,y=h.inverted,x=h.xAxis[0].minRange,w=h.xAxis[0].options.maxRange,C=this.scrollButtonSize,A=this.scrollbarHeight;if(this.hasDragged&&!f(i))return;if(this.isDirty&&this.renderElements(),t=g(t-d/2),e=g(e+d/2),!k(t)||!k(e)){if(!b)return;i=0,s=S(c.width,p.width)}this.left=S(c.left,h.plotLeft+C+(y?h.plotWidth:0));let M=this.size=a=S(c.len,(y?h.plotHeight:h.plotWidth)-2*C);r=y?A:a+2*C,i=S(i,c.toPixels(t,!0)),s=S(s,c.toPixels(e,!0)),k(i)&&Math.abs(i)!==1/0||(i=0,s=r);let P=c.toValue(i,!0),T=c.toValue(s,!0),E=Math.abs(g(T-P));Ew&&(this.grabbedLeft?i=c.toPixels(T-w-d,!0):this.grabbedRight&&(s=c.toPixels(P+w+d,!0))),this.zoomedMax=u(Math.max(i,s),0,M),this.zoomedMin=u(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,M),this.range=this.zoomedMax-this.zoomedMin,M=Math.round(this.zoomedMax);let L=Math.round(this.zoomedMin);m&&(this.navigatorGroup.attr({visibility:"inherit"}),l=b&&!this.hasDragged?"animate":"attr",this.drawMasks(L,M,y,l),this.drawOutline(L,M,y,l),this.navigatorOptions.handles.enabled&&(this.drawHandle(L,0,y,l),this.drawHandle(M,1,y,l))),this.scrollbar&&(y?(n=this.top-C,o=this.left-A+(m||!p.opposite?0:(p.titleOffset||0)+p.axisTitleMargin),A=a+2*C):(n=this.top+(m?this.height:-A),o=this.left-C),this.scrollbar.position(o,n,r,A),this.scrollbar.setRange(this.zoomedMin/(a||1),this.zoomedMax/(a||1))),this.rendered=!0,this.isDirty=!1,v(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,r=s.container,o=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},(o=i.getPartsEvents("mousedown")).push(p(s.renderTo,"mousemove",t),p(r.ownerDocument,"mouseup",e),p(s.renderTo,"touchmove",t),p(r.ownerDocument,"touchend",e)),o.concat(i.getPartsEvents("touchstart")),i.eventsToUnbind=o,i.series&&i.series[0]&&o.push(p(i.series[0].xAxis,"foundExtremes",(function(){s.navigator.modifyNavigatorAxisExtremes()})))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach((function(s){e[s].forEach((function(r,o){i.push(p(r.element,t,(function(t){e[s+"Mousedown"](t,o)})))}))})),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i,s,r,o,n=this.chart,a=this.xAxis,l=this.zoomedMin,h=this.size,c=this.range,d=this.left,p=t.chartX;n.inverted&&(p=t.chartY,d=this.top),1===e?(this.grabbedCenter=p,this.fixedWidth=c,this.dragOffset=p-l):(o=p-d-c/2,0===e?o=Math.max(0,o):2===e&&o+c>=h&&(o=h-c,this.reversedExtremes?(o-=c,s=this.getUnionExtremes().dataMin):i=this.getUnionExtremes().dataMax),o!==l&&(this.fixedWidth=c,f((r=a.navigatorAxis.toFixedRange(o,o+c,s,i)).min)&&v(this,"setRange",{min:Math.min(r.min,r.max),max:Math.max(r.min,r.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],r=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=r?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=r?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e,i=this,s=i.chart,r=i.navigatorSize,o=i.range,n=i.dragOffset,a=s.inverted,l=i.left;(!t.touches||0!==t.touches[0].pageX)&&(e=(t=s.pointer?.normalize(t)||t).chartX,a&&(l=i.top,e=t.chartY),i.grabbedLeft?(i.hasDragged=!0,i.render(0,0,e-l,i.otherHandlePos)):i.grabbedRight?(i.hasDragged=!0,i.render(0,0,i.otherHandlePos,e-l)):i.grabbedCenter&&(i.hasDragged=!0,er+n-o&&(e=r+n-o),i.render(0,0,e-n,e-n+o)),i.hasDragged&&i.scrollbar&&S(i.scrollbar.options.liveRedraw,!c&&!this.chart.boosted)&&(t.DOMType=t.type,setTimeout((function(){i.onMouseUp(t)}),0)))}onMouseUp(t){let e,i,s,r,o,n,a=this.chart,l=this.xAxis,h=this.scrollbar,c=t.DOMEvent||t,d=a.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!h||!h.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?r=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(o=this.fixedExtreme),this.zoomedMax===this.size&&(o=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(r=this.reversedExtremes?s.dataMax:s.dataMin),f((n=l.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,r,o)).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:c}})),"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&&k(this.zoomedMin)&&k(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,d,p),this.outline&&this.drawOutline(i,e,d,p),this.navigatorOptions.handles.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,d,p),this.drawHandle(e,1,d,p)))}removeEvents(){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){A(t,"updatedData",this.updatedDataHandler)}),this),t[0].xAxis&&A(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||{},o=s.enabled,a=i.scrollbar||{},l=a.enabled,h=o&&s.height||0,c=l&&a.height||0,d=a.buttonsEnabled&&c||0;this.handles=[],this.shades=[],this.chart=e,this.setBaseSeries(),this.height=h,this.scrollbarHeight=c,this.scrollButtonSize=d,this.scrollbarEnabled=l,this.navigatorEnabled=o,this.navigatorOptions=s,this.scrollbarOptions=a,this.setOpposite();let u=this,g=u.baseSeries,f=e.xAxis.length,m=e.yAxis.length,b=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,C({breaks:b.options.breaks,ordinal:b.options.ordinal,overscroll:b.options.overscroll},s.xAxis,{type:"datetime",index:f,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:b.options.ordinal?0:b.options.minPadding,maxPadding:b.options.ordinal?0:b.options.maxPadding,zoomEnabled:!1},e.inverted?{offsets:i,width:h}:{offsets:i,height:h}),"xAxis"),u.yAxis=new t(e,C(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],r=s.getExtremes(),o=s.len-2*d,n=P("min",s.options.min,r.dataMin),a=P("max",s.options.max,r.dataMax)-n;return i?t*a/o+n:o*(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=r.prototype.toFixedRange.bind(u.xAxis.navigatorAxis);if(e.options.scrollbar.enabled){let t=C(e.options.scrollbar,{vertical:e.inverted});!k(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,r=s.options,o=i.options;return t&&null===i.dataMin||(e={dataMin:S(r&&r.min,P("min",o.min,i.dataMin,s.dataMin,s.min)),dataMax:S(r&&r.max,P("max",o.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?x(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,s,r,o=this,n=o.chart,a=o.baseSeries,l={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}}},c=o.series=(o.series||[]).filter((t=>{let e=t.baseSeries;return!(0>a.indexOf(e)&&(e&&(A(e,"updatedData",o.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),1))})),d=o.navigatorOptions.series;a&&a.length&&a.forEach((t=>{let p=t.navigatorSeries,u=y({color:t.color,visible:t.visible},w(d)?h.navigator.series:d);if(p&&!1===o.navigatorOptions.adaptToUpdatedData)return;l.name="Navigator "+a.length,r=(i=t.options||{}).navigatorOptions||{},u.dataLabels=M(u.dataLabels),(s=C(i,l,u,r)).pointRange=S(u.pointRange,r.pointRange,h.plotOptions[s.type||"line"].pointRange);let g=r.data||u.data;o.hasNavigatorData=o.hasNavigatorData||!!g,s.data=g||i.data&&i.data.slice(0),p&&p.options?p.update(s,e):(t.navigatorSeries=n.initSeries(s),n.setSortedData(),t.navigatorSeries.baseSeries=t,c.push(t.navigatorSeries))})),(d.data&&!(a&&a.length)||w(d))&&(o.hasNavigatorData=!1,(d=M(d)).forEach(((t,e)=>{l.name="Navigator "+(c.length+1),(s=C(h.navigator.series,{color:n.series[e]&&!n.series[e].options.isInternal&&n.series[e].color||n.options.colors[e]||n.options.colors[0]},l,t)).data=t.data,s.data&&(o.hasNavigatorData=!0,c.push(n.initSeries(s)))}))),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&&b(e,i),this.navigatorSeries&&(b(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(),r=s.min,o=s.max,n=s.dataMin,a=s.dataMax,l=o-r,h=i.stickToMin,c=i.stickToMax,d=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),c&&(t=a+d,h||(e=Math.max(n,t-l,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),u&&(h||c)&&k(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,r=s.max,o=s.min,n=s.options.range;return!(!k(r)||!k(o))&&(n&&r-i>0?r-i{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 T})),i(e,"Accessibility/Components/NavigatorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Stock/Navigator/Navigator.js"],e["Core/Animation/AnimationUtilities.js"],e["Core/Templating.js"],e["Core/Utilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/Utils/ChartUtilities.js"]],(function(t,e,i,s,r,o,n,a,l){let{animObject:h}=r,{format:c}=o,{clamp:d,pick:p,syncTimeout:u}=n,{getFakeMouseEvent:g}=a,{getAxisRangeDescription:f,fireEventOnWrappedOrUnwrappedElement:m}=l;return class extends t{init(){let t=this.chart,i=this;this.announcer=new e(t,"polite"),this.addEvent(s,"afterRender",(function(){this.chart===i.chart&&this.chart.renderer&&u((()=>{i.proxyProvider.updateGroupProxyElementPositions("navigator"),i.updateHandleValues()}),h(p(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":c(s,{chart:t},t)});let r=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":c(r,{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,s=this.chart,r=t?this.maxHandleProxy:this.minHandleProxy,o=this.keyCodes;return new i(s,{keyCodeMap:[[[o.left,o.right,o.up,o.down],function(i){if(r){let n=i===o.left||i===o.up?-1:1;r.value=""+d(parseFloat(r.value)+n,0,100),e.updateNavigator((()=>{let i=e.getHandleByIx(t);i&&s.setFocusToElement(i,r)}))}return this.response.success}]],init:()=>{s.setFocusToElement(this.getHandleByIx(t),r)},validate:()=>!!(this.getHandleByIx(t)&&r&&s.options.navigator.accessibility?.enabled)})}getKeyboardNavigation(){return[this.getNavigatorHandleNavigation(0),this.getNavigatorHandleNavigation(1)]}destroy(){this.updateNavigatorThrottleTimer&&clearTimeout(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){this.updateNavigatorThrottleTimer&&clearTimeout(this.updateNavigatorThrottleTimer),this.updateNavigatorThrottleTimer=setTimeout((t=>{let e=this.chart,{navigator:i,pointer:s}=e;if(i&&s&&this.minHandleProxy&&this.maxHandleProxy){let r=s.getChartPosition(),o=parseFloat(this.minHandleProxy.value)/100*i.size,n=parseFloat(this.maxHandleProxy.value)/100*i.size;[[0,"mousedown",i.zoomedMin],[0,"mousemove",o],[0,"mouseup",o],[1,"mousedown",i.zoomedMax],[1,"mousemove",n],[1,"mouseup",n]].forEach((([t,e,s])=>{let o=this.getHandleByIx(t)?.element;o&&m(o,g(e,{x:r.left+i.left+s,y:r.top+i.top},o))})),t&&t();let a=e.options.lang.accessibility?.navigator.changeAnnouncement,l=f(e.xAxis[0]);this.announcer.announce(c(a,{axisRangeDescription:l,chart:e},e))}}).bind(this,t),20)}}})),i(e,"Accessibility/Components/SeriesComponent/SeriesDescriber.js",[e["Accessibility/Components/AnnotationsA11y.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Core/Templating.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{getPointAnnotationTexts:o}=t,{getAxisDescription:n,getSeriesFirstPointElement:a,getSeriesA11yElement:l,unhideChartElementFromAT:h}=e,{format:c,numberFormat:d}=i,{reverseChildNodes:p,stripHTMLTagsFromString:u}=s,{find:g,isNumber:f,isString:m,pick:b,defined:y}=r;function x(t){let e=t.chart.options.accessibility.series.pointDescriptionEnabledThreshold;return!!(!1!==e&&t.points&&t.points.length>=+e)}function v(t,e){let i=t.series,s=i.chart,r=s.options.accessibility.point||{},o=i.options.accessibility&&i.options.accessibility.point||{},n=i.tooltipOptions||{},a=s.options.lang;return f(e)?d(e,o.valueDecimals||r.valueDecimals||n.valueDecimals||-1,a.decimalPoint,a.accessibility.thousandsSep||a.thousandsSep):e}function w(t,e){let i=t[e];return t.chart.langFormat("accessibility.series."+e+"Description",{name:n(i),series:t})}function k(t){let e=t.series,i=e.chart.series.length>1||e.options.name,s=function(t){let e=t.series,i=e.chart,s=e.options.accessibility,r=s&&s.point&&s.point.valueDescriptionFormat||i.options.accessibility.point.valueDescriptionFormat,o=b(e.xAxis&&e.xAxis.options.accessibility&&e.xAxis.options.accessibility.enabled,!i.angular&&"flowmap"!==e.type),n=o?function(t){let e=function(t){let e=t.series,i=e.chart,s=e.options.accessibility&&e.options.accessibility.point||{},r=i.options.accessibility.point||{},o=e.xAxis&&e.xAxis.dateTime;if(o){let e=o.getXDateFormat(t.x||0,i.options.tooltip.dateTimeLabelFormats),n=s.dateFormatter&&s.dateFormatter(t)||r.dateFormatter&&r.dateFormatter(t)||s.dateFormat||r.dateFormat||e;return i.time.dateFormat(n,t.x||0,void 0)}}(t),i=(t.series.xAxis||{}).categories&&y(t.category)&&(""+t.category).replace("
    "," "),s=y(t.id)&&0>(""+t.id).indexOf("highcharts-"),r="x, "+t.x;return t.name||e||i||(s?t.id:r)}(t):"";return c(r,{point:t,index:y(t.index)?t.index+1:"",xDescription:n,value:function(t){let e=t.series,i=e.chart.options.accessibility.point||{},s=e.chart.options.accessibility&&e.chart.options.accessibility.point||{},r=e.tooltipOptions||{},o=s.valuePrefix||i.valuePrefix||r.valuePrefix||"",n=s.valueSuffix||i.valueSuffix||r.valueSuffix||"",a=v(t,t[void 0!==t.value?"value":"y"]);return t.isNull?e.chart.langFormat("accessibility.series.nullPointValue",{point:t}):e.pointArrayMap?function(t,e,i){let s=e||"",r=i||"",o=function(e){let i=v(t,b(t[e],t.options[e]));return void 0!==i?e+": "+s+i+r:i};return t.series.pointArrayMap.reduce((function(t,e){let i=o(e);return i?t+(t.length?", ":"")+i:t}),"")}(t,o,n):o+a+n}(t),separator:o?", ":""},i)}(t),r=t.options&&t.options.accessibility&&t.options.accessibility.description,n=i?" "+e.name+".":"",a=function(t){let e=t.series.chart,i=o(t);return i.length?e.langFormat("accessibility.series.pointAnnotationsDescription",{point:t,annotations:i}):""}(t);return t.accessibility=t.accessibility||{},t.accessibility.valueDescription=s,s+(r?" "+r:"")+n+(a?" "+a:"")}function C(t){let e=t.chart,i=e.types||[],s=function(t){let e=(t.options.accessibility||{}).description;return e&&t.chart.langFormat("accessibility.series.description",{description:e,series:t})||""}(t),r=function(i){return e[i]&&e[i].length>1&&t[i]},o=t.index+1,n=w(t,"xAxis"),a=w(t,"yAxis"),l={seriesNumber:o,series:t,chart:e},h=i.length>1?"Combination":"",d=e.langFormat("accessibility.series.summary."+t.type+h,l)||e.langFormat("accessibility.series.summary.default"+h,l),p=(r("yAxis")?" "+a+".":"")+(r("xAxis")?" "+n+".":"");return c(b(t.options.accessibility&&t.options.accessibility.descriptionFormat,e.options.accessibility.series.descriptionFormat,""),{seriesDescription:d,authorDescription:s?" "+s:"",axisDescription:p,series:t,chart:e,seriesNumber:o},void 0)}return{defaultPointDescriptionFormatter:k,defaultSeriesDescriptionFormatter:C,describeSeries:function(t){let e=t.chart,i=a(t),s=l(t),r=e.is3d&&e.is3d();s&&(s.lastChild!==i||r||p(s),function(t){let e=function(t){let e=t.options.accessibility||{};return!x(t)&&!e.exposeAsGroupOnly}(t),i=function(t){let e=t.chart.options.accessibility.keyboardNavigation.seriesNavigation;return!(!t.points||!(t.points.length<+e.pointNavigationEnabledThreshold||!1===e.pointNavigationEnabledThreshold))}(t),s=t.chart.options.accessibility.point.describeNull;(e||i)&&t.points.forEach((i=>{let r=i.graphic&&i.graphic.element||function(t){let e=t.series,i=e&&e.chart,s=e&&e.is("sunburst"),r=t.isNull,o=i&&i.options.accessibility.point.describeNull;return r&&!s&&o}(i)&&function(t){let e=t.series,i=function(t){let e=t.index;return t.series&&t.series.data&&y(e)&&g(t.series.data,(function(t){return!!(t&&void 0!==t.index&&t.index>e&&t.graphic&&t.graphic.element)}))||null}(t),s=i&&i.graphic,r=s?s.parentGroup:e.graph||e.group,o=function(t,e){let i=t.series.chart.renderer.rect(e.x,e.y,1,1);return i.attr({class:"highcharts-a11y-mock-point",fill:"none",opacity:0,"fill-opacity":0,"stroke-opacity":0}),i}(t,i?{x:b(t.plotX,i.plotX,0),y:b(t.plotY,i.plotY,0)}:{x:b(t.plotX,0),y:b(t.plotY,0)});if(r&&r.element)return t.graphic=o,t.hasMockGraphic=!0,o.add(r),r.element.insertBefore(o.element,s?s.element:null),o.element}(i),o=i.options&&i.options.accessibility&&!1===i.options.accessibility.enabled;if(r){if(i.isNull&&!s)return void r.setAttribute("aria-hidden",!0);r.setAttribute("tabindex","-1"),t.chart.styledMode||(r.style.outline="none"),e&&!o?function(t,e){let i=t.series,s=i.options.accessibility?.point||{},r=i.chart.options.accessibility.point||{},o=u(m(s.descriptionFormat)&&c(s.descriptionFormat,t,i.chart)||s.descriptionFormatter?.(t)||m(r.descriptionFormat)&&c(r.descriptionFormat,t,i.chart)||r.descriptionFormatter?.(t)||k(t),i.chart.renderer.forExport);e.setAttribute("role","img"),e.setAttribute("aria-label",o)}(i,r):r.setAttribute("aria-hidden",!0)}}))}(t),h(e,s),function(t){let e=t.chart,i=e.options.chart,s=i.options3d&&i.options3d.enabled,r=e.series.length>1,o=e.options.accessibility.series.describeSingleSeries,n=(t.options.accessibility||{}).exposeAsGroupOnly;return!(s&&r)&&(r||o||n||x(t))}(t)?function(t,e){let i=t.options.accessibility||{},s=t.chart.options.accessibility,r=s.landmarkVerbosity;i.exposeAsGroupOnly?e.setAttribute("role","img"):"all"===r?e.setAttribute("role","region"):e.setAttribute("role","group"),e.setAttribute("tabindex","-1"),t.chart.styledMode||(e.style.outline="none"),e.setAttribute("aria-label",u(s.series.descriptionFormatter&&s.series.descriptionFormatter(t)||C(t),t.chart.renderer.forExport))}(t,s):s.removeAttribute("aria-label"))}}})),i(e,"Accessibility/Components/SeriesComponent/NewDataAnnouncer.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],(function(t,e,i,s,r,o){let{composed:n}=t,{addEvent:a,defined:l,pushUnique:h}=e,{getChartTitle:c}=s,{defaultPointDescriptionFormatter:d,defaultSeriesDescriptionFormatter:p}=o;function u(t){return!!t.options.accessibility.announceNewData.enabled}class g{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 r,this.announcer=new i(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){u(this.chart)&&(this.dirty.hasDirty=!0,this.dirty.allSeries[t.name+t.index]=t,this.dirty.newSeries=l(this.dirty.newSeries)?void 0:t)}announceDirtyData(){let t=this.chart,e=this;if(t.options.accessibility.announceNewData&&this.dirty.hasDirty){let t=this.dirty.newPoint;t&&(t=function(t){let e=t.series.data.filter((e=>t.x===e.x&&t.y===e.y));return 1===e.length?e[0]:t}(t)),this.queueAnnouncement(Object.keys(this.dirty.allSeries).map((t=>e.dirty.allSeries[t])),this.dirty.newSeries,t),this.dirty={allSeries:{}}}}queueAnnouncement(t,e,i){let s=this.chart.options.accessibility.announceNewData;if(s.enabled){let r=+new Date,o=r-this.lastAnnouncementTime,n=Math.max(0,s.minAnnounceInterval-o),a=function(t,e){let i=(t||[]).concat(e||[]).reduce(((t,e)=>(t[e.name+e.index]=e,t)),{});return Object.keys(i).map((t=>i[t]))}(this.queuedAnnouncement&&this.queuedAnnouncement.series,t),l=this.buildAnnouncementMessage(a,e,i);l&&(this.queuedAnnouncement&&clearTimeout(this.queuedAnnouncementTimer),this.queuedAnnouncement={time:r,message:l,series:a},this.queuedAnnouncementTimer=setTimeout((()=>{this&&this.announcer&&(this.lastAnnouncementTime=+new Date,this.announcer.announce(this.queuedAnnouncement.message),delete this.queuedAnnouncement,delete this.queuedAnnouncementTimer)}),n))}}buildAnnouncementMessage(e,i,s){let r=this.chart,o=r.options.accessibility.announceNewData;if(o.announcementFormatter){let t=o.announcementFormatter(e,i,s);if(!1!==t)return t.length?t:null}let n=t.charts&&t.charts.length>1?"Multiple":"Single",a=i?"newSeriesAnnounce"+n:s?"newPointAnnounce"+n:"newDataAnnounce",l=c(r);return r.langFormat("accessibility.announceNewData."+a,{chartTitle:l,seriesDesc:i?p(i):null,pointDesc:s?d(s):null,point:s,series:i})}}return function(t){function e(t){let e=this.chart,i=e.accessibility?.components.series.newDataAnnouncer;i&&i.chart===e&&u(e)&&(i.dirty.newPoint=l(i.dirty.newPoint)?void 0:t.point)}function i(){let t=this.chart,e=t.accessibility?.components.series.newDataAnnouncer;e&&e.chart===t&&u(t)&&(e.dirty.hasDirty=!0,e.dirty.allSeries[this.name+this.index]=this)}t.compose=function(t){h(n,"A11y.NDA")&&(a(t,"addPoint",e),a(t,"updatedData",i))}}(g||(g={})),g})),i(e,"Accessibility/ProxyElement.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/EventProvider.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"]],(function(t,e,i,s,r){let{doc:o}=t,{attr:n,css:a,merge:l}=e,{fireEventOnWrappedOrUnwrappedElement:h}=s,{cloneMouseEvent:c,cloneTouchEvent:d,getFakeMouseEvent:p,removeElement:u}=r;return class{constructor(t,e,s="button",r,n){this.chart=t,this.target=e,this.eventProvider=new i;let a=this.innerElement=o.createElement(s),l=this.element=r?o.createElement(r):a;t.styledMode||this.hideElementVisually(a),r&&("li"!==r||t.styledMode||(l.style.listStyle="none"),l.appendChild(a),this.element=l),this.updateTarget(e,n)}click(){let t=this.getTargetPosition();t.x+=t.width/2,t.y+=t.height/2;let e=p("click",t);h(this.target.click,e)}updateTarget(t,e){this.target=t,this.updateCSSClassName();let i=e||{};Object.keys(i).forEach((t=>{null===i[t]&&delete i[t]}));let s=this.getTargetAttr(t.click,"aria-label");n(this.innerElement,l(s?{"aria-label":s}:{},i)),this.eventProvider.removeAddedEvents(),this.addProxyEventsToElement(this.innerElement,t.click),this.refreshPosition()}refreshPosition(){let t=this.getTargetPosition();a(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(),u(this.element)}updateCSSClassName(){let t=t=>t.indexOf("highcharts-no-tooltip")>-1,e=this.chart.legend,i=e.group&&e.group.div,s=t(i&&i.className||""),r=t(this.getTargetAttr(this.target.click,"class")||"");this.innerElement.className=s||r?"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?d(t):c(t);e&&h(e,i),t.stopPropagation(),s||t.preventDefault()}),{passive:!1})}))}hideElementVisually(t){a(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,r=this.chart.pointer;if(s&&i?.getBoundingClientRect&&r){let t=i.getBoundingClientRect(),e=r.getChartPosition();return{x:(t.left-e.left)/e.scaleX,y:(t.top-e.top)/e.scaleY,width:t.right/e.scaleX-t.left/e.scaleX,height:t.bottom/e.scaleY-t.top/e.scaleY}}return{x:0,y:0,width:1,height:1}}getTargetAttr(t,e){return t.element?t.element.getAttribute(e):t.getAttribute(e)}}})),i(e,"Accessibility/ProxyProvider.js",[e["Core/Globals.js"],e["Core/Utilities.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/DOMElementProvider.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/ProxyElement.js"]],(function(t,e,i,s,r,o){let{doc:n}=t,{attr:a,css:l}=e,{unhideChartElementFromAT:h}=i,{removeChildNodes:c}=r;return class{constructor(t){this.chart=t,this.domElementProvider=new s,this.groups={},this.groupOrder=[],this.beforeChartProxyPosContainer=this.createProxyPosContainer("before"),this.afterChartProxyPosContainer=this.createProxyPosContainer("after"),this.update()}addProxyElement(t,e,i="button",s){let r=this.groups[t];if(!r)throw Error("ProxyProvider.addProxyElement: Invalid group key "+t);let n="ul"===r.type||"ol"===r.type?"li":void 0,a=new o(this.chart,e,i,n,s);return r.proxyContainerElement.appendChild(a.element),r.proxyElements.push(a),a}addGroup(t,e="div",i){let s,r=this.groups[t];if(r)return r.groupElement;let o=this.domElementProvider.createElement(e);return i&&i.role&&"div"!==e?(s=this.domElementProvider.createElement("div")).appendChild(o):s=o,s.className="highcharts-a11y-proxy-group highcharts-a11y-proxy-group-"+t.replace(/\W/g,"-"),this.groups[t]={proxyContainerElement:o,groupElement:s,type:e,proxyElements:[]},a(s,i||{}),"ul"===e&&o.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);a(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):[],r=n.activeElement;["before","after"].forEach((t=>{let e=this["before"===t?"beforeChartProxyPosContainer":"afterChartProxyPosContainer"];c(e),("before"===t?i:s).forEach((t=>{let i=this.groups[t];i&&e.appendChild(i.groupElement)}))})),(this.beforeChartProxyPosContainer.contains(r)||this.afterChartProxyPosContainer.contains(r))&&r&&r.focus&&r.focus()}clearGroup(t){let e=this.groups[t];if(!e)throw Error("ProxyProvider.clearGroup: Invalid group key "+t);c(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:""),l(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],r=this.groups[s];if(r&&t===r.groupElement)return s}},e=e=>{let i=[],s=e.children;for(let e=0;e"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),h(this.chart,this.afterChartProxyPosContainer),h(this.chart,this.beforeChartProxyPosContainer)}}})),i(e,"Accessibility/Components/RangeSelectorComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/Announcer.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{unhideChartElementFromAT:o,getAxisRangeDescription:n}=i,{addEvent:a,attr:l}=r;class h extends t{init(){let t=this.chart;this.announcer=new e(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,r){let n=i[s];n&&(o(t,n),e.setRangeInputAttrs(n,"accessibility.rangeSelector."+(r?"max":"min")+"InputLabel"))})))}updateSelectorVisibility(){let t=this.chart,e=t.rangeSelector,i=e&&e.dropdown,s=e&&e.buttons||[],r=t=>t.setAttribute("aria-hidden",!0);e&&e.hasVisibleDropdown&&i?(o(t,i),s.forEach((t=>r(t.element)))):(i&&r(i),s.forEach((e=>o(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){l(t.element,{tabindex:-1,role:"button"})}setRangeInputAttrs(t,e){let i=this.chart;l(t,{tabindex:-1,"aria-label":i.langFormat(e,{chart:i})})}onButtonNavKbdArrowKey(t,e){let i=t.response,s=this.keyCodes,r=this.chart,o=r.options.accessibility.keyboardNavigation.wrapAround,n=e===s.left||e===s.up?-1:1;return r.highlightRangeSelectorButton(r.highlightedRangeSelectorItemIx+n)?i.success:o?(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=n(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"],r=i[s?"maxInput":"minInput"];t&&r&&e.setFocusToElement(t,r)}return!0}onInputNavInit(t){let e=this,i=this.chart,s=t>0?0:1,r=i.rangeSelector,o=r&&r[s?"maxDateBox":"minDateBox"],n=r&&r.minInput,l=r&&r.maxInput;if(i.highlightedInputRangeIx=s,o&&n&&l){i.setFocusToElement(o,s?l: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())},r=a(n,"keydown",t),h=a(l,"keydown",t);this.removeInputKeydownHandler=()=>{r(),h()}}}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=a(i,"keydown",(e=>{let i=(e.which||e.keyCode)===this.keyCodes.tab,s=t.accessibility;i&&(e.preventDefault(),e.stopPropagation(),s&&(s.keyboardNavigation.tabindexContainer.focus(),s.keyboardNavigation.move(e.shiftKey?-1:1)))})))}getRangeSelectorButtonNavigation(){let t=this.chart,e=this.keyCodes,i=this;return new s(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 s(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()}}return function(t){function e(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 i(){let t=this.chart.accessibility;if(t&&t.components.rangeSelector)return t.components.rangeSelector.onAfterBtnClick()}t.compose=function(t,s){let r=t.prototype;r.highlightRangeSelectorButton||(r.highlightRangeSelectorButton=e,a(s,"afterBtnClick",i))}}(h||(h={})),h})),i(e,"Accessibility/Components/SeriesComponent/ForcedMarkers.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],(function(t,e){var i;let{composed:s}=t,{addEvent:r,merge:o,pushUnique:n}=e;return function(t){function e(t){o(!0,t,{marker:{enabled:!0,states:{normal:{opacity:0}}}})}function i(t){return t.marker.states&&t.marker.states.normal&&t.marker.states.normal.opacity}function a(t){return!!(t._hasPointMarkers&&t.points&&t.points.length)}function l(){this.chart.styledMode&&(this.markerGroup&&this.markerGroup[this.a11yMarkersForced?"addClass":"removeClass"]("highcharts-a11y-markers-hidden"),a(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 h(t){this.resetA11yMarkerOptions=o(t.options.marker||{},this.userOptions.marker||{})}function c(){let t=this.options;!function(t){let e=t.chart.options.accessibility.enabled,i=!1!==(t.options.accessibility&&t.options.accessibility.enabled);return e&&i&&function(t){let e=t.chart.options.accessibility;return t.points.length-1;s.highlightedPoint===this&&e!==t&&!r&&t&&t.focus&&t.focus()}))}onDrillupAll(){let t,e=this.lastDrilledDownPoint,i=this.chart,s=e&&u(i,e.seriesName);e&&s&&c(e.x)&&c(e.y)&&(t=p(s,e.x,e.y)),t=t||y(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 o(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:r=0,plotY:o=0}=s;e={...e,chartX:t+r,chartY:i+o,point:s,target:s.graphic?.element||e.target},d(s.series,"click",e),s.firePointEvent("click",e)}return this.response.success}],[[e.home],function(){return v(i),this.response.success}],[[e.end],function(){return x(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!!y(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():v(e),t.response.success}onKbdVertical(t,e){let i=this.chart,s=this.keyCodes,r=e===s.down||e===s.right,o=i.options.accessibility.keyboardNavigation.seriesNavigation;return o.mode&&"serialize"===o.mode?this.attemptHighlightAdjacentPoint(t,r):(i[i.highlightedPoint&&i.highlightedPoint.series.keyboardMoveVertical?"highlightAdjacentPointVertical":"highlightAdjacentSeries"](r),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?v(i):x(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()}}return function(t){function e(t){let e,i,s=this.series,r=this.highlightedPoint,o=r&&f(r)||0,n=r&&r.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(r){if(e=s[r.series.index+(t?1:-1)],(i=n[o+(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 b(i)?(m(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,i=this.highlightedPoint,s=1/0;return!(!c(i.plotX)||!c(i.plotY))&&(this.series.forEach((r=>{m(r)||r.points.forEach((o=>{if(!c(o.plotY)||!c(o.plotX)||o===i)return;let n=o.plotY-i.plotY,a=Math.abs(o.plotX-i.plotX),l=Math.abs(n)*Math.abs(n)+a*a*4;r.yAxis&&r.yAxis.reversed&&(n*=-1),!(n<=0&&t||n>=0&&!t||l<5||b(o))&&l!(c(t.plotX)&&c(t.plotY));if(!h(t)){for(;l--;)!h(r=e.points[l])&&(n=(t.plotX-r.plotX)*(t.plotX-r.plotX)*4+(t.plotY-r.plotY)*(t.plotY-r.plotY)*1)=0;--t)if(!b(i[t]))return i[t].highlight()}return!1}t.compose=function(t,n,a){let h=t.prototype,c=n.prototype,d=a.prototype;h.highlightAdjacentPoint||(h.highlightAdjacentPoint=e,h.highlightAdjacentPointVertical=i,h.highlightAdjacentSeries=s,c.highlight=r,d.keyboardMoveVertical=!0,["column","gantt","pie"].forEach((t=>{l[t]&&(l[t].prototype.keyboardMoveVertical=!1)})),d.highlightNextValidPoint=o)}}(w||(w={})),w})),i(e,"Accessibility/Components/SeriesComponent/SeriesComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Components/SeriesComponent/ForcedMarkers.js"],e["Accessibility/Components/SeriesComponent/NewDataAnnouncer.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"],e["Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js"]],(function(t,e,i,s,r,o){let{hideSeriesFromAT:n}=e,{describeSeries:a}=r;return class extends t{static compose(t,e,r){s.compose(r),i.compose(r),o.compose(t,e,r)}init(){this.newDataAnnouncer=new s(this.chart),this.newDataAnnouncer.init(),this.keyboardNavigation=new o(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.forEach((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?a(t):n(t)}))}getKeyboardNavigation(){return this.keyboardNavigation.getKeyboardNavigationHandler()}destroy(){this.newDataAnnouncer.destroy(),this.keyboardNavigation.destroy()}}})),i(e,"Accessibility/Components/ZoomComponent.js",[e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Core/Utilities.js"]],(function(t,e,i,s,r){let{unhideChartElementFromAT:o}=e,{getFakeMouseEvent:n}=i,{attr:a,pick:l}=r;return class extends t{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)=>{o(t,i.element),e.setMapNavButtonAttrs(i.element,"accessibility.zoom.mapZoom"+(s?"Out":"In"))}))}setMapNavButtonAttrs(t,e){let i=this.chart;a(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 s(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,r=i.container,o=e===s.up||e===s.down,a=e===s.left||e===s.up?1:-1,l=(o?i.plotHeight:i.plotWidth)/10*a,h=10*Math.random(),c={x:r.offsetLeft+i.plotLeft+i.plotWidth/2+h,y:r.offsetTop+i.plotTop+i.plotHeight/2+h},d=o?{x:c.x,y:c.y+l}:{x:c.x+l,y:c.y};return[n("mousedown",c),n("mousemove",d),n("mouseup",d)].forEach((t=>r.dispatchEvent(t))),t.response.success}onMapKbdTab(t,e){let i=this.chart,s=t.response,r=e.shiftKey,o=r&&!this.focusedMapNavButtonIx||!r&&this.focusedMapNavButtonIx;if(i.mapNavigation.navButtons[this.focusedMapNavButtonIx].setState(0),o)return i.mapView&&i.mapView.zoomBy(),s[r?"prev":"next"];this.focusedMapNavButtonIx+=r?-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],r=t>0?i:s;e.setFocusToElement(r.box,r.element),r.setState(2),this.focusedMapNavButtonIx=t>0?0:1}simpleButtonNavigation(t,e,i){let r=this.keyCodes,o=this,n=this.chart;return new s(n,{keyCodeMap:[[[r.tab,r.up,r.down,r.left,r.right],function(t,e){let i=t===r.tab&&e.shiftKey||t===r.left||t===r.up;return this.response[i?"prev":"next"]}],[[r.space,r.enter],function(){return l(i(this,n),this.response.success)}]],validate:function(){return n[t]&&n[t].box&&o[e].innerElement},init:function(){n.setFocusToElement(n[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()]}}})),i(e,"Accessibility/HighContrastMode.js",[e["Core/Globals.js"]],(function(t){let{doc:e,isMS:i,win:s}=t;return{isHighContrastModeActive:function(){let t=/(Edg)/.test(s.navigator.userAgent);if(s.matchMedia&&t)return s.matchMedia("(-ms-high-contrast: active)").matches;if(i&&s.getComputedStyle){let t=e.createElement("div");t.style.backgroundImage="url(data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)",e.body.appendChild(t);let i=(t.currentStyle||s.getComputedStyle(t)).backgroundImage;return e.body.removeChild(t),"none"===i}return s.matchMedia&&s.matchMedia("(forced-colors: active)").matches},setHighContrastTheme:function(t){t.highContrastModeActive=!0;let e=t.options.accessibility.highContrastTheme;t.update(e,!1);let i=e.colors?.length>1;t.series.forEach((function(t){let s=e.plotOptions[t.type]||{},r=i&&void 0!==t.colorIndex?e.colors[t.colorIndex]:s.color||"window",o={color:s.color||"windowText",colors:i?e.colors:[s.color||"windowText"],borderColor:s.borderColor||"window",fillColor:r};t.update(o,!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()}}})),i(e,"Accessibility/HighContrastTheme.js",[],(function(){return{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"}}})),i(e,"Accessibility/Options/A11yDefaults.js",[],(function(){return{accessibility:{enabled:!0,screenReaderSection:{beforeChartFormat:"<{headingTagName}>{chartTitle}
    {typeDescription}
    {chartSubtitle}
    {chartLongdesc}
    {playAsSoundButton}
    {viewTableButton}
    {xAxisDescription}
    {yAxisDescription}
    {annotationsTitle}{annotationsList}
    ",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:!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}}}})),i(e,"Accessibility/Options/LangDefaults.js",[],(function(){return{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}"},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}"},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} categories."},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}"}}}})),i(e,"Accessibility/Options/DeprecatedOptions.js",[e["Core/Utilities.js"]],(function(t){let{error:e,pick:i}=t;function s(t,e,s){let r,o=t,n=0;for(;n"series"!==t))):Object.keys(this.components):[]}update(){let t=this.components,e=this.chart,i=e.options.accessibility;M(e,"beforeA11yUpdate"),e.types=this.getChartTypes();let s=i.keyboardNavigation.order;this.proxyProvider.updateGroupOrder(s),this.getComponentOrder().forEach((function(i){t[i].onChartUpdate(),M(e,"afterA11yComponentUpdate",{name:i,component:t[i]})})),this.keyboardNavigation.update(s),!e.highContrastModeActive&&!1!==i.highContrastMode&&(b.isHighContrastModeActive()||!0===i.highContrastMode)&&b.setHighContrastTheme(e),M(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&&T(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)}}return 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),P(!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;i&&i.enabled?e&&!e.zombie?e.update():(this.accessibility=e=new t(this),e&&!e.zombie&&e.update()):e?(e.destroy&&e.destroy(),delete this.accessibility):this.renderTo.setAttribute("aria-hidden",!0)}function a(){this.series.chart.accessibility&&(this.series.chart.a11yDirty=!0)}t.i18nFormat=r.i18nFormat,t.compose=function(t,d,u,m,b,y){l.compose(t),p.compose(m),h.compose(t,d),c.compose(t),f.compose(t,u,m),r.compose(t),n.compose(t,b),y&&g.compose(t,y);let x=t.prototype;x.updateA11yEnabled||(x.updateA11yEnabled=o,S(t,"destroy",e),S(t,"render",i),S(t,"update",s),["addSeries","init"].forEach((e=>{S(t,e,(function(){this.a11yDirty=!0}))})),["afterApplyDrilldown","drillupall"].forEach((e=>{S(t,e,(function(){let t=this.accessibility;t&&!t.zombie&&t.update()}))})),S(u,"update",a),["update","updatedData","remove"].forEach((t=>{S(m,t,(function(){this.chart.accessibility&&(this.chart.a11yDirty=!0)}))})))}}(E||(E={})),P(!0,k,x,{accessibility:{highContrastTheme:y},lang:v}),E})),i(e,"masters/modules/accessibility.src.js",[e["Core/Globals.js"],e["Accessibility/Accessibility.js"],e["Accessibility/AccessibilityComponent.js"],e["Accessibility/Utils/ChartUtilities.js"],e["Accessibility/Utils/HTMLUtilities.js"],e["Accessibility/KeyboardNavigationHandler.js"],e["Accessibility/Components/SeriesComponent/SeriesDescriber.js"]],(function(t,e,i,s,r,o,n){return t.i18nFormat=e.i18nFormat,t.A11yChartUtilities=s,t.A11yHTMLUtilities=r,t.AccessibilityComponent=i,t.KeyboardNavigationHandler=o,t.SeriesAccessibilityDescriber=n,e.compose(t.Chart,t.Legend,t.Point,t.Series,t.SVGElement,t.RangeSelector),t}))}))}(Gi);var Wi=Ni(Gi.exports);Xi(Fi),Wi(Fi);var Yi=Be('
    '),Ui=Be('
    '),qi=Be('
    ',1);function Vi(t,e){me(e,!1);const i=hi(),s=()=>li(wi,"$responses",i),r=()=>li(ki,"$current",i),o=()=>li(vi,"$questions",i);let n={};function a(t){s().push({response:t.detail.answer,confidence:t.detail.confidence,fact:t.detail.fact,correct:t.detail.fact===t.detail.answer,hinted:t.detail.hinted}),function(t,e,i=1){t.set(e+i)}(ki,r())}gi((()=>{var t;t=function(){let t=[];for(var e=55;e<=95;e+=10){var i=0,r=0;s().forEach((t=>{t.confidence===e&&(i+=1,r+=t.correct?1:0)})),t.push({x:e,high:e,low:0===i?e:r/i*100,y:i,total:i})}return t}(),n.series[0].setData(t),n.series[3].setData(t)})),di((async()=>{fetch("questions.json").then((t=>t.json())).then((t=>{vi.set(t.map((t=>{var[e,i]=Object.keys(t.options);return t.k1=e,t.k2=i,t.o1=t.options[e],t.o2=t.options[i],t})).map((t=>({value:t,sort:Math.random()}))).sort(((t,e)=>t.sort-e.sort)).map((({value:t})=>t)))})).catch((t=>(console.log(t),[]))),n=Fi.chart("container",{chart:{type:"areasplinerange",zoomType:"x",alignTicks:!1,sytle:{display:"block; overflow-y: hidden;"}},plotOptions:{series:{states:{hover:{enabled:!1}}}},credits:{enabled:!1},title:{text:""},xAxis:{type:"linear",tickPositions:[55,65,75,85,95],labels:{style:{color:"#"}},title:{text:"reported confidence"}},yAxis:[{min:55,max:95,labels:{style:{color:"#"}},title:{text:"% correct"}},{min:0,max:20,title:null,opposite:!0,lineWidth:0,minorGridLineWidth:0,gridLineColor:"transparent",labels:{enabled:!1}}],tooltip:{crosshairs:!0,shared:!0,style:{color:"#"},formatter(){var t;if(this.points.forEach((function(e){"confidence"===e.series.name&&(t=e.point)})),t){var e=t.high-t.low;return t.total&&0!==t.total?0===e?"perfectly confident!":(e>0?"over":"under")+"confident by "+Math.round(Math.abs(t.high-t.low))+" % points
    ":"no answers"}}},legend:{enabled:!1,itemStyle:{fontSize:"10px",fontWeight:"normal"}},series:[{marker:{enabled:!1},name:"confidence",fillOpacity:.1,showInLegend:!1,data:[[55,55,55],[65,65,65],[75,75,75],[85,85,85],[95,95,95]]},{name:"underconfident",fillOpacity:.2,color:"#ADD8E6",data:[[55,55,100],[65,65,100],[75,75,100],[85,85,100],[95,95,100]]},{name:"overconfident",fillOpacity:.2,color:"#FF9900",data:[[55,0,55],[65,0,65],[75,0,75],[85,0,85],[95,0,95]]},{name:"#answers",type:"spline",yAxis:1,data:[],tooltip:{valueSuffix:" mm"},marker:{enabled:!1},dashStyle:"shortdot"}]})})),ti();var l=qi(),h=Te(l);Oi(h);var c=Pe(Ee(h,2));We(c,1,o,Ge,((t,e,i)=>{var s=Re();He(Te(s),(()=>r()===i),(t=>{var i=Yi();!function(t,e){me(e,!1);let i=ni(e,"question",8);const s=ui(),r=(t,e,i,r)=>{s("answer",{fact:t,answer:e,confidence:i,hinted:r})};ti();var o=Si(),n=Pe(o),a=Pe(n),l=Pe(a),h=Pe(Ee(a,2)),c=Pe(h),d=Ee(h,2),p=Pe(d),u=Q((()=>r(i().fact,i().k1,95,!1))),g=Ee(p,2),f=Q((()=>r(i().fact,i().k1,85,!1))),m=Ee(g,2),b=Q((()=>r(i().fact,i().k1,75,!1))),y=Ee(m,2),x=Q((()=>r(i().fact,i().k1,65,!1))),v=Ee(y,2),w=Q((()=>r(i().fact,i().k1,55,!1))),k=Ee(v,2),C=Q((()=>r(i().fact,i().k2,55,!1))),S=Ee(k,2),A=Q((()=>r(i().fact,i().k2,65,!1))),M=Ee(S,2),P=Q((()=>r(i().fact,i().k2,75,!1))),T=Ee(M,2),E=Q((()=>r(i().fact,i().k2,85,!1))),L=Ee(T,2),D=Q((()=>r(i().fact,i().k2,95,!1))),O=Pe(Ee(d,2));ut((()=>{Fe(l,i().text),Fe(c,i().o1.name),Fe(O,i().o2.name)})),Oe("click",p,Qe((function(...t){pe(u)?.apply(this,t)}))),Oe("click",g,Qe((function(...t){pe(f)?.apply(this,t)}))),Oe("click",m,Qe((function(...t){pe(b)?.apply(this,t)}))),Oe("click",y,Qe((function(...t){pe(x)?.apply(this,t)}))),Oe("click",v,Qe((function(...t){pe(w)?.apply(this,t)}))),Oe("click",k,Qe((function(...t){pe(C)?.apply(this,t)}))),Oe("click",S,Qe((function(...t){pe(A)?.apply(this,t)}))),Oe("click",M,Qe((function(...t){pe(P)?.apply(this,t)}))),Oe("click",T,Qe((function(...t){pe(E)?.apply(this,t)}))),Oe("click",L,Qe((function(...t){pe(D)?.apply(this,t)}))),ze(t,o),be()}(Pe(i),{get question(){return pe(e)},$$events:{answer:a}}),ze(t,i)})),ze(t,s)})),He(Ee(c,4),(()=>r()>0),(t=>{var e=Ui();!function(t,e){me(e,!1);let i=ni(e,"question",8),s=ni(e,"response",8);ti();var r=Pi(),o=Pe(r),n=Ee(Pe(o),2);He(n,(()=>s().correct),(t=>{ze(t,Ai())}),(t=>{ze(t,Mi())}));var a=Ee(n,2);const l=tt((()=>i().options[Object.keys(i().options)[0]].name??"")),h=tt((()=>i().options[Object.keys(i().options)[0]].text??""));var c=Pe(a);ut((()=>Fe(c,`${pe(l)}: ${pe(h)}`)));var d=Ee(a,2);const p=tt((()=>i().options[Object.keys(i().options)[1]].name??"")),u=tt((()=>i().options[Object.keys(i().options)[1]].text??""));var g=Pe(d);ut((()=>Fe(g,`${pe(p)}: ${pe(u)}`))),ze(t,r),be()}(Pe(e),{get question(){return o()[r()-1]},get response(){return s()[r()-1]}}),ze(t,e)})),ze(t,l),be()}var _i=Be('
    ');function Ki(t,e){let i=ni(e,"title",8),s=ni(e,"x",8),r=ni(e,"y",8);var o=_i(),n=Pe(o);ut((()=>{Ze(o,"style",`top: ${r()+5??""}px; left: ${s()+5??""}px;`),Fe(n,i())})),ze(t,o)}function $i(t){let e,i;function s(s){e=t.getAttribute("title"),t.removeAttribute("title"),i=new Ki({props:{title:e,x:s.pageX,y:s.pageY},target:document.body})}function r(t){i.$set({x:t.pageX,y:t.pageY})}function o(){i.$destroy(),t.setAttribute("title",e)}return t.addEventListener("mouseover",s),t.addEventListener("mouseleave",o),t.addEventListener("mousemove",r),{destroy(){t.removeEventListener("mouseover",s),t.removeEventListener("mouseleave",o),t.removeEventListener("mousemove",r)}}}var Zi=Be("");function Ji(t,e){me(e,!1);const i=hi(),s=()=>li(Ci,"$citations",i);let r=ni(e,"id",8,"");const o=s().find((t=>t.id===r())),n=s().indexOf(o)+1;ti();var a=Zi();a.textContent=n,ut((()=>Ze(a,"title",o.id))),$e(a,(t=>$i(t))),ze(t,a),be()}var Qi=Be('
    '),ts=Be('

    We are terrible guessers.

    \'Guessing\' here refers to a properly calibrated probability estimate. If we were to guess the gross domestic earnings of The Goonies, the answer would probably be wrong, not through personal faults, but because the question tests exact domain knowledge. Rephrasing the question:

    “What are your high and low estimates for the gross domestic earnings of the The Goonies? What interval estimate of confidence would you give this range?”

    The answer might be:

    “Between $100,000 to $100,000,000, inclusive, with 90% confidence.”[note]

    Given enough data points in a sufficiently ideal world, the estimated confidence interval would match observed accuracy. In other words, the range estimates given with 90% confidence should be correct 90% of the time. This changes the exercise from a measurement of trivia knowledge to a measurement of ability to gauge uncertainty. However, that\'s rarely the case and we habitually estimate with overconfidence. What we know is about 10-35 percentage points less than what we think we know.

    Researchers have explored the limits and prejudices of probability estimates, and have a few theories on potential causes.

    • Anchoring: the wording and structure of the questions can decrease epistemic accuracy by up to 53 percentage points.
    • Pattern-seeking habits of humans create the illusion of signal where there is only noisy data.
    • Prospect theory: small probabilities are overweighed, especially when attached to high-consequence events.
    • Our educational training emphasizes algebra and calculus as the end goals, not probability and statistics.
    • We ignore prior probabilities.
    • Many social and professional systems reward overconfidence.
    • In situations determined primarily by chance, we often build narratives[note] to coherently explain the events, giving the illusion of control. E.g., market fluctuations due to labor reports, portfolio performance due to investment strategies or combat effectiveness predicted by training exercises[note].

    These biases are to estimation as optical illusions are to psychometrics, where a simple change of the problem context causes a predictable change in the perceived reality. In general, humans have a very troubled relationship with uncertainty. We don\'t understand it instinctually, we don\'t communicate it well and we\'re willing to pay , to avoid it.

    Even if we don\'t live in a region with legalized gambling or work in a forecasting profession, everyday failures of estimation hurt our quality of life, whether due to inaccurate project estimates, poor investments or being late to the next appointment. We make decisions based on uncertainty and imperfect knowledge, knowing much less than we think we know. As far as ubiquitous problems of human existence, it\'s right up there with communicable disease[note].

    More importantly, inability to accurately estimate closes the door to powerful tools of probabilistic thinking. With accurate prior probabilities, Bayesian prediction avoids the nuances of frequentist statistics, while allowing our mental model to adapt as the facts change. It\'s something which the Army and Air Force train, and M.D.s understand through years of experience,. Along with the distance-rate-time equation, time-value equation and logical equalities, Bayes\' Theorem is one of the those unreasonably effective structures of math, which internalizing will vastly improve our thinking.

    Overconfidence follows a predictable pattern. Overconfidence is common for difficult assessments (although slightly less for true/false tests(p64.)). In some cases, very easy questions inspire underconfidence. Two simple calibration techniques can help to correct this:
    • Consider the reasons why the judgment might be wrong (p228.).
    • Range estimates can reduce the anchoring effect of a point estimate, particularly by working towards a narrow range from an absurdly large range(p64-5.).
    Things that don\'t fix overconfidence:
    • More information. Paradoxically, providing more information to the problem increases one\'s confidence in the answer, but not accuracy,.

    Most importantly, feedback and iterative practice allow us to improve our estimation techniques. That\'s where this project comes in. The page will give instant feedback on your progress. When choosing your confidence level, 95% confidence indicates almost certainty of the correct answer. 55% is almost a toss-up. The line on the chart shows perfect confidence calibration. Anything above the line is underconfidence (e.g., we thought we\'d be correct 75% of the time, but actually we were correct more often). Anything below the line is overconfidence.

    probability distribution

    Start Guessing

    The more questions have been answered, the more reliable the results will be.

    Prior (mostly defunct) Examples

    Sources

    ',1);function es(t){const e=hi();var i=ts(),s=Te(i);Oi(s);var r=Pe(Ee(s,2)),o=Ee(Pe(r),5),n=Pe(o),a=Ee(Pe(n)),l=Ee(o,2),h=Ee(Pe(l));Ji(h,{id:"AlpertRaffia1982"}),Ji(Ee(h,2),{id:"LichtensteinEtAl1982"});var c=Ee(l,2);Ji(Ee(Pe(c)),{id:"Wilson1994"});var d=Ee(c),p=Pe(d);Ji(Ee(Pe(p),2),{id:"LichtensteinEtAl1982"});var u=Ee(p,2);Ji(Ee(Pe(u)),{id:"Silver2012"});var g=Ee(u,2);Ji(Ee(Pe(g),2),{id:"Plous1993"});var f=Ee(g,6);Ji(Ee(Pe(f)),{id:"RadzevickMoore2009"});var m=Ee(f,2),b=Ee(Pe(m)),y=Ee(b,2);Ji(y,{id:"Kahneman2011"});var x=Ee(y,2),v=Ee(d,2),w=Ee(Pe(v),3);Ji(w,{id:"Marx2013"});var k=Ee(w,2);Ji(k,{id:"Plous1993"}),Ji(Ee(k,2),{id:"Knight1921"});var C=Ee(v,2),S=Ee(Pe(C)),A=Ee(C,2),M=Ee(Pe(A));Ji(M,{id:"Jeffery2002"});var P=Ee(M,2);Ji(P,{id:"LichtensteinFischhoff1978"});var T=Ee(P,2);Ji(T,{id:"GunzelmannGluck2004"});var E=Ee(T,2);Ji(E,{id:"Gill2005"});var L=Ee(E,2);Ji(L,{id:"LindeyEtAl1979"}),Ji(Ee(L,10),{id:"McIntyre2007"});var D=Ee(A,2);Ji(D,{id:"Hubbard2010"});var O=Ee(D,3);Ji(O,{id:"LichtensteinEtAl1982"});var j=Ee(O,2),N=Pe(j);Ji(Ee(Pe(N)),{id:"Plous1993"});var I=Ee(N,2);Ji(Ee(Pe(I)),{id:"Hubbard2010"});var B=Ee(j,2),R=Pe(B),z=Ee(Pe(R));Ji(z,{id:"KassinFong1999"}),Ji(Ee(z,2),{id:"Oskamp1965"});var F=Ee(B,2);Ji(Ee(Pe(F)),{id:"LichtensteinEtAl1982"});var H=Ee(F,10),X=Ee(Pe(H),4);Ji(Ee(Pe(X),5),{id:"Plous1993"}),We(Ee(H,4),1,(()=>li(Ci,"$citations",e)),Ge,((t,e)=>{var i=Qi();_e(Pe(i),(()=>pe(e).text),!1,!1),ut((()=>Ze(i,"id",pe(e).id))),ze(t,i)})),$e(a,(t=>$i(t))),$e(b,(t=>$i(t))),$e(x,(t=>$i(t))),$e(S,(t=>$i(t))),ze(t,i)}function is(){const t=window.location.href.indexOf("#/");let e=t>-1?window.location.href.substr(t+1):"/";const i=e.indexOf("?");let s="";return i>-1&&(s=e.substr(i+1),e=e.substr(0,i)),{location:e,querystring:s}}const ss=bi(null,(function(t){t(is());const e=()=>{t(is())};return window.addEventListener("hashchange",e,!1),function(){window.removeEventListener("hashchange",e,!1)}}));xi(ss,(t=>t.location)),xi(ss,(t=>t.querystring));const rs=yi(void 0);function os(t,e){me(e,!1);let i=ni(e,"routes",24,(()=>({}))),s=ni(e,"prefix",8,""),r=ni(e,"restoreScrollState",8,!1);class o{constructor(t,e){if(!e||"function"!=typeof e&&("object"!=typeof e||!0!==e._sveltesparouter))throw Error("Invalid component object");if(!t||"string"==typeof t&&(t.length<1||"/"!=t.charAt(0)&&"*"!=t.charAt(0))||"object"==typeof t&&!(t instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:i,keys:s}=function(t,e){if(t instanceof RegExp)return{keys:!1,pattern:t};var i,s,r,o,n=[],a="",l=t.split("/");for(l[0]||l.shift();r=l.shift();)"*"===(i=r[0])?(n.push("wild"),a+="/(.*)"):":"===i?(s=r.indexOf("?",1),o=r.indexOf(".",1),n.push(r.substring(1,~s?s:~o?o:r.length)),a+=~s&&!~o?"(?:/([^/]+?))?":"/([^/]+?)",~o&&(a+=(~s?"?":"")+"\\"+r.substring(o))):a+="/"+r;return{keys:n,pattern:new RegExp("^"+a+(e?"(?=$|/)":"/?$"),"i")}}(t);this.path=t,"object"==typeof e&&!0===e._sveltesparouter?(this.component=e.component,this.conditions=e.conditions||[],this.userData=e.userData,this.props=e.props||{}):(this.component=()=>Promise.resolve(e),this.conditions=[],this.props={}),this._pattern=i,this._keys=s}match(t){if(s())if("string"==typeof s()){if(!t.startsWith(s()))return null;t=t.substr(s().length)||"/"}else if(s()instanceof RegExp){const e=t.match(s());if(!e||!e[0])return null;t=t.substr(e[0].length)||"/"}const e=this._pattern.exec(t);if(null===e)return null;if(!1===this._keys)return e;const i={};let r=0;for(;r{n.push(new o(e,t))})):Object.keys(i()).forEach((t=>{n.push(new o(t,i()[t]))}));let a=K(null),l=K(null),h=K({});const c=ui();async function d(t,e){await async function(){await Promise.resolve(),de()}(),c(t,e)}let p=null,u=null;r()&&(u=t=>{p=t.state&&(t.state.__svelte_spa_router_scrollY||t.state.__svelte_spa_router_scrollX)?t.state:null},window.addEventListener("popstate",u),gi((()=>{var t;(t=p)?window.scrollTo(t.__svelte_spa_router_scrollX,t.__svelte_spa_router_scrollY):window.scrollTo(0,0)})));let g=null,f=null;const m=ss.subscribe((async t=>{g=t;let e=0;for(;e{rs.set(pe(l))}))}$(a,null),f=null,rs.set(void 0)}));pi((()=>{m(),u&&window.removeEventListener("popstate",u)})),ct((()=>ye(r())),(()=>{history.scrollRestoration=r()?"manual":"auto"})),dt(),ti();var b=Re();He(Te(b),(()=>pe(l)),(t=>{var i=Re();Ke(Te(i),(()=>pe(a)),((t,i)=>{i(t,ri({get params(){return pe(l)}},(()=>pe(h)),{$$events:{routeEvent(t){ii.call(this,e,t)}}}))})),ze(t,i)}),(t=>{var i=Re();Ke(Te(i),(()=>pe(a)),((t,i)=>{i(t,ri((()=>pe(h)),{$$events:{routeEvent(t){ii.call(this,e,t)}}}))})),ze(t,i)})),ze(t,b),be()}var ns=Be(' ',1);return new function(t){const e={"/":Vi,"/about/":es};!function(t){var e;e=document.head.appendChild(Se());try{gt((()=>t(e)),H)}finally{}}((t=>{var e=ns();undefined.title="A tool for calibrated probability estimation",ze(t,e)})),os(t,{routes:e})}({target:document.body})}(); diff --git a/package-lock.json b/package-lock.json index 4ccebae..04344c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-svelte": "^7.2.0", "rollup-plugin-terser": "^7.0.0", - "svelte": "^4.2.18", + "svelte": "^5.0.3", "svelte-check": "^3.8.5", "svelte-preprocess": "^6.0.1", "svelte-spa-router": "^4.0.1" @@ -116,9 +116,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", @@ -233,9 +233,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", "bin": { "acorn": "bin/acorn" }, @@ -243,6 +243,14 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-typescript": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz", + "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==", + "peerDependencies": { + "acorn": ">=8.9.0" + } + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -269,19 +277,19 @@ } }, "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dependencies": { - "dequal": "^2.0.3" + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "engines": { + "node": ">= 0.4" } }, "node_modules/axobject-query": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", - "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", - "dependencies": { - "dequal": "^2.0.3" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "engines": { + "node": ">= 0.4" } }, "node_modules/balanced-match": { @@ -388,26 +396,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/code-red": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", - "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15", - "@types/estree": "^1.0.1", - "acorn": "^8.10.0", - "estree-walker": "^3.0.3", - "periscopic": "^3.1.0" - } - }, - "node_modules/code-red/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -449,18 +437,6 @@ "node": ">=4" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -470,14 +446,6 @@ "node": ">=0.10.0" } }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } - }, "node_modules/detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", @@ -505,8 +473,16 @@ "node_modules/esm-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", - "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", - "dev": true + "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==" + }, + "node_modules/esrap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.2.2.tgz", + "integrity": "sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1" + } }, "node_modules/estree-walker": { "version": "2.0.2", @@ -814,18 +790,13 @@ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" }, "node_modules/magic-string": { - "version": "0.30.10", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", - "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", + "version": "0.30.12", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -929,32 +900,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/periscopic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" - } - }, - "node_modules/periscopic/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/periscopic/node_modules/is-reference": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", - "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", - "dependencies": { - "@types/estree": "*" - } - }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", @@ -1291,14 +1236,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", @@ -1346,27 +1283,26 @@ } }, "node_modules/svelte": { - "version": "4.2.18", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.18.tgz", - "integrity": "sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==", - "dependencies": { - "@ampproject/remapping": "^2.2.1", - "@jridgewell/sourcemap-codec": "^1.4.15", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/estree": "^1.0.1", - "acorn": "^8.9.0", - "aria-query": "^5.3.0", - "axobject-query": "^4.0.0", - "code-red": "^1.0.3", - "css-tree": "^2.3.1", - "estree-walker": "^3.0.3", - "is-reference": "^3.0.1", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.0.3.tgz", + "integrity": "sha512-i8DopbAPRP9iaR3qqe++LPv4povQRshSseH3kSrzI4URZ9/7OTt3vCJPBp+5ACRQDik0S/tM1ZRA6EW/sGcKfw==", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "acorn-typescript": "^1.4.13", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "esm-env": "^1.0.0", + "esrap": "^1.2.2", + "is-reference": "^3.0.2", "locate-character": "^3.0.0", - "magic-string": "^0.30.4", - "periscopic": "^3.1.0" + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/svelte-check": { @@ -1533,14 +1469,6 @@ "url": "https://github.com/sponsors/ItalyPaleAle" } }, - "node_modules/svelte/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, "node_modules/svelte/node_modules/is-reference": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", @@ -1640,6 +1568,11 @@ "optional": true } } + }, + "node_modules/zimmerframe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", + "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==" } } } diff --git a/package.json b/package.json index a0d7c6f..d9096d8 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "rollup-plugin-livereload": "^2.0.5", "rollup-plugin-svelte": "^7.2.0", "rollup-plugin-terser": "^7.0.0", - "svelte": "^4.2.18", + "svelte": "^5.0.3", "svelte-check": "^3.8.5", "svelte-preprocess": "^6.0.1", "svelte-spa-router": "^4.0.1"